边界框损失计算的演进
边界框回归损失近些年的发展过程:
1. MSE Loss
2. IoU Loss
计算IoU交并比示意图如图,蓝色为真实目标框,橘红色为预测目标框。
IoU Loss存在的问题,存在检测框大小相同,重叠区域面积相等的情况(IoU相等),无法区分不同相交情况。
3. GIoU Loss
为了改进IoU Loss存在的问题,提出了GIoU方法。GIoU Loss的计算公式
其中 表示真实框与预测框的最小闭包区域面积,即外接矩形面积。
GIoU Loss增加了相交情况的衡量方式,但还是存在问题。
以上情况时,GIoU=IoU,此时GIoU变成了IoU。问题反映出GIoU无法区分相对位置关系。
Paper:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression (https://arxiv.org/pdf/1902.09630.pdf)
4. DIoU Loss
DIoU Loss考虑了重叠面积与中心点距离,当预测框在真实框中时,度量两个框的距离来解决GIoU无法区分相对位置的问题。
DIoU Loss仍然存在问题:没有考虑检测框的长宽比。
以DIoU Loss计算的结果以上三种情况相等。
5. CIoU Loss
CIoU Loss在DIoU Loss的基础上添加了一个影响因子,将预测框与真实框的长宽比都考虑了进去。
CIoU Loss具备边界框回归的3个几何因素:重叠面积、中心点距离与长宽比。
为什么会有公式呢?
原因是一个矩形框的长宽比的正切值不会超过,为了让长宽比正切值归一化,每个矩形的幅度值需要除以,然后MSE便得到了。为权衡参数,当IoU越大时, 权衡参数越大,反之亦然。
6. 总结
IoU Loss:主要考虑检测框与真实框重叠面积。
GIoU Loss:在IoU Loss的基础上,解决了检测框相同,IoU相同,但相交的位置不同问题。
DIoU Loss:在GIoU与IoU的基础上,考虑边界框中心点距离的信息。解决了检测框落在真实框中,GIoU变成IoU的问题。
CIoU Loss:在DIoU的基础上,考虑了检测框的长宽比信息,满足边界框损失函数具备的三大特性:考虑重叠面积、中心点距离、长宽比。