【论文翻译】Squeeze-and-Attention Networks for Semantic Segmentation

在这里插入图片描述


摘要

最近将注意力机制整合到分割网络中,通过强调更有信息量的特征,提高了它们的表征能力。然而,这些注意机制忽略了语义分割的隐式子任务,并受到卷积核的网格结构的约束。在本文中,我们提出了一种新的挤压和注意网络(SANet)架构,该架构利用一个有效的挤压-注意(SA)模块来解释分割的两个独特特征: i)像素组注意力和ii)像素级预测。具体来说,所提出的SA模块通过引入“注意力”卷积通道,将像素组注意力施加到传统的卷积上,从而有效地考虑了空间通道之间的相互依赖关系。最终的分割结果是通过合并来自一个SANet的四个层次阶段的输出,以集成多尺度上下文,以获得一个增强的像素级预测。在两个具有挑战性的公共数据集上进行了实证实验,验证了所提出的沙子的有效性,它在帕斯卡VOC上达到了83.2%的mIoU(没有COCO预训练),在帕斯卡背景下,最先进的mIoU为54.4%。


一、引言

分割网络成为自动驾驶、医学图像分析、机器人导航和虚拟现实的关键识别元素。分割方法的进步主要是通过改进像素级表示来实现精确的标记。然而,语义分割并不完全等同于像素级预测。在本文中,我们认为语义分割可以分解成两个独立的部分:像素级预测和像素分组。具体地说,像素级预测处理了每个像素的预测,而像素分组则强调像素之间的连接。以往的分割工作主要集中在从像素级提高分割性能,而主要忽略了像素分组[26,5,41,40,4,3]的隐式任务。

通过将语义分割分解为两个子任务,可以发现像素分组这个基本被忽略的任务。如图1所示,第一个子任务需要精确的像素级标注,并为图像分类引入空间约束。最近的分割模型通过使用金字塔池化和膨胀卷积层进行像素级标记来聚合上下文特征,取得了重大进展[41,5] 。然而,这些核的网格结构限制了在分割网络中学习到的空间特征的形状。特征聚合策略增强了像素级预测结果,但理解图像的全局视角仍未充分利用。

图1:语义分割可以分解为两个子任务:显式像素预测和隐式像素分组。这两个任务将语义分割与图像分类分离。在设计了一个考虑像素分组的模块的激励下,设计了一个新的挤压-注意力(SA)模块和SANet,以提高密集预测的性能,并考虑了在很大程度上被忽略的像素分组。

为此,我们引入像素分组的第二个子任务,直接鼓励将属于同一类的像素不受空间限制地分组在一起。像素分组涉及将从一系列电磁频谱中采样的图像转换到任务特定语义谱中定义的像素组,语义谱的每个条目对应一个类。在设计一个包含像素分组的模块的基础上,我们设计了一种新的压缩-注意(SA)模块来缓解卷积核的局部约束SA模块包含了下采样但不完全压缩的注意通道,有效地产生非局部空间注意,同时避免了输出头部使用重扩张卷积。具体来说,由于每个卷积核都会扫过输入特征图,因此使用注意卷积来生成注意掩码。与增强主干的SE模块[19]不同,SA模块集成了空间关注点,是头部单元,将其输出聚合起来以提高分割性能。空间注意机制由SA模块强调在不同空间尺度下属于同一类的像素组的注意。此外,这种squeezed channel可以作为全局注意力的mask。

本文设计了具有四个SA模块的SANets来解决上述两个分割任务。SA模块学习多尺度空间特征和非局部光谱特征,从而克服卷积层的约束进行分割。采用dilated ResNet [17]和Efficient Nets [32]作为骨干网络,利用其强大的图像识别能力。为了聚合多阶段非局部特征,在backbone的多阶段输出上采用SA模块,从而获得更好的目标边界和场景解析结果。这种简单而有效的创新使SANets更容易推广到其他相关的视觉识别任务。我们使用两个具有挑战性的分割数据集:PASCAL context和PASCAL VOC 2012[11,45,44]来验证SANets。

本文的贡献有三个方面:

  • 我们将语义分割分为两个子任务:像素级密集预测和像素分组。
  • 我们设计了一个压缩-注意力(SA)模块,同时考虑了单个像素的多尺度密集预测 和像素组的空间注意力。
  • 本文提出一种具有multi-level heads的压缩-注意力网络(SANet),以利用来自SA模块的表征提升,并集成多尺度上下文特征和图像级分类信息。

二、相关工作

多尺度上下文

