[论文笔记] Generalized Intersection over Union
[论文笔记] Generalized Intersection over Union
一,大纲
包围框回归是2D/3D 视觉任务中一个最基础的模块,不管是目标检测,目标跟踪,还是实例分割,都依赖于对bounding box进行回归,以获得准确的定位效果。目前基于深度学习的方法想获得更好的检测性能,要么是用更好的backbone,要么是设计更好的策略提取更好的feature,然而却忽视了bounding box regression中L1、L2 loss这个可以提升的点。
而在该篇论文中,作者先表明了常用的Ln LOSS没法很好地体现出regression的效果,然后分析了直接使用IOU指标(判断predict box和gt的距离的最直接的指标)作为损失函数的利弊,然后提出了改进指标GIOU并用GIoU loss替换掉了大多数目标检测算法中bounding box regression loss,最后接用实验结果证明了GIOU的优越性。
二,Ln LOSS的不足
首先,IoU是目标检测中最常用的评估尺度,它是一种比值的概念,具有scale不敏感的特性。
目前,检测任务通常都是采用回归损失(如MSE loss, smooth l1 loss)作为网络的目标函数,用IoU作为评估的尺度,但是这两者之间实际上是不等价的(如下图)。此外,Ln也不是尺度不变的。
三,直接使用IOU作为损失函数的利弊
1、IoU的计算公式
2、IOU 的优点
- 将 1-IOU 作为距离度量,(数学可证的)满足非负性、同一性、对称性和三角不等性(non-negativity, identity of indiscernibles, symmetry and triangle inequality)
- IOU 具有尺度不变性
3、IOU 的问题
- 只要两个框不相交,IOU 就为0,此时它无法衡量两个框是相邻很近还是相距甚远。同时因为loss=0,没有梯度回传,无法进行学习训练。
- IOU 无法反映两个框相交的方式,如下图所示,三种情况IoU都相等,但看得出来他们的重合度是不一样的,左边的图回归的效果最好,右边的最差。
四,GIOU
1、计算公式
针对IoU上述两个缺点,本文提出一个新的指标generalized IoU(GIoU):
其计算方法如下:
- 对于任意两个凸多边形A和B,首先计算A和B的外包多边形C
- 计算C中出去A、B部分的剩下的面积占C的面积的比率
- GIoU的值为IoU减去这个比率
2、GIOU的优点
- 与IoU类似,GIoU可以作为一种距离度量
- 与IoU类似,GIoU具有尺度不变性
- GIoU是IoU的一个下界,即GIoU(A,B)≤IoU(A,B)
- −1≤GIoU(A,B)≤1(可以在一定程度上衡量不相交时候,距离的远近外,还可以在不相交时,进行梯度反向传播)
- 与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。 因此,相对 IOU 更能反映两个框相交形式的好坏。具体区别可见上图Figure 2
3、GIOU 应用为损失函数
首先,基于min、max 和 分段函数的BP算法是可行的。此外,作者说,虽然对于任意形状多边形, IOU(GIOU) 计算不能得到统一的解析解,但对于包围框回归,限定了形状为矩形时就大大简化了问题:
步骤:
- 分别计算gt和predict box的面积
- 计算intersection的面积
- 计算最小闭包区域面积
- 计算IoU和GIoU
- 根据公式得到loss
五,实验结果
-
-
-
-
-
作者指出了faster rcnn和mask rcnn效果不明显的原因是anchor很密,GIoU发挥作用的情况并不多。
六,结论
在这篇文章中,作者提出并将GIoU作为一个新的度量,来衡量预测回归框的好坏。最后,作者将 GIOU 损失函数应用到已有 2D 物体检测算法中,结果相对从前,在两个指标上:IOU、GIOU 均有提高。
总体来说,文章的motivation比较好,指出用L1、L2作为regression损失函数的缺点,以及用直接指标IoU作为损失函数的缺陷性,提出新的指标即GIOU,并用其来代替L1、L2损失函数,从而提升regression效果,想法很nice!