第十三章:Large Kernel Matters——大核心很重要,通过全局卷积网络改进语义分割

&原文信息

原文题目:《Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network》

原文引用:Peng C, Zhang X, Yu G, et al. Large kernel matters--improve semantic segmentation by global convolutional network[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 4353-4361.

原文链接:https://openaccess.thecvf.com/content_cvpr_2017/papers/Peng_Large_Kernel_Matters_CVPR_2017_paper.pdficon-default.png?t=N6B9https://openaccess.thecvf.com/content_cvpr_2017/papers/Peng_Large_Kernel_Matters_CVPR_2017_paper.pdf

0.摘要

        最近的网络架构设计趋势之一[30,31,14]是在整个网络中使用堆叠的小滤波器(例如1x1或3x3),因为在相同的计算复杂度下,堆叠的小滤波器比一个大核心更高效。然而,在语义分割领域,我们需要进行密集的像素级预测,我们发现大核心(和有效感受野)在同时执行分类和定位任务时起着重要作用。根据我们的设计原则,我们提出了一个全局卷积网络来解决语义分割中的分类和定位问题。我们还提出了一种基于残差的边界细化方法,以进一步改进物体边界的精度。我们的方法在两个公共基准数据集上实现了最先进的性能,并且在PASCAL VOC 2012数据集上的准确率为82.2%(相比之下,之前的结果为80.2%),在Cityscapes数据集上的准确率为76.9%(相比之下,之前的结果为71.8%)。

1.引言

        语义分割可以被视为像素级别的分类问题。在这个任务中存在两个挑战:

        1)分类:与特定语义概念相关联的对象应该被正确标记;

        2)定位:像素的分类标签必须与输出得分图中的适当坐标对齐。

        一个设计良好的分割模型应该同时处理这两个问题。然而,这两个任务在本质上是相互矛盾的。对于分类任务,模型需要对于平移和旋转等各种变换具有不变性。

        但是对于定位任务,模型应该是具有变换敏感性的,即能够准确地定位每个语义类别的每个像素。传统的语义分割算法主要针对定位问题,如图1 B所示。但这可能会降低分类性能。

        在本文中,我们提出了一种改进的网络架构,称为全局卷积网络(GCN),以同时应对上述两个挑战。我们遵循两个设计原则:

        1)从定位的角度来看,模型结构应该是完全卷积的,以保留定位性能,并且不应使用全连接或全局池化层,因为这些层会丢弃定位信息;

        2)从分类的角度来看,网络架构应采用大的核心大小,以实现特征图和像素分类器之间的密集连接,增强处理不同转换的能力。

        这两个原则导致了我们的GCN,如图2A所示。我们采用了类似于FCN [25]的结构作为基本框架,而我们的GCN用于生成语义得分图。为了使全局卷积实际可行,我们采用了对称的分离式大滤波器,以减少模型参数和计算成本。为了进一步提高物体边界附近的定位能力,我们引入了边界细化块,将边界对齐建模为一个残差结构,如图2C所示。与类似CRF的后处理方法不同,我们的边界细化块被整合到网络中,并进行端到端的训练。

        我们的贡献总结如下:

        1)我们提出了全局卷积网络(GCN)用于语义分割,同时明确解决了“分类”和“定位”问题;

        2)引入了边界细化块,可以进一步提高物体边界附近的定位性能;

        3)我们在两个标准基准测试中取得了最先进的结果,PASCAL VOC 2012达到了82.2%,Cityscapes达到了76.9%。

 图1.A:分类网络;B:传统的分割网络,主要设计用于定位;C:我们的全局卷积网络。

2.相关工作

        在本节中,我们快速回顾一下关于语义分割的文献。最流行的基于CNN的工作之一是全卷积网络(FCN)[25]。通过将全连接层转换为卷积层并连接中间得分图,FCN在语义分割上超过了许多传统方法。在FCN的结构基础上,有几个工作试图从以下三个方面改进语义分割任务。

上下文嵌入在语义分割中,上下文嵌入是一个热门的话题Zoom-out [26]是最早的一种方法,它提出了一种手工制作的分层上下文特征,而ParseNet [23]则增加了一个全局池化分支来提取上下文信息。Dilated-Net [36]在得分图之后添加了几层来嵌入多尺度上下文,而Deeplab V2 [7]则使用了Atrous Spatial Pyramid Pooling,这是一种卷积的组合,直接从特征图中嵌入上下文。

