Exploit All the Layers: Fast and Accurate CNN Object Detector with SDP and CRC
核心:
在Fast-RCNN的基础上,设计了两种改进方法:
- 一是尺度相关的池化SDP用于提升小尺寸物体检测;
- 二是逐层级联拒绝分类器CRC用于提速。
- 利用卷积网络的每一层的特征来拒绝负的Proposals;
- 对没有被拒绝的proposals使用SDP进行评估;

Scale-Dependent Pooling
- 该方法是基于Fast-RCNN的,SDP根据每个proposal的尺寸,从对应的卷积层特征图(conv feature map)池化特征。与SDP连接的fc层有与尺寸相关的参数,结构如下图所示:
- SDP模型的三个分支是conv3,conv4,conv5,每个分支包含2个后续的fc层,ReLU**及Dropout层计算bbox和score。主要对小尺寸的物体在卷积图比较大时能保存更多的信息。
- 输入的object proposals首先根据它们的高度分成3组,然后输入到相应的ROI pooling层,从相应的卷积层输出中池化特征。
- 实验中 SDP_3[0,64] ; SDP_4[64,128]; SDP_5[128,无穷]。
Cascaded Rejection Classifiers
思想:每个尺度组训练一个级联拒绝分类器,每个拒绝分类器有50个弱分类器组成,boosting分类器累积弱分类器的响应。
对于proposal比较多的情况,使用CRC逐层排除负样本。对每个尺度组分别学习拒绝分类器Rls。
若某个尺度s下有N个proposal的bbox及它们的标记,池化对应的卷积层特征,学习的线性boosting分类器累积弱分类器的响应:
Rls(x)=∑Tt=1wtht(x)
弱分类器的决策函数可以认为是二值分类:
ht(x)=sign(xv−δv)
为了不增加训练更强拒绝分类器的计算量,使用上一级的弱分类器初始化下一级的弱分类器。每个拒绝分类器有50个弱分类器。
在测试时,给定50维弱分类器,使用2个fc层和一个hyperbolic,一个tanh层用于拟合boosting分类器,具体的结构如图3所示。
在Kitti上的实验结果如下:
效果图: