深度学习论文笔记(六)--- FCN-2015年(Fully Convolutional Networks for Semantic Segmentation)

深度学习论文笔记(六)--- FCN 全连接网络

FullyConvolutional Networks for Semantic Segmentation

Author:J Long , E Shelhamer, T Darrell

Year: 2015

1、  导引

通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。以AlexNet为代表的经典CNN结构适合于图像级分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述(概率),比如AlexNet的ImageNet模型输出一个1000维的向量表示输入图像属于每一类的概率(softmax归一化)。

而要做Semantic Segmentation(语义分割),希望能够直接输出一幅分割图像结果,所以就有了本篇FCN网络的提出。

2、模型解读

①FCN将传统CNN中的全连接层转化成一个个的卷积层。如下图所示,在传统的CNN结构中,前5层是卷积层,第6层和第7层分别是一个长度为4096的一维向量,第8层是长度为1000的一维向量,分别对应1000个类别的概率。FCN将这3层表示为卷积层卷积核的大小(宽,高,通道数)分别为(1,1,4096)、(1,1,4096)、(1,1,1000)。所有的层都是卷积层,故称为全卷积网络。

②但是,经过多次卷积(还有pooling)以后,得到的图像越来越小,分辨率越来越低。为了从这个分辨率低的粗略图像恢复到原图的分辨率,FCN使用了增采样操作。这个增采样是通过反卷积来实现的(deconvolution),文中用的反卷积操作很简单,后来有其他人就在反卷积这一步上做了进一步优化,使得分割结果更为准确。

③对第5层的输出(32倍放大)反卷积到原图大小,得到的结果还是不够精确,还是有细节内容丢失了。于是作者采用skiplayer的方法,将第4层的输出和第3层的输出也依次反卷积,分别需要16倍和8倍上采样,结果就精细一些了。下图是这个卷积和反卷积上采样的过程:

我们来把位置稍微调整一下利于理解:

在浅层处减小upsampling的步长,得到的finelayer 和 高层得到的coarselayer做融合,然后再upsampling得到输出。这种做法兼顾local和global信息,即文中说的combiningwhat and where,取得了不错的效果提升。FCN-32s为59.4,FCN-16s提升到了62.4,FCN-8s提升到62.7。可以看出效果还是很明显的。

3、 创新点分析

①由于没有全连接层的存在,所以输入图像的尺寸要求并不固定了。这个原因是因为全连接层是一个矩阵乘法的操作,可以自己去想一想。

②实现的是对每个像素点的分类预测:

Pixel-wiseprediction

之所以能做到这样,是因为卷积层的输出的结果是datamap,而不是一个向量!经过反卷积后得到与原图一样大小的1000层heatmap,每一层代表一个类,然后观察每个位置的像素,在哪一层它这个点对应的值最大,就认为这个像素点属于这一层的类,

就比如图中点猫那个位置的点,在tabby cat这个类的heatmap上表现的值很高,所以认为那一坨像素点是属于tabby cat这个类的。

从而这样对每个像素点进行分类,最后输出的就是分割好的图像。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI科技评论

深度 | 详解CVPR2017最佳论文提名的 YOLO 2与 YOLO 9000物体检测系统

AI 科技评论按:YOLO是Joseph Redmon和Ali Farhadi等人于2015年提出的第一个基于单个神经网络的目标检测系统。在今年CVPR上,Jo...

4537
来自专栏杂七杂八

K最近邻与线性分类器(下)

的系数),b为常数项,输出是10个数字,代表归属于不同的类。我们可以看下面的这个例子:假设一张图片由2*2的像素表示,共有三类,那上述公式的计算如下

1123
来自专栏AI研习社

看了这篇文章,了解深度卷积神经网络在目标检测中的进展

近些年来,深度卷积神经网络(DCNN)在图像分类和识别上取得了很显著的提高。回顾从 2014 到 2016 这两年多的时间,先后涌现出了 R-CNN,Fast ...

2788
来自专栏Deep learning进阶路

深度学习论文笔记(七)---Deconvolution network-2016年(Learning Deconvolution Network for Semantic Segmentation )

深度学习论文笔记(七)---Deconvolution network Learning Deconvolution Network for Semantic...

1.1K0
来自专栏杂七杂八

matlab留出法实现

留出法(hold-out) 方法:直接将数据集D划分为两个互斥的集合,其中一个集合作为训练集S,另一个作为测试集T,即.在S上训练出模型后,用T来评估其作为测...

6349
来自专栏AI研习社

前Twitter资深工程师详解YOLO 2与YOLO 9000目标检测系统

AI研习社按:YOLO是Joseph Redmon和Ali Farhadi等人于2015年提出的第一个基于单个神经网络的目标检测系统。在今年CVPR上,Jose...

4806
来自专栏marsggbo

[转载]对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解

在可分离卷积(separable convolution)中,通常将卷积操作拆分成多个步骤。而在神经网络中通常使用的就是深度可分离卷积(depthwise se...

1581
来自专栏机器学习算法工程师

重磅|基于深度学习的目标检测综述(一)

作者:叶 虎 编辑:黄俊嘉 前 言 图像分类,检测及分割是计算机视觉领域的三大任务。图像分类模型(详情见[这里](https://medium.c...

7445
来自专栏机器学习养成记

k折交叉验证(R语言)

“ 机器学习中需要把数据分为训练集和测试集,因此如何划分训练集和测试集就成为影响模型效果的重要因素。本文介绍一种常用的划分最优训练集和测试集的方法——k折交叉验...

1.2K9
来自专栏ml

读RCNN论文笔记

1. RCNN的模型(如下图)描述:              RCNN相比传统的物体检测,还是引入传统的物体检测的基本流程,先找出候选目标物体,逐个的提取特征...

3006

扫码关注云+社区