小目标无人机、飞机、直升机检测数据集 | 小目标检测 无人机检测 空中目标识别 低空安防 反无人机9090期
数据集概述
本数据集专注于低空场景下的空中目标检测,涵盖无人机、固定翼飞机与直升机三类典型飞行器。数据面向小目标检测任务,适用于反无人机安防、低空监控及航空目标识别等应用。
数据集核心信息
| 数据要素 | 详细说明 |
|---|---|
| 类别 | 共 3 类:固定翼飞机、无人机、直升机 |
| 数量 | 11998 张图像 |
| 格式 | 图像为 JPG/PNG(分辨率 512×512 );同时提供 YOLO 与 VOC 两种标注格式 |
| 数据划分 | 训练集 10799 张,验证集 603 张,测试集 596 张 |
| 应用价值 | 1. 低空安防 :支撑机场、监狱、重要设施周边的空中目标入侵检测与预警。 2. 反无人机系统 :识别违规升空飞行器,为反制决策提供视觉依据。 3. 航空目标识别 :辅助区分不同类型的空中飞行器,提升空域态势感知能力。 4. 算法研发:为小目标检测、复杂背景目标识别等视觉任务提供标准化训练与评测数据。 |
完整类别列表(共3类)
| 序号 | 英文名称 | 中文释义 | 含该类图像数量 | 标注框总数 |
|---|---|---|---|---|
| 1 | AirPlane | 固定翼飞机 | 2535 | 2535 |
| 2 | Drone | 无人机 | 4728 | 4812 |
| 3 | Helicopter | 直升机 | 2523 | 2628 |
数据三要素解析
类别与目标覆盖
- 数据集定义 3 类典型空中目标:固定翼飞机 、无人机 、直升机,覆盖了低空监测场景中最常见的飞行器类型。
- 类别设置兼顾了军事/民用航空器与消费级无人机,具有较强的安防应用导向。
- 无人机(Drone)类别样本最多(4728张),反映了当前低空安防中无人机威胁的突出地位。
数据规模与性能
- 图像总量约 11998 张,规模充足,能支撑小目标检测模型的稳健训练。
- 图像统一尺寸为 512×512,减少预处理工作量,适配小目标检测任务。
- 公开的模型性能指标显示:整体 mAP@0.5 达 0.954,其中固定翼飞机(0.982)与直升机(0.983)表现最优,无人机(0.897)在复杂背景下仍具备可靠识别能力。
格式与配套资源
- 同时提供 YOLO 与 VOC 双格式标注,无需额外转换即可适配不同算法框架。
- 附赠 YOLOv8s 完整训练代码 与 air_target.yaml 配置文件,用户可直接运行。
- 提供 图像/视频推理代码,支持图片、视频及摄像头实时检测。
- 训练建议:适配512×512小目标输入尺寸,开启数据增强,使用AMP混合精度训练。


知识普及:小目标空中检测的技术要点
- 小目标挑战:无人机、远距离飞机等目标在图像中像素占比极小(可能仅占图像面积的0.1%以下),常规检测模型易漏检。需采用高分辨率输入、多尺度特征融合或专门的小目标检测头。
- 类间区分:飞机与直升机在远距离时形态相似,无人机与鸟类也可能混淆。模型需依赖轮廓、旋翼特征、运动模式等进行区分。
- 背景干扰:天空、云层、建筑、树木等背景以及逆光、雨雾等天气条件会影响检测效果。数据增强(如色彩抖动、模糊模拟)有助于提升模型鲁棒性。
- 部署场景 :低空安防系统对实时性要求高,轻量化模型(如YOLOv8s)结合TensorRT加速是边缘部署的常见方案。

快速开始(代码示例)
1. 准备配置文件 (air_target.yaml)
yaml
path: ./air_target_dataset
train: images/train
val: images/val
test: images/test
nc: 3
names: ['AirPlane', 'Drone', 'Helicopter']
2. 启动 YOLOv8s 训练
python
from ultralytics import YOLO
model = YOLO("yolov8s.pt")
train_results = model.train(
data="./air_target_dataset/air_target.yaml",
epochs=100,
imgsz=512,
batch=16,
device=0,
workers=4,
patience=15,
lr0=0.001,
augment=True,
project="runs/train",
name="air_target_detect"
)
# 测试集评估
metrics = model.val(split="test")
print(f"整体mAP@50: {metrics.box.map50:.4f}")
3. 模型推理
python
from ultralytics import YOLO
import cv2
model = YOLO("runs/train/air_target_detect/weights/best.pt")
results = model.predict(source="test_air_target.jpg", conf=0.25, iou=0.45, save=True)
for res in results:
frame = res.plot()
cv2.imshow("Air Target Detection", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cv2.destroyAllWindows()
标签
小目标检测 无人机检测 空中目标识别 低空安防 反无人机 目标检测 YOLO格式 深度学习数据集 计算机视觉