[Style Transfer]—Generative adversarial networks and adversarial method in biomedical image analysis

Generative adversarial networks and adversarial
methods in biomedical image analysis
医学图像分析中的生成对抗网络

Abstract

生成对抗网络(GANs)以及其他对抗学习基于博弈理论联合优化两个神经网络,这一方法广泛用于医学图像的生成和分析。本文对生成对抗网络及对抗学习在医学图像分析领域的相关研究进展做一个综述,主要探讨各种方法自身的优势及局限性,旨在为未来的研究方向提供一些思路。

Section I Introduction

近年来深度学习已在医学图像分析领域有了诸多研究成果,许多研究通过监督式学习方法搭建卷积神经网络形成判别模型从而对输入图像进行预测,比如输入一张图像按照人体结构进行各部位的分割,其中卷积层负责特征提取,池化层会把一些冗余的信息丢弃,根据一些具有空间不变的高维特征最终预测输入图像的所属类别。
与上述判别网络相比,生成模型则是学习数据的概率分布情况,找到条件概率分布作为预测的模型,这样可以学习同类数据之间的相似度和内部结构,通过采样还可以生成新的同类数据。

比如将一个低维的噪声作为输入,可以输出一张图像,这就是生成模型的一种应用。GAN的中心思想是生成网络和判别网络的联合优化,生成网络(G)主要用来学习源域的分布,通常输入是低维的映射到高纬,致力于生成的图像混淆判别网络的判断;判别网络则负责区分输入图像来自于生成网络还是原数据集。这种学习是对抗式的,如果判别器很轻易就可以判断出输入数据的来源,则会响应调整生成器的权重。
这种对抗学习可以辅助判别模型或回归模型的训练,比如产生更加的分割效果,可进一步用于医学图像分析。


本文将主要聚焦于GAN在医学图像分析领域的研究进展,其中section II介绍GAN的相关知识,

sectionIII介绍GAN如何完成源域的匹配问题,从而辅助分割、模式分析或者减少伪影等,

section IV介绍域迁移,

section V总结GAN在医学图像分析的主要应用有哪些,

sectionVI分析GAN的优势与不足,从而为未来的研究指明方向。

Section II Generative adversarial networks

生成对抗网络由两个网络组成:生成网络和判别网络。
在这里插入图片描述

生成网络致力于生成感官上更接近真实数据分布的样本图像,判别网络致力于判别输入的样本来自于生成网络还是真实数据。训练则是优化下面这一损失函数:


在这里插入图片描述
其中D的损失函数越大越好从而对样本的真实性辨别能力更好;G的损失函数越小越好,从而产生以假乱真的样本。Pdata是真实图像的分布,Pz是生成样本的分布。
Part A Objective functions

GAN的迭代优化训练经常不稳定,损失函数中G的优化直接取决于D的判别结果,由此就会导致一个问题,在训练之初D很容易就能将fake从一堆真实样本中辨别出来,这就导致损失函数中G的一项几乎为0,从而使得G网络的参数几乎不会更新,因此实际使用中常将G的损失函数替换为:
差别在于,之前是最小化fake sample的概率,现在变为最大化real sample的概率。

除了loss函数的原因导致GAN的训练不稳定,还有一部分原因在于D衡量Pdata和Pfake概率分布差异性的方法,使用的是JS散度,它是对称性的,但对于二者分布无交叠时效果并不好,因此后续也提出了其他损失函数,详见TableI.

在这里插入图片描述

其中WGAN中的W使用的就是Wasserstein Distance,相关介绍可以参见[Wasserstein距离],它也可以衡量两个分布之间的差异,除此之外还给出了如何把一个分布变换为另一分布的方案,因此D就可以用Wasserstein Distance衡量Pfake和Pdata之间的差异了,虽然实际计算还存在一定困难,目前可以显式计算的有维度为1或高斯分布的情况。


因此WGAN返回的也不再是一个概率值,而是一个标量(批评系数-critics),可以作为图像质量的一种度量。
GAN另一常见的问题则是G的模式崩溃问题(mode collapse),即生成网络生成的都是高度相似的样本,没有什么差别。比如本来希望生成dog,cat,rabbit等图像,后来发现生成的都是各种dog的图像而没有其他模式的图像,WGAN中也有所改进。


