将图像级别的分类加强到像素级

1.FCN概述
CNN做图像分类甚至做目标检测的效果已经被证明并广泛应用,图像语义分割本质上也可以认为是稠密的目标识别(需要预测每个像素点的类别)。

传统的基于CNN的语义分割方法是:将像素周围一个小区域(如25*25)作为CNN输入,做训练和预测。这样做有3个问题:

  • 像素区域的大小如何确定

  • 存储及计算量非常大

  • 像素区域的大小限制了感受野的大小,从而只能提取一些局部特征

为什么需要FCN?
我们分类使用的网络通常会在最后连接几层全连接层,它会将原来二维的矩阵(图片)压扁成一维的,从而丢失了空间信息,最后训练输出一个标量,这就是我们的分类标签。

而图像语义分割的输出需要是个分割图,且不论尺寸大小,但是至少是二维的。所以,我们需要丢弃全连接层,换上全卷积层,而这就是全卷积网络了。具体定义请参看论文:Fully Convolutional Networks for Semantic Segmentation

Berkeley团队提出 Fully Convolutional Networks(FCN)方法用于图像语义分割,将图像级别的分类扩展到像素级别的分类(图1),获得 CVPR2015 的 best paper。
语义分割--全卷积网络FCN详解_C
文章《【总结】图像语义分割之FCN和CRF》 认为,发展到现在,基于深度学习的图像语义分割“通用框架已经确定”:前端 FCN(包含基于此的改进 SegNet、DeconvNet、DeepLab)+ 后端 CRF/MRF (条件随机场/马尔科夫随机场)优化
语义分割--全卷积网络FCN详解_全连接_02
图2. 图像语义分割通用框架
2.FCN原理及网络结构
一句话概括原理

FCN将传统卷积网络后面的全连接层换成了卷积层,这样网络输出不再是类别而是 heatmap;同时为了解决因为卷积和池化对图像尺寸的影响,提出使用上采样的方式恢复。
核心思想

本文包含了当下CNN的三个思潮 :

  • 不含全连接层(fc)的全卷积(fully conv)网络。可适应任意尺寸输入。
  • 增大数据尺寸的反卷积(deconv)层。能够输出精细的结果。
  • 结合不同深度层结果的跳级(skip)结构。同时确保鲁棒性和精确性。