Semantic Segmentation---Adaptive Pyramid Context Network for Semantic Segmentation(论文解读十七)

Title:Adaptive Pyramid Context Network for Semantic Segmentation

From:CVPR2019

Note data:2019/06/30

Abstract:提出Adaptive Context模块,在估计局部区域权重时,利用局部和全局上下文特征表示的GLA特性

Code :暂未开源


目录

1 Abstract

2 Introduction

3 Relate work

3.1 多尺度上下文

3.2 全局上下文

4 Method

4.1 自适应上下文模块(ACM)

4.2 APCNet

4.3 其他方法

5 Experiments

6 Conclusion



1 Abstract

论文首先介绍了语义分割任务中上下文特征的三个理想特性。发现Global-guided Local Affinity(GLA)在构建上下文特征时起这重要作用,而在以前的工作中,这个属性在很大程度上被忽略了。本文提出了自适应金字塔上下文网络(Adaptive pyramid context network,APCNet)进行语义分割。 APCNet使用多个精心设计的自适应上下文模块(Adaptive Context Modules,ACMS),自适应地构建多尺度上下文表示。每个ACM利用全局图像表示作为估计每个子区域的局部亲和度系数的指导,然后计算具有这些亲和度的上下文向量。
我们在三个语义分割和场景解析数据集上经验性地评估我们的APCNet,包括PASCAL VOC 2012,Pascal-Context和ADE20K数据集。 实验结果表明,APCNet在所有三个基准测试中都达到了最先进的性能,并且在没有MS COCO预训练和任何后处理的PASCAL VOC 2012测试集上获得了84.2%的新记录。


2 Introduction

上下文特征提取已经证明在语义分割任务中有着非常重要的作用。语义分割任务中上下文特征有以下三个特性:

  • Multi-scale : 物体通常具有不同的大小和位置,所以有必要从不同尺度捕捉图像内容。没有多尺度上下文的方法只能捕获单尺度的对象,在其他尺度上会丢失细节。
  • Adaptive:并不是输入图像中的所有区域对给定像素的语义标签都有同等的作用。区域中包含相关物体的能够产生有效信息,而其他区域则只能产生少量信息。在实际中,与给定像素点相关的区域或者像素点既可能在该点附近,也有可能与该点相距较远,这和输入图片的内容及其分布有关。因此,自适应地识别这些重要因素非常重要。
  • Global-guided Local Affinity(GLA) :为了构建有效的上下文特征,应该整合相关像素点、相关区域的特征。在实际中,通常的做法是以相同的权重累加这些特征。如何估计整合时候的Affinity权重是一个问题。这些权重反映的是不同的区域在预测某一像素点标签时的差异。之前的模型在估计这些自适应权重时只考虑了局部像素、区域的表征。而在本文中结合局部、全局表征信息估计健壮的权值。全局特征表示的确有助于提升语义分割结果。【这里就是说结合全局表征之后,不同区域、像素点对某一像素点的标签预测任务,不再以完全相等的权重整合这些特征】

本文提到了几篇2018年的文章,是利用注意力机制完成语义分割任务,有DANet、PSANet.

作者对比了几种用于语义分割的模型,分析它们是否包含上述三个特性:

                          

本文的主要贡献在于:

  • 总结了语义分割任务中上下文特征向量的三个理想特性,并从这些特性的角度比较了近年基于深层次上下文信息的语义分割方法。
  • 提出Adaptive Context模块,在估计局部区域权重时,利用局部和全局上下文特征表示的GLA特性。
  • 在三个benchmark上取得SOTA性能。在不使用MS COCO做预训练的前提下,在PASCAL VOC 2012上取得84.2%的新纪录。

3 Relate work

基于FCN的方法通过编码上下文信息在场景理解和语义分割任务上取得了优异的表现。 但大多数方法只考虑一些属性。

                                  

本论文从多尺度背景,全局背景两个方面进行介绍相关的一些工作。

3.1 多尺度上下文

多尺度上下文在语义分割中起着关键作用,特别是对于具有大量尺度变化的目标。 图像金字塔是获取多尺度上下文的常用方法。拉普拉斯金字塔来缩放DCNN的输入图像[并合并特征图。 SegNet,UNet设计了编码器 - 解码器架构,分别融合了编码器和解码器的低级和高级特征映射。 PSPNet 和DeepLab分别提出PPM(金字塔池模块)和ASPP(atrous空间金字塔池)模块来编码多尺度上下文。 这两个模块在某种程度上是有效的,但它们平等地处理所有图像区域,而不是以自适应方式。

3.2 全局上下文

全局上下文尤其适用于全面复杂的场景理解。 ParseNet提出了一种简单但有效的方法,通过GAP(全局平均池)对语义分段进行全局上下文编码。 PSPNet 利用基于金字塔区域的上下文聚合来利用PPM构建全局上下文。这些方法不能针对每个特定像素自适应地编码全局上下文。 DANet 和OCNet 采用自注意力机制来捕获远程全局上下文,它基于对语义特征计算像素相似度图。而PSANet通过学习像素位置敏感的空间注意掩码来指导信息流来聚合全局背景。计算的逐像素相似性图和学习的逐像素注意力图对每个特定像素是自适应的,但是这些通过计算像素相似性或在特定像素位置上卷积而获得的像素关系缺乏全局信息。我们的方法学习由本地和全球信息引导的关系。

论文综合这两点提出新的分割模型,生成更加有力的多尺度和全局上下文信息的提取。


4 Method

上下文信息对于复杂场景理解和语义分割本质上是重要的。 全局上下文对于捕获大范围依赖性并提供对整个场景的全面理解是有用的,而具有不同大小的对象的分割可以受益于多尺度上下文特征。基于此提出了自适应金字塔上下文网络(APCNet),其在全局图像表示的指导下自适应地构建多尺度上下文向量。

4.1 自适应上下文模块(ACM)

像前面提到的,APCNet的主体结构是对于某一特征图利用并行的多个ACM模块进行处理,整合后经卷积得到最终输出。
上图主要包含两个分支:其中第一个分支用以计算affinity coefficients α^s,而第二个分支处理单一尺度下的表征y^s 注意到图中用不同颜色的方块表示不同的part,如下说明:

  • 第一个分支中:

     X:x代表经过CNN模型处理后得到的特征图。

     g(X):代表全局信息。对上述的特征图利用1*1 conv降低特征图维度,得到x,然后利用spital global average pooling,空间全局池化操               作得到全局特征信息表征g(X).
    a^s:在每一个像素点上,利用1*1 conv对局部特征x_i和全局向量g(X)进行操作,后接一个Sigmod激活函数。【这里作者测试过如果使             用更大的卷积核会降低性能】
   Affinity Matrix:对于上述得到的Affinity vector其大小均为s*s,对于h*w个vector将其整合为一个大小为hw * s^s的affinity map

  • 第二个分支中:

      pooling:对输入的特征X进行adaptive average pooling,使用1*1 conv处理得到s*s*512大小的特征,然后reshape为s^s*512以匹配第                      一个分支中生成的affinity map.
Matrix Prodyct中对两个分支产生的结果进行矩阵乘法运算得到h*w*512大小的结果,然后reshape为 Z^S*512大小的结果,然后,又利用残差连接将最初始的特征x累加到这个结果上。
文中的创新应该在与对于某像素的标签预测问题,对不同的区域、像素分配不同的权重,作者这里给了一个比较抽象的描述:adaptive context vector的计算公式为

                                                     其中

                                            

ACM由两个分支组成。第一分支旨在计算亲和系数α^s,而第二分支处理单尺度表示y^s

在第一个分支中,我们首先用1×1卷积处理X以得到简化的特征映射x,然后通过在x上应用空间全局平均汇集和一个1×1卷积变换来获得全局信息表示向量g(X)。接下来,我们整合局部特征{x_i}和全局向量g(X)以计算每个局部位置 的全局引导的局部亲和度向量。这是通过1×1卷积实现的,然后在我们的设计中使用sigmod激活函数。人们可能会争论利用大空间卷积。但这会导致实验性能不佳,部分原因是大型滤波器的复杂性。每个亲和度矢量具有维度s×s,对应于该比例中的子区域的数量。总的来说,我们有h * w亲和载体,可以将其重新整形为大小为hw×s*s的亲和力图。

第二个分支在X上应用自适应平均池和1×1卷积以获得y^s∈R s×s×512。然后我们将s*s重塑为s^2×512的大小以匹配亲和关系图的大小。然后我们将它们相乘并重新整形结果以获得由{z^s_i}组成的自适应上下文矩阵z^s。采用残差学习来简化训练过程,因此我们将x添加到z^s

4.2 APCNet

APCNet将X转换为金字塔表示,总共有S个刻度。 具体地,对于每个尺度s,我们采用自适应平均合并和一个1×1卷积来将X变换为特定空间尺寸s×s并且获得y^s∈R^(s×s×c)。 然后,用自适应上下文模块(ACM)处理每个y^s和原始X,以获得每个空间位置的自适应上下文向量z^s。 总的来说,APCNet包括并行组织的多个ACM。 接下来,我们可以将从不同尺度获得的{z^s_i}连接成最终的自适应上下文矢量z_i = [z^1_i,z^2_i,...,z^S_i]。 最后,我们利用局部特征{X_i}及其关联上下文向量{z_i}来预测每个像素的语义标签。

4.3 其他方法

在本小节中,对自适应金字塔上下文网络和其他语义分割上下文方法进行了比较。 ParseNet通过全局平均汇集来聚合全局上下文,如果我们设置α^s_ij = 1,S = 1y^s_j = g(X),则可以将其视为我们模型的极端情况。 在PSPNet 中,α^s被设置为y^s的固定双线性插值系数。 相比之下,我们的APCNet以自适应方式用方程2估算α^s。 最近的方法PSANet ,DANet,OCNet也通过引入自适应权重来缓解这个问题。 这些方法计算成对相似性或学习像素注意力图。 但他们都忽略了g(X)全球指导的重要性。 与这些作品不同,我们的APCNet不仅将全局引导的局部亲和度与f_s一起考虑来从局部和全局表示中估计α^s,而且还利用具有特征金字塔的多尺度表示。


5 Experiments

实验细节:

              项目                                                   属性
           数据集               PASCAL VOC 2012, Pascal-Context , and ADE20K
         训练骨架                                   ResNet(pretrained)
          学习率                  
    初始化学习率   VOC 2012(0.01),ADE20K (0.001),  Pascal-Context (0.001)
        优化器                                                SGD
      权重衰减                  momentum 0.9 and weight decay 0.0001
       Epochs  PASCAL VOC 2012 and Pascal-Context(80 epochs),  ADE20K (120 epochs)

金字塔尺度消融实验:

                                    

可视化结果:

                                          

进一步说明金字塔尺度的作用,可视化不同尺度:

Global-guided Local Affinity (GLA)消融实验:

                                           

可视化结果:

                                             

Adaptive消融实验:

                                       

与其他模型的比较:

6 Conclusion

在本文中,讨论了上下文特征的属性,并提出APCNet自适应地构建用于语义分割和方法骨干场景理解的多尺度上下文表示。 APCNet引入了自适应上下文模块,它通过全局引导的局部亲和生成局部亲和系数。 大量实验表明,APCNet可以捕获不同尺度的物体,物体的预测更加完整和一致。 APCNet不仅可以嵌入到任何基于FCN的语义分割网络中,而且可以嵌入到任何依赖于输入特征映射大小的网络中。 根据属性和灵活性,APCNet可以扩展到其他场景理解任务。

发布了106 篇原创文章 · 获赞 158 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_41997920/article/details/94356335