1. 研究问题
本文对基于深度学习的语义分割算法进行综述,主要贡献如下:
- 提供了对现有数据集的广泛调查。
- 对基于深度学习的语义分割算法进行了深入的回顾。
- 全面的性能评估,收集准确度、执行时间和内存占用等定量指标。
- 展望
2. 术语和背景概念
场景理解是一个从粗到精的任务:分类、检测或定位、语义分割、实例分割。如下图所示。

本文主要对语义分割的算法进行综述,分割不仅局限于二维图像,而且可以扩展到立体数据和高光谱的语义分割。
2.1 常见的深度网络架构
2.1.1 AlexNet
ILSVRC-2012, TOP-5 test accuracy of 84.6%

2.1.2 VGG
ILSVRC-2013, TOP-5 test accuracy of 92.7%

2.1.3 GoogLeNet
ILSVRC-2014, TOP-5 test accuracy of 93.3%

2.1.4 ResNet
ILSVRC-2016, TOP-5 test accuracy of 96.4%

2.1.5 ReNet

2.2 迁移学习
通过继续训练过程来微调预训练网络的权重是主要的迁移学习场景之一。
经研究证明,预训练权重总比随机初始化的权重要好。要注意的是,迁移学习一般重用已经存在的架构,而且微调一般是微调较高层,且学习率要设置的小一些。
2.3 数据预处理和增强
数据增强通常用于扩大数据集,防止过拟合并且提供正则化。常见的数据增强方法有:平移、旋转、扭曲、缩放、颜色空间转换、裁剪等。
3. 数据集和挑战
文章列举了2D(灰度或RGB)数据集、2.5D(RGB-D)数据集和体积(3D)数据集。

3.1 2D 数据集
- PASCAL Visual Object Classes (VOC):一共有21个类别(包括对象和背景),训练集和测试集分别有1464和1449张图像。
- PASCAL Context:是PASCAL VOC 2010的扩展数据集,包含540个类别,但为了方便研究,只标记了59个类别,其他类别都标记为背景。
- PASCAL Part:是PASCAL VOC 2010的扩展数据集,保留了原始VOC的类别,并且引入了对象部分的标签,例如,自行车现在被分解为后轮、链轮、前轮、车把、大灯和鞍座。
- Semantic Boundaries Dataset (SBD):是PASCAL VOC 2011的扩展数据集,包含语义分割标签和实例分割标签,并且将训练集划分为训练集(8498)和验证集(2587),它通常是可以作为PASCAL VOC的替代。
- Microsoft Common Objects in Context (COCO):是一个大型的数据集,包含80个类别,训练集有82783张图像,验证集有40504张图像,测试集有80000张图像,分成四个20000的子集。
- SYNTHetic Collection of Imagery and Annotations (SYNTHIA):是一个合成的城市场景的大型数据集,包含11个类别,一共13407张训练图像,它的特点还在于其在场景(城镇、城市、高速公路)、动态物体、季节和天气方面的多样性。
- Cityscapes:是一个专注于城市街景语义理解的大型数据库。它为分为 8 个类别的 30 个类别提供语义、实例和密集像素标注。该数据集由大约 5000 个精细标注的图像和 20000 个粗糙标注的图像组成。具有以下特征:大量动态对象、变化的场景布局和变化的背景。
- CamVid:是一个道路/驾驶场景理解数据库,一共分为32个类别。后来有研究者将数据集分为367、100、233 个分别用于训练、验证和测试图像。该划分采用了类标签的子集。
- KITTI:是一个专门用于移动机器人和自动驾驶的数据集。尽管它很受欢迎,但数据集本身并不包含语义分割的基本标签。 然而,各种研究人员已经手动注释了数据集的一部分以适应他们的需要。
- Youtube-Objects:是从 YouTube 收集的视频数据库,其中包含来自十个 PASCAL VOC 类别的对象。该数据库不包含逐像素标签,但学者手动注释了 126 个序列的子集。总共有 10167 个注释帧,分辨率为 480 360 像素。
- Adobe’s Portrait Segmentation:这是从 Flickr 收集的
800*600像素肖像图像的数据集,该数据库由 1500 个训练图像和 300 个保留用于测试的图像组成,这两个集合都是完全二进制注释的:人物或背景。该数据集适用于前景分割应用中的人。 - Materials in Context (MINC):这项工作是用于补丁材料分类和全场景材料分割的数据集。该数据集提供 23 个类别的分段注释。它包含 7061 个用于训练的标记材料分段,5000 个用于测试,2500 个用于验证。
- Densely-Annotated VIdeo Segmentation (DAVIS):此挑战旨在用于视频对象分割。其数据集由 50 个高清序列组成,分别加起来 4219 帧和 2023 帧用于训练和验证。一共四个类别。
- Stanford background:具有从现有公共数据集(LabelMe、MSRC、PASCAL VOC 和 Geometric Context)导入的户外场景图像的数据集。该数据集包含 715 张图像(大小为 320*240 像素),其中至少有一个前景对象,并且在图像中具有水平位置。
- SiftFlow:包含 2688 个完全注释的图像,它们是 LabelMe 数据库的一个子集。大部分图像基于 8 个不同的户外场景,包括街道、山脉、田野、海滩和建筑物。图像尺寸为 256*256 ,属于 33 个语义类别之一。未标记的像素或标记为不同语义类别的像素被视为未标记。
3.2 2.5D 数据集
3.3 3D 数据集
4. 方法
全卷积网络(FCN)是语义分割网络的基石,它把我们常用的分类模型的全连接层全部替换为卷积层,从而输空间热图而不是分类的分数,网络结构如下。该网络还提出了反卷积进行上采样,但博主记得在后来的文章中证实了反卷积上采样并没有什么作用。然后还提出了跳跃连接。

