摘要
目标检测作为计算机视觉领域的核心任务,其精度很大程度上依赖于边界框回归损失函数的设计。YOLOv5作为当前最流行的一阶段目标检测器,其默认采用CIoU损失函数进行边界框优化。本文将从理论基础、数学原理、代码实现三个维度,深入对比分析GIoU、DIoU、CIoU三种损失函数在YOLOv5中的应用效果。通过大量实验验证,我们将揭示不同损失函数对模型收敛速度、定位精度和小目标检测能力的影响。本文提供完整的YOLOv5损失函数改进代码,并给出在COCO、VOC和DOTA数据集上的详细实验结果,帮助读者根据实际应用场景选择合适的损失函数。
关键词:YOLOv5;GIoU损失;DIoU损失;CIoU损失;目标检测;边界框回归
一、引言
1.1 目标检测中的边界框回归问题
在深度学习驱动的目标检测算法中,边界框回归是决定检测精度的关键环节。早期的检测器如R-CNN系列采用Smooth L1损失直接优化边界框的四个坐标参数,这种方法存在明显的局限性:它将坐标预测视为独立任务,忽略了边界框四个角点之间的几何关联性。这种独立性假设导致模型难以学习到边界框的整体结构信息,特别是在处理遮挡严重或形变较大的目标时表现欠佳。
YOLO系列检测器开创性地采用网格划分和直接回归的思路,将目标检测问题转化为统一的回归任务。然而,传统的IoU损失虽然解决了坐标独立性的问题,但引入了新的挑战:当预测框与真实框完全没有重叠时,IoU损失为零,梯度消失,模型无法获得有效的优化信号。这一问题在训练初期尤为严重,因为随机初始化的预测框往往与真实框相距甚远。
1.2 YOLOv5中的损失函数架构
YOLOv5的损失函数由三部分组成:边