Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network


语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

原始文档 https://www.yuque.com/lart/papers/gddkn2

主要工作

GCN 主要将 Semantic Segmentation分解为:Classification 和 Localization两个问题。但是,这两个任务本质对特征的需求是矛盾的,Classification需要特征对多种Transformation具有不变性,而 Localization需要对 Transformation比较敏感。但是,普通的 Segmentation Model大多针对 Localization Issue设计,正如图1(b)所示,而这不利于 Classification。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

所以,为了兼顾这两个 Task,本文提出了两个 Principle:

  1. 从 Localization 来看,我们需要全卷积网络,而且不能有全连接或者全局池化等操作丢失位置信息。
  2. 从 Classification 来看,我们需要让 Per-pixel Classifier 或者 Feature Map 上每个点的连接更稠密一些,也就需要更大的 Kernel Size,如图1c所示。

根据这两条 Principle,本文提出了Global Convolutional Network(GCN)。如图2所示,这个方法整体结构正是背景介绍中提到的U-shape结构,其核心模块主要包括:GCN 和 BR

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

此处主要介绍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网络有效感受野的对比。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

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 evaluate our approach on the standard benchmark PASCAL VOC 2012 and Cityscapes.
    • PASCAL VOC 2012 has 1464 images for training, 1449 images for validation and 1456 images for testing, which belongs to 20 object classes along with one background class.
    • We also use the Semantic Boundaries Dataset as auxiliary dataset, resulting in 10,582 images for training.
  • We choose the state-of-the-art network ResNet 152 (pretrained on ImageNet) as our base model for fine tuning.
  • During the training time, we use standard SGD with batch size 1, momentum 0.99 and weight decay 0.0005 .
  • Data augmentations like mean subtraction and horizontal flip are also applied in training.
  • The performance is measured by standard mean intersection-over-union (IoU).

验证Large Kernel Conv的有效性

做后续的实验的时候: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.

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

表格比较了图4中的A随着k的变化而得到的性能的变化,而B则是基线。

因为特征图最小为16x16,所以卷积核到15的时候基本上已近变成了真正的全局卷积。从上面比较了可以看出,随着k的增大,性能是在提升的。

GCN的核增大性能提升,是否在于参数的增加?

为了进一步验证是否是因为k的增加导致参数的增加,继而导致的性能的提升,这里进一步测试,设计了几个如图4中C的结构,改变其A和C的k,统计如下:

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

可以看出,随着参数的增加,GCN性能一如既往的替身,但是一般的卷积在k>5的时候反而会下降。然而,在训练中发现一般的大核卷积实际上使得网络难以收敛,而GCN结构将不会面临这个问题。因此,实际原因还需要进一步研究。

是否可以通过堆叠多个Small Kernel Size的Conv来替代GCN?

GCN使用 Large Kernel Size增大了感受野,是否可以通过堆叠多个 Small Kernel Size的 Conv来替代?文章为此设计了图4D(n个小卷积核(3x3)堆叠来代替一个kxk的核)的结构,与A结构进行实验,对比两者的结果。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

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是一种更好的结构。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

这是一个很有价值的实验,可以启发去思考关于网络感受野的问题。以往认为,通过堆叠多个小核 Conv 可以达到和大核 Conv 一样的感受野,同时计算量还更少。最常见的应用比如 VGG-Net。但是,实际上并非如此。随着网络深度的提升,理论上网络的感受野大多可以直接覆盖全图,但是实际有效感受野却远小于此。
网友的理解是对同一个 Feature Map 进行卷积,边缘区域进行计算的次数会小于中心区域,所以随着 Conv 的不断堆叠,实际上会导致边缘感受野的衰减,即有效感受野会远小于理论感受野。

GCN对于分割结果有怎样的贡献

GCN通过引入与特征图的密集连接来提高分割模型的分类能力,这有助于处理大的变换。基于此,可以推断出位于大型物体中心的像素可能会从GCN中受益更多,因为它非常接近“纯”分类问题。然而,对于物体的边界像素,性能主要受定位能力的影响。
为了验证推断,将分割得分图分为两部分:

  1. 边界区域,其像素位于靠近物体的边界(距离<=7)
  2. 内部区域作为其他像素。

在两个区域评估分割模型(GCN有着k=15)。结果如表5所示,主要发现GCN模型有助于提高内部区域的准确性,而边界区域的影响很小,这有力地支持了前面的论证。此外,在表5中,还评估了前面提到的边界细化(BF)块。与GCN结构相反,BF主要提高了边界区域的精度,这也证实了其有效性。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

