QueryDet:级联稀疏query加速高分辨率下的小目标检测

x33g5p2x  于2022-08-17 转载在 其他  
字(3.0k)|赞(0)|评价(0)|浏览(477)

论文:https://arxiv.org/abs/2103.09136

代码(已开源):https://github.com/ChenhongyiYang/QueryDet-PyTorch

计算机视觉研究院专栏

作者:Edison_G
虽然深度学习的通用目标检测在过去几年中取得了巨大成功,但检测小目标的性能和效率却远不能令人满意

01

概述

促进小目标检测的最常见和最有效的方法是使用高分辨率图像或特征图。然而,这两种方法都会导致计算成本高昂,因为计算成本会随着图像和特征大小的增加而成正比增长。

为了两全其美,研究者提出了QueryDet,使用一种新颖的查询机制来加速基于特征金字塔的目标检测器的推理速度。该流程由两个步骤组成没如下图。

首先在低分辨率特征上预测小物体的粗略位置,然后使用由这些粗略位置稀疏引导的高分辨率特征计算准确的检测结果。这样不仅可以收获高分辨率特征图的好处,还可以避免对背景区域进行无用计算。在流行的COCO数据集上,该方法将检测mAP提高了1.0,mAP small提高了2.0,高分辨率推理速度平均提高了3倍。在包含更多小目标的VisDrone数据集上,研究者创建了一个新的状态,同时平均获得2.3倍的高分辨率加速。

02

背景及动机

可以通过缩放输入图像的大小或降低CNN的下采样率以保持高分辨率特征来改进小目标检测,因为它们增加了结果特征图中的有效分辨率。然而,仅仅增加特征图的分辨率会产生相当大的计算成本。几项工作[A unified multi-scale deep convolutional neural network for fast object detection] [Feature pyramid networks for object detection][Ssd: Single shot multibox detector]提出通过重用来自CNN不同层的多尺度特征图来构建特征金字塔来解决这个问题。不同尺度的目标在不同的层次上被处理:大目标倾向于在高层次特征上被检测到,而小目标通常在低层次上被检测到。特征金字塔范式节省了在主干中从浅到深维护高分辨率特征图的计算成本。尽管如此,检测头对低级特征的计算复杂度仍然是巨大的。

例如,在RetinaNet中添加一个额外的金字塔级别P2将带来大约300%的计算量(FLOPs)和检测头的内存成本;因此在NVIDIA 2080Ti GPU上将推理速度从13.6 FPS严重降低到4.85 FPS。

研究者提出了一种简单有效的方法QueryDet,以节省检测头的计算量,同时提高小目标的性能。动机来自两个关键观察:

1)对低级特征的计算是高度冗余的。在大多数情况下,小目标的空间分布非常稀疏:它们只占据高分辨率特征图的一小部分;因此浪费了大量的计算。 

2)特征金字塔是高度结构化的。虽然我们无法准确检测低分辨率特征图中的小物体,但我们仍然可以高度自信地推断出它们的存在和粗略位置。

利用上图两个观察结果的一个自然想法是,我们只能将检测头应用于小目标的空间位置。该策略需要以低成本和稀疏计算在所需的特征图上定位小物体的粗略位置。 

在今天分享中,研究者提出了基于新型查询机制级联稀疏查询(CSQ)的QueryDet,如上图所示。递归地预测低分辨率特征图上小目标(查询)的粗略位置,并将它们用于 指导更高分辨率特征图中的计算。借助稀疏卷积,显着降低了检测头对低级特征的计算成本,同时保持了对小目标的检测精度。请注意,新提出的方法旨在节省空间计算,因此它与其他加速方法兼容,如轻量级主干网、模型修剪、模型量化和知识蒸馏。

03

新框架

Revisiting RetinaNet

RetinaNet有两部分:一个带有FPN的主干网络,输出多尺度特征图和两个用于分类和回归的检测头。

  • ResNet+FPN:提取图片特征
  • Anchor:边框搜索
  • Class subnet (Focal Loss):预测类别
  • Box subnet:预测边框坐标和大小

P3 head占据了将近一半的FLOPs,而低分辨率功能P4到P7的成本仅占15%。因此,如果想将FPN扩展到P2以获得更好的小目标性能,成本是无法承受的:高分辨率的P2和P3将占据总成本的75%。在下面风分析中,描述了QueryDet如何减少对高分辨率特征的计算并促进推理sp。

Accelerating Inference by Sparse Query

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

Relationships with Related Work

请注意,尽管新提出的方法与使用RPN的两阶段目标检测器有一些相似之处,但它们在以下方面有所不同:

  1. 新方法仅在粗略预测中计算分类结果,而RPN同时计算分类和回归
  2. RPN是在所有级别的全特征图上计算的,而QueryDet的计算是稀疏和选择性的
  3. 两阶段方法依靠像RoIAlign或RoIPooling这样的操作来将特征与第一阶段候选对齐。

尽管如此,它们并没有在新提出的方法中使用,因为研究者在粗略预测中没有框输出。值得注意的是,提出的方法与基于FPN的RPN兼容,因此可以将QueryDet合并到两阶段检测器中以加速提案生成。

04

实验及可视化

Comparison of accuracy (AP) and speed (FPS) of our QueryDet and the baseline RetinaNet on COCO mini-val set

Comparison of detection accuracy (AP) and speed (FPS) of our QueryDet and the baseline RetinaNet on VisDrone validation set

The speed and accuracy (AP and AR) trade-off with input images with different sizes on COCO and VisDrone. The trade-off is controlled by the the query threshold σ. The leftmost marker (the ▲ marker) of each curve stands for the result when Cascade Sparse Query is not applied. QD stands for QueryDet and RN stands for RetinaNet

Visualization of the detection results and the query heatmap for small objects of our QueryDet on MS-COCO and VisDrone2018 datasets. We remove class labels for VisDrone2018 to better distinguish the small bounding boxes

相关文章