DANet:Dual Attention Network for Scene Segmentation 论文翻译(学习)2019-8-30

 

目录

1.Introduction

2.Related Work

3.Dual Attention Network

    3.1.Overview

    3.2.Position Attention Module

    3.3.Channel Attention Module

    3.4.Attention Module Embedding with Networks

4.Experiments

     4.1.Datasets and Implementation Details

           4.1.1.Implementation Details

     4.2.Results on Cityscapes Dataset

                    4.2.1.Ablation Study for Attention Modules

            4.2.2.Ablation Study for Improvement Strategies

             4.2.3.Visualization of Attention Module

            4.2.4.Comparing with the-state-of-art

     4.3.Results on PASCAL VOC 2012 Dataset

    4.4. Results on PASCAL context Dataset

    4.5. Results on COCO Stuff Dataset

5.Conclusion

paper:https://arxiv.org/pdf/1809.02983.pdf

code:https://github.com/junfu1115/DANet

1.Introduction

场景分割

  • 特点:基本的,有挑战性的
  • 目的:将图片分割成不同的区域并理解它,这些区域与语义类别有关,包括stuff(sky、road、grass)和不连续的对象(person、car、bocycle)
  • 应用:自动驾驶、机器视觉、图像编辑
  • 实现要求:区分混淆的类别、考虑不同外观的对象    ————>>  场景分割
  • 结论(提出问题):增强像素级识别特征表示的判别能力很有必要。
  • 发展历史(解决问题):FCNs

            方法一: utilize the multi-scale context fusion:

文献列举+指出问题( Although the context fusion helps to capture different scales objects, it can not leverage the relationship between objects or stuff in a global view, which is also essential to scene segmentation. )

            方法二: employs recurrent neural networks to exploit long-range dependencies

文献列举+指出问题( these methods capture the global relationship implicitly with recurrent neural networks, whose effectiveness reliesheavilyonthelearningoutcomeofthelong-termmemorization. )

           提出DNNet(解决问题):总体(引入 self-attention mechanism)+具体(position attention module+ channel attention module+融合)

  • DNNet的优势:处理复杂多样的场景时更加有效灵活,如图1:

first:第一行中的一些人和交通灯由于光照和视野的影响,不明显或不完整。如果探索简单的上下文嵌入,那么主要的显眼目标的上下文将会影响不明显的对象标签。   相反,attention 模块选性的聚合了不显眼目标的相似特征以增强他们的特征表达,避免了显眼目标的影响。

second:car和person的大小不同,辨认这种不同大小的目标需要不同尺度上的上下文信息。也即是:平等的对待不同尺度上的特征以表示相同的语义。我们带有注意机制的model目标仅在于:从全局视角上,自适应性的聚合任意尺寸的相似特征。这可以在某种程度上解决上述问题。

third:我们明确的考虑空间和位置之间的关系,使得场景理解从long-range 依赖中获益。

  • 主要贡献

1、DANet的提出:提出带注意机制的DANet,增强了场景分割特征表示的判别能力;

2、两个模块:位置注意模块用来学习特征的空间依赖性,通道注意模块用来模拟通道依赖性。对局部特征模拟大量的上下文依赖显著的提高了分割结果。

3、测试:在三个流行的基准测试中获得了最新的结果,Cityscapes、PASCAL Context、COCO Stuff。

2.Related Work

  • Semantic Segmentation. 基于FCNs的方法在语义分割方面取得了很大进展。以下几种模型的变体以增强上下文融合。   

           first:Deeplabv2、v3     采用带孔的金字塔池化来嵌入上下文信息,由不同扩张率的并行扩张卷积组成。

                    PSPnet     金字塔池化模块来收集有效的上下文先验,包括不同尺寸的信息。

                    编解码器结构    融合中高级语义特征,来获得不同尺寸的上下文。

           second:学习局部特征的上下文依赖关系有助于特征表达。

                    DAG-RNN    利用循环神经网络建立有向无环图模型(??),以获取丰富的上下文依赖关系。

                    PSANet   用卷积层和空间维度的相关位置信息   来获取像素间的关系。

                    OCNet     带ASPP的自我注意机制   来挖掘上下文依赖关系。

                    EncNet   引入通道注意机制   来获取全局上下文。

  • Self-attention Modules. 注意模块对long-range 依赖关系建立模型,被广泛应用在很多任务中。

             [1]中首先提出自我注意机制来获取输入的全局依赖,并应用在机器翻译中。同时,attention module也逐渐应用在图像视觉领域。

            [29]引入自我注意机制来学习更好的图像生成器。

            [23] 与自我关注模块有关,主要探讨视频和图像在时空维度上的非本地操作的有效性。

  • 与前者不同,我们将自我注意机制推广到场景分割任务中。精心设计了两种注意模块来获取丰富的上下文关系,以便用类内紧凑性实现更好的特征表达。 综合实验结果验证了我们提出的方法的有效性。

