SSA-CNN: Semantic Self-Attention CNN for Pedestrian Detection
Chengju Zhou, Meiqing Wu, Siew-Kei Lam
Nanyang Technological University, Singapore 2019
SSA-CNN在训练中的4个尺度引入了分割,并将用于分割的特征图融合回backbone,作为self-attention。仅仅需要限位框标注而无需像素级的分割标注。据称在Caltech上达到了top的成绩,CityPerson上前列的成绩,同时运行效率高。
SSA-CNN
论文可以说是受SDS-RCNN等利用分割来帮助检测的方法的影响,不过与SDS-RCNN只在最后一层增加分割分支不同,本文在RPN和RCNN共4层上加入了分割,并融合回主干进行self-attention。
基于Faster R-CNN,提出了SSA-CNN,包含SSA-RPN和SSA-RCNN
Semantic Self-Attention RPN (SSA-RPN)
原始的RPN是在共享的特征图上使用一个小网络,以滑动窗口的形式以预定义的尺度和长宽比预测限位框proposal。本文使用了VGG-16的conv1-5作为SSA-RPN。
在Conv4_3和Conv5_3上增加了两个语义分割分支,见图1上的灰色区域。并将分割的特征图concat回主干上。这是与SDS-RCNN的主要区别。从图2可以观察到,这种区别造成SSA-RPN能高亮行人区域,而SDS-RCNN无法定位行人。Conv4_3所连接的检测与分割仅用于训练,不会影响部署速度。
SSA-RPN的loss如下:
其中$L_c$, $L_r$ 和 $L_s$分别是用于分类的CE,用于限位框回归的Smooth-L1和用于分割的CE。如果与gt的IoU大于0.5,则proposal为正样本,否则为负。
训练SSA-RPN时,lr为0.001,每70000次iter除以10,momentum为0.9。batch-size为1。每张图随机采样120个proposal,正负样本比例为1:5。conv1-5权重来自预训练的VGG-16,其余层用标准差0.01的高斯分布初始化,conv1的参数训练中固定。
Semantic Self-Attention R-CNN (SSA-RCNN)
SSA-RCNN的目的是通过对SSA-RPN的proposal进行分类,进一步提升性能。用于通用检测的Faster R-CNN中使用了ROI pooling来从特征图上提取固定维度的特征。但当ROI的输入分辨率低于输出时(即当在原图上尺寸为$112\times 112$,特征图上为$7 \times 7$),pooling bin会失败,造成单调而无辨识力的特征。而对于行人检测来说,很多时候都低于这个尺寸。因此本论文直接从原图crop proposal而不是特征图。crop后将其padding 25%,并rezize到$112\times112$,然后送入SSA-RCNN。
与SSA-RPN一样,在Conv4_3和Conv5_3上增加了两个语义分割分支,但Conv4_3_seg的特征图没有concat回主干,而是通过步长为2的池化后,与Conv5_3_seg的特征图concat,再与Conv5_3的特征图concat。这一部分的loss为:
从论文的数据来看,此模型的误检率、速度、检出率都很优秀。