目标检测-回归损失函数之SIOU
目录
背景
传统损失函数
IOU、GIOU、DIOU、CIOU
SIOU
总结
背景
计算机视觉的核心任务是目标检测,其精度与损失函数密切相关。简单回顾传统回归损失函数的特点,SIOU出现的背景。目标检测是计算机视觉任务中的核心问题之一,其有效性在很大程度上取决于损失函数的定义——衡量我们模型预测预期结果的准确程度。传统的目标检测损失函数依赖于边界框回归指标的聚合,例如预测框和真实框(即GIoU、DIoU、CIoU等)的距离、重叠区域和纵横比。然而,迄今为止提出和使用的方法都没有考虑期望的地面盒和预测的“实验”盒之间不匹配的方向。这种不足导致收敛速度较慢且效率较低,因为预测框可能在训练过程中“四处游荡”并最终产生更差的模型。在本文中,提出了一种新的损失函数SIoU,其中考虑到所需回归之间的向量角度,重新定义了惩罚指标。
### 传统损失函数
1.IoU损失函数
当预测框与真实框都没有交集的时候,计算出来的IoU都为0,损失都为1,但是,从图中可以看出,预测框1与真实框更加接近,损失应该更小才对。
当预测框和真实框的交并比相同,但是预测框所在位置不同,因为计算出来的损失一样,所以这样并不能判断哪种预测框更加准确
2.GIoU损失函数
动机
解决IoU的第一个问题,即当预测框与真实框都没有交集的时候,计算出来的IoU都为0,损失都为1,引入了一个最小闭包区的概念,即能将预测框和真实框包裹住的最小矩形框。
Ac为最小闭包区,U 为预测框和真实框的并集
与IoU相似,GIoU也是一种距离度量,IoU取值[0,1],GIoU取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。但是从与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
这两种情况的IoU和GIoU都是一样的,但是可以看出第2种更好,loss应该更小些
3.DIoU损失函数
动机
解决GIoU中预测框和真实框相互包含的问题。
重合-》关键点距离
缺点:
4.CIoU损失函数
在DIoU的基础上加了基于长宽比的惩罚项。
缺点:
没有考虑到所需真实框与预测框之间不匹配的方向。这种不足导致收敛速度较慢且效率较低,因为预测框可能在训练过程中“四处游荡”并最终产生更差的模型。
SIOU
-考虑到所需回归之间的向量角度,重新定义了惩罚指标。
由4 个代价函数组成:
*Angle cost*
Distance cost
Shape cost
IoU cost
Angle cost-计算角度成本对损失函数的贡献
其中 α 是权重函数,而 v用来度量长宽比的相似性,当真实框和预测框的长宽比越接近, v 越小,
v不变时,IoU越大, α 越大,损失越大,说明高IoU时,更加关注长宽比,低IoU时,更关注IoU
*Distance cost*考虑到上面定义的Angle cost,重新定义了Distance cost:如果 < π \4 ,则收敛过程将首先最小化 α \,否则最小化 β
为了实现这一点,引入了下面的定义△
*Shape cost*
IoU cost
总结
目标检测的损失分为分类损失和回归损失,回归损失就是预测框与真实框的差异。
损失有哪些部分组成,如何准确衡量损失,如何准确表达出损失,是回归损失发展至今并延续发展的关键趋势。
分类损失和回归损失一定是相互影响的,分类是对回归的分类,回归是对分类的选择(nms);
分类是回归的归宿,回归是分类。
对其相互影响的探究也是损失函数研究的一大重点。