paper:https://arxiv.org/abs/1809.02983
code:https://github.com/junfu1115/DANet
摘要
在本文中,我们通过基于自注意力机制捕获丰富的上下文依赖关系来解决场景分割任务。与以前通过多尺度特征融合捕获上下文的工作不同,我们提出了一个双注意力网络 (DANet) 来自适应地将局部特征与其全局依赖关系集成。具体来说,我们在扩张的 FCN 之上附加了两种类型的注意力模块,它们分别对空间和通道维度的语义相互依赖关系进行建模。位置注意模块通过所有位置的特征的加权和来选择性地聚合每个位置的特征。相似的特征将相互关联,无论它们的距离如何。同时,通道注意模块通过整合所有通道映射之间的关联特征来选择性地强调相互依赖的通道映射。
我们将两个注意力模块的输出相加,以进一步改进特征表示,从而有助于更精确的分割结果。我们在三个具有挑战性的场景分割数据集(即 Cityscapes、PASCAL Context 和 COCO Stuff 数据集)上实现了最新的分割性能。特别是,在不使用粗略数据的情况下,Cityscapes 测试集的平均 IoU 得分为 81.5%。
1.引言
场景分割是一个基本且具有挑战性的问题,其目标是将场景图像分割并解析为与语义类别相关的不同图像区域,包括物体(例如天空、道路、草地)和离散对象(例如人、汽车、自行车)。这个任务的研究可以应用于潜在的应用,如自动驾驶、机器人传感和图像编辑。为了有效地完成场景分割的任务,我们需要区分一些容易混淆的类别并考虑不同外观的物体。例如,“田野”和“草地”的区域通常无法区分,而“汽车”的对象可能经常受到尺度、遮挡和照明的影响。因此,需要增强特征表示对像素级识别的判别能力。
最近,已经提出了基于全卷积网络(FCN)[13]的最先进的方法来解决上述问题。一种方法是利用多尺度上下文融合。例如,一些作品 [3, 4, 30] 通过组合由不同扩张卷积和池化操作生成的特征图来聚合多尺度上下文。一些作品 [15, 28] 通过使用分解结构扩大内核大小或在网络顶部引入有效的编码层来捕获更丰富的全局上下文信息。此外,编码器-解码器结构提出融合中级和高级语义特征。虽然上下文融合有助于捕获不同尺度的对象,但它不能在全局视图中利用对象或事物之间的关系,这对于场景分割也是必不可少的。
另一种方法采用循环神经网络来利用远程依赖关系,从而提高场景分割的准确性。提出了基于 2D LSTM 网络 [1] 的方法来捕获标签上复杂的空间依赖关系。工作 [18] 构建了一个带有有向无环图的循环神经网络,以捕获对局部特征的丰富上下文依赖关系。然而,这些方法隐含地使用递归神经网络捕获全局关系,其有效性在很大程度上取决于长期记忆的学习结果。
为了解决上述问题,我们提出了一种新的框架,称为双注意力网络(DANet),用于自然场景图像分割,如图2所示。它引入了一种自注意力机制来分别捕获空间和通道维度上的特征依赖关系。具体来说,我们在扩张的 FCN 之上附加了两个并行的注意力模块。一个是位置注意模块,另一个是通道注意模块。对于位置注意模块,我们引入了自注意机制来捕获特征图任意两个位置之间的空间依赖关系。对于某个位置的特征,通过加权求和聚合所有位置的特征进行更新,其中权重由对应的两个位置之间的特征相似度决定。也就是说,任何两个具有相似特征的位置都可以相互促进,而不管它们在空间维度上的距离如何。对于通道注意模块,我们使用类似的自注意机制来捕获任意两个通道映射之间的通道依赖关系,并使用所有通道映射的加权和来更新每个通道映射。最后,融合这两个注意力模块的输出以进一步增强特征表示。
图 2:双重注意网络概述。 (最好以彩色观看)
应该注意的是,在处理复杂多样的场景时,我们的方法比以前的方法 [4, 30] 更有效和灵活。以图1中的街景为例。首先,第一排的一些“人”和“红绿灯”由于光线和视野的原因是不显眼或不完整的物体。如果探索简单的上下文嵌入,则来自主要显着对象(例如汽车、建筑物)的上下文会损害那些不显眼的对象标签。相比之下,我们的注意力模型选择性地聚合了不显眼对象的相似特征,以突出它们的特征表示并避免显着对象的影响。其次,“车”和“人”的尺度是多样的,识别如此多样的物体需要不同尺度的上下文信息。也就是说,不同尺度的特征应该被平等对待以表示相同的语义。我们的注意力机制模型只是旨在从全局角度自适应地整合任何尺度的相似特征,这可以在一定程度上解决上述问题。第三,我们明确地考虑了空间和通道关系,以便场景理解可以从远程依赖中受益。