C/DIoU Loss阅读笔记
(一)Title
前言:作者将GIoU的思想进行概括,得到了一个统一的描述框架 L = 1 − I o U + R ( B , B g t ) \mathcal{L}=1-I o U+\mathcal{R}\left(B, B^{g t}\right) L=1−IoU+R(B,Bgt),并基于该描述框架,提出了DIoU和CIoU,考虑了将中心点距离以及纵横比引入到IoU损失的正则项中。是一篇好文章,如果能够对于CIoU引入的长宽比为什么要采取 v = 4 π 2 ( arctan w g t h g t − arctan w h ) 2 v=\frac{4}{\pi^{2}}\left(\arctan \frac{w^{g t}}{h^{g t}}-\arctan \frac{w}{h}\right)^{2} v=π24(arctanhgtwgt−arctanhw)2这种形式进行说明就更加完美了。
(二)Summary
背景概述
目标检测中的bounding box回归任务往往采取的方式借助损失去回归bounding boxes的参数(位置/长/宽),但是它并不适用于评估度量(Intersection over Union,IoU)。
同时作者指出当前研究者提出的IoU度量(IoU Loss 以及 Generalized IoU Loss)上存在的一些问题:
收敛慢slow convergence
回归不准确,inaccurate regression
主要内容
作者在本文中提出的Distance-IoU(DIoU loss)中通过引入预测box和真实box之间的归一化距离,使得收敛速度加快。并且作者提出的 C I o U CIoU CIoU结合了bounding box回归中3个几何因素:overlap area,central point distancce以及长宽比,来达到更快的收敛和更佳的性能,并且DIoUcan be easily adopted into non-maximum suppression(NMS)中。
本文中提出的Distance-IoU(DIoU) loss,具体来说是在IoU Loss损失上增加一个惩罚项,直接最小化两个bounding box中心点之间的归一化距离,从而实现比GIoU更快地收敛。同时作者提出一个好的bounding box回归损失应该考虑到重叠面积,中心点距离以及纵横比,通过结合这些几何度量,作者进一步提出了Complete IoU(CIoU),获得更快的收敛速度以及更好的性能。
主要贡献
- 提出的DIoU,相比于GIoU和IoU Loss具有更快的收敛速度
- 同时考虑重叠面积,中心点距离,以及长宽比这三个几何度量,提出CIoU,能够更快更好地进行bounding box的回归
- 在NMS中使用DIoU,能够提升抑制多余bounding boxes的能力
- 所提出的方法能够结合到最先进的目标检测算法中,实现显著的性能提升。
(三)Research Object
作者将GIoU的思想进行概括,得到了一个统一的描述框架 L = 1 − I o U + R ( B , B g t ) \mathcal{L}=1-I o U+\mathcal{R}\left(B, B^{g t}\right) L=1−IoU+R(B,Bgt),并基于该描述框架,提出了DIoU和CIoU,考虑了将中心点距离以及纵横比引入到IoU损失的正则项中。
(四)Problem Statement
使用IoU Loss无法解决bounding box不存在overlap时的优化问题,而GIoU的回归过程分两个阶段:(1.增加bounding box的面积,2.预测box和目标box存在重叠后利用IoU项进行回归),导致GIoU的收敛比较缓慢,从而引出本文作者提出的两个问题:
- 为了最小化预测box和目标box的归一化距离是否可行?(博主本人关于此内容的猜想是在IoU回归的同时增加一项位置损失)
- 当与目标框有重叠甚至包含时,如何使回归更加准确和快速?
(五)Method
作者将GIoU以及本文的DIoU和CIoU使用统一的形式进行表示:
L = 1 − I o U + R ( B , B g t ) \mathcal{L}=1-I o U+\mathcal{R}\left(B, B^{g t}\right) L=1−IoU+R(B,Bgt)
其中 R ( B , B g t ) \mathcal{R}\left(B, B^{g t}\right) R(B,Bgt)表示的是正则化函数,是关于预测box B B B和目标box B g t B^{gt} Bgt的函数
Distance-IoU Loss
将正则项定义为:
R D I o U = ρ 2 ( b , b g t ) c 2 \mathcal{R}_{D I o U}=\frac{\rho^{2}\left(\mathbf{b}, \mathbf{b}^{g t}\right)}{c^{2}} RDIoU=c2ρ2(b,bgt)
其中 b and b g t \mathrm{b} \text { and } \mathbf{b}^{g t} b and bgt分别表示 B and B g t B \text { and } B^{g t} B and Bgt的中心点, ρ ( ⋅ ) \rho(\cdot) ρ(⋅)表示的是欧拉距离,此处c两个box最小闭包矩形的对角线长度,然后,损失函数就变成了:
L D I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 \mathcal{L}_{D I o U}=1-I o U+\frac{\rho^{2}\left(\mathbf{b}, \mathbf{b}^{g t}\right)}{c^{2}} LDIoU=1−Io