AI学习者 · 2022年01月27日

致敬ATSS | Dynamic ATSS再造ATSS辉煌!!!

image.png

标签分配(Label assignment)在目标检测模型中起着重要的作用。检测模型使用不同的标签分配策略可能会产生完全不同的性能。对于基于Anchor的检测模型,Anchor与其对应的Ground Truth之间的IoU阈值是关键因素,因为正样本和负样本是由IoU阈值所划分的。早期的目标检测器只是对所有训练样本使用一个固定的阈值,而最近的检测算法专注于基于IOU到Ground Truth分布的自适应生成阈值。

本文介绍了一种简单而有效的标签分配(基于训练和测试状态动态分配)的方法。通过在标签分配中引入预测,选择对Ground Truth目标的高IoU的高质量样本作为正样本,可以减少分类分数与IoU分数之间的差异,生成更多高质量的边界框。本文方法通过自适应标签分配算法提高了检测模型的性能,并降低了这些正样本的边界框损失,这也表明更多具有更高质量预测框的样本被选择为正样本。

code地址:https://github.com/ZTX-100/DLA-Combined-IoUs

1 介绍

目标检测是计算机视觉中的一个基本问题,它可以同时分类和定位图像或视频中的所有目标。随着深度学习的快速发展,目标检测取得了巨大的成功,并被应用于许多任务,如目标跟踪、图像分类、图像分割和医学图像分析。

标签分配是将样本分为正样本和负样本,这对目标检测模型的成功至关重要。对于基于Anchor的模型,标签分配的核心是正样本和负样本划分的阈值。在计算Anchor与GT之间的交集(IoU)后,正样本为IoU大于阈值的Anchor,而其他样本为负样本或忽略的Anchor。早期的检测模型利用固定的阈值来区分正负样本。然而,具有固定阈值来划分正负样本的算法忽略了不同GT的形状和大小的差异。

近年来,人们提出了几种自适应标签分配策略来自适应计算阈值。这些算法自适应地选择基于IoU的正样本和负样本分布之间的Anchor和GT,以便GT有更多高质量的Anchor对应将有一个更高的IoU阈值,劣质Anchor对应会有一个较低的IoU阈值。

然而,自适应分配方法并不基于更准确地代表训练状态的预测来分配正负样本。由于分类和定位的差异,分类得分并不能精确对应定位质量,而NMS(非最大抑制)假设分类分数代表定位质量,并进行过滤重复,只保留分类分数高的样本。但是,如果分类分数不能准确地表示定位质量,则可能会删除一些高质量的bbox,保留一些低质量的bbox。而固定Anchor不能保证预测bbox的质量。

因此,引入预测来指导标签分配是一种有效的方法,因为Anchor可以产生高质量的预测作为正样本。在早期训练阶段,预测存在不确定性,所以不能直接用预测的边界框代替Anchor。在一些利用预测来加权正样本的算法中,提出了增加GT中心的距离。而预测(分类分数或IoU分数)和距离是2个不同的“domains”,它们不能自然地组合起来。AutoAssign设计了一个中心加权模块来解决这个问题,但由于假设靠近GT中心的样本会有更多的权重,该模块可能是次优。“All-to-Top-1”基于迭代而不是预测减少了包中Anchor的数量。因此,训练可能不是最优的,因为袋子中Anchor的数量不受预测的控制,也可能不满足训练状态。

于是作者提出了一种简单有效的方法,直接将预测边界框和GT之间的预测IoUs,以及Anchor和GT之间的Anchor IoUs结合起来。然后根据候选Anchor与GT之间的IoU的统计特性,可以得到自适应模型。

而本文的方法分别计算预测的IoU和Anchor IoU的分布,然后通过简单相加得到组合参数。最后,通过组合分布参数计算组合阈值。由于每次迭代中的预测都涉及到标签分配,因此 soft targets(预测边界框和GT之间的预测IoU)比hard target更合适。QFL和VFL是常用的soft targets分类损失。这两者都可以进一步提高所提方法的性能。此外,为了更好的准确性,作者用IoU分支替换Centerness分支。在COCO数据集上的实验表明了本文的方法在没有额外成本下的有效性。

2 相关工作

2.1 目标检测

目标检测可分为两阶段方法和一阶段方法:

两阶段检测模型:首先利用区域金字塔网络(RPN)选择具有高置信度的Anchor,并对这些候选Anchor进行细化。然后将精细化后的Anchor送入第二阶段进行分类并进一步的回归。

单阶段检测模型:直接对Anchor进行分类和回归,而没有对一些候选Anchor进行选择和细化。

与单阶段检测模型相比,两级两阶段检测通常具有更高的精度,但速度较低。随着RetinaNet的出现,通过引入Focal loss来抑制容易样本的丢失,降低了单阶段检测模型和两阶段检测模型的准确性差异,使单阶段方法既能达到高精度,又能达到低延迟。因此,目前的目标检测模型主要采用单阶段检测方法。

