【目标检测】31、Alpha-IoU: A Family of Power Intersection over Union Losses for Bounding Box Regression

在这里插入图片描述

论文:Alpha-IoU: A Family of Power Intersection over Union Losses for Bounding Box Regression

代码:https://github.com/Jacobi93/Alpha-IoU

出处:NeurIPS 2021

贡献:

  • 提出了 IoU loss 的大一统模式: α \alpha α-IoU,是现有 IoU-based loss 的扩展形式
  • 作者用实验证明了 α \alpha α-IoU 的效果,并且发现,对 α \alpha α 的良好选择(如 α \alpha α > 1),可以通过提升 high IoU object 的 loss 值和梯度,从而提升框的回归效果(实验验证 α = 3 \alpha=3 α=3 在大多数情况下都有较好的效果)
  • α \alpha α-IoU 在多种数据集上都展现了比现有 IoU-based loss 更好的效果,尤其是对小数据集和 noisy bbox 更加鲁棒

一、背景

在 bbox 的回归问题中,loss 函数大致可以分为两种,其一是 l n l_n ln-norm loss,其二是 IoU loss。IoU loss 由于其对 bbox 尺度不敏感等优势,获得了更好的效果。IoU-based loss 从 IoU 到 GIoU,再到 DIoU 和 CIoU,在逐步改进,但形式过多,太过繁杂,每种形式都有其各自的优缺点。

也有一些 loss 通过提高 high IoU object 对 loss 的贡献,如 Rectified IoU (RIoU) 和 Focal-EIoU。这两个方法主要是提高 high IoU object 的梯度,但这两者都不够简洁,并且没有进行全面的实验对比。

在本文中,作者提出了一个对 IoU loss 的统一形式,通过 power transformation 来生成 IoU 和其对应惩罚项的统一形式,来动态调整不同 IoU 目标的 loss 和 gradient。

二、方法

2.1 Alpha-IoU 的提出

Box-Cox 变换:方差稳定变换,可以改变变量的分布,使得方差不再依赖于均值

当原始数据非正态分布,或者原始数据左偏、右偏时,需要对原始数据做一定的变换,经常会使用 Box-Cox 变换。

在这里插入图片描述

在这里插入图片描述

α \alpha α-IoU 的形式是怎样的:

首先,在 IoU loss L I o U = 1 − I o U L_{IoU} = 1-IoU LIoU=1IoU 上使用 Box-Cox 变换,得到 α \alpha α-IoU:
L α − I o U = ( 1 − I o U α ) α , α > 0 L_{\alpha-IoU}=\frac{(1-IoU^{\alpha})}{\alpha}, \alpha>0 LαIoU=α(1IoUα),α>0

α \alpha α 的分析如下,可以得到很多形式:

  • α → 0 \alpha \to 0 α0 l i m α → 0 L α − I o U = − l o g ( I o U ) = L l o g ( I o U ) lim_{\alpha \to 0}L_{\alpha-IoU}=-log(IoU)=L_{log(IoU)} limα0LαIoU=log(IoU)=Llog(IoU)
  • α = 1 \alpha=1 α=1 时, L 1 − I o U = 1 − I o U = L I o U L_{1-IoU}=1-IoU=L_{IoU} L1IoU=1IoU=LIoU
  • α = 2 \alpha=2 α=2 时, L 2 − I o U = 1 2 ( 1 − I o U 2 ) = 1 2 L I o U 2 L_{2-IoU}=\frac{1}{2}(1-IoU^2)=\frac{1}{2}L_{IoU^2} L2IoU=21(1IoU2)=21LIoU2

α \alpha α-IoU 简化得到:

在这里插入图片描述
由于很多 IoU-based 方法都是 α ↛ 0 \alpha \nrightarrow 0 α0 的,所以更多研究 α ↛ 0 \alpha \nrightarrow 0 α0 的情况,并且引入了一个惩罚项:

在这里插入图片描述

  • α 1 > 0 , α 2 > 0 \alpha_1>0, \alpha_2>0 α1>0,α2>0 P P P 是惩罚项
  • 作者后面证明了 α 2 \alpha_2 α2 对结果影响不大,所以就让 α 1 = α 2 \alpha_1= \alpha_2 α1=α2

有了上面的形式后,作者对不同的 IoU-based 方法做了如下形式的统一,其实这些 IoU-based loss 都可以看做是 α = 1 \alpha=1 α=1 时的特例:

在这里插入图片描述

2.2 Alpha-IoU 的特性

作者使用 L α − I o U = 1 − I o U α L_{\alpha-IoU}=1-IoU^{\alpha} LαIoU=1IoUα 来分析特性。

在这里插入图片描述

