目标检测中的回归损失函数系列四:DIoU Loss / CIoU Loss

论文:https://arxiv.org/pdf/1911.08287.pdf
开源代码:
https://github.com/Zzh-tju/DIoU-darknet
https://github.com/Zzh-tju/CIoU

IoU/GIoU Loss

IoU通常定义如下:
在这里插入图片描述
其中
在这里插入图片描述
代表的是真实框。
在这里插入图片描述
代表的是预测框。
但是,IoU Loss 仅在边界框重叠时起作用,并且在非重叠情况下不会提供任何移动梯度,所以有了GIoU Loss。尽管GIoU Loss缓解非重叠情况下的梯度消失问题,但仍然存在一些局限性。如下图所示:
在这里插入图片描述
其中第一行是GIoU Loss,第二行是DIoU Loss。绿色框和黑色框分别代表target boxanchor box。蓝色和红色代表GIoUDIoU的预测框。
由图看出,GIoU Loss收敛很慢,因为GIoU Loss首先是要增加预测框的大小,使其与目标框重叠,然后是利用GIoU Loss的公式(如下)最大化边界框的重叠区域。
在这里插入图片描述
在这里插入图片描述

此外,由图2可以看到,当目标框完全包裹预测框的时候,IoU和GIoU的值都一样,此时GIoU退化为IoU, 无法区分其相对位置关系。通常GIoU Loss无法很好地收敛于最新的检测算法中,从而导致检测不准确。

综上所述,对于不重叠的情况,IoU Loss会收敛到不好的解决方案,而GIoU Loss的收敛速度很慢,尤其是对于水平和垂直方向的盒子。 而且,将IoU和GIoU损失合并到对象检测管道中时,不能保证回归的准确性
基于以上,作者提出两个问题:

  • 直接最小化预测框和目标框之间的标准化距离以实现更快的收敛是否可行?
  • 预测框与目标框重叠时,如何使回归更准确,更快?

DIoU Loss

通常,基于IoU的损失可以定义为:
在这里插入图片描述
其中R(B,Bgt)是预测框B和目标框Bgt的惩罚项。
对于DIoU Loss,惩罚项定义为:

在这里插入图片描述
其中b和bgt表示B和Bgt的中心点,ρ(·)是欧几里得距离,c是覆盖两个盒子的最小封闭盒子的对角线长度。如下图所示:
在这里插入图片描述
然后可以将DIoU损失函数定义为:
在这里插入图片描述
DIoU Loss的优点如下:

  • DIoU Loss与回归问题的scale无关(尺度不变性)
  • 与GioU Loss类似,当边界框不与目标框重叠时,DIoU Loss仍然可以为边界框提供移动方向。
  • DIoU损失可以直接最小化两个目标盒之间的距离,因此它比GioU损失收敛快得多。
  • 在水平和垂直两种情况下,DIoU损失可以使收益损失迅速下降,而GioU损失几乎退化为IoU损失。

CIoU Loss

作者建议边界框回归的良好损失应考虑三个重要的几何因素,即重叠面积,中心点距离和纵横比。 通过合并坐标,IoU Loss考虑重叠区域,而GIoU Loss在很大程度上依赖于IoU损耗。 DIoU Loss旨在同时考虑边界框的重叠区域和中心点距离。 但是,边框的高宽比的一致性也是一个重要的几何因素,基于此,作者提出了CIoU Loss。
CIoU Loss的惩罚项定义如下:
在这里插入图片描述
其中α是一个正的权衡参数,而v衡量长宽比的一致性。
在这里插入图片描述
在这里插入图片描述
CIoU Loss的最终定义如下:
在这里插入图片描述

实验结果

下表显示了在YOLOv3上的使用IoU Loss,GIoU Loss,DIoU Loss, CIoU Loss获得的AP值。
在这里插入图片描述
由图可以看到,使用IoU作为评价指标,DIoU Loss可以提高性能,使AP的增益为3.29%,AP75的增益为6.02%。 CIoU Loss考虑了两个边界框的三个重要几何因素,带来了惊人的性能提升,即5.67%AP和8.95%AP75,证明了DIoU/CIoU Loss的有效性。

加上前面几篇博客,IoU Loss系列总结如下:
IOU_Loss:主要考虑检测框和目标框重叠面积。
GIOU_Loss:在IOU的基础上,解决边界框不重合时的问题。
DIOU_Loss:在IOU和GIOU的基础上,考虑边界框中心点距离的信息。
CIOU_Loss:在DIOU的基础上,考虑边界框宽高比的尺度信息。

参考

https://blog.csdn.net/qiu931110/article/details/103330107
https://bbs.cvmart.net/topics/1436
https://zhuanlan.zhihu.com/p/94799295

  • 9
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
坐标损失函数CIOU是指CIoU Loss,其CIoU代表完整的交并比(CIoU)损失函数CIoU Loss目标检测任务的一种损失函数,用于度量预测框和真实框之间的差异。 CIoU Loss结合了两个关键因素:边界框的位置误差和目标之间的相似度。它通过计算预测框和真实框之间的交并比,并考虑了对角线距离的惩罚,从而提供了更准确的定位和更稳定的训练。 在CIoU Loss,通过计算预测框和真实框的心点距离、宽高的相对差异以及对角线距离,得到一个衡量框匹配度的指标。这个指标可以帮助训练过程更好地优化目标检测模型,提高边界框的准确性。 总结来说,坐标损失函数CIoU目标检测任务用于度量预测框和真实框之间差异的一种损失函数,它结合了位置误差和目标相似度,并通过对对角线距离的惩罚提供更准确的定位和稳定的训练。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【DIoU CIoUDIoUCIoU损失函数理解及代码实现](https://blog.csdn.net/weixin_45377629/article/details/124998517)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值