转载:Anchor-Base与KeyPoint-Base相结合,清华+国科大提出,全新涨点思路

原文链接:Anchor-Base与KeyPoint-Base相结合,清华+国科大提出,全新涨点思路(附论文及源码)

论文链接:https://arxiv.org/abs/2310.05666

代码链接:https://github.com/YilongLv/AID

导读

在计算机视觉中,目标检测是一个关键任务,需要在图像中识别和定位物体。本文提出了Anchor-Intermediate Detector(AID),一种新颖的目标检测架构,结合了Anchor-Base和Anchor-Free的优点。利用角点感知Head提高定位精度,同时使用Anchor-Base的Head缓解角点配对问题。其在多种网络结构上表现出色,并在MS COCO数据集上取得了先进结果。

摘要:Anchor检测器一直在不断发展,用于目标检测。然而,单独的Anchor box使得难以准确预测边界的偏移。与将每个边界框视为封闭的个体不同,作者考虑一起使用多个框来获取预测框。为此,本文在推理中提出了Box Decouple-Couple(BDC)策略,不再丢弃重叠的框,而是解耦这些框的角点。然后,根据每个角点的分数,作者将角点配对以选择最准确的角点对。

为满足BDC策略,设计了一种简单但新颖的模型,称为Anchor-Intermediate Detector(AID),它包含两个Head网络,即Anchor-Base的Head和基于角点的Head。基于角点的Head能够评分每个边界框的角点,以促进角点之间的配对。

在MS COCO上进行的大量实验显示,所提出的Anchor-Intermediate Detector在MS COCO testdev数据集上分别比它们的 Baseline RetinaNet和GFL方法提高了约2.4和约1.2的平均精度(AP),而没有任何花哨的东西。

1、简介

目标检测是计算机视觉中的一个基本而具有挑战性的任务,其目标是在图像中对物体进行分类和定位。最近,由于Transformer在机器翻译中取得了良好的结果,开始将其成功扩展到计算机视觉领域,成功应用于图像分类和目标检测等任务。然而,目前大多数主流检测器仍然基于卷积神经网络。

常见的Anchor-Base的检测器,如Faster RCNN、Cascade RCNN、YOLO和RetinaNet,需要预定义的密集Anchor box来覆盖整个图像。虽然Anchor box被广泛使用,但在定位目标边界时仍存在精确性不足的问题,因为Anchor box对边界的感知较弱,如图1b所示。

图片

相比之下,一些Anchor-Base-Free的方法避免了对边界的弱感知困难。特别是基于关键点的Anchor-Free检测器,如CornerNet、CenterNet和CenterNet++。CornerNet开创性地提出了角点预测机制,而不是预测目标的中心和边界偏移。具体来说,该模型将每个真值解耦为左上和右下角点。在本文中,作者为这一步骤创造了一个新术语,称之为“Box Decouple”。然后,在推理中,CornerNet配对所有左上和右下角点,如图1c所示,从而形成一些边界框。类似地,作者将这一步骤称为“Box Couple”。因此,CornerNet不考虑中心到边界的感知性能,同时提高了定位精度。

与此同时,该网络引入了另一个问题,即“ Box couple”非常具有挑战性。假设特征图的大小为R^{w*h}。那么,随机角对的数量是\left (w*h \right )^{2}。过多的可能对往往会导致许多误报结果,因此平均精度下降。CenterNet和CenterNet++也存在类似的缺点。因此,如何显著减少配对的角点数是作者需要解决的另一个挑战。

基于上述分析,发现基于关键点的Anchor-Free检测器可以规避Anchor-Base的检测器的缺点,但它们也有相应的困难。因此,作者思考是否可以在Anchor-Base和Anchor-Free算法之间达到权衡。

具体来说,作者可以利用Anchor-Free检测器来改进Anchor-Base检测器的缺点,如图1d所示。此外,在Anchor-Free检测器中,可以通过Anchor-Base的检测器缓解“盒对”的困境。

