从FCN到DeepLab
前言 最近看了语义分割的文章DeepLab,写写自己的感受,欢迎指正。 介绍 图像语义分割,简单而言就是给定一张图片,对图片上的每一个像素点分类。 图像语义分割,从FCN把深度学习引入这个任务到现在,一个通用的框架已经大概确定了。即前端使用FCN全卷积网络输出粗糙的label map,后端使用CRF条件随机场/MRF马尔科夫随机场等优化前端的输出,最后得到一个精细的分割图。 前端 为什么需要FCN? 分类网络通常会在最后连接几层全连接层,它会将原来二维的矩阵(图片)压扁成一维的,从而丢失了空间信息,最后训练输出一个标量,这就是我们的分类标签。 而图像语义分割的输出需要是个分割图,且不论尺寸大小,但是至少是二维的。所以,流行的做法是丢弃全连接层,换上全卷积层,而这就是全卷积网络了。具体定义请参看论文:《Fully Convolutional Networks for Semantic Segmentation》 FCN结构 在FCN论文中,作者的FCN主要使用了三种技术: 卷积化(Convolutional) 上采样(Upsample) 跳层连接(Skip Layer) 卷积化 即是将普通的分类网络,比如VGG16,ResNet50/101等网络丢弃全连接层,换上对应的卷积层即可。 上采样 即是反卷积(Deconvolution)