Generative Adversarial Network in Medical Imaging: A Review
医学图像中生成对抗网络的研究进展-综述
Abstract
得益于生成对抗网络可以隐式的完成数据分布的建模,因此在计算机视觉下的众多任务中大放异彩。生成器会生成大量样本,判别器会对大量未标注的样本进行类别预测,因此GAN已在域迁移、分割任务、分类任务、跨模态合成等领域做了诸多探索。因此,本文对生成对抗网络在医学图像领域的相关研究进展进行综述,旨在对本领域有兴趣的研究者提供一些便利、思路等。
Section I Introduction
自2012年深度学习框架在计算机视觉领域重获生机,在医学图像相关的期刊及会议上也有大量相关的研究,得益于深度学习强大的特征学习能力,可用于增强医学图像的特征表述进一步用于分类、分割等任务。?
GAN主要由两个网络:生成器和判别器组成,其中生成器生成一定分布的样本,判别器则判断样本是来自于真实图像还是生成图像,给出一个类别预测结果,两个网络同时训练,对抗学习。
GAN在诸多领域取得了SOTA的结果,如text-to-image,super-resolution和image-to-image translation。
本篇综述的主要检索来源包括以下主流的期刊/会议:? International Conference on?Medical Image Computing and Computer Assisted Intervention(MICCAI);
SPIE Medical Imaging;?
IEEE International Sympo-?sium on Biomedical Imaging (ISBI);?
International confer-?ence on Medical Imaging with Deep Learning (MIDL)?
截止日期:2019.1.1
文章主要安排如下:
Section I:简介
Section II:GAN基础知识及相关变体
SectionIII:GAN在医学图像的应用,涉及任务:分割、分类、检测、标注等?
SectionIV:总结全文,展望未来
# ?????Section II GAN and its variants
Part A GAN?
原始的GAN包括两个网络:生成网络和判别网络,从而无需学习图像/数据的概率密度函数而是直接从期望的数据分布中采样进行训练。?
Generaotr的输入是从某一分布采样的随机噪声z,输出与真实图像相近的生成图片xr;这一非线性映射函数用θg表示?Discriminator将真实样本或生成样本作为输入,输出的则是输入样本为真或假的概率,因此叫判别器,D可以是简单的二分类网络。
生成器致力于足以以假乱真的样本从而欺骗D,而判别器则致力于辨别输入样本是真是假,二者对抗学习,同时训练,损失函数分别表述为:?
GAN的局限性?
GAN的训练可以看做是寻找损失函数的鞍部,但两个网络训练的收敛问题很难保证,比如判别器D足够强大很容易可以区分图像是真实的还是来自于生成网络,这时D达到局部最优很难继续优化G,这种情况在生成高分辨率图像时尤为常见;?另一个问题就是GAN的训练过程中还会遇到模式崩溃(mode collapse),也就是生成器总是产生某种特定分布下的局部输出,导致输出模式有限,比如能生成狗的图片但无法生成猫、兔子等的图片。
GAN的相关变体
Discriminator:
D的改进主要是为了使得stable training或者防止mode collapse.相关改进有:f-GAN,LS-GAN,WGAN,EBGAN,BEGAN,ALI,BiGAN,InfoGAN,ACGAN?
Generator:?
生成网络将随机噪声映射为特定分布的输出,通常是一个解码器网络,如VAEGAN借助变分自编码器学习到的特征完像素级别的重建。
整个GAN网络在搭建之初对生成的模式没有任何限定,但如果辅助输入额外信息可以引导GAN进行特定模式的生成,这就是cGAN.
在图像转换中常以reconstruction loss作为辅助的监督信息,在分割任务中则用的是dice loss,以上GAN的训练都需要输入图像对;而以Cycle GAN为代表的则无需图像对的输入,增加了循环一致性存世来限制域迁移之间的变形;还有UNIT是将两个VAEGAN结合起来,也不用图像对的训练。?Architecture:
最初的GAN使用的FC层在DCGAN中替换为了上采样或下采样层,成了一个全卷积神经网络,BN和LeakyReLU可以增加训练的稳定性;还有的工作在GAN中使用了残差连接。
这样可以搭建出更深的网络。
直接从噪声生成高分辨率的图像是十分困难的,因此在LAPGAN中以一种堆叠的策略逐次加入图像的高频细节;在SGAN中也是通过一系列GAN级联的方式,不同的GAN产生不同较浅层次的特征表述;在PGGAN则是以一种逐渐生长的方式,不断增加新的层来扩大G/D的网络规模;styleGAN的策略则不是将噪声z直接作为输入,而是转换成一定形式。?Fig3展示了GAN, CatGAN, EBGAN/BEGAN,?ALI/BiGAN, InfoGAN, ACGAN, VAEGAN, CGAN, LAPGAN,SGAN的具体结构;Fig 4展示了cGAN,CycleGAN和UNIT的结构。
# Section III GAN
在医学图像应用?生成对抗网络应用于医学图像分析主要从两方面着手:
一是从GAN的生成的角度考虑,可以借助GAN学习训练数据的内部结构,产生新的图像,从而解决医学图像稀缺或起到保护患者隐私的作用;
二是从GAN的鉴别角度考虑,可以借助Discriminator识别异常图像。
Fig 5展示了GAN在医学图像上的相关应用,a-f聚焦于生成图像,g聚焦于鉴别图像。?根据解决的任务不同,主要分为以下几类:图像重建、图像合成、图像分割、图像分类、器官检测、图像配准等。
(a)CT图像去噪(b)MR生成CT(c)根据视网膜血管分割图生成眼底图像(d)从随机噪声生成皮肤病变图像(e)根据胸片X光分割心脏、肺部(f)脑损伤分割(g)视网膜的OCT异常检测
Part A Reconstruction?
基于成像设备自身的限制,使得医学图像常伴有噪声或伪影,影响观察和分析,早期数据驱动的训练方式通常会根据输入直接生成重建后的输出,作为图像处理的一个步骤。图像要么分辨率不足、要么含有噪声、采样率不足、采样混叠;MR图像是例外,通过傅里叶变换可以将原始K空间数据合并到重建图像中。?
目前已有研究将pix2pix框架用于CT图像、PET图像的去噪、MR重建;还有的研究致力于框架优化,比如借助预训练好的VGGNet保证生成图像感知层面的相似性、借助检测网络替身低分辨率区域的去噪、借助局部的显著性图谱提升视网膜图像的超分辨率重建,确保网络关注于部分重点区域、处理MR图像时还需要考虑如何准确无误的将K空间数据用于图像的重建中。
而在数据集方面,也存在一系列问题,比如目前各种医学图像重建网络的性能评估,多半依赖观测者的主观评价,缺少客观的对比;目前开源的大型图像重建数据集也不适于医学图像的重建分析,这一方面继续大型的开源数据集。
Table I 罗列了GAN用于医学图像重建的相关工作,而对应loss、评价指标和采用的数据集分别罗列在Table2,3,7。而表格中的对错号则代表训练时是否使用了图像对。
可以看到,在CR,MR等医学图像重建任务中绝大部分使用的均是pix2pix框架,除了MR数据有些特殊,处理过程中涉及到傅里叶变换;此外,训练数据越多,使用对抗损失一般均比pixel-loss在视觉上获得更佳的重建效果,但可能会引起一定的变形,pixel-loss没有这一问题但需要图像对作为训练数据,而且对于域失配的情况重建效果也不好;目前已有研究表明,再被专家严格论证之前,基于GAN生成的重建图像并不适合直接用于病人的诊断。
Table 2-Loss Function:
在损失函数方面的优化有通过显著性计算对不同像素赋予不同权重;还有对于训练图像对难以获取时使用CycleGAN用于心室CT的超分重建;还有的研究发现在进行低剂量CT图像去噪时去掉pix2pix中的fidelity loss也可以。
Table 3
Table 7-Datasets
Part B Medical Image Synthesis?
根据相关机构的规定,当病患的医学图像涉及公开发表时需充分考虑患者意愿。GAN广泛的用于医学图像生成问题,这样就有效规避了患者的隐私问题以及解决病理图像正例不足的问题。但用于监督学习框架训练的带专家标注的医学图像依旧十分稀缺,尽管已经有许多机构致力于搭建这样的大型数据集,如Biobank,National Biomedical Imaging Archive (NBIA),The Cancer Imaging Archive (TCIA), Radiologist Society of North America(RSNA)等。?
传统的数据扩充包括:缩放、旋转、镜像、仿射变换、弹性变换等,但都没有改变某种类别下样本的丰富性,仅仅大小尺寸等变了,而GAN生成的图像则更具多样性,已经在许多工作中作为数据扩充的手段并取得了较好的效果。
B-1 无约束图像生成?
Unconditional指的是输入随机噪声生成图像,而不附加任何约束信息,在医学图像生成常用的框架有DCGAN,WGAN,PGGAN因为他们训练起来更稳定,其中前两种可接受的分辨率上限为256x256,在高分辨率就接受无能了。如果生成的图片与原文生成的图片差别不大,比如肺结节和肝损伤,那么可以试着直接移植作者源码。在大部分下游任务(预训练后用于微调)为了解决数据不够的问题,大部分生成器只生成特定模式的图像,比如不同种类的肝损伤图像,利用生成的图像扩充数据集可一定程度改善模型的Sp和Se。
B-2 跨模态图像生成
医学图像的跨模态生成十分有用,比如基于MR图像生成CT图,这样可以有效减少CT图获得的时间和成本;另一个好处就是可以生成寻得训练样本可以包含源模态图像的一些结构约束信息。一般对于两种模式相似程度较高,常基于pix2pix框架,如果模态间差异较大可基于CycleGAN框架?Fig5罗列了GAN用于跨模态图像生成的相关工作,可以看到大部分基于CycleGAN框架。
比如Zhang等人的工作发现在跨模态生成中仅使用cycle loss不足以抑制生成图像的几何变形,因此额外加入了外形一致性损失(shape consistency loss),通过两个segmentor得到形状的语义表达作为约束,加入到loss的计算中抑制图像变形。此外CycleGAN和UNIT都适合进行跨模态生成。?
B-3条件生成
额外的条件信息可以来自于分割图谱、文本信息、目标位置或者生成的图像,比如通过GAN或一个预训练好的分割网络生成约束的条件信息,送入GAN生成网络中去,将整个流程分为两个阶段。
Table 6罗列了条件生成(cGAN)以及不同的约束信息来源。
Part C Segmentation?
分割任务中使用的是像素级别的损失函数,比如计算交叉熵损失函数,虽然UNet的提出有效将浅层特征和深层特征有效结合在了一起,也不能保证最终分割图谱空间上的一致性,通常使用CRF或切图的方式来增加空间约束信息,但在一些对比度很低的区域可能导致边缘分割效果不佳。?而GAN中的adversial loss可以被看做是一个形状规范器(shape regulator),尤其当感兴趣区域比较紧凑时(比如心肺的分割)但对于易变形的导管、血管等就不那么有效,也可以施加到中间特征层确保域的不变性。
对抗损失计算的是分割图与标注的GT之间的相似性度量,但不是进行像素间的计算而是将输入映射到某一低维空间来计算二者的相似性,这和感知损失(perceptual loss)较为接近,但perceptual loss是通过一个预训练的分类网络计算得到的,而discriminator是在与generator的对抗学习中逐渐进化的。?Xue在D使用了多尺度的L1 loss,这样可以将不同尺度的信息纳入进来;Zhang则是将带标注和未标注的图片均送入D中从而混淆D提高D的判别能力;以上工作使用对抗训练大多为了保持最终分割图像的结构信息,还有的研究使用GAN是为了增强模型的鲁棒性,减少在小型数据集上的过拟合问题。
Part D Classification
分类任务无疑是深度学习取得巨大成功的一个领域,通过网络的不同层级提取图像不同层次的特征从而得到图像的类别标签。GAN也广泛用于分类任务中,有的将G/D的一部分均作为特征提取器,也有的仅使用D作为分类器,加入一些额外的条件信息。
目前亦有学者结合WGAN和InfoGAN无监督的进行细胞病理图像的分类;还有采用半监督的训练方式用于胸片、视网膜血管和心脏疾病的异常诊,可以取得与监督训练的CNN近似的效果,但所需训练数据降低了一个量级。
至于用GAN进行数据增强,前文也介绍过分两步进行,阶段1学习特征进行数据增强,阶段二基于传统的分类网络进行分类,两个阶段互相分开互不干扰,好处就是如果有性能更佳的框架可以直接替换,缺点就是每次只能通过G扩充某一种类的图像,N个种类需要生成N次,这对内存和计算都是十分耗费的,因此如何基于一个模型可以动态生成多模态的数据是一个较为热门的研究方向。这一方面,Frid-Adar的研究发现使用各自独立的DCGAN比使用一个单一的ACGAN在皮肤损伤检测中更有效。
Part E Detection
GAN的判别器通过学习训练图像数据的分布概率实现异常检测,如果一个图像的落到了这一分布之外就可能是异常的。
Schlegl等人就通过计算每章图片的得分情况检测OCT图像的异常;Alex则将GAN用于MR脑损伤的检测,其中G用于模仿输入patch的分布,D则计算输入patch的后验概率。可以看到目前的检测大多都是针对异常图像进行的,很难一一列举。?
在图像重建方面,有的研究发现,如果从未进行病例分析的图像学习分布,使用CycleGAN不用图像对进行迁移,由于分布的匹配效应生成图像中的病变部位甚至有可能被去除;如果使用的是同一模态的数据,只是正常与异常类别不同,那么可以通过异常检测去除这一副作用。
Part F Registration?
cGAN也可以用于多模态或单模态的图像配准任务,其中G要不然输出变换参数要不然直接输出转换后的图像,D则判别是对齐还是未对齐的图像。通常在这两个网络间会插入一个空间变形网络或中间的变换层来保证端到端的训练。从进行的相关研究看大多基于CycleGAN完成CT,MR等不同模式图像的对齐。
Part G Other Works?
此外GAN还有其他应用,比如使用cGAN对患者某个具体的术前影像,高亮出最可能患病的区域,或者对内窥镜影像重新上色等。
# ????Section IV Discussion?
Part A Summary?
2017-2018迎来了GAN各种研究应用的爆发期,相关的参考文献可访问本文的GitHub.?
Fig1(a)展示了GAN在不同任务下的发表情况(图像合成、重建、分割、分类、检测、标注、其他)?,
(b)不同的医学图像格式(MR,CT,病理图像,视盘图像,X线,超声,皮肤镜,PET,乳房造影、其他),
(c)不同年份发表情况,可以看到2018迎来了大爆发
其中46%的研究聚焦于医学图像生成,因为跨模态的数据生成在医学图像分析中十分重要,比如MR是一个序列图像分析任务,而GAN可以根据已有序列生成其他序列,减少MR的生成时间,对MR研究热情如此之高的另一个原因也可能是大型开源数据集多一些。
还有37%的相关研究聚焦于图像分割和重建,原因是image-to-image translation框架的成熟,通过在对抗训练中加入形状或纹理约束可以使得G输出非常理想的图,比如用于3D CT图的分割,对抗损失有效提升改善了对比度较低的区域分割效果。?
大约8%研究分类任务,主要是要解决域迁移的问题。借助GAN进行数据增强时,大多聚焦于前景物体较小的图像,比如肺结节、细胞等,可能是基于现有技术水平这种训练起来更稳定;还有可能是考虑了计算成本,如果对高分辨率图像进行太吃计算资源了。虽然也有研究成功对胸片X光进行了分类,但任务的规模相对较小,几千张图片,任务也相对简单,是心室的异常检测。?
随着一些大型数据集开源,比如CheXpert可能GAN用于数据增强的需求会有所下降,但在以下两方面仍有用武之地:
一是增加数据增强策略的多样性,目前还仅局限于人工设计的各种裁剪旋转仿射变换等,可以用GAN增加变换的多样性;
二是我们知道医学图像的训练样本十分不均衡,大部分样本在于常见病,而一些不常见病如类风湿性关节炎、镰刀型红细胞喷血症等的训练数据十分稀缺,因此可以借助cGAN等从专家的描述或手绘图中生成非常见病的训练样本。
Part B Challenges
虽然GAN在医学图像分析已有了诸多应用,但还存在着诸多挑战。比如在图像重建或跨模态生成采用的评价指标仍然是PSNR,SSIM等,与视觉观测质量的联系并不直接,比如基于pixel loss优化会得到一个次优化的结果,虽然评价指标看起来很好但实际观测仍然有很多模糊的,这一问题的解决可以通过进行downstream测试,比如根据重建/生成的图像进行分割或分类任务,从而衡量重建的效果。
近期Zhang等人提出了LPIPS(learned perceptual image path similarity)作为评价指标,并用于MedGAN中。?另一个问题是域-域之间的图像变换问题,有需要用图像对的有的不需要图像对。如果不适用图像对,不能保证图像细节的保真性。有的研究表明在使用CycleGAN进行图像转换的时候会引入系统偏差,在使用图像对训练的cGAN也会存在这种偏差,但多半发生在域迁移时,比如在正常数据上训练,测试用异常的例子。
Part C Interesting future applications?
GAN的强大之处在于可以以无监督或弱监督的方式进行学习,从而在简化图像分析流程、提升患者关怀层面也大有可为。
比如借助cGAN消除MR图像由于运动等造成的伪影,这样就可以减少重复拍摄的次数。?还有的研究可以利用GAN半自动生成医学分析报告,还有用CycleGAN去掉化妆化为素颜都可以用于医学图像去除伪影;?检测方面除了异常检测可进一步扩大对植入装置的检测,例如起搏器和人工阀等。
StyleGAN的研究为text-to-image的实现提供了可能,这样就可以根据稀有病的专家描述生成相应的训练样本弥补训练数据不足的问题;甚至可以预测疾病的发展、药物的运作机理等。
在医学图像分析通常需要同一组织的不同类型的医学图像互为补充,综合分析,在监督学习中每次只能训练一种模态,虽然使用的网络框架都是一样的,也要如此循环往复;而GAN避免了这一重复过程,减少了人力成本的浪费。?
行文至此,洋洋洒洒已介绍了GAN在医学图像分析领域迷人的应用前景,但我们不得不承认,GAN用于医学图像分析仍处在萌芽期,目前还未有真正成熟的临床应用成果。