基于 YOLOv8 的无人机红外极小目标检测系统实战
最近整理了一套无人机红外图像下的极小目标检测数据集,共 8302 张,涵盖了飞机、无人机、直升机和鸟类四类目标。这套数据特别适合低空安防、机场净空监测以及反无人机系统研发。今天把基于 YOLOv8 搭建的检测系统完整流程分享给大家,包括数据处理、模型推理以及 Flask 可视化的实现细节。
数据集概览
数据集提供了 YOLO (.txt) 和 PASCAL VOC (.xml) 两种标注格式,方便不同框架迁移。主要统计信息如下:
| 类别 | 数量 |
|---|---|
| Plane (飞机) | 2,163 |
| Drone (无人机) | 3,120 |
| Heli (直升机) | 2,217 |
| Bird (鸟类) | 1,958 |
| 总计 | 9,458 |
图像均为红外模态,目标特征明显偏小(通常小于 32×32 像素),这对模型的感知能力提出了更高要求。

项目架构与环境
为了快速落地验证,我们采用了轻量级的 Flask 后端配合 YOLOv8 核心推理模块。目录结构保持清晰,便于后续扩展:
infrared_small_target_detection_yolov8/
├── data/
│ └── dataset.yaml
├── models/
│ └── best.pt
├── static/
│ ├── uploads/
│ └── results/
├── templates/
│ ├── index.html
│ └── result.html
├── app.py
├── detect.py
├── requirements.txt
└── README.md
依赖包方面,主要使用 ultralytics 处理模型加载,opencv-python 做图像处理,flask 负责 Web 服务。安装命令很简单:
pip install -r requirements.txt
核心配置与逻辑
数据集配置文件 dataset.yaml 需要明确指定训练集路径及类别名称,确保模型能正确映射 ID 到中文标签。
train:
[, , , ]


