论文笔记之D-IOU Loss

1. 摘要

边界框回归是目标检测的重要一步,现有用的最多的是使用L1/2-norm函数来计算损失,但是他不是非常适合评估指标(IOU)。因此后面有了IOU Loss和G-IOU Loss,但是这两个依旧存在收敛慢、回归不准确的问题。本文结合预测框和真实框之间的标准化距离提出D-IOU Loss和C-IOU Loss,收敛速度比IOU Loss和G-IOU Loss快的多,且准确性也有所提升。

本文主要工作:

  • 在IOU Loss基础上添加一个惩罚项以最小化预测框和真实框之间的标准化距离,从而加快收敛。
  • 考虑3个度量:重叠面积、中心点距离和box的宽高比,提出了C-IOU Loss用于边界框损失以得到精确的回归。
  • D-IOU 应用于NMS具有更好的性能。

2. 相关工作

2.1 IOU Loss

论文笔记之D-IOU Loss
IOU Loss也就是1减去IOU,但是它只在边界框有重叠时才work(不重叠时梯度消失),对于没有重叠的预测框没有提供移动方向(往真实框靠近)。即:当两个box无交集时,IoU=0,很近的无交集框和很远的无交集框的输出一样,失去了梯度方向,无法优化。

2.2 G-IOU Loss

为了解决上面的问题,提出了G-IOU Loss。
论文笔记之D-IOU Loss
G-IOU Loss在IOU Loss后加了一个惩罚项,以使不重叠的情况下,预测框向目标框移动。其中C是覆盖预测框和真实框的最小框的面积。
但是G-IOU Loss需要更多的迭代才会收敛,所以通常在最新的检测器中,G-IOU Loss不能很好地收敛,从而导致不精确的预测。
论文笔记之D-IOU Loss
从图中以及损失函数可以看出,GIoU在回归的过程中,当IoU为0时,GIoU会先尽可能让anchor能够和目标框产生重叠,之后GIoU会渐渐退化成IoU回归策略,因此整个过程会非常缓慢而且存在发散的风险。而DIoU考虑到anchor和目标之间的中心点距离,可以更快更有效更稳定的进行回归。

2.3 前两种和本文方法的对比

论文笔记之D-IOU Loss
论文笔记之D-IOU Loss
左边的和中间的预测框都不如右边的好,但是IOU Loss和G-IOU Loss并没有体现出来(3个loss值都一样),D-IOU Loss体现出来了(左边两个loss值较大),这也体现了计算两框中心点标准化距离的重要性,使用这个距离训练可以得到更精确的框。另外也表明了在一定程度下(水平和垂直方向)G-IOU Loss会退化为IOU Loss(两者的loss值一样)。
论文笔记之D-IOU Loss
对于图4,从左至右依次是IOU Loss、G-IOU Loss、D-IOU Loss的回归结果可视化。可以看出,IOU Loss在周围(没有重叠的)误差较大;G-IOU Loss在水平和垂直方向误差较大;而D-IOU Loss在各个方向的误差都很小。

3. 本文方法

本文也是在IOU Loss后添加了一个惩罚项,以分别解决收敛速度慢(D-IOU Loss)和回归不准确(C-IOU Loss)的问题。
论文笔记之D-IOU Loss
论文笔记之D-IOU Loss中B是预测框,B^gt是真实框。

3.1 D-IOU Loss

在这里,惩罚项为:
论文笔记之D-IOU Loss
其中,ρ是欧几里得距离;b是框的中心点;c是覆盖两个框(预测框和真实框)的最小box的对角线长度。
论文笔记之D-IOU Loss
相比IOU Loss和G-IOU Loss,D-IOU Loss有如下特性:

  • 与回归尺度无关(对尺度不敏感,和G-IOU Loss类似)
  • 与G-IOU Loss类似,不重叠时D-IOU Loss可以为边界框提供移动方向
  • 最好的预测时,loss值趋向于0,最差的预测时loss值趋向于2
  • 直接计算两框之间的标准化距离,收敛速度快
  • 在水平和垂直方向上,可以使回归较快,而G-IOU Loss退化为IOU Loss

3.2 C-IOU Loss

在这里,惩罚项为:
论文笔记之D-IOU Loss
其中,α 是一个正的权衡参数,v 是测量预测框和真实框的宽高比的一致性。v的形式为:
论文笔记之D-IOU Loss
α定义为:
论文笔记之D-IOU Loss
从参数 α 的定义可以看出,损失函数会更加倾向于往重叠区域增多方向优化,尤其是IoU为零的时候(不重叠时)。

v对w和h的梯度定义为:
论文笔记之D-IOU Loss
论文笔记之D-IOU Loss通常很小,从而导致梯度爆炸,所以,为了稳定收敛,将论文笔记之D-IOU Loss换为1.

3.3 D-IOU替换NMS时的IOU

原始的NMS对于遮挡情况经常产生错误抑制,而同时考虑IOU以及两框中心点距离可以得到更好的结果。
D-IOU-NMS定义为:
论文笔记之D-IOU Loss
其中s_i是分类置信度,ϵ为NMS阈值,M为最高置信度的框。DIoU-NMS倾向于中心点距离较远的box存在不同的物体(两个中心点较远的box可能是位于不同的目标内,不应该删除),而且仅需改几行代码,DIoU-NMS就能够很简单地集成到目标检测算法中。

4. 实验

  • 在精度不太高的模型(YOLOv3)上进行实验对比,DIoU loss和CIoU的效果都很显著,而使用DIoU-NMS则能进一步提升。
  • 在精度较高的模型(SSD-FPN)上进行实验对比,DIoU loss和CIoU的提升就不大了,同样使用DIoU-NMS能进一步提升。
  • CIoU在小物体上的性能都有所下降,可能由于宽高比对小物体的检测贡献不大,因为此时中心点比宽高比更重要。
  • 在中大型物体检测上,CIoU的结果比GIoU要准确。
  • DIoU-NMS能够更好地引导bbox的消除。