分辨率扩大是语义分割中的另一个研究方向。最初,FCN [25]提出了反卷积(即卷积的逆操作)来增加小得分图的分辨率。进一步,Deconv Net [27]和SegNet [3]引入了反池化操作(即池化的逆操作)和类似玻璃的网络来学习上采样过程。最近,LRR [12]认为上采样特征图比得分图更好。而不是学习上采样过程,Deeplab [24]和Dilated-Net [36]提出了一种特殊的扩张卷积,直接增加小特征图的空间大小,从而产生一个更大的得分图。

边界对齐尝试在物体边界附近改进预测。在众多方法中,条件随机场(CRF)通常被用于此处,因为它具有良好的数学形式。Deeplab [6]直接使用了denseCRF [18]作为CNN之后的后处理方法,denseCRF是建立在全连接图上的CRF变种。然后,CRFAsRNN [37]将denseCRF模型化为RNN风格的运算符,并提出了一个端到端的流水线,但它在Permutohedral Lattice [1]上涉及了太多的CPU计算。DPN [24]对denseCRF进行了不同的近似,并将整个流水线完全放在GPU上。此外,Adelaide [21]深度融合了CRF和CNN,其中手工制作的潜力被卷积和非线性替代。此外,还有一些CRF的替代方法。[4]提出了一个类似于CRF的模型,称为双边求解器,但速度提高了10倍,性能相当。[16]在CNN中引入了双边滤波器,用于学习特定的成对潜力。与以往的工作相反,我们认为语义分割是在大型特征图上的分类任务,而我们的全局卷积网络可以同时满足分类和定位的需求。

3.方法

        在本节中,我们首先提出了一种新颖的全局卷积网络(GCN),来解决语义分割中的分类和定位两个矛盾的方面。然后,利用GCN,我们设计了一个用于语义分割任务的全卷积框架。

3.1.全局卷积网络

        语义分割任务,或者像素级分类任务,需要输出一个得分图,为输入图像中的每个像素分配语义标签。正如在引言部分提到的,这个任务涉及两个挑战:分类和定位。然而,我们发现分类和定位问题的要求自然上是相互矛盾的:

        (1)对于分类任务,模型需要对输入的变换具有不变性 - 对象可能被移动、旋转或者缩放,但分类结果应该保持不变。

        (2)而对于定位任务,模型应该对变换敏感,因为定位结果取决于输入的位置。

        在深度学习中,分类和定位之间的差异导致了不同风格的模型。对于分类任务,大多数现代框架(如AlexNet [20]、VGG Net [30]、GoogleNet [31,32]或ResNet [14])采用图1A中显示的“圆锥形”网络:特征是从一个相对较小的隐藏层中提取出来的,这在空间维度上是粗糙的,分类器通过全连接层 [20,30]或全局池化层 [31,32,14]与整个特征图密集连接,这使得特征对局部干扰具有鲁棒性,并且使分类器能够处理不同类型的输入变换。相反,对于定位任务,我们需要相对较大的特征图来编码更多的空间信息。这就是为什么大多数语义分割框架,如FCN [25,29]、DeepLab [6,7]、Deconv-Net [27]采用图1B中显示的“桶形”网络。使用反卷积 [25]、反池化 [27,3]和扩张卷积 [6,36]等技术来生成高分辨率的特征图,然后将分类器局部连接到特征图上的每个空间位置,生成逐像素的语义标签。​​​​​​​

        我们注意到当前最先进的语义分割模型[25,6,27]主要遵循定位的设计原则,然而这对于分类可能不是最佳选择。由于分类器与特征图局部连接而不是全局连接,它很难处理输入上的不同变换。例如,考虑图3中的情况:分类器与输入对象的中心对齐,因此它应该为对象给出语义标签。起初,有效感受野(VRF)足够大,可以容纳整个对象。然而,如果输入对象被缩放到较大的尺度,那么VRF只能覆盖对象的一部分,这对分类可能是有害的。如果使用更大的特征图,情况就会变得更糟,因为分类和定位之间的差距会变得更大。

        基于上述观察,我们尝试设计一种新的架构来克服这些缺点。首先从定位的角度来看,结构必须是完全卷积的,不使用任何全连接层或全局池化层,这些层在许多分类网络中使用,因为后者会丢弃定位信息。其次,从分类的角度来看,受到分类模型密集连接结构的启发,卷积结构的核大小应尽可能大。特别是,如果核大小增加到特征图的空间大小(称为全局卷积),网络将与纯分类模型共享相同的优势。基于这两个原则,我们提出了一种新颖的全局卷积网络(GCN),如图2 B所示。我们的GCN模块采用了1×k + k×1和k×1 + 1×k的组合卷积,而不是直接使用更大的卷积核或全局卷积,这使得特征图中的一个大的k×k区域内可以实现密集连接。与[32]中使用的可分离卷积核不同,我们在卷积层之后没有使用任何非线性。与简单的k×k卷积相比,我们的GCN结构只涉及O(k2)的计算成本和参数个数,对于大的卷积核大小更加实用。

 图2.(A)整个流程的概述。全局卷积网络(GCN)和边界细化(BR)块的细节分别在(B)和(C)中说明。