在这里插入图片描述

Part B Latent Space


GAN中的隐空间(latent space)就是输入噪声Z的一个特征空间,可以理解为autoencoder中latent representation,通过控制噪声z的隐变量分布从而控制生成的样本。


如隐空间Pz是维度为m的高斯分布,在隐空间中进行采样、运算再映射回高纬的样本空间可以获得各式各样的生成样本。
要明确的是隐空间中不同维度不一定代表某种独立意义的特征信息,而且彼此之间是高度关联的,在InfoGAN中将不同维度之间解耦开来,每一个latent code代表某种特征,比如角度/粗细等。
因此,不管是学习隐空间到样本空间的映射还是它的逆过程,都是十分有用的。


Part C cGAN



cGAN通过在生成网络和判别网络的输入中引入额外的信息增加对生成样本的控制,比如这一额外信息可以是图像的label信息,使得生成结果更加合理。
cGAN的基础信息可以参考cGAN



在这里插入图片描述

Part D GAN architectures



大部分GAN的研究用于2D自然图像的合成,早期的生成器和判别器主要基于多层感知机,生成的也都是小型图片;后期多采用卷积神经网络来生成高分辨率的图像,比如DCGAN中用步进卷积替换了池化操作,去掉了FC层,还是用了BN从而可以直接生成64x64的彩图。目前的SOTA是生成1024分辨率的图像,通过逐级在G中上采样进而在D中下采样逐步提升图像分辨率,同时也避免训练过程中的崩溃。

Section III GAN用于迁移学习

在cGAN中生成器的输入除了随机噪声z还有额外的附加信息y,从而限制生成样本不论输入噪声如何变化总是生成同样的输出。因此可以借助对抗网络为图像变换提供有效的反馈信息,代替人为设计的损失函数,作为衡量图像属于某一特定目标域的量化指标。





有两种图像变换的情况,一种是域A中的任意图像均在域B有对应的参考图像,即使用成对的图像进行训练;另一种情况是域A与域B中的图像不是一一对应,我们希望将域A中的某一图像变换到域B中具有相近语义的图像中,比如由马的照片迁移到斑马,这种情况下无需图像对的参与。






在这里插入图片描述

Part A Training with paired images
基于图像对进行域迁移的工作最早由Isola等开展,从Fig4中可以看出,源域A中的每一张图像,在目标域B中均有对应的参考图,而G的目标就是最小化生成图与reference image之间的差异,使用的是pixel-wise loss:
在这里插入图片描述

因此,源域的输入图像与目标域的参考图像在空间上是对齐的,当λ1>0和λ2=0时,训练网络G将
 输入变换到一个目标域B中最相近的图像中。
但是,由于输出图像并不是直接链接到目标域中的参考图像,因此它不一定对应于G的输入。
这种思路后续也被用于图像分割、图像超分辨率和图像的着色任务中,而使用GAN进行图像变换与其他方法相比更为稳定,因为提取的特征图都是基于原图提取到的,理论上任何可以提取特征的CNN框架均可;而判别网络可以纵览全图也可以只判别子图,这样可以更加聚焦图像的高频信息。

Part B Training without paired images

在这里插入图片描述

基于图像对的训练对于源域的每一张图像在目标域中都要有一个对应的参考图像,这在实际应用中往往是不实用的,尤其是在图像的跨模态变换中,如果不适用图像对训练,损失函数就变成了:
在这里插入图片描述

这样源域的图像会模仿目标域中的图像,但可能在内容上不再严格匹配。这一部分的失配可以通过增加自监督信息或者循环一致性损失来约束。
比如增加self regularization项后,损失函数变为:

在这里插入图片描述

但如果源域与目标域差异过大,迁移效果可能不是很好。
而循环一致性则认为,源域的Ya变到目标域的Xb,这一过程反过来也成立,即Xb迁移回源域的重建图像也和原始的输入图像很接近。因此循环一致性包含A->B和B->A两个方向,两个方向同时训练,对抗学习,这就是CycleGAN的核心思想。
在这里插入图片描述

Section IV Domain adaptation via adversarial training

