APP下载

基于卷积神经网络的肺野分割和肺炎筛查

2022-07-20武卓越田雪琴侯潇芮田雪叶王文晶

关键词:胸片X光尺度

武卓越,田雪琴,侯潇芮,崔 磊,田雪叶,王文晶

(1.西北大学 信息科学与技术学院,陕西 西安 710127;2.石家庄理工职业学院 互联网应用技术学院,河北 石家庄 050228;3.西北大学 数学学院,陕西 西安 710127;4.西安交通大学第一附属医院 妇产科,陕西 西安 710061)

X光胸片和胸部CT(computed tomography, CT)都是诊断胸部疾病的常用手段,但由于胸部CT费用较高,在实际使用过程中受到一定程度的限制[1],而X射线以其费用较低、辐射较小的优势成为国内外使用最广泛的影像学检查方法之一。全球每年可产生数百万张X光胸片,但放射科医生的数量面临近7万人的缺口,这极大地增加了放射科医生的工作量[2]。随着人工智能的快速发展,计算机辅助诊断(computer aided diagnosis, CAD)技术成为现代医学影像的研究热点, 各种计算机辅助诊断系统被开发出来用于辅助临床决策,以减轻放射科医生的工作压力, 具有很高的临床价值[3-4]。肺野分割是X光胸片CAD系统的一个重要步骤,面临着诸多挑战,造成其分割效果欠佳的主要原因:一方面X光胸片上存在气管、血管、肺静脉等其他组织阴影及伪影,如图1A中所示;另一方面肺部疾病会造成X光胸片在病灶区域存在局部灰度值异常问题,如图1B中所示,红框区域为纤维化病灶,绿框区域为钙化病灶。

图1 X光胸片示意图Fig.1 Schematic diagram of chest X-ray

由于X光胸片受组织伪影及病灶引起的局部灰度值异常的影响,基于阈值、聚类、主动形状模型等传统分割方法[5-8]并不能获得理想的分割效果。近年来,深度学习算法在自然图像分割任务[9-10]和视频分割任务[11-12]上都表现出了良好的性能,部分研究者也将深度学习算法应用于肺野分割任务[13-17]。其中,Hooda等人提出了一种有效的全卷积网络(fully convolutional networks,FCN)变体,用于胸片中肺野的分割[14]。Rashid等人使用基于U-Net的方法从X光胸片中提取肺野区域,并使用后处理步骤填充孔洞,将左右肺分开[15]。Souza等人提出了一种粗分割与精细化分割相结合的两阶段肺野分割方法[16]。但是使用这些方法分割出的肺野都存在内部空洞、边缘不完整等问题,因此,本文提出了基于多尺度卷积和特征金字塔[18]的肺野分割网络(lung field segmentation network based on multi-scale convolution and feature pyramid, MSCFP-Net),其中,基于多尺度卷积的多尺度卷积模块用于提取不同尺度的上下文信息,基于特征金字塔的多尺度特征融合模块对不同尺度的特征图进行融合,保留了丰富的空间信息和语义信息,从而可以精准地完成胸部X光片肺野分割任务。

肺野分割是X光胸片计算机辅助诊断系统的一个重要步骤,Dallal等人提出了一种基于肺野分割的肺部影像学指标计算方法[19];Baltruschat等人通过肺野分割提供的肺部位置信息将图像裁剪至肺部区域,标准化了观察外观,提高了后续分类任务的精度[20]。因此,肺野分割作为一个预处理步骤在CAD系统中发挥着重要的作用。本文将X光胸片计算机自动分析从肺野分割任务拓展到了肺炎筛查任务上,旨在通过肺野分割提高肺炎筛查任务的精度。2020年初,新冠肺炎在全球不断传播,研究者们开始尝试使用深度学习技术进行新冠肺炎检测[21-22]。其中,Wang等人为了将普通肺炎患者和新冠肺炎患者区分开,整合了5个X光胸片数据集,提出了CovidX数据集,并研发了COVID-Net用于新冠肺炎筛查[22]。为了将X光胸片计算机自动分析从轮廓检测任务拓展到肺炎筛查这项病灶分析任务上,本文在文献[22]的研究基础上,对5个公开的胸片数据集进行了整合,得到了肺炎数据集,包含正常胸片、普通肺炎胸片和新冠肺炎胸片3个类别。与正常胸片相比,普通肺炎样本数尤其是新冠肺炎样本数过少,这会导致模型更加偏向于将肺炎样本预测为正常样本,产生肺炎样本分类准确率低的问题。在深度学习领域,研究者们通常通过随机裁剪[23]、翻转[24]、随机擦除[25]等数据增强方法来解决训练数据不足的问题。其中,随机擦除通过“擦除”训练集图像上的随机区域来向样本中添加噪声,从而提高了分类、检测任务的精度。受上述方法启发,本文提出了一种基于肺野分割的数据增强方法,这种数据增强方法充分利用了肺炎征象都发生在左右肺部这样的先验知识,首先,通过肺野分割得到胸片左右肺的位置信息,进而分别“擦除”左右肺的随机区域,达到增加样本多样性的目的。