图 1 左侧展示了 IoU 和 L I o U L_{IoU} LIoU 的关系,图 1 右侧展示了 IoU 和梯度模值的关系。

  • IoU Loss( α = 1 \alpha=1 α=1)和 IoU 呈线性关系,梯度是恒值
  • L α − I o U L_{\alpha-IoU} LαIoU 会动态 reweight 不同 IoU 的目标的 loss, α > 1 \alpha>1 α>1 时,是凸型曲线,会增大 loss, 0 < α < 1 0<\alpha<1 0<α<1 时,是凹型曲线,会降低 loss
  • 从 loss 的斜率来看,high iou 处,斜率更大,更有利于参数更新。

属性 1:Order 保持性

结论: L I o U L_{IoU} LIoU L α − I o U L_{\alpha-IoU} LαIoU 都是随 IoU 而单调递减的

假设 B i B_i Bi B j B_j Bj 对应了一个相同的真值框 B g t B^{gt} Bgt,且 I o U ( B i , B g t ) < I o U ( B j , B g t ) IoU(B_i, B^{gt})<IoU(B_j,B^{gt}) IoU(Bi,Bgt)<IoU(Bj,Bgt),则有:

在这里插入图片描述

属性 2:相对损失权重

在这里插入图片描述

α \alpha α 能根据目标的 IoU 来自适应的调整该目标的loss:

  • α > 1 \alpha>1 α>1 时,加权因子 w w w 随 IoU 的增加而单调增加,可以帮助模型更专注于 High IoU 目标,以提高定位和检测的性能
  • 0 < α < 1 0<\alpha<1 0<α<1 时,加权因子 w w w 随 IoU 的增加而单调减小

属性 3:相对梯度权重

在这里插入图片描述

  • α > 1 \alpha>1 α>1 时,加权因子 w w w 随着 IoU 的增大而提高
  • 0 < α < 1 0<\alpha<1 0<α<1 时,加权因子 w w w 随着 IoU 的降低而降低

综上所述, α > 1 \alpha>1 α>1,能够让网络更加关注 high IoU 的样本,且能够在训练后期提升训练效果

L α − I o U L_{\alpha-IoU} LαIoU 是如何动态调整的:

  • 动态策略是基于绝对和相对特性的
  • α > 1 \alpha>1 α>1 时,会先学习简单样本,提升到 I o U = 1 IoU=1 IoU=1,后面学习难样本,如图 3 所示,up-weighting 高 IoU 样本的 loss 和 gradient 会在训练后期提升效果
  • 0 < α < 1 0<\alpha<1 0<α<1 时,会降低高 IoU 样本的 loss 和 gradient,使得定位效果变差。

在这里插入图片描述

三、效果

α = 3 \alpha=3 α=3

在这里插入图片描述

作者还做了框回归准确性的分析:

可视化了在 PASCAL 上使用不同 IoU loss 得到的框和真实框的 IoU 分布,经过了阈值为 0.5 的 NMS。

结论:

  • α − I o U \alpha-IoU αIoU loss 比 IoU loss 得到的检测框更准确,在 I o U > = 0.5 IoU>=0.5 IoU>=0.5 时, α − I o U \alpha-IoU αIoU loss 比 I o U IoU IoU loss 多检测了约 1% 的正样本,在 I o U > = 0.9 IoU>=0.9 IoU>=0.9 时, α − I o U \alpha-IoU αIoU loss 比 I o U IoU IoU loss 多检测了约 11% 的正样本,这说明 α − I o U \alpha-IoU αIoU loss 能够同时提升框的 precision 和 recall。
  • α − I o U \alpha-IoU αIoU loss 能够通过 up-weighting loss 来推进 low IoU 目标成为 high IoU 目标
  • α − I o U \alpha-IoU αIoU loss 会在训练后期提高网络效果(如 200 epoch 之后),同时也不会对前期训练产生不好的影响。属性 3 能够帮助前期训练中降低 low IoU 目标的梯度,让训练更平滑(降低难样本带来的高方差),稳定前期训练时的大梯度现象。

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

在这里插入图片描述

如何验证对小数据集和噪声数据的效果:

通过一系列实验发现, α \alpha α-IoU 对噪声数据更鲁棒的原因在于其对 low IoU object 的关注更少一些,会抑制噪声目标的效果。

作者在 PASCAL VOC 和 MS COCO 上生成了一些正态分布的噪声框, η \eta η 为噪声率,测试了 η = 0.1 , 0.2 , 0.3 \eta=0.1, 0.2, 0.3 η=0.1,0.2,0.3 的效果。

L α − I o U L_{\alpha-IoU} LαIoU m A P / m A P 75 : 95 mAP/mAP_{75:95} mAP/mAP75:95 L I o U L_{IoU} LIoU 的 2.97%/10.26% 提升到了 6.39%/24.09%。

在这里插入图片描述

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆呆的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值