文章目录
- Learning to Predict Context-adaptive Convolution for Semantic Segmentation
-
- Abstract
- 1 Introduction
- 2 Related Work
- 3 Method
-
- 3.上下文自适应卷积核预测
- 3.2空间变化的权重产生
- 3.3全局池化和多头集成
- 4 Experiments
-
- 4.1 Implementation Details
- Results
- Conclusion
Learning to Predict Context-adaptive Convolution for Semantic Segmentation
Abstract
全局语义信息是实现高性能语义分割的必要条件。以往的特征重加权方法证明,利用全局上下文对特征通道进行重加权,可以有效提高语义分割的准确性。然而,对于输入图像中不同类别的区域,重加权向量的全球共享特征可能不是最好的。本文提出了上下文自适应卷积网络(CaC-Net)预测语义特征图各空间位置空间变化的特征加权向量。在CaC-Net在中间,一组上下文自适应的卷积核以参数高效的方式从全局上下文信息中预测。当用于与语义特征映射进行卷积时,预测的卷积核可以产生空间变化的特征加权因子,捕获全局和局部上下文信息。综合实验结果表明,我们CaC-Net在PASCAL Context、PASCAL VOC2012和ADE20K三个公共数据集具有优越的分割性能。
1 Introduction
语义分割的目的是估计输入图像的每个像素的类别标签,这是计算机视觉的基本问题。它在自动驾驶、图像编辑、计算机辅助诊断等多种应用中发挥着重要作用。最近,全卷积网络采用了最先进的方法(FCN)从输入图像中编码密集的语义表示作为一个基本网络,并预测每个像素的类标签。然而,同一类对象的显著尺度变化和不同类对象的相似外观给语义分割方法带来了巨大的挑战。
克服这些挑战。一种常见的解决方案是从不同位置或子区域聚集本地上下文。从当地相邻元素中固定或自适应加权的聚合收集上下文信息。与编码局部空间的上下文关系相比,另一种方法试图捕获全球上下文信息,估计信道方向的特征重要性,并重新加权特征信道,以提高分割精度。如图1所示,特征加权可以自动突出显示与给定场景更相关的特征,并抑制不相关的特征。例如,船通常出现在海洋或河流中,但不出现在室内环境中。在水场景的整体背景下,应对与水相关的特征通道进行更高的加权,以增加预测船像素的概率。SE-Net为了提高图像的分类、检测和分割,学习全局特征加权向量进行特征映射加权。EncNet为了改进语义分割,设计了全球上下文编码层加权特征。虽然该策略提高了分割的准确性,但关键问题之一是共享所有空间位置的共同通道加权向量来校准特征通道。例如,个水场景的天空区和水区的特征要加权不同。
为了解决这一挑战,如图1所示,我们提出了一种新的分割框架,它适当地加权了整体上下文的特征通道,但通过空间变化,即基于可预测和输入变化的卷积的不同空间位置的特征通道。虽然有一种简单的解决方案,可以简单地生成具有大量参数的内核来使用原始特征图进行点积,但这种策略引入了太多的参数,不能在实践中使用。我们提出了一种新的方法方法来预测上下文的自适应卷积(CaC)以空间变化为特征的核加权因子。为了减轻参数和计算负担,我们没有像以前的动态核心那样预测所有全连接(FC)层的CAC核心参数需要太多的学习FC参数。相反,我们通过简单的矩阵乘法提出了一种有效的自适应核学习计划CaC核参数。CaC内核不仅完全编码了输入特征图的整体上下文,而且通过与输入特征图的深度积累,为每个空间位置产生上下文感知的空间变化的特征加权因素。此外,我们利用一系列具有不同扩张因子的扩张深度卷积来有效地捕获多个尺度的信息。
我们的主要贡献可以概括为三:(1)为了更好地利用整体上下文信息来规范语义分割,我们提出了估计空间变化的特征加权因素,以正确加权不同空间位置的特征,以提高语义分割性能。(2)我们从输入图像的整体上下文中训练了一个有效的深度网络来预测上下文自适应的卷积核。所提出的CaC核预测方法具有较高的计算效率和内存效率,能有效地产生基于全球上下文和局部信息的空间变化值。(3)提出的CaC模块,我们提出的方法在多个公共基准测试中实现了最先进的性能,包括PASCAL-Context, PASCAL VOC 2012 和 ADE20K。
2 Related Work
基于全卷积网络的方法在语义分割方面取得了巨大成就。通过一系列的卷积和降采样操作,更深层次的特征逐渐捕获更大的接受域信息。但其接受域仍然有限,不能有效利用全局或长期环境。全局或长期上下文信息聚合在提高大规模图片分割精度方面的有效性。ParseNet提出将全局池特征与原始特征映射连接起来,捕捉全局上下文,PSPNet空间金字塔池的设计(ASPP)模块收集不同尺度的上下文信息。大量空间金字塔池(ASPP)采用一组不同的扩展卷积来捕获多尺度的上下文信息。然而,这些方法对每个子区域内的所有像素都采用统一或固定的权值进行特征聚合。
为实现自适应和灵活的特征聚合,APCNet自适应上下文模块(ACM),通过局部和全局表达来估计特征聚合的像素间亲和权值。CFNet聚合共流特性的设计(ACF)模块利用特征空间中的成对相似性聚合共流上下文。PSANet每个像素的上下文信息都是用预测的注意力集成的。DANet从空间维度和通道维度来看,提出了有自注机制的位置注意模块和通道注意模块。这些技术对物体变物体的形状或尺度,提高分割性能。然而,有效准确地找到属于同一对象类的所有像素仍然是一个挑战。
为了利用输入图像的全球上下文信息,提出了一些开创性的方法,利用从全球上下文特征向量学习的缩放向量来重新加权二维特征图的不同渠道。SE-Net和EncNet从全局环境中学习全局环境的注意向量。SE-Net提出了通过squeeze-excitation学习特征加权因素。Squeeze为了产生全局上下文编码的特征向量,操作聚合了跨所有空间位置的特征映射。然后,excitation操作从整体上下文特征中学习加权因素。EncNet利用上下文编码模块预测重加权向量的全球共享特征。该模块集成了字典学习和残差编码组件,学习了全局上下文编码的特征向量,并在此基础上预测了特征加权因子向量。然而,这两种方法都只考虑整体上下文,并输出在所有空间位置共享的特征重加权向量。这种全球共享加权方案可能不适用于同一场景中不同对象的不同空间区域。为了解决这一挑战,我们建议预测可学习的核心,并通过空间变化重新加权特征映射。
以输入图像为条件,提出动态滤波器或内核生成内容感知滤波器。这些滤波器是由神经网络预测的自适应输入。它在各种计算机视觉应用中表现出有效性。采用预测动态滤波器等低水平的视觉和视频理解方法,如视频插值和图像去噪。Pixel-Adaptive Convolution(PAC)网络被提出用来预测几种计算机视觉应用的空间变化核,包括深度联合图像采样、语义分割和有效CRF推理。SAC位置自适应尺度系数用于自动调整不同大小物体的接受野大小。DMNet从多尺度邻域中生成一组不同尺寸的动态过滤器,用于处理对象的尺度变化,进行语义分割。以往的动态滤波器方法直接预测所有滤波器参数,时间效率低,内存占用过多。相比之下,我们的工作学会了以参数高效的方式预测上下文自适应的卷积核。
3 Method
特征重加权已被证明是一种强大的方法,通过从整体上下文信息中学习渠道级加权因素来捕获长期语义上下文。虽然它在分类、检测和语义分割等任务中显示出其有效性,但其关键问题之一是加权向量被二维特征图的所有空间位置共享。
在我们看来,一个全球共享的加权向量并不是语义分割的最佳解决方案,因为不同的空间位置通常属于不同类别的对象。因此,理想的特征加权因素仍应从整体情况中学习,但应改变空间,以捕捉不同位置的独特特征,以获得更高的分割精度。预测卷积核从整体上下文中产生空间变化的权值是一个理想的解决方案。与传统的部接受域和输入不变的传统特征图卷积相比,从整体上下文预测的核心可以更好地理解整体场景结构,从而更好地加权不同位置的特征。
为了实现这一目标,我们提出了一个新的上下文自适应卷积(CaC)网络(见图2)包括一个二卷积神经网络(CNN)的骨干编码输入图像到二维特征地图和上下文自适应卷积(CaC)模块学习通道明智地重新加权二维特征地图与全局上下文。从CaC模块中预测了一系列上下文自适应的卷积核。与之前的动态滤波器需要使用大量的可学习参数来预测内核不同,所提出的CaC内核是通过简单的矩阵乘法以一种参数有效的方式进行预测的。重要的是,CaC内核是从二维特征图的全局上下文中预测出来的。与CaC核的卷积可以很好地整合全局环境和二维特征图的多尺度信息,以预测空间变化的特征重加权因子。该框架在多个公共基准测试上实现了最先进的分割精度。
3.1上下文自适应卷积核预测
我们采用一个预先训练的ResNet与扩展卷积作为我们的分割框架的主干。在之后,我们删除降采样操作,并在最后两个ResNet块上将膨胀率设置为2和4,以生成输入图像的1/8空间大小的输出特征图。它将每个输入的二维图像编码为二维特征图 X ∈ R h × w × c X∈R^{h×w×c} X∈Rh×w×c,其中h、w、c是特征图的高度、宽度和特征通道。特征图可以大致捕获输入图像的语义信息。根据全局上下文,以局部变化的方式适当地重新加权特征图X,可以提高分割性能。
进行空间变化的特性重新加权通过内核预测,有两个解决方案:(1)可以直接通过动态滤波器预测 s × s × c 卷积核(其中s × s为核空间大小),然后将输入特征映射X与核进行卷积,生成特征加权映射集。然而,这个解决方案需要一个完全连接的(FC)层来预测内核权值,它有太多的( s 2 c 3 s^2c^3 s2c3)可学习参数和计算成本。(2)还可以使用FC层从输入特征映射的全局平均合并特征中预测内核,以捕获全局上下文。通过对输入的特征映射与预测的核进行卷积,可以得到特征加权映射。然而,该解在核预测过程中丢失了所有的空间信息,并在我们的实验中表现出较差的性能。
为了解决这些挑战,我们提出的上下文自适应卷积模块以参数高效的方式从全局上下文中预测了一系列的s×s×c的CaC卷积内核。输入特征图 X ∈ R h × w × c X∈R^{h×w×c} X∈Rh×w×c首先通过两个独立的变换 T k T_k Tk和 T q T_q Tq转换为二维查询特征图 Q ∈ R h × w × s 2 Q∈R^{h×w×s^2} Q∈Rh×w×s2和关键特征图 K ∈ R h × w × c K∈R^{h×w×c} K∈Rh×w×c。变换 T k T_k Tk和 T q T_q Tq由1×1卷积独立实现。一般来说,关键特性 K ∈ R h × w × c K∈R^{h×w×c} K∈Rh×w×c捕获的不同特征输入特征图X,通过c维特征地图,而查询功能 Q ∈ R h × w × s 2 Q∈R^{h×w×s^2} Q∈Rh×w×s2用于捕获K的全局空间分布, s 2 s^2 s2全局空间特征将被Q捕获。 为了实现这一目标,首先对query特征和key特征进行重塑,得到 Q ∈ R n 2 Q∈R^{n^2} Q∈Rn2和 K ∈ R n × c K∈R^{n×c} K∈Rn×c,其中 n = h × w n=h×w n=h×w。
第i列 Q ( : , i ) ∈ R n Q(:,i)∈R^n Q(:,i)∈Rn查询功能,它可以用来捕获每个功能通道的整体空间分布j的关键特性 K ( : , j ) ∈ R n K(:,j)∈R^n K(:,j)∈Rn通过点积 < Q ( : , = ) , K ( : , j ) > <Q(:,=),K(:,j)> <Q(:,=),K(:,j)>,覆盖所有的空间位置。其结果将是一个标量来度量空间分布之间的相似性 < Q ( : , = ) , K ( : , j ) > <Q(:,=),K(:,j)> <Q(:,=),K(:,j)>。如果我们对K的所有c个特征通道重复这个过程,我们得到一个c维向量,用一个查询向量 Q ( : , i ) Q(:,i) Q(:,i)来描述K的每个特征通道的空间分布。由于我们总共有 s 2 s^2 s2个查询向量,所以我们可以捕获c维关键特征图K的总体空间分布的 s 2 s^2 s2个特征
3.2空间变化的权重产生
我们使用预测的CaC核来产生空间变化的加权图,用于加权输入特征图的每个像素。预测的核 D ∈ R s × s × c D∈R^{s×s×c} D∈Rs×s×c用于深度卷积。因此,D的每个通道负责独立地调制输入特征映射的一个通道。为了进一步鼓励预测的核D具有尺度不变性,并捕获输入特征映射的多尺度上下文。我们将原始预测的核D用膨胀速率1表示为 D 1 D_1 D1,并创建另外两个CaC核,共享参数为D,但膨胀速率为3和5不同,记为 D 2 D_2 D2和 D 3 D_3 D3。
如图2所示,对于 D 1 D_1 D1、 D 2 D_2 D2、 D 3 D_3 D3的每一组预测的CaC核,使用它们分别对输入特征图X进行深度卷积,然后进行s型函数。每一个都将生成一个独立的空间变化加权图 W 1 , W 2 , W 3 ∈ R h × w × c W_1,W_2,W_3∈R^{h×w×c} W1,W2,W3∈Rh×w×c,平均生成总体空间变化加权图W, W = 1 / 3 ( W 1 ⊕ W 2 ⊕ W 3 ) , ( 2 ) W = 1/3(W_1 ⊕ W_2 ⊕ W_3), (2) W=1/3(W1⊕W2⊕W3),(2)
给定W,我们将输入的特征映射重新加权为 X = X ⋅ W X=X·W X=X⋅W,其中 ⋅ · ⋅表示元素级乘法。以这种方式,我们开发一种计算效率高的方法来预测空间变化特征加权因子为每个空间位置的输入特征地图X。对于每个预测特征加权向量在空间位置 W i , j ∈ R c W_{i,j}∈R^c Wi,j∈Rc,它加权特征 X ( i , j ) X(i,j) X(i,j)根据全局上下文信息。直观地看, W ( i , j ) W(i,j) W(i,j)向量中较大的值会突出更多的目标类相关的特征,而较小的值会根据全局上下文抑制非目标类相关的特征。
3.3全局池化和多头集成
在最先进的分割框架之后,我们还在我们的框架中集成了一个全局池化分支,它可以全局平均所有空间位置的特征向量,并将该向量复制到所有空间位置。这个复制的全局池特征映射是通过通道与重新加权的特征映射X得到最终的特征图进行分割。
通过并行执行多个CaC模块,生成多个输出特征映射,实现了多头集成策略。由于不同的头部模块在输入特征映射的不同子空间上进行操作,之前的一些工作[35,10,31]表明,多头集成策略能够进一步提高性能。在我们的工作中,我们应用这种策略,通过连接来自我们的CaC模块的两个输出特征映射,来提高我们的CaC-Net的能力。
4 Experiments
在本节中,我们首先介绍实验的实现细节、训练策略和评估指标。然后,为了评估所提出的CaCNet,我们在三个公共数据集上进行了综合实验,即Pascal Context,Pascal VOC2012和ADE20K。我们的CaC-Net的消融研究是在Pascal Context数据集上进行的。最后,我们报告了PASCAL Context, PASCAL VOC 2012和ADE20K的总体结果。
4.1 Implementation Details
我们采用ResNet作为骨干。去除主干网络最后两个阶段的步幅,将这些膨胀速率分别设置为2和4。因此,特征映射的大小比输入图像的大小小8×。为了预测每个像素的语义标签,我们的CaC-Net的输出通过双线性插值被放大到输入图像的大小。采用ImageNet预训练权值对骨干网络进行初始化。
我们把初始学习率设置为: 0.001 for PASCAL Context , 0.002 for PASCAL VOC 2012 and 0.004 for ADE20K ,多元学习率策略的幂次设为0.9。优化器是随机梯度下降(SGD),momentum为0.9,权值衰减为0.0001。我们的CaC-Net在PASCAL Context上120次,PASCAL 2012上80次,ADE20K上180次。对于图像大小PASCAL Context 和 PASCAL 2012设置的为512 × 512,由于平均图像大小比其他两个数据集都要大,我们使用576×576作为ADE20K的大小。对于数据增强,我们只随机翻转输入图像,并在0.5到2.0的范围内随机缩放它。像之前的工作一样,我们采用了一个辅助分割损失,它是在Res-4之后添加的。我们采用Sync-BN进行归一化,并将所有实验的批处理大小设置为16。 在本实验中,我们选择了像素精度的标准评价指标(pixAcc)和联合的平均交集(mIoU)作为评价指标。我们应用在多个尺度上平均网络预测的策略进行评估。对于多尺度评估,我们首先将输入图像的大小调整为多个尺度,并水平翻转它们。然后将预测的平均值取为最终预测。
Results
Conclusion
在本文中,我们提出了一种新的网络,CaC-Net,用于语义分割。关键的创新在于预测上下文自适应卷积内核,以集成输入语义特征图的两个全局上下文。与预测的核进行卷积会导致特征重新加权映射,从而可以有效地以空间变化的方式重新加权特征映射。大量的实验证明了我们提出的CaCNet的出色性能,在多个数据集上超过了最先进的分割方法。