3.Dual Attention Network

    3.1.Overview

  • 指出问题:给定一幅场景分割的图片,物体或物体在尺度、光照和视图上是不同的(!?)。卷积操作会导致局部感受野,对于具有相同标签像素的特征会存在差异。 这些差异引入了类内不一致性并影响了识别准确性。
  • 解决问题:用注意机制建立特征之间的关联性,探索全局上下文信息。这种方法可以自适应地聚合远程上下文信息,从而改善场景分割的特征表示。
  • DANet整体框架:设计两种注意模块来从局部特征中获取全局上下文信息,这种局部信息由带扩张卷积的残差网络输出。(1)我们采用带扩张策略的预训练残差网络作为backbone(主干?)。移除了最后两个残差块的下采样,并采用扩张卷积。因此将feature map扩大为输入图像的1/8。没有增加参数但获得了更多的细节。      (2)将扩张残差网络后的feature map喂入两个相似的注意模块。    (3)上半部分的空间注意模块:采用卷积层获得降维后的 features,将其喂入位置注意模块,再通过以下3步输出大范围空间上下文信息的的features。  第一步:输出空间注意矩阵,这种矩阵对features的任意两个像素之间的空间关系进行建模。  第二步:对注意矩阵和原始features执行矩阵乘法。   第三步:将以上乘法的结果和原始features对应元素相加,得到可以反映大范围上下文信息的最终表示。       (4)与此同时,通道维的大范围上下文信息通过通道注意模块获取。获取通道关系的过程与位置注意模块相似,除了第一步,通道注意矩阵由通道维计算出。  (5)最后,融合两个注意模块的输出获得像素级别预测更好的特征表示。

 

    3.2.Position Attention Module

判别特征表示对于场景理解至关重要,可以通过抓取long-range上下文信息得到。然而,一些研究显示由传统FCNS产生的局部特征可能导致对对象和物体的错误分类。为了对局部特征的大量上下文关系建模,我们引入了位置attention模块。该模块将广泛的上下文信息编码进局部特征,因此增强了特征表示能力。

下面详细阐述了自适应地集合空间上下文的过程。

如图3A,局部特征A属于  R(C×H×W),经过卷积层,产生两个新的teature map B、C(也属于R)。B、C经过reshape为C×N(N = H × W 像素数)。C的转置×B(??图中为B的转置×C??)。然后利用softmax层计算出空间attention map :S(属于R(N×N))

公式中,Sji表示第i个位置对第j个位置的影响。两个位置的特征表示越相似度,它对两者关系的贡献越大。两个位置越相似的特征表示有助于它们之间更大的相关性。

与此同时,A经过卷积层后产生新的feature map D(属于R(C×H×W)),reshape为R(C×N),然后乘以(S的转置),再reshape为R( C×H×W)。接着乘以参数α,最后与A对应元素相加得到E(∈ R C×H×W),如下公式:

公式中,α初始值为0,逐渐从更多的权重中学习。由式2可知,每个位置的最终特征E是所有位置的特征与原始特征的加权和。因此,它具有全局上下文视图,并根据空间attention map 有选择性的聚合上下文。相似的语义特征实现了相互的收获(互惠互利),因此,提高了类内紧凑和语义一致性。

    3.3.Channel Attention Module

可以将高级特征的每个通道图看作一个特定类别的响应,且不同语义的响应是互相联系的。通过利用通道图之间的相互依赖性,可以强调相互独立的feature map,并且改善特定语义的特征表示。因此,我们构建了通道attention 模块对通道之间的相互依赖性进行精确建模。

