前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >α-IoU | 再助YOLOv5登上巅峰,造就IoU Loss大一统

α-IoU | 再助YOLOv5登上巅峰,造就IoU Loss大一统

作者头像
集智书童公众号
发布2021-11-05 10:20:15
2.6K0
发布2021-11-05 10:20:15
举报
文章被收录于专栏:集智书童

在本文中,作者将现有的基于IoU Loss推广到一个新的Power IoU系列 Loss,该系列具有一个Power IoU项和一个附加的Power正则项,具有单个Power参数α。称这种新的损失系列为α-IoU Loss。 在多目标检测基准和模型上的实验表明,α-IoU损失:

  • 可以显著地超过现有的基于IoU的损失;
  • 通过调节α,使检测器在实现不同水平的bbox回归精度方面具有更大的灵活性;
  • 对小数据集和噪声的鲁棒性更强。

1简介

Bounding box 回归通过预测目标的bbox来定位图像/视频中的目标,这是目标检测、定位和跟踪的基础。例如,最高级的目标检测器通常由一个bbox回归分支和一个分类分支组成,其中bbox回归分支生成用于定位对象进行分类的bbox。在这项工作中,作者探索了更有效的损失函数。

早期的目标检测工作使用

l_{n} -norm

损失进行bbox回归,而近期的工作直接采用定位性能度量,即Intersection over Union (IoU)作为定位损失。与

l_{n} -norm

损失相比,IoU损失对bbox scales是不变的,从而有助于训练更好的检测器。然而,当预测框与Ground truth不重叠时,IoU损失会出现梯度消失问题,导致收敛速度减慢,导致检测器不准确。这激发了几种改进的基于IoU的损失设计,包括Generalized IoU (GIoU)、Distance IoU (DIoU)和Complete IoU (CIoU)。GIoU在IoU损失中引入惩罚项以缓解梯度消失问题,而DIoU和CIoU在惩罚项中考虑了预测框与Ground truth 之间的中心点距离和宽高比。

在本文中,作者通过在现有的IoU Loss中引入power 变换,提出了一个新的IoU损失函数。

首先将Box-Cox变换应用于IoU损失

L_{IoU} = 1-IoU

,并将其推广为power IoU loss:

L_{α-IoU} = (1-IoU_{α})=α,α>0

,记为

α-IoU

。这里进一步简化

α- IoU

L_{α-IoU} = 1-IoU_{α}

,并将其推广到更一般的形式通过加上额外的power正则化项。这使本文所提损失函数能够概括现有的基于IoU的损失,包括GIoU、DIoU和CIoU,到一个新的power IoU损失函数以获得更准确的边界框回归和目标检测。

实验结果表明,相对于

L_{IoU}

,

L_{α-IoU}

(α>1)增加了high IoU目标的损失和梯度,进而提高了bbox回归精度。

0<\alpha <1

时,它降低了High IoU目标的权重,实验可以看出这会影响BBox的回归精度。power参数α可作为调节α-IoU损失的超参数以满足不同水平的bbox回归精度,其中α >1通过更多地关注High IoU目标来获得高的回归精度(即High IoU阈值)。

从经验上表明,α对不同的模型或数据集并不过度敏感,在大多数情况下,α=3表现一贯良好。α-IoU损失家族可以很容易地用于改进检测器的效果,在干净或嘈杂的环境下,不会引入额外的参数,也不增加训练/推理时间。

本文贡献
  • 提出了一种新的power IoU损失函数,称为α-IoU,用于精确的bbox回归和目标检测。α-IoU是基于IoU的现有损失的统一幂化;
  • 分析了α-IoU的一系列性质,包括顺序保留和损失/梯度重加权,表明适当选择α(即α > 1)有助于提高High IoU目标的损失和梯度自适应加权的bbox回归精度;
  • 经验表明,在多个目标检测数据集和模型上,α-IoU损失优于现有的基于IoU的损失,并为小数据集和噪声Box提供更强的鲁棒性。

2相关工作

2.1 目标检测模型

目前主流的检测模型有2种:

  • 基于Anchor的检测模型
  • Anchor-Free检测模型
1、Anchor-Based Model

