【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection

Abstract

        虽然深度学习的通用目标检测在过去几年取得了巨大成功,但检测小目标的性能和效率却远不尽如人意促进小目标检测的最常见和有效的方法是使用高分辨率图像或特征图。然而,这两种方法都会导致昂贵的计算,因为计算成本会随着图像和特征尺寸的增加而成正比增长。为了两全其美,我们提出了 QueryDet,它 使用一种 新颖的查询机制 来加快基于特征金字塔的目标检测器的推理速度。该管道 包括两个步骤:它 首先在低分辨率特征上预测小目标的粗略位置,然后 使用 由这些粗略位置 稀疏引导的高分辨率特征 计算准确的检测结果。这样,我们不仅可以收获高分辨率特征图的好处,还可以 避免对背景区域进行无用的计算。在流行的COCO数据集上,所提出的方法将检测mAP提高了1.0,mAP-small提高了2.0,高分辨率推理速度平均提高了3.0倍。在包含更多小目标的 VisDrone 数据集上,我们创造了一个新的最先进的技术,同时平均获得了 2.3 倍的高分辨率加速。

代码可在 https://github.com/ChenhongyiYang/QueryDet-PyTorch 获取。


1. Introduction

        随着深度学习 [15, 53] 的最新进展,视觉目标检测在性能和速度方面都取得了巨大的进步 [3, 12, 26, 27, 29, 37, 39, 49]。它已成为广泛应用的基础,例如自动驾驶和遥感。然而,检测小目标仍然是一个具有挑战性的问题。小尺寸目标和普通尺寸目标之间存在很大的性能差距。以最先进的目标检测器之一 RetinaNet [27] 为例,在 COCO [28] test-dev 集中,它在中型和大型目标上实现了 44.1 和 51.2 mAP,但在小物体上仅获得 24.1 mAP 。

这种退化 主要由三个因素引起

1)由于卷积神经网络(CNN)的主干中的下采样操作,突出小目标的特征消失了;因此,小目标的特征常常被背景中的噪声所污染

2)[25]中指出 低分辨率特征的感受野 可能与的小目标的大小 不匹配

3)定位小目标比大目标更难,因为边界框的小扰动可能会对IoU度量造成重大干扰

        可以通过 放大输入图像的大小降低 CNN 的下采样率 以 保持高分辨率特征 来改进小目标检测,因为它们增加了结果特征图中的有效分辨率。然而,仅仅增加特征图的分辨率 会产生相当大的计算成本。几项工作 [1、26、29] 提出通过 重用来自 CNN 不同层的多尺度特征图 来构建特征金字塔 来解决这个问题。具有不同尺度的目标在不同的层次上被处理大的目标倾向于在高层次的特征上被检测到,而小的目标通常在低层次上被检测到。特征金字塔范式 节省了 在主干中维护从浅到深的高分辨率特征图的 计算成本。尽管如此,检测头在低级特征上的计算复杂度仍然是巨大的。例如,在 RetinaNet 中添加一个额外的金字塔级别 P2 会在检测头中带来 300% 以上的计算(FLOPs)和内存成本;因此在 NVIDIA 2080Ti GPU 上将推理速度从 13.6 FPS 严重降低到 4.85 FPS。

        在本文中,我们提出了一种简单有效的方法 QueryDet,以节省检测头的计算量,同时提升小目标的性能。动机来自两个关键观察:1)低级特征的计算是高度冗余的。在大多数情况下,小目标的空间分布非常稀疏:它们只占据高分辨率特征图的一小部分;因此浪费了大量的计算。 2)特征金字塔是高度结构化的。虽然我们无法准确检测低分辨率特征图中的小目标,但我们仍然可以很有把握地推断出它们的存在和大致位置

        利用这两个观察结果的一个自然想法是,我们 只能将检测头应用于小目标的空间位置。该策略需要在所需的特征图上 以低成本和稀疏计算 定位小物体的粗略位置。在这项工作中,我们提出了基于新的查询机制 级联稀疏查询(CSQ)的 QueryDet,如图 1 所示。我们 递归地预测低分辨率特征图上小目标(查询 queries)的粗略位置,并 使用它们来指导 更高分辨率特征图中的计算。在 稀疏卷积 [13, 55] 的帮助下,我们 显著降低了检测头在低级特征上的计算成本,同时保持了对小目标的检测精度。请注意,我们的方法旨在 节省空间计算,因此它 与其他加速方法兼容,如 轻量级主干 [44]、模型修剪 [16]、模型量化 [51] 和 知识蒸馏 [5]。

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第1张图片

        我们在 COCO 检测基准 [28] 和 一个具有挑战性的数据集 VisDrone [59] 上评估我们的 QueryDet,该数据集包含大量小目标。我们展示了我们的方法可以显著加速推理,同时提高检测性能。总之,我们做出了两个主要贡献:

• 我们提出了 QueryDet,其中设计了一种简单有效的 级联稀疏查询(CSQ)机制。它 可以 降低所有基于特征金字塔的目标检测器的计算成本。我们的方法可以 通过 有效利用高分辨率特征 同时保持快速推理速度 来提高小目标的检测性能。

• 在COCO 上,QueryDet 利用高分辨率特征将RetinaNet 基线提高了1.1 AP 和2.0 APS,采用CSQ 时高分辨率检测速度平均提高了3.0 倍。在 VisDrone 上,我们在检测 mAP 方面提升了最先进的结果,并将高分辨率检测速度平均提高了 2.3 倍。


2. Related Works

目标检测.

        基于深度学习的目标检测主要分为两个流:两阶段检测器 [2、11、12、26、39]  和 由 YOLO 开创的单阶段检测器 [17、29、35-37、58]一般来说,两阶段方法往往比单阶段方法更准确,因为它们使用 RoIAlign 操作 [14] 来显式对齐对象的特征。但是,最近这两个流之间的性能差距正在缩小RetinaNet [27] 是第一个与两阶段检测器性能相匹配的 单阶段基于锚点的检测器。它 使用特征金字塔网络 (FPN) [26] 进行多尺度检测,并提出 FocalLoss 来处理密集训练中的 前景-背景不平衡问题。最近,单阶段无锚检测器 [7, 7, 21, 23, 45, 56] 由于其简单性而引起了学术界的关注。在本文中,我们 基于 RetinaNet 和 FCOS [45] 实现了我们的 QueryDet,以展示其有效性和泛化能力。


小目标识别。

        小目标识别,如检测和分割,由于低分辨率特征,是一项具有挑战性的计算机视觉任务。为了解决这一问题,人们提出了大量的工作。这些方法主要可以分为四类1) 提高输入特征的分辨率[1,10,22,24,26,29,41,48];2) 过采样 和 强数据增强 [20,29,60];3) 结合上下文信息 [4,6,57];4) 尺度感知训练 [25,26,42,43]。 


空间冗余。

        几种方法使用 稀疏计算 以不同方式利用 CNN 的空间冗余来节省计算成本。 Perforated-CNN [9] 使用不同的确定性采样方法生成掩码。动态卷积[47]使用小型门控网络来预测像素掩码,[54]提出了随机采样和插值网络。他们都采用 Gumbel-Softmax [18] 和稀疏损失来训练稀疏掩码。另一方面,空间自适应计算时间 (SACT) [8] 预测每个空间位置的 halting score停止分数,该分数由提出的 ponder cost 考虑成本和任务特定的损失函数监督。 SBNet [38] 采用离线路线图或掩码来过滤掉被忽略的区域。

与这些方法不同,我们的 QueryDet 关注目标的尺度变化,并简单地 采用 提供的真值边界框 进行监督

