生成对抗网络磨玻璃样肺结节分割方法
2023-02-18张秀峰李永鑫
张秀峰,李永鑫,王 苇,瞿 航*
(1. 大连民族大学 机电工程学院,辽宁 大连116600; 2. 扬州大学附属医院 影像科,江苏 扬州 225009)
0 引言
医疗影像分割是计算机视觉在医疗影像算法研究领域的一个重要研究分支,以从医疗影像中获取目标区域的准确分割作为研究目标,为临床疾病诊疗和科学研究提供重要的依据[1]。目前已有的研究方法对实性肺结节能实现很好的分割结果。而对于磨玻璃样肺结节(Ground-Glass Nodules, GGNs),由于存在边缘模糊、大小形状各异、不规则等影响分割精度的问题[2],一直是一个极具挑战性的图像分割任务。而GGNs与早期肺腺癌密切相关,被认为是恶变可能性最大的肺结节之一[2],对GGNs的精准分割具有极大的临床价值。
传统的GGNs医学影像分割方法主要是根据肺结节的CT值分布和形状特征发展起来的[3]。对具有同质灰度值和周围组织高对比度的孤立实性结节表现良好,但随着周围组织和结节粘连区域(即GGNs和近血管结节)边界的模糊程度增加,性能下降明显[4]。随着深度学习相关研究在计算机视觉领域获得广泛场景的应用并取得较好的成绩,基于深度学习的GGNs医学影像分割算法逐渐成为该领域研究的重点和热点。相关研究通常开发深度卷积神经网络(Convdutional Neural Network, CNN)来提取结核的深度图像特征,并构建编码器-解码器架构来分割结核[5]。例如,Wu等[6]提出了一种基于三维U-Net的分割模型,并利用条件随机场优化深度学习模型的输出,但现有部分语义分割模型对像素点的预测是独立的,没有考虑相互之间的相关性。在之前的模型中考虑到像素相关性的多是使用CRFs,然而,高阶势也被观察到是有效的,例如基于超像素[7]之间的标签一致性的鲁棒高阶项。文献[8]展示了如何在基于CNN的分割模型中集成特定的高阶势类。虽然这些高阶势的参数可以学习,但它们的数量是有限的。
本文感兴趣的是加强高阶一致性,而不是局限于非常特定的高阶潜能。在Goodfellow等[9]提出的生成式对抗网络(Generative Adversarial Network,GAN)方法的启发下,探索了一种基于对抗训练的方法,用于加强高阶一致性,提出一种基于GAN的医学图像分割方法GAN-DeepLabv3+,通过引入对抗训练的方法加强了远程空间标签的连续性。
1 GAN-DeepLabv3+图像分割方法
GGNs定义为在肺部影像中有形状不定的密度增高影,边界可能模糊但内部血管纹理和支气管壁清晰可见[10]。当患者肺部影像中磨玻璃影所占比例超过50%时,临床上可以定义为原位癌。因此,患者的存活率完全取决于病变发现和诊疗的时间早晚[11-12]。在早期诊断中,对GGNs的准确识别和精细分割尤为关键。提出一种GAN,引入经典的博弈思想,并将DeepLabv3+作为图像分割生成器网络,提高分割效率和精确度。
1.1 DeepLabv3+网络生成器
DeepLabv3+网络是一种用于图像语义分割的CNN,引入语义分割常用的编码器—解码器。采用空间金字塔池化(Atrous Spacial Pyramid Pooling, ASPP),使用不同采样率和多种视野的卷积核,能够以多尺度捕捉对象。
GAN-DeepLabv3+使用DeepLabv3+结构作为网络生成器,DeepLabv3+算法在编码模块中,使用Xception[13]网络作为特征提取的骨干网络,将空洞卷积和深度分离卷积结合在输出的特征图上使用不同atrous rate并行ASPP去提取特征,用concat融合之后,再使用卷积减少通道数。最终ASPP能够完成不同尺度目标特征信息的提取和区分[14-15]。解码部分结合了高层和低层的信息。对低层特征通道进行压缩,从而更多地保留源图像的高层特征信息以应对在下采样过程中对目标边界信息的丢失。模型在特征图上采样过程中与低层特征相融合以获取更高的分辨率和更丰富的空间细节,再通过双线性差值采用高层特征图,最终解码出预测图的算法结构如图1所示。
图1 DeepLabv3+算法模型网络结构Fig.1 Network structure of DeepLabv3+ algorithm model
1.2 GAN
2014年,Goodfellow[9]首次提出GAN。GAN采用无监督的学习方式,灵感来自于博弈论中的纳什均衡,由一个生成网络G(z)和一个判别网络D(x)组成[16]。深度学习过程可以看作是G(z)和D(x)之间的动态博弈。两方的博弈围绕图片生成和鉴别展开。G(z)在不断迭代中逐渐提升生成图像与真实目标之间的一致性,而D(x)则在不断迭代中提升区真实图像与G(z)生成的图像[16]。网络博弈原理如图2所示。
图2 GAN博弈原理Fig.2 Game principle of GAN
本文利用DeepLabv3+结构作为网络生成器模型,通过DeepLabv3+网络分割得到分割标签图像数据。使用CNN作为网络判别器模型,经过实验最终选择用5层卷积组成的神经网络作为判别器网络,本文在5层CNN中选择使用步长(stride)为2,输入尺寸(input)为4×4的卷积核,最后使用Sigmoid函数,得到尺寸为16×16的patch。具体判别器网络结构如图3所示。
图3 判别器网络结构Fig.3 Diagram of discriminator network structure
通过卷积操作对DeepLabv3+结构网络的分割结果标签图像与真实标签图像进行处理提取输入图像的图像特征,然后利用全连接层对输入图像的图像特征进行提取,最后使用交叉熵损失函数计算DeepLabv3+结构网络生成器模型得到的分割标签图像和真实标签图像之间的损失,推动网络模型学习优化。
在网络训练中,G(z)和D(x)之间相互独立地交替进行训练迭代。2个模型的输入数据不同,其中G(z)以随机变量z作为输入,而D(x)的输入则是真实数据x。G(z)通过迭代训练后将输入的随机变量z生成的数据将最大可能地服从真实数据分布。如果D(x)的输入为真实数据,标签为真;如果输入来自G(z)的生成数据,则标签为假。在给定G(z)的情况下,与优化基于Sigmoid的二分类模型一致,优化D(x)的本质是最小化交叉熵损失函数,定义如下:
(1)
式中,x为输入的真实数据;z为输入的随机变量;pdata(x) 为真实数据分布;pz(z) 为先验分布;E(·)为计算期望值。D(x)的训练数据集来源于真实数据集分布pdata(x)和G(z)的数据分布pg(x)两部分。D(x)代表的是x来源于真实数据而非生成数据的概率。当真实数据x作为D(x)的输入数据时,D(x)应该输出趋近于1(TRUE)的概率值。相反,当G(z)生成的数据被输入至判别网络,此时D(G(z))的输出概率值应该趋近0(FALSE)[17],而G(z)的目标是使得D(G(z))的输出概率值其趋近于1。在训练过程中,生成网络G(z)的损失函数定义为ObjG(θG)=-ObjD(θD,θG)。GAN的目标函数定义如下:
minGmaxD{f(D,G)=Ex~pdata(x)[lnD(x)]+
Ez~pz(z)[ln(1-D(G(z)))]},
(2)
式(2)中变量定义与式(1)中变量定义相同。
1.3 GAN-DeepLabv3+生成对抗分割网络整体构成
针对GGNs医学图像的特点,本文提出一种基于GAN的图像分割网络,利用DeepLabv3+图像语义分割网络模型对输入特征不同尺度的上下文信息的鲁棒性,以及通过逐渐恢复空间信息捕捉到清晰的物体边界的优势。将二者相结合,提出基于GAN-DeepLabv3+的GGNs医学图像生成对抗分割方法,解决现有网络需针对GGNs分割要改进的问题。提升GGNs医学图像的分割精确性。在GAN-DeepLabv3+的网络构建中,使用DeepLabv3+网络结构作为模型的生成网络,将DeepLabv3+网络生成的分割结果与真实图像送入D(x)进行判别,并根据前述方法对DeepLabv3+生成网络和判别网络分别进行交替迭代训练和优化[18]。最终使得G(z)能够生成以假乱真的分割图像,生成图像被D(x)判断为真实值。而D(x)则在最大限度上区分真实图像和生成图像。在D(x)的训练优化中,采用交叉熵损失函数LossD1(z)优化网络性能,并在D(x)末层提取16×16的图像,对分割结果和真实图像分割标签以交叉熵的形式计算特征损失函数LossD2(z),进一步优化模型的梯度信息。最终由前述DeepLabv3+生成网络损失函数LossDeepLabv3+、判别网络损失函数LossD1(z)和特征损失函数LossD2(z)共同组成GAN-DeepLabv3+网络模型损失函数LossGAN-DL,定义如下:
LossGAN-DL=LossDeepLabv3++LossD1(z)+LossD2(z)。
(3)
本文提出的GAN-DeepLabv3+网络结构如图4所示。在模型训练的过程中,G(z)和D(x)之间相互独立地交替进行训练迭代。计算出DeepLabv3+损失函数LossDeepLabv3+、判别网络损失函数LossD1(z)和特征损失函数LossD2(z),GAN模型的对抗更新形成整个GAN-DeepLabv3+网络的更新[16],当G(z)和D(x)都达到最优解时,整个网络处于一种纳什平衡的状态。最终使得G(z)能够生成以假乱真的分割图像,使得D(x)不能分辨出来,从而生成最终分割图像。
图4 GAN-DeepLabv3+网络结构Fig.4 Diagram of GAN-DeepLabv3+ network structure
2 实验结果及分析
2.1 实验数据
实验数据来自扬州大学附属医院2020年1月—10月符合以下标准的患者CT薄层图像。初步纳入600例,训练集纳入480例,测试集纳入120例。
2.2 评价指标
本文从相似系数(Dice)、交并比(Intersection over Union, IoU)和像素精确度(Pixel Accuracy, PA)三个方面对提出的分割网络进行评判。计算如下:
Dice=[2*(ground∩predict)]/(ground+predict) ,
(4)
IoU=(ground∩predict)/(ground∪predict) ,
(5)
PA=(TP+TN)/(TP+TN+FP+FN) ,
(6)
式中,ground代表患者CT医学影像中GGNs的真实分割结果,由多位专业临床医生手动标注;predict则是由本文提出的GAN-DeepLabv3+网络预测的分割结果。在GAN-DeepLabv3+网络预测的分割结果中,对GGNs实现正确分割的区域被定义为TP(True Positive),也就是真阳性;非病灶却被GAN-DeepLabv3+网络错误预测为病灶的区域被定义为FP(False Positive),也就是假阳性;实际上是病灶却未被GAN-DeepLabv3+网络正确预测的区域则称为FN(False Negative)[19]。以上评价标准中Dice和IoU用于预测图像和真实图像之间的重合度[20],取值为[0,1],数值越接近1,GAN-DeepLabv3+分割网络预测的结果与专业临床医生所标注的真实结果就愈加重合,网络准确性越高。PA则是用于计算预测正确的像素占图像总像素的比例,该比值越接近1,代表网络预测的准确性越高[20]。
2.3 实验结果与分析
使用扬州大学附属医院收集2018年1月—2020年12月收治的GGNs患者的高分辨率薄层CT图像。共纳入600例,480例纳入训练集,120例纳入测试集。综合考量模型优化程度以及硬件资源,本实验设置batch size大小为32,epoch大小为20 000。学习率设置为0.01,并且采用Adam 优化器自动降低学习率使损失函数最小。
为验证GAN-DeepLabv3+对GGNs的预测效果,选取相关领域常用方法和相关基础算法与本文提出的GAN-DeepLabv3+进行对比实验,选用了DeepLabv3+和ACRU-Net,在GGNs CT图像数据集上进行实验。ACRU-Net是一种基于端到端的深度学习的GGNs分割算法[21]。训练阶段,各网络模型参数采用随机初始化的方法,并使用Adam优化算法训练模型。本文提出的方法的IoU,PA,Dice三项指标均高于其他方法,证明本文所提出的GAN-DeepLabv3+模型在对GGNs的预测中实现了更好的效果。实验中3个模型的GGNs的分割结果如图5所示。第1列为NCCT原始图像,第2列 为专业临床医生标注Ground truth,第3列为DeepLabv3+网络模型的预测结果,第4列为ACRU-Net网络模型的预测结果,第5列为GAN-DeepLabv3+网络模型的预测结果。在这3个例子中,由于结节中有血管穿行,且局部胸膜牵拉,DeepLabv3+模型容易包含非病变区域,GAN-DeepLabv3+则展现出最好的细节分割效果。3个模型在实验中获得的Dice,IoU和PA如表1所示。本方法Dice为0.952,IoU为0.876,PA为0.991,相较于原始DeepLabv3+和ACRU-Net等现有方法对GGNs的分割准确率有一定的提升。
图5 不同模型的GGNs的分割效果Fig.5 Segmentation effect of GGNs in different models
表1 3个模型的GGNs的分割结果比较Tab.1 Comparison of segmentation results of GGNs in three models
3 结束语
本文提出了一种辅助医生诊断GGNs的新算法。基于GAN的CT医学图像分割方法GAN-DeepLabv3+,针对GGNs,采用GAN进行图像分割,将DeepLabv3+作为图像分割生成器网络, 使用专业医师人工标记的GGNs图像作为真实图像,随后构建判别器网络以判断图像来源,同时将判别器误差与生成器误差通过加权形式引入网络训练中,通过对抗式训练,最终获得对GGNs病灶更高准确度的分割模型。通过对GGNs患者的CT医学图像的试验结果表明,本文算法获得的 Dice, IoU,PA都明显优于对比算法。综上所述,本文提出的基于GAN的GAN-DeepLabv3+算法的预测结果分割精度更高,在GGNs的分割上可靠性和可信度进一步加强,可正确帮助医生客观地诊断、评估病灶并规划治疗。