尽管 FCN 模型具有强大的功能和灵活性,但它仍然缺乏阻碍其应用于某些问题和情况的各种特征:其固有的空间不变性没有考虑有用的全局上下文信息,默认情况下不存在实例感知,效率距离高分辨率的实时执行还很远,而且它并不完全适合非结构化数据,例如 3D 点云或模型。
下面给出本文综述的一些代表性论文。

下图是对基于深度学习的语义分割方法的一个分类汇总。

4.1 解码器变体
除了FCN架构之外,还出现了编码器-解码器的架构,代表的是SegNet,如下图所示。该网络在解码器层的上采样中使用了来自编码器的最大池化的索引。这就是我们所熟知的最大池化上采样。

SegNet和FCN的对比如下所示。

4.2 整合上下文信息
整合上下文信息可以解决局部模糊性,因此我们需要平衡局部信息和全局信息。
可以采取许多方法让 CNN 了解全局信息:使用条件随机场 (CRF)、空洞卷积、多尺度聚合或者将上下文建模推迟到另一种深度网络,例如 RNN。
4.2.1 条件随机场(CRF)
我们之前提到,由于CNN固有的空间不变性,限制了分割任务的空间精度。加入CRF作为后处理阶段,可以提高网络捕获细粒度细节的能力。CRF 能够将低级图像信息(例如像素之间的交互)与产生每个像素类别分数的多类别推理系统的输出相结合。这种组合对于捕获 CNN 无法考虑的远程依赖关系以及精细的局部细节尤其重要。
DeepLab 模型使用完全连接的成对 CRF 作为其管道中的一个单独的后处理步骤来改进分割结果。它将每个像素建模为字段中的一个节点,并为每对像素使用一个成对项,无论它们位于多远(该模型称为密集或完全连接的因子图)。通过使用该模型,短程和长程交互都被考虑在内,使系统能够恢复由于 CNN 的空间不变性而丢失的分割中的详细结构。尽管通常完全连接的模型效率低下,但可以通过概率推理有效地逼近该模型。
下图显示了这种基于 CRF 的后处理对 DeepLab 模型生成的分数(softmax前)和信念图(softmax后)的影响。

Bell等人使用CNN变体和CRF作为后处理来对材料进行分割(MINC数据集)。
Zheng等人提出CRFasRNN,它将CRF建模为RNN,并集成到CNN网络中进行端到端的训练,这是关于CRF的一项重要工作。
4.2.2 空洞卷积
空洞卷积用来扩大感受野,但不增加额外的参数量,另外,还能避免过度的池化下采样导致的信息损失。我们普通的卷积就是 1-dilated 空洞卷积。空洞卷积如下图所示。