图3B为通道attention 模块的结构,与位置attention 模块不同,直接通过原始特征A(∈ R C×H×W)计算通道attention map X(∈ R (C×C)),具体来说,将reshape  A为R(C×N),然后A乘以A的转置,最后通过softmax层达到通道attention map X(∈ R (C×C))。

Xji衡量了第i个通道对第j个通道的影响,另外,X的转置乘以A,接着,reshape 结果为R(C×H×W),然后,乘以参数β,最后,和A对应元素相加,,得到最后的输出E(∈ R (C×H×W))

β,从0开始并逐渐从参数中学习。等式4可知:每个通道最后的特征,为所有通道的特征和原始特征的加权和。他对long-range 的feature map 之间的语义依赖性建模。有助于增强特征判别。

在计算两个通道关系之前没有使用卷积层嵌入特征,这样可以维持不同通道特征映射之间的关系。另外,最近的研究中通过全局池化或编码层来探索通道关系,与之不同,我们利用所有对应位置的空间信息去模拟通道相关性。

    3.4.Attention Module Embedding with Networks

为充分利用大范围上下文信息,汇总两个注意模块的features。 具体而言,通过卷积层转换两个注意模块的输出,并执行对应元素加和来实现特征融合。紧接着一个卷积层用来输出最终的预测图。我们没有采用跳层操作,它需要更多的GPU资源。我们的注意模块很简单,可以直接嵌入已有的FCN。而且没有增加太多的参数,但有效增强了特征表达能力。

4.Experiments

 在这些数据集上做了全面的实验:Cityscapes dataset 、PASCAL VOC2012、 PASCAL Context dataset 、and COCO Stuff dataset. 实验结果证明DNANet在三个数据集上实现了最先进的性能。

     4.1.Datasets and Implementation Details

  • Cityscapes :50个城市、5000图像(2048×1024)、19个语义类别标签、训练集2979、验证集500、测试集1525
  • PASCAL VOC 2012 :训练集10582、验证集1449、测试集1456、20+1类别(目标+背景)
  • PASCAL Context :整个场景的详细语义标签、4998训练集、5105测试集、参考[10.28],我们使用最常见的59个类别+背景做评估。
  • COCO Stuff:9000训练、1000测试、参考[6,10],我们报告了171个类别的结果(80个objects,91个stuff)

           4.1.1.Implementation Details

  • 框架:Pytorch
  • 多元(poly?)learing rate:初始学习率✖
  • base learning rate:0.01(Cityscapes)
  • momentum:0.9
  • weight decay:0.0001
  • train:Synchronized BN
  • batch size:8(Cityscapes);16(other)
  • epoch:180(COCO stuff);240(other)
  • Multi-loss
  • data augmentation:random cropping (cropsize 768) 、 random left-right flipping (during training in the ablation study for Cityscapes datasets. )

     4.2.Results on Cityscapes Dataset

            4.2.1.Ablation Study for Attention Modules

我们在扩张网络顶部使用双重注意模块来获得大范围依赖关系,以便更好地理解场景。table1的实验结果证明了注意模块的性能:

            

 表1中,注意模块极大地提高了性能。与baseline FCN (ResNet-50)相比,采用位置注意模块(PAM)miou:75.74%,提高了5.71%。采用通道注意模块(CAM)提高了4.25%。采用两者,miou:76.34%。采用更深得预训练模型(resnet101),采用两者比FCN提高了5.04%。证明:注意模块为场景分割带来了极大的益处。

图4中可以看出PAM的效果:使用PAM可以使一些细节和目标边界更清晰,比如第一行的杆,第二行的人行道。对局部特征的选择性融合增强了对细节的识别。

图5证明:使用CAM,一些错误识别的类别可以被正确分类。例如第一行和第三行的bus。通道图之间的选择性集成有助于获取上下文信息。 语义一致性(??)明显提高。

            4.2.2.Ablation Study for Improvement Strategies

   采用与[4]相同的策略来提高性能:

  • DA:random scalin
  • Multi-Grid: 在最后的 残差块采用不同大小的 hierarchy of grids
  • MS:平均分割概率图(来自8个图像尺度{0.5 0.75 1 1.25 1.5 1.75 2 2.2})进行推断。?????

