当前位置: 首页 > article >正文

动态头部:利用注意力机制统一目标检测头部

摘要

将定位和分类结合在目标检测中的复杂性促进了各种方法的蓬勃发展。先前的工作试图改进各种目标检测头(head)的性能,但未能给出一个统一的视角。在本文中,我们提出了一种新颖的动态头框架,通过注意力机制统一目标检测头。通过连贯地在特征层级之间结合多个自注意力机制以实现尺度感知(scale-awareness),在空间位置之间结合以实现空间感知(spatial-awareness),在输出通道内结合以实现任务感知(task-awareness),所提出的方法显著提高了目标检测头的表征能力,而无需任何计算开销。进一步的实验证明了所提出的动态头在COCO基准测试上的有效性和效率。使用标准的ResNeXt-101DCN主干网络,我们极大地提高了主流目标检测器的性能,并以54.0 AP达到了新的最优水平。此外,使用最新的Transformer主干网络和自训练中的额外数据,我们可以将当前最佳的COCO结果推至60.6 AP的新纪录。代码将发布在 https://github.com/microsoft/DynamicHead。

1 引言

目标检测旨在回答计算机视觉应用中的“什么物体位于何处”的问题。在深度学习时代,几乎所有现代目标检测器[11,23,12,35,28,31,33]都遵循相同的范式——一个用于特征提取的主干网络和一个用于定位和分类任务的头。如何提高目标检测头的性能已成为现有目标检测工作中的关键问题。

开发一个优秀的目标检测头所面临的挑战可以总结为三类。首先,检测头应具有尺度感知能力,因为多个尺度差异极大的物体通常共存于一张图像中。其次,检测头应具有空间感知能力,因为物体在不同视角下通常以截然不同的形状、旋转方式和位置出现。第三,检测头需要具有任务感知能力,因为物体可以有各种表示(例如,边界框[12]、中心点[28]和角点[33]),它们具有完全不同的目标和约束。我们发现近期的研究[12,35,28,31,33]只是以各种方式关注于解决上述问题中的一个。如何开发一个能够同时解决所有这些问题的统一检测头仍然是一个悬而未决的问题。

在本文中,我们提出了一种新的检测头,称为动态头,以统一尺度感知、空间感知和任务感知。如果我们将主干网络的输出(即检测头的输入)视为一个具有维度级别 × \times ×空间 × \times ×通道的3维张量,我们发现这样的统一检测头可以看作是一个注意力学习问题。一个直观的解决方案是在此张量上构建一个完整的自注意力机制。然而,优化问题将太难解决,且计算成本高昂。

相反,我们可以在特征的每个特定维度上分别部署注意力机制,即层级、空间维度和通道维度。尺度感知注意力模块仅部署在层级维度上。它学习各种语义层级的相对重要性,以便根据物体的尺度增强单个物体在适当层级的特征。空间感知注意力模块部署在空间维度(即高度 × \times ×宽度)上。它连贯地学习空间位置中具有辨别力的表征。任务感知注意力模块部署在通道上。它根据来自物体的不同卷积核响应,指导不同的特征通道分别有利于不同的任务(例如,分类、框回归和中心点/关键点学习)。

通过这种方式,我们为目标检测头显式地实现了一个统一的注意力机制。尽管这些注意力机制是分别应用于特征张量的不同维度上,但它们的性能可以相互补充。在MS-COCO基准测试上的大量实验证明了我们的方法的有效性。它为实现更好的表征提供了巨大潜力,这种表征可用于改进各类目标检测模型,并获得1.2%\sim3.2%的AP增益。使用标准的ResNeXt-101-DCN主干网络,所提出的方法在COCO上达到了新的最优水平54.0% AP。此外,与EffcientDet[27]和SpineNet[8]相比,动态头使用的训练时间减少了 1 20 \frac{1}{20} 201,但性能更好。此外,使用最新的Transformer主干网络和自训练中的额外数据,我们可以将当前最佳的COCO结果推至60.6 AP的新纪录(详见附录)。

2 相关工作

近期的研究从不同角度着手改进目标检测器:尺度感知、空间感知和任务感知。

