1.L1 vs L2 vs Smooth L1
对比: https://www.jianshu.com/p/19483787fa24.
从梯度方面分析:
smooth L1 loss能从两个方面限制梯度:
当预测框与 ground truth 差别过大时,梯度值不至于过大;
当预测框与 ground truth 差别很小时,梯度值足够小。
使用:
faster rcnn、ssd
缺点
在nms或者计算AP的时候对检测框采用的是Iou的标准,因此SmoothL1和评价标准的关联性不是很大,具有相同SmoothL1 值的一对框可能具有不同的Iou。
2.GIou vs Iou vs CIou vs DIou
对比: https://blog.csdn.net/weixin_41803339/article/details/106372080.
1.Iou loss
Iou的就是交并比,预测框和真实框相交区域面积和合并区域面积的比值
缺点:
当预测框和真实框不相交时Iou值为0,导致很大范围内损失函数没有梯度。
2.Giou loss
Giou Loss先计算闭包区域(闭包区域是包含预测框和检测框的最小区域),再计算闭包区域中不属于两个框区域占闭包区域的比重,最后用Iou减去这个比重。
缺点:
如下图所示,当预测框被真实框包含,或者真实框被预测框包含,则闭包区域和相并区域一样,因此Giou退化为Iou,未能反映出包含的各种方式,
3.Diou loss
Iou和Giou进行对比:(1)认为Iou和Giou收敛速度较慢,因此需要更多的迭代步数。(2)特殊情况下(互相包含),Iou和Giou错误率依旧很高
式中:b和b(gt)分别表示预测框和真实框的中心点,然后计算欧式距离的平方。c表示预测框和真实框的最小闭包区域的对角线长度。
4.Ciou loss
Ciou在Diou的基础上进行改进,认为Diou只考虑了中心点距离和重叠面积,但是没有考虑到长宽比。
缺点:
当预测框和真实框工中心时,Diou退化为Iou;共中心+共长宽比,Ciou退化为Iou.