另一个工作流采用两阶段框架:自适应推理的 浏览glance 和 聚焦focus。 [50] 通过强化学习从原始输入图像中选择小区域,并使用动态决策过程处理这些区域。 [46]在目标检测任务上采用了类似的想法。与我们的 QueryDet 类似的一项工作是 AutoFocus [33]。 AutoFocus 首先预测并裁剪粗尺度的感兴趣区域,然后放大到更大的分辨率以进行最终预测。

与 AutoFocus 相比,我们的 QueryDet 更有效,因为 “聚焦focus” 操作是在特征金字塔而不是图像金字塔上进行的,这减少了主干中的冗余计算


3. Methods

        在本节中,我们将描述用于准确快速地检测小目标的 QueryDet。我们说明了我们基于 RetinaNet [27] 的方法,这是一种流行的基于锚点的密集检测器。请注意,我们的方法不限于 RetinaNet,因为它 可以应用于任何单阶段检测器 和 具有 FPN 的两阶段检测器中的区域生成网络 (RPN)。我们将首先重新审视 RetinaNet 并分析不同组件的计算成本分布。然后我们将介绍我们如何 使用 提出的级联稀疏查询 来 节省推理过程中的计算成本。最后,将介绍训练细节。


3.1.重温 RetinaNet

        RetinaNet 有两个部分:一个输出多尺度特征图的 带有 FPN 的骨干网络, 和 两个用于分类和回归的检测头。当输入图像的大小为 H × W 时,FPN 特征的大小为 P = {Pl ∈ RH′×W ′×C}。这里 l 表示金字塔级别,在典型的 FPN 实现中,(H', W') 通常等于检测头由四个 3×3 卷积层组成,然后是一个额外的 3×3 卷积层用于最终预测。为了参数效率,不同的特征级别共享相同的检测头(参数)。然而,计算成本在不同层之间高度不平衡:从 P7 到 P3 的检测头的 FLOPs 通过特征分辨率的放大以二次顺序增加。如图 2 所示,P3 head 占据了近一半的 FLOP,而低分辨率特征 P4 到 P7 的成本仅占 15%。因此,如果我们想将 FPN 扩展到 P2 以获得更好的小物体性能,成本是无法承受的:高分辨率 P2 和 P3 将占据总体成本的 75%。在下文中,我们将描述我们的 QueryDet 如何减少高分辨率特征的计算 并 提高 RetinaNet 的推理速度,即使使用额外的高分辨率 P2。

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第2张图片


3.2. 用稀疏查询加速推理

         在现代基于FPN的探测器设计中,小目标倾向于从高分辨率的低层次特征图中检测。然而,由于小目标通常在空间中稀疏分布,高分辨率特征图上的密集计算范式效率非常低。受到这一观察结果的启发,我们提出了一种 从粗到细 的方法 来降低低层次金字塔的计算成本首先在粗特征图上预测小目标的粗略位置,然后在细特征图上密集计算相应的位置。这个过程 可以看作是一个查询过程粗略的位置是 查询键query keys,用于检测小目标的高分辨率特征是查询值 query values;因此我们将我们的方法称为QueryDet。我们的方法的整个流程如图3所示。

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第3张图片

        为了预测小目标的粗略位置,我们 添加了一个与分类和回归头并行的查询头。查询头接收步幅为2l的特征图Pl作为输入,输出一个热图 Vl∈RH ' ×W ',热图  表示网格(i, j) 包含小目标的概率。训练期间,我们每一层上 定义 小目标 为 规模小于一个预定义的阈值sl的目标。在这里,为了简单起见,我们 将 sl 设置为 Pl 上的最小锚框尺度,对于无锚检测器,它被设置为 Pl 上的最小回归范围。对于一个小目标 o,我们 通过 计算其中心位置(xo,yo)与特征图上每个位置之间的距离 来编码Query Head的目标图,并 将距离小于sl的位置设置为1,否则为0。然后Query Head 使用 FocalLoss [27] 进行训练。在推理过程中,我们选择 预测分数大于阈值 σ 的位置作为查询。然后 将被映射到其在 Pl−1 上的四个最近邻居作为关键位置