尺度感知。许多研究都强调了尺度感知在目标检测中的重要性,因为尺度差异极大的物体通常共存于自然图像中。早期工作已经证明了利用图像金字塔方法[6,24,25]进行多尺度训练的重要性。为了提高效率,提出了特征金字塔[15],通过连接下采样卷积特征的金字塔来实现,并已成为现代目标检测器中的标准组件。然而,不同层级的特征通常是从网络的不同深度提取的,这会导致明显的语义差距。为了解决这种差异,[18]提出通过特征金字塔的自底向上路径增强来增强较低层的特征。后来,[20]通过引入平衡采样和平衡特征金字塔对其进行了改进。最近,[31]提出了一种金字塔卷积,基于改进的3D卷积同时提取尺度和空间特征。

在本文中,我们在检测头中提出了一个尺度感知注意力机制,使不同特征层级的重要性能够自适应于输入。

空间感知。先前的工作试图提高目标检测中的空间感知能力,以更好地进行语义学习。已知卷积神经网络在学习图像中存在的空间变换方面存在局限性[41]。一些工作通过增加模型能力(大小)[13,32]或采用昂贵的数据增强[14]来缓解这个问题,但这会导致推理和训练中的计算成本极高。后来,提出了新的卷积算子来改进空间变换的学习。[34]提出使用空洞卷积来从指数级扩展的感受野中聚合上下文信息。[7]提出了一种可变形卷积,通过附加的自学习偏移量对空间位置进行采样。[37]通过引入学习的特征幅度来重新制定偏移量,并进一步提高了其能力。

在本文中,我们在检测头中提出了一个空间感知注意力机制,它不仅对每个空间位置应用注意力,还自适应地将多个特征层级聚合在一起,以学习更具判别力的表示。

任务感知。目标检测起源于两阶段范式[39, 6],即首先生成目标候选框,然后将候选框分类为不同的类别和背景。[23]通过引入区域候选网络(RPN)将两个阶段整合到单个卷积网络中,从而正式化了现代两阶段框架。后来,由于高效性,一阶段目标检测器[22]变得流行起来。[16]通过引入特定任务的分支进一步改进了架构,在保持之前一阶段检测器速度的同时,超越了两阶段检测器的准确性。

最近,更多的工作发现,物体的各种表示形式可能会提高性能。[12]首先证明了结合物体的边界框和分割掩码可以进一步提高性能。[28]提出使用中心表示,以逐像素预测的方式解决目标检测问题。[35]通过根据物体的统计特性自动选择正负样本,进一步提高了基于中心的方法的性能。后来,[33]将目标检测表述为代表性关键点,以简化学习。[9]通过将每个物体检测为三元组(而非一对关键点)来进一步提高性能,以减少错误预测。最近,[21]提出从每个边界的极值点提取边界特征,以增强点特征,并取得了最先进的性能。

在本文中,我们在检测头中提出了一个任务感知注意力机制,它允许在通道上部署注意力,可以自适应地支持各种任务,无论是单阶段/两阶段检测器,还是基于框/中心/关键点的检测器。

更重要的是,上述所有属性都被整合到我们头部设计中的统一注意力机制中。据我们所知,这是第一个通用的检测头框架,它朝着理解注意力在目标检测头成功中所起作用的方向迈出了一步。

在这里插入图片描述

3 我们的方法

3.1 动机

为了在统一的目标检测头中同时实现尺度感知、空间感知和任务感知,我们需要对目标检测头的先前改进进行一般性的了解。

给定一个来自特征金字塔中 L L L个不同层级的特征拼接 F i n = { F i } i = 1 L \mathcal{F}_{i n}=\left\{F_{i}\right\}_{i=1}^{L} Fin={Fi}i=1L,我们可以使用上采样或下采样将连续层级的特征调整为中层级特征尺度。重新缩放后的特征金字塔可以表示为4维张量 F ∈ R L × H × W × C \mathcal{F} \in \mathcal{R}^{L \times H \times W \times C} FRL×H×W×C,其中 L L L表示金字塔中的层级数, H , W H, W H,W C C C分别表示中层级特征的高度、宽度和通道数。我们进一步定义 S = H × W S=H \times W S=H×W,以将此张量重塑为3维张量 F ∈ R L × S × C \mathcal{F} \in \mathcal{R}^{L \times S \times C} FRL×S×C。基于这种表示,我们将探索每个张量维度的作用:

  • 目标尺度的差异与不同层级的特征有关。改善 F \mathcal{F} F不同层级之间的表征学习可以有益于目标检测的尺度感知。
  • 来自不同目标形状的多种几何变换与不同空间位置的特征有关。改善 F \mathcal{F} F不同空间位置之间的表征学习可以有益于目标检测的空间感知。
  • 分歧的目标表征和任务可能与不同通道的特征有关。改善 F \mathcal{F} F不同通道之间的表征学习可以有益于目标检测的任务感知。
    在本文中,我们发现上述所有方向都可以在一个有效的注意力学习问题中统一起来。我们的工作是首次尝试在所有三个维度上结合多个注意力来制定一个统一的目标检测头,以最大限度地提高其改进。

