A Survey on Deep Learning in Medical Image Analysis
Abstract
深度学习算法特别是卷积神经网络已经快速成为分析医疗图像的一种方法。本文总结了与医疗图像分析的主要的深度学习方法,在这个领域超过300位贡献者,其中大部分是近些年的成就。我们发现深度学习主要应用在图像分类、物体检测、分割、注册和其他任务。概述每个应用领域的研究:神经、视网膜、肺、数字病理学、乳腺、心脏、腹部、肌肉骨骼。最后,我们总结了当前最先进的技术,对未来研究的开放挑战和方向进行了批判性讨论。
Introduction
自从可以扫描医学图像并将其存入计算机,研究者们就建立了自动分析系统。起初,从70年代到90年代,医学图像分析是通过低水平像素处理(边缘和线检测器过滤器、区域增长)和数学建模(确定线、圆和椭圆)的顺序应用来构建解决特定任务的复合规则系统。有一个用 if-then-else 语句组成的类似于专家系统的系统在当时的人工智能领域是受欢迎的。这些专家系统被描述为GOFAI(good oldfashioned artificial intelligence 传统的人工智能)(Haugeland,1985年),通常是脆弱的;类似于基于规则的图像处理系统。
在90年代末,使用训练数据开发系统的监督式技术在医疗图像分析领域变的越来越受欢迎。例如主动形状模型(active shape models)(用于分割)、Atlas方法(其中Atlas方法适用于训练数据中的新数据),以及特征提取和使用统计分类工具(用于计算机辅助检测和诊断)的概念。这样的模式识别或者机器学习方法仍然是非常受欢迎的,构成了许多成功的商业化的医学图像分析系统的基础。因此,我们看到了从被由人类完全设计的系统到利用样本数据提取的图像特征训练的系统的转变。计算机算法决定在高维特征空间的最优决策边界,在这些系统设计的过程中一个重要的步骤是从图像中提取鉴别特征,这个过程仍然由研究员们完成,因此有人谈到具有手工制作功能的系统(systems with handcrafted features)。
下一步是让计算机学习最能代表目前与问题相关的数据的特性。这是很多深度学习算法的基础,由很多层组成的模型将输入数据(图像)转变为输出(疾病存在/不存在)同时学习越来越高级别的特征。对于图像分析最成功的的模型就是卷积神经网络(CNNs)。卷积神经网络包含很多层,利用小范围的卷积滤波器来转换输入。CNN的研究从70年代末就开始了,并且他们在95年的时候已经被Lo等人应用到了医学图像分析上,第一次成功的实际应用是在LeNet的手写数字识别上。尽管取得了这些初步的成功,但CNN的使用并没有积累动力,直到开发出各种新技术来有效地训练深层网络,并在核心计算系统方面取得了进展。分水岭是Krizhevsky等人在2012年ImageNet挑战赛上的贡献,AlexNet以巨大的优势赢得了这个比赛,在随后的几年中,使用相关但更深层次的架构取得了进一步的进展(Russakovskyetal.,2014)。在计算机视觉中,深卷积网络已成为人们选择的技术。
医学图像分析界已经注意到这些关键的发展。然而,从使用手工特性的系统到从数据中学习特性的系统的转换是渐进的。在Alexnet的突破之前,许多学习特性的不同技术都很流行,Bengio等人(2013)对这些技术进行全面分析,它们包括主成分分析、图像patches的聚类、字典方法等等。他们仅在“深层模型全局训练(Global training of deep learning)”一节结尾处介绍了端到端训练的CNN。在这里,我们将集中在深度学习模型,不包括已经应用到医学图像上的传统的特征学习方法。关于深度学习在健康信息学中的应用的更广泛的回顾,我们参考Ravi等人(2017年),其中医学图像分析有简短的提及。
深度学习在医疗图像上的应用第一次开始出现在研讨会、会议然后还有期刊上,论文的数量在2015-2016年间迅速增多,该主题目前在各大会议上占据主导地位,2016年5月,IEEE关于医学成像的第一期特刊出现。
Shen等人2017年发表了一篇关于深度学习在医疗图像上应用的专项综述,虽然它们涵盖了大量的工作,但我们认为该领域的重要领域并未得到体现,例如没有涉及到视网膜图像分析的工作。我们写综述的动机是从应用和方法驱动的角度几乎全面概述医学成像的所有领域,这也包括所有出版物的概述表,读者可以使用它快速评估这一领域。我们利用自己在医学图像分析中应用深度学习方法的经验,为读者提供一个专门的讨论部分,涵盖最先进的、开放的挑战以及对未来将变得重要的研究方向和技术的概述。
这项调查包括300多篇论文,其中大部分是最近发表的,内容涉及深度学习在医学图像分析的各种应用。为了确定相关贡献,PubMed询问了标题或摘要中包含(“卷积”或“深度学习”)的论文。在搜索arxiv时,会找到提到一组与医学成像相关术语之一的论文。另外基于论文标题搜索MICCAI(包括研讨会)、SPIE、ISBI和EMBC的会议记录。我们检查了所有论文中的参考文献,并咨询了同事。我们排除了那些没有报道医学图像数据结果或者只使用了标准的前馈神经网络和手工制作的特征的论文。当在多个出版物中报告了重叠工作时,只包括被认为最重要的出版物。我们希望搜索术语能够涵盖大部分包含深度学习方法的工作(即使不是全部)。所含文件的最后更新日期为2017年2月1日。附录更详细地描述了搜索过程。
综上所述,我们这篇综述的目的是:
1.表明深度学习技术已经渗透到医学图像分析的整个领域;
2.发现将深度学习成功应用于医学成像任务的挑战;
3.强调解决或规避这些挑战的具体贡献。
在第2节中,我们介绍了用于医学图像分析的主要深度学习技术,并在整个调查过程中引用这些技术。
第3节描述了深度学习对医学图像分析中典型任务的贡献:分类、检测、分割、注册、检索、图像生成和增强。
第4节讨论了不同应用领域获得的结果和面临的挑战:神经、眼科、肺部、数字病理学和细胞成像、乳房、心脏、腹部、肌肉骨骼以及其他各种应用。
最后我们以总结、批判性讨论和未来研究展望结束。
2.Overview of deep learning methods
本节主要介绍医疗图像分析中深度学习的概念、技术和框架。
2.1 Learning algorithms
机器学习方法一般分为有监督和无监督学习算法,尽管有许多细微差别。监督学习中模型训练通过有标签的数据集,无监督的学习算法处理没有标签的数据,并训练以确定模式,如潜在子空间。传统的无监督学习算法的例子是主成分分析和聚类方法。无监督培训可以在许多不同的损失函数下进行。一个例子是重构损失函数L,模型必须学习重构其输入,通常通过低维或噪声表示。
2.2 Neural Networks
神经网络是学习算法的一种,是大部分深度学习方法的基础。一个神经网络包含一些激活a和参数{W,B}的神经元或单元,其中W是权重,B是偏置。激活表示神经元输入x和参数的线性组合,然后是元素非线性σ(·),称为传递函数。
传统神经网络的典型传递函数是sigmoid和双曲正切(hyperbolic tangent)函数。多层感知器(MLP)是传统神经网络中最著名的一种,它有好几层这样的转换:
这里,W是一个由W_k列组成的矩阵,与输出中的激活k相关。在输入和输出之间的层通常被称为“隐藏”层。当一个神经网络包含多个隐藏层时,它通常被认为是一个“深层”神经网络,因此称为“深度学习”。
在网络的最后一层,通过SoftMax函数将激活映射到类的分布上P(y|x;θ):
Wi表示指向与类别 i 相关的输出节点的权重向量。三层MLP的示意图如图2所示。
随机梯度下降的最大似然法是目前最流行的确定数据集D参数θ的方法。在随机梯度下降中,每次梯度更新使用数据的一个子集(mini-batch),而不是全部数据。在实践中优化最大似然等于最小化负对数似然:
这就是了二分类问题的二元交叉熵损失和多类任务的分类交叉熵。这种方法的一个缺点是,它通常不会优化我们直接感兴趣的数量,例如ROC曲线的线下面积或用于分割的常用评估措施,例如Dice系数。
很长一段时间,深度神经网络被认为是难以训练的。只有在2006年(Bengio等人,2007年;Hinton和Salakhuttdinov,2006年;Hinton等人,2006年)他们才受到欢迎,当时研究表明,无监督地逐层培训DNN(预训练),然后对堆叠网络监督式的微调,可以产生良好的性能。两个受欢迎的框架被以这种方式训练,自动编码(SAEs)和深度置信网络(DBNs)。然而,这些技术相当复杂,需要大量的工程来产生令人满意的结果。
最近,CNNs和RNNs以一种监督式的方式端对端训练,极大地简化了训练过程。CNNs被广泛的应用在(医疗)图像分析,RNNs也正在变的受欢迎。以下各节将简要概述这些方法,从最流行的方法开始,并讨论它们的差异和应用于医疗问题时的潜在挑战。
2.3 Convolutional Neural Networks
MLPs和CNNs之间有两个关键的不同。首先,在CNNs中网络的权重是共享的,表现为在图像上的卷积操作。这样,模型就不需要重复学习图片中相同物体在不同部位的检测点,使得网络在关于输入的转变方面是等价的。它也戏剧性的减少了参数量。例如图2中的一维CNNs。
在每一层,输入图像与一组K内核(包含W={W1,W2,…Wk }和B={b1,…,bk})卷积,生成一个新的特征映射Xk,这些特征再经过一个元素非线性变换σ(·)。每个卷积层 l 都重复相同的操作:
CNNs和MLPs之间第二个关键的不同是CNNs中加入了池化层,邻域的像素值使用一种置换不变函数(通常是max或mean操作)进行聚合。这产生了一定的转移不变性并且又一次的减少了网络的参数。卷积层的最后通常会加全连接层,全连接层的权重不再是共享的。类似于MLPs,通过softmax函数在最后一层的激活作用,产生了相应类的分布,网络使用最大似然估计被训练。
2.4 Deep CNN Architectures
鉴于CNNa在医学图像分析中的广泛应用,我们详细阐述了各种广泛使用的模型中最常见的体系结构和体系结构差异。
2.4.1 常用的分类框架
LeNet(1998)和AlexNet(2012)本质上非常相似,都比较浅,分别包含两个卷积层和五个卷积层,并且都在靠近输入的地方使用较大的内核,在靠近输出的地方使用较小的内核。AlexNet使用rectified linear units代替双曲正切函数作为激活函数。
2012年之后,开始探索新的框架,在过去的三年里,人们更加倾向于采用更深的模型。通过堆叠小的内核代替在单一层使用大的内核,可以使用更少的参数实现相似的效果。这些更深层次的架构通常具有较低的内存占用,这使得它们能够部署在智能手机等移动计算设备上。Simonyan and Zisserman第一个去探索更深的网络,在每一层应用小的,固定尺寸的卷积核。VGG19或者OxfordNet赢得了2014年的ImageNet挑战。
在较深网络的基础上,更复杂的模块被引入以提高模型训练过程的效率并且又一次的减少了参数量。Szegedy(2014)等人提出了名为GoogleNet的22层网络,也被称为Inception,它使用含有一系列不同尺寸卷积的inception模块代替公式5中的映射,类似于小尺寸内核的堆叠,使用更少的参数实现了相似的功能。ResNet框架(2015)在2015年赢了ImageNet挑战赛,它包含ResNet模块。ResNet模块仅学习残差而不是学习一个函数,因此,对接近于标识函数的每一层中的学习映射都有预先的条件。这样更深的网络也可以被训练。
从2014年以来,ImageNet测试的性能已经基本达到饱和,因此很难评估性能的小幅增长是否真的归因于“更好”和更复杂的结构。这些模型所提供的较低内存占用的优势对于医疗应用来说通常不那么重要,因此,尽管最近的里程碑式研究都使用了一个名为Inception v3的Googlenet版本,AlexNet和其他简单模型如VGG对医疗数据来说仍然是受欢迎的。无论这是由于优越的体系结构,还是仅仅因为模型是流行软件包中的默认选择,都再次难以评估。
Multi-stream architecture
默认的CNN体系结构可以很容易地容纳多个信息源或输入的表示,以呈现给输入层的通道的形式。这个想法可以进一步深入,可以在网络中的任何点合并通道,根据不同任务需要不同的融合方式的直觉,正在探索multi-stream体系结构。这些模型,也被称为双路径架构(Kamnitsas等人,2017年),在撰写时有两个主要应用:(1)多尺度图像分析,(2)2.5d分类;这两个都是与医学图像处理任务相关的。
对于异常的检测,上下文通常是一个重要提示。增加上下文的最直接方法是向网络提供更大的patches,但这会显著增加网络的参数数量和内存需求。因此,除了高分辨率的本地信息外,还研究了将上下文按比例缩小添加到框架中去。据我们所知,Farabet等人首先探索了多流多尺度体系结构。(2013年),他将其用于自然图像分割。一些医疗应用也成功地使用了这一概念(Kamnitsas等人,2017;Moeskops等人,2016a;Song等人,2015;Yang等人,2016c)。
由于许多方法论仍然是在自然图像上发展起来的,将深度学习技术应用到医学领域的挑战往往在于使现有的架构适应不同的输入格式,例如三维数据。在CNN对此类体积数据的早期应用中,通过将感兴趣的体积(Volume of Interest, VOI)划分为作为不同流输送到网络的切片,可以绕过完整的三维卷积和由此产生的大量参数。Prasoon等人第一次使用这种方法进行膝盖软骨分割,类似地,可以以multi-stream的方式从3D空间为网络提供更多的输入数据(Roth et al., 2016b; Setio et al., 2016). ,这已被不同的作者应用于医学成像领域。
2.4.3 Segmentation Architectures
分割是自然图像和医学图像分析中的一项常见任务,为了解决这一问题,CNN可以通过在特定像素周围呈现提取的patches的方式,简单地将图像中的每个像素分类。这种简单的“滑动窗口”方法的一个缺点是,来自相邻像素的输入补丁有巨大的重叠,相同的卷积被多次计算。幸运的是,卷积和点积都是线性算子,因此内积可以写成卷积,反之亦然。通过将全连接层重写为卷积,CNN可以获取比训练时更大的输入图像,并生成一个映射图,而不是单个像素的输出。由此产生的“完全卷积网络”(FCNN)可以有效地应用于整个输入二维或者三维图像。
然而,因为有池化层,输出结果的分辨率可能远小于输入的。“Shift-and-stitch”(替换和拼接) 是防止像素降低的一种方法,FCNN应用于输入图像的替换版本,通过将结果拼接在一起,可以获得最终输出的完全分辨率版本,减去由于“Valid”卷积而丢失的像素。
Ronnerberger等人根据FCNN的启发进一步提出了U-Net框架,包括一个“标准的”FCNN,然后是一个向上采样部分,其中“向上”卷积用于增加图像大小,形成收缩和扩展路径。虽然这不是第一篇在CNN中介绍上采样的论文,但作者将其与所谓的跳跃连接结合起来,直接连接相应的收缩和扩张的卷积层。Cicek等人(2016)在3D数据上使用了类似的方法,Milletari等人(2016b)提出了对U-NET布局的扩展,该布局包含类似resnet的残差块和DIce 损失层,而不是传统的交叉熵,直接将这种常用的分割错误度量最小化。
2.5 Recurrent Neural Networks(RNNs)
传统上,RNN是为离散序列分析而开发的。它们可以被看作是MLPs的泛化,因为输入和输出都可以有不同的长度,使得它们适合于诸如机器翻译之类的任务,其中源语言的句子和目标语言的句子是输入和输出。在分类设置上,模型学习给定序列(x1, x2, …, XT)的类的分布P(y|x1, x2,…, XT;θ),而不是单个输入向量X。
RNN在时间t处有一个潜在或隐藏状态h,即从其输入Xt和前一状态h(t-1)的非线性映射的输出:
其中权重矩阵w和r随时间共享。对于分类,通常添加一个或多个全连接层,然后添加一个SoftMax,以将序列映射到类的后面。
由于梯度需要从输出沿着时间进行反向传播,RNN本质上是深的(在时间上),因此与常规深度神经网络的训练问题相同(Bengio等人,1994年)。为此,已经开发了几个专门的内存单元,最早和最流行的是长短期内存(LSTM)单元(Hochreiter和Schmidhuber,1997)。门控复发单元(Gated Recurrent Unit)(Cho等人,2014)是LSTM的最新简化,也是常用的。
尽管RNN最初被提议用于一维输入,但它越来越多地应用于图像。在自然图像中,“pixelRNNs”被用作自回归模型,生成模型最终可以生成类似于训练集中样本的新图像。在医学应用中,它们被用于分割问题,在MRBrains挑战中有很好的结果(Stollengatel.,2015)。\
2.6 无监督模型
2.6.1 自动编码器(AEs)和堆叠式自动编码器(SAEs)
AEs是一个简单的网络通过一个隐藏层h在输出层X’重建输入X,他们由从输入到隐藏层的权重矩阵W_x,h和偏置b_x,h及隐藏层到重构的权重矩阵W_h,x’和偏置b_h,x’组成,非线性函数用于计算隐藏的激活:
此外,隐藏层的尺寸h被认为小于x。这样,数据被投影到一个表示输入中的主要潜在结构的较低维的子空间上,可以使用正则化或稀疏约束来增强发现过程。如果隐藏层与输入层的大小相同,并且没有添加更多的非线性,那么模型将只学习恒等函数。
去噪自动编码器(Vincent等人,2010)是另一种防止模型学习不重要成分的解决方案。在这里,模型被训练为从含有噪声的数据(通常是盐和胡椒噪声)中重建输入。SAE(或深度AES)是通过将自动编码器层放置在彼此的顶部形成的。在医疗的应用中,自动编码器层经常被单独训练(“贪婪地”),然后通过有监督的训练微调整个网络,以做出预测。
2.6.2 受限玻尔兹曼机器(RBMS)和深度置信网络(DBN)
RBMS(Hinton,2010)是一种马尔可夫随机场(MRF),构成输入层或可见层x=(x1,x2,…,xn)和携带潜在特征表示的隐藏层h=(h1,h2,…,hm)。节点之间的连接是双向的,因此给定一个输入向量x,可以得到潜在特征表示h,反之亦然。因此,RBM是一个生成模型,我们可以从中取样并生成新的数据点。与物理系统类似,为输入和隐藏单元的特定状态(x,h)定义了能量函数:
含有b和c偏置项。系统“状态”的概率通过将能量进行指数和标准化运算来确定:
计算函数z通常是难以解决的。然而,条件推理的形式是在条件是v的基础上计算h,反之亦然,这种推理是容易理解的,并产生一个简单的公式:
由于网络是对称的,所以对于P(Xi | h),也有类似的表达式。
DBN(Bengio等人,2007年;Hinton等人,2006年)本质上是SAE,其中AE层被RBMS取代。对各个层次的训练,同样是以一种无监督的方式进行的。最终的微调是通过在DBN的顶层添加一个线性分类器并使用监督学习优化。
2.6.3 Variational Auto-Encoders and Generative Adverserial Networks
最近,引入了两种新型的无监督架构:变分自动编码器(VAE)(Kingma和Welling,2013年)和生成对抗网络(GaN)(Goodfellow等人,2014年)。目前还没有同行评审的论文将这些方法应用于医学图像,但在自然图像中的应用前景广阔。我们将在讨论中详细说明它们的潜力。
3.医疗图像上的深度学习
3.1 分类
3.1.1 图像/检查 分类
图像或检查分类是深度学习对医学图像分析做出重大贡献的第一个领域之一。在检查分类中,通常有一个或多个图像(检查)作为输入,一个诊断变量作为输出(例如,是否存在疾病)。在这种情况下,每一次诊断检查都是一个样本,数据集的大小通常比计算机视觉中的要小(成百上千个样本VS数百万个样本)。因此,这方面经常用到迁移学习。
迁移学习本质上是使用预先训练的网络(通常是自然图像)来尝试解决大型数据集对深层网络训练的(感知)需求。有两种策略要注意:1.使用预训练网络作为特征提取;2.在医疗数据集上微调预训练网络。前一种策略有额外的好处,不需要训练整个深层网络,使得提取的特征可以很容易地插入到现有的图像分析中。这两种策略都很流行,并已被广泛应用。然而,很少有作者进行彻底的研究,这两篇论文,Antony et al. (2016) and Kim et al. (2016a),产生了相互矛盾的结果。在Antony等人(2016年)的案例中,fine-tuning明显优于特征提取,在膝关节骨性关节炎的多分类评估中达到57.6%的准确率,而不是53.4%。然而Kim等人在细胞病理图像分类中得出了使用CNN作为特征提取器优于fine-tuning的结论(70.5% VS 69.1%)。讨论哪种策略更为成功,我们推荐最近发表在高级期刊上的两篇论文,这些论文在医疗数据上对预训练的Inception V3架构进行微调,并取得了(接近)人类专家绩效(Esteva et al.,2017;Gulshan et al.,2016)。据作者所知,仅仅使用预训练的网络作为特征抽取器还没有取得这样的结果。
深度网络类型在检查分类中的应用与计算机视觉的发展是类似的。起初,医学影像学界专注于非监督的预训练和网络结构,就像SAEs和RBMs,第一篇将这些技术应用于检查分类的论文发表于2013年,重点是神经影像学。 Brosch and Tam (2013), Plis et al. (2014), Suk and Shen (2013), and Suk et al. (2014) 基于脑磁共振成像(MRI)数据集,应用DBNS和SAES对阿尔茨海默病患者进行分类。最近,大家都转向了使用CNNs,在2015,2016,2017年有超过47篇关于检查分类的论文发表,其中36篇基于CNNs,5篇基于AEs,6篇基于RBMs。这些方法的应用领域非常广泛,从脑磁共振成像到视网膜成像、数字病理学到肺部CT。
在最近使用CNN的论文中,作者还经常从头开始培训自己的网络架构,而不是使用预先培训过的网络。Menegola等人(2016)进行了一些实验,将培训从零开始到预培训网络的微调进行了比较,结果表明,如果一个大约1000张皮肤损伤图像的小数据集,微调效果更好。然而,这些实验规模太小,无法得出任何一般结论。
三篇论文使用了一种利用医疗数据独特属性的架构:两篇使用3D卷积(Hosseini-Asl等人,2016年;Payan和Montana,2015年)而不是2D来分类患有阿尔茨海默症的患者;Kawahara等人。(2016b)将类似CNN的架构应用于核磁共振扩散张量成像(DTI)得出的大脑连接图。为了做到这一点,他们开发了几个新的层,形成了他们的网络基础,所谓的edge-to-edge, edge-to-node以及node-to-graph层,他们使用他们的网络来预测大脑的发展,并表明他们在评估认知和运动评分方面优于现有的方法。
总之,在检查分类中,CNN是当前的标准技术。特别是对自然图像进行预训练的CNN显示出惊人的强大效果,挑战了人类专家在某些任务中的准确性。最后,作者展示了CNN可以被用来影响医疗图像的内部结构。
3.1.2 Object or lesion calssification
目标分类通常侧重于将医学图像的一小部分(以前识别的)分类为两个或多个类别(例如胸部CT中的结节分类)。对于这些任务中的许多,都需要损伤外观的局部信息和损伤位置的全局上下文信息来精确分类。这种组合在一般的深度学习框架中通常是不可能的。一些作者使用了multi-stream以多尺度的方式解决了这一问题(第2.4.2节)。Shen等人使用三个CNNs,分别以不同尺寸的结节部分作为输入,三个CNNs特征提取的输出结合起来作为最终的特征向量。Kawahara和Hamarneh(2016)采用了一种类似的方法,他们使用multi-stream CNN对皮肤病变进行分类,每个stream都在不同分辨率的图像上工作。Gao等人(2015)提出将CNNs和RNNs结合对裂隙灯图像中的核白内障进行分级,其中CNNs是经过预训练的。这种组合允许处理所有上下文信息,而不管图像大小如何。在医学成像的目标分类任务中,合并三维信息通常也是一种良好性能的必要条件。由于计算机视觉中的图像往往是二维自然图像,因此在这些场景中开发的网络不会直接利用三维信息。作者使用了不同的方法,以有效的方式将3D与定制框架集成在一起。Setio等人使用multi-stream CNN将胸部CT中的兴趣点分类为结节或非结节。从候选对象中提取的多达九个不同方向的补丁在不同的流中使用,并合并到全连接层中,以获得最终的分类输出。相反,Nie等人(2016c)通过训练3D CNN来利用MRI的3D特性来评估高恶性胶质瘤患者的生存率。
最近几乎所有的论文都是用端对端的CNNs网络,也有其他网络和方法被使用,如:RBMs((van Tulder and de Bruijne, 2016; Zhang et al., 2016c),SAEs((Cheng et al., 2016a),卷积稀疏自动编码器(CSAE)(Kallenberg et al., 2016),CSAE与分类的CNN主要的区别在于带有稀疏自动编码器的非监督预训练的使用。
在对象注释生成训练数据的成本很高的情况下,多实例学习(MIL)和深度学习集成的方法是值得借鉴的。Xu等人(2014)研究了在有监督和无监督特征学习方法以及手工制作特征的情况下使用MIL框架。结果表明,MIL框架的性能优于手工制作的特性,而手工制作的特性又接近于完全监督方法的性能。我们希望这种方法在未来也会流行,因为获取高质量的注释医疗数据是一项挑战。
总体而言,与检查分类相比,对象分类使用预训练网络的较少,主要是因为需要结合上下文或三维信息。一些作者已经找到了创新的解决方案,将这些信息添加到深度网络中,并取得了良好的效果,因此,我们希望在不久的将来,深度学习对于这项任务变得更加突出。
3.2 Detection
3.2.1 Organ,region and landmark localization
解剖物体定位(在空间或时间上),如器官和标记,在分割任务中或在治疗计划和干预的临床工作流程中都是重要的预处理步骤。医学成像中的定位通常需要对三维体积进行分析。为了用深度学习算法解决三维数据解析问题,提出了几种将三维空间视为二维正交平面组合的方法。Yang等人。(2015)通过使用常规CNN处理三组独立的二维MRI切片(每个平面一个)来识别股骨远端表面的landmark。landmark的三维位置被定义为三个具有最高分类输出的二维切片的交叉点。de Vos等人(2016b)在二维分析三维CT体积后,通过识别一个矩形三维边界框,进一步定位了解剖区域(心脏、主动脉弓和降主动脉)周围的感兴趣区域(ROI)。除了RBM,预训练的CNN框架被使用达到相同的目的,(Caietal.,2016b;Chenetal., 2015b;Kumaretal.,2016),其克服数据不足的缺点,学习更好的特性表示。所有这些研究都将定位任务转化为为分类任务,因此,可以利用通用的深度学习体系结构和学习过程。
其他作者试图修改网络学习过程来直接预测位置。例如Payer等人(2016)提出直接利用CNNs回归landmark位置,他们使用landmark映射,其中每个landmark由高斯表示,作为实际上真正的输入数据,网络直接训练来预测该landmark映射。另一个方法由Ghesu等人(2016a)提出,其将强化学习应用于landmark识别,作者在二维心脏磁共振和超声(US)以及三维头颈CT等多项任务中均显示出良好的效果。
由于其复杂性的增加,只有少数几种方法可以解决三维图像空间中landmarks和区域的直接定位问题。Zheng等人(2015)通过将三维卷积分解为三维一维卷积,在CT数据中检测颈动脉分叉,降低了这种复杂性。Ghesu等人(2016b)为了解决三维经食管超声心动图主动脉瓣检测中的数据复杂性,提出了一种基于边缘空间学习的稀疏自适应深神经网络。
CNN还用于在时间数据中定位扫描平面或关键帧。Baumgartner等人(2016)在视频帧数据上训练CNN,以检测多达12个标准化的中期妊娠胎儿超声扫描平面。此外,他们使用显著性图来获得扫描计划中感兴趣对象(如大脑、脊柱)的粗略定位。RNN,尤其是LSTM RNN,也利用医学视频中包含的时间信息,这是另一种高维数据。例如Chen等人(2015a)采用LSTM模型结合超声视频中连续序列的时间信息进行胎儿标准面检测。Kong等人(2016)结合LSTM-RNN和CNN,在心脏的MRI影像中检测舒张末期和收缩末期帧。
最后,通过使用CNNs二维图像分类进行定位似乎是最流行的方法,用来确定器官,区域和地标,且具有良好的效果。然而,最近几篇论文通过修改学习过程来扩展这一概念,从而直接强调精确的定位,取得了很好的效果。我们希望进一步探索这些方法,因为它们表明,深度学习技术可以适应广泛的定位任务(例如,多个landmarks)。RNNs在时间域的局部化方面表现出了良好的前景,多维RNN也可以在空间定位中发挥作用。
3.2.2 Object or lesion detection
图像中感兴趣的物体或病变的检测是诊断的关键部分,也是临床医师最为劳动密集的一个环节。特别是这样的任务包含在整幅图像空间上的小区域定位和识别。计算机辅助检测系统的研究传统由来已久,其设计目的是自动检测病变,提高检测精度或缩短人类专家的阅读时间。有趣的是,第一个使用CNN的目标检测系统已经在1995年提出,它使用一个具有四层的CNN来检测X射线图像中的结节。
大多数已发布的深度学习对象检测系统仍然使用CNN来执行像素(或体素)分类,之后应用某种形式的后处理来获得候选对象。 由于在每个像素处执行的分类任务基本上是对象分类,因此CNN架构和方法与3.1.2节中的非常类似。上下文或三维信息的合并也使用multi-stream CNN处理(2.4.2节中,例如Barbu等人(2016)和Roth等人(2016b))。Teramoto等人(2016)使用multi-stream CNN整合CT和正电子发射断层扫描(PET)数据。Dou等人(2016c)使用3D CNN发现脑核磁共振成像中的微出血。因为与物体分类相比,生成训练数据的注释负担可能同样重要,Hwang and Kim(2016)提出了弱监督深度学习,他们采用这种方法检测胸部X光片中的结节和乳房X光片中的病变。
对象检测和对象分类在某些方面存在显著差异。一个关键点是,因为每个像素都是分类的,所以在训练设置中,类平衡通常会严重偏向非对象类。 为了降低这种情况的发生,通常大多数非对象样本易于区分,从而阻止深度学习方法专注于具有挑战性的样本。van Grinsven等人(2016)提出了一种选择性数据采样,其中错误分类的样本被反馈回网络,从而更频繁地关注视网膜图像中具有挑战性的区域。最后,由于以滑动窗口方式对每个像素进行分类会导致大量冗余计算,Wolterink etal(2016)中使用的fCNNs也是目标检测管道的重要方面。
因此,在对象检测中有意义地应用深度学习算法的挑战大多类似于对象分类中的挑战。 只有少数论文直接解决了特定于物体检测的问题,如类不平衡/硬负挖掘(hard-negative mining)或高效的像素/体素处理图像。 我们期望在不久的将来更加重视这些领域,例如以完全卷积方式应用multi-stream网络。
3.3 Segmentation
3.3.1 Organ and substructure segmentation
医学图像中器官和其他子结构的分割可以定量分析与体积和形状相关的临床参数,例如在心脏或大脑分析中。另外,这是计算机辅助检测系统重要的第一步。分割的任务通常是识别构成轮廓的体素集合或者感兴趣物体内部的体素集合。分割是将深度学习应用于医学成像的论文中最常见的主题(图1),因此,在方法应用方面也有很多,包括独特的基于CNN的分割体系的开发和RNN的广泛应用。
在医学图像分析中,这些新的CNN框架中最著名的是Ronneberger等人(2015)发布的U-net,U-NET中两个主要的体系结构创新是相同数量的上采样和下采样层的组合。虽然之前已经提到过学习上采样层,但U-net使用跳跃连接将相对应的卷积和反卷积相结合,这将收缩和扩展路径的特征连接起来。从训练的角度来看,这意味着整个图像/扫描可以由U-NET在一次正向传递中进行处理,从而直接生成分割图。这使得U-NET能够考虑到图像的完整上下文,这对于基于补丁的CNN来说是一个优势。另外,在Cicek等人(2016)的一篇扩展论文的结果表明,通过向U-NET中输入同一体积的几个二维注释切片,可以实现完整的三维分割。其他作者也提出了U-net的衍生物,例如:Milletari等人(2016b)提出了一个三维变异的U-Net结构,称为V-Net,使用三维卷积层进行三维图像分割,并根据Dice coefficient直接提供一个目标函数;Drozdzal等人(2016)除了常规U-net中的长跳跃连接之外,还研究了使用类似ResNet的短跳过连接。
RNNs最近在分割任务上也越来越受欢迎。例如,Xie等人(2016b)使用spatial clockwork RNN对H&E组织病理学图像中的膜周进行分割,该网络考虑了来自当前patch的行和列前置器的先前信息,为了合并来自左/上和右/下相邻的双向信息,RNN在不同方向上应用了四次,最终结果连接到全连接层,这将为单个patch生成最终输出。Stollenga等人(2015年),首次使用3D LSTM-RNN,在六个方向上具有卷积层。Andermatt等人(2016)使用一个带有门控复发单位的3D RNN来分割脑MRI数据集中的灰质和白质。Chen等人(2016b)在各向异性三维电子显微镜图像中,将双向LSTM RNN与二维U-net类似框架相结合来分割结构。最近,Poudel等人(2016)使用带有门控复发单元的2D U-net 框架来进行3D分割。
尽管这些特殊的分割结构提供了很大的优势,许多作者还通过补丁训练的神经网络获得了很好的分割结果。最早的一篇论文涉及医学图像分割与深度学习算法使用了这种策略,并由Ciresan等人(2012)发表。他们以滑动窗口的方式在电子显微镜图像中应用了膜的像素分割。最新的论文现在优先使用 fCNNs(2.4.3小节),而不是基于滑动窗口的分类,以减少冗余计算。
fCNNs也扩展到了3D同时应用到了多目标上面:Korez等人(2016)利用三维FCNNS生成椎体似然图,驱动磁共振图像中椎体分割的变形模型。Zhou等人(2016)在人体躯干上分割出19个目标, Moeskops 等人(2016b)训练一个简单的 FCNN来分割脑MRI,胸MRI中的胸肌和心脏CT血管造影术中的冠状动脉。
体素分类方法的一个挑战是它们有时会导致虚假的反应。 为了解决这个问题,小组试图将fCNN与MRF和条件随机场(CRF)等图形模型结合起来,以重新确定分割输出。在大多数情况下,图形模型应用于CNN或FCNNS生成的似然图之上,并充当标签正则化器。
总而言之,医学成像中的分割已经看到了大量深度学习相关方法。 已创建自定义体系结构以直接针对分割任务。 这些已经获得了很好的结果,可以与fCNN获得的结果相媲美并且经常改善。
3.3.2 Lesion segmentation
病变分割在深度学习算法应用中包括物体检测和器官及子结构分割中的挑战,全局和局部上下文被用来得到精确的分割,例如 Kamnitsas et al. (2017) and Ghafoorian et al. (2016b)提到的有不同尺寸或非均匀采样patches的多流网络(multi-stream network)。在病变分割中,我们也看到了U-NET和类似架构的应用,以利用这一全局和局部环境。Wang等人(2015)提出的类似U-net结构含有相同的下采样和上采样路径,但没有使用跳跃连接;Brosch等人提出的类似U-net的结构去分割脑MRI中的白质病变,然而,他们使用3D 卷积,并在第一个卷积和最后一个卷积层之间使用一个简单的连接。
与目标检测一样,病变分割的另一个挑战是类不平衡,因为图像中的大多数体素/像素来自非病变类。一些论文通过调整损失函数来解决这个问题:Brosch等人(2016)定义它为灵敏度和特定性的加权组合,特定性的权重更大,使其对数据不平衡的敏感度更低。其他人在正样本上通过数据增强来达到数据集的平衡。
因此,病变分割混合了用于物体检测和器官分割的方法。这两个领域的发展很可能自然地传播到病变分割,因为现有的挑战也大多相似。
3.4 Registration
医学图像上的注册(例如空间对齐)是常见的图像分析任务,就是从一个医学图像到另一个医学图像坐标变换的计算。通常,这是在迭代框架中执行的,其中假定了特定类型的(非)参数转换,并优化了预先确定的度量(例如L2范数)。虽然分割和损伤检测是深部学习的热门话题,但研究人员发现,深度网络有助于获得最佳的注册性能。从广义上讲,当前文献中普遍存在两种策略:(1)使用深度学习网络来估计两个图像的相似性度量以驱动迭代优化策略,以及(2)使用深度回归网络直接预测变换参数。
Wu et al. (2013), Simonovsky et al. (2016), and Cheng et al. (2015)使用第一种策略优化注册算法;Cheng et al.(2015)使用两种类型的堆叠自动编码器来评估头部的CT和MRI图像之间的局部相似性,两个自动编码器都采用CT和MRI的矢量化图像块,并通过四层重建它们。 在使用 无监督的补丁重建 对网络进行预训练之后,使用堆叠在SAE第三层之上的两个预测层来对它们进行调整。 这些预测层确定两个补丁是相似的(第1类)还是不相似的(第2类)。Simonovsky et al.(2016)使用类似的策略(尽管有CNN)估计来自不同模态的两个补丁之间的相似成本。 但是,他们还提出了一种方法来使用该度量的导数直接优化转换参数,这些参数与网络本身分离。最近,Wu et al.(2013)组合独立子空间分析和卷积层以非监督的方式从输入补丁中提取特征,得到的特征向量(而不是手工制作的特征)用于驱动HAMMER配准算法。
Miao et al. (2016) and Yang et al. (2016d)使用深度学习算法直接预测给定输入图像的配准变换参数。Miao et al.(2016)利用CNN执行3D模型到2D X射线注册,以评估手术期间植入物体的姿势和位置。 总的来说,变换具有6个参数,2个平移参数,1个缩放参数和3个角度参数。它们针对两个角度参数以20度的步长参数化特征空间,并且训练单独的CNN以在给定3D模型的数字重建的x射线和实际的术中x射线的情况下预测对变换参数的更新,使用通过手动调整输入训练数据的变换参数而生成的人工实例来训练CNN。 他们表明,他们的方法比使用传统的纯粹基于强度的注册方法具有显着更高的注册成功率。Yang et al.(2016d)使用OASIS数据集解决了大脑MRI中先前/当前注册的问题。 他们使用大变形差异度量映射(LDDMM)配准方法作为基础。该方法将每个像素的初始动量值作为输入,然后随时间演变以获得最终变换。 然而,初始动量图的计算通常是昂贵的。作者通过训练类似U-net的架构来预测输入图像的x和y动量图。 它们获得了视觉上类似的结果,但显着改善了运行时间:2D速度提高了1500倍,3D速度提高了66倍。
与分类和分割相比,研究界似乎尚未确定将深度学习技术整合到注册方法中的最佳方法。 关于该主题的论文尚未出现,现有的论文各有明显不同的方法。 因此,提出最有希望的方法的建议似乎是不合适的。 但是,我们期望在不久的将来看到更多的深度学习对医学图像注册的贡献。
3.5 Other tasks in medical imaging
3.5.2 Image Generation and Enhancement
已经提出了使用深层体系结构的各种图像生成和增强方法,包括去除图像中的障碍元素,归一化图像,改善图像质量,数据完成和模式发现。
在图像生成中,2D或3D CNN用于将一个输入图像转换为另一个输入图像。 通常,这些体系结构缺少分类网络中存在的池化层。 然后用数据集训练这些系统,数据集中输入和期望输出都存在,生成的输出和期望的输出之间的差异作为损失函数。例如Yang等人的常规和骨抑制X射线,Bahrami等人(2016)的3T和7T脑MRI,Li等人从MRI中得到的PET(2014),以及Nieetal等人(2016a)从MRI中得到的CT, Li et al.(2014)甚至表明,对于阿尔茨海默病,当原始数据丢失或未获得时,可以使用计算机辅助诊断系统的生成的图像。
对于多流CNN(multi-stream CNNs),可以从多个低分辨率输入生成超分辨率图像(第2.4.2节)。Oktay等人提到,multi-stream网络从一个或多个低分辨率输入MRI体积重建高分辨率心脏MRI。 这种策略不仅可以用于推断缺失的空间信息,还可以用于其他领域; 例如,从有限的数据推断出高级别的MRI差异参数(Golkov等人 2016)。其他图像增强应用,如强度归一化和去噪,只有有限的深度学习算法应用。Janowczyk等人(2016a)使用SAE来标准化H&E染色的组织病理学图像,而Benou等人(2016)使用CNN在DCE-MRI时间序列中执行去噪。