作者:Zhen Zhu, Mengde Xu, Song Bai, Tengteng Huang, Xiang Bai
机构:Huazhong University of Science and Technology, University of Oxford
1. 背景
在语义分割任务中,长距离依赖无法通过简单的卷积操作获得,wang等人在Non-local neural networks中提出的non-local block使得特征图上每个位置的输出都结合了整个图片上所有位置上的特征,使得分割网络的结果得到提升。然而,non-local block的计算量较大,需要较大的显存开销,这阻碍了non-local network在实际应用中的使用。本文提出了APNB来减少non-local block的计算量和显存开销,AFNB通过提升分割性能增强non-local block的学习能力。
2. 方法--Asymmetric Non-local Neural Network
2.1. Revisiting Nonlocal Block
输入
1.经过3个1*1的卷积Query,Key和Value变换之后,分别得到,
,
2.计算所有空间位置特征向量的相似度:
3.归一化:
4.根据所有空间位置特征向量的相似度加权求和:
5.新特征经过1*1卷积变换后与原输入特征拼接:
计算复杂度:
2.2. Asymmetric Pyramid Nonlocal Block(APNB)
Non-local的计算复杂度主要来自第2步和第4步:
Intuitive Observation:将N减小为S,不会改变输出的size
将N减少到S相当于从和
采样一些特征点,代替使用H*W空间范围内的点,如图1所示,增加两个采样模块
和
,采样一些稀疏的锚点
和
,S就是锚点的数量。
1.经过3个1*1的卷积Query,Key和Value变换之后,分别得到,
,
2.采样:,
3.计算所有空间位置与S个采样点的特征相似度:
4.归一化:
5.根据相似度加权求和:
5.新特征经过1*1卷积变换后与原输入特征拼接:
计算复杂度:
APNB的锚点采样策略:
通过金字塔池化对Key路径和Value路径得到的特征图和
进行下采样,得到
和
.
4种不同尺度的池化操作:{1,3,6,8},采样的锚点数量=110
2.3. Asymmetric Fusion Nonlocal Block(AFNB)
为了能够融合来自多个级别的特征,文章提出了AFNB,因为APNB模块后续计算允许特征图不同大小N和S,所以我们可以让APNB输入的特征图来自网络不同的level,即AFNB。如下图,Query路径的特征图来自high-level层级,Key路径和Value路径的特征图
来自low-level级别。
2.4. Network Architecture
backbone:ResNet-101,使用空洞卷积替换最后两个下采样操作最后3个stage(stage3,stage4,stage5)的特征图
具有相同大小,stage4和stage5的特征图送入AFNB,输出与stage5的特征图拼接后再送入APNB,输出与输入拼接后,最后经过分类器,得到分割得分图。
3.实验
Efficiency Comparison with Non-local Block
Performance Comparisons
定量:
定性:
在较大物体的局部区域一致性表现更好。
Ablation Study:
common fusion:Stage5 + ReLU(BatchNorm(Conv(Stage4))) to Baseline model