IoU的进化之路——IoU、GIoU、DIoU、CIoU四种损失函数总结

IoU:
IoU就是两个区域的交并比,如下图所示:
在这里插入图片描述
GIoU:
G I o U = I o U − ∣ A c − U ∣ ∣ A c ∣ G I o U=I o U-\frac{\left|A_{c}-U\right|}{\left|A_{c}\right|} GIoU=IoUAcAcU
其中 A c A_{c} Ac表示,A和B两者的区域用矩形框框起来的面积:入下图红色边框围起来的面积就是 A c A_{c} Ac。U表示A和B的并集。
在这里插入图片描述

  • GIoU是IoU的下界,在两个框无限重合的情况下,IoU=GIoU=1
  • IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。
  • 与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
  • 当两个区域平行的时候,退化为IoU,如下图的情况。
    在这里插入图片描述
    GIoU不足:重叠区域相同但方向和距离不同时不能反应到损失函数中。

DIoU
要比GIou更加符合目标框回归的机制,将目标与anchor之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题。
D I o U = I o U − ρ 2 ( b , b g t ) c 2 D I o U=I o U-\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}} DIoU=IoUc2ρ2(b,bgt)
其中:
b b b b g t b^{g t} bgt分别表示预测框和GT的中心点。
ρ 2 \rho^{2} ρ2表示计算两个中心点的欧氏距离。
c c c表示能包含真实框和预测框的包闭区域的对角线距离。
DIoU具体表示如下图:
在这里插入图片描述

  • 与GIoU loss类似,DIoU loss( L D I o U = 1 − D I o U L_{DIoU} = 1-DIoU LDIoU=1DIoU)在与目标框不重叠时,仍然可以为边界框提供移动方向。
  • DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。
  • 对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失。
  • DIoU还可以替换普通的IoU评价策略,应用于NMS中,使得NMS得到的结果更加合理和有效。

CIoU:
YOLOV3spp 作者提出一个优秀的回归定位损失应该考虑三个参数:重叠面积、中心距离、长宽比。因此得出一下公式:
C I o U = I o U − ( ρ 2 ( b , b g t ) c 2 ) + α v v = 4 π 2 ( arctan ⁡ w g t h g t − arctan ⁡ w h ) 2 α = v ( 1 − I o U ) + v \begin{gathered} CIoU=I o U-\left(\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}\right)+\alpha v \\ v=\frac{4}{\pi^{2}}\left(\arctan \frac{w^{g t}}{h^{g t}}-\arctan \frac{w}{h}\right)^{2} \\ \alpha=\frac{v}{(1-I o U)+v} \end{gathered} CIoU=IoU(c2ρ2(b,bgt))+αvv=π24(arctanhgtwgtarctanhw)2α=(1IoU)+vv
其中 α \alpha α是权重参数
v v v用来度量长宽比的相似性
所以完整的CIoU损失定义为:
L C I o U = 1 − I o U + ( ρ 2 ( b , b g t ) c 2 ) + α v \begin{gathered} L_{CIoU}=1-IoU+\left(\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}\right)+\alpha v \\ \end{gathered} LCIoU=1IoU+(c2ρ2(b,bgt))+αv

总结一下 I o U 、 G I o U 、 D I o U 、 C I o U IoU、GIoU、DIoU、CIoU IoUGIoUDIoUCIoU四个损失的区别:
边界框回归的三大集合因素:重叠面积、中心点距离、纵横比
IoU: 考虑了重叠面积,归一化坐标尺度
GIoU: 考虑了重叠面积,基于IoU解决边界框不想交时loss等于0的问题。
DIoU: 考虑了重叠面积、中心点距离,基于IoU解决GIoU收敛慢的问题。
CIoU: 考虑了重叠面积、中心点距离、纵横比,基于DIoU提升回归精确度。
本文参考文献:
IoU、GIoU、DIoU、CIoU
IoU系列(IoU, GIoU, DIoU, CIoU)

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I松风水月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值