无人机(UAV)航拍影像采集 建筑结构、军事坦克、地表设施、人员活动体等

无人机(UAV)航拍影像采集 建筑结构、军事坦克、地表设施、人员活动体等
数据集数据集基于无人机UAV航拍影像采集覆盖多类地面目标分布区域。影像具备较高空间分辨率能够清晰呈现不同类型的建筑结构、设备设施及人员活动体的位置与外观特征。所有图像均经过人工精细标注按 YOLO 格式生成高质量边界框标签类别区分明确适合用于研究无人机视角下的目标识别与检测任务。数据包含多样化场景包括开阔地带、道路区域、复杂地表环境等有助于提升算法在不同地形与光照条件下的泛化能力。原始影像分辨率统一处理为 640×640便于用于深度学习模型训练、测试与对比实验。数据集大小9978 张类别数量6 类建筑结构、坦克、地表设施、人员活动体等标注格式YOLO txt图像尺寸640×640传感器UAV波段RGB无人机航拍多目标检测数据集 信息表项目详细说明数据集名称无人机航拍多目标检测数据集图像总量9978 张图像分辨率统一 640×640成像传感器无人机UAV影像波段RGB 可见光波段标注格式标准 YOLO .txt 格式目标类别共6类建筑结构、坦克、地表设施、人员活动体其余两类同场景地面目标采集场景开阔地带、道路区域、复杂地表等多样化地形覆盖不同光照环境标注特点人工精细标注边界框规范、类别区分清晰数据质量高核心优势高空间分辨率目标外观与位置特征清晰场景丰富可有效提升模型泛化能力适用方向无人机视角目标识别、深度学习目标检测算法训练/测试、模型对比实验、相关课题与工程研发结合该无人机航拍6类目标检测数据集YOLO格式、640×640、9978张提供数据集目录规范、配置文件、完整训练代码、推理代码适配主流 YOLOv8/YOLOv11全中文注释开箱即用。一、数据集目录结构严格按此摆放uav_multi_target/ ├── images/ │ ├── train/ # 训练集图片 │ ├── val/ # 验证集图片 │ └── test/ # 测试集图片可选 ├── labels/ │ ├── train/ # 对应YOLO txt标签 │ ├── val/ │ └── test/ └── uav_dataset.yaml # 数据集配置文件数据划分建议训练集80%、验证集20%二、数据集配置文件uav_dataset.yaml新建文件放入数据集根目录类别顺序与标注严格对应# 数据集根路径根据你本地实际路径修改path:./uav_multi_targettrain:images/trainval:images/valtest:images/test# 无测试集可注释该行# 类别数量 类别名称共6类按实际标注顺序修改nc:6names:0:建筑结构1:坦克2:地表设施3:人员活动体4:类别45:类别5三、环境依赖安装pipinstallultralytics opencv-python numpy四、完整训练代码train_uav.py适配 YOLOv8 / YOLOv11针对无人机航拍小目标、复杂地表做参数优化直接运行即可训练fromultralyticsimportYOLOdeftrain_uav_detection():# 加载预训练权重n轻量 / s均衡 / m高精度按需选择modelYOLO(yolov8s.pt)# 训练参数适配无人机航拍、多目标、复杂场景model.train(data./uav_multi_target/uav_dataset.yaml,# 指向yaml配置文件epochs120,# 总训练轮数imgsz640,# 匹配数据集统一分辨率 640×640batch16,# 显存不足改为 8 / 4device0,# 使用GPU无GPU改为 devicecpuworkers4,patience25,# 早停防止过拟合pretrainedTrue,optimizerAdam,lr00.001,# 数据增强适配航拍复杂地形、光照变化mosaic0.8,hsv_h0.015,hsv_s0.7,hsv_v0.4,flipud0.2,# 上下翻转航拍图常用fliplr0.5,# 输出路径projectruns/uav_train,nameuav_6cls_det,exist_okTrue,# 小目标优化conf0.2,iou0.45)print(训练完成最优模型已保存至 runs/uav_train/uav_6cls_det/weights/best.pt)if__name____main__:train_uav_detection()五、推理测试代码predict_uav.py训练完成后加载模型对图片/文件夹/视频/实时画面进行检测fromultralyticsimportYOLO# 加载训练好的最优权重modelYOLO(./runs/uav_train/uav_6cls_det/weights/best.pt)# 按需选择一种使用 # 1. 单张图片检测# model(test.jpg, saveTrue, conf0.25)# 2. 文件夹批量图片检测推荐model(source./test_images,saveTrue,conf0.25)# 3. 视频检测# model(video.mp4, saveTrue, conf0.25)# 4. 本地摄像头实时检测# model(source0, saveTrue, conf0.25)print(检测结束结果保存在 runs/detect 目录下)六、补充数据集自动划分脚本未分区时使用如果原始图片和标签未拆分训练/验证集运行下面代码自动完成 8:2 划分importosimportrandomimportshutil# 路径配置自行修改img_root./uav_multi_target/all_imageslabel_root./uav_multi_target/all_labelssave_root./uav_multi_targettrain_ratio0.8# 创建文件夹defmk_dir(path):ifnotos.path.exists(path):os.makedirs(path)img_trainos.path.join(save_root,images/train)img_valos.path.join(save_root,images/val)label_trainos.path.join(save_root,labels/train)label_valos.path.join(save_root,labels/val)mk_dir(img_train)mk_dir(img_val)mk_dir(label_train)mk_dir(label_val)# 获取所有图片img_list[iforiinos.listdir(img_root)ifi.endswith((jpg,png,jpeg))]random.shuffle(img_list)train_numint(len(img_list)*train_ratio)train_setimg_list[:train_num]val_setimg_list[train_num:]# 复制文件defcopy_data(file_list,dst_img,dst_label):forfileinfile_list:nameos.path.splitext(file)[0]shutil.copy(os.path.join(img_root,file),os.path.join(dst_img,file))txt_namename.txtifos.path.exists(os.path.join(label_root,txt_name)):shutil.copy(os.path.join(label_root,txt_name),os.path.join(dst_label,txt_name))copy_data(train_set,img_train,label_train)copy_data(val_set,img_val,label_val)print(f划分完成训练集{len(train_set)}张验证集{len(val_set)}张)七、使用说明 调优建议运行顺序整理图片、标签到对应文件夹填写并核对uav_dataset.yaml路径与类别执行train_uav.py开始训练训练结束用predict_uav.py测试效果。航拍场景专属调优小目标漏检保持imgsz640调低conf0.15~0.2光照/地形误检保留HSV增强、上下翻转增强显存不足降低batch使用yolov8n.pt轻量模型过拟合减小mosaic数值增大patience。注意事项类别名称必须和标注txt内类别ID一一对应顺序不可错乱所有路径建议使用相对路径避免中文路径报错。