【论文学习记录】Light-Head R-CNN: In Defense of Two-Stage Object Detector
这篇旷视科技和清华大学联合发表的,为目标检测的two-stage方法挽回尊严(哈哈哈),论文原文《Light-Head R-CNN: In Defense of Two-Stage Object Detector》。
一直以来,在目标检测领域,one-stage方法和two-stage方法之间都有着一个不可逾越的鸿沟,one-stage 方法(YOLO, SSD等)检测速度快,但是精度差了一些,two-stage的方法精度高,但是速度太慢。
作者说two-stage方法之所以慢是因为the head is heavy。Two-stage方法第一步是生成proposals,这一步的网络称之为body,第二步是识别这些proposals,这一步的网络称之为head。因为对每一个ROI计算的子网络很大,所以不管怎么选择轻量级的backbone网络,对速度的提升也不会很大,因为主要的计算量不在这里。
对比Faster RCNN和R-FCN,Light-Head R-CNN结合了二者的优点:
- 使用了thin feature map 10×p×p ,代替R-FCN的classes × p × p,这就避免了R-FCN的feature map太大,且随着类别数的增加而增加。
- 在thin feature map的后面接ROI pooling得到的feature map也薄了,后面再接全连接层计算量也就小了,对比Faster RCNN后面接2048维的全连接层。
对于通用目标检测任务,作者做了两种设置。
- L:将ResNet作为基础的特征提取器,精度高。
- S:将Xception-like作为特征提取器,速度快。
将2048channels的feature map压缩为thin feature map,作者使用了large separable convolutional layers来保证不会丢失太多精度。
其中,k = 15, S设置 Cmid = 64, L 设置 Cmid = 256。
然后后面接一个全连接层,然后再接两个并列的全连接层分别用于分类和回归。因为前面输出的feature map大小只有10×p×p,所以全连接的计算量也不会很大。
论文中,RPN作者使用了三种不同的aspect ratios {1:2,1:1,2:1}和五种不同的尺度{32 x 32,64 x 64,128 x 128,256 x 256,512 x 512}来覆盖不同的目标尺寸。并且使用了NMS去掉大量重复的proposals, 阈值设为0.7。
下面是一些实验结果。
在R-FCN原网络上做了简单的修改就提高了3个点的mAP。
使用thin feature map精度稍稍下降。