图像分割综述–论文翻译
论文地址:https://arxiv.org/pdf/2001.05566.pdf
图像分割综述论文
- 图像分割综述--论文翻译
-
- 摘要
- 介绍
- 深度神经网络的介绍
- 基于深度学习的图像分割模型
-
- Fully Convolutional Networks
- Convolutional Models With Graphical Models
- Encoder-Decoder Based Models
- Multi-Scale and Pyramid Network Based Models
- R-CNN Based Models (for Instance Segmentation)
- Dilated Convolutional Models and DeepLab Family
- Recurrent Neural Network Based Models
- Attention-Based Models
- Generative Models and Adversarial Training
- CNN Models With Active Contour Models
- Other Models
- 图像分割数据集
- 图像分割性能评估
- 挑战和机遇
- 总结
- 参考文献
摘要
图像分割是图像处理以及计算机视频的关键内容,其应用场景非常广泛,如场景理解、医学图像分析、机器人感知、视频监控、增强显示和图像压缩等。目前关于图像分割的算法论文数量非常多。最近,由于深度学习模型在计算机视频任务中的出色表现,大量的图像分割研究工作都在开发深度学习模型在图像分割中的应用。在本次调查综述中,我们提供全面的图像分割的文献综述,涵盖了语义分割和实例分割的广泛开创性工作,其中包括全卷机像素标签网络、编码器-解码器的结构、基于多尺度和金字塔的方法、循环神经网络、视觉注意力机制模型和生成对抗网络。在本文研究这些图像分割深度学习模型的相似性,各自优缺点,并测试最广泛使用的测试集并展示各自的性能和讨论图像分割领域的未来发展方向
介绍
图像分割是许多计算机视觉理解系统的重要组成部分,主要将图像或者视频帧分割成多个分割对象。图像分割在很多应用场景中扮演着重要的角色,包括医学图像分析(如肿瘤边界提取以及人体组织的体积测量)、自动驾驶(如地面的导航和行人检测)、视频监控和显示增强技术。许多图像分割算法已经发表了,如阈值法[3],基于直方图的方法[5],K聚类方法[5],分水岭算法[6]。对于更先进的算法,如主动轮廓[7],图切割[8],条件和马尔科夫随机场[8]以及基于稀疏特征学习的算法[10]-[11]。在过去的几年,深度学习模型已经应用于新一代的图像分割任务中,它具有显著的性能提升:在流行的基准测试上达到较高的准确率,导致对图像分割领域思考方式发生重大变化(paradigm shift)。如下图所示的由DeeplabV3生产的语义分割结果:
图像分割可以表示为带有语义标签的像素的分类问题(语义分割)或单个对象的分割(实例分割)。语义分割对所有图像像素使用一组对象类别(如人类、汽车、树、天空)进行像素级标记,因此这通常是比图像分类更难的任务,图像分类预测整个图像的单个标签。实例分割通过检测和描述图像中每个感兴趣的对象(例如,个体的分割),进一步扩展了语义分割的范围。
我们的调查涵盖了图像分割的最新文献,并讨论了直到2019年提出的100多种基于深度学习的分割方法。我们对不同的图提供了一个全面的回顾和见解。这些方法的各个方面,包括训练数据、网络架构的选择、损失函数、训练策略及其关键贡献。我们比较总结了这些方法的性能,并讨论了基于深度学习的图像分割模型的几个挑战和潜在的未来方向。
我们对基于深度学习模型的算法进行分类:
- Fully convolutional networks
- Convolutional models with graphical models
- Encoder-decoder based models
- Multi-scale and pyramid network based models
- R-CNN based models (for instance segmentation)
- Dilated convolutional models and DeepLab family
- Recurrent neural network based models
- Attention-based models
- Generative models and adversarial training
- Convolutional models with active contour models
- Other models
本文主要贡献如下:
- 本调查涵盖了当代有关图像分割问题的文献,并概述了截至2019年提出的100多种分割算法,并将其分为10类。
- 我们对使用深度学习的分割算法的不同方面进行了全面的回顾和深刻的分析,包括训练数据、网络架构的选择、损失函数、训练策略和它们的关键贡献。
- 我们提供了大约20个流行的图像分割数据集的概述,分为2D、2.5D(RGBD)和3D图像。
- 我们提供了大约20个流行的图像分割数据集的概述,分为2D、2.5D(RGBD)和3D图像。
- 在流行的基准测试上,我们提供了所回顾的分割方法的属性和性能的比较总结。
- 在流行的基准测试上,我们提供了所回顾的分割方法的属性和性能的比较总结。
深度神经网络的介绍
本节概述了计算机视觉社区使用的一些最突出的深度学习架构,包括卷积神经网络(CNNs)[13]、循环神经网络(RNNs)和长期短期记忆(LSTM)[14]、编码器-解码器[15]和生成对抗网络(GANs)[16]。近年来,随着深度学习的普及,其他一些深度神经结构已经被提出,如注意力机制、胶囊网络、门控循环单元、空间注意力机制网络等,在这篇综述中就不再做详细的介绍了。
值得一提的是,在某些情况下,深度学习模型可以从头开始对新的应用程序/数据集进行训练(假设有足够数量的标记训练数据),但在许多情况下,没有足够的标记数据可以从头开始训练一个模型,可以使用迁移学习来解决这个问题。在迁移学习中,在一个任务上训练的模型被重新用在另一个(相关的)任务上,通常是通过对新任务的某个适应过程。例如,可以想象将ImageNet上训练的图像分类模型适应不同的任务,如纹理分类或人脸识别。在图像分割的情况下,许多人使用在ImageNet上训练的模型(比大多数图像分割数据集更大的数据集),如网络的编码器部分,可以从这些初始权重重新训练他们的模型。因为这些预先训练过的模型应该能够捕获分割所需的图像的语义信息,从而使它们能够用标记较少的样本来训练模型。
Convolutional Neural Networks (CNNs)
CNNs(卷积神经网络)是深度学习社区中最成功和最广泛使用的体系结构之一,特别是在计算机视觉任务方面。CNNs最初是由Fukushima在他关于“Neocognitron”[17]的开创性论文中提出的,是基于Hubel和Wiesel提出的视觉皮层的层次接受场模型。随后,Waibel等人[18]引入了在时间接受域之间共享权重的cnn和音素识别的反向传播训练,LeCun等人[13]开发了一个用于文档识别的CNN架构如下图所示。
CNNs主要由三种类型的层组成:
i)卷积层,其中权重的核(或滤波器)被卷积以提取特征;
ii)非线性层,对特征映射(通常是元素)应用激活函数,以实现网络对非线性函数的建模;
iii)池化层,用一些统计信息(平均值、最大值等)替换特征映射的一个小邻域。
关于邻域,降低了空间分辨率。层中的单元是局部连接的;也就是说,每个单元接收来自前一层单元的一个小邻域,即接受域,的加权输入。通过堆叠层形成多分辨率的金字塔,更高层次的层从越来越宽的接受域学习特征。cnn的主要计算优势是,一层中的所有接受域都共享权重,导致的参数数量明显少于完全连接的神经网络。一些最著名的CNN架构包括:AlexNet[19]、VGGNet[20]、ResNet[21]、谷歌LeNet[22]、MobileNet[23]和DenseNet[24]
Recurrent Neural Networks(RNNs) and the LSTM
RNNs(循环神经网络)擅长处理时序数据,比如语音、文本、视频和时间序列,其中任何给定时间/位置的数据都取决于先验数据。在每个时间戳中,收集模型当前时间 X i X_i Xi的输入和上一个步骤 h i − 1 h_{i-1} hi−1的隐含状态,以及输出目标值和一个新的隐含状态。
RNNs在长序列处理存在弱点,因为他们不能在许多现实世界的应用程序中获取长期的依赖关系(尽管在这点上仍然没有理论证据)以及经常遇到梯度消失或者梯度爆炸的问题。然而一种被称为长短期记忆(LSTM)的循环神经网络被设计出避免出现这些问题。LSTM架构包括三个门(输入门、输出门、忘记门),它们调节进出内存单元的信息流,并在任意时间间隔内存储值。
Encoder-Decoder and Auto-Encoder Models
编码器-解码器是通过两阶段的网络,从输入域的数据点映射到输出域上的点这一系列的模型:由编码函数 z = f ( x ) z=f(x) z=f(x)表示的编码器,将输入压缩成潜在的压缩空间;由 y = g ( x ) y=g(x) y=g(x)表示的解码器旨在预测潜在空间的表示[15],[26]等。这里的潜在空间表示指的是一个特征(向量)表示,它能够捕获到输入的底层语义信息,对预测输出很有用。这些模型在图像到图像翻译问题以及NLP的序列到序列模型中都非常流行。这些模型通常通过最小化重建损失函数 L ( y , y ^ ) L(y, \hat y ) L(y,y^),该损失函数评估ground-true输出 y y y和推理预测重建的 y ^ \hat y y^之间的距离。输出可以是原图的增强版本(如图像去模糊或图像超分辨率),或者分割映射。自动编码器(Auto-encoders)是一种特殊的编码器-解码器,它的输入输出都是相同的。
Generative Adversarial Networks(GANs)
GANs是一种较新的深度学习模型类型。它们由两个网络组成,一个是生成器(Generator)另一个是判别器(Discriminator)。传统的GAN中的生成器网络 G = z → y G=z\rightarrow y G=z→y学习噪声 z z z(具有先验分布)到目标分布 y y y的损失函数,类似于真实样本。判别器网络 D D D视图将生成的样本(“伪造的”)与“真实的”样本区分开来。 G A N GAN GAN损失函数为 L G A N = E x ∼ p d a t a [ l o g D ( x ) ] + E x ∼ p d a t a [ l o g ( 1 − D ( G ( z ) ) ] L_{GAN}=\mathbb{E}_{x \sim p_{data}}[logD(x)] + \mathbb{E}_{x \sim p_{data}}[log(1-D(G(z))] LGAN=Ex∼pdata[logD(x)]+Ex∼pdata[