综上所述,为了解决现有X光胸片肺野分割网络的不足,本文从网络结构和损失函数的角度出发对目前流行的编码-解码框架进行改进,从而精准地完成了X光胸片肺野分割任务。同时,在肺野分割的基础上开展了肺炎筛查任务。具体贡献如下:

1)提出了一个基于多尺度卷积和特征金字塔的肺野分割网络,此网络框架是以编码-解码结构为基础,加入了基于特征金字塔的多尺度特征融合模块和基于多尺度卷积的多尺度卷积模块,从而充分利用了多尺度信息进行精准的肺野分割。

2)提出一种同时兼顾局部和整体分割效果的损失函数,实验表明,本文提出的肺野分割框架的性能优于流行的肺野分割算法。

3)提出了一种基于肺野分割的数据增强方法用于提高肺炎分类任务的准确率,实验表明,使用本文提出的数据增强方法可以将新冠肺炎的检出率至少提高2.2%。

1 肺野分割和肺炎筛查方法

1.1 MSCFP-Net:基于多尺度卷积和特征金字塔的肺野分割网络

为解决现有肺野分割方法在X光胸片上分割出的肺野存在内部空洞、边缘不完整等问题,本文提出了一种基于多尺度卷积和特征金字塔的肺野分割网络,其网络结构如图2所示。该网络以编码-解码结构为基础,加入了基于特征金字塔的多尺度特征融合模块和基于多尺度卷积的多尺度卷积模块。

1.1.1 编码解码结构 MSCFP-Net以X光胸片图像作为输入, 其编码器由5个编码器模块构成, 第1~4个编码器模块都是由2个3×3卷积组成, 第5个编码器模块由1个3×3卷积组成,相邻编码器模块之间有2×2的最大池化操作, 每个卷积后都有1个BN(batch normalization)层和ReLU激活函数。经过这5个编码器模块依次输出特征图D0、D1、D2、D3和D4。其解码器由4个解码器模块组成,每个解码器模块都是由2个3×3卷积组成, 并且每个卷积后都有1个BN层和ReLU激活函数。当多尺度卷积模块输出特征图D5后,经过上采样、通道拼接等操作,各个解码器模块分别输出了特征图U0、U1、U2和U3。

1.1.2 多尺度卷积模块 为了提取更加丰富的语义信息来改进分割结果,本文在传统的编码-解码结构上加入多尺度卷积模块,以提取不同尺度的上下文信息。多尺度卷积模块含有4个并行的具有不同空洞率的空洞卷积模块,包括1个3×3的卷积模块,1个空洞率为2的3×3卷积模块,1个空洞率为4的3×3卷积模块以及1个空洞率为6的3×3卷积模块。4个并行的卷积模块拥有相同的参数量,但通过设置不同的空洞率便可以提取到不同尺度的上下文信息。从图2可以看到,MSCFP-Net将编码器最后一个下采样模块获得的特征图D4分别输入4个并行的空洞卷积模块中,获得了4个不同尺度的特征图。将这4个不同尺度的特征图进行拼接得到特征图F,然后,使用1×1的卷积将特征图F的通道数变化到与特征图D4相同,得到多尺度卷积模块输出的特征图D5。

图2 基于多尺度卷积和特征金字塔的肺野分割网络框架图Fig.2 Lung segmentation network based on multi-scale convolution and feature pyramid

1.1.3 基于特征金字塔的多尺度特征融合模块

传统的全卷积神经网络将最后一个解码器模块得到的特征图直接上采样到原图尺寸,得到每个像素的分类结果,这种网络结构没有充分利用不同尺度的上下文信息。因此,本文从特征金字塔理论出发对网络结构进行改进,将解码器中4个解码器模块输出的特征图进行融合,获得了具有丰富空间信息和语义信息的特征图。具体来说,若输入网络的原图为X,解码器中4个解码器模块输出的特征图分别为U0、U1、U2、U3。首先,分别将特征图U0、U1、U2、U3上采样到与原图X尺寸相同;然后,将特征图U0、U1、U2、U3进行拼接获得特征图U′;最后,经过1×1的卷积获得分割结果。