收集 Pl−1 上的所有  以形成关键位置集 {kl−1}。然后三个头将只处理这些位置以检测目标并计算下一层的查询。具体来说,我们使用 {kl−1} 作为索引从 Pl−1 中提取特征,以构建我们称之为 值特征 value features 的稀疏张量 。然后使用 4-conv dense heads 的权重 构建稀疏卷积 (spconv) [13] 内核,以 计算第 l-1 层的结果

        为了最大化推理速度,我们以级联方式应用查询。特别是,对 Pl−2 的查询只会从 {kl−1} 生成。我们将此范例命名为级联稀疏查询 (CSQ),如图 1 所示。我们的 CSQ 的好处是 可以避免从单个 Pl 生成查询 {ql},这会 导致在查询映射期间随着 l 减小,相应关键位置 kl 的大小呈指数增加


3.3.训练

        我们保持 分类头和回归头的训练与原始 RetinaNet [27] 中的相同对于查询头,我们使用 FocalLoss [27] 和 生成的二进制目标图对其进行训练:设 Pl 上小目标 o 的 真值边界框为 blo = (xlo, ylo, wlo, hlo)。我们首先计算 Pl 上的每个特征位置 (x, y) 和 所有小的真值中心 {(xlo , ylo )} 之间的 最小距离图 Dl: 

 

那么 真值query图 Vl*定义为,

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第4张图片

对于每个层 Pl,损失函数 定义如下:

其中 Ul、Rl、Vl是 分类输出、回归输出 和 查询分数输出,Ul*、Rl* 和 Vl* 是它们对应的真值图;LFL 是 focal loss焦点损失Lr是边界框回归损失,它是 原始 RetinaNet 中的 平滑l1损失[11]。总损失是:

在这里,我们 通过 βl 重新平衡每一层的损失。原因是当我们 添加像 P2 这样的更高分辨率的特征时,训练样本的分布发生了显著变化。 P2 上的训练样本总数甚至大于 P3 到 P7 上的训练样本总数。如果我们不减轻它的重量,训练将以小目标为主。因此,我们 需要重新平衡不同层的损失,使模型同时从所有层学习


3.4. Relationships with Related Work

        请注意,尽管我们的方法与 使用 RPN 的两阶段目标检测器 有一些相似之处,但它们在以下方面有所不同:1),我们 在粗略预测中 仅计算分类结果,而 RPN 计算分类和回归。 2), RPN 是在所有级别的全特征图上计算的,而我们的 QueryDet 的计算是稀疏和选择性的。 3), 两阶段方法依赖于像 RoIAlign [14] 或 RoIPooling [11] 这样的操作来将特征与第一阶段的proposals候选框对齐。然而,我们的方法中没有使用它们,因为我们 在粗略预测中没有框输出。值得注意的是,我们提出的方法与基于 FPN 的 RPN 兼容,因此 QueryDet 可以合并到两阶段检测器中以加速候选框生成

        另一个密切相关的工作是 PointRend [19],它使用 非常少的自适应选择点 计算高分辨率分割图。我们的 QueryDet 和 PointRend 之间的主要区别是:1) 如何生成查询 以及 2) 如何应用稀疏计算。对于第一个差异,PointRend 根据每个位置的预测分数选择最不确定的区域,而我们 直接添加辅助损失作为监督。我们的实验表明,这种简单的方法可以 产生高召回率预测 并 提高最终性能。至于第二个,PointRend 使用多层感知器进行逐像素分类。它只需要高分辨率特征图中单个位置的特征,因此可以很容易地进行批处理以提高效率。另一方面,由于目标检测需要更多上下文信息才能进行准确预测,因此我们使用具有 3 × 3 核的稀疏卷积


