深度学习与图像语义分割(一)—— 综述

博主目前要转行用深度学习做图像语义分割,但是没有基础,在这里记录学习与心路历程,希望能学成上岸。第一篇是综述部分,确定下要学习的深度学习模型及主要的模型创新点。

本文参考网址:

  1.  http://simonduan.site/2017/07/23/notes-semantic-segmentation-deep-learning-review/
  2. https://blog.csdn.net/TDhuso/article/details/79948494

首先要确定下语义分割的定义:

语义分割是指在认知图像时具体到像素级别,就是给图像中的每一个像素分配一个类别。如下图所示,左图为原图,而右图为语义分割结果。在右图中,分别用红色与绿色将摩托车与人分割出来。

深度学习与图像语义分割(一)—— 综述_第1张图片                      深度学习与图像语义分割(一)—— 综述_第2张图片

接下来介绍下深度学习算法在图像分各领域的应用:

在采用卷积神经网络算法在进行图像分类任务时,网络模型的分类模块一般采用全连接层。而全连接层会将图像的二维矩阵转化为一维向量,这样不利于图像语义分割
2014年,Berkeley的Long等人提出了全卷积网络(FCN),提出采用不带有全连接层的具有密集预测能力的CNN结构,实现图像予语义分割。该模型允许任何尺寸的图像都能生成分割图像,同时也比图像块分类的方法速度快了很多。随后的关于语义分割的方法几乎都采用了这种结构。

除了全连接层之外,基于深度学习的语义分割任务的另一个问题是池化层。池化层增大了视野也能聚合背景信息,因此会丢弃部分位置信息。但是语义分割要求类别图谱精确,因此,需要保留丢弃了的位置信息。为了解决这个问题,人们提出两种不同的结构方法。

第一种是编码器——解码器结构。编码器通过使用池化层,逐步缩小图像维度,而解码器则逐步恢复目标细节和空间维度。两者之间通常采有直接连接的方式,来帮助解码器回复目标的细节。这种方法中U-Net网络是一种典型的结构。

 另一种方法使用了叫做空洞卷积的结构,而且去掉了池化层(这一部分还不太懂,学习后补充)。

深度学习与图像语义分割(一)—— 综述_第3张图片

CRF(条件随机字段后处理),一种方法基于底层图像强度的对平滑分割的图像模型,运行时将像素强度相近的标记为同一类别,常用来提高语义分割的效果。CRFs可以提高1-2%的评分。

接下来列举目前主流的基于深度学习算法的图像语义分割论文:

  • FCN
  • SegNet
  • U-Net
  • Dilated Convolutions
  • DeepLab(V1 V2)
  • RefineNet
  • Mask RCNN(未完成)
  • Large Kernel Matters
  • Deep Lab V3

接下来总结上述这论文的主要贡献点,由于博主刚刚入门学习,所以暂时先复制前人的工作,在阅读了这写论文后,我会对其进行完善,添加些自己的见解。

FCN 2014年

主要贡献

  • 为语义分割引入了 端到端 的卷积网络,并流行开来
  • 重新利用 ImageNet 的预训练网络用于语义分割
  • 使用 反卷积层 进行上采样
  • 引入跳跃连接来改善上采样粗糙的像素定位

详细说明

本文主要观点在于:分类网络中的全链接层可以被看作一种使用卷积核遍历输入区域的卷积。这相当于评估重叠输入图像块的原始分类网络,但是更高效因为在图像块的重叠取悦计算是共享的。尽管这种方法并不是这篇论文中独有的,但它显著的提高了在VOC2012数据集上的效果。

在将类似于VGG等预训练网络进行全链接层卷积之后,由于CNN的池化操作仍需要对特征图谱进行上采样。反卷积层会学习实现插值而不是简单的双线性插值。反卷积层也被称作上卷积、完全卷积、转置卷积或fractionally-strided卷积。

然而上采样操作会产生粗糙的分割图,因为在池化操作时丢失了部分信息。因此提出了高分辨率特征图中的直接/跳跃连接。

SegNet

主要贡献

  • 最大池化指数被转移到解码器中,改善了分割的效果。

详细说明

FCN网络中,上卷积层和一些直接连接产生了粗糙的分割图谱,因此引入了更多的直接链接。然而与FCN复制编码器特征不同,SefNet网络复制了最大池化指数,因此SegNet比FCN更高效

U-Net

主要贡献

  • 改进了FCN,把扩展路径完善了很多,多通道卷积与类似FPN(特征金字塔网络)的结构相结合。
  • 利用少量数据集进行训练测试,为医学图像分割做出很大贡献。
  • 通过对每个像素点进行分类,获得更高的分割准确率。
  • 用训练好的模型分割图像,速度快。

详细说明

 U-net与其他常见的分割网络有一点非常不同的地方:U-net采用了完全不同的特征融合方式:拼接,U-net采用将特征在channel维度拼接在一起,形成更厚的特征。而FCN融合时使用的对应点相加,并不形成更厚的特征。

所以语义分割网络在特征融合时有两种办法:

  •  FCN式的对应点相加,对应于TensorFlow中的tf.add()函数;
  • U-net式的channel维度拼接融合,对应于TensorFlow的tf.concat()函数,比较占显存。