3.2 动态头:与注意力统一

给定特征张量 F ∈ R L × S × C \mathcal{F} \in \mathcal{R}^{L \times S \times C} FRL×S×C,应用自注意力的通用公式为:

W ( F ) = π ( F ) ⋅ F W(\mathcal{F})=\pi(\mathcal{F}) \cdot \mathcal{F} W(F)=π(F)F

其中, π ( ⋅ ) \pi(\cdot) π()是一个注意力函数。该注意力函数的一个简单解决方案是通过全连接层实现的。但是,由于张量的高维度,直接在所有维度上学习注意力函数在计算上是昂贵的,并且实际上是不可行的。

相反,我们将注意力函数转换为三个顺序注意力,每个注意力仅关注一个视角:

W ( F ) = π C ( π S ( π L ( F ) ⋅ F ) ⋅ F ) ⋅ F W(\mathcal{F})=\pi_{C}\left(\pi_{S}\left(\pi_{L}(\mathcal{F}) \cdot \mathcal{F}\right) \cdot \mathcal{F}\right) \cdot \mathcal{F} W(F)=πC(πS(πL(F)F)F)F

其中, π L ( ⋅ ) \pi_{L}(\cdot) πL() π S ( ⋅ ) \pi_{S}(\cdot) πS() π C ( ⋅ ) \pi_{C}(\cdot) πC()分别是应用于维度 L L L S S S C C C的三个不同的注意力函数。

尺度感知注意力 π L \pi_{L} πL。我们首先引入一个尺度感知注意力,以根据其语义重要性动态融合不同尺度的特征。

π L ( F ) ⋅ F = σ ( f ( 1 S C ∑ S , C F ) ) ⋅ F \pi_{L}(\mathcal{F}) \cdot \mathcal{F}=\sigma\left(f\left(\frac{1}{S C} \sum_{S, C} \mathcal{F}\right)\right) \cdot \mathcal{F} πL(F)F=σ(f(SC1S,CF))F

其中, f ( ⋅ ) f(\cdot) f()是一个由 1 × 1 1 \times 1 1×1卷积层近似的线性函数, σ ( x ) = max ⁡ ( 0 , min ⁡ ( 1 , x + 1 2 ) ) \sigma(x)=\max \left(0, \min \left(1, \frac{x+1}{2}\right)\right) σ(x)=max(0,min(1,2x+1))是一个硬Sigmoid函数。

空间感知注意力 π S \pi_{S} πS。我们基于融合后的特征应用另一个空间感知注意力模块,以一致地关注在空间位置和特征层级中共同存在的判别区域。考虑到 S S S的高维度,我们将此模块分解为两个步骤:首先,通过使用可变形卷积[7]使注意力学习变得稀疏,然后在同一空间位置跨层级聚合特征:

π S ( F ) ⋅ F = 1 L ∑ l = 1 L ∑ k = 1 K w l , k ⋅ F ( l ; p k + Δ p k ; c ) ⋅ Δ m k \pi_{S}(\mathcal{F}) \cdot \mathcal{F}=\frac{1}{L} \sum_{l=1}^{L} \sum_{k=1}^{K} w_{l, k} \cdot \mathcal{F}\left(l ; p_{k}+\Delta p_{k} ; c\right) \cdot \Delta m_{k} πS(F)F=L1l=1Lk=1Kwl,kF(l;pk+Δpk;c)Δmk

其中, K K K是稀疏采样位置的数量, p k + Δ p k p_{k}+ \Delta p_{k} pk+Δpk是通过自学习的空间偏移量 Δ p k \Delta p_{k} Δpk移动的位置,以关注判别区域, Δ m k \Delta m_{k} Δmk是在位置 p k p_{k} pk处的自学习重要性标量。两者都是从 F \mathcal{F} F中层级特征输入学习的。

