网站备案 深圳,拟采用建站技术,医疗网站开发,大学国际化网站建设2
无人机航拍视角河到钓鱼溺水目标检测数据集
#xff0c;3293张#xff0c;yolo#xff0c;voc#xff0c;coco标注
图像尺寸:1080*1920
类别数量:4类
训练集:3234; 验证集:47#xff1b; 测试集:12
类别: 每一类图像数 #xff0c;每一类标注数
ShuiBianDiaoYu-水边钓鱼…2无人机航拍视角河到钓鱼溺水目标检测数据集3293张yolovoccoco标注图像尺寸:1080*1920类别数量:4类训练集:3234; 验证集:47 测试集:12类别: 每一类图像数 每一类标注数ShuiBianDiaoYu-水边钓鱼: 1404,2872YouYongNiShui-游泳溺水: 1508,9347DiaoYuSan-钓鱼伞: 210,429boat-船只: 689,1507image num: 3293️ 无人机视角河边场景目标检测系统——含“水边钓鱼”、“游泳/溺水”、“钓鱼伞”、“船只”四类✅ 数据总量3293 张高清图像1080×1920✅ 支持 YOLO / VOC / COCO 三种标注格式✅ 提供 YOLOv11 完整训练 推理代码✅ 适用于智慧河道监控、应急救援、AI巡检等场景 数据集统计表类别名称Chinese类别英文名图像数量标注框数水边钓鱼ShuiBianDiaoYu14042872游泳溺水YouYongNiShui15089347钓鱼伞DiaoYuSan210429船只boat6891507总计——329314,155 数据集划分情况集合图像数量占比训练集train3234~98.2%验证集val47~1.4%测试集test12~0.4%⚠️ 注意验证集和测试集样本较少建议在训练时使用交叉验证或手动增强验证集。️ 博主建议 目录结构建议标准 YOLO 格式drone_fishing_dataset/ ├── images/ │ ├── train/# 3234 张 (1080x1920)│ ├── val/# 47 张│ └── test/# 12 张├── labels/ │ ├── train/# .txt 文件 (YOLO 格式)│ ├── val/ │ └── test/ ├── annotations/ │ ├── voc/# .xml 文件 (Pascal VOC)│ └── coco/# instances_drone.json (COCO 格式)├── drone.yaml# YOLO 配置文件└── README.md️ YOLO 配置文件drone.yaml# drone.yamltrain:./drone_fishing_dataset/images/trainval:./drone_fishing_dataset/images/valtest:./drone_fishing_dataset/images/testnc:4names:[ShuiBianDiaoYu,YouYongNiShui,DiaoYuSan,boat]✅ 保存为项目根目录下的drone.yaml YOLOv11 完整训练代码Python 脚本# train_drone.pyfromultralyticsimportYOLOimportosimporttime# 参数设置 MODEL_NAMEyolov11m.pt# 推荐yolov11n/s/m/l/x小数据可用 yolov11sCONFIG_FILEdrone.yaml# 数据集配置EPOCHS120BATCH_SIZE8# 显存不足可设为 4 或 2IMG_SIZE(1080,1920)# 原始尺寸输入保持纵横比PROJECT_NAMEdrone_water_surveillanceEXPERIMENT_NAMEexp_v1# 设备选择自动检测 GPUDEVICE0ifos.environ.get(CUDA_AVAILABLE)elsecpu# 检查配置文件是否存在ifnotos.path.exists(CONFIG_FILE):raiseFileNotFoundError(f[ERROR] 配置文件{CONFIG_FILE}不存在请检查路径)# 加载模型 print( 加载 YOLOv11 模型...)modelYOLO(MODEL_NAME)# 自动下载预训练权重# 开始训练 print( 开始训练...)start_timetime.time()resultsmodel.train(dataCONFIG_FILE,epochsEPOCHS,batchBATCH_SIZE,imgszIMG_SIZE,# 支持非正方形输入deviceDEVICE,projectPROJECT_NAME,nameEXPERIMENT_NAME,exist_okTrue,patience40,# 早停轮数saveTrue,save_period10,# 每10轮保存一次cacheFalse,# 若内存充足可设为 True 提升速度workers4,# 优化器设置optimizerAdamW,lr00.001,# 初始学习率lrf0.01,# 最终学习率 lr0 * lrfmomentum0.937,weight_decay0.0005,# 数据增强策略针对航拍特点设计hsv_h0.015,# 色调扰动hsv_s0.7,# 饱和度变化大适应水面反光hsv_v0.4,degrees15.0,# 允许轻微旋转无人机晃动translate0.2,scale0.6,# 大尺度缩放模拟远近目标shear2.0,flipud0.0,# 不上下翻转天空/地面不对称fliplr0.5,# 左右翻转增强bgr0.0,mosaic1.0,# Mosaic 增强提升小目标检测能力mixup0.1,# MixUp 增强copy_paste0.2,# Copy-Paste 对于稀疏类别有效如 DiaoYuSan)# 输出结果 training_time(time.time()-start_time)/3600print(f✅ 训练完成总耗时:{training_time:.2f}小时)print(f 模型保存路径:{results.save_dir})# 验证模型性能 print( 开始验证...)metricsmodel.val()print(fmAP0.5:{metrics.box.map50:.4f})print(fmAP0.5:0.95:{metrics.box.map:.4f})print(fPrecision:{metrics.box.p:.4f})print(fRecall:{metrics.box.r:.4f})# 分类别的 AP需查看 tensorboard 或 results.csvprint(\n 各类别 mAP0.5:)fori,cls_nameinenumerate([ShuiBianDiaoYu,YouYongNiShui,DiaoYuSan,boat]):print(f{cls_name}:{metrics.box.maps[i]:.4f})# 导出 ONNX 模型用于部署 print( 导出 ONNX 模型...)onnx_pathmodel.export(formatonnx,dynamicTrue,simplifyTrue)print(fONNX 模型已保存至:{onnx_path}) 多格式转换工具可选1. COCO → YOLO 转换示例# coco_to_yolo.pyimportjsonfrompathlibimportPathdefcoco_to_yolo(coco_json,output_dir):withopen(coco_json)asf:datajson.load(f)# 建立 image_id - file_name 映射id2name{img[id]:img[file_name]forimgindata[images]}h_map{img[id]:img[height]forimgindata[images]}w_map{img[id]:img[width]forimgindata[images]}forannindata[annotations]:image_idann[image_id]filenamePath(id2name[image_id]).stem.txtfilepathPath(output_dir)/filename x,y,w,hann[bbox]cls_idann[category_id]-1# COCO 从 1 开始YOLO 从 0 开始center_x(xw/2)/w_map[image_id]center_y(yh/2)/h_map[image_id]widthw/w_map[image_id]heighth/h_map[image_id]linef{cls_id}{center_x:.6f}{center_y:.6f}{width:.6f}{height:.6f}\nwithopen(filepath,a)asf:f.write(line)print(✅ COCO to YOLO 转换完成)2. VOC → YOLO 转换略类似前文️ 推理代码inference.py# inference.pyfromultralyticsimportYOLOimportcv2# 加载模型modelYOLO(drone_water_surveillance/exp_v1/weights/best.pt)# 单图推理resultsmodel(test.jpg,conf0.4,iou0.5,imgsz(1080,1920))# 可视化结果forrinresults:im_arrayr.plot()# 绘制边界框和标签imcv2.cvtColor(im_array,cv2.COLOR_RGB2BGR)cv2.imshow(Drone Detection Result,im)cv2.waitKey(0)cv2.imwrite(result_detected.jpg,im)# 打印检测详情forrinresults:boxesr.boxesforboxinboxes:cls_idint(box.cls[0])conffloat(box.conf[0])print(f检测到:{model.names[cls_id]}({conf:.2f})) 训练技巧与优化建议技巧说明✅ 使用大 backbone如yolov11m或yolov11l应对高分辨率复杂场景✅ 动态 resize设置imgsz(1080,1920)保留原始比例避免拉伸失真✅ Copy-Paste 增强特别对稀有类DiaoYuSan仅 210 图进行复制粘贴增强✅ Focal Loss 替代 CE减轻类别不平衡问题YouYongNiShui 占比过高✅ 多尺度训练可尝试multi_scaleTrue✅ 边缘设备部署导出为 ONNX/TensorRT在 Jetson Orin 等边缘设备运行 应用领域场景描述智慧河道监管自动识别禁钓区钓鱼行为、非法船只溺水预警系统实时监测游泳者状态发现静止不动即报警️无人机自动巡检结合 GPS 定位实现 AI 自主导航异常上报️景区安全管理在公园湖泊、水库部署提升安防效率城市数字孪生作为智慧城市感知层的一部分接入统一平台✅ 总结项目内容图像总数3293 张1080×1920 竖屏类别数4ShuiBianDiaoYu,YouYongNiShui,DiaoYuSan,boat标注总数14,155 个框标注格式YOLO / VOC / COCO 全支持模型YOLOv11最新一代适用性高空俯视、小目标密集、长宽比特殊