5个pooling layer实现了网络对图像特征的多尺度特征识别。
上采样部分会融合特征提取部分的输出,这样做实际上是将多尺度特征融合在了一起,以最后一个上采样为例,它的特征既来自第一个卷积block的输出(同尺度特征),也来自上采样的输出(大尺度特征),这样的连接是贯穿整个网络的,你可以看到上图的网络中有四次融合过程,相对应的FCN网络只在最后一层进行融合。
 

 

Dilated Convolutions

主要贡献

  • 使用了可用于密集预测的空洞卷积层。
  • 提出使用多尺度聚合的空洞卷积的的背景模型。

详细说明

由于感受野的扩大,池化操作有助于实现分类网络。但在分割过程中,池化操作却却并不是最好的因为他降低了分辨率。因此作者提出空洞卷积。

空洞卷积层在不降低空间维度的前提下提高了感受野指数。

预训练好的分类网络中移除了最后两个池化层,随后的卷积层也被空洞卷积层替代。特别的是,在池化层3和池化层4之间的卷积操作是空洞卷积层2,在池化层4之后的卷积操作是空洞卷积层4。在这种模型下,不用增加参数数量也能获得密集预测结果。

文章所提出的模型(context module)单独训练了模型前端模块的输出作为该模型的输入。该模型由不同扩张度的空洞卷积层串联而成,因此可以聚合多尺度的背景从而改善前端预测的效果。

深度学习与图像语义分割(一)—— 综述_第4张图片

DeepLab(V1 V2)

主要贡献

  • 使用了空洞卷机层。
  • 提出了空间维度的金字塔形的空洞池化(ASPP)。
  • 使用了全链接CRF。

详细说明

空洞卷积层在不增加参数数量的前提下增加了感受野,分割网络也根据空洞卷积的论文加以改进。

将原始图像的多个重缩放版本传给CNN网络的并行分支,或者使用不同采样率的多种并行的空洞卷积层,都可以实现多尺度的处理。

全链接的CRF可以实现有结构的预测,CRF已经被单独作为一个后期处理步骤。

深度学习与图像语义分割(一)—— 综述_第5张图片

Refine Net

主要贡献

  • 提出带有解码器模块的编码器-解码器结构。
  • 所有组件遵循残差连接的设计。

详细说明

空洞卷积的方法也有缺点,他的计算成本昂贵,需要大量内存(因为用于处理大规模的高分辨率的特征图谱)。这妨碍了高分辨率预测的计算研究。DeepLab 预测结果只有原始输入图像的1/8。

所以本文提出了编码器-解码器结构,编码器部分是ResNet-101模块,解码器部分是RefineNet中融合编码器的高分辨率特征和先前模块中低分辨率特征的模块。

深度学习与图像语义分割(一)—— 综述_第6张图片

RefineNet中的每个模块都包含一个能对融合由低分辨率特征进行上采样产生的多种分辨率特征的组件,和一个能基于步幅为1的5X5的重复的池化层获取背景信息的组件。这些组件都使用了遵循恒等映射思想的残差连接设计。

深度学习与图像语义分割(一)—— 综述_第7张图片

 PSPNet

主要贡献

  • 提出用金字塔池化模型聚合背景。
  • 使用了附加损失值。

详细说明

全局场景分类很重要,因为它提供了分割类别的分布线索。金字塔池化模型可以用最大内核池化层获得这一信息。

PSPNet用空洞卷积网络来完善Resnet结构,同时也添加了一个金字塔池化模块。这个模块来讲ResNet的特征图谱和并行池化层的上采样输出连接起来,其中各自的内核分别覆盖了整个区域、一半区域和小块区域。

在ResNet的第四阶段,除了主分支损失之外又增加了附加损失值。这在别的领域也被叫做中级监督。

Large Kernel Matters

主要贡献

  • 提出了带有很大卷积核的编码器-解码器结构。

详细说明

语义分割不仅仅要求分割,还要求对分割目标进行分类。尽管全链接层不能用于分割结构,但大卷积内核可以。

另一个采用大内核的原因是,尽管想ResNet等的深层网络具有很大的感受野,但研究发现网络更倾向于在小得多的区域获取信息。

大内核结构不仅计算成本高,而且需要很多参数,因此kK的卷积被近似为1k和K*1两种卷积组合,这个模型叫做GCN。

在结构上,ResNet组成了编码器部分,GCN网络和反卷积层组成解码器部分。这里还使用了一种叫做BR的简单残差模块。

深度学习与图像语义分割(一)—— 综述_第8张图片

DeepLab V3

主要贡献

  • 改善了ASPP.
  • 该模型级连了多个空洞卷积层。

详细说明

采用空洞卷积来改善ResNet模型。

改善ASPP包含像素级别特征的连接、一个1X1的卷积层和不同比率的3X3的空洞卷机层,每个并行的卷积层之后还进行了批量归一化处理。

级联模块是一个ResNet网络模块,但其中卷积层是有多个不同比率的空洞卷积组成的。这个模块和空洞卷积论文里的背景模块一类似,但它被直接应用于中间特征图谱而不是置信图谱。

论文独立的评估了两个提出的模型,尝试结合两者但并没有提高实际效果。两者在验证集上表现相似,带有ASPP结构的模型效果稍微好点。在评估时没有使用CRF。

这两种模型的效果都比DeepLabv2好,作者指出效果的改善来自于批量归一化处理和更优的多尺度背景编码方式。

深度学习与图像语义分割(一)—— 综述_第9张图片

你可能感兴趣的:(深度学习与图像分割)