任务感知注意力 π C \pi_{C} πC。为了实现联合学习并泛化对象的不同表示,我们在末尾部署了一个任务感知注意力。它动态地开启和关闭特征通道,以支持不同的任务:

π C ( F ) ⋅ F = max ⁡ ( α 1 ( F ) ⋅ F c + β 1 ( F ) , α 2 ( F ) ⋅ F c + β 2 ( F ) ) \pi_{C}(\mathcal{F}) \cdot \mathcal{F}=\max \left(\alpha^{1}(\mathcal{F}) \cdot \mathcal{F}_{c}+\beta^{1}(\mathcal{F}), \alpha^{2}(\mathcal{F}) \cdot \mathcal{F}_{c}+\beta^{2}(\mathcal{F})\right) πC(F)F=max(α1(F)Fc+β1(F),α2(F)Fc+β2(F))

其中, F c \mathcal{F}_{c} Fc 是第 c c c 个通道的特征切片,且 [ α 1 , α 2 , β 1 , β 2 ] T = θ ( ⋅ ) \left[\alpha^{1}, \alpha^{2}, \beta^{1}, \beta^{2}\right]^{T}=\theta(\cdot) [α1,α2,β1,β2]T=θ() 是一个超函数,用于学习控制激活阈值。 θ ( ⋅ ) \theta(\cdot) θ() 的实现类似于[3],它首先对 L × S L \times S L×S 维进行全局平均池化以降低维度,然后使用两个全连接层和一个归一化层,最后应用一个平移后的sigmoid函数将输出归一化到 [ − 1 , 1 ] [-1,1] [1,1]

最后,由于上述三种注意力机制是顺序应用的,我们可以多次嵌套公式2,以有效地将多个 π L \pi_{L} πL π S \pi_{S} πS π C \pi_{C} πC 块堆叠在一起。我们的动态头(即简化后的DyHead)块的详细配置如图2(a)所示。
在这里插入图片描述

综上所述,我们提出的带有动态头的目标检测整体范式如图1所示。可以使用任何类型的骨干网络来提取特征金字塔,该金字塔将进一步调整大小到相同的尺度,形成一个三维张量 F ∈ R L × S × C \mathcal{F} \in \mathcal{R}^{L \times S \times C} FRL×S×C,然后将其作为动态头的输入。接下来,多个DyHead块(包括尺度感知、空间感知和任务感知注意力)将顺序堆叠。动态头的输出可用于目标检测的不同任务和表示,如分类、中心点/边界框回归等。

在图1的底部,我们展示了每种注意力的输出。可以看出,由于与ImageNet预训练的领域差异,来自骨干网络的初始特征图是有噪声的。在通过我们的尺度感知注意力模块后,特征图对前景对象的尺度差异变得更加敏感;在进一步通过我们的空间感知注意力模块后,特征图变得更加稀疏,并专注于前景对象的判别性空间位置。最后,在通过我们的任务感知注意力模块后,特征图会根据不同下游任务的要求重新形成不同的激活。这些可视化结果很好地证明了每个注意力模块的有效性。

3.3 推广到现有检测器

在本节中,我们展示了如何将提出的动态头集成到现有检测器中,以有效提高其性能。

一阶段检测器。一阶段检测器通过从特征图密集采样位置来预测对象位置,从而简化了检测器设计。典型的一阶段检测器(例如RetinaNet [16])由一个骨干网络组成,用于提取密集特征,以及多个特定任务的子网分支,用于分别处理不同的任务。如先前工作[3]所示,对象分类子网与边界框回归子网的行为差异很大。与此传统方法相反,我们仅将一个统一分支而不是多个分支附加到骨干网络上。由于我们多个注意力机制的优势,它可以同时处理多个任务。通过这种方式,可以进一步简化架构并提高效率。最近,一阶段检测器的无锚点变体变得流行起来,例如,FCOS [28]、ATSS [35]和RepPoint [33]将对象重新定义为中心和关键点以提高性能。与RetinaNet相比,这些方法需要在分类分支或回归分支上附加一个中心度预测或一个关键点预测,这使得特定任务分支的构建变得不那么简单。相比之下,部署我们的动态头更加灵活,因为它只需在头部末尾附加各种类型的预测,如图2(b)所示。