3.2.总体框架

        我们的整体分割模型如图2所示。我们使用预训练的ResNet [14]作为特征网络,并使用FCN4 [25,35]作为分割框架。从特征网络的不同阶段提取多尺度特征图。全局卷积网络结构用于为每个类别生成多尺度语义分数图。与[25,35]类似,低分辨率的分数图将使用反卷积层进行上采样,然后与更高分辨率的分数图相加生成新的分数图。在最后一次上采样之后生成最终的语义分数图,用于输出预测结果。此外,我们在图2 C中提出了一个边界细化(BR)块。在这里,我们将边界对齐建模为一个残差结构。具体来说,我们定义S为精细化的分数图:S=S + R(S),其中S是粗糙的分数图,R(·)是残差分支。详细信息可参见图2。

 图3. [38]介绍的有效感受野(VRF)的可视化。图像上的区域显示了位于鸟中心的分数图的VRF。对于传统的分割模型,即使感受野与输入图像一样大,但VRF只覆盖了鸟(A),

如果输入被调整为更大的尺度,它无法容纳整个对象(B)。

相比之下,我们的全局卷积网络显著扩大了VRF(C)。

4.实验

        我们在标准基准测试数据集PASCAL VOC 2012 [11,10]和Cityscapes [8]上评估了我们的方法。PASCAL VOC 2012包括1464张训练图像,1449张验证图像和1456张测试图像,涵盖了20个对象类别和一个背景类别。我们还使用了语义边界数据集[13]作为辅助数据集,总共有10,582张训练图像。我们选择了最先进的网络模型ResNet 152 [14](在ImageNet [28]上进行了预训练)作为我们的基础模型进行微调。在训练过程中,我们使用标准的随机梯度下降(SGD)[20],批量大小为1,动量为0.99,权重衰减为0.0005。训练中还应用了均值减法和水平翻转等数据增强技术。性能使用标准的交并比(IoU)进行衡量。所有实验均使用Caffe [17]工具运行。在接下来的小节中,首先我们将进行一系列的消融实验,评估我们方法的有效性。然后我们将报告在PASCAL VOC 2012和Cityscapes上的完整结果。

4.1.消融实验

        在本小节中,我们将进行苹果到苹果的比较,以评估第3节中提出的方法。如上所述,我们使用PASCAL VOC 2012验证集进行评估。对于所有后续的实验,我们将每个输入图像填充为512×512,以便最顶层的特征图为16×16。

图4.(A)全局卷积网络。(B)1×1卷积基线。(C)k×k卷积。(D)3×3卷积堆叠。

4.1.1.全局卷积网络——大核心很重要

        在第3.1节中,我们提出了全局卷积网络(GCN),以实现分类器和特征之间的密集连接。GCN的关键思想是使用大的卷积核,其大小由参数k控制(参见图2 B)。为了验证这个想法,我们枚举不同的k值,并分别测试其性能。整体网络架构如图2 A所示,只是没有应用边界细化块。为了更好地进行比较,我们添加了一个简单的基准模型,用简单的1×1卷积替代了GCN(如图4 B所示)。结果如表1所示。

        我们尝试了不同的卷积核尺寸,范围从3到15。注意,我们只使用奇数尺寸,以避免对齐错误。当k=15时,大致等于特征图大小(16×16),结构变得“真正的全局卷积”。从结果中我们可以发现,性能随着卷积核尺寸k的增加而持续提高。特别是,“全局卷积”版本(k=15)的性能明显超过最小尺寸的版本5:5%。结果表明,在我们的GCN结构中,大尺寸的卷积核带来了巨大的好处,这与我们在第3.1节中的分析一致。

