目标检测的两个任务,分类和位置回归,本帖将经典的位置回归损失函数总结如下,按发表时间顺序。
提出smooth L1 loss的论文:



L1最低点是不可导的,所以势必不会收敛到最低点,可能会在最优解附近震荡。而L2损失容易在离群点产生梯度爆炸的问题。smooth L1则集两者的优点于一身。

提出IoU loss的论文:
不论是L2还是smooth L1 loss都没有考虑到四个点的关联性和尺度不变性,这个是比较致命的缺点,当两对预测框与GT框的IoU相同时,尺度更大那一对loss会更高,或者如下图,用左下角和右上角点计算损失,L2 loss相同,但IoU却不相同。

IoU损失有两种形式,后一种更为常用:
L
I
o
U
=
−
l
n
I
o
U
L_{IoU} = -lnIoU
LIoU=−lnIoU
L
I
o
U
=
1
−
I
o
U
L_{IoU} = 1-IoU
LIoU=1−IoU
这样,BBox回归问题的评价指标和优化指标已经重叠统一了。
提出GIoU loss 的论文:

IoU loss 最大的缺点就是两个框不相交时IoU横为0,损失恒为1,没法提供优化的梯度。
如下图(图来自CHEN), 右图的loss应该更小才对,但IoU loss却是相同的。

GIoU引入了一个最小闭包区的概念,即能将预测框和真实框包裹住的最小矩形框,其中,
A
c
A_c
Ac 为最小闭包区,
u
u
u为预测框和真实框的并集,那么GIoU第二项的分子就是上图中白色区域,白色区域比最小闭包区的值越高,loss越高。


而
上图中三种情况下IoU和GIoU的loss均为0.75,但显然第三种情况应该是更好的预测结果,而DIoU loss就可以更精确地表示这些情况,其计算公式如下式,相比IoU损失多了一项惩罚项,是
[
两
个
框
中
心
点
的
欧
式
距
离
最
小
闭
包
矩
形
对
角
线
长
度
]
2
[{\frac{两个框中心点的欧式距离}{最小闭包矩形对角线长度}}]^2
[最小闭包矩形对角线长度两个框中心点的欧式距离]2


DIoU还有如下的优势:

与DIoU loss出自同一篇文章
作者认为,好的IoU损失应该考虑三个因素:
而IoU和GIoU loss只考虑了第一个因素,DIoU loss多考虑了第二个因素。
作者又提出了CIoU loss,可以更精确衡量两个框的重合度和相似度,比DIoU多了一个长宽比的惩罚项
v
v
v,
α
\alpha
α是平衡系数。


作者通过实验表明,CIoU相比其他IoU损失取得了更好的实验结果。

这个损失我看知乎上大家评论不是很好啊,自己也还没细看,挖个坑。

简单说就是对IoU loss家族做了幂次运算,如下图的公式。


如上图,alpha-IoU可以通过自适应地提高高IoU对象的损失和梯度来提高BBox回归精度,而且对小数据集和噪声BBox提供了更好的稳健性。

5月份热乎的还是预印本的新损失,但看效果比CIoU提升很多,挖个坑。