两阶段检测器。两阶段检测器利用区域提议和ROI池化[23]层从骨干网络的特征金字塔中提取中间表示。为了配合这一特性,我们首先在ROI池化层之前对特征金字塔应用我们的尺度感知注意力和空间感知注意力,然后使用我们的任务感知注意力替换原始的全连接层,如图2(c)所示。

3.4 与其他注意力机制的关系

可变形机制。可变形卷积[7,37]通过引入稀疏采样显著改进了传统卷积层的变换学习。它已被广泛用于目标检测骨干网络中,以增强特征表示。尽管它很少在目标检测头中使用,但我们可以将其视为仅对我们的表示中的 S S S 子维度进行建模。我们发现,骨干网络中使用的可变形模块可以与提出的动态头互为补充。事实上,在使用ResNext-101-64x4d骨干网络的可变形变体时,我们的动态头取得了最新的目标检测结果。

非局部机制。非局部网络[30]是利用注意力模块提高目标检测性能的先驱工作。然而,它使用简单的点积公式,通过融合来自不同空间位置的其他像素的特征来增强像素特征。这种行为可以视为仅对我们的表示中的 L × S L \times S L×S 子维度进行建模。

Transformer。最近,出现了将Transformer模块[29]从自然语言处理引入计算机视觉任务的趋势。初步工作[2,38,5]在改善目标检测方面取得了有前景的结果。Transformer通过应用多头全连接层,提供了一个学习跨注意力对应关系和融合不同模态特征的简单解决方案。这种行为可以视为仅对我们的表示中的 S × C S \times C S×C 子维度进行建模。

上述三种注意力机制仅部分地对特征张量中的子维度进行建模。作为一个统一的设计,我们的动态头将不同维度上的注意力结合到一个连贯且高效的实现中。以下实验表明,这种专门的设计可以帮助现有的目标检测器取得显著增益。此外,与现有解决方案中的隐式工作原理相比,我们的注意力机制明确解决了目标检测的挑战。

4 实验

我们按照常用的设置在MS-COCO数据集[17]上评估了我们的方法。MS-COCO包含从网络上收集的约16万张图片的80个类别。该数据集被分为train2017、val2017和test 2017子集,分别包含11.8万张、5千张和4.1万张图片。我们使用标准平均精度( A P AP AP)指标来报告不同交并比( I o U IoU IoU)阈值和目标尺度下的结果。在所有实验中,我们只使用train2017图像进行训练,不使用任何额外数据。对于消融实验,我们在val2017子集上评估性能。在与最先进方法进行比较时,我们报告了在test-dev子集上测试服务器返回的官方结果。

4.1 实现细节

我们基于流行的Mask R-CNN基准[12]实现,将我们的动态头块作为插件实现。除非特别说明,我们的动态头是使用ATSS框架[35]进行训练的。所有模型都使用每个具有32GB内存的8个V100 GPU的计算节点进行训练。

训练。在所有消融研究中,我们使用ResNet-50作为模型主干,并使用标准 1 × 1\times 1×配置进行训练。其他模型则使用[12]中介绍的标准 2 × 2\times 2×训练配置进行训练。我们使用初始学习率0.02,权重衰减为 1 e − 4 1e-4 1e4,动量为0.9。在训练周期的67%和89%时,学习率降低0.1倍。使用标准增强方法,即随机水平翻转。为了与以前使用多尺度输入训练的方法进行比较,我们还对部分模型进行了多尺度训练。

推理。为了与报告中使用测试时间增强的最先进方法进行比较,我们还使用多尺度测试评估了我们的最佳模型。其他技巧,如模型EMA、马赛克、混合、标签平滑、软NMS或自适应多尺度测试[25],均未使用。

4.2 消融实验

我们进行了一系列消融实验来验证动态头的有效性和效率。
在这里插入图片描述

注意力模块的有效性。我们首先通过逐步将不同组件添加到基线中来控制研究我们动态头块中不同组件的有效性。如表1所示,“L.”、“S.”和“C.”分别代表我们的尺度感知注意力模块、空间感知注意力模块和任务感知模块。我们可以观察到,单独将每个组件添加到基线实现中,分别可以提高0.9 A P AP AP、2.4 A P AP AP和1.3 A P AP AP。由于空间感知注意力模块在三个模块中占主导地位,因此其增益最大。当我们将“L.”和“S.”都添加到基线中时,性能继续提高了2.9 A P AP AP。最后,我们的完整动态头块显著提高了基线3.6 A P AP AP。该实验表明,不同组件作为一个协调的模块协同工作。
在这里插入图片描述

