☰
深度学习框架YOLOV8模型如何训练 国内场景无人机行人检测数据集 建立基于深度学习框架YOLOV8行人检测系统 应急搜救、大型活动监控、智慧城
2026/10/13 14:19:15 网站建设 项目流程

国内场景无人机行人检测数据集
7417张数据集
训练集:5223 验证集:1512 测试集:744
类别数量:1个对象类别 :行人

类别类型:['无人机视角下的行人]
文件格式:JPG
标签格式:txt(需要COCO、VOC、Tensoorflow的CSV等格式请私信,否则默认发TXT)
图片大小:2000 x 1500

项目内容
数据集名称国内场景无人机人员目标检测数据集
总图像数量7,417 张
图像分辨率2000 × 1500 像素(宽 × 高)
文件格式JPG
目标类别数量1 类
类别名称无人机视角下的行人(即:行人 / person,从无人机俯视角度拍摄)
标签格式(默认)TXT(YOLO 格式:class_id center_x center_y width height,归一化坐标)
其他格式支持COCO JSON、VOC XML、TensorFlow CSV(需私信申请,不默认提供)
数据划分
– 训练集5,223 张(约占 70.4%)
– 验证集1,512 张(约占 20.4%)
– 测试集744 张(约占 10.0%)
应用场景无人机巡检、人群密度估计、应急搜救、智慧城市、交通监控、大型活动安防等
视角特点高空俯拍、小目标密集、遮挡常见、光照与背景复杂(城市/乡村/道路/广场等国内典型场景)

✅备注:

  • 所有标注均为人工精细标注,确保边界框紧贴行人目标;
  • 适用于 YOLOv5/v8、Faster R-CNN、RT-DETR 等主流目标检测框架;
  • 因图像分辨率高(3MP),适合训练对小目标敏感的检测模型。


1

1

🚁 无人机视角行人检测系统(YOLOv8 目标检测)

数据集说明:7417 张高分辨率(2000×1500)JPG 图像,1 类目标 ——“无人机视角下的行人”
✅ 提供完整YOLOv8 训练 + 推理代码
✅ 支持 YOLO 格式 TXT 标签(默认)
✅ 适用于小目标、密集人群、复杂背景场景


📁 一、项目结构

drone_person_yolov8/ ├── datasets/ │ └── drone_person/ │ ├── images/ │ │ ├── train/ # 5223 张 │ │ ├── val/ # 1512 张 │ │ └── test/ # 744 张 │ └── labels/ │ ├── train/ # 对应 .txt 标签 │ ├── val/ │ └── test/ ├── data.yaml # 数据配置文件 ├── train.py # YOLOv8 训练脚本 ├── detect.py # 推理脚本(图片/视频/摄像头) └── requirements.txt

💡 假设你已将图像和标签按上述结构组织好(YOLO格式:class_id x_center y_center w h,归一化)


🔧 二、环境安装

# 创建虚拟环境conda create -n yolov8_dronepython=3.9-y conda activate yolov8_drone# 安装官方 YOLOv8pipinstallultralytics opencv-python numpy matplotlib tqdm

📄 三、创建data.yaml

# data.yamlpath:./datasets/drone_persontrain:images/trainval:images/valtest:images/testnc:1names:['person']

✅ 注意:

  • class_id在标签中必须为0
  • 所有坐标已归一化到 [0, 1]

🚀 四、YOLOv8 训练代码(train.py)

# train.pyfromultralyticsimportYOLO# 加载预训练模型(推荐 yolov8n 或 yolov8s 平衡速度与精度)model=YOLO('yolov8n.pt')# 可替换为 'yolov8s.pt' 提升精度# 开始训练results=model.train(data='data.yaml',epochs=100,imgsz=640,# 输入尺寸(YOLOv8 自动缩放,不影响原始高分辨率)batch=16,# 根据 GPU 显存调整(RTX 3060 建议 16)name='drone_person_yolov8n',device=0,# 使用 GPU 0;设为 'cpu' 则用 CPUpatience=20,# 早停:20 轮无提升则停止save=True,plots=True,# 数据增强(针对无人机小目标优化)hsv_h=0.015,hsv_s=0.7,hsv_v=0.4,degrees=10.0,# 随机旋转(模拟无人机姿态变化)translate=0.1,scale=0.5,mosaic=1.0,# Mosaic 增强(提升小目标检测能力)flipud=0.0,# 不上下翻转(无人机视角通常无需)fliplr=0.5# 左右翻转(合理))print("✅ 训练完成!")print("最佳权重路径: runs/detect/drone_person_yolov8n/weights/best.pt")

⚠️重要提示:
虽然原始图像是2000×1500,但 YOLOv8 在训练时会自动 resize 到imgsz=640。
若需更好检测小目标,可尝试:

imgsz=1280# 更大输入尺寸(显存允许前提下)

🔍 五、推理检测(detect.py)

# detect.pyfromultralyticsimportYOLOimportcv2# 加载训练好的模型model=YOLO('runs/detect/drone_person_yolov8n/weights/best.pt')# 1. 检测单张高分辨率图像defdetect_image(image_path,output_path="result.jpg"):results=model(image_path,imgsz=1280)# 推理时用更大尺寸提升小目标召回annotated=results[0].plot()cv2.imwrite(output_path,annotated)print(f"✅ 检测结果已保存至{output_path}")# 2. 检测视频defdetect_video(video_path,output_path="output.mp4"):model.predict(source=video_path,save=True,project="runs/predict",name="video_result",imgsz=1280)print(f"✅ 视频结果保存在 runs/predict/video_result/")# 3. 实时摄像头(或 RTSP 流)defdetect_stream(stream_url=0):# 0 表示本地摄像头model.predict(source=stream_url,show=True,imgsz=640,conf=0.4# 置信度阈值(可调))if__name__=="__main__":# detect_image("test_drone.jpg")# detect_video("drone_footage.mp4")detect_stream()

📊 六、预期性能(基于 7417 张数据)

指标预期值说明
mAP@0.5≥ 0.85高密度人群下仍保持良好定位
Recall≥ 0.80小目标检出率高
推理速度~45 FPS(RTX 3060, imgsz=640)满足实时无人机回传分析
适用模型YOLOv8n / YOLOv8s 最佳YOLOv8m/l 可用于离线高精度场景

🛠️ 七、针对无人机场景的优化建议

  1. 使用更大的输入尺寸(如imgsz=1280)以保留小目标细节;
  2. 开启 Mosaic 增强:让模型学习多图拼接中的小目标;
  3. 降低置信度阈值(推理时conf=0.3~0.4)提升召回;
  4. 后处理优化:对密集区域使用 Soft-NMS 替代标准 NMS(可通过ultralytics的agnostic_nms=False控制);
  5. TTA(Test-Time Augmentation):
    results=model(image_path,augment=True)# 提升精度(速度变慢)

🛰️总结:本系统专为高空无人机行人检测设计,适用于应急搜救、大型活动监控、智慧城市等场景。利用 YOLOv8 的高效架构,在保持实时性的同时,有效应对小目标、遮挡、密集人群等挑战。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询