论文地址:https://arxiv.org/pdf/2404.03507.pdf
此DQ-DETR与IDEA提出的同名,该文主要集中于小目标的检测
尽管之前的类似DETR的方法在通用目标检测中取得了成功,但在小目标检测方面仍然具有挑战性,因为目标 Query 的位置信息并未针对检测小物体进行定制,这些小物体的尺寸比一般物体小得多。此外,类似DETR的方法使用固定数量的 Query ,这使得它们不适用于只包含小物体的航空数据集,且不同图像之间的实例数量不平衡。因此,作者提出了一个简单而有效的模型,名为DQ-DETR,它包括三个不同的组件:分类计数模块、计数引导的特征增强和动态 Query 选择,以解决上述问题。DQ-DETR使用分类计数模块的预测和密度图来动态调整目标 Query 的数量并改善 Query 的位置信息。DQ-DETR超过了之前的基于CNN和类似DETR的方法,在主要由小物体组成的AI-TOD-V2数据集上取得了最先进的mAP 30.2%。
1、Introduction
卷积神经网络(CNNs)在处理RGB语义和空间纹理特征方面具有优势。大多数目标检测方法主要基于CNNs。例如,Faster R-CNN 引入了一个区域 Proposal 网络来生成潜在的目标区域。FCOS 应用一个中心预测分支来提高边界框的质量。
然而,CNNs不适合获取图像中的长距离依赖,这限制了检测性能。最近,DETR将CNN和 Transformer 架构结合在一起,建立了一个新的目标检测框架。DETR利用 Transformer 编码器整合分割图像块,并通过可学习的目标 Query 将它们传递到 Transformer 解码器以获得最终检测结果。此外,一系列类似DETR的方法旨在提高DETR性能并加速DETR的收敛速度。例如,Deformable-DETR使用多尺度特征图来提高检测不同大小目标的能力。同时,使用可变形注意力模块不仅可以捕获更多信息和上下文相关的特征,还可以加速训练收敛。
尽管如此,在先前的类似DETR的方法中, Transformer 解码器中使用的目标 Query 没有考虑图像中实例的数量和位置。通常,它们应用固定数量的K个目标 Query ,其中K表示检测目标的最大数量,例如,在DETR和DINO-DETR中分别为K=100和K=900。此外,目标 Query 的位置是一组学习的嵌入,与当前图像无关,没有明确的物理意义来说明 Query 关注的位置。DETR和Deformable DETR使用固定数量的稀疏查询,召回率低。为了解决这个问题,DDQ选择密集的不同查询,K=900,具有基于手工设计的IoU阈值的类不可知NMS。尽管DDQ应用密集查询进行检测,但查询的数量仍然有限。
作者认为,在只包含微小目标且不同图像之间目标实例不平衡的航空图像中,先前的类似DETR方法是不合适的。例如,在AI-TOD-V2数据集中,有些图像包含超过1500个目标,而其他图像则少于10个目标。作者观察到,使用较小的K限制了密集图像中目标的召回率,导致许多实例未被检测到(FN),稀疏图像中使用较大的K不仅引入了许多潜在的假阳性样本(FP),还由于解码器自注意力模块的计算复杂度与 Query 数K成二次增长,从而造成了计算资源的浪费。
基于上述弱点,作者提出了一种名为DQ-DETR的新型类似DETR方法。在这项工作中,作者提出了一种动态 Query 选择模块,用于在DETR的解码器阶段自适应地选择不同数量的目标 Query ,从而在稀疏图像中减少FP,在密集图像中减少FN。此外,作者通过类别计数模块生成密度图并估计图像中的实例数量。目标 Query 的数量根据预测的计数数进行调整。此外,作者将密度图与来自 Transformer 编码器的视觉特征进行聚合,以强化前景特征,增强小目标的空间信息。增强的视觉特征将进一步用于改进对象查询的位置信息。因此,可以通过动态调整解码器中使用的对象查询的数量和位置,同时处理具有少量和拥挤的小目标的图像。
本文贡献总结如下:
1.指出了以前类似DETR的方法的关键局限性,这些方法不适合航空图像数据集。
2.实验结果表明,在AI-TOD-V2数据集上,我们提出的DQ-DETR在AP、APvt方面分别显著优于现有方法16.6%、20.5%。
3.设计了一个简单而准确的分类计数模块来有效地引导object queries的数量。此外,还使用密度图增强了transformer的视觉特征,以改进object queries的位置信息。
2、Related work
2.1 DETR-like Methods.
提出了一种基于 Transformer (transformer)的端到端目标检测框架,名为DETR(DEtection TRANSFMomer),其中 Transformer 编码器从图像中提取实例级特征, Transformer 解码器使用一组可学习的 Query (queries)来检测和汇聚图像中的特征。尽管DETR与之前的经典基于CNN的检测器取得了相当的结果,但它严重受到训练收敛慢的问题困扰,需要500个周期的训练才能表现良好。许多后续工作试图从不同的角度解决DETR训练收敛慢的问题。
一些观点指出,DETR收敛慢的原因是由于 Transformer 解码器中的不稳定匈牙利匹配和交叉注意力机制。[18]提出了一种仅编码器的DETR,摒弃了 Transformer 解码器。Dynamic DETR在解码器中设计了一种基于ROI的动态注意力机制,能够从粗到精地关注感兴趣的区域。Deformable-DETR[28]提出了一种仅关注参考点周围几个采样点的注意力模块。DN-DETR[7]引入了去噪训练以降低二分图匹配的难度。
另一系列工作在解码器目标 Query 上进行了改进。由于DETR中的目标 Query 仅是一组可学习的嵌入(embedding),[10, 12, 22]将DETR的缓慢收敛归因于目标 Query 的隐含物理解释。Conditional DETR解耦了解码器的交叉注意力公式,并基于参考坐标生成条件 Query 。DAB-DETR将目标 Query 的位置信息公式化为4-D Anchor 框(x, y, w, h),用于提供ROI(感兴趣区域)信息以检测和汇聚特征。
2.2 Tiny Object Detection.
由于小目标缺乏像素,检测小目标具有挑战性。早期的工作应用数据增强以过采样小目标实例。例如,将小目标 Copy-Paste 到同一图像中。[29]提出了K个子策略,自动转换实例级的特征。此外,几种方法,如[20, 23, 24, 25]指出,传统的交并比(IoU)指标不适合小目标。当目标大小差异显著时,IoU变得高度敏感。为了设计适合小目标的指标,DotD[23]考虑目标的绝对和相对大小以制定新的损失函数。[20, 23, 25]设计了一种基于高斯分布的新标签分配,减轻了目标大小的敏感性。
然而,这些方法高度依赖于预定义的阈值,对于不同的数据集来说不稳定。相反,DQ-DETR使用一种计数引导的特征增强模块来改善小目标的大小和位置的空间信息。同时,尽管上述类似DETR的方法改进了 Query 的公式,但它们并非专门为检测小目标而设计。例如,[2, 7, 10, 12]中的目标 Query 是从训练数据中学习的,对于不同的输入图像保持不变。作者认为,对于航拍数据集来说,目标 Query 的静态位置是不合适的,在这些数据集中,不同图像中的实例分布变化极大,即有些图像在特定区域内密集地集中了目标,而有些图像仅在整个图像中散布了几个目标。作者提出的DQ-DETR是第一个关注小目标检测的类似DETR模型。DQ-DETR动态调整目标 Query 的数量并增强 Query 的位置信息,以精确检测小目标。
3、Method
3.1 Overview
DQ-DETR的整体结构如图1所示。作为一种类似DETR的方法,DQ-DETR是一个端到端的检测器,包含一个CNN Backbone 网络、一个可变形 Transformer 编码器、一个可变形 Transformer 解码器以及几个预测头。作者进一步在DETR的架构上实现了一个新的分类计数模块、一个计数引导的特征增强模块以及基于动态 Query 选择。给定一个输入图像,作者首先使用CNN Backbone 网络提取多尺度特征,并将它们输入到 Transformer 编码器以获得编码器的视觉特征。之后,作者的分类计数模块确定在 Transformer 解码器中使用多少个目标 Query ,如图1(a)所示。此外,作者提出了一个新颖的计数引导特征增强模块,如图1(b)所示,用小目标的空间信息加强编码器的视觉特征。最后,通过动态 Query 选择,如图1(c)所示,目标 Query 的位置信息将被细化。下一节将描述所提出的分类计数模块、计数引导特征增强和动态 Query 选择。
3.2 Reconstruction of Encoder's Feature Map
遵循DETR的流程,作者使用从 Backbone 网络不同阶段提取的多尺度特征图作为 Transformer 编码器的输入。为了形成 Transformer 编码器的输入序列,作者将每个多尺度特征图层从展平到,然后将它们拼接在一起。高分辨率特征包含更多的空间细节,这对于目标计数和检测小物体是有益的。
在作者提出的分类计数模块中,作者将对 Transformer 编码器特征执行卷积操作。因此,作者通过 Reshape 其空间维度来重建展平的编码器的多尺度视觉特征,得到2-D特征图。为了简洁起见,作者将重建的编码器的多尺度视觉特征称为EMSV特征。
3.3 Categorical Counting Module
分类计数模块旨在估计图像中目标的数量。它包括一个密度提取器和分类 Head 。
3.3.1 Density Extractor
作者采用EMSV特征中最大的特征图,并通过密度提取器生成密度图。输入特征图首先送入一个1*1卷积层进行通道缩减()。然后,它被送入一系列膨胀卷积层以获得包含计数相关信息的密度图。特别是,膨胀卷积层扩大了感受野,捕捉了小目标丰富的长距离依赖。
3.3.2 Counting Number Classification
最后,作者通过一个分类 Head 估计计数数字,即每张图像的实例数量,并将它们分为四个 Level ,分别是,,,以及。分类Head由两个线性层组成。此外,数字10,100和500是根据数据集的特征选择的,即每幅图像实例数量的平均值和标准偏差。值得注意的是,作者没有使用传统人群计数方法中的回归 Head ,后者将计数数字回归到一个具体的数值。作者将原因归因于每张图像中实例数量的巨大差异,在AI-TOD-V2的不同图像中,的范围从1到2267。很难回归一个准确的数字,这会损害检测性能。
3.4 Counting-Guided Feature Enhancement Module (CGFE)
作者通过提出的计数引导特征增强模块(CGFE)用来自分类计数模块的密度图细化EMSV特征,以提高小目标的空间信息。此外,这些细化特征将进一步用于增强 Query 的位置信息。该模块包括一个2-D空间注意力模块和一个1-D通道注意力模块。
Spatial cross-attention map.作者采用1*1卷积层对密度图进行下采样,创建多尺度计数特征图,以匹配编码器每层的多尺度特征图的形状。随后,作者首先在每个多尺度计数特征的通道轴上应用平均池化(AvgP。)和最大池化(MaxP.)。然后,这两个池化特征被连接并送入一个7x7卷积层,之后是一个Sigmoid函数,以产生空间注意力图。作者在方程1中描述这个过程。
由于密度图包含有关目标的位置和密度信息,因此它们生成的空间注意力图可以聚焦于重要区域,即前景目标,并用丰富的空间信息增强EMSV特征。
生成的空间注意力图与EMSV特征逐元素相乘,进一步获得空间增强特征,如方程2所示。
Channel attention map.在空间注意力之后,作者进一步对空间增强特征应用通道注意力,利用特征间的通道关系。具体来说,作者首先在的每个层面沿空间维度应用平均池化和最大池化。接下来,这两个池化特征被送入共享的MLP,并通过逐元素加法合并以创建通道注意力图。最后,通道注意力图与原始相乘,进一步得到计数引导增强特征图。公式定义在方程3和方程4中:
3.5 Dynamic Query Selection
Number of queries.在动态 Query 选择中,作者首先使用类别计数模块的分类结果来确定 Transformer 解码器中使用的 Query 数量。类别计数模块中的四个分类类别对应于四个不同的 Query 数量,分别是 = 300、500、900和1500,即如果图像被分类为,作者在后续检测任务中将使用=300个 Query ,依此类推。
Enhancement of queries.对于 Query 公式,作者遵循DAB-DETR中的想法,其中 Query 由内容和位置信息组成。 Query 的内容是一个高维向量,而 Query 的位置被表述为一个4-D Anchor 框(x, y, w, h)以加速训练收敛。
进一步地,作者使用之前CGFE模块增强的多尺度特征图来改善 Query 的内容和位置。首先将的每一层展平到像素 Level 并将它们连接起来,形成。将选择top-K特征作为增强解码器 Query 的先验,其中是 Transformer 解码器阶段中使用的 Query 数量。选择基于分类得分。作者将输入到FFN中进行目标分类任务并生成分类,其中m是数据集中的目标类别数。之后,作者将使用选定的top-K特征生成 Query 的内容和位置。
Query 的内容是通过选择特征的线性变换生成的。至于 Query 的位置,作者使用FFN预测偏差来细化原始 Anchor 框。让索引来自多级特征在位置(x, y)的一个选定特征。选定特征有它的原始 Anchor 框作为 Query 的位置先验,其中是归一化坐标,而与特征的尺度相关。将预测偏差添加到原始 Anchor 框以细化目标 Query 的位置。
由于特征是从之前CGFE模块生成的中选择的,它们包含了微小目标的丰富尺度和位置信息。因此,增强的目标 Query 的内容和位置是根据每个图像的拥挤或稀疏情况定制的,使得 Query 在 Transformer 解码器阶段更容易定位小目标。
3.6 Overall Objective
Hungarian Loss.基于 DETR,作者使用匈牙利算法在 GT 值和预测之间找到最优的二分匹配并优化损失。匈牙利损失包括用于边界框回归的L1损失和GIoU损失,以及用于分类任务的Focal Loss,其中,,可以表示为方程7。遵循 DAB-DETR 的设置,在作者的实现中使用 ,,。
此外,作者在类别计数模块中使用交叉熵损失来监督分类任务。进一步地,匈牙利损失也作为每个解码器阶段的辅助损失应用。总体损失可以表示为方程8。
Experiments
Dataset
为了证明DQ-DETR的有效性,作者在主要由微小目标组成的航空数据集AI-TOD-V2 上进行了实验。
AI-TOD-V2 这个数据集包含28,036张航空图像,带有752,745个标注的目标实例。其中,训练集有11,214张图像,验证集有2,804张,测试集有14,018张。AI-TOD-V2中的平均目标大小仅为12.7像素,数据集中有86%的目标小于16像素,即使最大的目标也不超过64像素。此外,图像中的目标数量可以从1变化到2667,平均每图像的目标数量为24.64,标准差为63.94。
Evaluation Metric.作者使用AP(平均精度)指标,以1500为最大检测数量来评估作者提出方法的性能。具体来说,AP是从到的平均值,IoU间隔为0.05。此外,、、和分别用于AI-TOD中非常微小、微小、小型和中型规模的评估。
Implementation Details
基于类似DETR的结构,作者使用了一个6层的 Transformer 编码器、一个6层的 Transformer 解码器,其中隐藏维度为256,并以ResNet50作为CNN Backbone 网络。此外,作者在2块NVIDIA 3090 GPU上使用Adam优化器和权重衰减0.0001来训练DQ-DETR,共训练24个周期。
由于内存限制,批量大小设置为1。对于学习率调度器,初始学习率(lr)为0.0001,在第13和第21个周期时,通过乘以0.1来降低lr。作者采用了与DETR相同的随机裁剪和缩放增强策略。同时,作者采用两阶段训练方案。首先,作者训练分类计数模块,以使 Transformer 解码器中的 Query 数量结果更加稳定。当计数结果稳定后,作者将计数引导的特征增强模块加入到训练中,以通过密度图改善编码器的视觉特征。
Main Results on AI-TOD-V2
表2展示了作者在AI-TOD-V2测试集上的主要结果。作者将DQ-DETR与强 Baseline 进行了比较,包括基于CNN和类似DETR的方法。除了YOLOv3之外,所有基于CNN的方法都使用带有特征金字塔网络(FPN)的ResNet50作为主干网络。此外,由于在微小目标检测方面没有先前的类似DETR模型研究,DQ-DETR是首个专注于检测微小目标的DETR-like模型。作者在AI-TOD-V2上重新实现了系列DETR-like模型,除了DETR之外的所有类似DETR方法都使用了5个尺度的特征图与可变形注意力。对于5尺度特征图,特征是从主干网络的第1、2、3和4阶段提取的,并通过下采样第4阶段的输出来添加额外的特征。
结果总结如下,作者提出的DQ-DETR在与其他最先进的方法(包括基于CNN和类似DETR的方法)相比,实现了最佳的30.2 AP。同时,DQ-DETR在、、和上分别超过了 Baseline 20.5%、20.6%、14.1%和12.3%。在和上的性能提升更为显著,DQ-DETR在AI-TOD-V2上超越了先进的一系列类似DETR模型。
作者将性能提升归功于以下原因:
-
DQ-DETR将 Transformer 视觉特征与来自分类计数模块的密度图融合,以提高目标 Query 的位置信息,这使得 Query 更适合于定位微小目标。
-
动态 Query 选择自适应地选择用于检测任务的目标 Query 数量,并且能够处理目标稀少或拥挤的图像。
Results on VisDrone
除了AI-TOD-V2,作者还在VisDrone数据集上进行了实验,以证明DQ-DETR的有效性。VisDrone该数据集包括14018张无人机拍摄的图像,其中6471张为训练集,548张为验证集,3190张为测试集。共有10个类别,图像分辨率为2000×1500像素。此外,图像在各个方面都是多样化的,包括物体(行人、车辆、自行车等)和密度(稀疏和拥挤的场景),其中每张图像的平均物体数量为40.7,标准差为46.41。表3显示了对VisDrone val分割的结果。将DQ-DETR的性能与其他方法进行了比较。与其他最先进的方法(包括基于CNN的方法和类似DETR的方法)相比,提出的DQ-DETR获得了37.0 AP的最佳结果。此外,DQ-DETR在AP、AP50、AP75方面超过基线DINO-DETR 1.2、2.6和1.1。
Ablation Study
分类计数模块、计数引导的特征增强以及动态 Query 选择是本文新提出的主要贡献。作者在AI-TODv2 trainval集上使用ResNet50 Backbone 网络进行24个epoch的训练,并在AI-TODv2测试集上进行测试,以验证本文提出的每个组件的有效性。选择DINO-DETR作为比较的DETR-like Baseline 。
Main ablation experiment.
表4展示了作者在AI-TODv2上分别对各个贡献的性能评估。结果表明,DQ-DETR中的每个组件都对性能提升有所贡献。通过计数模块和动态 Query 选择,作者在 Baseline 上获得了+2.2 AP的改进。此外,作者的计数引导特征增强模块将编码器的特征与来自计数特征的空间信息融合。相对于 Baseline ,它在、和上分别获得了额外的+4.3、+2.6和+5.2改进。因此,作者在AI-TOD-V2上证明了DQ-DETR中每个组件的强大功效。
Ablation of DQ-DETR with different number of instances in images.
作者探讨了在不同图像实例数量下,DQ-DETR的性能。根据图像中的实例数量,作者将AI-TOD-V2数据集划分为4个 Level ,如同类别计数模块中的那样,即,,,以及.在这四种情况下分析了DQ-DETR的性能。结果显示在表5中,与DINO-DETR作为基线进行了比较。DQ-DETR会根据图像中的实例数动态调整object queries的数量。而DINO-DETR 在所有情况下始终使用 900 个queries。
可以观察到,在 N ≤ 10 和 10 < N ≤ 100 的情况下,DQ-DETR 使用的queries数量更少,比基线高出 16%,在 AP 方面比基线高出 16.4%。 和的表现也比基线高出19.8%,20.8%。 此外,值得注意的是,当 N > 500 时,DINO-DETR 表现不佳。在这种情况下,某些图像中可能有 900 多个实例,这超出了 DINO-DETR 的检测能力。在密集图像中,仅 900 个queries的 DINO-DETR 检测限制将导致许多对象未检测到 (FN),从而导致 AP 降低。DQ-DETR 动态选择密集图像的更多查询,在方面显着超过基线 42.1%。
Ablation of Categorical Counting Module.
表 6 演示了分类计数模块中分类任务的准确性。在四种情况下分析性能,其中 N 是每个图像的实例数。总分类准确率约为 94.6%,这意味着我们的分类计数模块可以准确估计图像中物体 N 的数量。此外,我们可以发现,在N > 500的情况下,我们的分类计数模块的分类性能很差,只有56.6%的准确率,因为在这种情况下训练图像的数量要少得多。此外,观察到 AI-TOD-V2 数据集中每个图像最多有2267个实例。然而,训练样本的长尾分布限制了对每张图像的实例数 N 进行更详细的分类。只能将具有 500 < N ≤ 2267 的图像归入同一类。
在检测精度方面,DQ-DETR在所有情况下都优于基线。性能比基线高出 16%,在 N ≤ 10、10 < N ≤ 100 的 AP 方面高出16.4%。 尽管如此,DQ-DETR 性能略好于 N > 500 情景的基线。这种现象是由于N > 500的分类精度差造成的。分类计数模块的错误预测将直接影响用于检测的object queries数,其中不适当的queries数可能会损害检测性能。
表 7 比较了 DQ-DETR 在分类计数模块中使用分类或回归的性能。传统的人群计数方法通常将预测的计数数量回归到特定值。然而,在作者的研究中,作者改用分类头。本实验演示了在这两种方法下的 DQ-DETR 性能。对于分类任务,将图像分类为 4 类,并在 transformer 解码器中应用不同数量的查询,正如上一节中提到的。对于回归任务,直接回归一个整数来预测图像中的object queries,并选择与预测结果对应的object queries。
结果表明,使用回归作为计数方法的性能极差。作者认为以下原因是性能急剧下降的原因:
-
由于AI-TOD-V2数据集中每幅图像的实例数量可能从1变化到2267,因此很难回归一个准确的数字。
-
不稳定的回归结果将极大地影响变换解码器中使用的 Query 数量,并导致DETR模型难以收敛。
由于上述原因,作者认为将图像中存在的目标数量分类到不同 Level 比回归要简单。因此,在提出的类别计数模块中,作者选择分类而不是回归作为更合适的方法。
Visualization
图2显示了Deformable-DETR与DQ-DETR在稀疏和密集情况下的检测结果对比。Deformable- DETR应用固定数量的queries(K=300),在不平衡情况下的召回率较低。固定的queries数量将导致航空数据集的检测精度较低,因为不同图像中的对象数量可能会有很大差异。使用小K限制了密集图像中物体的召回,使许多实例未被检测到(FN),如图 2(a) 所示。相反,图2(c)显示,在稀疏图像中使用较大的K会引入许多潜在的假阳性样本(FP)。