ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息

点击上方“AI算法修炼营”,选择“星标”公众号

精选作品,第一时间送达

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第1张图片

这篇文章收录于ECCV2020,主要的思想是在解码器环节生成了codebook,并对codeword进行了编码,以此来捕获全局的上下文信息,整体实现思路很新颖,感觉可以看作是一种与nlp思想的结合。整体性能表现较好,运算量也较低,基本做到了性能和效率的平衡。

论文地址:http://www.ecva.net/papers/eccv_2020/papers_ECCV/papers/123710001.pdf

通常而言,性能和效率对语义分割同样很重要。最新的语义分割算法主要基于空洞卷积的全卷积网络(dilatedFCN),该网络在主干网络中采用空洞卷积来提取高分辨率的特征图以实现高性能的分割性能。但是,由于高分辨率特征图上进行了许多卷积运算,因此这种基于FCN的空洞卷积方法导致较大的计算复杂性和内存消耗。为了平衡性能和效率,出现了编码器-解码器结构,主要融合来自编码器的多级特征图来逐渐恢复空间信息。然而,现有的编码器-解码器方法的性能远不能与基于空洞卷积的FCN的方法相媲美。在本文中,提出了一种Ef-ficientFCN方法,其主干网络是一个普通的ImageNet预训练网络,没有使用任何空洞卷积。另外,在网络中引入了整体引导(holistically-guided )的解码器,以通过编码器的多尺度特征获得高分辨率的语义丰富的特征图。解码任务被转换为新的codebook生成(codebook generation)和codeword汇编( codeword assembly)任务,这利用了编码器的高层和低层特征这样的框架仅以1/3的计算成本即可达到与最新方法相当甚至更好的性能。实验部分,在PASCAL Context,PASCAL VOC,ADE20K数据集上进行了大量实验验证了所提出的EfficientFCN的有效性。

简介

语义分割(Semantic segmentation)或场景解析(Scene parsing)是将预先定义的类标签之一分配给输入图像的每个像素的任务。在计算机视觉中,这是一项基础而又艰巨的任务。全卷积网络(FCN),如图1(a)所示,首次展示了在语义分割中利用完全卷积网络的成功,它采用DCNN作为特征编码器(即ResNet)来提取高级语义特征图,然后应用卷积层来生成密集的预测。对于语义分割来说,高分辨率的特征图对于实现准确的分割性能是至关重要的,因为它们包含了精细的结构信息,可以划分出各种前景区域的详细边界。 此外,由于缺乏大规模的语义分割训练数据,将预先训练好的权重转移到ImageNet上可以大大提高分割性能。因此,大多数最先进的语义分割方法采用分类网络作为骨干,以充分发挥ImageNet预训练的优势。通过连续的池化和分步卷积操作来学习高层次的特征表示,从而降低原始分类模型中特征图的分辨率。最终特征图的输出步长为32(OS=32),其中细粒度的结构信息被丢弃。这种低分辨率的特征图不能完全满足需要详细空间信息的语义分割的要求。为了解决这个问题,许多工作利用空洞卷积(artrous convolution)来扩大感受野(RF),同时保持高层特征图的分辨率。最先进的基于空洞卷积的FCN的方法(如图1(b)所示)已经证明,去掉下采样操作并在后面的卷积块中用稀释卷积替换普通卷积可以获得更优的性能,最终得到输出步长8(OS=8)的特征图。尽管空洞卷积具有优越的性能,且没有引入额外的参数,但高分辨率的特征表示需要较高的计算复杂性和内存消耗。例如,对于一个512×512的输入图像,以ResNet101为骨干编码器,当采用空洞卷积,步长2和4进入最后两个阶段的卷积块时,编码器的计算复杂度从44.6 GFlops增加到223.6 GFlops。

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第2张图片

