本文对IoU、GIoU、DIoU、CIoU作了详细解析,包括为什么要提出XIoU、新提出的XIoU如何解决以往XIoU的缺陷问题等
学习视频:
yolov3spp理论讲解(包括CIoU以及Focal Loss)_哔哩哔哩_bilibili
2.20、MSE做box损失的局限性_哔哩哔哩_bilibili
2.21、GIOU、DIOU、CIOU计算_哔哩哔哩_bilibili
XIoU Loss的发展历程:
利用XIoU来作损失计算,XIoU Loss一般设置1-XIoU,例如,使用GIoU作为bbox的定位损失项,则:
目录
1.MSE作bbox定位损失的局限性
YOLOv3损失函数(红框部分为bbox定位损失项)
MSE(均方误差)的局限性:对位置敏感,缺乏对重叠情况的衡量:MSE主要关注框的位置和大小,不关心预测框与真实框的重叠程度,因此在预测框和真实框之间的重叠较少时,bbox定位损失项也可能很小,导致模型优化方向不准确
2.IoU Loss
针对MSE为作bbox定位损失项的缺陷,提出IoU Loss作为bbox定位损失项
IoU、IoU Loss计算公式
IoU的优越性:
(1)IoU计算公式直接衡量预测框与真实框的重叠程度,是检测任务种评估框匹配度的标准。相比于MSE,IoU更直观地反映了两个框的重合情况。
(2)更加鲁棒:IoU能够反映框与框之间的实际重叠质量,而不仅仅是数值上的距离差异(IoU的值在0~1之间,越靠近0说明重叠程度越低,越靠近1说明重叠程度更高,而MSE计算box损失时如果预测框与真实框差距很大的话,数值可能是无限的,范围是0~正无穷),这使得IoU对边界框调整的反馈更符合检测目标。
下面举个例子理解一下IoU的优越性
IoU的优越性例子
IoU的缺陷: 当两个框不相交时,无论两个框的距离远近,IoU始终为0,IoU