基于Anchor的检测器可进一步分为:

  • Two-Stage
  • One-Stage模型

Two-Stage基于Anchor的检测器(例如,R-CNN系列,HTC和TSD在目标检测任务中首次提出了区域建议网络),该任务由区域建议网络和分类器组成。rpn生成大量的前景和背景区域建议,然后使用网络对建议中的目标进行分类。

针对实时目标检测,开发了基于Anchor的One-Stage检测器(如YOLO系列、RetinaNet、SSD),可以同时预测BBox和类别,不再需要rpn。在训练基于Anchor的检测器之前,应该定义具有优先尺度和高宽比的Anchor Box。已经提出了一些技术来降低这些模型对人工选择Anchor Box的敏感性,例如基于注意力的融合网络和聚类算法。这些技术从每个滑动窗口或网格单元的训练集中学习之前的Anchor。

2、Anchor-Free Model

最近,诸如CornerNet、CenterNet-1、ExtremeNet和Centrpetal-Net等Anchor-Free检测器也被提出来消除Anchor先验。

这些模型首先预测关键点(角、质心或极端点)的位置,然后如果它们在几何上对齐,就将它们分组到相同的框中。还有其他一些模型可以生成像素级的结果。例如,CenterNet-2估计目标的像素级类别以及它们的大小和偏移量。

FCOS使用多头CNN生成像素级分类、中心度和bbox (top, down, left, right)结果,然后是自适应训练样本选择(Adaptive Training Sample Selection, ATSS),作为对自动选择阳性和阴性样本的改进。

此外,还开发了用于不产生Anchor Point或非最大抑制(NMS)的目标检测的Transformer(如DETR系列),其性能与上述基于CNN的检测器相当。

在这项工作中,作者提出了一种新的Generalized IoU损失来提高这些检测器的性能,而不需要任何结构上的修改,这项研究与上述研究也是正交的。

2.2 BBox回归损失

基于Anchor的检测器会回归Grounb Truth BBox和它们最近的Anchor之间的偏移量,而Anchor-Free的检测器会预测目标的关键点,一些框架还会生成BBox的大小。然后将预测的偏移量或关键点(w/或w/o大小)映射回像素空间以生成Box。

定位损失通常将生成的BBox与其Ground Truth进行比较。早期的研究采用n范数损失进行BBox的回归,研究发现它对变化的BBox尺度很敏感。最近的研究用IoU损失及其变体,如BIoU、GIoU、DIoU和CIoU来取代它们,因为IoU是定位的度量,而且它是尺度的度量。

  • Bounded IoU (BIoU) 损失基于一组IoU上界使感兴趣区域(RoI)与Ground Truth之间的IoU重叠最大化;
  • GIoU是为了解决非重叠样本上的梯度消失问题而提出的,非重叠样本是指具有非重叠预测Box(IoU为零)的样本;
  • DIoU和CIoU损失进一步考虑了IoU中的重叠面积、中心点距离和纵横比以及正则化项。这些正则化项有助于提高收敛速度和最终检测性能;
  • 还有一些损失函数是为了更关注High IoU目标而设计的。例如,Rectified IoU (RIoU)损失和Focal and Efficient IoU(Focal- eiou)损失。这些损失函数增加了那些在高回归精度样本的梯度。然而,与其他基于IoU的损失相比,RIoU和Focal-EIoU既不简洁也不具有泛化性。

在本文中,作者应用一个power变换来推广上述普通IoU损失和基于正则IoU的损失的IoU和正则化项。新的损失家族通过自适应地重新加权高和低IoU目标的损失和梯度,提高了bbox回归精度。

3α-IoU损失

3.1 Preliminaries

本部分主要研究目标检测中的bbox回归问题。设

X\in R^{d_{{x}}}

是输入空间,

Y\in R^{d_{{y}}}

是标注空间,dx和dy分别表示输入维度和标注维度。给定数据集

D=\{(x_{i},Y_{i}) \}^{n}_{i=1}

的n个训练样本,每个

(x_{i},y_{i})\in(X × Y)

,任务是学习一个函数

f:X\rightarrow Y

可以将输入空间映射到标注空间。

在目标检测中,每个

y_{i}= (c_{i,k};B_{i,k})^{m_{i}}_{k=1}