图1:用于语义分割的不同架构。(a)输出步幅(OS)= 32的原始FCN。(b)基于DilatedFCN的方法牺牲了效率,并在最后两个阶段利用步幅为2和4的扩张卷积来生成高分辨率特征图。(c)编码器-解码器方法采用U-Net结构来恢复高分辨率特征图。(d)本文提出的带有codebook生成和codeword assembingly的EfficientFCN,用于高分辨率特征上采样语义分割。

类似的,如图1(c)所示,基于编码器-解码器的方法(例如Unet)利用解码器结构聚合来自骨干(或编码器)的多层特征图来逐步上采样并生成高分辨率特征图。这些基于编码器-解码器的方法可以有效地获得高分辨率特征表示。但是,一方面,细粒度的结构细节已经在OS = 32的最高层特征图中丢失了。即使使用跳跃连接,较低层的高分辨率特征图也无法提供足够抽象的特征来实现高性能分割。另一方面,现有的解码器主要利用双线性上采样或反卷积运算来提高高层级特征图的分辨率,这些操作以局部方式进行,从有限的感受野中恢复上采样特征图每个位置的特征向量。因此,尽管编码器-解码器模型通常比基于空洞卷积的FCN模型的方法更快并且对存储器更友好,但是它们的性能通常不能与空洞卷积的FCN模型的性能相抗衡。

为了解决这两类模型的挑战,本文提出了Efficien-FCN(如图1(d)所示)与HGD(Holistically-guided Decoder),以弥合基于空洞卷积的方法与基于编码器-解码器的方法之间的差距,本文的网络可以采用任何广泛使用的分类模型,而不采用空洞卷积作为编码器(如ResNet模型)来生成低分辨率的高层特征图(OS=8)。这样的编码器比DilatedFCN模型中的编码器在计算上和内存上都要高效。考虑到编码器最后三个卷积块的多层特征图,所提出的整体导引解码器既利用高层次但低分辨率(OS=32)的优势,也利用中层次高分辨率特征图(OS=8,OS=16)来实现语义丰富的高层次特征上采样。 

直观地讲,高分辨率特征图包含了更多的细粒度结构信息,有利于在空间上引导特征上采样过程;低分辨率特征图包含了更多的高层次语义信息,更适合于有效地编码全局上下文。因此,本文的HGD从低分辨率特征图(OS=32)中生成了一系列整体性的编码词(codebook)来总结输入图像的不同全局和高层次方面。这些编码词可以在高分辨率的网格中进行适当的组合,形成具有丰富语义信息的上采样特征图。遵循这一原理,HGD从高分辨率特征图(OS=8,OS=16)中生成assembly系数,以指导每个高分辨率空间位置的整体codeword的线性assembly,实现特征上采样。 本文提出的带整体引导解码器的EfficientFCN在三个流行的公共数据集上实现了较高的分割精度,证明了所提出的解码器的效率和有效性。

本文方法

1、网络结构

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第3张图片

图2:提出的EfficientFCN模型的图示。它由三个主要部分组成:多尺度特征融合模块以融合OS = 8和OS = 32的多尺度特征图。整体codebook生成模块生成一系列整体codeword,概括了全局上下文的不同方面。高分辨率特征上采样可以通过codeword汇编来实现。