1.1.4 损失函数 肺野分割任务的本质是对每个像素点进行分类,常用的损失函数有均方差(mean-square error, MSE)损失函数和交叉熵(cross entropy)损失函数,但是这些损失函数都只考虑了局部的分割效果。为了使网络既关注单个像素点的分类准确率,又兼顾整张X光胸片的分割效果,本文提出了如式(1)所示的损失函数。

(1)

(2)

(3)

1.2 基于肺野分割的数据增强

为了解决肺炎数据集中因肺炎样本过少造成肺炎样本分类准确率低的问题,本文从增加训练集样本多样性的角度出发,提出了一种基于肺野分割的数据增强方法。在训练肺炎分类网络时,这种数据增强方法分别以概率p“擦除”X光胸片左右肺的随机区域的像素,而所需要的左右肺的位置信息则由肺野分割结果提供。图3为基于肺野分割的数据增强方法的流程,在训练肺炎分类网络前,本文将训练集中所有的X光胸片输入训练好的MFCSP-Net中进行肺野分割,得到每一张X光胸片的肺野分割结果图。在训练肺炎分类网络时,对X光胸片做了基于肺野分割的在线数据增强。数据增强过程:首先,依据X光胸片对应的肺野分割图确定此X光胸片中左右肺的位置;然后,在X光胸片左右肺上分别随机选取N×N的矩形区域;最后,分别以概率p将选取的区域的像素值变化为0。

图3 基于肺野分割的数据增强方法Fig.3 Data augmentation based on lung field segmentation

2 实验验证

为了验证本文所提肺野分割算法的有效性,分别在Montgomery数据集[26]和JSRT(Japanese society of radiological technology)数据集[27]上进行了肺野分割实验。同样,为了验证基于肺野分割的数据增强方法的有效性,本文在肺炎数据集上进行了肺炎分类实验。

2.1 数据集

2.1.1 肺野分割数据集 肺野分割实验使用了2个公开数据集,其中一个是Montgomery数据集,共含有138张X光胸片,并且每张X光胸片都对应一张肺野掩模图像,使用的另一个数据集是JSRT数据集,此数据集含有247张X光胸片,同样地,每张X光胸片也对应一张肺野掩模图像。本文分别将Montgomery数据集、JSRT数据集划分为训练集、验证集和测试集,具体划分方法如表1所示。

表1 Montgomery和JSRT数据集的划分方式Tab.1 The division of Montgomery and JSRT dataset

2.1.2 肺炎数据集 本文在Wang等人[22]研究的基础上,对5个公开的胸片数据集进行整合,得到了肺炎数据集。肺炎数据集含有正常胸片、普通肺炎胸片和新冠肺炎胸片3个类别。其中,正常胸片有8 062张,肺炎胸片有5 501张,新冠肺炎胸片有562张。本文将肺炎数据集划分为训练集、验证集和测试集,具体划分方法如表2所示,可以看到,训练集中正常胸片有7 862张,普通肺炎胸片有5 301张,而新冠肺炎胸片仅有362张,新冠肺炎胸片数量过少。

表2 数据集划分方式Tab.2 The division of pneumonia dataset

2.2 实验设置

所有的实验均在一台装有 Ubuntu 18.04 的服务器上进行,CPU型号为Intel Core i7-6800k,GPU型号为 RTX2080Ti,内存大小为64 GB。

在肺野分割实验中,肺野分割网络的输入大小为512×512,批量大小设置为 2,初始学习率为 0.001,使用Adam优化器优化损失函数,直到模型训练100代停止训练。同时,为了避免在训练过程中出现过拟合问题,本文对X光胸片进行旋转、移动、剪切、缩放和翻转等数据增强操作。

在肺炎分类实验中, 数据增强步骤的“擦除”概率p取0.5, 擦除区域的面积为肺野面积的1/15,输入网络的X光胸片大小为256×256,批量大小设置为15,初始学习率设为0.01。在训练过程中使用指数衰减法不断降低学习率,交叉熵作为损失函数,采用Adam作为优化器,直到模型训练50代停止。

2.3 肺野分割实验