在预训练模型上的嵌入

上面的模型是从ResNet-152网络中精确调整的。由于大内核在分割任务中起着至关重要的作用,因此在预训练模型上应用GCN的思想也是很自然的。因此,提出了一种新的ResNet-GCN结构,如图5所示。删除了ResNet使用的原始瓶颈结构中的前两层,并用GCN模块替换它们。为了与原始数据保持一致,还在每个卷积层之后应用BN和ReLU。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

将ResNet-GCN结构与原始ResNet模型进行比较。为了公平比较,仔细选择ResNet-GCN的大小,以便两个网络具有相似的计算成本和参数数量。附录中提供了更多详细信息。先在ImageNet 2015上预先训练ResNet-GCN并对PASCAL VOC 2012分割数据集进行微调。结果如表6所示。

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

注意这里使用ResNet50的模型来做比较,因为大型ResNet152的训练是非常费时的。从结果我们可以看出,基于GCN的ResNet作为ImageNet分类模型比原始ResNet略差。然而,在对细分数据集进行微调后,ResNet-GCN模型显着优于原始ResNet 5.5%。随着GCN和边界细化的应用,基于GCN的预训练模型的增益变得很小但仍然占优势。可以有把握地得出结论,无论在预训练模型还是特定于分段的结构中,GCN主要有助于提高分割性能。

Pascal VOC 2012

  • employ the Mi-crosoft COCO dataset to pre-train our model.
    • COCO has 80 classes and here we only retain the images including the same 20 classes in PASCAL VOC 2012.
  • The training phase is split into three stages:
    • InStage-1, we mix up all the images from COCO, SBD and standard PASCAL VOC 2012, resulting in 109,892 images for training.
    • During the Stage-2, we use the SBD and standard PASCAL VOC 2012 images.
    • For Stage-3, we only use the standard PASCAL VOC 2012 dataset.
    • The input image is padded to 640x640 in Stage-1 and 512x512 for Stage-2 and Stage-3.

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

Our GCN + BR model clearly prevails, meanwhile the post-processing multi-scale and denseCRF also bring benefits.

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

Cityscapes

  • Cityscapes is a dataset collected for semantic seg-mentation on urban street scenes. It contains 24998 images from 50 cities with different conditions, which belongs to 30 classes without background class.
  • For some reasons, only 19 out of 30 classes are evaluated on leaderboard. The images are split into two set according to their labeling quality.
    • 5,000 of them are fine annotated while the other 19,998 are coarse annotated.
    • The 5,000 fine annotated images are further grouped into 2975 training images, 500 validation images and 1525 testing images.
  • The images in Cityscapes have a fixed size of 1024x2048, which is too large to our network architecture. Therefore we randomly crop the images into 800x800 during training phase.
  • We also increase k of GCN from 15 to 25 as the final feature map is 25x25.
  • The training phase is split into two stages:
    • In Stage-1, we mix up the coarse annotated images and the training set, resulting in 22,973 images.
    • For Stage-2, we only finetune the network on training set.
  • During the evaluation phase, we split the images into four 1024x1024 crops and fuse their score maps.

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

语义分割之Large Kernel Matters —— Improve Semantic Segmentation by Global Convolutional Network

总结

根据对分类和分割的分析,发现大核对于缓解分类和定位之间的矛盾至关重要。在阐述大尺寸内核的原理的同时,提出了全局卷积网络。消融实验表明,提出的结构在有效的感受野和参数数量之间达到了良好的平衡,同时获得了良好的性能。为了进一步细化对象边界,提出了一种新颖的边界重细化模块。

定性地,GCN主要改善内部区域,而边界细化则提高边界附近的性能。

最佳模型在两个公共基准测试中实现了最先进的技术:PASCAL VOC 2012(82.2%)和Cityscapes(76.9%)。

相关文章:

  • 2021-12-15
  • 2022-12-23
  • 2021-05-13
  • 2021-11-24
  • 2021-08-14
  • 2021-11-19
  • 2021-06-16
  • 2021-08-27
猜你喜欢
  • 2021-05-17
  • 2021-04-02
  • 2021-08-27
  • 2021-08-17
  • 2022-01-09
  • 2021-09-21
  • 2021-04-25
相关资源
相似解决方案