目标检测中的几种交并比( 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 计算公式如下:

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

目标检测中的几种交并比( IoU )计算方式_第1张图片

 

  • 与 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 损失函数定义:

 

你可能感兴趣的:(机器学习,算法,目标检测,人工智能,计算机视觉)