Dual Graph Convolutional Network for Semantic Segmentation

Title: 《Dual Graph Convolutional Network for Semantic Segmentation》

Author: Li Zhang, Xiangtai Li, Anurag Arnab, Kuiyuan Yang, Yunhai Tong, Philip H.S. Torr

DOI:https://doi.org/10.48550/arXiv.1909.06121

URI:https://arxiv.org/abs/1909.06121

Abstract

与之前工作使用的大尺度特征融合或者空洞卷积不同的是,本文提出了一种新颖的GCN解决此类问题(像素级别预测)。Dual Graph Convolutional Network (DGCNet)对输入特征的全局上下文信息进行建模,这是通过在一个框架中对两个正交的图进行建模来完成的。

第一个组件用于对图像中的每个像素的空间关系进行建模,第二个组件对网络特征图的通道维度的相互依赖进行建模。上述组件是通过将特征投影到一个新的低维空间中来完成的,在投影会原空间之前,在这个空间中两两的交互可以被建模。

Introduction

语义分割的目的是对图片中的每个像素进行一个分类。

当单独的看待图片中的每个像素时,它们是很难被分类的。分割系统需要能捕获上下文信息,从而能对场景中的遮挡、小对象和模型对象共存进行推理。

目前SOTA方法是基于全卷积神经网络的,但是随着网络的变深,FCN的感受野增长得很慢(仅仅是线性的),这种受到限制的感受野不能捕获大范围的像素关系。尽管空洞卷积的方法被提出用于解决这个问题,但是最后的特征表示被图像中的大目标所主导,因此这种方法在小目标上的性能变得很差。另一种方法是在网络内部融合多种尺度的特征,或者使用LSTM传导空间信息。

最近一些自注意力方法被用来学习每个每个空间位置的密切度图,并将信息传递给它的邻居。但是这对于尺度较大的图像(如CityScape数据集)是不合适的,因为生成这些密切度图需要巨大的内存资源。

本文使用了GCN用于对上下文信息进行有效的建模用于语义分割。GCN可以借由输入,在整张图片中传递信息,这相较于条件随机场能够提高更大的表示能力。

图1:本文提出的DGCNet框架,该框架可以通过GCN利用整张图片的上下文信息,用于对卷积特征图的空间与通道维度传递信息

图1所属,本文提出的方法包含两个组件:坐标空间GCN对图中像素的空间关系进行显式的建模,使网络能够产生连贯的预测,即将图中的所有对象都纳入考虑。同时特征空间GCN对网络特征图中的通道维度的相互依赖进行建模。假设CNN深层的卷积核对应的是对象部分和其他高层特征,那么特征空间GCN捕获的是图片中更多的抽象特征之间的相关性如对象部分。经过推理,这两个互补的关系感知的特征被分配回原来的坐标空间并添加到原始的特征中。

深度神经网络在图分割领域取得了巨大成功,同时最近一些工作使用FCN进行图像分割工作。标准的FCN的限制是感受野太小导致它们无法将场景中的上下文信息纳入考量。DeepLab系列提出了空洞卷积和空洞空间卷积池化金字塔,

图2:DeepLab中的ASPP模块

这些方法都是为了增加感受野的效率。PSPNet则使用了一种金字塔池化模块用于融合多个尺度的特征。

​ 另一种对图片中所有像素的关系之间的关系进行更明确地解释的方法被提出。DAG-RNN使用传递信息的循环网络对一个有向无环图进行建模。PSANet捕获了像素之间的关系使用注意力模块,将所有相关位置的像素纳入考虑。另一方面,EncNet和DFN对卷积特征图的通道维度使用注意机制,用于考虑全局上下文如场景中不同类别的共现。

非本地的网络使用密切都图会耗费巨大的内存资源,为了解决这个问题,一些工作将对像素的关系的建模转为对图片中区域关系进行建模。这是通过从原始坐标空间中聚合特征到一个低维的中间表示,在该空间中执行图卷积操作,并最后将其投影到原来的坐标空间中实现的。

论文提出的二重图卷积网络通过引入一个广泛的框架中的两个正交图可以对输入特征的全局上下文进行建模,更确切的说,在不同的映射策略下,首先将特征投影到一个新的坐标空间和一个能够高效地计算全局关系推导地非坐标(特征)空间,在推导后,两个互补的关系感知特征被分配会原始坐标空间并被添加到原始的特征空间。这个精炼的特征包含了丰富的上下文信息并且能够用于之后的层去学习更好的明确任务的表示。

