YOLOv5_OBB:面向旋转目标检测的工业级解决方案
YOLOv5_OBB面向旋转目标检测的工业级解决方案【免费下载链接】yolov5_obbyolov5 csl_label.(Oriented Object Detection)Rotation DetectionRotated BBox基于yolov5的旋转目标检测项目地址: https://gitcode.com/gh_mirrors/yo/yolov5_obbYOLOv5_OBB是专为旋转目标检测任务设计的深度学习框架基于YOLOv5架构实现了对带角度信息的物体检测能力。该项目在遥感图像分析、自动驾驶、工业质检等需要精确角度定位的场景中表现出色通过Circular Smooth Label技术有效解决了传统水平框检测在旋转目标上的局限性。项目定位与核心价值在传统目标检测任务中水平边界框HBB已无法满足复杂场景需求。当目标存在明显旋转角度时水平框会引入大量背景噪声严重影响检测精度。YOLOv5_OBB通过引入旋转边界框OBB机制为每个检测目标提供精确的角度信息实现了更紧密的包围框拟合。→核心价值在DOTA遥感数据集上YOLOv5_OBB的mAP达到77.3%相比传统方法提升显著特别适用于飞机、车辆、船只等具有明确方向性的目标检测。关键特性与技术优势旋转目标检测架构YOLOv5_OBB在YOLOv5基础上进行了针对性改进主要技术特性包括Circular Smooth Label (CSL)采用高斯窗口函数处理角度标签使损失函数在角度边界处平滑过渡避免角度周期性带来的不连续性多尺度特征融合保留YOLOv5的PANet特征金字塔结构增强对小尺寸旋转目标的检测能力角度回归机制在检测头输出中增加角度参数支持[-π/2, π/2)范围内的连续角度回归高性能推理优化项目在推理速度与精度间取得平衡。上图为训练过程中的损失曲线和评估指标变化展示了模型在旋转目标检测任务上的稳定收敛性。从图表中可以看到随着训练迭代增加各项损失指标持续下降而mAP等评估指标稳步提升。快速上手流程环境配置与安装git clone https://gitcode.com/gh_mirrors/yo/yolov5_obb cd yolov5_obb pip install -r requirements.txt数据集准备YOLOv5_OBB要求使用多边形标注格式每个目标由四个顶点坐标和类别信息组成x1 y1 x2 y2 x3 y3 x4 y4 classname difficult对于高分辨率遥感图像建议先进行图像分割处理python DOTA_devkit/ImgSplit_multi_process.py数据集目录结构应组织为datasets/ └── DOTAv1.5 ├── train_split_rate1.0_subsize1024_gap200 ├── val_split_rate1.0_subsize1024_gap200 └── test_split_rate1.0_subsize1024_gap200 ├── images └── labelTxt基础训练配置单GPU训练示例python train.py \ --weights weights/yolov5n_s_m_l_x.pt \ --data data/yolov5obb_demo.yaml \ --hyp data/hyps/obb/hyp.finetune_dota.yaml \ --epochs 10 \ --batch-size 1 \ --img 1024 \ --device 0多GPU分布式训练python -m torch.distributed.launch --nproc_per_node 4 train.py --device 0,1,2,3高级配置与调优超参数优化策略YOLOv5_OBB提供了多个预配置的超参数文件位于data/hyps/obb/目录配置文件适用场景主要特点hyp.paper.yaml论文复现标准配置平衡精度与速度hyp.finetune_dota.yamlDOTA数据集微调针对遥感图像优化的学习率调度hyp.finetune_DroneVehicle.yaml无人机车辆检测小目标检测优化参数角度编码配置角度编码是旋转目标检测的核心。在utils/rboxs_utils.py中CSL标签生成函数的关键参数def gaussian_label_cpu(label, num_class, u0, sig4.0): 用高斯窗口函数根据角度θ的周期性赋予gt labels同样的周期性 sig参数控制高斯窗口半径影响角度回归的平滑度 →调优建议对于角度变化剧烈的场景可适当减小sig值增强角度敏感性对于角度变化平缓的场景增大sig值提升模型鲁棒性。模型架构选择YOLOv5_OBB支持多种骨干网络配置模型参数量(M)FLOPs(B)适用场景yolov5n2.05.0边缘设备部署yolov5s7.517.5平衡精度与速度yolov5m21.650.5高精度检测yolov5l46.5109.1研究级应用实际应用案例遥感图像飞机检测上图展示了YOLOv5_OBB在机场停机坪场景的检测效果。图中包含多架飞机目标每个目标都使用旋转边界框精确标注紧密贴合飞机机身轮廓有效减少了背景噪声。推理与评估流程分割数据集的完整评估流程# 1. 获取水平框指标 python val.py --data data/yolov5obb_demo_split.yaml \ --weights runs/train/yolov5m_csl_dotav1.5/weights/best.pt \ --batch-size 2 --img 1024 --task val --device 0 --save-json --name obb_demo_split # 2. 转换为多边形格式 python tools/TestJson2VocClassTxt.py \ --json_path runs/val/obb_demo_split/best_obb_predictions.json \ --save_path runs/val/obb_demo_split/obb_predictions_Txt # 3. 合并分割结果 python DOTA_devkit/ResultMerge_multi_process.py \ --scrpath runs/val/obb_demo_split/obb_predictions_Txt \ --dstpath runs/val/obb_demo_split/obb_predictions_Txt_Merged # 4. 获取旋转框指标 python DOTA_devkit/dota_evaluation_task1.py \ --detpath runs/val/obb_demo_split/obb_predictions_Txt_Merged/Task1_{:s}.txt \ --annopath dataset/dataset_demo/labelTxt/{:s}.txt \ --imagesetfile dataset/dataset_demo/imgnamefile.txt实时检测应用对图像和视频流进行实时检测python detect.py \ --weights runs/train/yolov5m_csl_dotav1.5/weights/best.pt \ --source dataset/dataset_demo/images/ \ --img 2048 --device 0 --conf-thres 0.25 --iou-thres 0.2关键参数说明参数默认值作用--img640输入图像尺寸--conf-thres0.25置信度阈值--iou-thres0.45NMS的IoU阈值--max-det1000每张图像最大检测数性能基准与对比精度与速度平衡在DOTAv1.5数据集上的性能表现模型输入尺寸OBB mAP0.5推理速度(2080Ti)参数量yolov5n102473.3%15.2ms2.0Myolov5s102476.8%15.6ms7.5Myolov5m102477.3%16.9ms21.6M→技术洞察yolov5m在仅增加14ms推理时间的情况下相比yolov5s提升了0.5%的mAP在精度敏感场景中具有明显优势。内存与计算优化针对不同硬件环境的配置建议GPU显存充足环境使用--batch-size 16提升训练吞吐量设置--img 1024获取更高分辨率特征启用混合精度训练--half减少显存占用边缘设备部署选择yolov5n或yolov5s模型使用--img 640降低计算复杂度启用TensorRT加速推理常见问题排查角度回归不稳定检查CSL的sig参数是否合适验证角度标签是否在[-π/2, π/2)范围内调整角度损失权重小目标检测效果差增加输入图像分辨率使用更密集的锚框配置启用多尺度训练策略训练收敛缓慢检查学习率调度策略验证数据增强配置调整权重初始化方式下一步学习建议要深入掌握YOLOv5_OBB建议按以下路径学习基础掌握从docs/GetStart.md开始完成基础训练和推理流程代码理解研究models/yolo.py中的Detect层实现理解角度回归机制算法深入阅读Circular Smooth Label原论文理解角度编码原理应用实践在自己的数据集上微调模型调整超参数优化性能部署优化探索模型量化、剪枝和TensorRT加速技术项目提供了完整的工具链支持从数据准备到模型评估的每个环节都有详细文档和脚本支持。对于需要定制化开发的研究者和工程师代码结构清晰模块化程度高便于二次开发和功能扩展。通过合理配置和调优YOLOv5_OBB能够在各种旋转目标检测任务中达到工业级应用标准为计算机视觉领域的旋转目标检测提供了可靠的开源解决方案。【免费下载链接】yolov5_obbyolov5 csl_label.(Oriented Object Detection)Rotation DetectionRotated BBox基于yolov5的旋转目标检测项目地址: https://gitcode.com/gh_mirrors/yo/yolov5_obb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考