4. Experiments

        我们对两个目标检测数据集进行了定量实验:COCO [28] 和 VisDrone [59]。 COCO 是用于一般目标检测的最广泛使用的数据集; VisDrone 是专门用于无人机拍摄图像检测的数据集,其中小物体主导着尺度分布。


4.1.实施细节

        我们基于 PyTorch [34] 和 Detectron2 工具包 [52] 实施我们的方法。所有模型都在 8 个 NVIDIA 2080Ti GPU 上进行训练。对于 COCO,我们遵循常见的训练实践:我们采用标准的 1× schedule 和 Detectron2 中的默认数据增强。批量大小设置为 16,初始学习率为 0.01。用于重新平衡不同层之间的损失的权重 βl 被设置为在 P2 到 P7 之间从 1 到 3 线性增长。对于 VisDrone,按照 [30],我们将一张图像平均分成四个不重叠的块,并在训练期间独立处理它们。我们以 0.01 的初始学习率训练网络进行 50k 次迭代,并在 30k 和 40k 次迭代时将学习率衰减 10。重新平衡权重 βl 设置为从 1 线性增长到 2.6。对于这两个数据集,我们在训练期间冻结了主干网络中的所有批量归一化 (BN) 层,并且我们没有在检测头中添加 BN 层。混合精度训练[32]用于所有实验以节省GPU内存。查询阈值 σ 设置为 0.15,我们从 P4 开始查询。没有特别说明,我们的方法是在具有 ResNet-50 主干的 RetinaNet 上构建的


4.2.我们方法的有效性

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第5张图片

        在表 1 中,我们比较了我们的方法与 COCO 上的基线 RetinaNet 之间的平均精度 (mAP) 和平均每秒帧数 (FPS)。基线以 13.6 FPS 运行,整体 AP 为 37.46,小目标为 22.64 APS,略高于原始论文 [27] 中的结果。在高分辨率特征的帮助下,我们的方法实现了 38.53 AP 和 24.64 APS,将 AP 和 APS 提高了 1.1 和 2.0。结果揭示了在检测小目标时使用高分辨率特征的重要性。然而,合并这样一个高分辨率的特征图会显著降低推理速度至 4.85 FPS。当采用我们的级联稀疏查询 (CSQ) 时,推理速度提高到 14.88 FPS,甚至比不使用更高分辨率 P2 的基线 RetinaNet 更快,而性能损失可以忽略不计。此外,图 2 显示了我们的 CSQ 如何节省计算成本。与具有更高分辨率 P2 的 RetinaNet 相比,其中 P3 和 P2 占总 FLOP 的 74%,我们的 CSQ 成功地将这些成本降低到 1% 左右。原因是 在QueryDet中,所有高分辨率P3和P2的计算都是在稀疏分布的小物体周围的位置上进行的。这些结果 充分证明了我们方法的有效性。我们还在表 1 中显示了 3× 训练计划的结果。更强的基线不会削弱我们的改进,但会带来更显著的加速。随着小目标估计变得更加准确,我们将其归功于更强大的查询头

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第6张图片

        在VisDrone中,如表2所示,发现是相似的,但是结果更有意义。在这个面向小目标的数据集上,我们将整体AP提高了2.1倍,AP50提高了3.2倍。推理速度从2.75 FPS提高到2.3×1.16 FPS。 


4.3.消融研究

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第7张图片

        我们在COCO mini-val 集上进行消融研究,以分析表3中每个组件如何影响检测精度和速度。我们重新训练的RetinaNet 达到37.46 AP。当我们加上高分辨率的P2,AP急剧下降了1.34。正如我们在3.3节中所讨论的,这个问题是由添加P2后训练样本中的分布变化引起的。然后我们重新平衡这些层的损失。结果改进到38.11,大部分解决了这个问题。有趣的是,当在原始基线上采用时,重新平衡策略仅给了我们较小的AP增强(0.2),这表明 损失重新平衡在高分辨率场景中更为关键。然后,我们 将查询头添加到网络中,通过这种方法,我们获得了0.42 AP和1.58 APS的进一步性能增益,将总AP和AP分别提高到38.53和24.64,验证了额外的objectiveness监督的有效性。最后,使用CSQ,检测速度从4.85 FPS大幅提高到14.88 FPS,并且检测AP中的0.17损失可以忽略不计。