为此,本文提出了一种新颖的架构,名为Anchor-Intermediate Detector(AID),它基于主流检测方法,包括Anchor-Base和Anchor-Free的Head。首先,Anchor-Base的检测Head维护传统的训练Pipeline。然后,作者引入了一个基于角点的Anchor-Free Head,用于评分边界框的角点,从而增强了边界框的感知。

在训练过程中,角点感知Head生成两个角点感知Heatmap,用于预测目标的左上角点和右下角点的分布。与CornerNet类似,但作者不必预测偏移和分类分数。AID创新地将两种代表性的检测Head框架集成在一起,同时两个Head相互并行训练。

在推理中,作者提出了一种新的后处理策略,称为“ Box Decouple-Couple”(BDC)策略。作者使用该策略来重新配对每个预测框及其重叠框的角点,以获得更准确的定位结果,如图2所示。

图片

此外,作者考虑到分类分数可能与定位精度不一致,导致预测结果没有最准确的定位。巧合的是,角点分数可以基于角点感知Heatmap用作定位分数。因此,作者提出了“角分类”(CoCl)分数,包括分类分数和角点置信度,用于在BDC策略中进行排名。

作者的工作的主要贡献可以总结如下:

  1. 通过分析当前Anchor-Base和Anchor-Free模型的缺点,作者提出了新颖的AID,可以在这两种检测框架之间实现权衡,从而提高模型的检测精度。

  2. 分别重新设计了训练和推理Pipeline。在训练中,Anchor-Base的检测Head和角点感知Head共享Backbone网络和特征金字塔网络。两者同时进行训练。在推理过程中,作者首先提出了新的角点分类分数用于后处理。然后,作者提出的BDC策略重新评估了每个预测框及其重叠框的值,从中提炼出更好的定位质量。

  3. AID将角点感知Head用作Anchor-FreeHead,基于一些主要方法,包括RetinaNet、GFL等,使用一些Backbone网络,包括ResNet-50、ResNet-101、ResNeXt-101等。此外,作者的方法在MS COCO数据集上实现了最先进的结果。

2. 提出的方法

图片

在这一部分,作者详细描述了AID,包括角点感知Head和标准的Anchor-Base的Head,如图3所示。作者使用的Anchor-Base的检测Head是RetinaNet,但不仅限于此。首先介绍模型结构和训练流程。然后,在推理中,将详细介绍BDC策略的规则。

2.1. Anchor中间检测器

图3显示了作者提出的AID,包括角点感知Head和标准的Anchor-Base的Head。遵循多任务学习的风格,角点感知Headf_{cor} 接受来自FPN的特征F_{n},然后学习角点感知Heatmap M。F_{n}是FPN中的第n(1<=n<=N)级特征。较低的层次,n越小。

请注意,作者首先调整特征大小,使多尺度特征变为单一尺度,因为更高分辨率的特征有助于区分角点。然后,它们按通道连接在一起,如公式1所示。因此,作者可以使用锚中间模型的体系结构获得单一尺度的融合特征,如图3所示。

图片

为了更好地识别角点,作者分别预测两个极端角点,其中使用角点池化。检测Head最终预测角点特征Heatmap M=\left ( M_{tl},M_{br} \right ),包括左上角和右下角Heatmap M_{tl}M_{br}\in R^{w*h}。每组Heatmap具有C个通道,表示目标的类别。

图片

角点感知Head的结构遵循CornerNet,如图4所示。根据每个方向,融合特征F上进行1×1卷积和激活。然后,分别执行方向池化以获取方向感知特征图,该过程如公式2所示。

左上角和右下角特征进行逐元素求和。然后,作者在特征上进行卷积操作。将特征F添加到角点特征中以防止梯度消失。在输出Heatmap之前,作者将对特征图的每个元素执行sigmoid \sigma激活,以便特征图的所有位置都在0和1之间,\sigma表示置信度。上述如下:

图片

对于训练损失,假设是左上角和右下角感知Heatmap中的角点分数。让Y_{cor}是使用未归一化的高斯函数扩展的标记角Heatmap。角点感知Heatmap的损失函数如下:

图片

