基于深度学习的医学图像分割研究进展
2019-04-28宫进昌赵尚义王远军
宫进昌,赵尚义,王远军
上海理工大学医学影像工程研究所,上海200093
前言
随着医学影像技术的发展,影像诊断在疾病诊断中发挥的作用越来越重要。医学影像技术主要包括X 线检查、计算机断层成像(Computed Tomography, CT)、超声(Ultrasound)和磁共振成像(Magnetic Resonance Imaging,MRI)等。影像辅助使得临床医生可以更加直观和清晰地观察正常和病变组织的解剖结构,为临床诊断、制定手术方案和生物医学研究提供科学依据。由于医学影像会输出大量的数据,临床医生和研究者需要利用计算机进行医学图像的自动处理和分析,而图像分割是医学图像处理和定量分析的关键步骤之一[1]。
图像分割是把图像分成若干个区域并把图像中的解剖结构或感兴趣区域提取出来。常用的传统医学图像分割方法有:边缘检测法、阈值法和区域生长法等。其中,边缘检测法基于区域边缘上的灰度值变化较大,通过检测不同区域间的边缘来分割图像,该方法易产生过分割,也就是把图像分割成过多的区域。阈值法的关键是确定阈值,如果只选一个阈值,该阈值将图像分为目标和背景两类;如果选取多个阈值,则图像分为多个目标区域和背景。阈值法容易实现,但对图像中灰度差异较小或灰度值有重叠的图像难以准确分割。区域生长法需要先选取一个种子点,然后将种子点像素周围具有相似性质的像素合并到种子像素所在的区域。区域生长法一般与其它分割方法一起使用,适用于分割小结构如伤疤等。总之,这些方法需要较多的人机交互过程完成目标提取,同时自我学习能力较弱,对噪声、模糊等干扰抵抗力较弱。
目前,医学图像分割技术仍然不够成熟,临床实践中没有一种通用的医学图像分割方法,能够对所有图像都获得令人满意的分割结果,因此在实际应用中面临的分割问题需要具体分析来决定采用何种分割方法。近年来,计算机技术和人工智能迅速发展,计算机辅助诊断在临床医学得到广泛应用。深度学习作为机器学习的分支,源于人工神经网络且应用前景十分广阔,基于深度学习的医学图像分割也获得广泛关注[2]。深度学习具有自我学习能力、通用性和高效性等特点,可用于计算机辅助诊断。由于传统的医学图像分割方法过多依赖医学领域的先验知识,同时在分割过程中耗费大量的人力和时间,因此提出基于卷积神经网络(Convolutional Neural Network,CNN)的医学图像分割方法。CNN 是深度学习模型之一,它基于多层感知器的算法,主要采用局部感知、权值共享和空间下采样的结构性思想来学习输入和输出之间的高度非线性映射,可应用于医学图像的分类、分割和去噪等特征提取,并且分割算法的稳定性和可重复较高。
本文旨在研究基于深度学习的定量分析医学图像病灶分割方法进展。首先介绍CNN的基本结构和基于CNN 的医学图像分割流程及评价指标;接着介绍深度学习在医学图像分割中的应用,包括肺结节、脑肿瘤和乳腺等病灶的分割;最后总结并讨论对该领域的研究所面临的问题和挑战。
1 基于CNN的分割方法
1.1 CNN基本结构
传统的多层神经网络中输入是一个矢量,但医学图像的矢量化会破坏图像的结构信息。CNN的输入层、卷积层、激活层、池化层、全连接层及输出层的结构无需将输入矢量化,从而更好地利用图像的空间和结构信息[3]。卷积层是卷积核通过滑动窗口计算而得,将卷积核的各个参数与对应的局部像素值求加权,再加上一个偏置参数,即可得到卷积层上的结果。由于卷积操作是线性的,采用激活函数加入非线性因素,模拟更细微的变化,解决线性模型不能解决的问题。池化相当于一种“压缩”方法,即每次将输入层的图像卷积后,通过下采样来减小图像的规模,提取主要特征。通过池化,图像维度降低,减少计算量和过拟合现象。经过前面的操作把原始数据映射到隐层特征空间后,全连接层连接所有特征,把卷积输出的二维特征转化成一维向量送给分类器[4]。图1为AlexNet CNN的一般结构。
图1 AlexNet CNN的一般结构Fig.1 General structure of AlexNet CNN
CNN 的结构实现对输入数据的位移、尺度及形变的不变性,提高了运算速度和精度[5]。目前,CNN处理图像的架构主要有3种:一是从输入图像中提取每个像素周围的N×N图像块作为网络的输入,在提取出来的图像块上训练模型,并给出类标签来识别正常组织和病灶;二是对输入图像的每个像素进行预测,得到每个像素所属的类,进行像素级分割;三是级联的CNN架构,该架构结合了上述两个CNN架构,前者用于训练模型,初始化预测类别标签,后者用于微调前者的输出而获得分割结果[6]。采用CNN分割医学图像中的病灶,一般需要先提取病灶的形态特征对病灶进行分类,后对图像进行分割。
1.2 分割流程
1.2.1 预处理目前,大多数深度学习算法都是在公共数据集上进行评估,如脑肿瘤分割(BRATS)数据集,该数据集主要用来对比和评估最新的脑肿瘤自动分割方法。但公共数据集的图像数据有限,很难训练出泛化能力强的网络,因此通过数据增强的方法来增加数据集大小。数据增强是通过对原始数据进行旋转、平移和变形等变换增加训练数据的大小,且原始数据的随机变换可以减少过拟合[7]。
由于医学图像存在灰度不均匀性、对比度变化大以及噪声等缺点,因此,在分析之前需要对图像进行预处理[3]。(1)灰度归一化:将所有图像的灰度映射到标准或者参考灰度(如:0~4 095 之间)的过程。常用的灰度归一化方法是将图像的灰度分段,线性映射到参考灰度[8]。深度学习中常用的归一化技术是计算Z-分数,即将图像中所有像素减去平均图像灰度,并用像素值除以灰度的标准差。(2)去噪:减少医学图像中异常组织的Rician噪声[9]。
1.2.2 训练集创建及标注在深度学习中,将数据分为训练、验证和测试集。训练集用来训练模型或确定参数;验证集用来做模型的选择,即模型的最优化;测试集为了测试已训练好模型对不可见数据的泛化能力。实际应用中一般将数据集分为两类,即训练集和测试集。由于医学图像的真实数据有限,可采用交叉验证法。在k倍交叉验证中,数据被随机分成k个大小相等的部分,保留k个部分中的一个作为测试集,剩下的k-1个作为训练集。
由于医学图像数据集已标注的样本数量不足,不能满足临床需求,而且手动标注图像需要耗费大量人力,因此需要对训练集进行自动标注。我们可以利用CNN 在图像特征自学习方面的优势,对图像进行自动标注。首先用无标注图像训练CNN,将图像特征映射到隐层神经网络,同时初始化CNN。再采用反向传播算法标注误差从而优化权重,该网络的总体误差可视为每个误差的总和,最后标注图像。
1.2.3 多层神经网络的构建与优化多层神经网络是相对于浅层神经网络而言的,其中多层神经网络含有多个隐藏层。浅层神经网络不能精确表征图像的特征,且会出现过拟合问题。构建多层神经网络需要提供自己的图片数据集,训练网络有3 种方法,一是利用已有的训练效果较好的多层神经网络如AlexNet、Inception 等从头开始训练。首先确定网络框架,准备好需要训练的数据集,然后随机初始化神经元参数,把训练好的数据按批次放入该网络,最后得到多层神经网络。但该方法需要大量数据集且耗时,可能会出现过拟合现象。二是利用一个已经训练好的网络模型,该网络中卷积和池化的权重参数都是经过大量训练和优化的,因此可以利用其权重参数直接进行特征提取。但由于已训练好的网络类别和我们需要的类别可能不同,因此需要用自己的数据集至少对最后一层进行训练,得到分类结果。第三种也是训练最后一层,但卷积和池化层的权重参数也参与训练,可尝试采用较小的学习率做微调。
构建多层网络之后,网络的效果可能不够好,需要对网络进行优化。由于网络参数是影响网络性能最重要的因素,包括隐藏层的层数、卷积核的大小、权重和迭代次数等。隐藏层的层数由训练集的尺寸和卷积核的大小共同决定;权重是神经网络通过反向传播和优化算法进行优化;迭代是一个完整训练集样本通过网络一次并返回一次的次数。迭代的次数越少,网络的精度越低,但次数越多,计算量越大,因此选择适当的迭代次数来优化网络。
1.3 病灶检测
病灶的检测是计算机辅助疾病诊断的关键步骤之一,即从图像中寻找病灶形状、大小和所处的具体位置。由于医学图像受噪声和成像质量的影响,图像灰度不均匀,不同病人的同类病灶形态特征差异很大。针对这些问题,深度学习方法通过建立大样本数据来提高病灶检测的准确率,提高辅助诊断的效果。
目前,在深度学习中目标检测使用较多的网络是R-CNN[10]。R-CNN先用选择搜索的方法提取疑似病灶区域,然后采用深度神经网络提取病灶特征并分类,最后采用回归器进行位置修正。Faster R-CNN使用区域建议网络(Region Proposal Network, RPN)取代了R-CNN中选择搜索方法,并把R-CNN中分类和位置修正放到同一个深度的网络中,提高了运行速度并减少空间占用[11]。
1.4 基于测试集的病灶分割
基于深度学习的病灶分类使用一系列的病灶图像即训练集,训练一个深层神经网络,然后用测试集测试该网络识别病灶的准确率,并进行多次优化训练以提高准确度。训练出来的网络可以提取病灶的同类特征,最后利用该网络识别输入的疑似病灶图像,并按其特征进行分类。实际上,利用深度学习进行计算机辅助诊断的过程就是要先训练一个有效的分类器,后把提取出来的特征提供给分类器进行分类。
找到真正的病灶后,可采用传统的分割方法,如阈值法和区域生长法来分割病灶。医生通过病灶分割得到结果,结合病人的相关资料可提高诊断速度和准确度。表1总结了医学图像分割定量分析的参数。
2 深度学习在医学图像分割中的应用
2.1 肺结节
表1 病灶分割定量分析的参数Tab.1 Segmentation parameters for quantitative analysis of lesion segmentation
由于肺癌在癌症中的发病率和死亡率占首位,肺结节是可以癌变的肺部组织,故分类和分割肺结节对临床医生诊断有重要意义。近年来,研究者们对深度学习辅助分割肺结节做了深入的研究。Hua等[12]首次将深度学习应用于肺结节分类问题的研究,他们引入深度信念网络(Deep Belief Network,DBN)和CNN对肺结节的良恶性进行分类,结果表明基于深度学习的肺结节分类灵敏度和特异性均高于基于特征计算的方法。Cheng 等[13]将堆栈式去噪自编码器(Stacked Denoising Auto-encoder,SDAE)算法应用于CT 图像的肺结节分割,表明SDAE 算法优于传统的辅助诊断方法,且SDAE适用于存在固有噪声的医学图像。Ciompi等[14]提出了基于多流多尺度卷积网络的深度学习系统,处理原始的CT图像,它可自动分类肺结节类型。 Liauchuk 等[15]利 用GoogLeNet CNN 检测肺结节,绘制了受试者工作特性(Receiver Operating Characteristic, ROC)曲线,同时发现基于CNN检测病灶和传统的基于特征提取方法的ROC面积分别为0.969和0.895。
以上研究表明,基于深度学习的肺结节诊断具有相对较高的灵敏度和特异性,并且随着3D神经网络发展,该辅助诊断方法将得到更加广泛的应用。
2.2 脑肿瘤分割
脑肿瘤的定量分析包括测量已成像的生物标志物,如最大直径、体积和数量来量化疾病,提取生物标志物取决于对肿瘤的准确分割。Havaei 等[16]提出基于CNN 的全自动脑肿瘤分割方法,该架构可利用图像的局部和全局特征,且在最后一层采用卷积的全连接层,使运行速度提高40 倍。Pereira 等[17]提出基于CNN 的神经胶质瘤分割方法,与Havaei 等[16]相比,他们采用3×3 的小型卷积核但具有更深的网络结构,该结构可降低过拟合和减少网络参数,并获得BRATS 2015挑战赛的第二名。Zhang等[18]提出基于提取图像块的CNN 算法,采用婴儿的多模态MRI 图像,即T1、T2和部分各向异性图像(Fraction Anisotropy, FA),分割正常脑结构。由于CNN 可以整合多模态脑图像,他们将T1、T2和FA的图像作为输入,然后输出分割图。结果表明CNN 算法优于使用支持向量机(Support Vector Machine,SVM)和随机森林(Random Forest,RF)的婴儿脑组织分割方法。Nie等[19]提出完全卷积神经网络(Fully Convolutional Neural Network,FCN)分割来自Zhang 等[18]相同数据集的婴儿大脑图像,使用FCN 进行端到端的像素级训练,减少了网络学习时间。Moeskops 等[20]使用多个卷积核的CNN 来分割婴幼儿、年轻人和老年人的脑部图像,并从有限的图像数据中提取特征,采用数据增强提高网络性能。
CNN可以自动学习多层次特征,结合局部感知、权值共享和下采样来减少网络参数,降低复杂度,实现对输入信息的多层表达。CNN的这些特征能够减少人工干预出现的评估错误且分割精度较高,把它应用于脑部MRI分割可以辅助医生诊断和定量分析脑部病灶。
2.3 乳腺病灶分割
乳腺癌是女性中最常见的癌症类型之一,研究表明乳腺癌占全球癌症的22.9%,因此使用医学影像技术对乳腺癌进行早期检测对于提高存活率至关重要[21]。Dhungel 等[22]使用结构化支持向量机(Structured Support Vector Machine,SSVM)结合深度学习分割乳房肿块,表明SSVM和深度学习提高了乳房图像分割的准确性和有效性。Xu等[23]提出堆叠稀疏自动编码器(Stacked Sparse Autoencoder,SSAE)用于乳腺癌组织病理学的自动化核检测,发现SSAE优于基线方法。Liu 等[24]采用基于深度多项式网络(Deep polynomial network, DPN)和 多 核 学 习(Multiple Kernel Learning,MKL)的分类框架检测和诊断乳腺的超声图像,发现DPN-MKL算法在基于超声图像的小数据集肿瘤分类方面优于常用的深度学习算法。
综上,深度学习在分割肺结节、脑肿瘤和乳腺癌等病灶时优于传统的分割方法,且图像具有较高的灵敏度和特异性。与传统分割方法相比,深度学习能够减少人工干预出现的评估错误且分割精度高,把它应用于医学图像病灶的分割可以辅助医生定量分析和诊断疾病。
3 总结与展望
本文总结了基于深度学习的医学图像病灶分割方法和深度学习在医学图像分割中的应用,可帮助医生准确、迅速地诊断疾病。研究的最新进展表明深度学习在医学图像病灶分割领域有很大的前景,将其应用于分割时明显优于浅层神经网络算法。尽管深度学习提高了计算机辅助诊断的准确率,但仍存在一些问题:(1)医学图像数据集较小,而深层神经网络的训练需要大量数据,因此训练泛化能力强的深层神经网络具有挑战性;(2)医学图像中组织的血管很难分辨,增加临床疾病诊断的难度;(3)医学图像的形成受到噪声、偏移场效应和组织运动等影响,图像具有模糊、不均匀性等特点,且人体解剖结构复杂给图像分割带来困难。
目前深度学习在病灶分割方面应用的发展方向集中为以下3 点:(1)对公共数据集采取数据增强的方法来增加数据集大小,且深层神经网络的应用趋于三维化、网络加深、跨数据集泛化等特点;(2)利用多模态数据做病灶分割可能改善图像效果;(3)结合不同的深层神经网络提取图像的跟更多信息。因此,我们接下来将结合多种深层神经网络应用于脑肿瘤多模态图像以实现更加准确、快速的分割,提高其临床诊断应用。