这篇文章是收录在CVPR 2017上的文章,作者来自清华大学和旷视科技。论文原文《Large Kernel Matters-Improve Semantic Segmentation by Global Convolutional Network》。
语义分割可以看成是一个逐像素的分类任务,同时包含分类和定位。对于分类任务,模型必须是具有不变性的,但是对于定位任务,模型应该是对变换敏感的。
为应对这一问题,论文提出了一种Global Convolutional Network(全局卷积网络,GCN)。
现在的模型设计倾向于使用小的卷积核来堆叠替代大的卷积核以减少参数的数量,虽然堆叠多个小的卷积核和一个大的卷积核在理论上具有相同的感受野,但是如果调大输入图像的尺寸,则感受野可能就不能覆盖全部物体了。并且虽然有多个卷积核叠,但是边缘区域进行计算的次数会小于中心区域,所以随着 Conv 的不断堆叠,实际上会导致边缘感受野的衰减,即有效感受野会远小于理论感受野。
所以网络结构应该采用较大的核大小,使特征映射和逐像素分类器之间能够紧密地连接起来,以增强应对变换的能力。但是大的卷积核会导致参数量剧增,所以论文使用了对称的分离卷积,以降低模型参数和计算量。
论文在PASCAL VOC 2012 和Cityscapes数据集上做了实验。PASCAL VOC 2012数据集有训练图片1464张,验证图片1449张,测试图片1456张,连同背景一共20个类别。同时论文还使用了Semantic Boundaries Dataset作为辅助数据集,因此训练图片共有10582张。论文使用了在ImageNet上训练好的ResNet-152进行fine tuning,优化器使用标准的SGD,batch size为1, momentum 0.99,weight decay 0.0005。数据增强使用去均值,水平翻转。
下面是实验中用于比较的几种结构。
最后,作者还更改了ResNet-152的网络结构,将GCN的思想应用到预训练的模型中,去掉ResNet瓶颈层的前两层,替换为一个GCN模块。为了与原模型保持一致,作者也在每个卷积层后面添加了Batch Normalization和ReLU,这种结构称作ResNet-GCN。
作者在PASCAL VOC 2012的训练分为3个阶段,
1)混合COCO,SBD和标准的PASCAL VOC 2012数据集,共109892张图片做训练,输入图片填充到640 x 640大小;
2)使用SBD和标准的PASCAL VOC 2012数据训练,输入图片填充到512 x 512大小;
3)仅使用标准的PASCAL VOC 2012数据集训练,输入图片填充到512 x 512大小。
Cityscapes数据集有24998张图片,其中5000张是精细标注的,19998张是粗略标注的。把5000张精细标注的分配2975张到训练集中,500张到验证集中,1525张到测试集中。Cityscapes数据集的图片大小都是1024 x 2048,训练时将其随机裁剪到800 x 800大小。将GCN的k值从15提升到25。
训练分为两个阶段:
1)将粗略标注的图像和精细标注的1525共22973张图片用于训练;
2)在1525张图片上进行fine tuning。
在验证时将输入图像裁剪成四个1024 x 1024的块,融合它们的score maps。