在最先进的DCNN主干网络中,早期阶段的高分辨率低层特征图可以更好地编码细粒度结构,而后期阶段的低分辨率高层特征通常对类别预测更具辨别力,它们是实现准确语义分割的必要和互补的信息源。为了结合这两种特征的优势,作者利用了编码器-解码器结构,以从多尺度特征图中重建具有丰富语义信息的高分辨率特征图。具体地,将OS8、OS16、OS32三个不同分辨率大小的特征图通过upsampling+skip操作,上采样后的特征图在一定程度上包含了中层和高层信息,可以用来生成分割mask。然而,经典解码器中的双线性上采样和反卷积层都是局部操作,感受野有限,因此它们无法探索输入图像的重要全局背景,而这对于实现精确分割至关重要。在此基础上,作者提出了一个新的策略,即利用全局上下文来重新权重特征图中不同通道的贡献或上采样特征图中的贡献这种策略只对每个特征通道进行了调整,但保持了原有的空间大小和结构。因此,它无法生成高分辨率的富含语义的特征图以提高细粒度结构的恢复能力。为了解决这一缺点,提出了一种新型的整体性引导解码器(HGD),它将特征上采样任务分解为从高级特征图中生成一系列holistic编码词以捕获全局上下文,并在每个空间位置线性地组装编码词以进行富含语义的特征上采样。这种解码器可以利用全局上下文信息来有效地指导特征上采样过程,并且能够恢复精细的细节。基于所提出的HGD,本文提出了EfficientFCN(如图1(d)所示),其高效编码器不需要稀释卷积,可以实现高效的语义分割。

2、Holistically-guided Decoder for Semantic-rich FeatureUpsampling

为了利用尺寸为OS=32的低分辨率高层特征图和尺寸为OS=8和OS=16的高分辨率中层特征图的优势,由于高层特征图已经失去了大部分的结构细节,但语义丰富,可以对分类信息进行编码,作者认为从它们中恢复详细的细节信息结构是相当具有挑战性的,也是不必要的。在此基础上,提出了从高层特征图中生成一系列没有任何空间顺序的整体编码词,以捕获全局环境的不同方面。 另一方面,中层的高分辨率特征图已经保持了丰富的图像结构信息。但它们来自相对较低的图层,不能为最终的掩模预测编码足够准确的分类特征。然而,它们仍然会有足够的代表性,用于指导高分辨率特征上采样的语义丰富的编码词的线性组装。因此,提出的整体导引解码器包含三个主要部分:多尺度特征融合、整体编码本生成和用于高分辨率特征上采样的编码词组装。

具体步骤首先融合多尺度特征,然后进行Holistic codebook generation。虽然多尺度融合特征图是为了整合高层和中层特征而创建的,但由于其分辨率较小,使得它们失去了许多场景的结构细节。另一方面,由于融合后的特征图是从最深层编码的,因此能够对图像的分类表示进行编码。因此,作者提出要从融合后的特征图中生成一系列无序的整体性编码词,以隐含地模拟全局背景的不同方面。 为了生成n个整体性编码词,首先通过两个独立的1×1卷积从融合的多尺度特征图中计算出编码base map和n个空间加权图。对于base map,表示为位置(x,y)的1024-d特征向量;为了保证加权图A被正确归一化,采用softmax函数对每个通道i的所有空间位置进行归一化:

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第4张图片

同时,每个空间加权图都会将所有空间位置的所有密码基B(x,y)线性组合起来,形成一个单一的密码,它可以捕捉全局上下文的某些方面。然后,加权图最终会产生n个整体编码词来编码高层次的全局特征。

之后,是用于高分辨率特征上采样的codeword编码过程。整体编码词可以捕捉到输入图像的各种全局上下文,它们是重建高分辨率语义丰富的特征图的完美成分,因为它们是由高级特征编码而成的。在此基础上,采用OS=8的多义词编码方法对图像进行编码,并将其作为重建高分辨率语义丰富的特征图的完美材料。然而,由于编码过程中大部分结构信息已经被删除,转而使用OS=8的多尺度融合特征来预测每个空间位置的编码词的线性编码系数,以创建高分辨率的特征图。最后,进行合并成OS8的特征图并进行上采样,得到最终的预测分割图。

实验与结果

数据集:  PASCAL Context , PASCAL  VOC  2012  , ADE20K 

PASCAL Context数据集实验:

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第5张图片

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第6张图片

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第7张图片

对比实验

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第8张图片

ECCV2020 | EfficientFCN:语义分割中的整体引导解码器,巧妙捕获上下文信息_第9张图片

更多细节可参考论文原文。


你可能感兴趣的:(卷积,算法,计算机视觉,机器学习,人工智能)