李祥霞,谢 娴,李 彬,尹 华,许 波,郑心炜
1.广东财经大学 信息学院,广州510320
2.华南理工大学 自动化科学与工程学院,广州510641
医学图像处理是计算机视觉领域的一个热门研究问题之一,医学图像是开展与医学相关问题研究的基础,其中对图像数据的处理和有效分析更是直接影响到医生对患者所患疾病的判断和治疗。近年来,随着医学成像技术和设备的不断发展,大量的包含丰富病理相关影像信息的医学数字图像随之产生,因此需要处理的数据量也越来越大。面对庞大且复杂的医学影像数据,如何实时且有效地对医学影像大数据做进一步处理、分析和挖掘,如何从这些图像中提取出潜在有用的特征,是研究者们亟待处理的问题。
传统的图像处理方法通常是通过放射科医生从医学图像中手工提取有用的影像信息,这不仅耗时费力,还有着个人主观性,易出现误诊、漏诊的现象[1]。因此,这种方式已经不能满足现阶段的医疗需求,为此出现了大量的图像处理的新技术。深度学习(Deep Learning,DL)近年来已经在医学图像处理范畴中取得了突飞猛进的发展[2]。从现阶段的研究观察到卷积神经网络(Convolutional Neural Network,CNN)是应用于图像处理范畴上较为成功的深度学习模型之一,其通过构造CNN,对数据采用层层训练,利用各层的特征表达,来自动提取对高层特征,有效地解决了人为提取图像特征所造成的问题,因此能够提升诊断的效率和准确率[3]。但是,CNN模型由于具有结构复杂度高、参数规模庞大等特点,往往需要大量的有标签数据来训练模型,而这些标签数据获取是非常耗时费力且易产生误差,同时数据又不断进行更新,导致模型出现过拟合或欠拟合问题[4]。在医学影像图像中,标签数据的获取严重依赖于放射科医生的主观经验、专业水平,也易受到影像质量影响,因此有标签影像数据获取更难,极易造成数据稀少、注释稀缺和类别严重不平衡等问题[5],极大地限制了其广泛应用,这也是医疗领域是否能得以发展的重要问题之一。
数据增强可以用来扩大原本不足的数据集。传统的数据增强方法有很多,可以通过提高图像的质量,校正图像的亮度或者对比度等,或是通过旋转、缩放、变形等几何变换方式对数据进行扩充,但这些方法都与原始数据密切相关,因此它们所产生的影响作用是非常局限的[6]。此外,还可以采用调整阈值、过采样和欠采样方法对不足的数据进行扩充。在医学影像数据中,样本数据本身即为小样本数据,调整阈值方法不能起到关键性的作用。欠采样是一种数据重构方法,对数据量多的类样本进行裁剪,实现样本的均衡,极易造成类别训练样本的重要信息丢失问题。过采样则是针对数据量较少的那类数据采用重复的采样,最终不同标签的数据数量达到均衡,很容易样本重要信息缺失或样本空间重叠而造成严重的过拟合现象。
生成对抗网络(Generative Adversarial Networks,GANs)因具有非常出色数据合成的能力而一直受到工业界和学术界的广泛关注[7]。在医学影像领域中,通过使用GANs来生成医学图像样本数据,对数据进行增强,可以仿真出大量的难以获得的医疗影像数据,有效地缓解了因数据样本稀缺而对医学大数据分析造成的影响。虽然GANs是作为无监督学习的生成模型,但是其在半监督学习、强化学习等方面也展现出很大的潜力。
首先概述了GANs的基础理论和组成结构,然后分析了几种典型的在GANs基础上做出改进的模型,阐述了GANs模型在图像生成、图像分割等应用领域上的研究现状。最后,在研究现状和问题基础上进行了深入分析,进一步总结和讨论了生成对抗模型在医学图像处理领域中未来发展的趋势和所面临的挑战。
2014年,Goodfellow等[8]提出了一个采用对抗过程估计生成模型的新网络,即生成对抗网络(GANs)模型,其由生成器G(Generator,G)和判别器D(Discriminator,D)组成[9]。G的目的是合成出尽量与逼真的图像相似的数据,而D则是推断图像是来自生成器所产生的还是真实的[10]。提出模型的想法来自于博弈论中的二人零和博弈[11],在博弈中由G和D在对抗训练的过程中进行迭代优化,不断地更新各自网络参数,最后达到纳什平衡状态[12],GANs模型的结构如图1所示。
图1 GANsFig.1 GANs
GANs的目标函数定义为:
GANs的目标函数优化采用最大最小化的方式,当G能够完全地学习到真实图像的近似概率分布,并能从中采样出逼真的图像,而判别器无法准确地判别出图像来源时,此时模型达到最优化。生成器G接收到一个服从高斯分布的随机噪声z后,生成尽可能服从真实图像x的概率分布Pdata的图像G(z)。然后,将图像G(z)输入到判别器D中,经过计算,判别器D会输出被推断为真实图像的概率。概率越接近于1,则证明生成样本G(z)越逼真于真实样本,否则G(z)为虚假样本[13]。
与传统的生成模型相比,如变分自编码器(Variational AutoEncoder,VAE)、自回归模型(Autoregressive Model)等,GANs巧妙地结合了G和D,采用两者相互的动态对抗,达到互利共赢的特性,可以极大地去处理传统的生成模型不能处理的复杂问题。GANs使用无监督的学习方式,不需要大量的人工标注图像,实现了真正意义上的“智能”模式[14]。此外,GANs采用误差反向传播(Back Propagation,BP)方法进行训练,不需要使用马尔可夫链,因此不用对隐变量进行推测,可以更快速地产生图像。GANs不需要事先建模,而是直接对真实数据进行采样,因此所生成的图像能够更加逼真。尽管GANs有很多优势,但其自身也留有以下诸多缺点:(1)现实中GNAs难以维持纳什平衡状态;(2)GNAs易出现退化现象,一直生成相同的数据,无法再继续学习,最终出现模式崩塌的现象;(3)在训练过程中GNAs易发生梯度消失现象;(4)GNAs模型自由度大,难以把控[15]。因此,GANs广泛应用仍存在着一定程度的局限性。
为了处理上述存在的缺陷,研究者们基于GANs已经做了许多的优化,并产生了一些GANs的变体模型。在基于GANs框架的基础上,不断对此进行改进和优化,使得所生成的图像细节更加完善,在图像生成、图像分类等图像处理方面均有着重大的作用。本章主要介绍了几种典型GANs的变体模型。
2014年,Mirza等[16]提出了基于条件的生成式对抗网络(Condition Generative Adversarial Nets,CGANs),使得GANs的无监督的训练方式变成有监督的训练方式。在原始GANs的基础上,增加额外信息c,使得GANs可以根据图像与对应的标签进行训练,并在测试训练阶段根据给定标签来合成出特定图像。图2是CGANs模型结构。
图2 CGANs Fig.2 CGANs
CGANs模型的目标函数公式为:
GANs模型未预先建模,其自由度较大,难以把控,而CGANs模型将原本无条件概率变成有条件概率,添加了“隐编码”进行监督学习,从而解决了GANs自由度较大的问题,让图像的生成更具方向性。尽管CGANs在一定程度上增加了训练过程中的稳定性,降低了模型训练所需要的时间,但最终生成的图像数据质量并不高,且由于需要大量的人工标注的标签,所以CGANs需要较高的成本。
2015年,Radford等[17]提出了深度卷积生成对抗网络(Deep Convolutional GANs,DCGANs),将CNN与GANs相结合,充分结合了CNN的结构信息预测能力和GANs对抗策略优化能力的优势,DCGANs模型结构如图3所示。
图3 DCGANs Fig.3 DCGANs
DCGANs模型利用了CNN来替代GANs模型的多层感知机,其主要体现为:(1)DCGANs模型去除了池化层(Pooling Layer)和全连接层(Fully-connected layer);(2)在生成器中采用了分数跨步卷积来替换上采样层,而判别器则采用了跨步卷积来替换下采样层[18];(3)在生成器和鉴别器中使用批量归一化(Batch Normalization),避免初始化敏感的问题;(4)去除了全连接的隐藏层以获得更深层次的体系结构;(5)生成模型中输入层和隐藏层使用ReLU激活函数,而输出层使用tanh激活函数,在判别器中则使用LeakyReLU函数[19],提高了训练的稳定性。
DCGANs模型将CNN与GANs进行结合,在生成器还是判别器中无论在物体的组成部分还是场景方面都充分地学习到了深度高级特征,能够更丰富地表达原始数据,从而提高了最终合成出的图片质量。DCGANs模型具有一定的体系结构约束,这些约束条件使它们在许多情况下都能达到稳定的训练。由于DCGANs是一种非监督表示学习模型,不使用标签,因此模型训练的成本较低。但是,DCGANs只是改进了原始GANs模型的结构,并未从底层去解决GANs模型所存在的不稳定的现象,且需要维持生成器和判别器的训练次数的均衡,极大地制约了DCGANs模型的广泛使用。
2016年Chen等[20]提出InfoGANs模型,通过信息最大化的GANs进行可解释表示的学习,类似于无监督CGANs模型。将输入的噪声信息z分为两个部分:一是不可压缩的普通噪声z,二是可解释的隐变量c[21]。InfoGANs模型结构如图4所示。
图4 InfoGANsFig.4 InfoGANs
通过约束c和生成数据的关系,让c中带有对生成数据的可解释信息,根据最大化隐变量c与生成数据x的互信息I(c;x)来生成数据。在InfoGANs目标函数中加入了正则项,如公式(3)所示:
其中,参数λ表示的是正则化的惩罚程度[22]。最大化I(c;G(z,c))是一件很难的任务,需要用到后验概率p(c|x),对此可以通过一个辅助分布来解决,引入q(c|x)来逼近p(c|x),从而获得互信息的下界,于是InfoGAN的目标函数变为:
传统的GANs模型无约束,且对网络输入的噪声也不好解释,在CGAN中通过给噪声合并一些类别数据,改变其输出的形式,可以训练出指定类别的数据,具有一定程度的解释,但是解释性不强。InfoGANs让网络可以学到更多可解释的特征,网络训练结束之后,可以通过设定输入生成器的隐含编码来控制生成数据的特征,大大减少了所需成本,极大地限制了模型的自由度。但是,InfoGANs模型降低了生成数据的多样性,并且需要和隐变量求互信息,根据互信息更新生成器和判别器,增大了计算量。
GANs模型会有梯度消失、不稳定和模式崩溃等现象[23]。为了解决这个问题,2017年Arjovsky等[24]提出了Wasserstein距离优化的生成式对抗网络(Wasserstein GANs,WGANs)。作者们采用Wasserstein距离来代替原来的JS距离,以此来衡量生成样本和真实样本二者存在的距离,通过缩小这个距离来拉近二者的分布。WGANs的目标函数为:
对D加上了1-Lipschitz的约束,表示要求D(x)的增量不大于x增量的1倍,这可以限制D(x)的增长速度,不至于过快,从而达到一个平滑的特性。相对于GANs模型,WGANs模型做了如下的改进:(1)判别模型的输出层不再采用sigmoid函数;(2)对于生成模型和判别模型的损失函数不使用log;(3)对于判别模型的权重更新,每次都截取到一定的范围内;(4)优化算法采用RMSProp或者SGD,不采用Adam。
WGANs很大程度上解决了GANs中存在的模式崩溃,从而避免了生成数据种类较少的情况,由于采用Wasserstein距离来取代GANs的JS距离,在理论上可以解决GANs存在的梯度消失的情况。但是实际上,由于WGANs对判别模型的参数更新使用暴力的权重剪枝(weight clipping),即设置一个阈值c,将参数限制在(-c,c)之间,从而间接符合了Lipschitz条件,但会让这些梯度都集中在边界值上,阈值如果过大会产生梯度爆炸,过小会产生梯度消失,此外,权重剪枝的更新方法会使得训练模型变得困难,导致模型收敛变慢,甚至存在收敛失败的风险。
为了避免WGANs模型中可能存在的梯度消失现象,Gulrajani等[25]提出了WGAN-GP模型。WGAN-GP不再使用权重剪枝方法来暴力地限制参数,而是采用更温和的方法,即梯度惩罚(gradient penalty)来满足Lipschitz条件[26]。WGAN-GP的目标函数为:
梯度惩罚就是采用一个额外的惩罚项将梯度和Lipschitz条件中的K值进行关联。
WGAN-GP是WGANs的升级版,通过在原WGANs上进行改进,采用梯度惩罚来更新参数,解决了WGANs在实际中存在的梯度消失或梯度爆炸的问题,加快了网络的收敛,从而增加了模型的稳定性,但由于所需参数多,规模大,因此训练模型所消耗的成本较高。
Brock等[27]提出BigGANs(Large Scale GANs),是一个大规模的GANs,是目前生成图片质量最好的一个网络模型。BigGANs模型主要做了如下改进:(1)增加了2~4倍的参数量以及8倍的batch尺寸;(2)对输入z规定一个阈值来进行适当的截断,舍弃高于这个范围的值再进行重采样以满足这个范围;(3)在生成模型和判别模型中都采用了正则化的思想。
BigGANs可以大规模地用来生成更加逼真的图像数据,通过“截断技巧”可以增加模型的训练稳定性,从而生成种类繁多的图像数据。此外,训练的不稳定性还来自生成器和判别器的相互对抗过程,因此采用正则化思想也能增加模型的稳定性。但是,由于增加了参数量和batch尺寸,使得训练模型的成本增加。
Zhang等[28]提出了StackGANs模型,由于CGANs无法生成高分辨率的图像,StackGANs在CGANs上做出了改进,采用分段式方法进行训练:第一阶段用以合成粗略的较低分辨率的图像;第二阶段把前一阶段的输出图像数据作为输入,对此增加更多纹理细节来生成高分辨率的图像数据。此外,StackGANs还可以将文本的内容转换为图片的形式,是一个比较新颖的突破,但StackGANs存在着生成数据失败的风险。Zhu等[29]提出了CycleGANs模型,具有循环机制,主要的思想是将图像从一个域变成另一个域,该模型由两个对称的GANs结合,从而形成一个环,每个GANs同享两个生成模型和自身拥有一个判别模型,可以使得训练不依赖于一对一的成对图像,从而具有更好的适应性[30]。CycleGANs对训练的数据要求较低,由于进行无监督学习,所需训练模型的成本较低,但模型训练不稳定,导致生成的图像数据质量和分辨率都较低,甚至有生成数据失败的风险。
虽然许多改进的GANs已经被提出,但还没能很好地解决GANs留有的缺点。表1显示了生成对抗网络模型的各种变体的对比。
表1 改进的生成对抗网络模型的对比Table 1 Comparison of improved generative adversarial networks model
通过分析各类GANs变体模型,可以得知原始GANs一般基于以下两点做出优化:(1)损失函数;(2)网络结构。CGANs加入额外信息,很大程度解决了模型自由度大的缺点,但模型成本较高,如后来出现的ACGAN、TACGAN等模型均以CGANs为基础网络做出各自的改进。DCGANs将深度学习算法引入到GANs模型中,用CNN来提取原始图像的特征,使模型更好地进行特征学习,采取分步幅卷积、整步幅卷积、BN层等对模型进行改进,使生成的图像数据更具丰富性,但不适用于处理文本数据。InfoGANs通过信息最大化进行学习,生成的数据具有可解释性,训练成本低,但由于需要计算互信息,增大了模型的计算量。WGANs从损失函数方面对GANs进行改进,采取Wasserstein距离替换JS距离,理论上可以避免梯度消失或爆炸,加快模型收敛速度,但实际上由于采用权重截断还是会有梯度消失或爆炸的现象。而WGAN-GP采用温和的梯度惩罚代替WGANs的权重截断,避免会出现梯度消失或爆炸的现象,模型收敛速度明显增加,训练更加稳定,但参数量大、训练成本较高。BigGANs是目前生成图像数据质量较好的模型,但模型参数量和规模较大,所需成本也比较高。StackGANs可以生成出高分辨率的图像,还可以将文本内容转变成图像数据,但会存在生成数据失败的情况。CycleGANs通过两个对称的GANs形成环,可以将图像的风格进行转换,但生成的图像数据质量和分辨率都较低。
监督学习是目前较为先进的技术,但是需要大批的带标签的数据集来对模型进行训练,在医学领域内,由于数据的特殊性,符合不了监督学习对训练数据集的要求,因此提出了生成对抗网络模型及其变体,生成与原始数据分布一致的数据,可以有效地缓解医学领域内数据少、类别不平衡等问题。GANs自2014年第一次提出以来,就成为一个热门话题,其在图像生成、图像分割等医学图像处理方面均取得了不错的效果。
GAN用于样本的生成是最为广泛的,它可以从大量的无标签数据中生成数据来对训练数据进行扩充,可以很好地解决医学图像数据量紧缺的问题。研究者们将传统的数据增强方法和GANs做了对比,在对比结果中可以得知用GANs生成的医学图像具有很高的可信度。
Zhao等[31]提出Tub-GANs和Tub-SGANs模型来合成视网膜和神经元图像,结果表明可以从相同的管状结构注释中合成各种图像,有助于改善图像的分割性能;Plassard等[32]提出DCGANs模型,将DCNN和GANs结合,生成了拥有高信噪比的数据;Bowles等[33]提出WGANs模型,用Wasserstein距离来替换原来的JS距离,可以减少生成图像的错误;Mok等[34]提出CBGAN模型,将生成图像阶段分为粗生成和细生成,可以生成边界更加清晰的脑瘤图像;Sun等[35]提出ANT-GANs模型,不仅可去除图像中的病变区域,而且可以生成含病变区域的图像;姚哲维等[36]基于CycleGANs做出了改进,引入Wasserstein距离作为正则化项(W-CycleGANs)对血管内超声图像进行增强,可以加快收敛,性能明显高于CycleGANs;Diaz-Pinto等[37]提出DCGANs模型来合成新型图像,最终能生成逼真的视网膜图像;Gihyun等[38]使用自动编码GAN合成3D脑MRI图像,可以从一小组训练数据中成功生成各种类型和形式的3D全脑体积;Kansal等[39]利用了GAN模型生成数据集,利用这些合成数据来弥补训练数据的不足,从而进一步提高CNN的分类性能;Baydoun等[40]结合Resnet、UNet和CGANs模型合成了胸部CT图像,其在MAPE和均方根误差上均有较好的结果;Hamghalam等[41]提出CycleGANs模型,扩充了HTC MR图像,可以更好地提高肿瘤的分割性能。生成对抗模型在图像合成中的应用如表2所示。
表2 生成对抗网络模型在图像合成中的应用Table 2 Application of generative adversarial networks model in image synthesis
每个GANs都各自拥有判别器,GANs可以用于联合分类,不仅可以对原始图像分类,也可以对生成的图像分类,因此GAN可以执行较繁琐的分类任务。
Joseph等[42]将CycleGANs应用在脑图像分类上,该模型可以生成高质量的图像,但是其在健康与病灶区的脑图像分类上具有一定的误差;刘宁等[43]提出条件深度卷积GANs(CDCGANs)对抑郁症进行分类,分类正确率明显提高;商显震等[44]将GANs和朴素贝叶斯的多分类方法结合起来对皮肤病问题进行判断,提高了准确率和召回率;Rubin等[45]使用预训练的GANs(TOP-GANs)进行无污染癌细胞的分类,通过在无污点成像流式细胞仪中可以实现快速、自动和准确的分类;刘坤等[46]采用半监督GANs(SSGANs)对X光图像进行分类,与其他半监督分类方法相比具有较优越的性能;Das等[47]提出SGANs模型,对有限的标记数据进行自动诊断,通过对抗建立通用的分类器,在临床级OCT图像的分类上,准确度有较大的提高;Yu等[48]提出将GANs和拉曼光谱结合起来进行分类,该方法不仅提高分类的准确性,还解决了数据不足的问题;He等[49]提出带标签平滑GANs(LSGANs)来对视网膜图像进行分类,在实际的OCT数据集上该方法有明显的优势。Ghassemi等[50]用DCGANs来对肿瘤进行分类,经过验证,该模型获得了较高的准确率。Wang等[51]将GANs和CNN结合来对肺腺癌分类,采用GANs来扩大数据集,使得CNN分类的准确性有显著的提高。Ma等[52]将DCGANs和ResNet结合在一起来对白细胞图像分类,该模型有较好的分类准确性。生成对抗模型在图像分类中的应用如表3所示。
表3 生成对抗网络模型在图像分类中的应用Table 3 Application of generative adversarial networks model in image classification
图像分割是把图像分为多个区域,并把需要的区域从图像中抽取出来,是图像处理到图像分析的关键一步。
蒋芸等[53]采用条件深度卷积GANs(CDCGANs)对视网膜血管图像进行分割,在DRIVE和STARE上进行验证,发现准确率和敏感度均有所提高;何俊等[54]提出多尺度判别GANs对MRI图像进行分割,分割准确性和鲁棒性较高,达到了实时分割的要求;Shi等[55]使用DCGANs分割脑部MR图像中的海马体区域,与基于CNN等的其他方法相比,该方法有更好的性能;Liu等[56]采用半监督生成对抗网络(SSGANs)进行青光眼图像的分割,在数据集ORIGA上所达到的效果明显高于传统模型,可以有效地辅助青光眼的诊断;Shen等[57]引入CGANs模型进行X射线乳房肿块分割,其分割性能有所提高。Han等[58]提出用于处理大规模乳房超声的GAN(BUS-GANs),在内部测试数据集和公共数据集上获得了较高的分割精度;Rammy等[59]提出基于补丁的GANs模型(CPGANs),可以迭代地学习视网膜图像中的粗细血管,大幅度地提高了分割的性能;Park等[60]提出M-GANs,通过堆叠的深度完全卷积网络平衡损失来进行分割,其在精度、IOU、F1和MCC上均取得较好的结果;Lei等[61]提出带有双重鉴别器的GANs模型,在ISIC皮肤病变挑战数据集上进行评估,获得了较好的分割性能;Ruan等[62]通过多分支特征共享GANs(MBFSGANs)对CT图像的肾脏肿瘤进行分割,获得了较高的精确度;Vivek等[63]提出基于CGANs模型,对乳腺肿瘤进行分割,其在DICE和IOU指标上均有所提高;Li等[64]提出GANs模型由3D U-Net和分类网络组成,在BraTS2017脑肿瘤MRI图像上进行实验,获得了较高的准确性。生成对抗模型在图像分割中的应用如表4所示。
表4 生成对抗网络模型在图像分割中的应用Table 4 Application of generative adversarial networks model in image segmentation
在医学领域,图像目标检测是诊断和治疗的必要条件,通过判别模型输出的概率可以对病变等异常位置进行一个检测。
李明等[65]结合GANs和Faster R-CNN来对图像进行检测,可提高检测的效率;Chen等[66]提出基于GANs模型的方法,帮助计算机实现无监督的方式下检测病变区域,在AUC指标上获得了较高的结果;Avi等[67]将GANs和完全卷积网络(FCN)结合,从而改善自动病变检测,在每例图像中,平均假阳性率均有所降低;唐贤伦等[68]采用DCGANs对图像进行检测,该模型可以很有效地提升检测的精确度;张文勇等[69]提出增强型半监督GANs对糖尿病视网膜病变进行检测,实现了更高的检测精度和泛化能力;Schlegl等[70]提出f-AnoGANs模型能快速地进行无监督异常检测,该模型有着较高的异常检测精度;龙胜春等[71]采用GANs来检测彩色眼底图像硬性渗出,在e-ophtha EX和DIARETDB1数据集上的平均灵敏度等均有所提高;Bisneto等[72]提出CGANs模型来自动地对青光眼进行检测,取得了较好的结果;Swiderski等[73]提出自动编码器GANs(AGANs)来对乳房X射线图像的肿瘤进行检测,在准确性、AUC等评价指标上均获得了较高的结果;Hai等[74]提出基于注意力编码器和多分支结构的GANs(AMD-GANs)对眼底疾病进行检测,该模型对病变区域获得了较好的检测性能;Zhao等[75]提出基于三方GANs(Tripartite-GANs)来改善肿瘤检测,该模型检出肿瘤的准确性较高;Rui等[76]采用消息重要性度量(MIM)的指数形式代替原始GANs的对数形式,在异常检测方面达到了较好的性能。生成对抗模型在图像目标检测中的应用如表5所示。
图像的超分辨率重建(Super Resolution Image Reconstruction,SRIR)的目的是恢复低分辨率(Low Resolution,LR)图像的纹理信息或高频信息等,从而合成出高分辨率图像(High Resolution,HR),是目前图像重建所研究的热点,应用范围十分广泛,如卫星成像[77]、医学图像等多个范畴。到目前为止,有三种常用的方法用于图像的超分辨率中:(1)基于插值[78];(2)基于重建[79];(3)基于学习[80]。而基于学习的方法是主流的方法。在采用GANs之前已经出现了许多方法被应用在图像的超分辨率重建中,如Dong等[80]提出三层卷积网络(SRCNN),实现简单,但由于模型层数不够深,不能很好地学习到图像纹理特征,泛化性能较差,因此不能达到很好的重建效果;Shi等[81]在模型中加入亚像素卷积层,可以减少模型的计算量,加快模型的收敛;Kim等[82]增加网络层数,从而去得到较深层的图像特征,并采用残差网络来避免梯度消失;Lim等[83]去除了BN层;由于单尺度提取特征容易遗漏一些图像的细节且随着网络模型不断增加容易出现梯度消失的情况,应自炉等[84]提出多尺度残差网络模型,不仅可以充分学习到图像的特征还能加强特征的传播。以上基于深度卷积的方法虽有很高的峰值信噪比(Peak Signal-to-Noise Radio,PSNR),但最终的图像质量较低,因此,研究者开始将GANs用于图像超分辨率重建中来。
Ledig等[85]采用GANs对图像进行超分辨率重建中(SRGANs),利用生成器和判别器之间的相互对抗学习方式,来对图像进行重建,恢复细节后的图像在视觉上有所提升;Wang等[86]在GANs中引入残差块,并去除了BN操作,提出了一个增强型SRGANs(ESRGANs),重建后的图像质量明显提高,且有着更逼真的细节纹理信息;Shamsolmoali等[87]采用渐进式GANs(G-GANISR),判别器采用最小二乘损失函数替换交叉熵,提高训练的稳定性,与原始GANs进行比较得出,该方法在效率和稳定性上均有所提升;Guan等[88]提出了一种新模型(SRDGANs),在GMSR数据集上进行验证,实验表明该模型可以有效地进行细节的恢复和图像去噪;李诚等[89]提出残差密集GANs来改善卷积网络对于特性利用率较低的问题,该模型在Set5等数据集上进行验证,实验表明该模型可以加快收敛速度的同时提升对细节纹理的恢复和图像的质量;王冬冬等[90]采用一种改进的GANs算法,利用Wasserstein距离和残差块,并去除BN层,在加快模型收敛的同时减少计算量,该模型在PSNR和SSIM上均有所提升;彭晏飞等[91]目标函数采用hinge损失,Charbonnier损失替换L2损失,避免图像产生伪影,去除BN层,采用谱归一化(Spectral Normalization,SN)来减小计算量,从而减少训练成本,提高模型的稳定性,实验证明该模型在PSNR和SSIM上都有提高,测试时间明显降低,图像质量也有提高;Zhao等[92]提出拉普拉斯金字塔GANs(LSRGANs)用于图像重建,实验表明,该模型可以避免产生的假细节,从而生成更高质量的图像,PSNR和SSIM上的得分都有提升。生成对抗模型在图像超分辨率重建中的应用如表6所示。
表6 生成对抗网络模型在图像超分辨率重建中的应用Table 6 Application of generative adversarial networks model in super resolution image reconstruction
根据上述对GANs在各个领域的列举,可以知道GANs在医学图像中应用十分广泛,特别是在图像合成中,可以将少量的数据集进行扩充;由于每个GANs都自带一个判别器,GANs可以进行联合分类,不仅可以将原始图像进行分类,生成的图像也可以进行分类,因此GANs也被用于图像分类中;对于现有的很多分割模型,都是对每个像素进行预测,而忽略了像素领域对其的影响,这会导致分割精确度下降,因此可以将GANs的生成模型换成语义分割模型,分割模型与判别模型进行对抗学习,使得空间上更具一致性,最终可以输出分割后的图像,此外还能降低过拟合;GANs在目标检测领域也有其优势,对于较小的区域,可能会存在丢失纹理信息等问题,直接进行检测会导致结果有所偏差,GANs的生成网络可以将图片进行重建,将低分辨率的图片变为高分辨率的图像,恢复其纹理信息,再用判别网络对图像的真假做出判断,可以提高小目标检测的精确度;GANs也逐渐开始应用在图像超分辨率重建领域,可以恢复图像的纹理细节、高频信息等,因此该应用可以给其他应用做基础,如为图像分割、目标检测等提供一个高分辨率的图像来作为判别网络的输入,从而提高分割、检测的精确度。
本文首先简述了GANs模型的理论和组成结构;然后介绍了几种典型的变体模型,阐述了GANs模型在图像生成、图像分割等应用领域上的研究进展及现状,并进行了总结。最后,深入分析研究现状和问题,进一步总结和讨论了深度学习在医学图像处理范畴中未来发展的趋势和所面对的挑战。自2014年提出GANs至今,其被广泛地应用在医学图像处理中,医学数据十分稀缺,标注不清晰,人工标注会浪费人力且容易出现错诊、漏诊现象,但用监督学习通常需要大规模的数据集来训练模型,根据表2可知,GANs被广泛地应用在图像合成方面,以此来弥补图像不足的问题。此外GANs在图像分类、图像分割等方面也可以发挥很好的效果。与CNN相比之下,GANs的主要优点是注重原始图像的潜在概率密度分布,从而发现数据的分布信息,虽然GANs取得了一定的成果,但也暴露了许多不足之处,具体表现如下:
(1)生成的数据多样性不足
GANs在医学图像的合成中发挥着重要的作用,原始的GANs结构较为单一,只能学习到部分图像特征合成出小批图像数据,研究者们对此提出了改进,如CGANs增加条件信息指定生成的图像、DCGANs联合GANs与CNN学习到更深层的特征来使得合成的数据更具丰富性。但仍受许多因素的制约,如:图像的尺寸、加深模型带来更多计算量问题等。此外,在实际中,生成模型和判别模型很难维持纳什均衡,而一旦性能差距过大就会出现模型退化现象,生成同样的图像数据,造成了数据种类较少的问题。
(2)梯度消失
GANs运用BP传播算法,越靠近输入层,梯度越小,越易出现梯度消失现象,WGANs利用Wasserstein距离替换JS距离,理论上可以避免梯度消失,但实际上却做不到,而WGAN-GP采用温和的梯度惩罚,虽然可以避免梯度消失,加快收敛,但随之而来的是计算量大,训练的成本增加。
(3)模型训练效率过低
主要是由于模式崩溃以及模型结构复杂所引起。由于G生成的数据给D进行推断的时候,如果D不能给出一个相对正确的评价,就会导致结果缺失了一些重要的信息,最终导致模式崩溃,降低模型的训练效率;此外,由于模型结构过于复杂,模型训练时间增加也会导致效率过低。
(4)GANs应用领域较为局限
GANs虽然在图像生成、图像分类等方面均有所应用,但GANs一般只能用于图像数据的处理中,而对于文本数据的处理则较为局限,因此GANs在自然语言处理(Natural Language Processing,NLP)等领域中发展较为缓慢。
(5)模型训练成本高
对于原始GANs,许多研究者做出了各自的改进,虽然解决了原始GANs的一些不足之处,但随之而来的是增大了模型的计算量,将模型结构变得更加复杂,导致训练成本增加,如WGAN-GP、BigGANs等。
根据对GANs及其变体的分析,本文对GANs进行总结,得出解决以下挑战是GANs能够进一步发展的关键:
(1)注重算法的改进,理论进行突破。要避免GANs生成数据多样性不足的问题,可以从算法进行改进,添加合理的约束信息,结合其他深度学习算法的优点来进行改进,此外在实际中,生成网络和判别网络二者难以维持纳什均衡,可以从理论上进行研究,分析二者在实际中难以维持纳什均衡的原因。
(2)从算法进行突破,增大GANs的应用范围。GANs对连续型数据的处理有着较高效的算法,但对于离散型数据的算法性能却较低,因此可以对算法进行改进,让GANs也能高效地处理离散型数据,从而广泛地应用在其他领域中。
(3)探索GANs底层传播机制。梯度消失、模型训练效率过低很大程度上会阻止GANs很好地应用在医学图像领域,导致GANs对数据的处理速度过慢甚至是失败,因此可以合理地借助工具去了解GANs的底层BP传播机制,从而对GANs进行改进。
(4)维持GANs能和成本相对平衡。虽然有些GANs变体模型可以生成高质量的图像数据,如BigGANs,但该模型需要多个GPU进行训练,计算量大,因此成本相对较高,增大模型的训练时间,降低效率。能够维持GANs性能和成本的平衡,是将模型更好地应用在医学图像处理的关键一步。
将GANs模型应用在医学领域是目前研究的热点,许多高性能的优化模型也相继提出,相信在未来,GANs模型可以更广泛地应用在医学图像处理中。