空洞卷积等同于在卷积之前,在卷积核的内部填充零,然后再进行卷积。这样就能够提取到更远的特征。如下图所示。

空洞卷积常常用于多尺度上下文整合网络中。
4.2.3 多尺度预测
由于CNN中的每个参数都会影响所生成的特征图的尺度,这就说明网络隐式的学习检测特定尺度的特征,因此如果使用单尺度网络会导致其难以泛化到不同尺度的网络。因此我们使用多尺度网络。
Raj等人提出全连接VGG-16的多尺度网络。
Roy等人提出由4个多尺度网络组成的CNN。每个网络都是Eigen等人提出的从粗到精的多尺度网络。

另一个杰出的工作就是Bian等人提出的 n 个 FCN 多尺度网络,它主要的贡献是两阶段学习过程,首先独立训练两个尺度的网络,然后再将其合并起来并且用额外的卷积层将其融合再进行微调。
4.2.4 特征融合
特征融合也是一种增加上下文的方法。主要有两种架构:Skip-connection-like architecture 和 ParseNet context module。


4.2.5 循环神经网络
通过将像素级信息和局部信息联系在一起,RNN 能够成功地对全局上下文进行建模并改进语义分割。然而,一个重要的问题是图像中缺乏自然的顺序结构,以及标准 vanilla RNN 架构的重点在一维输入上。
基于用于图像分类的 ReNet,Visin 等人提出了一种称为 ReSeg 的语义分割架构,如下图所示。在这种方法中,已使用门控循环单元 (GRU),因为它们在内存使用和计算能力方面取得了良好的性能平衡。LSTM和GRU可以很好的克服 Vanilla RNN 在建模长期依赖关系方面存在的梯度消失问题。

还有很多更加先进的方法。。。
4.3 实例分割
实例分割被认为是语义分割之后的下一步,它的主要目的是表示将同一类的对象拆分为不同的实例。实例标记为我们提供了额外的信息,用于推理遮挡情况,还计算属于同一类的元素的数量,以及检测机器人任务中用于抓取的特定对象,以及许多其他应用。
由于博主暂时不研究实例分割,因此不做详细介绍。。。
4.4 RGB-D 数据
前面都是使用光度数据进行语义分割。随着RGB-D相机的低成本化,目前基于RGB-D数据的语义分割也获得较多关注。由于深度信息隐藏着丰富的结构化信息,因此加入深度信息可以提高语义分割的精度。
将深度图像与专注于光度数据的方法一起使用并不简单,深度数据需要在每个像素处使用三个通道进行编码,就好像它是 RGB 图像一样。
具体方法不做介绍。。。
4.5 3D 数据
3D 几何数据(如点云或多边形网格)提供了丰富的空间信息,直观感觉可以用于分割。CNN是被设计用于处理结构化数据的,而 3D 数据是非结构化数据。
大多数研究人员已经采用 3D 体素网格或投影来将非结构化和无序的点云或网格转换为常规表示,然后再将它们输入网络,然后他们将标签映射回点云。如下图所示。

虽然这种方法已经成功应用,但它有一些缺点,如量化、空间信息丢失和不必要的大表示。
出于这个原因,各种研究人员都将精力集中在创建能够直接使用非结构化 3D 点集或网格的深度架构上。
PointNet 是一项开创性的工作,它提出了一种以原始点云为输入的深度神经网络,为分类和分割提供了统一的架构,如下图所示。

