Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression-AAAI 2020

IOU loss

IoU是目标检测里面很重要的一个指标,通过预测的框和GT间的交集与并集的比例进行计算,经常用于评价bbox的优劣 。但一般对bbox的精调都采用L2范数,而一些研究表明这不是最优化IoU的方法,因此出现了IoU loss

proposal目标检测中什么意思_proposal目标检测中什么意思

IoU loss直接通过IoU计算梯度进行回归,论文提到IoU loss的无法避免的缺点:当两个box无交集时,IoU=0,很近的无交集框和很远的无交集框的输出一样,这样就失去了梯度方向,无法优化。

这里论文主要讨论的类似YOLO的检测网络,按照GT是否在cell判断当前bbox是否需要回归,所以可能存在无交集的情况。而一般的two stage网络,在bbox regress的时候都会卡IOU>=0.5,不会对无交集的框进行回归

GIOU Loss

proposal目标检测中什么意思_深度学习_02

GIou loss在IoU loss的基础上增加一个惩罚项,proposal目标检测中什么意思_proposal目标检测中什么意思_03为包围预测框proposal目标检测中什么意思_深度学习_04proposal目标检测中什么意思_proposal目标检测中什么意思_05的最小区域大小,当bbox的距离越大时,惩罚项将越大。

尽管GIoU解决了IoU的梯度问题,但他仍然存在几个限制:

proposal目标检测中什么意思_最小化_06

如图1所示,在训练过程中,GIoU倾向于先增大bbox的大小来增大与GT的交集,然后通过公式3的IoU项引导最大化bbox的重叠区域。

proposal目标检测中什么意思_深度学习_07

如图2中的包含情况,GIoU会退化成IoU

由于很大程度依赖IoU项,GIoU需要更多的迭代次数来收敛,特别是水平和垂直的bbox(后面会分析)。一般地,GIoU loss不能很好地收敛SOTA算法,反而造成不好的结果。

DIoU Loss

简单地在IoU loss基础上添加一个惩罚项,该惩罚项用于最小化两个bbox的中心点距离。如图1所示,DIoU收敛速度和效果都很好,而且DIoU能够用于NMS的计算中,不仅考虑了重叠区域,还考虑了中心点距离。

另外,论文考虑bbox的三要素,重叠区域,中心点距离和长宽比,进一步提出了Complete IoU(CIoU) loss,收敛更快,效果更好。

proposal目标检测中什么意思_proposal目标检测中什么意思_08

论文提出了能减少两个box中心点间的距离的惩罚项, proposal目标检测中什么意思_proposal目标检测中什么意思_09proposal目标检测中什么意思_最小化_10 分别表示 proposal目标检测中什么意思_深度学习_04proposal目标检测中什么意思_proposal目标检测中什么意思_05 的中心点。proposal目标检测中什么意思_深度学习_13 是欧氏距离,proposal目标检测中什么意思_深度学习_14 是最小包围两个bbox的框的对角线长度。

proposal目标检测中什么意思_计算机视觉_15

DIoU loss的惩罚项能够直接最小化中心点间的距离,而GIoU loss意在减少外界包围框的面积

DIoU loss保留了IoU loss和GIoU loss的一些属性:

  • DIoU loss依然是尺寸无关的,不会大尺寸产生大的loss,小尺寸产生小的loss那样
  • 类似于GIoU loss,DIoU loss能够为无交集的bbox提供梯度方向
  • 当bbox完全重合时,proposal目标检测中什么意思_proposal目标检测中什么意思_16,当bbox很远时,proposal目标检测中什么意思_目标检测_17

在模拟实验中,发现DIoU loss也有一些独有的属性:

  • 如图1和图3所示,DIoU loss能够直接最小化bbox的中心点距离。因此,他的收敛很快
  • 在包含的情况下,或垂直和水平的情况下,DIoU loss的收敛非常快,而GIoU loss则几乎退化成了IoU loss

CIOU Loss

proposal目标检测中什么意思_最小化_18

其中 proposal目标检测中什么意思_深度学习_19 是权重函数,而 proposal目标检测中什么意思_计算机视觉_20 用来度量长宽比的相似性

proposal目标检测中什么意思_最小化_21

最后,CIoU loss的梯度类似于DIoU loss,但还要考虑 proposal目标检测中什么意思_计算机视觉_20 的梯度。在长宽在 [0,1] 的情况下,proposal目标检测中什么意思_目标检测_23 的值通常很小,会导致梯度爆炸,因此在实现时将proposal目标检测中什么意思_计算机视觉_24替换成1

Non-Maximum Suppression using DIoU

在原始的NMS中,IoU指标用于抑制多余的检测框,但由于仅考虑了重叠区域,经常会造成错误的抑制,特别是在bbox包含的情况下。因此,可以使用DIoU作为NMS的标准,不仅考虑重叠区域,还考虑了中心点距离

proposal目标检测中什么意思_计算机视觉_25

proposal目标检测中什么意思_深度学习_26

其中 proposal目标检测中什么意思_目标检测_27 是分类置信度, proposal目标检测中什么意思_最小化_28 为NMS阈值, proposal目标检测中什么意思_深度学习_29