注意力学习的有效性。然后,我们证明了动态头模块中注意力学习的有效性。图3显示了我们的尺度感知注意力模块中不同特征级别上学习的尺度比率(通过将较高分辨率的学习权重除以较低分辨率的学习权重来计算)的趋势。直方图是使用COCO val2017子集中的所有图像计算的。可以清楚地看到,我们的尺度感知注意力模块倾向于将较高分辨率的特征图(“图中第5级”紫色直方图)调节为较低分辨率,并将较低分辨率的特征图(“图中第1级”蓝色直方图)调节为较高分辨率,以平滑不同特征级别之间的尺度差异。这证明了尺度感知注意力学习的有效性。
在这里插入图片描述

图4可视化了在应用不同数量(即2、4、6)的注意力模块块之前和之后的特征图输出。在应用我们的注意力模块之前,从主干中提取的特征图非常嘈杂,无法聚焦于前景对象。随着特征图通过更多的注意力模块(如图中所示,从第2块到第6块),可以明显看到特征图覆盖了更多的前景对象,并更准确地聚焦于其有区别的空间位置。这种可视化很好地证明了空间感知注意力学习的有效性。
在这里插入图片描述

头部深度的效率。我们通过控制深度(块数)来评估动态头的效率。如表2所示,我们改变了使用的DyHead块的数量(例如,1、2、4、8、10个块),并将其性能与基线以及计算成本(GFLOPs)进行了比较。我们的动态头可以通过堆叠更多块直到8个块来从深度增加中受益。值得注意的是,即使计算成本更低,我们的2个块的方法也已经超越了基线。同时,即使使用6个块,与主干的计算成本相比,计算成本的增加也可以忽略不计,而准确性却大大提高。这证明了我们的方法的效率。
在这里插入图片描述

对现有目标检测器的泛化能力。我们通过将动态头插入流行的目标检测器(如FasterRCNN[23]、RetinaNet[16]、ATSS[35]、FCOS[28]和RepPoints[33])中来评估其泛化能力。这些方法代表了广泛的目标检测框架(例如,两阶段与一阶段、基于锚点与无锚点、基于框与基于点)。如表3所示,我们的动态头显著提升了所有流行的目标检测器,提高了1.2~ 3.2 A P 3.2 AP 3.2AP。这证明了我们的方法的通用性。

4.3 与最先进技术的比较

我们将动态头部的性能与几种标准主干网络和最先进的目标检测器进行了比较。
在这里插入图片描述

与不同主干网络的配合。我们首先展示了动态头部与不同主干网络的兼容性。如表4所示,我们通过将动态头部与ResNet-50、ResNet-101和ResNeXt-101主干网络集成,评估了目标检测器的性能,并与具有类似配置的最新方法进行了比较,包括Mask R-CNN[12]、Cascade-RCNN[1]、FCOS[28]、ATSS[35]和BorderDet[21]。我们的方法始终大幅优于以前的方法。在与具有相同设置的最佳检测器BorderDet[21]进行比较时,我们的方法在ResNet-101主干网络上比其高出1.1 AP,在ResNeXt-64x4d-101主干网络上高出1.2 AP,在COCO基准测试中,由于挑战较大,这一改进尤为显著。

与最先进的检测器的比较。我们将我们的方法与最先进的检测器[35,31, 21, 4, 2, 27, 8]进行了比较,其中包括一些并发工作[38, 5]。如表5所示,我们将这些现有工作分为两类:一类使用多尺度训练,另一类同时使用多尺度训练和多尺度测试。
在这里插入图片描述

与仅使用多尺度训练的方法相比,我们的方法在仅使用 2 × 2\times 2×训练计划的情况下达到了52.3 AP的新水平。与EffcientDet[27]和SpineNet[8]相比,我们的方法更具竞争力且学习效率更高,训练时间显著减少了 1 20 \frac{1}{20} 201。与最新工作[2,38,5]相比,这些工作利用Transformer模块作为注意力机制,而我们的动态头部优于这些方法,AP增益超过2.0,同时训练时间也更少。这表明我们的动态头部能够一致地将来自不同视角的多种注意力模态整合到一个统一的头部中,从而提高了效率和有效性。