最近对语义分割的改进大多是通过结合多尺度上下文特征,便于分割模型提取鉴别特征。引入了一种拉普拉斯金字塔结构来结合[15]所引入的多尺度特征。多路径细化网明确地集成了从多尺度输入中提取的特征,以提高分割输出。编码器-解码器架构已被用于融合具有不同语义意义级别[2,29]的特征。最常用的方法是池化操作从不同尺度[41,5]收集空间信息。类似地,EncNet使用了一个编码模块,在高斯核空间中投射不同的上下文来编码多尺度上下文特征[40] 。像CRF和MRF这样的图形模型被用来实施平滑约束以获得更好的分割结果[43,24,1] 。最近,设计了一个集合激励模块,通过从远程上下文[18]中收集特征来缓解经典卷积的局部特征约束。我们通过合并来自不同阶段主干残差网络的输出来改进多尺度密集预测。

通道注意力

对特征映射通道的选择性加权有效地提高了传统残差模块的表示能力。一个很好的例子是挤压和激励(SE)模块,因为它强调对特征映射的选定通道的关注。该模块通过将相关类分组到[19]中,显著提高了残差网络的分类精度。EncNet还使用了SE模块[40]的分类识别能力。鉴别特征网络(DFN)在其平滑的子网络中利用了信道加权范式[21] 。

虽然重新校准特征图通道的谱权值已被证明可以有效地提高卷积层的表示能力,但其实现 (如挤压-激励模块)会导致模型参数过多。与SE模块[19]相比,设计了一种新的压缩-注意力(SA)模块,具有下采样但未完全压缩的卷积通道,以产生一个灵活的模块。具体来说,这个额外的通道为像素分组生成了分类特定的软注意力掩码,同时在经典卷积通道之上添加了缩放的空间特征,以进行像素级预测。

像素组注意力

注意力机制在神经语言处理中的成功促进了其在语义分割中的应用。空间变换网络显式地以仿射变换的形式学习空间注意力,以增加特征不变性[20] 。由于机器翻译和图像翻译有许多相似之处,RNN和LSTM已被用于语义分割,通过将语义标记连接到翻译[413,21] 。 [7]采用尺度敏感的注意力策略,使网络能够关注不同尺度的物体。 [42]设计了特定的空间注意力传播机制,包括收集通道和扩散通道。 [35]通过计算相关性指标来使用自注意力掩码。 [18]设计了一种通过收集局部特征来生成用于图像分类的硬掩模的操作。 [36]也证明了非完全压缩模块对图像分类是有效的,且计算代价很小。由于空间非对称重校准(SAR)模块生成的权重是向量,不能直接用于分割。与现有的注意力模块不同,我们使用池化层实现的下采样通道来聚合多尺度特征,并同时生成软全局注意力掩码。因此,SA模型增强了像素级稠密预测的目标,并考虑了在很大程度上被忽略的像素组注意力。

三、框架

经典卷积主要关注空间局部特征编码,挤压激励(Squeeze-and-Excitation, SE)模块通过使用全局图像信息[19]有选择地重新加权特征图通道对其进行增强。受这个用于图像级分类的简单而有效的SE模块的启发,设计了一个压缩-注意力(SA)模块,包含了用于密集像素级预测的全卷积层的优点,还添加了一种替代的、更局部的特征图重加权形式,称为像素组注意力。 与提高分类性能的SE模块类似,SA模块是专门为改善分割结果而设计的。

在这里插入图片描述

图2:(a)残差块;(b) Squeeze-and-excitation (SE)模块;©Squeeze-and-attention (SA)模块;为简单起见,本文展示了卷积(CONV)、全连接(FC)、平均池化(Avg. Pool)层,同时省略了归一化和激活层。SA模块与SE模块具有相似的结构,其中包含一个额外的路径,用于学习权重,以重新校准输出特征映射Xout的通道。不同之处在于,SA模块的注意力通道使用平均池化来下采样特征图,但不像中那样完全挤压SE模块。因此,我们将该通道称为注意力卷积(ACONV)通道。

1.SE module

残差网络(ResNets)由于其在图像识别方面的强大性能而被广泛用作分割网络的主干,研究表明,在大型图像数据集上预先训练的ResNet可以很好地转移到其他视觉任务,包括语义分割[41,5] 。由于经典卷积可以看作是一种空间注意机制,我们从作为ResNets基本成分的残差块开始。 如图2 (a)所示,常规残余块可表述为:
在这里插入图片描述
其中,F(·)表示残差函数,由Θ参数化,Ω表示两个卷积层的结构。Xin∈RC‘×H’×W‘和Xout∈RC×H×W是输入和输出特征图。SE模块通过重新校准特征图通道来改进残差块,值得注意的是,我们采用了更新版本的SE模块,其性能与[19]中的原始模块相当。如图2 (b)所示,SE模块可表述为:
在这里插入图片描述
其中,重新校准输入特征图Xin通道的学习权值w计算为:
在这里插入图片描述
其中,Φ(·)表示s型函数,σ(·)表示ReLU激活函数。

