对于场景分割的双注意力网络
Dual Attention Network for Scene Segmentation
摘要
本文中,我们通过基于自我注意力机制捕捉了丰富的上下文依赖,来处理场景分割任务。不像之前的工作,他们通过多尺度的特征融合来捕捉上下文,我们提出了一个双注意力网络(DANet),以自适应地整合多层特征和它们的全局依赖。特别多,我们在扩张FCN上追加了两种类型的注意力单元,分别在空间和通道维度上对语义相互依赖进行了建模。
位置注意力单元选择性地在每一个方向上聚集了特征,通过在所有方向上的加权特征和。相似的特征不管距离如何,彼此相关。同时,通道注意力单元选择性地强调了相互独立的特征图。
我们只能对两个注意力单元进行的输出求和,以进一步改善特征表现,取得了更加准确的分割图。在三个场景理解挑战赛的分割数据集(Cityscapes, PASCAL Context, COCO Stuff)上取得了新的最先进的结果。尤其的,不使用任何粗数据,在Cityscapes上取得了81.5%的mIoU.
引言
场景理解很重要,基于全卷积网络的方法解决这种问题。
1、使用多尺度的上下文融合。
2、增大感受野、在网络上面加入编码器网络。
3、编码器-解码器结构融合中层和高层语义信息,但是无法使用objects
和stuff
之间的联系。
使用循环神经网络利用长范围的依赖,改善场景理解的准确率,但是有效性取决于长期记忆的结果。
为了解决上面的问题,作者提出了Dual Attention Network, DANet
,结构如下:
两个注意力机制:
- 位置注意力机制:自我注意力机制捕捉特征图中任意两个位置的空间依赖。
- 通道注意力机制:通过加权求和对所有位置的特征进行聚集,权重取决于特征相似度。
主要贡献
- 提出DANet
- 提出位置和通道两种注意力机制
- 取得最先进的结果
相关工作
语义分割网络
-
DeepLabv2、v3:atrous金字塔池化使用了上下文信息,不同扩张率的并行扩张卷积。
-
PSPNet:特征金字塔池化,收集了上下文信息先验。
-
编码器-解码器结构:融合中层和高层特征
-
DAG-RNN:循环神经网络利用上下文信息
-
PSANet:捕捉卷积层之间的像素级别的关系
-
EncNet: 通道注意力机制捕捉全局上下文
自我注意力机制
作者将注意力机制用在场景理解中,两种注意力单元捕捉了丰富的上下文关系。
双注意力网络
文章安排如下:
github地址:
https://github.com/junfu1115/DANet/
需要四块GPU。
总结
本文中,我们提出了一个针对场景理解的双注意力网络,使用自我注意力机制自适应地整合了局部语义特征。特别的,我们介绍了一个位置注意力单元和一个通道注意力单元来分别捕捉空间和通道维度的全局依赖。
晓蓉饰演说明双注意力单元高效捕捉了长范围的上下文信息,基于了更准确的分割结果。我们的双注意力网络在四个场景理解数据集上一致取得了更好的性能。另外,减少计算复杂度和提升模型的鲁棒性很重要,也是我们将来工作的研究内容。