zl程序教程

您现在的位置是:首页 >  其它

当前栏目

【目标检测】29、Focal-EIoU:Focal and Efficient IOU Loss for Accurate Bounding Box Regression

for and 检测 目标 29 Box Loss Efficient
2023-09-14 09:04:28 时间

在这里插入图片描述

论文:Focal and Efficient IOU Loss for Accurate Bounding Box Regression

贡献点:

  • 总结了现有回归 loss 的问题:最重要的是没有直接优化需要优化的参数
  • 提出了现有方法收敛速度较慢的问题,很多的低质量样本贡献了大部分的梯度,限制了框的回归
  • 提出了 Focal-EIoU,平衡高质量样本和低质量样本对 loss 的贡献,也就是提升高质量(IoU 大)样本的贡献,抑制低质量(IoU 小)样本的贡献

一、背景

目标检测框的回归问题,主要有两种 loss 函数:

  • l n l_n ln-norm 函数
    在这里插入图片描述

  • IoU-based 函数
    在这里插入图片描述

    • IoU loss 的问题:当两个框不相交时,IoU loss 将无法更新,且无法反应两个框的距离远近,收敛速度很慢
    • GIoU loss 的问题:使用惩罚项会让网络趋于选择更大的和 gt 有相交的 anchor,收敛速度很慢,当两框为包含关系时,退化为 IoU loss,收敛速度也很慢
    • DIoU loss 的问题:考虑了中心点距离,但没考虑 anchor 的纵横比
    • CIoU loss 的问题:虽然考虑的纵横比的问题,但是通过其公式中的 v v v 反映的纵横比的差异,而不是宽高分别与其置信度的真实差异,anchor 的长和宽不能同时增大或减小。

CIoU 的详细对比:

  • 当两个框为等比例缩放的时候, v = 0 v=0 v=0,难以被优化
  • w w w h h h 其中一个增大,另一个必然减小,无法同时增大或减小,抑制了模型的优化。因为 ∂ v ∂ w = − h w . ∂ v ∂ h \frac{\partial v}{\partial w} = - \frac{h}{w}.\frac{\partial v}{\partial h} wv=wh.hv,而偏导又是正值,所以有这样的关系。
  • 只关心两者比例,而非每个边对应的真实差距,容易导致不期望的优化方式。如图 1 所示,当 gt 框的长和宽都为 1 时,初始 anchor w=1,h=2.4。50 次迭代后,w=1.64,h=2.84,所以 CIoU 更期望提升两个框纵横比的相似性,而非真实的长和宽。

在这里插入图片描述

二、方法

2.1 EIoU Loss

EIoU Loss 定义如下:

在这里插入图片描述

  • w c w^c wc h c h^c hc 是最小包围框的宽和长
  • EIoU loss 可以分为 3 部分:IoU loss + 距离 loss + 纵横比 loss
  • EIoU loss 直接最小化 anchor 和 gt 的宽和高的差异,使得收敛速度更快,定位效果更好

在这里插入图片描述

2.2 Focal EIoU Loss

在框回归问题中,高质量的 anchor 总是比低质量的 anchor 少很多,这也对训练过程有害无利。所以,需要研究如何让高质量的 anchor 起到更大的作用。

1、Focal L1 Loss

首先,损失函数的特性要求如下:

  • 当回归的误差趋于 0 时,梯度的模值也会趋于 0
  • 梯度的模值应该在小回归误差处快速上升,在大回归误差处逐步下降
  • 需要有一些超参数来控制低质量 anchor 灵活性的抑制程度
  • 梯度函数需要在 (0, 1] 之间,来平衡高质量和低质量 anchor

在这里插入图片描述

满足 1 和 2 条件的函数如图 5a 所示,当添加了一个超参数 β \beta β 时,如图 5b 所示,随着 β \beta β 的增大,虽然难样本的梯度模值会被很大程度的抑制,但高质量样本的梯度模值会降低,这并非期望的结果。

所以,又添加了一个参数 α \alpha α,来将梯度模值归一化到 [0, 1],所以,梯度模值可以被写为:
在这里插入图片描述

所以,得到能够对边界框进行回归监督的 Focal L1 Loss 如下:

在这里插入图片描述

如图 4b 所示,Focal L1 Loss 可以提高 inliers 的梯度值,并根据 β \beta β 抑制 outliers 的梯度值:

  • β \beta β 越大,则 inliers 会有小的回归误差,并且快速抑制 outliers 的梯度值

如图 4a 所示:

  • 蓝色线是 β \beta β 的最大值,随着回归误差的增大,蓝色线会先很快增大,然后稳定
  • 橘色线是 β \beta β 是在 β \beta β 最小时,会快速增长,然后在 x=1 时达到峰值
  • 经过消融实验,最后选择 β = 0.8 \beta=0.8 β=0.8,即红线所示

在这里插入图片描述

2、Focal-EIoU Loss

为了让 EIoU Loss 更关注高质量样本,可以使用 EIoU loss 来代替上面公式中的 x,但效果不太好。所以作者就通过分析之后,提出了下面的最终形式:

L F o c a l − E I o U = I o U γ L E I o U L_{Focal-EIoU}=IoU^{\gamma} L_{EIoU} LFocalEIoU=IoUγLEIoU

  • γ = 0.5 \gamma=0.5 γ=0.5

这里以 IoU loss 的形式来分析一下 Focal 形式的曲线(EIoU 曲线不太好画),蓝线为 ( 1 − I o U ) (1-IoU) (1IoU) 曲线,橘色线为 I o U 0.5 ( 1 − I o U ) IoU^{0.5}(1-IoU) IoU0.5(1IoU),所以在 IoU 小的时候(0-0.8), I o U 0.5 ( 1 − I o U ) IoU^{0.5}(1-IoU) IoU0.5(1IoU) 会被拉低,在 IoU 大的时候(0.8-1), I o U 0.5 ( 1 − I o U ) IoU^{0.5}(1-IoU) IoU0.5(1IoU) 基本保持不变。

从这个曲线可以看出,Focal-EIoU loss 能够通过降低难样本的 loss 来让网络更关注简单样本。

在这里插入图片描述

三、效果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述