(四十一)论文阅读 |目标检测之Sparse RCNN


简介

在这里插入图片描述

图1:论文原文

本文介绍的 S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN以一种稀疏化的方式产生建议区域,将以往产生 H W k HWk HWk个建议区域减少到 N N N个。此外,上述检测过程不需要非极大值抑制等后处理过程,是一种目标检测的新范式。实验结果为在 C O C O {\rm COCO} COCO数据集上的 A P {\rm AP} AP达到 44.5 {\rm 44.5} 44.5 F P S {\rm FPS} FPS 22 22 22论文原文 源码


0. Abstract

当前的目标检测算法验证依赖于密集的先验框,如在 H × W H×W H×W上的特征图上共产生 H W k HWk HWk个建议区域。而论文提出的 S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN产生一组固定数量为 N N N的建议区域,然后用于分类和回归。 S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN避免了大量关于先验框的设计以及先验框与真实框多对一的映射。

论文贡献:(一)提出一种稀疏建议框的生成算法;(二)效果比密集建议框的生成算法更佳,且不需要非极大值抑制等后处理操作;(三)产生建议框的方案有望成为研究建议框生成算法的另一条线。


1. Introduction

在这里插入图片描述

图2:不同目标检测算法产生box的流程对比

上图 ( 1 ) (1) (1)是代表 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free R e t i n a N e t {\rm RetinaNet} RetinaNet,在特征图上产生密集的预测;图 ( 2 ) (2) (2)是代表 A n c h o r {\rm Anchor} Anchor- B a s e d {\rm Based} Based F a s t e r {\rm Faster} Faster- R C N N {\rm RCNN} RCNN R P N {\rm RPN} RPN仍在特征图上产生密集的先验框。但作者指出,上述产生密集预测的方法存在以下限制: ( 1 ) (1) (1)产生大量冗余的操作,通常需要非极大值抑制等后处理操作; ( 2 ) (2) (2)多个预测框对应一个真实框对分配规则提出了较高的要求; ( 3 ) (3) (3)模型性能受到先验框或密集点属性的影响。

D E T R {\rm DETR} DETR将目标检测问题看作稀疏集合的预测问题,它的输入是 100 100 100个边界框集合,且不需要后处理操作。但 D E T R {\rm DETR} DETR仍存在收敛困难等的问题。作者认为存在稀疏边界框和稀疏特征两个方面的稀疏性。稀疏边界框指小规模的先验框,稀疏特征是指每个边界框的特征独立,不需要与图像中的其他区域交互。

作者提出的 S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN是一种稀疏目标检测方法,避免了在密集图像上列举建议区域和密集图像特征。上图 ( 3 ) (3) (3)是论文提出的模型,先验框由少量由四维向量表示的边界框组成。如对于 C O C O {\rm COCO} COCO数据而言,共产生 100 100 100个边界框即 400 400 400个参数。

可学习的建议区域是图像上可能存在目标的位置的统计。然而,四维向量仅能粗略地表征边界框,而无法描述其姿态、形状等信息。因此,论文引入一个 256 256 256维向量,建议特征。具体地,建议特征在检测头处产生特定的一组参数,并称该检测头为动态交互检测头。相比于两个共享的全卷积层,该检测头更加灵活且效果更好。

S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN的最大特点是目标检测整个过程的稀疏性,输入是一组稀疏的建议框、建议特征,以及一对一的交互性。整个检测流程不存在密集的建议区域和密集(全局)特征。


2. Related Work

Dense method 目标检测中的最早多使用滑动窗口机制,但受限于提取分类特征的能力,基于滑动窗口的目标检测算法现在使用较少。随后随着深度卷积神经网络的发展,一阶段目标检测算法如 O v e r F e a t {\rm OverFeat} OverFeat Y O L O {\rm YOLO} YOLO S S D {\rm SSD} SSD等直接根据特征图密集地预测目标类别和位置。随后, A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free的目标检测方法简化了整个流程,替换了手工设计先验框的过程。上述方法都是建立在密集检测的基础上,每个建议框后续用于分类和回归处理。最后使用非极大值抑制等方法去掉冗余的检测结果。

Dense-to-sparse method 两阶段检测算法可以看作是一种密集到稀疏的方法,它首先基于密集的特征图获得稀疏的先验框,然后根据其具体类别精修每个建议框的位置等预测信息。其中的 R P N {\rm RPN} RPN是最重要的建议框生成算法。与一阶段检测算法类似,最后使用非极大值抑制等方法去掉冗余的检测结果。

Sparse method 稀疏的目标检测方法可以省去设置密集先验框的步骤,但精度往往不及上面两类算法。 G {\rm G} G- C N N {\rm CNN} CNN首先基于图像上多尺度的规则网络,然后迭代地更新边界框来覆盖图中的目标,但该方法仍需要手动设置边界框信息,难以得到最优解。近来, D e f o r m a b l e {\rm Deformable} Deformable- D E T R {\rm DETR} DETR限制了操作范围,仅处理参考点周围的一小组关键点,从而避免了特征图中的所有点。