随着Anchor-Free模型的发展,一个良好的检测模型不再需要预定义的Anchor。Anchor-Free模型要么从Anchor point(特征点)回归边界框,要么预测GT目标的一些特殊点,如目标的边界框的角或极端点,最后从这些特殊点构建预测的边界框。

最近,一些目标检测模型通过使用Transformer的注意力模块性能得到了一定的提升,Transformer最初是用于自然语言处理领域。DETR首先将Transformer引入到检测模型的Head,它也是Anchor-Free的。尽管如此,由于Transformer中使用的全局注意力和用于目标检测的大分辨率,DETR比CNN需要更长的时间才能收敛。因此,最近的算法试图设计快速训练收敛的DETR来加快训练过程。

2.2 Label Assignment

标签分配是检测模型性能的核心因素,如何划分正样本和负样本将决定网络如何学习和收敛。早期的检测模型,如快速的RCNN、SSD和RetinaNet,利用传统的具有固定阈值的标签分配方法来区分正样本和负样本。尽管那些具有固定阈值的检测模型对标签分配仍然有效,但它们忽略了不同目标样本在其形状、大小和相应的正Anchor数量上的差异。

近年来,研究人员专注于设计自适应阈值,并逐渐放弃了标签分配的固定阈值。ATSS通过根据候选Anchor和GT目标之间的IoU分布,计算均值和标准差来计算自适应阈值。PAA将候选Anchor拟入高斯混合模型中,并对其进行概率分离。

使用预测来指导标签分配可能更准确,因为预先定义的Anchor可能不能准确地反映实际的训练状态。然而,在早期训练阶段的预测是不准确和不合理的指导标签分配。

  • FreeAnchor利用最大似然估计(MLE)对训练过程进行建模,使每个GT可以至少有一个对应的Anchor、分类得分和定位得分。
  • MAL采用来自分类和定位的预测作为评估Anchor的联合置信度。为了缓解次优Anchor选择问题,MAL基于联合置信度对选定锚点的特征进行扰动,提出了“All-to-Top-1” Anchor选择策略。
  • Autoassign引入中心权重来处理早期训练阶段中不合理的预测,这表明靠近GT中心的样本会有更多的权重。

3 本文方法

3.1 致敬ATSS

ATSS策略经常把正负样本通过计算统计参数(如平均值和标准偏差)选定候选Anchors。根据候选Anchor在GT中的位置选择候选Anchor后,根据候选Anchor在相应的GT中的分布情况计算自适应阈值。

ATSS根据GT的形状和大小自适应地计算阈值。如果GT较大或方形,则其对应的高质量Anchor较多,阈值会更高。如果GT细长或小,由于大多数可能是低质量Anchor,所以阈值会比较低。然而,大多数自适应方法只根据Anchor和GT之间的关系来计算自适应阈值。它们仅仅依赖于预定义的锚定框,而在训练过程中忽略了预测的边界框。

换句话说,对GT具有最高IoU的Anchor并不能保证其预测的边界框在所有正样本中也对GT具有最高的IoU。因此,一些具有高质量预测边界框的样本可以被定义为分类目标为0的负样本。因此,这就影响了高质量的边界框的性能。

使用预测信息可以提高定义正的和负的准确性,因为预测可以反映每个样本的真实训练状态。然而,直接使用预测可能并不合适,因为在早期训练阶段的预测对于指导正样本和负样本的定义是不合理的。因此,本文提出了一种简单有效的方法来解决这个问题。

3.2  Dynamic ATSS

本文提出了一种简单有效的动态标签分配策略,将预测引入到标签分配的Anchor中。在早期训练阶段,由于随机初始化,预测是不准确的。因此,Anchor就像之前指示标签定义一样。预测逐渐主导组合的IoU,并随着训练和预测的改进导致标签分配。
image.png

本文方法将使用从回归分支中解码的预测框,并选择ATSS作为标签分配的自适应示例。然后通过计算预测框与GT之间的IoU,以及Anchor与GT之间的IoU,得到预测的IoU和Anchor IoU。最后,通过对预测的IoUs和Anchor的IoUs的求和,计算出组合的IoUs(CIoUs)。ATSS利用均值和标准差来计算阈值,因此实现了相同的计算来获得组合均值和组合std。IoU阈值由组合均值和组合std之和计算,正候选样本定义为组合IoU大于或等于IoU阈值的样本。候选正样本被限制在GT内,作为最终的正样本。

该网络结构如图1所示。使用ATSS作为基础网络,它有一个CNN Backbone,一个FPN Neck,和一个共享的Head,它分别有2个分支分别用于分类和回归。该方法提取回归结果,将回归偏移量解码为边界框的坐标,最后计算出解码的边界框与GTs之间的IoU。将预测的IoU与Anchor IoU结合,选择出正样本,如图1所示。

