目录
一、IOU
二、GIOU
三、DIOU
四、CIOU
五、性能对比
一、IOU
1. IOU 即为交并比,图像如下。
图一
可以想当然的把IOU当作训练的Loss, 比如Loss = 1 - IOU, 当两个物体越接近为同一个物体时候,则IOU越接近1,则loss越小。这样模型就可以通过不断降低loss来使得模型得出更好的预测结果。
2. 缺点:
1)当两个框不相交的时候,IOU=0, Loss = 1 - IOU =1, 将梯度传回,当两个框相距较远时候,调整预测框的位置,其IOU也等于0,这样会导致预测框经过多次调整后Loss还是等于1,这样网络需要很多次迭代(随机尝试),才有可能达到两个框有交集,进而再不断减小Loss。(迭代时间长,可能出现Loss一直不变的情况)
2)loss仅仅与两个框的交并比有关,及相交面积有关。但如下图中,三者的相交面积一样,但是重合度却差很多。感觉可以再增加一个值,即两个框中心点的距离,即 Loss = 1 - IOU + Distance_two_center,这样更合理一点,距离越远,惩罚越多。
图二
二、GIOU
其中Ac 表示一个最小的封闭形状(框)将计算交并比的两个框包含起来的面积(图一中的(X22-X11)*(Y22-Y11))。 然后公式的后者等于在两个离的很远的框的情况上增加了一个惩罚。 故 Loss = 1 - GIOU , 即在 1 - IOU的基础上增加了一个 |Ac - U|/Ac 的惩罚,两个框离的越远惩罚越大。
这样可以解决
1: 在两个框不相交情况下 Loss恒等于1的情况。
2:两个框越远 Loss 越大,故有目的的让网络拉近预测框和真实框直接的距离。
三、DIOU
图三
其Loss函数为:
其中 b和bgt 分别表示 Anchor 和 目标框的中心点, 而p^2 表示两个中心点的欧式距离, c表示包含两个框最小框的斜对角线长度。
DIOU 在原先IOU的基础上 多考虑了
1)重叠区域面积 即 p^2 (b, b^gt) / c^2
2) 中心点的距离 即: p^2( b, b^gt )
优点:
1)比直接IOU来说,可以在两个框不相交的情况下,根据后面的惩罚 p^2(b,b^gt) 来拉近两个框的距离
2)较GIOU来说,DIOU是直接在两个框的中心点距离作为惩罚,拉近两个框的距离的速度远大于GIOU
3)在下面图四的情况下,GIOU直接退化成IOU,不能有效的拉近两个框的距离,而DIOU根据中心点距离可以快速拉近两个框的距离,进而使Loss快速下降。
4)可以应用中NMS中替代IOU,IOU对于很多同类物体相互遮挡情况下,容易将遮挡的物体(框)剔除掉,而DIOU增加了中心点距离参数,则减少值,抑制NMS剔除相近的遮挡物体的框。 DIOU<IOU
图四
四、CIOU
CIOU 在DIOU上增加了长宽比的惩罚,其中 α为权重系数,v 来衡量长宽比的相似性。
其中:
五、性能对比
Yolo v3 在 PASCAL VOC 上的 测试结果