《Dual Attention Network for Scene Segmentation》
文章:https://arxiv.org/pdf/1812.03904.pdf
代码:https://github.com/junfu1115/DANet/
存在的问题
为提高像素级识别特征表示的辨别能力:①利用多尺度上下文融合,结合不同的膨胀卷积和池化操作,来聚合多尺度上下文。②使用分解结构增大卷积核尺寸或在网络顶部引入有效的编码层,来捕获更丰富的全局信息。③编码器-解码器结构来融合中级和高级语义特征。④使用RNN捕捉长程依赖关系,从而提高分割精度。
而①②③中,虽然上下文融合有助于捕获不同比例的对象,但却无法利用全局视图中对象之间的关系。④中,使用RNN隐含地捕捉全局关系,但其有效性很大程度上依赖于长期记忆的学习结果。
本文提出的解决方案
为解决上述问题,本文提出了双注意力网络(DANet),基于自注意力机制来分别捕获空间维度和通道维度中的特征依赖关系。具体而言,本文在dilated FCN上附加了2种注意力模块,分别对空间维度和通道维度上的语义依赖关系进行建模。
- 其中position attention module使用自注意力机制捕获特征图在任意两个位置之间的空间依赖关系,通过加权求和对所有位置的特征进行聚合更新,权重是由对应两个位置的特征相似性决定的。
- Channel attention module使用自注意力机制来捕获任意两个通道图之间的通道依赖关系,并使用所有通道图的加权,和更新每个通道图。
- 这两个注意力模块的输出进行融合,进一步增强了特征表示。
因此本文方法更有效更灵活:①选择性地聚合不起眼物体的相似特征,突出它们的特征表示,避免了突出物体的影响。②从全局的角度自适应地集成任何尺度上地相似特征。③明确地考虑空间和通道的关系,这样场景理解可以利用长期依赖关系。
DANet
因为卷积操作产生的是局部感受野,导致相同标签的像素对应特征可能不同,这种差异会进而导致类内的不一致性,影响识别的准确率。所以本文提出:在特征,之间使用注意力机制建立关联以获取全局上下文信息。
(1)Position Attention Module
观察:传统FCNs生成的特征会导致对物体的错误分类。
解决:引入位置注意模块在局部特征上建立丰富的上下文关系,将更广泛的上下文信息编码为局部特征,进而增强他们的表示能力。
Spatial attention map的计算:,sji度量第i个位置对第j个位置的影响,也就是第i个位置和第j个位置之间的关联程度/相关性,越大越相似。
Output的计算:,α表示尺度系数,初始化为0,并逐渐地学习分配到更大的权重。每个位置的结果特征E,是所有位置和原始位置的加权和。因此它具有全局上下文视图,并能根据空间注意力图有选择地聚合上下文。
(2)Channel Attention Module
观察:每个high level特征的通