Methodology

3.1 Graph Convolutional Network

输入tensor向量:,D代表特征维度。表示定义在常规方格的坐标的数量,。在标准的卷积中,仅在位置的定义好的filter尺度(如3×3)下的小邻域内进行信息交换。为了创造大尺度的感受野以及捕获大范围的依赖,在常规架构中需要层层堆叠。图卷积是有效且可微的,它可以生成在标准卷积中使用的邻域定义,并允许在单层中进行大范围的信息交换。其中,表示图,表示节点,表示边,图卷积定义为: 其中,表示非线性激活函数,表示图的邻接矩阵,表示权重矩阵。图的定义以及结构在信息传递中十分重要。

本文提出的框架是通过基于不同图投影策略来构建的正交图驱动的,目的是为了学习一个更好的任务特定表示。

图3:DGCNet框架图,包含两个分支,每个分支都包含一个GCN模块,用于对在卷积特征图X中空间维度或通道维度的上下文信息进行建模

3.2 Graph convolution in coordinate space

Coordinate space projection

首先将输入特征投影到一个新的坐标空间,该步骤是采用一个空间下采样操作来将输入特征转化为一个新的特征:(d表示下采样的比率),而这个新的特征在新的坐标空间中。 这个空间下采样操作有两种不同的操作:

(1)无需参数的操作:将下采样操作成为平均池化,这样就不需要额外的参数

(2)需要参数的操作:为了效率更高,下采样比率d是通过链式log(d)深度卷积层来获得的,每个卷积层的步长为2核大小为3×3 。

Coordinate graph convolution

将特征投影到新的坐标空间后,使用邻接矩阵构建一个轻量级的全连接图用于跨界点信息传播。需要注意的是,图的节点从像素“集群”中聚合信息,且图中的边用于度量这些集群的相似度。

对下采样得到的特征进行全局关系推导来建模对应节点特征之间的交互。特别的,我们对特征采用三个可学习的线性变换()用于产生信息 其中,操作生成了等式(1)中的邻接矩阵,表示点积操作。

Reprojection

在推导之后,将新的特征映射回原来的坐标空间,使其与常规的CNN兼容。与下采样相对的,使用上采样来进行重新投影操作。

特别地,最近邻插值函数被用于将的尺寸调整为原来空间的输入尺寸N,因此输出图可被表示为,其中表示1×1的卷积用于将转换为通道维度

Discussion

坐标GCN是建立在一个粗糙的空间网格中,它的尺寸取决于下采样比率d(通常设为8)。对比与非本地操作需要构建庞大的全连接图以及邻接矩阵,我们的方法更有效。更多地,对等式3进行重排后

3.3 Graph convolution in feature space

坐标空间GCN对图片中每个像素的空间关系进行显式建模,现在需要考虑的是将输入特征投影到特征空间。坐标空间GCN允许网络能够产生基于图片中所有对象的连续预测,同时,特征空间GCN对网络特征图的通道维度的相互依赖进行建模。如果是FCN最后几层的卷积对应的是部分对象和高层特征,那么特征空间的GCN捕获的是图像中抽象特征如部分对象的协同关系。

Feature space projection

实际上,首先是减少输入特征X的维度:,投影函数:作为输入X的一种线性组合,然后新的特征可以冲多个区域聚合信息。

严格来说,输入特征被投影为在特征空间中的一个新的特征,投影函数为,因此可以得到: 上式中都是1×1的卷积层。新的特征,这个空间中包含个结点,每个结点有维。

Feature graph convolution

投影之后,可以得到在特征空间的邻接矩阵,其中每个节点都包含特征描述。根据公式1,我们可以得到: 上式中表示特定层的可训练边权重,通过将邻接矩阵更新为来传递整张图的节点特征实现拉普拉斯平滑。

拉普拉斯平滑:GCN中图卷积是特殊形式的拉普拉斯平滑,可以聚合临近节点的特征,使同一类别的节点的特征相似;

上式中的单位矩阵充当一种残差连接,用于解决优化问题。邻接矩阵是随机初始化的并通过在端到端的训练中进行梯度下降来优化。

Reprojection

推导之后,将新的特征映射会坐标空间使其能够兼容常规的CNN: 上式复用了投影矩阵,然后执行一个线性投影操作将转换到原始坐标空间。现在,就可以得到特征,它在每个网格坐标上有D维的特征。

3.4 DGCNet