我们进一步将我们的方法与使用测试时间增强(TTA)以及多尺度训练和多尺度测试的最先进结果[35,21,4,38,5]进行了比较。我们的动态头部帮助实现了54.0 AP的新水平,显著优于同时期的最佳方法,AP高出1.3。

5 结论

在本文中,我们提出了一种新颖的目标检测头部,它在一个框架中统一了尺度感知、空间感知和任务感知的注意力。它为具有注意力的目标检测头部提供了新的视角。作为插件模块,动态头部可以灵活地集成到任何现有的目标检测器框架中以提高其性能。此外,它学习效率高。我们的研究表明,在目标检测头部中设计和学习注意力是一个有趣的方向,值得更深入地研究。这项工作只是迈出了一步,可以在以下方面进行进一步改进:如何使全注意力模型易于学习和高效计算,以及如何在设计头部时系统地考虑更多种类的注意力以提高性能。

附录

我们在提交后继续提高性能。最近,将Transformer作为视觉主干网络并展示出良好性能的趋势越来越热。当使用最新的Transformer主干网络[19]、额外数据和更大的输入尺寸训练我们的动态头部时,我们可以进一步提高在COCO基准测试上的当前最优水平(State-Of-The-Art, SOTA)。
在这里插入图片描述

与Transformer主干网络的配合。我们将动态头部与最新的基于Transformer的主干网络进行了配合,如[19]。如表6所示,我们的动态头部与需要额外掩码真实值来帮助提升性能的[1]相比具有竞争力。同时,与我们框架中使用的基线方法[35]相比,我们的方法进一步提高了其性能,AP提升了2.5。这充分证明,我们的动态头部是对基于Transformer的主干网络的补充,可以进一步提高其在下游目标检测任务中的性能。

与更大的输入和额外数据的配合。我们发现,我们的动态头部可以进一步从更大的输入尺寸和使用自训练方法[40]生成的额外数据中受益。我们将最大图像边长从1333增加到2000,并使用最小图像边长从480到1200变化的多尺度训练。与第4.1节中描述的训练方案类似,我们避免使用更多技巧以确保可重复性。如表7所示,与最新工作[10,36]相比,我们的动态头部带来了显著的增益,并且在不使用额外掩码真实值的情况下,性能与[19]相当。同时,我们的动态头部所需的训练时间不到这些工作的 1 3 \frac{1}{3} 31。这证明了我们的高效性和有效性。此外,我们遵循[40]在ImageNet数据集上生成伪标签,并将其作为额外数据。我们的动态头部可以从大规模数据中大幅受益,并将COCO的最优水平结果进一步提升至新的记录高度,即60.6 AP。


http://www.kler.cn/a/448199.html

相关文章:

  • CSS系列(30)-- 逻辑属性详解
  • 精通 Numpy 数组:详解数据类型查看、转换与索引要点
  • 3D视觉[一]3D计算机视觉
  • P1305 新二叉树
  • python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
  • 【WRF教程第3.1期】预处理系统 WPS 详解:以4.5版本为例
  • 前端笔试面试题目——数据结构和算法篇(一)
  • 云手机能用来干什么?云手机在跨境电商领域的用途
  • SSM 架构上的 Vue 电脑测评系统:彰显科技评测魅力
  • XMLHttpRequest接受chunked编码传输的HTTP Response时有问题
  • 力扣第110题:平衡二叉树
  • MVVM、MVC、MVP 的区别
  • 前端篇-Content-Type 详解
  • 5G -- 空口关键技术
  • windows C#-实例构造函数
  • Linux基础(1)
  • JS里面Map的使用以及与Object的对比
  • 设计模式-读书笔记
  • 大数据——数据预处理
  • 【Spring】获取Bean对象需要哪些注解
  • 网络安全 | 防火墙的工作原理及配置指南
  • UE5材质系统之PBR材质
  • 天天 AI-241217:今日热点-谷歌版Sora升级4K高清!一句话控制镜头运动,跑分叫板可灵海螺
  • 【Qt笔记】QDockWidget控件详解
  • springboot446数字化农家乐管理平台的设计与实现(论文+源码)_kaic
  • 【泛微表单】流程相关信息修改