©作者 | Herschel
虽然在过去的几年中,基于深度学习的通用目标检测已经取得了巨大的成功,但在检测小目标的性能和效率方面却远远不能令人满意。推广小目标检测最常见和有效的方法是使用高分辨率图像或特征图。然而,这两种方法都会导致昂贵的计算,因为计算成本会随着图像和特征大小的增加而增加。
我们提出了 QueryDet,它使用一种新颖的查询机制来加快基于特征金字塔的目标检测器的推断速度。该 pipeline 由两个步骤组成:首先在低分辨率特征上预测小目标的粗定位,然后利用这些粗位置稀疏引导的高分辨率特征计算出准确的检测结果。这样既可以获得高分辨率 feature map 的 benefit,又可以避免对背景区域使用较少的计算量。
在 popular COCO 数据集上,该方法将 mAP 提高了 1.0,mAP-small 提高了2.0,将高分辨率的推理速度平均提高到 3.0×。在包含更多小对象的 VisDrone 数据集上,我们获取了新的 SOTA,同时获得了平均 2.3× 高分辨率的加速。
论文标题:
QueryDet: Cascaded Sparse Query for Accelerating High-Resolution for Small Object Detection
收录会议:
CVPR 2022
论文链接:
https://arxiv.org/abs/2103.09136
代码链接:
https://github.com/ChenhongyiYang/QueryDet-PyTorch
研究背景
当使用现有的通用目标检测器在常规目标检测数据集上进行检测时,中等尺度和大尺度目标可以获得的结果远高于小目标。本文认为,小目标检测中出现性能衰减主要由三方面因素所导致:
1. 由于下采样操作导致引导小目标的特征消失,或被 background 中的噪声污染。
2. 低分辨率特征对应的感受野无法与小目标的尺度相匹配。
3. 小目标较小的偏差就会导致 IoU 上较大的扰动,导致小目标检测先天难于大目标。
现有的小目标检测方法通常通过放大输入图像尺寸或减少降采样率来维持较大分辨率的特征,进而提升小目标检测的性能。引入 FPN 可以在一定程度上缓解高分辨率引入大量计算的问题,但其在 low-level 特征上检测的计算复杂度仍很高。
QueryDet 的目标是在引入更浅层高分辨率的特征助力小目标检测的同时,保证计算的轻量化。
本文提出的 QueryDet 的出发点来自于观察到的两个事实:
1. low-level 特征层上的计算中,有很大部分是冗余的。
2. FPN 结构中,即使低分辨率(high-level)的特征层无法精确的检测出小目标,但也能以较高的置信度来粗略判断出小目标是否存在以及对应的区域。
▲ QueryDet检测流程
基于以上出发点,QueryDet 提出了 Cascade Sparse Query (CSQ) 机制,其中 Query 代表使用前一层(higher-level feature with lower resolution)中传递过来的 query 来指导本层的小目标检测,再预测出本层的 query 进一步传递给下一层,对下一层的小目标检测进行指导,Cascade 传递了这种级联的思想。Sparse 表示通过使用 sparse convolution(稀疏卷积)来显著减少 low-level 特征层上检测头的计算开销。
总体上,higher-level feature with lower resolution 负责对小目标的初筛,higher-resolution feature 再进行精找,这种“glance and focus”的 two-stage 结构可以有效的进行动态推理,检测出最终结果。
模型方法
2.1 计算量开销比较
QueryDet 在实现中使用 RetinaNet 作为 baseline。文中首先分析了 RetinaNet 中使用的 FPN 中不同 level P 对应的 FLOPs 开销:
▲ FLOPs distribution of different module
可以看出原版 RetinaNet 中,最低层 P3 就占据了总计算量的很大部分;引入更高分辨率的 P2 助力小目标检测后,P2 的计算开销占到了总开销的一半以上;加入最终模型 QueryDet 进行比较,可以看出 QueryDet 在减小高分辨率上的计算开销同时提高了推理速度。
2.2 使用Sparse Query加速推理
本节对文中的核心模块 Query 进行介绍。Query 总体是一个由粗到细的过程:在粗(low-resolution)的特征图上对小目标进行粗略定位,再到细(high-resolution)特征图的对应位置上进行计算(使用 sparse convolution)。在这个 query 过程中,粗糙定位可以看作 query keys,而对应用于小目标检测的 high-resolution 特征图可被视为 query values。
QueryDet 在 detection head 中额外添加了用于产生小目标 coarse location 的,平行于 classification 和 localization head 的 query head。模型的总体结构如下图所示:
▲ The whole pipeline of the QueryDet
query head 的 input 为 (对应的stride为 ),输出热力图 。使用 表示一个中心坐标位于 的 object,如果 的大小小于指定阈值,那么其中心坐标在 的对应位置 上的 GT 就设置为 1,否则为 0。
获得 对应的 后,其上的 需要被分配到下一层 上,具体为 会被分配到其最近的四个点上作为 key 的位置:
接下来, 上对应的三个 head 只会在 key 位置集中对应的位置上计算 head 和用于下一层的 queries。这个计算过程通过 sparse convolution 实现,极大的节剩了计算量。sparse convolution 的提出主要是为了解决 3D 场景下进行运算的特征中存在很多零的情况,对稀疏卷积感兴趣的话,可以通过这篇博文 [1] 简单学习一下,Rulebook 构建中的 Getoffset 指的是 kernel 中每个 weight 对应其 kernel 中心位置的偏移坐标量。
Cascade Sparse Query 结构保证每层生成的 query 并不是来自单一的 P,可以通过 stride 的不断降低扩张对应 key position 的尺度。
2.3 训练过程
query head 对应 GT 的计算过程为:首先计算 上每个位置与对应的所有小目标中心的距离,当该位置上与小目标中心的距离小于指定阈值时,其在 上的 GT 标记为 1。query head 被当作二分类问题进行处理,使用 focal loss 作为损失函数。
模型的总体损失表示为:
其中加入了权重来调节每个 level 的损失,因为在 上的训练样本数量很可能要比前 5 层上对应样本的总数量还要多,如果不减小权重,整个训练将由 small objects 主导。
实验结果
本文做了如下实验:
在 COCO mini-val 上比较 RetinaNet & QueryDet
在 Visdrone 上比较 RetinaNet & QueryDet
在 COCO mini-val 上进行消融实验,比较 HR (hight-resolution feature),RB (loss re-balance,就是给不同层加权重),QH (额外的 Query Head)
在 COCO 和 Visdrone 2018 上使用不同的 query threshold 比较 AP、AR、FPS 的 trade off
在 COCO mini-val 上比较不使用 query 方法和使用三种不同 query 的方法:CSQ 最优
在 COCO mini-val 上比较从不同层开始 query,对应的 AP 和 FPS
换用不同的 backbone(MobileNet V2 & ShuffleNet V2)测试结果
在 COCO mini-val 上使用嵌入 QueryDet 的 FCOS,比较结果
在 COCO test-dev & VisDrone validation 上比较不用的 methods
▲ COCO test-dev上的比较结果
▲ Visdrone validation set
总结
QueryDet 利用 high-resolution feature 来提升小目标检测性能的同时,通过 CSQ 机制,利用高层低分辨率特征初筛含有小目标的区域,在高分辨特征层上利用初筛获得的位置,使用 sparse convolution,极大地节约了计算消耗。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·