卷积网络正在推动图像识别技术的进步。卷积网络不仅提升整幅图像的分类能力,而且对于具有结构化输出的局部任务同样取得进展,这包括目标检测、关键点检测等。从粗到精的推理过程中,自然而然的下一步就是在每个像素点上进行预测。
本文提出了一个全卷积网络概念,采用端到端、像素到像素的训练,在语义分割场景下达到了最优的水平。这是第一次端到端训练的FCN,以用于像素级的预测;同时是第一次用监督预训练的方法训练FCN。
下面对FCN的关键点进行介绍。
一、调整分类器以进行密集预测
图中上半部分是一个经典的8层AlexNet网络,其中前五层是卷积层,最后三层是全连接层。
作者认为全连接层有着固定的维度,且丢失了空间信息。这里丢失空间信息是指从二维展平为一维。因此,作者采用卷积层来代替全连接层,如图中下半部分所示。
原来的AlexNet 最后三层分别是 9216 ∗ 4096 9216*4096 9216∗4096的全连接层、 4096 ∗ 4096 4096*4096 4096∗4096的全连接层、 4096 ∗ 1000 4096*1000 4096∗1000的全连接层。其中 9126 = 256 ∗ 6 ∗ 6 9126=256*6*6 9126=256∗6∗6, 256是第五层卷积层的通道数,6是第五层卷积层的核大小。
经过采用卷积层的替换,最后三层变为 4096 ∗ 6 ∗ 6 4096*6*6 4096∗6∗6的卷积层(输出特征图是 4096 ∗ 1 ∗ 1 4096*1*1 4096∗1∗1)、 4096 ∗ 1 ∗ 1 4096*1*1 4096∗1∗1的卷积层(输出特征图是 4096 ∗ 1 ∗ 1 4096*1*1 4096∗1∗1)、 1000 ∗ 1 ∗ 1 1000*1*1 1000∗1∗1的卷积层(输出特征图是 1000 ∗ 1 ∗ 1 1000*1*1 1000∗1∗1)。
经过这样的处理,我们得到了一个 1000 ∗ 1 ∗ 1 1000*1*1 1000∗1∗1的输出特征图,使它们成为语义分割等密集预测问题的自然选择。
二、上采样
我们从上一节知道,经过对网络的全连接层调整之后,输出的结果是一个特征图,它的宽和高是 1 ∗ 1 1*1 1∗1。
那么我们需要把这种 1 ∗ 1 1*1 1∗1的宽高恢复到原输入图像大小,以实现像素级的预测。
图中使用的是VGG-16网络实现的特征提取。我们知道,VGG的网络结构非常简洁,只有 k = 3 ∗ 3 , s t r i d e = 1 , p a d d i n g = 1 k=3*3,stride=1,padding=1 k=3∗3,stride=1,padding=1的卷积层和 k = 2 ∗ 2 , s t r i d e = 2 , p a d d i n g = 0 k=2*2,stride=2,padding=0 k=2∗