4.4. Discussions

查询阈值的影响。

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第8张图片

        在这里,我们研究 级联稀疏查询 中的精度-速度权衡。我们在不同的查询阈值σ下 测量检测精度(AP) 和 检测速度(FPS ),查询阈值σ 的作用是 确定输入图像中的网格(低分辨率特征位置)是否包含小目标。直觉上,增加这个阈值将减少小目标的召回,但是由于考虑的位置更少,所以加速了推断。不同输入尺寸下的精度-速度权衡如图4所示。对于一条曲线中的相邻数据标记,我们将σ依次增加0.05,最左边的标记表示未应用CSQ时的性能。我们观察到,即使一个非常低的阈值(0.05)也能给我们带来巨大的速度提升。这个观察结果验证了我们方法的有效性。另一个观察是关于不同输入分辨率的ap上界和下界之间的差距。这个差距对于大尺寸图像来说很小,但是对于小尺寸图像来说很大,这表明对于更高分辨率的输入,即使查询阈值被设置得很高,我们的CSQ也可以保证良好的ap下界


从哪层开始查询?

        在我们的级联稀疏查询中,我们需要决定起始层,在该层上我们运行传统的卷积来获得大目标的检测结果。我们不从最低分辨率层 开始我们的CSQ 的原因有两个方面:1) 对于低分辨率特征,正常的卷积运算非常快,因此CSQ节省的时间不能补偿构建稀疏特征图所需的时间;2) 在分辨率非常低的特征图上很难区分小目标。结果如表4所示。我们发现获得最高推理速度的层是P4,这验证了来自非常高层(如P5和P6)的查询 将导致速度损失。我们观察到,随着起始层变得更高,AP损失逐渐增加,这表明 网络很难在非常低分辨率的层中找到小目标

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第9张图片


使用查询的最佳方式是什么?

        我们展示了级联稀疏查询的高效率。我们提出两种可供选择的查询操作进行比较。第一种 裁剪查询(CQ),其中由查询指示的相应区域从高分辨率要素中裁剪出来,用于后续计算。注意这种类型的查询类似于自动聚焦[33]方法。另一种是 完全卷积查询(CCQ ),其中我们使用规则卷积来计算每一层的完整特征图,但是 只从查询位置提取结果用于后处理。对于CQ,我们从特征图中裁剪出一个11 × 11的小块,该小块被选择以适合探测头中五个3 × 3连续卷积的感受野。我们在表5中给出了结果。总的来说,这三种方法都能在AP损失可以忽略的情况下成功加速推理。其中,我们的CSQ可以达到最快的推理速度。 

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第10张图片


我们需要多少上下文?

        为了应用我们的CSQ,我们需要构造一个稀疏特征图,其中只有小目标的位置被激活。我们还需要激活小目标周围的上下文区域,以避免降低准确性。然而,在实践中,我们发现 过多的上下文并不能提高检测AP,而只会减慢检测速度;另一方面,太少的上下文会严重降低检测AP。在本节中,我们将探讨我们需要多少上下文来平衡速度和精度之间的权衡。这里,上下文Context 被定义为 在查询位置周围具有各种大小的小块oatches ,其中我们的稀疏检测头也将处理小块内的特征。结果见表6。由此我们得出结论,一个5x5的patch 可以给我们带来足够的上下文来检测一个小的物体。虽然更多的上下文带来了小的AP改进,但是我们的CSQ的加速效果受到负面影响,而更少的上下文不能保证高检测AP。 

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第11张图片