,其中

m_{i}

x_{i}

中目标的总数,

c_{i,k}

表示

x_{i}

中第k个目标对应的类别,

B_{i,k}

为其bbox。

BBox回归性能由预测bbox B和ground truth

B^{gt}

:

IoU=|B\bigcap B^{gt}|/|B\bigcup B^{gt}|

正样本(真阳性和假阳性)是根据IoU阈值从一组预测中确定的,根据该阈值可以计算所有类别对象的平均精度(AP)。例如,AP50度量由IoU高于阈值0.5目标的AP。检测器的最终性能通常通过多个IoU阈值的平均精度(mAP)来评估。

3.2 α-IoU Losses

普通IoU损失定义为

L_{IoU} = 1−IoU

。这里首先应用Box-Cox变换,将IoU损失归纳为α-IoU损失:

通过对α-IoU中的参数α进行调制,可以推导出现有损失中的大多数IoU terms,如log(IoU)、IoU和

IoU^{2}

\alpha \rightarrow 0

时,可以得到

lim_{α\rightarrow 0} L_{α-IoU} =−log(IoU) = L_{log(IoU)}

,

证明如下:

当α = 1时,

L_{1-IoU} = 1−IoU = L_{IoU}

当α = 2时,

L_{2-IoU} = 1/2(1−IoU^{2}) = 1/2L_{IoU}^{2}

这里还可以利用多个α值将上述α-IoU公式推广到具有多个IoU项(如RIoU)的损失函数。

对α > 0和

\alpha \not \rightarrow 0

的上述α-IoU公式进行简化,在这种情况下,方程(1)中的分母α只是目标中的一个正常数。这给了2种情况的α-IoU损失α > 0和

\alpha \not \rightarrow 0

分别为:

在这里,更感兴趣的情况

\alpha \not \rightarrow 0

,因为最先进的基于IoU的损失有一个α≥1。然后,通过在公式中引入power惩罚/正则化项,将

\alpha \not \rightarrow 0

的上述α-IoU损失扩展到更一般的形式:

式中

α_{1} > 0

α_{2} > 0

,

P^{α_{2}}(B,B^{gt})

表示根据B和

B^{gt}

计算的任何penalty term 。

这个简单的扩展可以根据α的值允许对现有的基于IoU的损失进行简单的概括。

作者也通过实例证明了

L_{α-IoU}

\alpha_2

并不敏感。因此,保持了IoU项和惩罚项之间的power一致性,并将

\alpha_{1}=\alpha_2

作为训练检测器的简单选择。

根据上面的α-IoU公式,现在可以使用相同的power参数α来表示IoU和penalty terms归纳出常用的基于IoU的损失包括

L_{IoU}

L_{GIoU}

L_{DIoU}

L_{CIoU}

:

式中,

L_{GIoU}

中的C为B和

B^{gt}

的最小凸形;

L_{DIoU}

中的B和

B^{gt}

表示B和

B^{gt}

的中心点,ρ(·)为欧几里得距离,c为最小BBox的对角线长度;

而在

L_{CIoU}

:

它们提供了在α = 1时回归的bbox回归的power IoU损失。注意,上面的α-IoU泛化可以很容易地扩展到更复杂的具有多个IoU或惩罚项的损失函数。接下来,将分析α取不同值时α- iou损失的性质。

3.3 α-IoU损失的性质

在这里,重点分析vanilla α-IoU 公式

L_{α-IoU} = 1-IoU^{α}

的性质,因为惩罚条件对这些性质的影响是不同的。图1显示了IoU和

L_{α-IoU}

(左)之间的关系及其梯度。其中一个关键的观测结果是,IoU损失(即α=1)与IoU呈线性相关,梯度为常数,而

L_{α-IoU}

根据目标的IoU值自适应加权。

L_{α-IoU}

的幂变换保留了

L_{IoU}

作为性能度量的关键性质,包括非负性、不可分辨恒等式、对称性和三角形不等式。此外,分析了

L_{α-IoU}

的以下重要性质:

1、Order保持性

首先让

B_{i}

B_{j}

分别为2个不同模型

M_{i}

M_{j}

的预测框,

B_{i}

B_{j}

