目标检测中的几种交并比( IoU )计算方式

目录

1、原始 IOU 的计算方式

2、GIOU(Generalized IOU)

2、DIoU(Distance-IoU)

3、CIOU(Complete-IoU)


IoU Intersection over Union 中文叫做交并比,用来衡量目标检测过程中 预测框真实框 的重合程度。目前有很多计算 IoU 的方法,这里主要介绍 GIOUDIOUCIOU 这三种方式。

1、原始 IOU 的计算方式

原始的计算方式如下,顾名思义,IOU就是把 预测框真实框 的相交的面积除以相并的面积。

2、GIOU(Generalized IOU)

文章:https://arxiv.org/abs/1902.09630

由于 IoU 是比值的概念,对目标物体的scale是不敏感的。然而检测任务中的 BBox 的回归损失(MSE loss, L1-smooth loss等)优化和IoU优化不是完全等价的,而且 Ln 范数对物体的scale也比较敏感,IoU 无法直接优化没有重叠的部分。

上面公式的意思是:先计算两个框的最小闭包区域面积   (通俗理解:同时包含了预测框和真实框的最小框的面积),再计算出 IoU,再计算闭包区域中不属于两个框的区域占闭包区域的比重,最后用 IoU 减去这个比重得到 GIoU。

与 IoU 相似,GIoU 也是一种距离度量,作为损失函数的话,  ,满足损失函数的基本要求。GIOU 的一些特点如下:

  • GIoU对scale不敏感
  • GIoU是IoU的下界,在两个框无限重合的情况下,IoU=GIoU=1
  • IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。
  • 与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。

2、DIoU(Distance-IoU)

论文:https://arxiv.org/pdf/1911.08287.pd

DIoU 要比 GIou 更加符合目标框回归的机制,将目标与 anchor 之间的 距离、重叠率 以及 尺度 都考虑进去,使得目标框回归变得更加稳定,不会像 IoU 和 GIoU 一样出现训练过程中发散等问题。

基于 IoU 和 GIoU 存在的问题,作者提出了两个问题:

  • 直接最小化anchor框与目标框之间的归一化距离是否可行,以达到更快的收敛速度?
  • 如何使回归在与目标框有重叠甚至包含时更准确、更快?

DIOU 计算公式如下:

其中,   ,  分别代表了预测框和真实框的中心点,且  代表的是计算两个中心点间的欧式距离。  代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离。如下图:

 

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

注:通常基于IoU-based的loss可以定义为  ,其中  定义为预测框  和目标框  的惩罚项,DIoU 的惩罚项表示为  ,CIoU 的惩罚项是在 DIoU 的基础上多了个影响因子 

3、CIOU(Complete-IoU

好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。基于问题一,作者提出了DIoU Loss,相对于GIoU Loss收敛速度更快,该Loss考虑了重叠面积和中心点距离,但没有考虑到长宽比;针对问题二,作者提出了CIoU Loss,其收敛的精度更高,以上三个因素都考虑到了。

考虑到bbox回归三要素中的长宽比还没被考虑到计算中,因此,进一步在DIoU的基础上提出了CIoU。其惩罚项如下面公式:

 

其中  是权重函数,  是用来度量长宽比一致性的参数,定义为:

CIoU 的计算公式为:

完整的 CIoU 损失函数定义:

 

  • 5
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: IoU (Intersection over Union)是计算两个区域重叠的程度的一种指标,常用于目标检测评估预测框和真实框的匹配情况。 IoU可以有以下几种变形: - mIoU(mean IoU):对于数据集所有样本,计算每一类的IoU并取平均值。 - gIoU(generalized IoU):对于两个区域A、B,gIoU计算如下:gIoU(A,B) = IoU(A,B) - IoU(A,B') + 1,其B'是与B不相交的区域。 - cIoU(complete IoU):对于两个区域A、B,cIoU计算如下:cIoU(A,B) = IoU(A,B) - IoU(A,B') - IoU(A',B) + IoU(A',B') + IoU(A,B),其A'、B'是与A、B不相交的区域。 - CIoU(confidence IoU):CIoUcIoU的基础上再加入了预测框的置信度因素,公式如下:CIoU(A,B) = cIoU(A,B) - p2 * v(A) / (v(A) + v(B)),其p2是置信度的超参数,v(A)和v(B)分别表示区域A、B的面积。 常见的目标检测任务常常使用mIoU作为性能度量指标。 ### 回答2: 目标检测交并比(IOU)是一种衡量检测框与真实框之间重叠程度的指标。在目标检测任务IOU通常用来评估检测结果的准确性。 在实际应用,研究者对IOU进行了一些变形和扩展,以更好地适应不同的场景和需求。 1. GIOU(Generalized Intersection over Union):GIOU是对IOU的一种改进,考虑了目标框的尺寸和位置信息,同时考虑了检测框和真实框之间的平移和缩放关系。 2. DIOU(Distance-IoU):DIOU基于IOU和目标框的心距离进行了修改。它考虑了物体的大小和位置信息,并通过计算心距离来惩罚检测框与真实框之间的重叠不足。 3. CIOU(Complete-IoU):CIOU是对DIOU的改进,它还考虑了宽高比的一致性。CIOU通过计算对角线距离来衡量两个框之间的距离,从而更好地描述检测框和真实框之间的相似度。 以上是目标检测常用的IOU变形的汇总。这些改进方法能够更准确地评估检测结果的质量,并帮助提升目标检测算法的性能和准确性。研究者们不断尝试更多的变体,并希望能够找到更好的方式来衡量目标检测的结果。 ### 回答3: 目标检测的Intersection over Union(IoU)是一种常用的评估指标,用于衡量预测框与真实标注框之间的重叠程度。除了传统的IoU指标外,还有一些关于IoU的变形方法。 首先是GIoU(Generalized IoU),它通过计算预测框与真实标注框的最小闭包矩形(minimum enclosing rectangle,MER)的面积和真实标注框的面积之比来进行衡量。相比传统的IoU,GIoU考虑了预测框与真实标注框之间的位置偏移,能够更好地评估不同形状的目标。 接下来是DIoU(Distance IoU),它在GIoU的基础上还考虑了预测框与真实标注框之间的心点距离。DIoU可以有效地解决多目标检测的crowding问题,改进了目标之间的重叠度量。 还有CIoU(Complete IoU),它在DIoU的基础上进一步考虑了长宽比的相似性。CIoU使用一个参数来衡量长宽比的差异,可以更加准确地评估目标的匹配程度。 此外,还有EIoU(Efficient IoU)等其他变形方法,它们主要通过改进IoU计算方式来提高检测算法的效率。 总的来说,这些IoU的变形方法在目标检测起到了衡量目标检测精度的作用,能够更好地评估预测框与真实标注框之间的重叠程度,从而提高目标检测算法的准确性和稳定性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

地球被支点撬走啦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值