关于目标检测中bounding box定位损失的理解
在目标检测中,训练模型的损失通常有关于预测的bounding box与GT之间的边框损失。下面我会详细介绍近些年来不同的边框损失,分别为:中心点损失、宽高损失,IOU损失,GIOU损失,DIOU损失,CIOU损失。
- 中心点损失
具体做法:通过预测的bounding box中心点坐标x,y,宽高w,h,与真实的box的中心点坐标 x g x_g xg, y g y_g yg,宽高 w g w_g wg, h g h_g hg计算均方差损失RMS。但通过不断的实验证明,采用均方差损失无法体现出边框的整体损失(即无法很好的体现两个box直接的联系性)。
以下为采用RMS的公式:
- IOU损失
计算两者box之间的IOU,作为边框损失,增强两者的联系性。
以下为IOU损失公式:1-IOU,取值范围【0~1】
- GIOU损失
为了解决IOU损失中无法体现两者在不重叠情况下的远离程度,可以更好地体现两者的重叠程度。
以下为GIOU的公式:1-GIOU,取值范围【0~2】
其中 A c A_c Ac:该变量代表可以将预测box和GT包围的最小矩形框的面积。 - DIOU损失
为了解决GIOU中无法体现当一个box包含另一个box,但具有不同位置的差别,加入了中心点距离与对角线的比值。
以下为DIOU公式:1-DIOU,取值【0~2】
c 2 c^2 c2:代表包围两者的最小矩形框的对角线长度。
d 2 d^2 d2:代表两个边框中心点的平方差距离。 - CIOU损失
该损失考虑了三个点:box宽高比,重叠程度,中心点距离。
以下为CIOU损失公式1-CIOU,取值范围【0~2】。
总结
以上便是目前目标检测中常用的几种边框定位损失,如理解存在纰漏,敬请指正,谢谢!