对应相同的Ground truth

B^{gt}

和IoU(

B_{i}, B^{gt}

)<IoU(

B_{j}, B^{gt}

)。然后有了

L_{α-IoU}

的第1个性质:

上述性质表明,

L_{α-IoU}

L_{IoU}

都是单调递减函数。

2、相对损失权重

由于

L_{α-IoU}

严格保持了

L_{IoU}

的Order,因此可以保证α-IoU(

B_{i}, B^{gt}

)与arg

max_{B}
L_{IoU}

(

B_{i}, B^{gt}

);

min_{B}
L_{IoU}

(

B_{i}, B^{gt}

)。换句话说,最优解arg

max_{B}
L_{IoU}

(

B_{i}, B^{gt}

)可以通过最小化

L_{α-IoU}

L_{IoU}

得到。由此可知,

L_{α-IoU}

的自适应相对损失Reweighting 方案可以用第2个性质来表征:

第2个性质表明,当

0<\alpha<1

\alpha >1

时,

L_{α-IoU}

将根据所有目标的IoU自适应地降低和提高所有目标的相对损失。

进一步注意到,当α >1时,加权因子

w_{L_{r}}

随IoU的增加而单调增加(

w_{L_{r}}

从1到α),在

0<\alpha<1

时,

w_{L_{r}}

随IoU的增加而单调减少(

w_{L_{r}}

从1衰减到α)。实证证明了

L_{α-IoU}

与α >1可以帮助模型更专注于High IoU目标,以提高定位和检测的性能4。同理,可以得到

L_{α-IoU}

自适应相对梯度重权的第3个性质:

3、相对梯度权重

当α>1时,上述reweighting factor

w\nabla_{r}

单调地随IoU的增加而增加,而在0<α<1时单调地随IoU的增加而减少。

该相对梯度重加权方案对

IoU=\alpha^{\frac{1}{1-\alpha}}

也具有较好的适应性,0<α<1时IoU从上加权转为下加权,α>1时IoU从下加权转为上加权。这种相对梯度重新加权方案允许模型根据目标的IoU学习具有自适应速度(即不同梯度)的目标。

理论上,当α=2时,

|\nabla_{IoU}L_{\alpha=IoU}>|\nabla_{IoU}L_{IoU}||

IoU\in (0.5, 1]

,它加速了在AP50时对所有正向IoU目标的学习。然而,实证研究表明,在大多数情况下,α =3的α-IoU损失比α=2的α-IoU损失更具竞争力。可能α-IoU损失与α=3进一步up-weight目标的相对损失。

以上损失和梯度重权方案也可以从图1中推导出来,详细的证明在附录a中。综上所述,

L_{α-IoU}

L_{IoU}

训练出更好的检测器,原因如下:

L_{α-IoU}

可以得到与

L_{IoU}

相同的最优IoU(性质1);

  • 当α>1时,
L_{α-IoU}

通过提高其相对损失的权重,更加关注高IoU目标(性质2);

  • 当α>1时,
L_{α-IoU}

有助于检测器更快地学习高IoU目标(性质3);

  • 当α>1时,
L_{α-IoU}

增加了

L_{IoU}

的绝对损失量,这为优化所有层次的目标创造了更多空间(性质4);

L_{α-IoU}

对高IoU目标给出了绝对梯度权值,从而加速对高IoU目标的学习(性质5);

L_{α-IoU}

的绝对性质和相对性质均自适应于目标的IoU值。这种重新加权方案将提供更大的灵活性,以实现不同水平的bbox回归精度(AP在不同的IoU阈值下测量)。

4、Learning Dynamics of
L_{α-IoU}
L_{α-IoU}

的训练是一个动态的过程,应该根据绝对性质和相对性质来解释。

\alpha >1

,先学习简单的例子,学习速度逐渐提高到IoU = 1,然后逐渐学习困难的例子,学习速度随着IoU的提高而加快。

将在图3中经验地显示,对高IoU目标的损失和梯度进行上权可以在后期提高训练。作为比较,还将证明α-IoU损失为0 <α<1倾向于降低最终性能。减少高IoU目标的损失和梯度,最终会产生更多定位较差的目标。

4实验

4.1 结果与分析

首先验证了α-IoU损失在两个数据集上训练基于Anchor和Anchor-Free模型的有效性。

作者选择YOLOv5s(即YOLOv5小)和YOLOv5x(即YOLOv5超大)作为单级基于Anchor的模型,而DETR (ResNet-50)作为Anchor-Free模型。根据公式(4),α-IoU损失(即

L_{α-IoU}

L_{α-DIoU}

)均由现有Baseline推广。

从表1可以看出,在mAP和mAP75:95的多个模型和数据集上,α-IoU损失一致超过现有损失,特别是在高bbox回归精度mAP75:95的情况下。α-IoU损失在高精度水平上的优势更明显,在AP95时相对改善可达60%以上。

有趣的是,α-IoU损失倾向于更有利于轻量化模型(例如,YOLOv5s, 7.3M参数和17 GFLOPs),而不是大模型(例如,YOLOv5x, 87.7M参数和218.8 GFLOPs)。这表明,当在计算资源有限的场景中训练轻模型时,如移动设备、自动驾驶车辆和机器人,α-IoU损失更具优势。

将α-IoU与一组现有的基于IoU的损失进行比较,以训练一个流行的基于Backbone的两阶段模型,Faster R-CNN (ResNet-50-FPN)。在表2中,MS COCO的结果表明,在mAP和mAP75:95方面,与现有基线相比,α-IoU损失具有相当的竞争力。需要注意的是,Autoloss 同时搜索分类损失和定位损失,因此需要花费大量的搜索时间。相比之下,α-IoU损失只需要对定位损失进行简单的修改,就可以赢得Autoloss,而不会造成任何额外的计算开销。

4.2 对噪声BBox的鲁棒性

如表3所示,在这些噪声场景下,α-IoU显著改善了Baseline损失(即

L_{IoU}

L_{DIoU}

)。从AP50到AP95获得了越来越多的相对改善,累积到mAP75:95中更显著的改善。

请注意,α-IoU损失在所有噪声场景下也优于AP50的Baseline,当Box是干净的时并不总是这样(表1)。此外,α-IoU损失在更严重的噪声中明显更稳健。例如,当噪声率η从0.1增加到0.3时,根据mAP/mAP75:95,

L_{α-DIoU}

相对于

L_{DIoU}

的相对改善从2.97%/10.26%增加到6.39%/24.09%。这些结果证实了α-IoU损失在噪声Box场景中的优势。

4.3

\alpha

的敏感性

在这里,通过对

L_{\alpha-IoU}

L_{α-DIoU}

的一组实验来评估α- iou在不同α值(

α\in [0.5, 5]

)下的性能。图6显示了YOLOv5s在PASCAL VOC上的结果,包括干净和各种噪声box场景。很明显,具有

α\in [2,4]

的α- iou损失在所有情况下都表现得很好,其中α = 3在大多数情况下表现最好。

当α=比;=3、α- iou损失在低ap上的表现往往比Baseline(即α = 1的α- iou)更差,尽管在高ap上的性能获得了更多的改善。在噪声率η = 0/0.1/0.2/0.3时,α = 10时的性能比α = 3时平均下降了5.61%/10.92%/23.88%/31.82%。

更具体地说,它变得比mAP或mAP75:95的Baseline更差。这说明α的选择对α-iou损失至关重要。

建议直接使用α = 3

4.4 可视化结果

5参考

[1].Alpha-IoU:A Family of Power Intersection over Union Losses for Bounding Box Regression

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1简介
    • 本文贡献
    • 2相关工作
      • 2.1 目标检测模型
        • 1、Anchor-Based Model
        • 2、Anchor-Free Model
      • 2.2 BBox回归损失
      • 3α-IoU损失
        • 3.1 Preliminaries
          • 3.2 α-IoU Losses
            • 3.3 α-IoU损失的性质
              • 1、Order保持性
              • 2、相对损失权重
              • 3、相对梯度权重
              • 4、Learning Dynamics of
          • 4实验
            • 4.1 结果与分析
              • 4.2 对噪声BBox的鲁棒性
                • 4.3
                  • 4.4 可视化结果
                  • 5参考
                  相关产品与服务
                  图像识别
                  腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档