进一步讨论:在表1的实验中,由于基线和不同版本的GCN之间存在其他差异,将改进归因于大尺寸卷积核或GCN似乎不太确定。例如,有人可能会认为更大的k带来的额外参数导致了性能提升。或者有人可能认为可以使用另一种简单的结构而不是GCN来实现等效的大尺寸卷积核。因此,我们将提供更多证据来更好地理解这一点。

        (1)更多的参数是否有帮助?在GCN中,参数数量随卷积核尺寸k线性增加,因此一个自然的假设是表1中的改进主要是由于参数数量的增加。为了解决这个问题,我们将我们的GCN与一个简单的大卷积核设计进行比较,该设计使用了一个简单的k×k卷积(如图4 C所示)。结果如表2所示。从结果中我们可以看出,对于任何给定的卷积核尺寸,简单卷积设计的参数数量都比GCN多。然而,后者在性能方面始终优于前者。显然,对于简单卷积版本,如果k≤5,较大的卷积核尺寸会导致更好的性能,但是对于k≥7,性能会下降。一个假设是太多的参数使训练过拟合,削弱了较大卷积核的好处。然而,在训练中,我们发现简单的大卷积核实际上使网络难以收敛,而我们的GCN结构不会受到这个缺点的影响。因此,实际原因仍需要进一步研究。

        (2)GCN vs.小卷积核的堆叠。除了GCN之外,形成一个大卷积核的另一种简单方法是使用小卷积核的堆叠(例如,图4 D中的3×3卷积核的堆叠),这在现代CNN架构(如VGG-net [30])中非常常见。例如,我们可以使用两个3×3的卷积来近似一个5×5的卷积核。在表3中,我们比较了GCN与不同等效卷积核尺寸下的卷积堆叠。与[30]不同的是,我们在卷积堆叠中不应用非线性,以保持与GCN结构的一致性。结果表明,对于任何大的卷积核尺寸,GCN仍然优于简单的卷积堆叠。

        对于大的卷积核尺寸(例如k=7),3×3的卷积堆叠会带来比GCN更多的参数,这可能对结果产生副作用。因此,我们尝试减少卷积堆叠的中间特征图数量,并进行进一步的比较。结果列在表4中。很明显,随着参数数量的减少,性能会下降。总之,与简单的卷积堆叠相比,GCN是一种更好的结构。

        (3)GCN如何对分割结果做出贡献?在第3.1节中,我们声称通过在特征图中引入密集连接,GCN改善了分割模型的分类能力,这有助于处理大量的变换。基于此,我们可以推断位于大型物体中心的像素可能会更多地从GCN中受益,因为它与“纯粹”的分类问题非常接近。然而,对于物体的边界像素,性能主要受到定位能力的影响。

        为了验证我们的推断,我们将分割得分图分为两部分:

        a)边界区域,其像素接近于物体边界(距离≤7),

        b)内部区域为其他像素。

        我们在这两个区域中评估了我们的分割模型(GCN,k=15)的性能。结果如表5所示。我们发现,我们的GCN模型主要改善了内部区域的准确性,而在边界区域的影响较小,这强烈支持了我们的论点。此外,在表5中我们还评估了第3.2节中提到的边界细化(BF)模块。与GCN结构相反,BF主要改善了边界区域的准确性,这也证实了它的有效性。

表2:全局卷积网络和简单实现之间的比较实验。得分是在标准的平均IoU(%)下进行测量的,第3行和第4行显示了GCN和简单卷积在res-5之后的参数数量。

表3:全局卷积网络和等效的小卷积核叠加层之间的比较实验。得分是在标准的平均IoU(%)下进行测量的。对于大卷积核(k>7),GCN仍然表现更好。

表4:小卷积核叠加层的通道数实验结果。得分是在标准的平均IoU下进行测量的。GCN在参数较少的情况下优于卷积叠加设计。

表5:残差边界对齐的实验结果。边界和内部列通过每像素准确度进行测量,而第三列通过标准的平均IoU进行测量。 

4.1.2.预训练模型的卷积网络

        在上述的子节中,我们的分割模型是从ResNet-152网络进行微调的。由于大卷积核在分割任务中起着关键作用,自然而然地将GCN的思想应用于预训练模型。因此,我们提出了一种新的ResNet-GCN结构,如图5所示。我们移除了ResNet中原始瓶颈结构中的前两层,并用一个GCN模块替换它们。为了与原始模型保持一致,我们在每个卷积层之后也应用了批量归一化[15]和ReLU激活函数。

        我们将我们的ResNet-GCN结构与原始的ResNet模型进行了比较。为了公平比较,ResNet-GCN的大小被精心选择,以使两个网络具有类似的计算成本和参数数量。更多细节请参见附录。我们首先在ImageNet 2015 [28]上对ResNet-GCN进行预训练,然后在PASCAL VOC 2012分割数据集上进行微调。结果如表6所示。请注意,我们选择了ResNet50模型(带有或不带有GCN)进行比较,因为大型ResNet152的训练非常耗时。从结果中我们可以看出,作为ImageNet分类模型,基于GCN的ResNet稍逊于原始ResNet。然而,在分割数据集上进行微调后,ResNet-GCN模型的性能明显优于原始ResNet,提升了5.5%。通过应用GCN和边界细化,基于GCN的预训练模型的收益变得较小,但仍然显著。我们可以安全地得出结论,GCN主要有助于提高分割性能,无论是在预训练模型中还是在分割特定的结构中。

