Light-Head R-CNN(In Defense of Two-Stage Object Detector) 学习笔记

论文: Light-Head R-CNN: In Defense of Two-Stage Object Detector

代码: https://github.com/zengarden/light_head_rcnn

作者: Zeming Li, Chao Peng, Gang Yu, Xiangyu Zhang, Yangdong Deng, Jian Sun

一、Light-Head R-CNN的提出

论文主要解决two-stage目标检测框架不如singe-stage检测框架速度快的问题。论文中首先以Faster R-CNN和R-FCN为例,分析了为什么two-stage检测框架速度慢的原因: 在RoI warping前面或后面存在密集计算操作。Faster R-CNN对于每个RoI都是单独计算来分类和回归的,当RoI的数量更多时会变得更早;而且,在RoI pooling之后的通道数较多,使得第一个全连接层占用大量内存并影响计算速度。R-FCN和Faster R-CNN不同,它会使RoIs共享计算;它主要计算发生在PSRoI(position-sensitive RoI) pooling之前,即生成较大的score maps。这些网络中heavy head部分使得网络的速度很慢;即使大大减少基本模型(骨干网络),也无法相应地降低计算成本。Faser R-CNN和R-FCN的结构如Fig2的A, B所示。

Light-Head R-CNN(In Defense of Two-Stage Object Detector) 学习笔记

Head在论文中连接骨干网络的架构。更具体地说,包含两个成分: RoI warping和R-CNN子网络。

论文中提出了一个light-head的设计来构建一个高效的、精确的 two-stage检测器。设计中,通过使用一个thin的特征图和一个cheap的的R-CNN子网络,使得head尽可能的light。具体地,

  • light-head R-CNN使用了一种large-kernel separable卷积来创建thin的特征图,即通道数量较少的特征图;这种设计大大减少了roi-wise的计算,并使得检测系统是memory-friendly的。
  • R-CNN子网络中将原来两个计算量大的全连接层替换成了一个cheap的全连接层,而且可以很好地利用特征表示进行分类和回归。

二、Light-Head R-CNN介绍

Light-head R-CNN的结构如图Fig2 C所示,主要创新点是thin的特征图(即具有较少通道的特征图)和cheap的R-CNN子网络。

2.1 Thin feature maps for RoI warping

在将proposal送入到R-CNN子网络之前,需要进行RoI warping使得特征图的具有固定的shape。在Light-Head R-CNN中产生了具有较少数量通道的特征图(thin feature maps),然后是常规的RoI warping操作。实验结果证明,在thin feature maps上进行RoI操作不仅提高了准确性,还可以节省训练和推测过程中内存和计算量。

产生thin feature maps是采用large separable 卷积,如Fig3所示。

Light-Head R-CNN(In Defense of Two-Stage Object Detector) 学习笔记

对于large separble卷积,论文中设置k=15k=15, Cmid=64C_{mid} = 64(小的骨干网络, Xception等)或Cmid=256C_{mid} = 256(大的骨干网络, ResNet101等),Cout=10ppC_{out} = 10 * p * p,但比R-FCN中的KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲classes * p * p要小很多。

在产生了thin feature maps,可以使用Faster R-CNN中的常规的RoI pooling,也可以使用PSRoI pooling。在使用PSRoI pooling的时候,可以舍弃global average pooling。

2.2 R-CNN 子网络

R-CNN子网络只使用了一个无dropout的具有2048个通道的全连接层,接下来是两个sibling全连接层来对RoI进行分类和回归。

2.3 RPN

RPN(Region Proposal Network)是sliding-window类的、类别无关的检测器,在这里使用ResNet101中C4C_4的特征。而且,这里设置了5种不同尺度的anchors,{322,642,1282,2562,5122}\lbrace 32^2, 64^2, 128^2, 256^2, 512^2 \rbrace,宽高比是{1:2,1:1,2:1}\lbrace 1:2, 1:1, 2:1\rbrace

三、Ligth-Head R-CNN实验结果

Light-Head R-CNN的有效性

Light-Head R-CNN(In Defense of Two-Stage Object Detector) 学习笔记

LightHead RCNN: High Accuracy

Light-Head R-CNN(In Defense of Two-Stage Object Detector) 学习笔记

LightHead RCNN: High Speed

Light-Head R-CNN(In Defense of Two-Stage Object Detector) 学习笔记