当前位置: 代码迷 >> 综合 >> 《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》DIOU论文
  详细解决方案

《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》DIOU论文

热度:30   发布时间:2023-12-06 00:44:06.0

前言

《Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression》发表于2020年AAAI,来自天津大学和中国人名公安大学

资源

论文下载:Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression

论文题目及作者

在这里插入图片描述

介绍

在这里插入图片描述
第一行为GIOU loss,第二行是DIOU loss。
绿边框表示Ground Truth,黑边框表示Anchor Box。
蓝边框和红边框表示预测框,分别用于GIOU loss和DIOU loss。

作者提到,GIOU loss通常会增加预测框的大小与Ground Truth重叠,而DIOU loss直接最小化中心点的归一化距离。

GIOU loss通常会增加预测框的大小与Ground Truth重叠:
回顾下GIOU的公式:
在这里插入图片描述
其中CCCBBBBgtB^{gt}Bgt的最小闭包面积

这里作者做了迭代实验,发现GIOU loss首先通过增加预测合的大小,使其与Ground Truth重叠,然后最大化重叠区域。

在这里插入图片描述
DIOU loss直接最小化中心点的归一化距离:

作者认为:从图2可知,GIOU loss将完全退化到IOU loss的包围框,因为GIOU loss在实验迭代中不断增加重叠区域,直至重叠区域最大。
作者画出的这个图是Ground Truth 包围了预测框,这个状态应该是由预测框主要增加宽高以增加与Ground Truth的重叠区域,然后回归坐标和宽高,详细讨论见实验部分

作者的仿真实验

更详细的讨论见作者的github:作者开源github
在这里插入图片描述
首先,将锚框设置为对角线方向。GIoU 损失通常会增加预测框的大小以与目标框重叠,而 DIoU 损失则直接最小化中心点的归一化距离。
在这里插入图片描述
其次,锚框设置为水平方向。GIoU 损失扩大了预测框的右边缘,而预测框的中心点仅略微向目标框移动。然后当预测框和目标框之间存在重叠时,GIoU 损失中的 IoU 项会更好地匹配。从 T = 400 处的最终结果可以看出,目标框已包含在预测框中,其中 GIoU 损失已完全降级为 IoU 损失。
在这里插入图片描述
第三,锚框设置为垂直方向。同样,GIoU loss 拓宽了预测框的底部边缘,这两个框在最终迭代中不匹配。相比之下,我们的 DIoU 损失仅在几十次迭代中就收敛到良好的匹配。
在这里插入图片描述
在这里插入图片描述
在200个epoch终止后,可见IOU以及GIOU的error在1.5,而DIOU和CIOU的error达到0,CIOU相比DIOU更快拟合。
在这里插入图片描述
matlab仿真,盆地区域表示回归良好的情况。

作者对GIOU loss的讨论:
当Ground Truth和预测框为水平或者垂直分布时,GIOU loss大概率会产生很大的误差。这里GIOU的公式中的惩罚项是最小化∣C?B∪Bgt∣|C-B\cup B^{gt}|C?BBgt,但是∣C?B∪Bgt∣|C-B\cup B^{gt}|C?BBgt通常很小或者为0,即有部分重叠和包围的情况,此时GIOU loss退化到IOU loss。只要以适当的学习率运行足够多的迭代,GIOU损失将收敛到良好的解,但收敛速度非常慢。

在这里插入图片描述

作者的想法

作者将IOU loss 定义为:
L=1?IoU+R(B,Bgt)L = 1-IoU+R(B,B^{gt})L=1?IoU+R(B,Bgt)
其中R(B,Bgt)R(B,B^{gt})R(B,Bgt)为预测框和Ground Truth的惩罚项,基于此提出DIOU LOSS 以及CIOU LOSS

Distance-IoU Loss

从最小化两个边界框的中心点之间的归一化距离出发,作者定义的惩罚项为:
RDIoU=ρ2(b,bgt)c2R_{DIoU}=\frac{\rho^2(b,b^{gt})}{c^2}RDIoU?=c2ρ2(b,bgt)?
其中bbbbgtb^{gt}bgt表示BBBBgtB^{gt}Bgt的中心点,ρ(?)\rho(·)ρ(?)是欧几里德距离,ccc是包含BBBBgtB^{gt}Bgt的最小闭包矩形的对角线长度。将DIoUlossDIoU\ lossDIoU loss函数定义为:
LDIoU=1?IoU+ρ2(b,bgt)c2L_{DIoU}=1-IoU+\frac{\rho^2(b,b^{gt})}{c^2}LDIoU?=1?IoU+c2ρ2(b,bgt)?
在这里插入图片描述
通过定义这样的惩罚项,该惩罚项直接最小化预测框和Ground Truth的中心点之间的距离,而GIoU loss的惩罚项旨在减小∣C?B∪Bgt∣|C-B\cup B^{gt}|C?BBgt的面积