最后得到的特征计算精炼公式为: 上式中加号代表逐点求和。最后,本文的模型可以轻松的与现有的CNN架构(ResNet101)合并。

Implementation of DGCNet

本文将提出的模型插入到两个3×3的卷积层中(每层有512个通道),并在最后添加一个全卷积网络用于语义分割。

特别地,实验使用ImageNet预训练模型ResNet-101做为骨干网络,移除池化层和全卷积层。本文提出的模型使用的是随机初始化。空洞卷积和多网格策略在网络的最后两个阶段被采用。

为我们提出的每个卷积层之后都添加了同步batch normalization层和ReLU非线性层,除了坐标空间GCN的卷积层。

Experiments

实验数据集:CityScapes、PASCAL Context

4.1 Experimental setup

Cityscapes

19个类别对象,5000个细微标准图像,分割为2975、500和1525,分别为训练集、验证机、测试集。图片的分辨率为2048*1024

PASCAL Context

该数据集提供详细的语义标签,包含4998张图片用于训练,5150张图片用于验证,59个类别以及一个背景类别。

Implementation details

momentum优化器,多项式学习率衰减,即对初始学习率乘以。Cityscape的学习率为0.01,PASCAL Context学习率为0.0001。

对于数据增强,使用了随即裁剪(Crop Size 769),并在训练CityScapes数据集时使用了左右翻转。对于Pascal Context数据集(Crop size 480)。还是用同步BN用于更好的batch统计。

Metrics

Mean Intersection over Union (mIoU)

4.2 Experiments on Cityscapes

4.2.1 Ablation Studies

表1:消融实验(a),额外的训练和推导策略(b)。所有的方法均使用ResNet-101骨干网络,并使用mIoU在CityScapes的验证集上评估

对比于Baseline FCN,仅使用Channel-GCN模块,指标提高了4.1%;仅使用Spatial-GCN模块,指标提高了3.6%;将两个模型合并一起使用取得了最好的效果,指标提高到80.5%,可视化结果如图所示:

image-20220310215352518
图3:在CityScapes数据集上与空洞卷积FCN ResNet101比较,红框表示本文提出的方法能够处理相同物体中矛盾的结果

图模块捕获的上下文信息提高了结果的一致性,从而减少了预测中的伪影。

Effect of additional training and inference stragtegies

表1(b)表示在图像分割中使用了额外的技巧:

1)OHEM表示Online Hard Example Mining,表示仅在image中损失最高的k个像素上计算损失,本实验设置K=105 在769*769尺寸的训练图片上

2)Multi-Grid:使用不同膨胀率的卷积核(4、8、16)在最后的ResNet块中。在预测阶段对分割概率图从6中图像缩放尺寸{0.75,1,1.25,1.5,1.75,2}取平均。

可以从表1(b)中看到使用了这三种策略的模型的mIoU达到了SOTA。

Computational Cost Analysis

表2:可以看出本文提出的方法的浮点运算操作次数显著低于DANet,却仍有很高的性能
Effect of mapping strategies

不同的映射策略可能构建不同的坐标空间图,表2(b)展示了两种策略的影响:平均池化以及跨步卷积,可以看到但是两种策略的结果比较相似,甚至在d=4的情况下平均池化比跨步卷积还高一点。

一种可能的原因是在无参数映射的策略下,模型过拟合的情况会比使用跨步卷积的模型更好。

4.2.2 Comparisons with SOTA

Snipaste_2022-03-10_21-38-49
表3:在CityScapes数据集上与其他方法比较

使用Cityscapes精细标注的图像上训练,在验证服务器上进行评估。

本论文模型mIoU:80.7%(仅使用了训练集),比PSANet高2.1%,比OC-Net高0.8%

在使用精细标注的训练集以及精细标注的验证集的条件下训练本模型,mIOU达到了82.0%。

在两种情况下都达到了SOTA。

4.3 Experiments on Pascal Context

image-20220310215330758
图4:在PASCAL Context数据集上与之前SOTA的模型EncNet进行对比,可以看出本文提出的方法结果更加一致,伪影更少

本方法在PASCAL Context数据集上的mIOU为53.0%,达到了新的SOTA

表4:在PASCAL Context数据集上与其他方法比较

Conclusion

本文提出的图卷积模型能够对图片上下文关系进行建模,这对于类似于语义分割之类的稠密预测任务是很重要的。模型包括两个分支,其中一个分支能够在卷积特征图的空间维度上捕获上下文的关系,另一个能够在卷积特征图的通道维度上捕获上下文关系。