Bounding Box Regeression你心中的IOU们

SmoothL1->IoU->GIoU->DIoU->CIoU Loss

SmoothL1

由微软rgb大神在Fast RCNN论文提出
设x为 真实值与预测值之间的差

  • L1_LOSS=xL1\_LOSS = |x|
    缺点:
    1) L1_LOSSL1\_LOSS损失函数在0处不可导;
    2) L1_LOSSL1\_LOSS对x的导数为常数,在训练后期,x很小时,如果learning rate 不变,损失函数会在稳定值附近波动,很难收敛到更高的精度。

  • L2_LOSS=x2L2\_LOSS = |x|^2
    缺点:
    L2_LOSSL2\_LOSS 损失函数对x>1时的导数,其导数也非常大,给予二次方倍的惩罚,对离群点比较敏感,受其影响较大,可能梯度爆炸。

  • SmoothL1(x)={0.5x2ifx<1x0.5otherwise\text{Smooth}{L_1}(x) =\left \{ \begin{array}{c} 0.5x^2 & if \mid x \mid <1 \\ \mid x \mid - 0.5 & otherwise \end{array} \right.
    综合二者的有点,规避二者的缺点,完美。

Bounding Box Regeression你心中的IOU们
三种方式的缺点:
上面的三种Loss用于计算目标检测的Bounding Box Loss时,独立的求出4个点的Loss,然后进行相加得到最终的Bounding Box Loss,这种做法的假设是4个点是相互独立的,实际是有一定相关性的。实际评价框检测的指标是使用IOU,这两者是不等价的,多个检测框可能有相同大小的SmoothL1(x)Smooth_{L_1}(x) LOSS,但IOU可能差异很大,为了解决这个问题就引入了IOU LOSS。
Bounding Box Regeression你心中的IOU们

IoU LOSS

由旷视提出,发表于2016 ACM。也可在我博客中找到具体的解读。

Bounding Box Regeression你心中的IOU们缺点:
1)当预测框和目标框不相交时,IoU(A,B)=0时,不能反映A,B距离的远近,此时损失函数不可导,IoU Loss 无法优化两个框不相交的情况。
2)假设预测框和目标框的大小都确定,只要两个框的相交值是确定的,其IoU值是相同时,IoU值不能反映两个框是如何相交的。
如:
Bounding Box Regeression你心中的IOU们于是GIOU LOSS 被提出。

GIoU LOSS

由斯坦福学者提出,发表于CVPR2019

Bounding Box Regeression你心中的IOU们缺点:

Bounding Box Regeression你心中的IOU们当目标框完全包裹预测框的时候,IoU和GIoU的值都一样,此时GIoU退化为IoU, 无法区分其相对位置关系;此时作者提出的DIoU, 加入了中心点归一化距离,所以可以更好地优化此类问题。

位置暴露了缺点,于是DIOU LOSS 被提出。

Distance-IoU Loss(DIOU)

Distance-IoU Loss 论文地址
Bounding Box Regeression你心中的IOU们

Bounding Box Regeression你心中的IOU们
特点及缺点:
1) 尺度不变性;
2)当两个框完全重合时DIOU=0;
3)当2个框不相交时,仍然可以为边界框计算损失,并提供移动方向。
4)DIoU Loss可以直接优化2个框直接的距离,比GIoU Loss收敛速度更快
5)对于目标框包裹预测框的这种情况,DIoU Loss可以收敛的很快,而GIoU Loss此时退化为IoU Loss收敛速度较慢;

Complete-IoU(CIOU)

论文考虑到bbox回归三要素中的长宽比还没被考虑到计算中,因此,进一步在DIoU的基础上提出了CIoU。其惩罚项如下面公式:
Bounding Box Regeression你心中的IOU们
CIoU的惩罚项是在DIoU的惩罚项基础上加了一个影响因子av,

a 为权重
Bounding Box Regeression你心中的IOU们
experiment:

Bounding Box Regeression你心中的IOU们
【完结】