2.3.1 肺野分割算法对比 本文在JSRT数据集和Montgomery数据集上将MSCFP-Net和流行的肺野分割方法进行了对比,评价指标选择PA(pixel accuracy)和Dice(Dice similarity coefficient),PA反映分类正确的像素点数占所有的像素点数的比例,Dice用于度量两个集合的相似性。实验结果如表3所示,可以看到,本文MSCFP-Net在JSRT数据集上的PA指标和Dice指标分别为98.76%和97.94%,在Montgomery 数据集上的PA指标和Dice指标分别为98.96%和97.85%,优于其他肺野分割方法。

为了更直观地显示MSCFP-Net的分割效果,本文将肺野金标准、MSCFP-Net的肺野分割图、U-Net的肺野分割图进行了可视化,如图4所示。其中,图4A为胸部X光片图,图4B为每张X光胸片对应的肺野金标准,图4C为U-Net的分割结果,图4D为MSCFP-Net的分割结果。根据图4第1行、第2行标出的矩形区域可以看出,MSCFP-Net的分割结果在边缘上比U-Net更加光滑,根据第3行、第4行标出的圆形区域可以看出,MSCFP-Net的分割结果不存在孔洞。

本文所提的肺野分割网络以编码-解码结构为基础,加入了多尺度特征融合模块和多尺度卷积模块,这两个模块虽然会降低网络效率,但却在一定程度上解决了分割出的肺野边缘不完整或内部存在孔洞的问题,并且在实际使用过程中可以达到0.21 s分割一张胸片的速度,满足快速处理的需求。

表3 各方法实验结果对比Tab.3 Experimental results comparison of different methods

图4 实验结果对比图Fig.4 Experimental results comparison

2.3.2 肺野分割的消融实验 为了证明MSCFP-Net中各个模块的有效性,本文在Montgomery数据集上进行了消融实验,实验结果如表4所示。结果表明,较Rashid[15]等提出的基于U-Net的方法,当在编码-解码网络中加入多尺度特征融合模块后,PA指标提高了0.41%,Dice指标提高了2.19%,在加入多尺度卷积模块后,网络性能得到进一步的提升,而当同时加入了多尺度融合模块和多尺度卷积模块,并使用本文提出的损失函数来训练网络,获得的模型达到了最好的性能。

表4 MSCFP-Net消融实验结果Tab.4 Ablation experiment results

2.4 肺炎分类实验

肺炎数据集上的分类准确率如表5所示,可以看到,在使用基于肺野分割的数据增强方法后,Resnet-18、Resnet-34、Resnet-50的分类准确率分别提高了1.4%、1.1%、1.1%。同时,为了证明基于肺野分割的数据增强方法适用于各种卷积神经网络结构,本文也在轻量化模型MobileNet上进行了实验,结果表明,使用基于肺野分割的数据增强方法可以将MobileNet分类准确率提高1.4%。

表5 肺炎分类结果Tab.5 Results of pneumonia classification

为了更好地展示本文所提基于肺野分割的数据增强方法能够有效避免漏诊问题的发生,即模型不会偏向于将肺炎样本预测为正常样本,本文分别对Resnet-50和MobileNet的混淆矩阵进行了可视化。其中,图5A和图5B分别为Resnet-50不使用数据增强和使用数据增强的混淆矩阵热图,可以看到,使用数据增强后,新冠肺炎检出率提高5.8%,图5C和图5D分别为MobileNet不使用数据增强和使用数据增强方法的混淆矩阵,使用数据增强后,新冠肺炎检出率提高了2.2%。

3 结语

由于目前语义分割网络分割出的肺野都存在内部空洞或者边缘不光滑等问题,本文提出了一种基于多尺度卷积和特征金字塔的肺野分割算法,用于从胸部X光片中分割肺野。该网络以编码-解码结构为基础,设计并添加了多尺度特征融合模块和多尺度卷积模块, 并且在训练网路时使用了考虑局部和整体分割效果的损失函数,实验表明,本文提出的方法较现有主流肺野分割方法获得了更好的分割效果。同时,本文将肺野分割网络进一步应用到肺炎筛查任务中,提出了一种基于肺野分割的数据增强方法,有效提高了新冠肺炎的检出率。

图5 混淆矩阵热力图Fig.5 Heat map of confusion matrix

猜你喜欢

胸片X光尺度
不同千伏的X线胸片检查在尘肺病诊断中的应用价值
环境史衰败论叙事的正误及其评判尺度
仿生武器大揭秘
X光下的物体
看X线胸片的六大要点你掌握了吗?
X光辐射会致癌吗?
呼吸双相对比胸片在小儿支原体肺炎中的诊断价值探讨
以长时间尺度看世界
X战警
9