前言
声明:转载它处,稍作总结
1、L1/L2 loss
定义如下:
缺点:
- L1 loss对x倒数为常数,x是真实值与标签值的差,那么无论是训练前期还是后期,提供的梯度都一样,在训练后期由于梯度原因损失函数波动较大,难以达到更好的收敛效果。
- L2 loss对x的求导与x的大小正比,当x较大时,倒数很大,训练初期不稳定。
2、Smooth L1 loss
针对L1、L2 loss的缺点,综合了两者得到smooth L1。
定义如下:当x的绝对值在1之内(小),取L2 loss;x绝对值大于1时,取L1 loss。位置损失函数如下:
其中v是bbox的真实值,t表示预测值。
缺点:
- L1、L2、Smooth L1计算边界框损失时,独立求出4个值的loss然后相加,而评判位置准确性的指标是IOU,IOU与Smooth L1 loss的计算方式不匹配。
3、IOU loss
针对Smooth L1 loss的缺点,引入了x、y、w、h的关联性,同时具备尺度不变性。
定义如下:或者缺点:
- 当IOU为0时,不能反映预测框和真实框的距离,顺势函数不可导,即IOU loss无法优化两个框不相交的情况。
- IOU不能反映两个框是如何相交的,如下图:
4、GIOU loss
针对IOU loss只关注重叠区域,不能反映相交情况,GIOU loss不仅关注重叠区域,还关注非重叠区域。
定义如下:其中C为A和B的外接矩形,GIOU的取值范围是[-1,1],两个框重合取1,无限远取-1,GIOU loss范围[0,2]。
缺点:
- 当目标框完全包裹预测框时,IOU与GIOU的值一样,此时GIOU退化为IOU,无法反映具体预测框和真实框的具体位置关系,如下图:
5、DIOU loss
针对IOU和GIOU的缺点,DIOU将两个要素融入边界框回归,重叠面积、中心点距离,并将它们融入到惩罚项中。
定义如下:
缺点:
- DIOU没有包含长宽比因素。
6、CIOU loss
针对DIOU没有考虑长宽比因素,CIOU在DIOU的基础上将长宽比因素融入惩罚项。
定义如下:其中v用于衡量长宽比的一致性,
α
\alpha
α用于平衡v的大小,表达式如下:最后,得到CIOU loss的表达式:
缺点:
- v太复杂,减缓了收敛速度。
- 从上看出v对w和v对h符号相反,那么优化意义相反。
7、EIOU loss
针对CIOU中v太复杂的问题,定义如下:
8、总结
在选用边界框回归函数时,要根据具体情况考虑;同时更好的损失函数应该与nms等模块配合起来使用。