首先,使用一个平均池化层来“挤压”输入特征映射Xin。然后,采用W1和W2参数化的两个全连接层,得到“激励”权值。通过添加这种简单的重加权机制,SE模块有效地提高了剩余块的表示能力。

2.SA module

语义分割的有用表示出现在图像的全局和局部两个层次上。在像素级别,卷积层以局部信息为条件生成特征映射,因为卷积是在每个像素周围局部计算的。像素级卷积奠定了所有语义分割模块的基础,通过各种方式增加卷积层的感受野可以提高分割性能[41,40] ,这表明更大的上下文对于语义分割是有用的。

全局图像级别,可以利用上下文来确定激活了特征图的哪些部分,因为上下文特征表明哪些类可能一起出现在图像中。 [40]表明,全局上下文提供了更广阔的视域,有利于语义分割。全局上下文特征对这些区域进行整体编码,而不是为图像的每个部分独立学习重加权。然而,对更细粒度的上下文编码的研究还很少,这是必要的,因为同一图像的不同部分可能包含完全不同的环境。

为此,我们设计了一个挤压-注意力(SA)模块,通过考虑局部和全局方面的重新加权机制,为语义分割任务学习更有代表性的特征。SA模块扩展了SE模块的重加权通道,如图2 (b)所示,空间信息未被完全压缩,以适应SE模块进行场景解析。如图2 ©所示,SA模块可表述为:
在这里插入图片描述
其中,Xattn = U p(σ(ˆXattn))和Up(·)是一个上采样函数,以扩展注意力通道的输出:
在这里插入图片描述
其中,ˆXattn表示注意卷积通道Fattn(·)的输出,它由Θattn和注意卷积层的结构Ωattn参数化。使用平均池化层APool(·)进行不完全的压缩操作,然后对注意通道ˆXattn的输出进行上采样,以匹配主卷积通道Xres的输出。

通过这种方式,SA模块扩展了SE模块,保留了空间信息,注意通道Xattn的上采样输出在主通道上聚集了非局部提取的特征。

3.SA network

在这里插入图片描述

图3:Squeeze-and-attention网络。SANet聚合了多个分层SA头的输出,以生成多尺度的类掩码,用于语义分割在很大程度上被忽略的像素分组任务。这些掩码的训练由基准真值注释中相应的分类区域监督。此外,掩码用于指导像素级预测,这是FCN头的输出。利用SA模块的像素组注意力提取能力,同时融合多尺度上下文特征。

具体来说,我们使用SA模块作为头部,从骨干网络的四个阶段中提取特征,以充分利用它们的多尺度特征。 如图3所示,总损失包括三个部分:密集损失(CE损失)、掩模损失(CE损失)和分类损失(二元CE损失)。

在这里插入图片描述
其中α和β分别是分类损失和辅助损失的加权参数。总损失的各组成部分可以用如下公式表示:

在这里插入图片描述
其中N是每个epoch的训练数据大小数量,M表示空间位置,C表示数据集的类别数量。Yˆnij和Ynij是SANets的预测和ground truth,yˆnj和ynj是计算分类损失Lcat的分类预测和目标。Lcat采用二进制交叉熵形式。Lmask和Lden是典型的交叉熵损失。辅助头类似于深度监督的策略[41,40] ,但它的输入来自backbone ResNet的第四阶段,而不是常用的第三阶段。SANets的预测集成了像素级预测,并通过第四个SA特征图进行正则化。因此,SANet的正则化密集分割预测是Yˆden +YˆSA4。

扩张型fcn已被用作SANets的主干。假设输入图像的大小为3×512×512。SA模块的主通道与对应的注意力通道具有相同的通道数,与输入特征具有相同的空间大小。根据经验,在两个数据集上,我们都将主通道和注意力通道的输入通道大小减少到四分之一,将注意力通道的下样本(最大池化)和上样本比例设置为8,并将SE模块的中间全连接层的通道数量设置为4。采用分组卷积,在主通道和注意力通道上分别使用2组进行第一次卷积操作。此外,将SA头的输出适应于分割数据集的类数。

四、实验结果

在本节中,我们首先比较SA模块和SE模块,然后使用帕斯卡上下文[28]数据集进行消融研究,以测试总训练损失的每个成分的有效性,并进一步验证具有挑战性的帕斯卡VOC数据集[12]上的SANets。我们在帕斯卡上下文上进行平均相交和联合(mIoU)和像素级精度(PAcc),并仅在帕斯卡VOC数据集上进行mIoU,以评估有效的分割模型

