MedGAN: Medical Image Translation using GANs Author: Karim Armanious , Chenming Yang , Marc Fischer , Thomas K¨ ustner , Konstantin Nikolaou ,Sergios Gatidis , and Bin Yang
图像转换被认为是医学图像分析的下一个研究热点,但往往是根据特定应用设计特定的网络框架或者受限于有限的训练数据,本文提出的MedGAN则可以在图像层面实现端到端的图像变换任务,MedGAN基于当前炙手可热的GAN生成对抗网络,额外增加了非对抗训练的巡视函数没从而可以捕获所需的不同层次的特征。其中判别网络的主要作用就是对原木与目标域之前的差距施加惩罚;而风格迁移部分的损失函数则用来完成纹理和微结构上的匹配。生成网络本文命名为CasNet,通过编解码配对的形式逐渐进行图像迁移。最终本文在PET-CT,MR去模糊以及PET图像去噪等任务中测试了MedGAN的有效性。
在医学图像领域常借助多种模态的图像,如CT,MEI,PET,CT图像等来获取身体内组织和器官的空间信息,其物理成像原理是多种多样的,目的是产生不同维度的或不同对比度的图像信息。这就使得不同模态之间的图像转换或同一模态下不同图像的转换极具挑战性。 但完成一次较为完毕的诊断常常需要结合不同模态下的图像信息或者同一模态下不同对比度图片提供的信息,比如PET/CT的混和成像,CT图像的信息可用来校正PET图像;除此之外,图像质量优化也是提取有用的诊断信息中不可或缺十分重要的一步。尤其是一些自动分析工具中采高质量图像作为输入是获得正确诊断结果的前提。 因此如果可以完成不同模态的医学图像之间的相互转换,可以有效缩短诊断时间,一些不必要的扫描/拍片也就不再需要了。 Part A Related Work CRF: MR->CT->PET/CT kNN:CT->MRpatch 生成模型: VAE:element-wise loss->blurry GANs:G:最大化概率密度来骗过判别器;D:最小化价差上损失函数->photo realistic images DG-GANs:G&D->CNN,梯度消失/不稳定 loss function:W-GAN,MMD-GAN regularization:Spectral Normalization GAN,BE-GAN GAN优异的性能被广泛用于图像分类、分割、超分辨率等方面,而GAN在医学图像分析领域最长作为图像转换的工具。 2016年Isola等人提出Pix2Pix成为监督式GAN 用于图像变换的框架,输入一张灰度图,损失函数包含pixel-loss和adversarial loss; 随后2018年Wang等人提出PAN框架将pixel loss替换为根据D计算得到的feature matching loss;而2017年提出的Fila-sGAN则可以实现一对多的转换,它会经过一个预训练网络先计算出style loss。 此外还有许多无监督的GAN如CycleGAN,Disco-GAN Part B Contributions 现有的一些基于GAN的框架用于医学图像分析往往局限于特定任务或由于训练数据有限导致生成能力不够。 因此,本文则提出了一个综合性的框架,适用于多种医学图像分析任务。 Quan等人提出的框架与本文的最相近,他们使用了两个级联的残差网络作为生成网络用于CS MRI图像的重建。 本文提出的MedGAN框架通过非对抗损失函数(perceptual loss + style transfer loss)可以同时捕获图像的高频和低频信息; 本文还提出了一种全新的生成网络结构框架,称之为CasNet,将一系列编解码结构通过skip connection连接成链,达到逐步精炼的效果。 其中生成器G负责完成源域到目标域的图像转换,如PET到CT,CasNet中每一个block采用编解码结构,精度由粗到细;判别器D不仅用来判别真假,还可以视作特征提取器用于计算perceptual loss,还有预训练的特征提取器则用来提取更丰富的特征用于style loss的计算。 为了验证MedGAN的有效性,在PET->CT,MR图像校正和PET图像去噪三类任务中进行了测试。
Fig1展示了MedGAN的结构,主要包含3部分: CasNet作为生成网络, 判别网络训练一个特征提取器用于perceptual loss的计算,还有一个预训练过的特征提取器用于style loss的计算 Preliminaries GAN GAN主要包含生成器和判别器两部分组成,其中G输入随机噪声,按照一定数据分布生成样本;D则是一个二分类网络用于识别输入样本来自于生成器还是来自于真实训练数据;两个网络对抗学习,同时优化,但经常面临梯度消失、训练不稳定、模式崩溃等问题。 Image-to-Image Translation 将GAN用于图像变换的一种主要途径就是使用cGAN,通过extra information的输入使得生成器生成特定域分布的样本,然后用判别器来衡量生成样本与真实样本之间额相似程度;但这种仅基于对抗损失函数生成的样本具有很严重的不稳定性,可能最后生成的图像与原图在结构上有很大的偏移因此,有学者提出使用pixel reconstruction loss从像素级别来约束图像变换过程中的形变程度。 Part A Perceptual loss adversarial loss->pixel loss->perceptual loss
但pixel loss的局限在于生成图像一般比较模糊,这样就会导致最终转换后的图像较好的保留了整体结构但却损失了细节方面的特征。一方面细节上的丢失可能会严重影响医学图像的诊断,另一方面也回影响人眼观察的视觉效果。 为了在保证整体结构的同时又可以尽可能保证高频信息从而尽可能减少细节的损失,提出了perceptual loss:
其中Di表示第i层隐藏层的特征表述,lambda表示每一层的权重,。 值得注意的是Perceptual loss并没有丢弃掉基于像素计算相似度,还是包含了的。 Part B Style transfer loss 在进行风格迁移过程中既要保证全图的高保真同时还要确保细节信息不丢失,比如在PET/CT迁移中,生成的CT图像必须包含详细的骨骼信息才能用于PET的AU校正;而在去除MR运动伪影时也需要保留软组织信息,才能用于后续的分割、检测等任务。 因此MedGAN额外增加了非对抗损失部分,通过风格迁移损失函数来确保迁移过程中纹理、组织信息的保留。 style transfer loss的计算也是基于隐层提取的特征,但并不是取GAN中判别器网络,而是将一个预训练好的具有更深层次结构的网络作为特征提取器,这样特征提取能力更为强大,可以在更大感受野范围内提取更丰富的图像特征,从而在迁移过程中同时较好的保留全局结构和局部细节。 style transfer loss包含两部分:content loss和style loss。 Style loss风格损失函数用来衡量风格图与生成图之间的风格差异,风格特征是基于gram matrix计算得到的。
Content loss内容损失计算的则是生成图与隐层提取的特征图之间的内容相似度,这里和pixel-loss在概念上较为相似。 Part C MedGAN Architecture U-Blocks 图像转换任务可以看做是将输入张量转换为另一种向量,但二者的结构是相似的,也就是一种图图转换映射任务,因此MedGAN的基础模块采用编解码结构的U-Block。 每一个U-Block都是编解码结构的全卷积网络,类似UNet;encoding path输入图像为256*256,堆叠8层卷积-BN-ReLU这样的卷积模块获得编码后的特征表述,并且输入中仅包含真实图像,不包含噪声图像;decodingpath则是镜像过程完成图像的复原;同样的在同一层的编解码之间有skip cnnection,直接在通道上级联,这样的跨层连接对于底层信息的传递十分重要。 **CasNet:** 判别器的主要结构是本文新提出的CasNet结构,因为医学图像转换比自然图像转换更具挑战性的一点在于往往很小的区域就包含丰富的信息,而在转换过程中不可避免会有细节损失或变形。因此现在的一些研究多是基于特定任务或者会经过一系列框架的联合处理,本文则提出了一种更通用的端到端的网络-CasNet,基体结构参见Fig2.
CasNet的灵感来自于ResNet,在ResNet中通过不断级联residualblock完成深层次网络的构建,并且残差连接有效解决了梯度消失的问题;因此本文借鉴以上四项,也将U-Block进行级联,每一个block中的skip connection也可以减少梯度消失的发生。 但CasNet中级联的U-Block和ResNet中的residual block还是有一定差别的,residual block一般就2-4层,而U-Block有16层,因此CasNet泛化性更好 Discriminator 判别器部分本文在PatchGAN的基础上进行了一定修改,PatchGAN不是对输入进行分类,而是会在分类前将输入图像切成一系列小patch,然后输出所有patch平均后的结果。 这样D就会聚焦在每一篇patch上更加聚焦于高频信息的比较,常规patch大小为70*70,要想细节变化更明显可以进一步减小patch尺寸。 Part D MedGAN 整体框架及训练策略 因此MedGAN整体框架包括:CasNet的生成器部分,特征提取器和预训练的VGG19网络的判别器部分,分别用于计算perceptual loss和style transfer loss,而CasNet中包含6个U-Blocks因此整体损失函数包含: 训练细节: Optimizer:ADAM lr=0.0002 momentum:0.5 为了训练的稳定性还采取了一系列从策略:比如每三个CasNet训练的iteration优化一次patch discriminator以及一系列超参数的优化。
在单张Titan XGPU上平均训练时间为36hr,推断时间115ms。 整体的算法伪代码:
为了验证MedGAN的有效性,在PTE/CT转化,MR去除运动伪影,PET图像去噪三类任务中进行了测试。 PET/CT: 根据PET合成CT图像需要包含更多细节信息,比如骨骼结构、软组织。本文采用的数据集输入图像分辨率为256256,包含来自38位患者共1935组训练图像对,以及414张用于验证。 MR motion artefacts 去除MR伪影的难点在于很难做到像素级别的对齐,数据集来自于11名志愿者采集的脑部MR图像,motion和motion-free两种状态下的迈步图像。训练集包含1445张,测试集556张,分辨率256256. PET denosing training:test = 11420:4411 Part B Experiment setup MedGAN使用的损失函数即包含对抗损失又包含非对抗学习的部分(perceptual,style,content),从而既可以保留全局结构,同时又对高频和低频信息有较好的学习。为了验证并不是上述网络组合带来的增益,本文首先分别对各种损失函数的效果进行了测试,比如基础网络中G采用单个U-Block,D采用16*16 patchdiscriminator,与MedGAN采取相同的参数设置,训练200epochs进行对比。 对比结果参见Table I。Fig4对部分结果进行了可视化,可以看到仅使用cGAN的对抗损失效果是最差的。而增加了discriminator的perceptual loss进去后效果有一定的提升,但细节方面仍有丢失。加入Style Loss后补足了细节方面的丢失,因此在仅使用一个U-Block的MedGAN中将上述损失度包含在内,取得了较好的图像转换效果。而进一步增加CasNet的层数后效果进一步提升。
此外,MedGAN还与其他SOTA框架进行了对比,比如结合了pixel-loss和cGANloss的pix2pix是进行图像转换的经典框架,还有采用perceptual loss的PAN网络,风格迁移的Fila-sGAN都进行了对比。 对比结果参见Table II.其中pix2pix效果最差,MedGAN比上述框架效果都好。
为了评估图像转换的效果,本文要邀请了5名放射科专家对生成的图像进行打分、评级。0-4分代表完全不像-逼真。Table III则展示了专家打分平均后的结果。
本文提出了端到端的医学图像转换框架——MedGAN,通过CasNet及patch discriminator等将adversarial loss,perceptual loss,style loss有机结合在一起,提升了图像转换的效果,既能保留整体结构又对高频、低频信息有较好的学习。 最后MedGAN在PET/CT图像转换、MR去伪影及PET图像去噪任务中均取得了较好的效果,是一款泛化性能优秀的综合性图像转换框架。 未来的工作,本文将进一步测试MedGAN在其他特定应用中的性能。 例如,在未校准的情况下测试MedGAN 对PET-CT图像的转化效果,并研究合成CT对PET独立AU衰减校正的可用性。此外,本文计划测试MedGAN在MR图像分割和器官体积计算等任务的适用性。