机器学习算法测试时默认训练数据和测试数据服从同一分布,因此在源域S上训练好的模型迁移到目标域T后,效果往往不尽如人意。

这就是域迁移和域适应问题(Domain Adaption),DA聚焦于如何不使用或者仅使用部分额外的标签信息,将在源域S训练的模型迁移运用到目标域T中,最受关注的则是无监督的域迁移(UDA),无需任何额外的辅助信息。

DA的基本假设是存在一个预测函数(predictive function)在两个域上都表现良好,而UDA学习的则是源域到目标域的映射,或者新的表征,从而源域学习到的predictor匹配到目标域的映射。如[26]的研究指出,DA基于源域学习的表征H可以泛化到目标域的样本中,因此算法需要权衡源域误差和两个域分布情况的差异。因此需要训练一个域分类器(domain classifier),对于两个域中区分不开的样本,最小化两个域的差异。因此自然想到可以通过对抗训练进行迁移学习,使用对抗网络作为domain classfier。
在这里插入图片描述
上图(Fig7)展示了使用对抗网络进行迁移学习的基本框架,其中主要的网络分为特征提取器H和标签预测器C,其中H负责将样本映射到某一空间,该空间信息与所属域无关,此外还有一个额外的域分类器D负责将输入的隐空间表征辨别其所属的域,而H和D是对抗训练的。

损失函数如下所示,
在这里插入图片描述

其中C使用的Lc就是交叉熵损失函数,而网络D使用的损失函数为:
负责区分输入数据属于哪个域,因此和GAN使用的损失函数很接近,目的就是保留与所属域无关的特征用于分类等。

Section V GAN在医学图像分析领域的相关应用

近年来GAN在医学图像分析领域也有广泛的应用,5.1介绍了GAN在图像生成以及异常检测方面的应用,5.2介绍GAN用于图像的跨模态转换,5.3介绍GAN在去除图像伪影、提升图像分辨率方面的研究进展,5.4介绍GAN在医学图像分割领域的应用,5.5将GAN用于域迁移任务,5.6则是GAN在半监督学习领域的应用。


大部分应用中判别网络仅在训练阶段使用,而生成网络负责完成训练和测试大部分的主要任务,半监督学习是个例外,会保留判别器,丢弃生成器。
Part A Sample generation
GAN在医学图像分析中最常见的应用是生成样本用来扩充训练数据集或者作为专家识别的训练材料,但这是一项十分具有挑战性的任务:比如合成自然图像可以允许一定的误差,但若生成的医学图像存在上述误差可能会有很严重的后果。

2D图像:


[28]使用DCGAN用于合成56x56大小的肺结节patch,随后进行观测者实验发现部分合成的样本甚至可以混淆放射科医生,但局限性在于仅能生成较小patch;[29]则基于[15]改进了GAN的学习方法,生成了较大尺寸(256de MRI图像和512的眼底图像),实验结果显示借助图像和mask协同生成样本可以提升样本的质量;[30]则是GAN生成脊柱的X光图像。



3D图像:




GAN用于3D样本的生成更加困难,合成过程中会产生许多空洞或分块的部分,需要借助特定的方法进行数据表示。[31]基于WGAN,加入了梯度惩罚将3D的3D冠状动脉的几何形转转化为1D的特征表达然后用于血管图像的生成。通过对隐空间的特征表达进行分析发现,左右冠状动脉或长短冠状动脉在表达上均不同。




GAN一个强大的点在于可以学习某一训练数据集的概率分布,从而若某一样本的分布有所偏差,就能识别出来,这就可以用于医学图像中异常病例的检测。[32]用GAN检测视网膜的OCT图像,在同一分布中采样的随机噪声进行训练,然后通过迭代的方法寻找噪声向量在隐空间中重建误差最小的映射,因此每一张输入样本根据重建误差会计算一个得分,从而用来识别异常图像。




Part B Image Synthesis





临床上需要综合考虑各种模式检测下的信息综合分析,同时,某种图像模态中体现的信息有可能已经存在于其他模式下,因此将医学图像从某一模态精确转换到另一模态在实际应用中可以最大程度减少病患的不适以及支出。
图像的跨模态转换最常见于放疗计划的制定,比如在MR图像中可以看到肿瘤及潜在感染区域的信息,而CT则可以根据辐射剂量计算出电子密度信息,需要综合考虑二者提供的信息进行放疗安排。

