论文:CoupleNet: Coupling Global Structure with Local Parts for Object Detection 来源:ICCV 2017
以ResNet-101作为backbone,提取CNN特征;
Region Proposal Network (RPN) 生成候选区域;
PSRoI pooling提取局部信息,得到位置敏感得分图后,得出类别概率和预测边界框(R-FCN head);
RoI poiling提取全局信息,并得出类别概率和预测边界框(Fast R-CNN head);
对上述2个head所得结果进行耦合(couple)。
CoupleNet同时使用了Local FCN分支和Global FCN分支进行检测,那么要考虑的关键问题就是如何对结果进行耦合,以及在耦合之前要如何做normalize。下面以分类子任务进行介绍
为什么在耦合前要进行normalize?
来自CNN不同层的特征具有不同的scale:Local FCN分支和Global FCN分支所输出的 C + 1 C+1 C+1维向量是原始输出,并未经过softmax得到类别概率,所以这两者的取值范围是不一样的,比如Local FCN分支输出的 C + 1 C+1 C+1维向量的元素值在 [ 0 , 0.5 ] [0, 0.5] [0,0.5]内,而Global FCN分支所输出的 C + 1 C+1 C+1维向量的元素值在 [ 0 , 0.01 ] [0, 0.01] [0,0.01]内,显然由于取值范围不同,不能直接耦合,所以要normalize到同一取值范围下,保证两者的scale相同。使用何种normalization?
L2 normalization 1 × 1 1\times1 1×1 convolutional layer to learn the scale实验结果
使用L2 normalization比不使用任何normalization的效果更差。作者对使用L2 normalization前后的向量进行研究,发现使用L2 normalization后不同类别分数之间的差异变小了,使得分类结果更差。L2 normalization后元素会落入单位超球面内。element-wise sum
element-wise product
and element-wise maximum
实验结果表明,element-wise sum的效果最好。目前的ResNet一般也采用element-wise sum作为整合前层信息的有效方式,极大地促进了信息的流通,实现了优势互补。