AI学习者 · 2021年11月03日

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

image.png

在本文中,作者将现有的基于IoU Loss推广到一个新的Power IoU系列 Loss,该系列具有一个Power IoU项和一个附加的Power正则项,具有单个Power参数α。称这种新的损失系列为α-IoU Loss。

在多目标检测基准和模型上的实验表明,α-IoU损失:

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

1简介

Bounding box 回归通过预测目标的bbox来定位图像/视频中的目标,这是目标检测、定位和跟踪的基础。例如,最高级的目标检测器通常由一个bbox回归分支和一个分类分支组成,其中bbox回归分支生成用于定位对象进行分类的bbox。在这项工作中,作者探索了更有效的损失函数。
image.png
从经验上表明,α对不同的模型或数据集并不过度敏感,在大多数情况下,α=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

image.png

3.2 α-IoU Losses

image.png
image.png
image.png

3.3 α-IoU损失的性质

image.png

2、相对损失权重

image.png

3、相对梯度权重

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

4实验

4.1 结果与分析

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

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

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

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

4.2 对噪声BBox的鲁棒性

image.png

4.3 的敏感性

image.png

当α=比;=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 可视化结果

image.png

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

文章转载于:集智书童
作者: ChaucerG

推荐阅读

更多嵌入式AI技术相关内容请关注嵌入式AI专栏。
推荐阅读
关注数
18758
内容数
1316
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息