接下来,总损失如公式5所示。

图片

2.2. 用于后处理的CoCl分数

在推理中,根据分类分数S_{cls}抑制重叠的框。但是,分类可能不与定位一致,这会导致在分类分数低的情况下抑制具有较高定位精度的边界框。

作者考虑角点分数作为后处理的另一个重要依据,它能够集成定位信息。角点的分数来自左上角和右下角感知Heatmap。因此,新的评估分数称为CoCl分数,如下所示:

图片

其中F表示 M_{tl}M_{br}之间的积分,详情请参见第4.3.3节。结果的大小与S_{cls}\in R^{ijwh*c}相同。

2.3. Box Decouple-Couple策略

Box Decouple

在NMS中,抑制并丢弃了重叠的框。如果具有最高分类分数的预测框无法定位最准确,那么其重叠框很可能定位准确,因为它们与该预测框具有较大的IoU。

传统的NMS将每个边界框视为独立的个体,但它无法很好地预测目标的位置,特别是在具有模糊边界的情况下。因此,作者将所有边界框B解耦为\left \{ S_{tl},S_{br} \right \}。详情见公式7,其中n表示所有预测的边界框,S_{tl}表示左上角点集,S_{br}表示右下角点集。

对于预测的边界框,假设P框对应于重叠框。作者将预测框P和其重叠框解耦为左上角点集\left \{ S^{tl}_{p},S^{tl}_{o1},\cdots S^{tl}_{oi} \right \} \in S_{tl}和右下角点集\left \{ S^{brl}_{p},S^{br}_{o1},\cdots S^{br}_{oi} \right \} \in S_{br}。然后,作者将这些角点映射到角点感知Heatmap M上,该过程如下:

图片

因此,作者使用Box Decouple将Anchor-Base的推理转变为Anchor-Base-Free的推理,如图3的Box Decouple所示。这里,这些解耦的角点与CornerNet中的角点非常相似。接下来,作者使用Anchor-Free的思想来处理这些角点。值得强调的是,作者的方法大大减少了方法中的角点对数,从而提高了平均精度。

Box Couple

由于Heatmap M已被下采样,角点感知Heatmap中的每个元素并不是一一对应于原始图像,而是映射到图像的一个区域。此外,在训练中,角点感知Heatmap与高斯模型拟合,因此距中心相同距离的像素的置信度相同。因此,Heatmap中存在一些具有相同置信度的位置。为此,作者选择多个解耦的角点,并使用它们来获得新的预测框。此过程如公式9所示。

图片

最后,获得的新角点组合成一个更新的边界框Bupdate。详细内容如公式10所示。

图片

通过这种方法,输出的框不仅包含分类和定位信息,还提高了定位的准确性。BDC策略的详细过程如算法1所示。

图片

3. 实验

3.1. 消融研究

本节将对所提出的方法进行详细的消融实验。除了探讨不同 Baseline 和Backbone网络对实验结果的影响外,其余实验都是基于ResNet-101的RetinaNet方法进行的,并在训练12个Epoch后在COCOval2017数据集上进行最终验证。

角点感知Head

在本节中,作者讨论了在模型的不同位置添加角点感知Head后的结果,实验结果如表1所示。从表中可以看出,作者的方法在分类分支上提高了0.9%的AP,而在回归分支上提高了0.6%的AP。

图片

作者进行了分析。角点感知Head属于Anchor-Base的Head。相反,分类和回归分支属于Anchor-Base的Head,它们似乎更常见,因此它们被独立训练。因此,作者还将角点感知Head网络与两个分支分开,并将其连接到FPN的后面。这样,Corner-awareHead和Cls-Reg分支将呈现并行结构。这种结构的性能提高了1.3%的AP。

实验结果表明,通过使角点感知Head与分类和回归分支分离,可以通过使它们独立来提高模型的性能。

超参数

图片

此外,作者讨论了公式5中的超参数对实验结果的影响,如表2所示。当超参数等于0时,表示没有角点感知Head的 Baseline 方法,检测性能为38.5AP。当超参数等于0.3时,AID的检测性能达到最高40.1AP。