1.实施

我们使用Pytorch [30]来实现SANets并进行消融研究。在训练过程中,我们采用了一个多元学习率递减时间表,如在之前的工作[41,40] 。帕斯卡上下文和帕斯卡VOC的起始学习率分别为0.001和0.0001。这两个数据集都采用了随机梯度下降和多聚学习速率退火计划。对于帕斯卡上下文数据集,我们训练了80个时代的SANets。对于PASCAL VOC数据集,我们在COCO数据集上对模型进行了预训练。然后,我们在验证集上训练网络50个时代。我们采用ResNet50和ResNet101作为SANets的骨干网,因为这些网络已经被广泛用于主流分割基准测试。在所有的训练案例中,我们将批处理大小设置为16,并在由[40]最近实现的多个gpus中使用同步批处理标准化。我们连接了四个SA头输出,利用不同阶段的多尺度特征,并规范深度网络的训练。

2. Results on PASCAL Context

Pascal上下文数据集包含59个类、4998张训练图像和5105张测试图像。由于这个数据集的规模相对较小,所以我们使用它作为基准来设计模块架构,并选择包括α和β在内的超参数。为了进行消融研究,我们探索了SA模块的每个组件,有助于提高SANets的分割结果。

在这里插入图片描述

图4:分别加权分类损失和密集预测损失的α和β的消融研究。我们使用ResNet50作为骨干来测试SANets,并为每个案例训练20个epochs。左:固定β = 0.8的miou选择α。使用固定α = 0.2的SANets选择β。

在这里插入图片描述

表1:SANets在PASCAL Context数据集(59类无背景)上的消融研究结果。
SA:Squeeze-and-attention heads。Cat:绝对的损失。Den:密度预测损失。PAcc:像素精度(%)。mIoU:并集交点均值(%)

消融实验包括三个部分。首先,我们测试了权重α和β对总训练损失的影响。如图4所示,我们从0到1.0测试了α,发现使用α = 0.2的SANet效果最好。类似地,我们修复了α = 0.2,以发现β = 0.8产生了最好的分割性能。其次,我们利用选定的超参数研究了方程(7)中的分类损失和密集预测损失的影响。表1显示,与FCN基线相比,使用ResNet50作为主干的SANet显著提高(2.7%的PAcc和6.0%的mIoU)。同时,分类损失和辅助损失也提高了分割性能。

在这里插入图片描述

表2: PASCAL Context数据集上的平均交集比并(%)结果(有背景的60个类)。

我们将SANets与最先进的模型进行了比较,以验证其有效性,如表2所示,使用ResNet101为骨干的SANet实现了53.0%的mIoU。当包括背景类时,mIoU等于52.1%,并优于其他竞争对手。此外,我们还使用最近发布的高效网络(EffNet) [32]作为骨干。然后,EffNet版本的SANet实现了最先进的54.4%的mIoU,为PASCAL上下文数据集设置了新的记录。图5显示了使用相同主干的扩展ResNet50 FCN和SANet的分割结果。在前三行中,SANets产生了更好的对象边界和更高的分割精度。然而,对于像最后一行这样的复杂图像,两种模型都不能生成干净的解析结果。总的来说,定性评价与定量论文相一致。

在这里插入图片描述

表3:在PASCAL Context上使用ResNet50或ResNet101作为骨干网络的像素精度(PAcc)和大量基线扩展的fcn,带有SE模块的扩展的FCN-SE,以及SANets。SANet显著地输出了与之对应的SE和基线模型。每个模型训练20个epoch。

我们还通过将SA模块与基线扩张FCNs上的SE模块进行比较,包括ResNet50和ResNet101的有效性。表3显示,在两种情况下,SANets都获得了最好的精度,显著提高了(4.1%和4.5%的mIoU增加),而FCN-SE模型几乎没有改善分割结果。

在这里插入图片描述

图5:PASCAL Context验证集上的语义分割结果示例。PASCAL VOC验证集上的语义分割结果示例。(a)原始图像。(b)地面真实图像。(c) FCN基线结果。(d) SANet结果。SANet生成更精确的结果,特别是对象边界。最后一个原始图显示了一个失败的例子,它具有相对复杂的上下文,这给分割模型带来了挑战。

3. Attention and Feature Maps

在这里插入图片描述

图6:经过训练的SANet在PASCAL VOC数据集上的SA head1和head4的注意力和特征图可视化。对于每个头,演示了主通道、注意通道和输出的特征图。(a)原始图像及其基本事实;(b)蓝点的像素群可视化;©黄色点;(d)品红色的点。