实验结果表2:

  • DA:提高1.26%,证明丰富训练数据的尺寸多样性有益于网络。
  • Multi-Grid: 为获得更好的预训练网络特征表示,提高1.11%。
  • 总提高到81.50%,超过了著名的deeplabv32.20%(79.30% on Cityscape val set)

             4.2.3.Visualization of Attention Module

    位置attention,self-attention map大小为(H ×W)×(H ×W),这意味着image的每一个点在map中都有一个对应的(H×W)大小的sub-attention map。图6中,对每个输入图像,我们选择两个点(标记为#1,#2),在第2,3列分别展示出对应的sub-attention。可以观察到:位置attention模块可以获得清晰的语义相似性和long-range关系。例如,第一行,1号点标记在建筑物上,它的attention map(第二列)突出显示了建筑物所在的大部分区域。并且,在sub-attention map中边界非常清晰,尽管一些点距离#1很远。点2的attention map集中在标记为car的大部分位置。第二行的“信号灯”和“人”亦然,尽管他们的像素少一些。第三行为“植物”和“人”,特别的是,2号点对近处的骑手没有响应,但对远处的人由响应(请看第三列左半部分高亮处)。

  对于通道attention 模块很难直接给出便于理解attention map的可视化。作为替代,我们展示出一些参与的通道,来看看他们是否突出显示了清晰的语义区域。图6第4,5列展示了第11、第4个参与的通道(???)。可以发现:特定的语义响应在通道attention模块增强之后是能够看到的。例如,在这三个例子中,第11个通道map对“car”类有响应;第4个通道对“植物”类有响应,这对两种类别的分割是有益的。简而言之:以上可视化进一步证明了在场景分割时,抓取long-range 依赖性对于提高特征表达很有必要。
 

            4.2.4.Comparing with the-state-of-art

进一步在cityscapes测试集上与已有方法比较:只用精化的标注数据训练DANet101,并把测试结果提交到官方评估服务器。结果如下表3.DANeet的表现超过了有主要优势的已有方法。!!?尤其,我们的方法在很大程度上优于有相同主干的PSANet。再者,它也优于使用更强大预训练模型的DenseASPP。

     4.3.Results on PASCAL VOC 2012 Dataset

我们用VOC2012数据集进行实验进一步评估效果,定量结果如表4.Attention模块显著提高了性能,DANet-50提高了3.3%。采用更深的网络resnet-101,模型达到了80.4%的mIOU。参考[4,28,30],我们使用trainval进一步优化模型。VOC2012测试集上的结果如表5。

    4.4. Results on PASCAL context Dataset

在PASCAL context Dataset评估:在VOC2012上 采用相同的训练、测试设置,PASCAL context的定量结果如表6.Dilated FCN-50 miou:44.3%。DAnet-50提高到50.1%。DANet-101:52.6%,这远超之前的方法。在之前的研究中,Deeplabv2、Refinenet通过不同的孔卷积和编码器的不同阶段,采用Multi-scale特征融合。另外,他们用额外的COCO数据集训练模型,或采用更深的model(resnet152)来提高分割结果。与这些不同,我们引入了attention模块精确的获取全局依赖性。并且这种方法实现了更优的性能。

    4.5. Results on COCO Stuff Dataset

用COCO Stuff Dataset数据集验证网络。与之前先进的方法比较如表7.我们的model达到了39.7%的MIOU,在和大程度上优于其他。DAG-RNN利用chain-Rnns对2D图像空间依赖性进行建模;[6]在解码器阶段使用gating 机制(门控机制)以改善不明显的对象与背景的分割。本文方法可以更高效地获取大范围上下文信息,场景分割时学习到更好的特征表达。

5.Conclusion

本文提出了DANet进行场景分割,该方法使用self-attention 机制有选择性地集合了局部语义特征。具体来说,我们引入了position attention module 和  channel attention module,分别从空间和通道维获取全局依赖性。ablation实验证明两个模块可以有效获取大范围的上下文信息,并得到精确分割结果。我们的网络在Cityscapes, Pascal VOC 2012, Pascal Context, and COCO Stuff据集上均达到了出色的性能。另外,降低计算复杂性,提高模型鲁棒性也是很重要的,未来工作中将进一步研究。


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值