【目标检测】深度学习目标检测中常用的的回归损失函数

文章目录

      • 1. Smooth L1 损失函数
      • 2. IOU loss 损失函数
      • 3. GIoU Loss损失函数
      • 4. DIOU loss 损失函数
      • 5. CIOU loss 损失函数

目前,基于anchor的图像2D目标检测任务主要包括两个部分,一是目标的分类,二是目框位置的回归。所以,损失函数也是由分类损失和目标框回归损失两部分构成。分类的损失主要用交叉熵损失函数,没有太多的变化,目标框回归任务比较难,所示回归的损失函数近几年来一段在更新改进,本文主要介绍一下近几年常用的回归损失函数。

1. Smooth L1 损失函数

Smooth L1最早是在Fast rcnn中提出来的。首先看一下L1 和L2损失:
L1也就是L1范数损失函数,也被称为最小绝对值误差。计算得是:
L 1 ( x ) = ∣ x ∣ L_1 (x) = | x | L1(x)=x;
L2也就是L2范数损失函数,也被称为最小平方误差。计算得是:
L 2 ( x ) = x 2 L_2 (x) = x^2 L2(x)=x2;

Smooth L1 的计算公式是:
S m o o t h L 1 ( x ) = { 0.5 x 2 i f ∣ x ∣ < 1 ∣ x ∣ − 0.5 o p t h e r w i s e Smooth L_1(x)= \left\{ \begin{aligned} 0.5 x^2 \quad if |x| < 1 \\ |x| - 0.5 \quad optherwise \end{aligned} \right. SmoothL1(x)={0.5x2ifx<1x0.5optherwise

对L1损失进行求导,导数为±1,也就是说导数是常数,这对于模型的训练可能会造成难以收敛的问题;
对L2损失进行求导,导数为 2 x 2x 2x,也就是说如果预测值和真值差异很大时,导数也会很大,也会造成模型难以收敛的问题;
而对于Smooth L1进行求导时,导数值不会超过±1,当预测值和真值差异小时,导数也会比较小,当预测值和真值差异大时,但也不会超过±1,有效的改进了L1和L2中存在的问题。
在进行目标检测任务时,会对目标框的XYWH四个值进行回归,然后再求和,这就存在一个问题,对于这四个值的回归是分开,没有考虑到他们之间的关系,因此后面就有了IOU loss对他的改进。

2. IOU loss 损失函数

https://arxiv.org/pdf/1608.01471.pdf
IOU loss是旷视在论文UnitBox: An Advanced Object Detection Network 中提出来的,就是为了解决上述所说的Smooth L1 中所存在的问题。IOU loss将4个值构成的框看成一个整体来进行回归,
【目标检测】深度学习目标检测中常用的的回归损失函数_第1张图片
从上图中可以看出,IOU loss 计算的是预测和真值的交集与并集,然后再取-ln。
但是,IOU loss 仍存在一些问题:
当两个框不想交时,损失函数是不可导的,是无法优化不想交这种情况的;
而且,当两个框的IOU相同时,是无法确定具体位置的,也就是不知道是怎么相交的。

3. GIoU Loss损失函数

论文链接:https://arxiv.org/pdf/1902.09630.pdf
Giou loss 是在2019CVPR论文 Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression 中提出的。下图说明,当L1和L2分别相同时,实际计算出来的IOU和GIOU是变换很大的。
【目标检测】深度学习目标检测中常用的的回归损失函数_第2张图片

定义GIOU Loss:
【目标检测】深度学习目标检测中常用的的回归损失函数_第3张图片
GIOU不但关注重合区域的度量,还反映了不重合区域的度量。

4. DIOU loss 损失函数

Distance-IoU Loss

论文链接:https://arxiv.org/pdf/1911.08287.pdf
主要是为了解决IoU和GIoU仍然存在的收敛速度慢和回归不准确的问题。
【目标检测】深度学习目标检测中常用的的回归损失函数_第4张图片
【目标检测】深度学习目标检测中常用的的回归损失函数_第5张图片
DIOU loss 的计算公式:
在这里插入图片描述
【目标检测】深度学习目标检测中常用的的回归损失函数_第6张图片
b b b b g t b^{gt} bgt表示预测和真值的中心点, ρ ( . ) \rho(.) ρ(.)表示欧氏距离, c c c表示覆盖两个框的最小外包框的对角线距离。
相比IOU loss和 GIOU loss,Diou loss 继承了很多优点:

  • 对于回归问题仍是尺度不变性;
  • 可以优化不相交框的情况;
  • 当两个框完全重合时,loss趋于0,当两个框离得远时,loss为2;
    增加的优点:
  • DIOU loss 可以直接最小化两个框的距离,收敛的速度更快;
  • 对于两个框包含的情况,DIOU loss 回归速度更快。

5. CIOU loss 损失函数

Complete-IoU Loss

论文链接:https://arxiv.org/pdf/1911.08287.pdf
同样在上一篇文章中,作者还提出了一个CIOU loss 损失函数,在DIOU的基础上又做了改进,将bbox回归三要素中的长宽比考虑进来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其中 α \alpha α是一个trade-off的超参数, v v v用来衡量宽高比的一致性。

你可能感兴趣的:(目标检测,机器学习,深度学习,计算机视觉)