原始文档 https://www.yuque.com/lart/papers/gddkn2
GCN 主要将 Semantic Segmentation分解为:Classification 和 Localization两个问题。但是,这两个任务本质对特征的需求是矛盾的,Classification需要特征对多种Transformation具有不变性,而 Localization需要对 Transformation比较敏感。但是,普通的 Segmentation Model大多针对 Localization Issue设计,正如图1(b)所示,而这不利于 Classification。
所以,为了兼顾这两个 Task,本文提出了两个 Principle:
根据这两条 Principle,本文提出了Global Convolutional Network(GCN)。如图2所示,这个方法整体结构正是背景介绍中提到的U-shape结构,其核心模块主要包括:GCN 和 BR。
此处主要介绍GCN设计。正如图3(b)所示,它采用了较大 Kernel Size的卷积核,来同时解决上述的两个 Issue;然后根据卷积分解,利用1 x k + k x 1 和k x 1 + 1 x k 的卷积来替代原来的k x k 大核卷积。相对于原本的大核卷积,该设计能明显降低参数量和计算量。图3可视化了 Large Kernel Conv 和 普通 Conv网络有效感受野的对比。
Feature maps from modern networks such as GoolgeNet or ResNet usually have very large receptive field because of the deep architecture. However, studies [Object detectors emerge in deep scene cnns] show that network tends to gather information mainly from a much smaller region in the receptive field, which is called valid receptive field (VRF) in this paper.
可以看出,通过提出的全局卷积网络可以得到更大的VRF。
做后续的实验的时候:we use PASCAL VOC 2012 validation set for the evaluation. For all succeeding experiments, we pad each input image into 512x512 so that the top-most feature map is 16x16.
表格比较了图4中的A随着k的变化而得到的性能的变化,而B则是基线。
因为特征图最小为16x16,所以卷积核到15的时候基本上已近变成了真正的全局卷积。从上面比较了可以看出,随着k的增大,性能是在提升的。
为了进一步验证是否是因为k的增加导致参数的增加,继而导致的性能的提升,这里进一步测试,设计了几个如图4中C的结构,改变其A和C的k,统计如下:
可以看出,随着参数的增加,GCN性能一如既往的替身,但是一般的卷积在k>5的时候反而会下降。然而,在训练中发现一般的大核卷积实际上使得网络难以收敛,而GCN结构将不会面临这个问题。因此,实际原因还需要进一步研究。
GCN使用 Large Kernel Size增大了感受野,是否可以通过堆叠多个 Small Kernel Size的 Conv来替代?文章为此设计了图4D(n个小卷积核(3x3)堆叠来代替一个kxk的核)的结构,与A结构进行实验,对比两者的结果。
we do not apply nonlinearity within convolutional stacks so as to keep consistent with GCN structure.
可以看到 GCN 依然优于普通 Conv 的堆叠,尤其是在较大 Kernel Size 的情况下。
对于大的内核大小(例如k = 7),3x3卷积堆叠将带来比GCN更多的参数,这可能对结果产生副作用。因此,尝试减少卷积堆叠中间特征映射的数量,并进行进一步的比较。结果列于表4中。显然,其性能受到参数少的影响。总之,与一般的卷积堆叠相比,GCN是一种更好的结构。
这是一个很有价值的实验,可以启发去思考关于网络感受野的问题。以往认为,通过堆叠多个小核 Conv 可以达到和大核 Conv 一样的感受野,同时计算量还更少。最常见的应用比如 VGG-Net。但是,实际上并非如此。随着网络深度的提升,理论上网络的感受野大多可以直接覆盖全图,但是实际有效感受野却远小于此。
网友的理解是对同一个 Feature Map 进行卷积,边缘区域进行计算的次数会小于中心区域,所以随着 Conv 的不断堆叠,实际上会导致边缘感受野的衰减,即有效感受野会远小于理论感受野。
GCN通过引入与特征图的密集连接来提高分割模型的分类能力,这有助于处理大的变换。基于此,可以推断出位于大型物体中心的像素可能会从GCN中受益更多,因为它非常接近“纯”分类问题。然而,对于物体的边界像素,性能主要受定位能力的影响。
为了验证推断,将分割得分图分为两部分:
在两个区域评估分割模型(GCN有着k=15)。结果如表5所示,主要发现GCN模型有助于提高内部区域的准确性,而边界区域的影响很小,这有力地支持了前面的论证。此外,在表5中,还评估了前面提到的边界细化(BF)块。与GCN结构相反,BF主要提高了边界区域的精度,这也证实了其有效性。
上面的模型是从ResNet-152网络中精确调整的。由于大内核在分割任务中起着至关重要的作用,因此在预训练模型上应用GCN的思想也是很自然的。因此,提出了一种新的ResNet-GCN结构,如图5所示。删除了ResNet使用的原始瓶颈结构中的前两层,并用GCN模块替换它们。为了与原始数据保持一致,还在每个卷积层之后应用BN和ReLU。
将ResNet-GCN结构与原始ResNet模型进行比较。为了公平比较,仔细选择ResNet-GCN的大小,以便两个网络具有相似的计算成本和参数数量。附录中提供了更多详细信息。先在ImageNet 2015上预先训练ResNet-GCN并对PASCAL VOC 2012分割数据集进行微调。结果如表6所示。
注意这里使用ResNet50的模型来做比较,因为大型ResNet152的训练是非常费时的。从结果我们可以看出,基于GCN的ResNet作为ImageNet分类模型比原始ResNet略差。然而,在对细分数据集进行微调后,ResNet-GCN模型显着优于原始ResNet 5.5%。随着GCN和边界细化的应用,基于GCN的预训练模型的增益变得很小但仍然占优势。可以有把握地得出结论,无论在预训练模型还是特定于分段的结构中,GCN主要有助于提高分割性能。
Our GCN + BR model clearly prevails, meanwhile the post-processing multi-scale and denseCRF also bring benefits.
根据对分类和分割的分析,发现大核对于缓解分类和定位之间的矛盾至关重要。在阐述大尺寸内核的原理的同时,提出了全局卷积网络。消融实验表明,提出的结构在有效的感受野和参数数量之间达到了良好的平衡,同时获得了良好的性能。为了进一步细化对象边界,提出了一种新颖的边界重细化模块。
定性地,GCN主要改善内部区域,而边界细化则提高边界附近的性能。
最佳模型在两个公共基准测试中实现了最先进的技术:PASCAL VOC 2012(82.2%)和Cityscapes(76.9%)。