Global Convolutional Network

Apr 25, 2024
2 views
Computer Vision

CVPR2017 算法 Global Convolutional Network(GCN),江湖人送外号“Large Kernel”。

Motivation

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

image

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

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

网络结构

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

image

此处主要介绍GCN设计。正如图(b)所示,它采用了较大 Kernel Size的卷积核,来同时解决上述的两个 Issue;然后根据矩阵分解,利用 \(1\times k + k\times 1\)\(k\times 1 + 1\times k\) 的卷积来替代原来的 \(k\times k\) 大核卷积。相对于原本的大核卷积,该设计能明显降低参数量和计算量。下图可视化了 Large Kernel Conv 和 普通 Conv网络有效感受野的对比。

image

实验

文中为了验证 Large Kernel Conv的有效性,对比了不同 Size的 Kernel,可以看到Kernel Size=15时比 Base Network整整高了 5.5% mean IoU.

image