为什么利用预测来指导标签分配如此重要?

预测比预定义的Anchor更准确,因为选择最终结果和实现NMS算法都是基于预测结果而不是基于Anchor框。经常设计检测模型基于假设样本的预定义Anchor有很高的IoU与GT适合被选为正样本,或样本的中心接近GT的中心的目标也可以被选择为正样本。

对于每个图像,一旦选定了正样本,在训练过程中不会对正样本进行修改,因为预先定义的Anchor是固定的,不会根据训练状态而改变。然而,具有高质量预测的样本可能并不经常是具有高质量Anchor的样本,尽管它们产生高质量预测的概率更高。

如果用高质量的Anchor迫使样本在整个训练过程中都是正样本,网络将专注于学习这些样本,即使他们的预测不够好,忽略了样本可以产生更好的预测结果的样本,因为有相对低质量的Anchor可能被分配为负样本。

而如果在每次迭代中都引入预测,以帮助定义正负样本,可以选择更多具有高质量预测的样本作为正样本,并进一步改进这些样本。添加预测的IoU和Anchor IoU可以产生更好的结果,并产生更高质量的预测。由于网络的随机初始化,Anchor IoU对于本文的方法也是必要的,它们可以作为先验。在本文的方法中,预测和先验都是对GT的IoU,因此它们可以通过添加自然地组合在一起,而不需要任何特殊的设计,如图1所示。

3.3 Soft Targets for Classifification Loss

随着focal loss的出现,大多数目标检测模型都利用focal loss学习类标签。focal loss解决了训练过程中正样本和负样本之间的极端不平衡问题,抑制了大多数简单的负样本,由于这些简单负样本数量极多,可能会主导训练损失。

由于引入了标签分配的预测,使用Soft Targets(预测Iou到GT)更适合将高预测IoU排序在其他低预测IoU之上,这在GFL和VFNet中使用。GFL分别由QFL和DFL组成,分别进行分类和回归。在模型中使用了QFL来进行分类。当Soft Targets不等于1时,QFL的交叉熵损失转换为一般形式。此外,还根据Soft Targets对focal loss权值进行了修正。

当分类预测接近QFL中使用的软目标时,VFNet没有降低损失的权重,而是利用VFL将正损失与赋值的Soft Targets加权。通过改变正IoU目标的权重,具有较高IoU目标的正样本的损失也会更高,从而使网络能够专注于学习那些高质量的正样本。

在实验中,通过实验证明,本文提出的方法优于表一中使用QFL或VFL的相同模型。此外,将本文提出的方法与QFL或VFL相结合,可以进一步提高检测模型的性能。

4 实验

4.1 消融实验

1、验证方法的有效性

image.png
从表1可以看出,ATSS与提出的CIoUs(组合IoUs)在分类损失方面超过了与Soft Targets(QFL和VFL)的相同模型。经过简单的修改,可以在MS COCO val2017 数据集上将原始ATSS算法提高约0.7AP,这表明使用预测可以更好地指导正负样本,Anchor也是指导标签分配的必要条件。通过简单地将它们组合在一起,该模型可以产生更好的精度提高。只是将CIoUs引入ATSS,标记的目标仍然是Hard Targets。在接下来的实验中,将证明Soft Targets(QFL或VFL)可以进一步提高性能。

2、每个元素的贡献

image.png
在表2中,AIoU表示预定义Anchor与GT之间的IoU。如果只选择AIoUs,则执行原始的ATSS。PIoUs表示在预测的边界框和GT之间的IoU。如果AIoU和PIoU同时被选中,提出的组合IoU通过将计算出的AIoU和PIoU相加来实现。可以注意到,只使用PIoUs标签分配模型的性能从39.06AP下降到了29.39AP,而简单地添加PIoUs定义正样本和负样本相对于AIoU可以提升大约0.7AP。

从表2可以看出,本文提出的方法(AIoUs+PIoUs)可以通过软目标(QFL或VFL)进一步改进。原ATSS采用中心作为额外分支对正样本进行权重,使靠近GT中心的样本比远离GT中心的样本有更高的权重。在将中心度转换为IoU(预测IoU而不是中心度)后,性能可以进一步提高。
image.png
从图2中可以看出,2种模型在早期训练阶段的回归损失并没有太大的差异。而随着训练过程的进行,本文的方法比原始模型具有更低的回归损失,这表明本文的模型可以选择具有更高质量边界框的正样本,因为更准确的预测边界框会产生更低的回归损失。此外,大目标的平均精度(APl)大大提高了约2%。

3、平衡AIoU与PIoU

image.png

4.2 SOTA实验

image.png

5 参考
[1].Dynamic Label Assignment for Object Detection by Combining Predicted and Anchor IoUs

原文:集智书童
作者:ChaucerG

推荐阅读

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