Fully Convolutional Networks for Semantic Segmentation

Fully Convolutional Networks for Semantic Segmentation 论文阅读

论文:Fully Convolutional Networks for Semantic Segmentation(2015 CVPR)

作者:Jonathan Long Evan Shelhamer Trevor Darrell -UC Berkeley

图像分割领域的开山之作

1.1 研究成果

  • 将分类网络改变为全卷积神经网络,具体包括全连接层转换为卷积层以及通过反卷积进行上采样
  • 使用迁移学习的方法进行微调
  • 使用跳跃结构使得语义信息和表征信息相结合,产生准确而精细的分割
  • FCN证明了端到端、像素到像素训练方式下的卷积神经网络超过了现有语义分割方向最先进的技术
  • FCN成为PASCAL VOC上最出色的分割方法,较2011和2012的state-of-the-art分割算法的MIOU提高了将近20%,如图1所示

Introduction & Related work总结:

在以往的分割方法中,主要有两大类缺点:

(1)基于图像块的分割虽然常见,但是效率低,是对每个像素逐个卷积进行预测,冗余及其严重。且往往需要前期或者后期处理(例如超像素、检测框、局部预分类等)

(2)语义分割面临着语义和位置不可兼得的问题。全局信息解决的"是什么",而局部信息解决的是"在哪里"

为了解决上面这两个问题,本文主要有三个创新点:

(1)将分类网络改编为全卷积神经网络,具体包括全连接层转化为卷积层以及通过反卷积进行上采样

(2)使用迁移学习的方法进行微调

(3)使用跳跃连接结构使得语义信息可以和表征信息相结合,产生准确而精细的分割

FCN 网络简单介绍

FCN 和 CNN 的区别

CNN: 在传统的CNN网络中,在最后的卷积层之后会连接上若干个全连接层,将卷积层产生的特征图(feature map)映射成为一个固定长度的特征向量。一般的CNN结构适用于图像级别的分类和回归任务,因为它们最后都期望得到输入图像的分类的概率,如ALexNet网络最后输出一个1000维的向量表示输入图像属于每一类的概率。如下图所示:
分类网络
在CNN中, 猫的图片输入到AlexNet, 得到一个长为1000的输出向量, 表示输入图像属于每一类的概率, 其中在“tabby cat”这一类统计概率最高, 用来做分类任务。

FCN: FCN 是对图像进行像素级的分类,从而解决了语义级别的图像分割问题。与上面介绍的经典CNN在卷积层使用全连接层得到固定长度的特征向量进行分类不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷基层的特征图(feature map)进行上采样,使它恢复到输入图像相同的尺寸,从而可以对每一个像素都产生一个预测,同时保留了原始输入图像中的空间信息,最后奇偶在上采样的特征图进行像素的分类。如下图所示:
FCN 网络
简单的说,FCN与CNN的区别在于FCN把CNN最后的全连接层换成卷积层,其输出的是一张已经标记好的图,而不是一个概率值。(heat map)

全部都是卷积,所以叫作全卷积。

然后通过上采样的方法,再将上面输出的热图(heat map)进行上采样,恢复初始图片大小,得到的图像就是我们想要的分割好的图像。

上采样有多种方法,这里列出三种方法:

  1. 双线性插值上采样。

  2. 反卷积上采样。

  3. 反池化上采样。

论文中用的是反卷积上采样方法。

FCN 具体实现过程

FCN与CNN的核心区别就是FCN将CNN末尾的全连接层转化成了卷积层:以Alexnet为例,输入是227 ∗ \ast 227 ∗ \ast 3的图像,前5层是卷积层,第5层的输出是256个特征图,大小是6 ∗ \ast 6,即6 ∗ \ast 6 ∗ \ast 256,第6、7、8层分别是长度是4096、4096、1000的一维向量。如下图所示:

AlexNet

在FCN中第6、7、8层都是通过卷积得到的,卷积核的大小全部是1 ∗ \ast 1,第6层的输出是4096 ∗ \ast 7 ∗ \ast 7,第7层的输出是4096 ∗ \ast 7 ∗ \ast 7,第8层的输出是1000 ∗ \ast 7 ∗ \ast 7(7是输入图像大小的1/32),即1000个大小是77的特征图(称为heatmap),如下图所示:

FCN

经过多次卷积后,图像的分辨率越来越低,为了从低分辨率的热图heatmap恢复到原图大小,以便对原图上每一个像素点进行分类预测,需要对热图heatmap进行反卷积,也就是上采样。论文中首先进行了一个上池化操作,再进行反卷积(上述所提到的上池化操作和反卷积操作,其实可以理解为上卷积操作),使得图像分辨率提高到原图大小。如下图所示:

upsampling

跳级(strip)结构:对第5层的输出执行32倍的反卷积得到原图,得到的结果不是很精确,论文中同时执行了第4层和第3层输出的反卷积操作(分别需要16倍和8倍的上采样),再把这3个反卷积的结果图像融合,提升了结果的精确度:

strip
最后像素的分类按照该点在1000张上采样得到的图上的最大的概率来定。FCN可以接受任意大小的输入图像,但是FCN的分类结果还是不够精细,对细节不太敏感,再者没有考虑到像素与像素之间的关联关系,丢失了部分空间信息。

FCN 缺点

  1. 得到的结果还是不够精细。进行8倍上采样虽然比32倍的效果好了很多,但是上采样的结果还是比较模糊和平滑,对图像中的细节不敏感。
  2. 对各个像素进行分类,没有充分考虑像素与像素之间的关系。忽略了在通常的基于像素分类的分割方法中使用的空间规整(spatial regularization)步骤,缺乏空间一致性。
  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值