同时,随着的增加,AP会下降,这表明如果使用大权重训练角点感知Head,将对传统的检测训练损失的训练产生不利影响,从而导致检测性能下降。

CoCl分数

在推理过程中,根据分类分数计算检测置信度。接下来,作者讨论了几种经典形式的对检测精度的影响,实验结果如表4所示。首先,通过将分类分数和角点分数相乘获得的检测结果为39.6,其中角点分数取左上角和右下角感知Heatmap的最大输出。

此外,计算两个角点感知Heatmap的最小输出作为角点分数是一种检测精度为39.6 AP的方案。最后,通过计算两个Heatmap的平均输出,检测性能为39.8 AP。

图片

此外,作者还进行了分类分数和角点分数的加权平均,使用平衡参数来调整它们之间的比例,如公式11所示。当等于1时,检测置信度降级为分类分数。类似地,当等于0时,检测置信度降级为角点分数。

在推理中,作者研究了不同的参数。实验结果如表4所示。从实验结果可以看出,本文的方法在等于39.9时可以达到0.3。

Box Decouple-Couple策略

图片

在推理中,对于预测框和重叠框,作者接下来调查了不同框耦合策略对实验结果的影响,如表5所示。简单策略是选择最高的检测得分,其检测准确度为39.7AP,比 Baseline 方法高1.2AP。作者继续研究,通过对所有左上角和右下角的角点进行平均。其检测结果为36.0AP,低于 Baseline 方法的性能。作者分析,因为一些检测分数较低的角点不适合于预测物体。

因此,作者考虑将检测分数的均值和偏差之和作为阈值。检测分数大于的角点位置进行平均,此策略下的检测性能为40.0AP,比 Baseline 方法高1.5AP。此外,作者对前n个(n=10)最高分数的角点进行平均,结果为39.8AP,比 Baseline 方法高1.3AP。

更强的组件

图片

作者进行了一些实验,使用了BDC策略的组件,不同的FPN和标签分配策略,以进一步提高AID的检测性能,如表3所示。当使用PAFPN作为FPN时,作者的方法实现了40.1AP,比 Baseline 方法提高了1.6AP。此外,作者只使用ATSSAssigner而不是传统的MaxIoU策略。作者的方法相对于 Baseline 方法提高了40.6AP。当PAFPN和ATSSAssigner同时使用时,所提出的方法实现了40.8AP。

3.2 与现有方法的比较

在COCO test-dev2017上与最先进的密集检测器进行比较的实验中,作者训练了1x和2x(即12和24个Epoch)模型。为了证明所提出的方法的有效性,作者进行了一系列基于两种 Baseline 和各种先进Backbone网络的实验。结果如表6所示,从中可以看出作者的模型表现出色。

如表6所示,基于RetinaNet模型,使用ResNet-101和ResNeXt-101-64×4d,作者的方法实现了40.1∼41.7AP,始终优于当前 Baseline 。同时,基于GFL模型,使用ResNet-101和ResNeXt-101-64×4d,作者的方法实现了45.7∼49.4AP,优于 Baseline GFL方法约0.3∼1.2AP。

4. 结论

作者专注于改进Anchor-Base的检测器的性能。提出了新颖的AID,包含3个创新点:

  • 首先,提出了角点感知Head,用于量化每个角点的定位。

  • 然后,提出了BDC策略。充分利用重叠的框以解耦角点,然后重新配对角点。

  • 此外,提出了CoCl分数,其中包含分类分数和角点分数,可综合评估预测框的质量。

实验结果证明了这些改进的有效性。作者的方法的性能超过了许多最先进的模型。然而,在作者的工作中还有改进的空间:角点感知Head增加了模型的训练负担,作者将考虑使用知识蒸馏来实现轻量级模型。此外,BDC策略具有许多手动预定义的超参数,将来将设计自适应超参数。

5. 参考

[1]. Anchor-Intermediate Detector: Decoupling and Coupling Bounding Boxes for Accurate Object Detection.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值