图5.A:原始ResNet中的瓶颈模块。B:我们在ResNet-GCN中的全局卷积网络。

表6:在ResNet50和ResNet50-GCN上的实验结果。在ImageNet分类错误中使用了224×224中心裁剪在256×256图像上的Top-5错误。分割得分是在标准平均IoU下测量的。

4.2.PASCAL VOC 2012

        在这一节中,我们讨论了在PASCAL VOC 2012数据集上的实践。根据[6,37,24,7]的方法,我们使用微软的COCO数据集[22]对模型进行预训练。COCO数据集有80个类别,这里我们只保留了包含PASCAL VOC 2012中相同的20个类别的图像。训练阶段分为三个阶段:

        (1)在第一阶段,我们混合了来自COCO、SBD和标准PASCAL VOC 2012的所有图像,共计109,892张图像进行训练。

        (2)在第二阶段,我们使用了SBD和标准PASCAL VOC 2012的图像,与第4.1节相同。

        (3)在第三阶段,我们只使用了标准的PASCAL VOC 2012数据集。输入图像在第一阶段被填充到640×640,第二和第三阶段为512×512。在验证集上的评估结果如表7所示。

        我们的GCN + BR模型明显优于其他模型,同时后处理的多尺度和denseCRF [18]也带来了好处。图6给出了一些视觉比较结果。我们还将我们最好的模型提交到在线评估服务器,在PASCAL VOC 2012测试集上获得了82.2%的准确率,如表8所示。我们的工作在性能上超过了所有先前的最新技术。图6:在PASCAL VOC 2012上的语义分割结果示例。对于每一行,我们列出了输入图像(A),1×1卷积基线(B),全局卷积网络(GCN)(C),全局卷积网络加边界细化(GCN + BR)(D),以及真实标签(E)。

 表8:在PASCAL VOC 2012测试集上的实验结果。

4.3.Cityscapes

        Cityscapes [8]是一个用于城市街景语义分割的数据集。它包含来自50个城市的24998张图像,具有不同的条件,属于30个类别,没有背景类别。由于某些原因,只有30个类别中的19个类别在排行榜上进行评估。这些图像根据其标注质量被分为两个集合。其中5,000张图像是精细标注的,而另外19,998张图像是粗略标注的。这5,000张精细标注的图像进一步分为2,975张训练图像,500张验证图像和1,525张测试图像。Cityscapes中的图像大小固定为1024×2048,对于我们的网络架构来说太大了。因此,在训练阶段我们随机裁剪图像为800×800大小。我们还将GCN中的k值从15增加到25,因为最终特征图为25×25。训练阶段分为两个阶段:

        (1)在第一阶段,我们混合了粗略标注的图像和训练集,共计22,973张图像。

        (2)在第二阶段,我们只在训练集上对网络进行微调。在评估阶段,我们将图像分成四个1024×1024的部分,并融合它们的分数图。结果如表9所示。

        我们将我们最好的模型提交到在线评估服务器,在Cityscapes测试集上获得了76.9%的准确率,如表10所示。再次证明我们的工作超过了所有先前的发表,并达到了新的最新技术水平。

表9:在Cityscapes验证集上的实验结果。这里使用了标准的平均IoU来评估。

表10:在Cityscapes测试集上的实验结果。

5.总结

        根据我们对分类和分割的分析,我们发现大尺寸的卷积核对于缓解分类和定位之间的矛盾非常重要。遵循大尺寸卷积核的原则,我们提出了全局卷积网络。消融实验表明,我们提出的结构在有效感受野和参数数量之间取得了良好的平衡,并取得了良好的性能。为了进一步精细化物体边界,我们提出了一种新颖的边界细化模块。从定性上看,我们的全局卷积网络主要改善了内部区域,而边界细化则提高了边界附近的性能。我们的最佳模型在两个公共基准测试中取得了最先进的结果:PASCAL VOC 2012(82.2%)和Cityscapes(76.9%)。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值