与IoU和GIoU loss比较
DIoU loss继承了一些IoU和GIoU loss的性质

  1. DIOU在回归问题的规模上仍然具有不变性
  2. 与GIOU loss类似,当预测框与Ground Truth重叠时,DIOU loss可以为预测框提供移动方向
  3. 当两个Bounding boxes完美匹配时,LIoU=LGIoU=LDIoU=0L_{IoU}=L_{GIoU}=L_{DIoU}=0LIoU?=LGIoU?=LDIoU?=0,当两个boxes相距很远时,LGIoU=LDIoU→2L_{GIoU}=L_{DIoU}\to 2LGIoU?=LDIoU?2

DIOU loss相比IOU和GIOU loss有几个优点

  1. DIOU loss可以直接最小化两个boxes的距离,因此收敛比GIOU loss更快
  2. 对于两个boxes有包含关系或有水平或垂直方向的情况,DIOU loss可以使回归更快,而GIOU loss几乎退化成IOU loss,即∣C?B∪Bgt∣→0|C-B\cup B^{gt}|\to 0C?BBgt0

Complete IoU Loss

作者认为,bounding box回归应该考虑三个重要的几何因素,即重叠区域、中心点距离和纵横比。
IOU loss考虑了重叠区域,GIOU loss大量依赖IOU loss。
提出的DIOU loss旨在同时考虑bounding box的重叠区域和中心点的距离,然而,bounding box纵横比的一致性也是重要的几何因子。
因此,基于DIOU loss,通过施加宽高比的一致性提出了CIOU loss
RCIoU=ρ2(b,bgt)c2+αvR_{CIoU}=\frac{\rho^2(b,b^{gt})}{c^2}+\alpha vRCIoU?=c2ρ2(b,bgt)?+αv
其中α\alphaα是一个大于零的权重系数,并且vvv度量宽高比的一致性

v=4π2(arctanwgthgt?arctanwh)2v=\frac{4}{\pi^2}(arctan\frac{w^{gt}}{h^{gt}}-arctan\frac{w}{h})^2v=π24?(arctanhgtwgt??arctanhw?)2
arctanarctanarctan函数将纵横比归一化到一个(?π2,π2)(-\frac{\pi}{2},\frac{\pi}{2})(?2π?,2π?)的区间
4π2\frac{4}{\pi^2}π24?这个系数将arctanarctanarctan的区间再次归一化到(?1,1)(-1,1)(?1,1)的区间

CIOU loss定义为:
LCIoU=1?IoU+ρ2(b,bgt)c2+αvL_{CIoU}=1-IoU+\frac{\rho^2(b,b^{gt})}{c^2}+\alpha vLCIoU?=1?IoU+c2ρ2(b,bgt)?+αv
权重系数α\alphaα定义为:
α=v(1?IoU)+v\alpha =\frac{v}{(1-IoU)+v}α=(1?IoU)+vv?
α\alphaα的分母带有重叠区域因子1?IoU1-IoU1?IoU,当预测框和Ground Truth未重叠时,1?IoU=11-IoU=11?IoU=1,α\alphaα较小,此时LCIoUL_{CIoU}LCIoU?主要负责优先拟合预测框和Ground Truth的中心点坐标以及重叠区域,当预测框和Ground Truth部分重叠时,0<1?IoU<10<1-IoU<10<1?IoU<1,α\alphaα较大,LCIoUL_{CIoU}LCIoU?对预测框的纵横比调整加大;最后,当预测框和Ground Truth包围,1?IoU=01-IoU=01?IoU=0,α=1\alpha =1α=1达到最大值,LCIoUL_{CIoU}LCIoU?对预测框的纵横比调整达到最大。

假定vvv1?IoU1-IoU1?IoU变化时变化较小,可以忽略,则LCIoUL_{CIoU}LCIoU?在两框未重叠时对纵横比的拟合比重不大,在两框部分重叠时对纵横比的拟合加大力度,在两框包围时对纵横比的拟合达到最大力度。

在这里插入图片描述
由于w2+h2w^2+h^2w2+h2通常是一个很小的值因为wwwhhh[0,1][0,1][0,1]取值,这大概率会产生梯度爆炸。
因此,作者在反向传播时,移除了1w2+h2\frac{1}{w^2+h^2}w2+h21?这一项,代替为1,并且作者指出梯度方向和原梯度公式一致。

作者的实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  相关解决方案