康文杰,林 岚,陈 明
(1.北京工业大学环境与生命学部生物医学工程系,北京 100124;2.南宁市城市规划展示馆,南宁 530028)
痴呆症已经发展成为一个全球性的健康问题。资料显示,2015年痴呆症患者人数约为4 700万人,预计到2050年将超过1.3亿人[1]。阿尔茨海默病(Alzheimer’s disease,AD)是一种进行性发展的致死性痴呆症,其临床表现为记忆力衰退、进行性认知功能障碍和日常生活能力减退[2]。AD的主要病理表现有β淀粉样蛋白(Aβ)沉积、tau蛋白过度磷酸化等[3]。神经影像学在AD患者的早期诊断和病程发展预测中具有重要意义[4],在AD的诊断中,结构磁共振成像(structural magnetic resonance imaging,sMRI)已得到广泛应用[2]。
深度学习在基于神经影像数据驱动的AD诊断中取得了良好的效果[5-6],但是AD的神经影像数据,特别是纵向影像数据,存在着数据量偏小的情况。数据不足会导致深度学习模型在训练的过程中出现严重的过拟合现象,从而对模型性能产生影响。Goodfellow等[7]于2014年提出了生成对抗网络(generative adversarial networks,GAN)。GAN可以通过对抗学习生成有意义的数据,GAN及其衍生模型被广泛应用于神经影像分类、分割和目标检测等任务中[8-9]。在AD研究中,可以通过自动生成神经影像数据的方式生成AD患者的神经影像来解决研究中存在的数据不足和类不平衡问题[10]。Kang等[11]基于深度卷积GAN(deep convolutional GAN,DCGAN)可以无监督训练的特点,采用DCGAN进行预训练,并将DCGAN中的判别器(discriminator,D)迁移为卷积神经网络(convolutional neural networks,CNN)分类器,并在AD分类任务中进一步训练。实验结果表明该方法可以有效减少模型的过拟合,提升AD分类的准确度,Bowles等[12]采用WGAN(Wasserstein GAN)来生成sMRI,生成图像中包含AD病理特征(如高度萎缩的脑皮层和海马体),可以用于预测AD的病程进展。Lin等[13]提出了可逆GAN(reversible GAN,RevGAN),可以生成高质量的sMRI和PET图像。将生成的多模态的图像用于AD分类任务,可以明显改善AD和认知正常(cognitive normal,CN)受试者分类的准确度。
在AD的相关研究中,有时会用到受试者的纵向影像数据。由于受试者流失和扫描失败,在纵向研究中不同时间点的数据缺失是不可避免的,这给相关研究带来了巨大的挑战[14]。将GAN用于纵向神经影像数据的生成,生成图像需要以该受试者的基线图像为基础,反映受试者在一段时间内的病程进展。Xia等[15]提出了一种条件GAN模型,基于AD神经影像学计划(AD Neuroimaging Initiative,ADNI)数据集中AD、轻度认知功能障碍(mild cognitive impairment,MCI)和CN受试者的基线数据生成纵向数据的二维切片,并分别通过年龄预测和与真实纵向图像比较的方式定量和定性地评估了模型生成的纵向数据。实验结果表明,生成图像可以模拟大脑的衰老过程,但二维模型无法完整表达大脑的空间结构信息。Ning等[16]提出了端到端的纵向诊断GAN(longitudinal diagnostic GAN,LDGAN),通过改进GAN中的损失函数来提升模型生成数据的质量,利用不完整的纵向MRI图像生成ADNI数据集中缺失的AD和CN受试者的纵向MRI图像。实验结果显示,LDGAN可以生成高质量的纵向MRI图像,并有效地预测缺失纵向数据的临床痴呆评定量表(clinical dementia rating,CDR)得分。但模型评估更偏重于图像的相似性,而忽略了对医学图像的拓扑结构和生理意义的评估。Isola等[17]于2017年提出了pix2pix模型。pix2pix模型结合了条件式GAN(conditional GAN,CGAN)、PatchGAN和CNN,可以端到端跨域生成高质量的、具有个体差异性的图像。Peng等[18]在pix2pix模型中引入感知损失,提出了三维多对比度感知GAN(3D multi-contrast perceptual GAN,3D MPGAN),用以生成婴儿大脑MRI数据集中缺失的纵向数据。结果表明生成图像与真实图像具有较高的相似度。但模型结构是由结构比较简单的婴儿大脑设计,在形态结构更为复杂的病理大脑,图像生成效果还需要进一步评估。
虽然不少相关研究采用了GAN模型来生成神经影像纵向数据,但是仍存在一些问题。因此,本研究将pix2pix模型扩展到三维,并在架构上进行改进,分别采用V-Net和密集连接的卷积网络(densely connected convolutional networks,DenseNet)架构作为生成器(generator,G)和D的架构,在有限训练数据和网络深度的前提下生成高质量图像,将网络命名为3Dpix2pix-AGE。采用五折交叉检验,基于ADNI-1数据集中AD受试者的基线数据和24个月的纵向数据来训练和验证模型,并通过定量评估和定性评估2种方式从生成图像质量、生理可解释性以及脑萎缩拓扑分布等多个不同角度评估生成纵向数据的质量。结果显示,经过训练后的模型能够基于AD患者的基线影像生成较高质量的24个月的纵向数据。
ADNI是一个广为使用的AD的合作研究和数据共享平台[19]。本实验使用ADNI-1数据集中的112例AD受试者基线sMRI数据和其对应的24个月的纵向数据开展研究。首先将所有DICOM格式的图像使用MRIcron软件中的dcm2niigui(https://people.cas.sc.edu/rorden/mricron/dcm2nii.html)工具包转化为NIFTI格式。使用MATLAB中的SPM12(http://www.fil.ion.ucl.ac.uk/spm/software/spm)工具包对所有基线和纵向数据进行去头骨和配准。再使用SPM12中的CAT12(http://www.neuro.uni-jena.de/cat/)工具包以每一个受试者为单位,对基线数据和其对应的纵向数据进行偏置校正、脑组织分割、非线性配准和灰质标准化,得到大小为121×145×121体素的灰质密度图。由于三维影像数据在模型学习过程中会占用大量显存,对得到的全脑灰质密度图中的背景部分进行填充和裁剪得到大小为128×128×128体素的图像,再经过降采样后得到大小为64×64×64体素的图像,其空间分辨力为3.0 mm×3.0 mm×3.0 mm。实验数据预处理流程如图1所示。
图1 实验数据预处理流程
在传统的pix2pix架构中,G采用U-Net架构,D采用PatchGAN架构。
在3Dpix2pix-AGE架构中,G由V-Net结构构成(如图2所示),包含1个卷积块、5个下采样块和5个上采样块。下采样块由卷积层和LeakyReLU激活函数构成。其中除了第一个下采样块之外均含有归一化层,卷积层卷积核大小为4×4×4,步长为2。上采样块由卷积层、ReLU激活函数和上采样层构成。其中卷积层卷积核大小为4×4×4,步长为1,上采样层窗口大小为2×2×2,第一个上采样层包含系数为0.5的Dropout。G的输入为AD受试者的基线灰质密度图,最后一个卷积层的输出经过Tanh激活函数后,输出预测的AD受试者的24个月纵向灰质密度图。G在网络架构上的改进使得在网络参数量减少的同时可以生成高质量的三维全脑灰质密度图。
图2 生成器G的网络架构
D由三维DenseNet构成,包含3个密集连接块、2个过渡块和1个卷积块。其中密集连接块由3个瓶颈块构成,每个瓶颈块由2个卷积层和LeakyReLU激活函数构成。瓶颈块之间采用密集连接,通道数在密集连接块中累加。D中的过渡块由卷积层、平均池化层、LeakyReLU激活函数和归一化层构成。D的输入为真实的纵向图像和生成的图像,输出为16×16×16×1体素大小的特征图,特征图中包含降维后的图像结构和空间特征。密集连接的引入和网络结构的改进使得在控制D的网络深度和参数量的同时,提升了D的特征提取能力。同时保证在训练过程中,G与D不容易出现梯度消失。D的网络架构如图3(a)所示。D中瓶颈块、密集连接块和过渡块的具体网络架构如图3(b)、(c)、(d)所示。
图3 判别器D的网络架构
经典的pix2pix模型的损失函数分为2个部分,包括交叉熵形式的对抗损失和像素级别的L1损失。3Dpix2pix-AGE中D的输出为16×16×16×1体素大小的特征图。损失函数分为3个部分,即对抗损失LcGAN、L1损失Ll1和年龄损失Lage。其中对抗损失是对G生成的纵向灰质密度图和真实的纵向灰质密度图分别输入D后得到的特征图以体素级别求二值交叉熵。LcGAN如公式(1)所示:
式中,x为真实的基线灰质密度图;y为真实的纵向灰质密度图;D(x,y)为D的输出;G(x)为G的输出;Ex和Ex,y为每个批中N个样本的期望。
为了使生成图像与目标生成图像具有相似的内容,3Dpix2pix-AGE在G的损失函数中加入了L1损失。生成图像与真实图像输入D后分别得到特征图,L1损失由D输出的特征图之间对应体素的体素值之差的绝对值求平均得到。L1损失可表示为
在3Dpix2pix-AGE训练的过程中,不仅需要使G生成与目标域(纵向灰质密度图)的内容高度相似的图像,生成的预测纵向灰质密度图还需要包含灰质结构特征,体现AD受试者在24个月后由于病程进展所导致的大脑结构变化。所以在本研究中加入了年龄损失Lage来控制图像纵向变化。在训练3Dpix2pix-AGE模型之前,预训练了一个用于进行脑年龄预测任务的三维CNN,该CNN的主要目的是对生成图像和真实图像进行脑年龄预测。脑年龄预测CNN由DenseNet架构和注意力机制模块构成,如图4(a)所示。
图4(b)中脑年龄预测CNN模型的注意力块包含空间注意力与通道注意力2种实现机制。注意力机制的引入可以提升模型的特征提取能力。网络中支路的注意力特征图与主路的特征图的对应体素的权值相乘,得到带有注意力的特征图。CNN进行回归分析时,模型训练只能保证整个数据集的损失函数最小,但可能会出现个别对象预测年龄大幅度偏离年龄范围的情况,如出现负的预测年龄。因此,本研究对输出块进行了改进,输出层为N维的全连接层和Softmax激活函数。根据训练集中的受试者的年龄范围,以1 a为1个年龄区间,所有受试者的年龄分为N个连续的区间。对Softmax激活函数输出的年龄区间的概率分布和其区间对应的年龄加权求和,得到预测的脑年龄。预测的脑年龄与纵向数据的真实脑年龄之间求均方误差(mean-square error,MSE),得到年龄损失Lage。脑年龄预测CNN模型的输出块的具体网络结构如图4(c)所示。
图4 脑年龄预测模型的网络架构
脑年龄预测模型的输出AGEpredict表示为
式中,i为年龄区间序号;xc为脑年龄预测CNN输出的年龄区间概率分布;agei为i区间的年龄标签。由于实验中批大小为1,年龄损失Lage表示为
式中,AGEpredict为预测年龄;AGEreal为真实年龄。3Dpix2pix-AGE的目标函数如公式(5)所示:
式中,λ1、λ2、λ3为3个部分损失函数的权值,在本实验中设为λ1=1、λ2=100、λ3=0.1。将不同损失函数的损失值放到同一尺度下进行累加得到最终的损失值,使得模型在训练过程中的梯度反向传播环节同时受到3个损失函数的影响。
算法的整体流程图如图5所示,其中G的输入为AD受试者的基线灰质密度图,输出为生成的24个月纵向灰质密度图。D的输入为G生成的纵向灰质密度图和真实的24个月纵向灰质密度图,输出为输入图像的特征图。D的损失为对抗损失LcGAN,G的损失为LcGAN、Ll1和年龄损失Lage之和。
图5 3Dpix2pix-AGE生成AD受试者纵向图像模型示意图
对生成图像质量和应用价值的评估是将GAN模型应用于医学图像增广中最大的障碍。生成图像不仅需要在视觉上与真实神经影像相似,同时需要具有对应的生理与病理特征。本研究采用定量和定性2种方式进行评估。
1.4.1 定量评估
为了评估模型预测的纵向灰质密度图是否能体现基线灰质密度图随时间的变化,本研究中采用CNN模型来预测真实纵向灰质密度图和生成纵向灰质密度图的脑年龄和CDR得分,从大脑年龄和认知能力2个方面来评估纵向生成图像的质量。采用五折交叉检验验证模型性能。2个CNN模型均采用了与用于计算Lage的脑年龄预测模型相同的网络结构。CDR得分以0.5为一个区间,在输出块中经过Softmax激活函数输出的CDR区间概率分布与CDR区间标签加权求和得到预测的CDR值。CDR预测CNN输出的CDR预测值CDRpredict表示为
式中,i为CDR区间序号;xc为CDR预测CNN输出的CDR区间概率分布;cdri为i区间的CDR标签。本实验使用五折交叉检验的方法预测24个月的真实纵向灰质密度图(m24)、生成纵向灰质密度图(predict)的脑年龄和CDR评分,以平均绝对误差(mean absolute deviation,MAE)为评价指标。
在评估生成模型生成图像的质量时,研究者常用结构相似性(structural similarity,SSIM)系数来评估生成图像与目标域的真实图像之间的结构相似性,SSIM值越高表明2组图像之间的结构相似度越高。SSIM分别从亮度l(X,Y)、对比度c(X,Y)、结构s(X,Y)3个方面度量图像相似性,其值为3个评价指标的乘积,取值范围为[0,1]。SSIM表示为
式中,X和Y为2组图像,组间的SSIM系数由这2组图像中一一对应的图像的SSIM值求平均值得到。真实数据和生成的纵向数据分为3组并求组间的SSIM系数,分别为:(1)bl-m24:基线数据和24个月真实纵向数据。(2)bl-predict:基线数据和生成的24个月纵向数据。(3)m24-predict:24个月真实纵向数据和生成的24个月纵向数据。
组内相关系数(intraclass correlation coefficient,ICC)常用于评价具有某种确定关系的个体间某定量属性的组内相似程度。在本研究中,将年龄和CDR预测结果与对应真实值之差分为3组:bl-m24、blpredict和m24-predict。求3组的ICC,得到预测结果的组间相关性,并评估生成的24个月纵向图像与真实的纵向图像是否具有较高的相关性。ICC由SPSS(https://www.ibm.com/products/spss-statistics)中可靠性分析模块中的同类相关系数求得,同类相关系数的计算使用一致性的双向混合模型。
1.4.2 定性评估
使用SPM工具包对bl-m24、bl-predict、m24-predict 3组灰质密度图进行体素级别的组间差异分析。使用SPM中的广义线性模型,采用体素级别的错误发现率(false discovery rate,FDR)校正,P-value设为0.005。
本研究中使用的编程语言为Python 3.7.9,使用的深度学习框架为Tensorflow 2.4。实验过程中使用的工作站CPU为Intel Xeon W-2223 CPU,内存大小为12 GiB,GPU为NVIDIA GeForce RTX 3090,显存大小为24 GiB。
3Dpix2pix-AGE采用Adam优化器,G和D的初始学习率均为2×10-4。因为3Dpix2pix-AGE是端到端的一一对应的生成模型,由AD受试者的基线图像预测该受试者的纵向图像,所以模型的批大小为1。将3Dpix2pix-AGE训练300个轮次(epoch),训练过程中G与D的损失值变化如图6所示,模型收敛后G和D的损失会逐渐收敛到特定常数附近。
图6 3Dpix2pix-AGE训练过程中G和D的损失值变化
脑年龄预测CNN模型的预训练使用五折交叉检验中所划分的训练集中的AD受试者的基线和24个月纵向灰质密度图。模型损失函数与Lage一致,预测年龄区间概率分布与年龄区间标签加权求和得到预测年龄,通过预测年龄与真实年龄求MSE得到损失值。模型采用Adam优化器,初始学习率为1×10-3,批大小为32。采用早停法训练策略,在验证集损失30个轮次未下降后认为模型收敛,结束训练。
本实验中3Dpix2pix-AGE采用五折交叉检验的方法基于数据集中全体AD受试者的基线灰质密度图,生成24个月的纵向灰质密度图,模型训练300个轮次。图7展示了同一个AD受试者的比较图像。从图中可以看出,3Dpix2pix-AGE模型可以生成与真实纵向数据相似度较高的图像。由于V-Net中的降采样处理,生成图像与真实图像相比在影像特征上会略微模糊。
图8的折线图展示了模型采用五折交叉检验法预测的脑年龄和CDR评分的预测值与真实值之差。m24和predict的预测结果在整体上具有较高的相关性,这说明生成图像一定程度上可以体现AD整体病程进展。但predict与m24的受试者个体的预测结果仍存在一定的差异,这可能是由个体对象的病程发展异质性导致的。
图7基线图像、24个月的真实纵向图像与生成图像比较
图8 模型预测脑年龄和CDR评分折线图
通过对同一受试者的真实图像和生成图像之间求SSIM再求组间的平均SSIM,得到真实图像和生成图像之间的结构相似性的定量评估。图像分为bl-m24、bl-predict、m24-predict 3组。其中bl-m24组包含配对组和非配对组,配对组的基线图像和纵向图像按照受试者一一对应进行配对。非配对组的基线图像和纵向图像受试者顺序被随机打乱。bl-predict与m24-predict 2组均为配对组。实验结果显示bl-predict与m24-predict 2组均具有很高的SSIM(0.985 9、0.951 3)。这说明生成图像可能是以基线图像为基础,基于疾病平均发展轨迹来进行图像生成的。m24-predict组的SSIM高于bl-m24组(非配对,0.807 3),生成图像与真实纵向数据间的相似度远高于生成图像与不同对象图像间的相似度,生成图像具有一定的个体特异性。
采用ICC评价脑年龄和CDR评分预测结果的组间相关性。预测结果记录为预测值减真实值。blm24、bl-predict和m24-predict 3组脑年龄预测结果的ICC分别为0.960、0.991、0.958,CDR预测结果的ICC分别为0.754、0.743、0.986。由实验结果可以得出结论:生成的纵向灰质密度图一定程度上体现了AD的病程进展,且生成纵向图像与真实纵向图像的预测结果高度相关。
3组灰质密度图对比如图9所示,其中灰质密度图横断面切片的高亮区域展示了3组图像具有差异的大脑区域。
图9 3组灰质密度图对比
研究发现,基线和真实纵向数据在部分脑结构间存在显著差异,生成的纵向数据与基线数据间也存在显著差异。基线和真实纵向数据间的差异脑区基本都被包含在生成的纵向数据与基线数据间差异脑区内,并在范围上有一定扩展。生成的纵向数据与真实纵向数据间不存在显著性差异。表明模型预测的AD受试者病程进展与真实的AD受试者病程进展高度相似。模型预测结果和真实纵向数据存在不完全一致的脑区,这可能是由于AD病程进展具有个体异质性,模型预测更多反映了患者病程的平均进展。
本文主要研究了基于GAN的AD sMRI纵向数据生成方法,提出了一种基于pix2pix的3Dpix2pix-AGE模型,将端到端生成的GAN模型扩展到三维,用于预测AD患者纵向全脑灰质密度图。首先,对GAN的架构和其中CNN的网络结构进行改进,分别采用V-Net和DenseNet架构作为G和D的架构,在有限训练数据和网络深度的前提下生成高质量图像。其次,对GAN的损失函数进行改进,模型的损失函数包括对抗损失、L1损失、年龄损失3个方面。再次,通过G与D的交替训练使其相互博弈,最终达到纳什均衡,生成AD纵向数据,使模型生成与真实纵向图像具有较高相似度的图像,从而预测AD患者的病程进展。最后,在此基础上,采用定量和定性2种方式,通过多个评价指标对图像质量进行综合评估。实验结果可以得出以下结论:(1)3Dpix2pix-AGE模型可以生成高质量的纵向图像,补充缺失的AD患者数据。(2)生成的纵向图像与对应受试者的基线图像在部分脑区间存在显著的差异,但与真实的纵向图像相关性较高,生成的纵向图像一定程度上反映了AD患者的病程的平均进展。
该模型为AD数据集中缺失纵向数据的生成提供了一种新途径,但也有其不足之处。例如,其预测结果更多反映的是病程平均进展,缺乏个体特异性;受试者的年龄因素在模型中并没有很好体现。在未来的工作中可以考虑在模型输入端加入多个时间点的纵向数据,把年龄作为一种条件加入生成器,以确保模型可以学习不同年龄、不同个体的病程发展情况,从而获得更好的个体特异性。