深度学习之图像分割(语义分割FCN)

1 什么是分割

分割,顾名思义,就是把一个完整的东西按照某种方式或规则分成若干个部分。

那么什么是图像分割呢?简单来说,就是把图像中属于同一类别或同一个体的东西划分在一起,并将各个子部分区分开来。像下图这样:

为了训练神经网络,图片中这些像素点会按照某种规则被贴上一个“标签”,比如这个像素点是属于人、天空、草地还是树;更详细一点,可以再给它们第二个标签,声明它们是属于“哪一个人”或“哪一棵树”。

对于只有一个标签的(只区分类别)的任务,我们称之为“语义分割”(semantic segmentation);对于区分相同类别的不同个体的,则称之为实例分割(instance segmentation)。由于实例分割往往只能分辨可数目标,因此,为了同时实现实例分割与不可数类别的语义分割,2018年Alexander Kirillov等人提出了全景分割(panoptic segmentation)的概念。

下图分别展示了(a)原始图像,(b)语义分割,(c)实例分割和(d)全景分割

 2 FCN 

目前在图像分割领域比较成功的算法,有很大一部分都来自于同一个先驱:Long等人提出的Fully Convolutional Network(FCN),也就是今天我们要讨论的网络结构。FCN将分类网络转换成用于分割任务的网络结构,并证明了在分割问题上,可以实现端到端的网络训练。基于此,FCN成为了深度学习解决分割问题的奠基石。

目标识别网络(分类网络)尽管表面上来看可以接受任意尺寸的图片作为输入,但是由于网络结构最后全连接层的存在,使其丢失了输入的空间信息,因此,这些网络并没有办法直接用于解决诸如分割等稠密估计的问题。

考虑到这一点,FCN用卷积层和池化层替代了分类网络中的全连接层,从而使得网络结构可以适应像素级的稠密估计任务。如下图所示,这种全卷积网络结构不仅能够支持稠密估计,而且能够实现端到端的训练。

输入:整幅图像。

输出:空间尺寸与输入图像相同,通道数等于全部类别个数。

真值:通道数为1(或2)的分割图像

(1)全连接层转换成卷积层

如前文所述,将全连接层替换成卷积层的优势之一,是可以使网络用于稠密估计任务,并实现端到端训练。比如下图中,将全连接层替换成卷积层后,可以使得网络输出一个热度图(heatmap),而非单个类别标签.

而这种做法的另外一个优势就是,通过接收整幅图像作为输入,而非以图块的形式处理图片,网络在处理速度上也有了明显提升。

(2)连接不同尺度下的层

分类网络通常会通过设置步长的方式逐渐减小每层的空间尺寸,这种方式可以同时实现计算量的缩小和信息的浓缩。尽管这种操作对于分类任务是很有效的,但是对于分割这样需要稠密估计的任务而言,这种浓缩就未必是好事了。

比如下面这张图就是全局步长32下的分割效果。虽然实现了分割,但是结果很粗糙,看不出来目标的细节。

于是,为了解决这个问题,FCN将不同全局步长下的层之间进行连接。具体网络结构如下图所示 

 

 这样一来,随着细节信息的逐渐加入,分割的结果也越来越好。比如下图从左到右分别对应了全局步长32、全局步长16和全局步长8下的结果。最右侧是真值。

3 实验结果

FCN可以与大部分分类网络有效结合,下表中给出了在PASCAL VOC 2011数据库下,FCN与AlexNet、FCN-VGG16和FCN-GoogLeNet结合的结果。

 4 总结与思考

尽管FCN意义重大,在当时来讲效果也相当惊人,但是FCN本身仍然有许多局限。比如:

  • 没有考虑全局信息

  • 无法解决实例分割问题

  • 速度远不能达到实时

  • 不能够应对诸如3D点云等不定型数据

基于此,各路研究大神们提出了针对不同局限的各种方法。下图给出了部分研究成果与FCN的关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值