[33]和[34]已初步实现了使用regression CNN完成MR图像与CT图像的合成,这样可以减少患者拍片的负担、成本,但通过最小化生成图和目标图之间的体素损失(voxel-wise loss)通常会引起模糊,因为即使MR和CT配准后二者也不是严格对齐的,这样后续CNN测试只能基于模糊的合成图像进行判断。





随后[36]在voxel-wise loss又加入了判别器提供的反馈信息来合成更加逼真的图像,但仍然摆脱不了MR和CT的配对使用。





在这里插入图片描述

Fig8依次展示了原始的输入MR图像,合成的CT图像,参考用的CT图像,以及二者之间的差别。





随后[35]使用CycleGAN无需成对的MR和CT图像,具体实现参见前面的Fig6,循环生成前向是MR生成CT,反向是CT生成MR图像;类似的[37]也基于CycleGAN用于心室的MR图像与CT图像转换,在源域A的分割结果可以直接转移到目标域B中,这样就可以大大增加目标域中的训练数据量;[38]也展示了借助CycleGAN,目标域B中无任何分割标注就可用于分割任务。





Part C Image quality enhancement






采集的医学图像质量常常需要与其他因素进行权衡,比如拍摄时间、成本以及病患的不适程度。比如采用较低的CT剂量可以降低诱发癌症的风险但会提升图像的噪声水平,以及MR图像欠采样会缩短扫描时间但图片中伪影会增多。因此借助对抗学习可以有效抑制上述效果,提升图像质量。







CT:






CT图主要聚焦在将低剂量的CT图转换为正常剂量的CT图并抑制图像噪声
[41]就借助GAN将低剂量CT图转换到正常剂量下的CT图,采用作为参考的正常剂量CT图与生成图之间的L1loss去除图像噪声;[42]的不同之处在于没哟使用AN原始的损失函数,而是计算了Wasserstein距离作为损失函数,此外还多加了一项通过某预训练CNN提取的感知损失项。







MR:






MR聚焦于将欠采样的MR图像转换为正常采样的MR图像,从而缩短MR的拍摄时间,但复原的图像往往有很多重叠、伪影。
上述两方面的图像转化可以看到,源域和目标域都是比较类似的,因此生成器只需要聚焦于原始图,如何去除伪影、噪声即可。






在这里插入图片描述
Part D Image Senmentation
分割也是医学图像中十分重要的一项任务,近年来CNN在医学图像分割也有一系列应用,但大多基于非结构化的损失进行计算,比如体素损失,这样与真实分割结果相比往往会有不合理的空洞区域或者分块区域,因此也有学者提出一系列后处理方法,比如基于形态学的方法以及CRF等。
另一种可行的方案是借助对抗网络学习一种结构化的分割方法。
如[48]在进行脑部MR图像分割时在体素损失之外还加入了判别网络的反馈信息,从而有效提升了分割效果和Dice系数;[49]更是直接舍弃了体素损失而是用的对抗损失。
但使用对抗网络进行分割的问题之一就是,分割的mask中包含的标签是离散的,而生成器为体素中每一类别生成的是连续的概率值。解决办法之一就是[17]中让判别器计算输入与分割结果的乘积。

此外GAN也可用于弱监督的分割任务中,比如只提供图像级别的label,无需提供像素级别的标注信息,[51]就是用WGAN半监督识别了阿兹海默症。
Part E Domain adaption

Fig 10展示了[52]中综合使用不同层提取的特征用于迁移学习,这样可以提升梯度传递、domain classifier的性能。比如[54][55]均用于3D图像的迁移学习。
在这里插入图片描述

[57]则是用于乳腺癌病理图像分析,检测细胞的有丝分裂情况。由于不同处理方法可能会导致病理图像染色的不一致性,不同实验室处理后的图像之间存在较大差异,在某一数据库上测试的算法可能换到另一个实验室染色的结果可能就不work了,因此需要迁移学习。
在这里插入图片描述