经典的卷积已经产生了固有的全局注意力,因为每个卷积核都在输入特征映射上扫描空间位置。因此,我们可视化了PASCAL VOC集示例的注意力和特征图,并在SANet中对Head1和Head4进行了比较,以更好地理解注意力通道在SA模块中的作用。我们使用L2距离来显示SA模块内注意力通道的注意力图,并为同一SA模块内主通道的输出选择激活次数最多的特征图通道。SA模块输出特征图的激活区域(红色)可以看作是选定点的像素组。为了可视化,我们将图6中所示的所有特征图缩放到相同的大小。在本示例中选择了三个点(红色、蓝色和品红),以表明注意力通道强调像素组注意力,与专注于像素级预测的SA模块的主要通道互补。

有趣的是,如图6所示,低级别(SA head1)和高级别(SA head4)的注意力通道发挥着不同的作用。对于低级阶段,注意通道的注意力图视野开阔,主通道的特征图侧重于保持物体边界的局部特征提取。相比之下,在高层阶段,注意通道的注意力图主要集中在选定点的周围区域,并且主通道的特征图比head1的特征图更加同质,语义更加清晰。

4. Results on PASCAL VOC

PASCAL VOC数据集[12]是研究最广泛的分割基准,包含20个类,由10582张训练图像、1449张验证图像、1456张测试图像组成。与之前的工作一样,我们使用增强的数据训练SANet 80个epoch [26,10] 。

在这里插入图片描述

表4:未对COCO数据集进行预训练的PASCAL VOC数据集的类级IoUs和mIoU。SANet实现了83.2%的mIoU,优于其他模型,并主导了多个类别。每列中最好的两个条目将被突出显示。为了进行公平的比较,建模的额外数据集(例如JFT)不包括在内

首先,在没有COCO预训练的情况下测试SANet。如表4所示,SANet的mIoU达到了83.2%,高于竞争对手,并且主导了多个类别,包括飞机、椅子、奶牛、桌子、狗、植物、绵羊、电视显示器。实验结果验证了SA模块的有效性。除了PASCAL VOC或COCO之外,模型[9,6]使用额外的数据集,如JFT[31] ,未包括在表4中。

在这里插入图片描述

表5:在COCO数据集上进行预训练的PASCAL VOC数据集上的平均交集与并集(%)结果。SANet达到了86.1%的mIoU,其结果可与最先进的模型相媲美。

然后,用COCO预训练对SANet进行测试。如表5所示,使用COCO数据进行预训练,SANet取得了86.1% mIoU的评估结果,与包括PSPNet[41]在内的顶级模型相媲美,并且优于建立在ResNet152主干上的RefineNet [22] 。所提出的SA模块比EncNet[40]的编码模块具有更高的计算效率。如图6所示,与基线模型相比,SANets的预测结果具有更清晰的边界和更好的定性结果。

在这里插入图片描述

图7:PASCAL VOC验证集上的语义分割结果示例。(a)原始图像。(b)真实图像。© FCN基线。(d)SANet 。与基线相比,SANet生成了更准确的解析结果。

5. Complexity Analysis

在这里插入图片描述

表6:使用ResNet101的miou(%)、每秒乘重累积操作(MAC)和网络参数(参数),使用ResNet101作为骨干,没有COCO测试集预训练。我们使用扩展的ResNet101作为其主干,重新实现了Deeplab V3+,以实现公平的比较。

本文的目标是在这种直觉的启发下,设计轻量级的分割模块,而不是追求SOTA而不考虑计算成本。我们使用mac和模型参数对SANet的复杂性进行了分析。如表6所示,Deeplab V3+(我们的实现)和SAN都使用ResNet101主干,并在PASCAL VOC数据集上进行了评估,以实现公平比较。在不使用COCO数据集进行预训练的情况下,所提出的SANet以1.7%的mIoU增加超过了Deeplab V3+。与SDN (238.5M参数)等重量级模型相比,SANet以不到四分之一的参数数量(55.5M参数)取得了略逊于性能的结果。对比结果表明SANet是有效的和高效的。

五、结论

在本文中,我们重新考虑语义分割从两个独立的维度——像素级预测和像素分组。我们设计了一个SA模块来解释像素分组的隐式子任务。SA模块增强了像素级密集预测,并解释了很大程度上被忽略的像素组注意。更重要的是,我们提出了在两个具有挑战性的基准测试上实现良好的分割性能的sanet。我们希望简单而有效的SA模块和构建在SA模块之上的SANets能够促进其他群体的分割研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值