PointNet 是一种深度网络架构,由于它基于全连接层而不是卷积层这一事实而脱颖而出。该架构具有两个子网络:一个用于分类,另一个用于分割。分类子网络采用点云并应用一组变换和多层感知器(MLP) 来生成特征,然后使用最大池化聚合以生成描述原始输入云的全局特征。该全局特征由另一个 MLP 分类,以生成每个类的输出分数。分割子网络将全局特征与分类网络提取的每点特征连接起来,并应用另外两个 MLP 来生成特征并为每个点生成输出分数。
4.6 视频序列
当处理视频序列语义分割的时候,直观上我们可以直接使用前面的语义分割方法进行frame-by-frame的分割。但是,这样会导致巨大的计算代价。我们来考虑一下,我们忽略了视频中所隐藏的时间连续性,它可能会提高分割精度并且减小运行时间。
最杰出的工作是clockwork FCN,该网络是对 FCN 的改编,以利用视频中的时间线索来减少推理时间,同时保持准确性。

其他的就不详细展开了。。。
5. 讨论
本节定量分析分割算法,首先,我们将从执行时间、内存占用和准确性三个方面描述可用于衡量语义分割系统性能的最流行的评估指标。接下来,我们将使用前面描述的指标在最具代表性的数据集上收集方法的结果。之后,我们将对这些结果进行总结并得出结论。最后,我们列举了我们认为对该领域具有重要意义的未来可能的研究路线。
5.1 评估指标
5.1.1 执行时间
速度或运行时间是一个非常有价值的指标,因为绝大多数系统必须满足关于它们可以在推理过程中花费多少时间的硬性要求。但是执行时间通常受到硬件设备的影响。所以这个指标不是特别重要,只是提供给研究人员一个参考的意义,说基于既定设备,使用该算法能不能达到所需的运行速度。
5.1.2 内存占用
内存使用是分割方法的另一个重要因素。尽管可以说它比执行时间限制更少——扩展内存容量通常是可行的。但它也可能是一个限制因素。考虑到与运行时相同的实现相关方面,记录方法的峰值和平均内存占用以及执行条件的完整描述可能非常有帮助。
5.1.3 准确性
已经提出了许多评估标准,并经常用于评估任何一种语义分割技术的准确性。这些指标通常是像素精度和 IoU 的变体。
为了便于解释,我们注释以下符号:我们假设总共有 k+1 个类(从
L
0
L_0
L0 到
L
k
L_k
Lk,包括一个空类或背景),并且
p
i
j
p_{ij}
pij 描述为属于 i 类,被推断为 j 类的数量。因此,我们可以定义,
- p i i p_{ii} pii:真阳性的数量。
- p i j p_{ij} pij:假阳性的数量。
- p j i p_{ji} pji:假阴性的数量。
下面列举语义分割使用的准确性评价指标:
- Pixel Accuracy (PA):这个就是所有预测正确的像素占所有像素的比例。

- Mean Pixel Accuracy (MPA):PA 的一个升级版,将所有类别的分割正确率求出来,然后再做一个平均即可。

- Mean Intersection over Union (MIoU):这是用于语义分割的一个标准评估手段。它计算预测分割和真实分割之间的交集和并集的比例。具体来说,就是
真阳性的数量 / (真阳性数量+假阴性数量+假阳性数量)。

- Frequency Weighted Intersection over Union (FWIoU):MIoU的一个升级版。它根据每个类出现的频率对每个类的重要性进行加权。

上面的评价标准中,MIoU是最常用的,很多学者都用这个指标来作为算法的评价标准。
5.2 结果
5.2.1 RGB







5.2.2 2.5D
5.2.3 3D
5.2.4 序列
5.3 总结
DeepLab对于RGB图像的分割是最好的,最稳固的。
5.4 未来研究方向
6. 结论
参考
1、图像语义分割综述
2、A 2017 Guide to Semantic Segmentation with Deep Learning
3、Medical Images语义分割综述笔记
本文详尽回顾了基于深度学习的语义分割算法,涵盖数据集、常用网络架构如AlexNet、VGG、GoogLeNet、ResNet,以及迁移学习、数据预处理和增强技术。重点讨论了全卷积网络(FCN)、解码器变体、上下文信息整合、实例分割、RGB-D数据和3D数据的处理。此外,评估指标如像素精度、IoU和执行时间也被提及,DeepLab在RGB图像分割中表现最佳。文章对未来研究方向进行了展望,强调了全局上下文理解、实时效率和非结构化数据处理的重要性。

8242

被折叠的 条评论
为什么被折叠?



