FCN网络是深度学习图像分割领域的奠基之作,有着极大的意义.今天就来简单介绍一下FCN全卷积网络.
这篇论文的标题为"Fully Convolutional Networks for Semantic Segmentation",也就是全卷积网络应用于语义分割.
传统的分类卷积神经网络,如AlexNet,VGG等都是输入一幅图像,输出图像所属类别的概率,因此为对整幅图像的类别的预测.而本文中的FCN全卷积网络则适用于图像语义分割,即输入一幅图像,输出仍然为一幅图像,只是分割出原图像中需要的类别.这样就不能再使用传统的分类模型了.下面将具体介绍一下FCN全卷积网络.
1.语义分割和密集预测
密集预测是一种基于密集像素的图像处理任务,具体的有语义分割,边界预测,图像复原,图像定位等任务.这些任务与图像分类任务最明显的区别就在于,他们需要对整幅图像中的每一个像素点进行操作,因此是一种密集预测.
FCN模型要解决的问题是图像语义分割.它是一种端到端,像素到像素的预测任务,要求输入原始图像,输出图像中对应类别的分割图.
2.FCN模型介绍
FCN网络沿用了VGG分类网络的前几层,并将最后的三层全连接层替换为相应的卷积层,并在网络的最后添加了上采样层(upsampling layer),将图像复原到原先的尺寸.网络的简单结构示意图如图所示:
上图仅仅是FCN-32s的示意图,另外的FCN-16s和FCN-8s中包含有跳跃结构,后面将具体解释.
全卷积网络
正如这篇论文标题所说的,FCN模型的最大的特点就在于使用了全卷积网络.在传统的分类任务中,无论网络前段使用什么样的结构,最后都会接着两层或者三层全连接层,即将卷积得到的三维特征图拉直为一维向量,通过全连接层进行概率预测.在FCN模型中,完全抛弃了全连接层,并且全部用卷积层替代,从头到尾的进行卷积操作.最后将会得到一个三维的特征图,这个特征图的每一个channel的特征图代表一个类别的分数,以此进行预测.具体结构如下:
全卷积神经网络的主要优点在于可以输入任意大小的图像.
在一个卷积神经网络中,可以很明显的看到卷积层是与输入图像的大小没有关系的,即无论图像多大,都可以进行卷积操作,只是卷积层输出的特征图大小不同.在卷积神经网络中,真正限制输入图像大小的是最后的全连接层神经元数,因为全连接层单元数必须与最后一层卷积的输出特征图相匹配(否则会造成全连接层权值参数个数不一致).使用全卷积网络使用卷积层替换全连接层,这样就没有全连接层单元数的限制,因此可以输入任意大小的图像(至少要大于224X224).
当输入不同大小的图像时全卷积网络将会产生不同大小的输出特征图,例如输入224X224的图像,则输出特征图为1X1X1000,输入512X512的图像,则输出特征图为16X16X1000.