3. Sparse R-CNN

S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN的核心思想是使用一小组建议框代替 R P N {\rm RPN} RPN的结果。

3.1 Pipeline

在这里插入图片描述

图3:Pipeline

S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN由骨干网络、动态检测头和两个预测层组成。整体模型有三个输入:图像,一组建议区域和建议特征。后两者是可学习的,可以通过网络中的其他参数优化。

3.2 Module

Backbone 骨干网络部分使用 F P N {\rm FPN} FPN+ R e s N e t {\rm ResNet} ResNet,特征金字塔使用 P 2 P_2 P2 P 5 P_5 P5层, P l P_l Pl层是输入图像的 l l l倍下采样,金字塔所有层的通道数为 256 256 256

Learnable proposal box 一组可学习的参数 N × 4 N×4 N×4表示建议框,参数范围为 ( 0 , 1 ) (0,1) (0,1),由于该参数是可学习的,其对初始化不敏感。

Learnable proposal feature 尽管使用四维向量来表示建议框简单,但同时也丢失了目标姿态和外观等重要信息。因此论文引入建议特征,大小为 N × d N×d N×d,用于表征目标特征,建议特征的数量对应于建议框。

Dynamic instance interactive head 给定 N N N个建议区域, S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN首先使用 R o I A l i g n {\rm RoIAlign} RoIAlign提出每个建议框的特征,然后将得到的特征送入检测头。如下图:

在这里插入图片描述

图4:检测头

该检测头的输入是感兴趣特征和建议特征。对于每个感兴趣特征 f i ( S × S × C ) f_i(S×S×C) fi(S×S×C)与建议特征 p i ( C ) p_i(C) pi(C)对应,进而得到最后的输出特征 C C C。最后的回归分支由一个三层、 C C C个隐藏单元的感知机组成,分类分支由全连接层组成。建议特征可以看作是一种注意力机制,建议特征产生卷积核的参数,然后作用于感兴趣特征得到最后的预测结果。

Set prediction loss L = λ c l s ⋅ L c l s + λ L 1 ⋅ L L 1 + λ g i o u ⋅ L g i o u (1) \mathcal L=\lambda_{cls}\cdot \mathcal L_{cls}+\lambda_{L_1}\cdot \mathcal L_{L_1}+\lambda_{giou}\cdot \mathcal L_{giou}\tag{1} L=λclsLcls+λL1LL1+λgiouLgiou(1)


4. Experiments

4.1 Main Result

在这里插入图片描述

图5:与Faster RCNN / RetinaNet和DETR的对比

在这里插入图片描述

图6:各模型的收敛性

4.2 Module Analysis

Learnable proposal box F a s t e r   R C N N {\rm Faster\ RCNN} Faster RCNN中使用一组稀疏的建议框代替 R P N {\rm RPN} RPN A P {\rm AP} AP值从 40.2 40.2 40.2下降到 18.2 {\rm 18.2} 18.2

Iterative architecture 直观地,不断地迭代更新建议框会提高其质量,然后实验发现简单地使用级联结构得到的结果差别不大( A P {\rm AP} AP值提高 2.0 2.0 2.0左右)。如果可以复用前面阶段的特征,则可以获得总共 11.7 11.7 11.7的提升。

Dynamic head 动态检测头不仅仅是简单地拼接融合前面阶段的特征,而是在特征融合前先用自注意力模块处理,然后再送入检测头,使用动态检测头后可获得 5.1 5.1 5.1的提升。

Initialization of proposal boxes 论文主要尝试了以下几种初始化方法:

  • Center 所有的建议区域最初位于图像的正中央,宽高为原图的十分之一;
  • Image 所有的建议区域初始化为整个图像;
  • Grid 基于图像的网格初始化;
  • Random 基于高斯分布随机初始化建议框的位置和宽高。

得到的结果如下:
在这里插入图片描述

图7:各初始化方法

Number of proposals

在这里插入图片描述

图8:建议框的数量

Number of stages in iterative architecture

在这里插入图片描述

图9:迭代次数

Dynamic head vs. Multi-head Attention
在这里插入图片描述

图10:检测头对比

Proposal feature vs. Object query
在这里插入图片描述

图11:与DETR对比


5. Conclusion

论文提出的 S p a r s e   R C N N {\rm Sparse\ RCNN} Sparse RCNN使用一组固定的稀疏建议框代替经典的区域生成网络 R P N {\rm RPN} RPN,后续使用动态检测头直接分类和回归每个建议区域,且不需要非极大值抑制等后处理。论文针对以往的密集先验框设置的方法,提出一种稀疏方案,后续工作有望沿着这条线继续深入。文中比较新颖的观点是系数建议框的生成以及建议框同稀疏特征的一一对应,避免了大量冗余的操作。


参考

  1. Sun P, Zhang R, Jiang Y, et al. Sparse R-CNN: End-to-End Object Detection with Learnable Proposals[J]. arXiv preprint arXiv:2011.12450, 2020.


  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值