以上迁移学习主要接触判别器处理主网络中不同深度、层次的特征信息,核心是映射到一个与域无关的隐空间中。
而近期的一些研究工作则聚焦于在image space学习两个域之间的映射关系,首先将合成的和真实图像送入分类器训练,然后将这一predictor用于生成的数据上学习两个域之间的匹配关系,目前已在MT,CT,X-ray等图像上有所尝试,这样也有助于解释GAN中隐空间包含的信息。
Part F Semi-supervised learning
监督学习中每一个训练样本都有对应的标签,而半监督学习中有无标签数据参与训练,从而提升模型的性能,也更贴合实际应用。
在这里插入图片描述

Fig12展示了GAN用于半监督学习的一个框图,生成器的输出、带标签的真实样本和无标签的真实样本均会送入判别器,三类数据的输入目的是为了让判别器具有更好的特征提取能力。
[62]则将GAN用于半监督的分割任务,将一个分割网络作为cGAN的生成器,产生输入图像的分割图谱,然后与真实的专家分割结果一同送入判别器进行判断,经过对抗学习后这种无人工标注的输入图像与已经分隔号的监督图像一样可用于分割任务,这样就可以减轻人工标注的工作量。
Section VI Discussion and conclusion
生成对抗网络为许多医学图像分析任务提供了便利的解决方法,比如借助GAN可以合成更加真合理的训练样本,前文也有介绍过,GAN在医学图像中主要用于图像合成、图像增强以及分割。但GAN的应用仍然有一系列需要慎重考虑的地方。

第一点就是GAN的可靠性,与其他自动化的图像分析方法一样,任何微小的错误都可能会导致严重的临床后果,比如生成器开始“构造”虚假的数据来逼近真实的数据分布以求混淆判别器。

[63]使用FLAIR无肿瘤的脑部图像训练CycleGAN,然后又将该模型生成一个无肿瘤的图像,也有可能CycleGAN可以合成具有肿瘤的图像而实际上病人并没有肿瘤。


第二点在于CycleGAN中经过第一次学习后可能会包含高频信息可用于循环生成源域的图像,这种隐含的高频信息可能会影响后续的分析。比如某种分割方法已经在目标域的真实图像上进行了训练,再使用CycleGAN对目标域信息进行合成编码时就可能会导致一系列问题。


此外,前文也提及了,通过学习两个域在image space的映射关系进行迁移,比学习latent space的解释性更佳,而且需要对图像中所有包含的信息进行转换,而不是只保留与主任务相关的信息,这样可以适应更广泛的任务。

比如CycleGAN要求所有图像从源域转移到目标域的过程都可循环重复,这不仅需要更加复杂的模型,但在某些应用中可能并不适用。比如某些信息仅在MR图像中可见而在CT中不可见,反之亦然,借助CycleGAN强大的功能可以使得二者合成的图像更加“真实”,因为进行了一定程度的“构造/创作”。但这在医学上是十分危险的。


对于GAN和对抗学习,还有一个问题是很难找到对生成样本合适的度量。一定情景下看起来“真实”与否可以作为评价指标但在另一些情境下又是微不足道的;另一方面在图像恢复算法中低失真和高感知质量又是两个互相制约的因素需要权衡。



此外,GAN在医学图像分析下的具体应用在Section V已有详细介绍。首先图像生成可以用于扩充训练数据集,但可能不会对提升模型的辨别能力有直接的提升效果,也许合成数据包含的信息早已再其他数据中包含了;此外,利用GAN进行医学图像的多模态转换、图像增强、伪影去除、图像分割可有效减少病患需要做检查的次数和成本。



未来GAN在医学图像可能在异常检测、模式识别等方面有所作为,因为给出一系列正常的样本还是可以做到的,通过学习正常模式的数据分布,通过检测偏离该分部的样本就完成了异常检测。




通过本文,我们发现,基于谨慎使用的原则,GAN依旧在医学图像领域有诸多应用,将对抗学习得到的一些反馈信息加入到图像分割或合成任务中可以获得更加贴近真实效果的图像,并且有更高临床应用的可能性。

猜你喜欢

转载自blog.csdn.net/qq_37151108/article/details/108152979