【CVPR 2022】QueryDet:加速高分辨率小目标检测

大连不负众望,疫情了,我们又封校了,可能初步封个5678天,微笑jpg

论文地址:https://arxiv.org/pdf/2103.09136.pdf
项目地址:https://github.com/ ChenhongyiYang/QueryDet-PyTorch

1. 简介

背景:对小目标检测的性能和效果不满意

解决办法:先用低分辨率的图片预测到小目标的粗定位;用这些粗位置稀疏引导的高分辨率特征计算出准确的预测结果。

小目标检测中出现性能衰减原因:

(1)由于下采样操作导致引导小目标的特征消失,或被background中的噪声污染。

(2)低分辨率特征对应的感受野无法与小目标的尺度相匹配。

(3)小目标较小的偏差就会导致IoU上较大的扰动,导致小目标检测先天难于大目标。

现有的小目标检测方法通常通过放大输入图像尺寸或减少降采样率来维持较大分辨率的特征,进而提升小目标检测的性能。引入FPN可以在一定程度上缓解高分辨率引入大量计算的问题,但其在low-level特征上检测的计算复杂度仍很高。

本文提出基础:

(1)高分辨率、低层特征层(Low-level feature map)中的特征计算是高度冗余的,小目标的空间分布稀疏,只在特征图中占一小部分。
(2)FPN结构中,即使低分辨率(high-level)的特征层无法精确的检测出小目标,但也能以较高的置信度来粗略判断出小目标是否存在以及对应的区域。特征金字塔的采样特性类似卷积神经网络的卷积特性(平移、缩放、扭曲不变性),可以依据其下采样、上采样的特点进行特征推断。

题外话: 我发现,在Abstract里加一张图可以非常清晰的提出问题,很不错,写论文的时候可以借鉴一下。

2. 干了啥

本文目标:是在引入更浅层高分辨率的特征助力小目标检测的同时,保证计算的轻量化。

基于前面的发现,QueryDet提出了级联稀疏查询(Cascade Sparse Query)机制。其中Query代表使用前一层(higher-level feature with lower resolution)中传递过来的query来指导本层的小目标检测,再预测出本层的query进一步传递给下一层,对下一层的小目标检测进行指导的过程;Cascade表示了这种级联的思想;Sparse表示通过使用稀疏卷积(sparse convolution)来显著减少低层特征层上检测头的计算开销。

说白了,前一层的特征图具有高层特征和低分辨率,负责对小目标的初筛;这种查询传导到具有高分辨率信息的低层后再进行精找,这种“glance and focus”的two-stage结构可以有效的进行动态推理,检测出最终结果。

通过稀疏查询加速推理:

在以往基于特征金字塔的检测器的设计中,小目标倾向于从高分辨率低级特征图中检测到。 然而,由于小目标通常在空间中分布稀疏,高分辨率特征图上的密集计算范式效率非常低。 受此观察的启发,作者提出了一种从粗到细的方法来降低低级金字塔的计算成本:首先,在粗略特征图上预测小目标的粗略位置,然后集中计算精细特征图上的相应位置。这个过程可以看作是一个查询过程:粗略的位置是查询键,用于检测小目标的高分辨率特征是查询值,整个流程如下图所示。

对于简介中的图而言,里面包含了两个级联的查询操作,即:Large->Medium和Medium->Small,以Large->Medium为例,首先,网络会在Large层次的图像中对小目标进行标记(将规模小于预设阈值s的对象定义为小目标),Large层次的网络在预测过程中会对小目标的置信度进行预测,得到包含小目标的网格信息;其次,在推理过程中,网络选择预测分数大于阈值s的位置作为query,并将这个位置映射到Medium的特征图中,最后,Medium上对应的三个head只会在key位置集中对应的位置上计算head和用于下一层的queries,这个计算过程通过稀疏卷积实现。

3.结论

QueryDet利用high-resolution feature来提升小目标检测性能的同时,通过一种新颖的查询机制级联稀疏查询 (CSQ) 来加速基于特征金字塔的密集对象检测器的推理,利用高层低分辨率特征初筛含有小目标的区域,在高分辨特征层上利用初筛获得的位置,并且使用稀疏卷积运算,极大地节约了计算消耗。

要加在v7上,有待解决,估计也解决不了...

猜你喜欢

转载自blog.csdn.net/Zosse/article/details/128032496