轻型骨干上的结果。

        正如我们在第1节中所声称的,我们的方法可以与轻量级主干相结合,以获得更多的速度改进。此外,由于我们的CSQ旨在加速检测头中的计算,所以当使用这样的主干时,整体加速更明显,因为主干网络的推理时间变得更少。我们在表7中报告了不同轻型骨干的结果。具体来说,MobileNet V2 [40]的高分辨率检测速度平均提高了4.1倍,ShuffleNet V2 [31]的速度平均提高了3.8倍,这验证了我们的方法可以部署在边缘设备上进行实时应用,如自动驾驶汽车,以有效检测小目标

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第12张图片


无锚检测器的结果。

        QueryDet 可以应用于 任何基于 FPN 的检测器,以加速高分辨率检测。因此,我们在 FCOS(一种最先进的无锚检测器)上应用 QueryDet,并在表 8 中报告了 COCO 结果。可以得出结论,QueryDet 在高分辨率特征的帮助下改进了 AP,并且当级联时采用稀疏查询(CSQ),高分辨率速度平均提高1.8倍,验证了所提方法的普适性。 

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第13张图片


两阶段检测器的有效性

        我们的 CSQ 也可以应用于基于 FPN 的两级检测器,以降低 RPN 中高分辨率层的计算成本。为了验证这一说法,我们 将 CSQ 应用于 Faster R-CNN 检测器 [39]。在我们的实现中,RPN 的输入是从 P2 到 P6,我们从 P4 开始查询。我们 修改 RPN 结构,让它有 3 个 conv 层,而不是正常实现中的 1 个层其后是 3 个分支,用于 objectiveness分类、边界框回归 和 query key计算。前两个分支按照惯例 [39] 进行训练,查询分支由 γ = 1.2 和 α = 0.25 的 Focal Loss 进行训练。在推理期间,我们将查询线程保持设置为 0.15。如表 9 所示,我们的 Faster R-CNN 实现了 38.47 整体 AP 和 22.98 APS 以及 17.57 FPS。当使用 CSQ 时,推理速度提高到 19.03 FPS,AP 损失很小。结果验证了我们的方法在加速两阶段检测器方面的有效性。 请注意,在双阶段检测器中,我们的 CSQ 不仅可以为 RPN 中的密集计算节省时间,还可以减少馈送到第二阶段的 RoI 的数量

【目标检测论文阅读笔记】QueryDet: Cascaded Sparse Query for Accelerating High-Resolution Small Object Detection_第14张图片


4.5.可视化和失败案例

        在图 5 中,我们可视化了 COCO 和 VisDrone 上小物体的检测结果和查询热图。从热图中可以看出,我们的查询头可以成功找到小物体的粗略位置,使我们的 CSQ 能够有效地检测到它们。此外,通过结合高分辨率特征,我们的方法可以非常准确地检测小物体

        我们还展示了我们方法的两个典型失败案例:1)即使查询头正确提取了小物体的粗略位置,检测头也可能无法定位它们(​​VisDrone 的第二张图像); 2)大物体的位置被错误激活,导致检测头处理无用的位置,从而减慢速度(COCO的第一张图片)。


5.结论

         我们提出了 QueryDet,它使用一种新颖的查询机制级联稀疏查询 (CSQ) 来加速 基于特征金字塔的密集目标检测器 的推理QueryDet 使目标检测器能够以低成本检测小物体并易于部署,使其在自动驾驶等实时应用中部署变得切实可行。对于未来的工作,我们计划将 QueryDet 扩展到更具挑战性的 3D 目标检测任务,该任务以 LiDAR 点云为输入,其中 3D 空间通常比 2D 图像稀疏,并且计算资源对于昂贵的 3D 卷积操作更为密集。

你可能感兴趣的:(论文阅读笔记,目标检测,论文阅读,计算机视觉)