马依迪丽·尼加提,田序伟,米日古丽·达毛拉,阿布都克尤木·阿布力孜,阿里木江·阿卜杜凯尤木,戴国朝,董家科
喀什地区第一人民医院 影像中心,新疆 喀什 844000
结核病为结核杆菌感染引起的传染性疾病,结核杆菌的侵入通常会造成肺部感染,也会感染身体的其他部位,大多数结核杆菌的感染者没有症状,称为潜伏结核感染[1-3]。若没有及时进行适当治疗,10%的潜伏感染患者会恶化为活动性结核,致死率会高达50%[4]。结核病是全球第九大致死性疾病,也是由单一病原体感染造成患者死亡的主要疾病之一[5]。世界卫生组织报道,目前全球有近1/3 的人已感染结核杆菌,即全球20 亿人口体内携带结核杆菌。据统计,全球已有活动性肺结核患者约2000 万,每年新发结核病患者近1000 万[6]。肺结核可发生在全球任何一个地方,其中亚洲地区为肺结核的最高发地带,占全球肺结核发病率的60%[7-8]。临床实践中,结核病的准确检测与诊断仍存在诸多挑战,以我国为例,东部城镇综合性大医院结核病漏诊漏报情况频发,中西部及农村地区医疗资源稀缺导致结核病检出率更低,漏诊情况更严重[9]。
目前结核病诊断的“金标准”是结核杆菌培养,但结核杆菌培养存在两个问题:① 结核杆菌培养时间长,单次检测需要1 个月的时间;② 存在菌阴性肺结核病例,且这一类病例比例高达50%,因此,有50%的活动性肺结核患者无法通过结核杆菌培养的方式实现结核病的确诊[9]。因此,影像学信息对结核病的诊断具有非常重要的参考意义。作为经济便捷的检测方法,X 线胸片是肺结核筛查的主要手段,医生可以通过X 线胸片来判断肺结核的发生及病灶位置。然而,诊断的效率和准确度均十分依赖于阅片医生的经验和水平[10-11]。由于缺乏大量专业的医学影像医生,在临床中很难保证肺结核病诊断的整体效率和准确度。此外,肺部异常疾病在X 线胸片上有多种不同的表型和症状,临床研究表明,多种不同的表型和症状往往伴随出现,并且分辨难度较高。这些均给影像医生阅片带来了巨大的挑战,使结核病的诊断成为一项艰巨而耗时的工作。
随着人工智能(Artificial Intelligence,AI)技术在医学影像领域的发展,许多基于深度学习算法的研究致力于开发肺结核自动检测系统,并取得了一定的成果。Lakhani 等[12]采用两种不同的深度卷积神经网络(Deep Convolutional Neural Networks,DCNN)AlexNet和GoogLeNet 将肺部影像分类为具有肺结核病例或不具有肺结核的健康病例。该方法使用ImageNet 上未经训练和预训练的网络,并采用多种预处理技术进行数据增强。Govindarajan 等[13]提出了一种使用“加速鲁棒特征”描述符和“特征袋”方法的结核病分类方案,首先采用水平集算法分割肺叶,再利用多层感知器进行正常肺部和结核病感染肺部影像的分类。Pasa 等[14]提出了一个高效的卷积神经网络(Convolutional Neural Networks,CNN)模型,其具有5 个卷积层、1 个平均池化层和1 个Softmax 层,在保持模型准确性的同时,减少了模型的复杂性和计算成本。Stirenko 等[15]通过基于深度学习采用2D 胸部X 影像对结核病进行预测,提出的网络可以应用于小样本且不平衡的数据集。Hooda 等[16]使用了具有7 个卷积层和3 个全连接层的CNN 架构,比较了3 种不同优化器在X 线胸片肺结核上的诊断性能。Devnath 等[17]同样提出了一种基于DCNN 的肺结节检测算法,具有良好的肺结核诊断能力。
然而,以上方法在实际临床应用中均有一定的缺陷和局限性,并未得到广泛的应用,目前临床中仍亟需一种更准确、高效的肺结核自动检测模型,以降低临床诊断中的漏诊和误诊率。基于此,本研究以1217 例过往病例的X 线胸片影像数据为研究对象,基于DCNN 建立了一种新型肺结核检测模型,优化模型对微小病灶和隐匿性病灶的检出率,并通过在医疗资源匮乏地区的临床应用对比评估了检测模型用于胸部X 光片检测结核病的能力与价值。
本研究回顾性收集了2019 年3 月至2020 年7 月于喀什地区第一人民医院影像中心就诊患者的影像及临床数据。本研究由参与医院的机构审查委员会批准(伦理批号:2022 快审研第43 号)。
纳入标准:① 痰培养确诊为肺结核患者、非结核肺部异常的患者、正常对照患者;②X 线胸片影像资料完整;③ X 线胸片影像图像清晰;④ 患者在诊断时以站立姿势获得后前位胸片。排除标准:① 临床诊疗记录不完整;② 同时患有严重影响胸部X 光检查结果的疾病的患者(如肺癌、起搏器或除颤器放置、心脏或肺部手术史);③ 广泛性胸腔积液患者。
根据上述标准,共纳入1217 例患者,其中男性679 例、女性538 例,平均年龄56 岁,其中结核病例305 例、正常病例840 例、非结核肺部异常病例为72 例。患者被随机分为3 个数据集,以7 ∶2 ∶1 的比例在改进的RetinaNet 肺结核病灶检测模型上进行训练、验证和测试。此外,本研究还收集了两个外部公开肺结核数据集用于模型的外部验证,包括深圳市第三人民医院肺结核数据集(662 例,尺度3000×3000)和美国蒙哥马利县肺结核数据集(138 例,尺度4020×4892 和4892×4020),两个数据集共计数据800 例份。
数字化X 线摄影检查,摄影距离180 cm,用滤线栅,摄影体位后前位,中心线对准第六胸椎水平处垂直于探测器入射。
由1 名具有5 年影像诊断经验影像医师采用ITKSNAP(www.itksnap.org/)软件完成病灶区域检测框的标注,并由另一名具有10 年影像诊断经验的影像医师进行检查,若存在不同诊断意见,经过协商后统一。标注范围为包含病灶的整个区域,即包含血管、气管等成分。
本研究算法主要分为图像预处理(包括通用图像预处理和模型特定图像预处理)和肺结核病灶目标检测两部分。图像预处理部分主要包括DICOM 图像处理、图像转换和数据扩增,按照一定的逻辑转化为模型图像输入尺寸。之后将图像送入目标检测器,输出目标预选框,对目标框进行后处理,最后得到肺结核病灶框,算法概要流程如图1 所示。
图1 算法概要流程图
1.5.1 颜色空间转换
如果读入的DICOM 图像是三通道彩色图像,需转换为单通道灰度图像,若读入的DICOM 图像是单通道灰度图像,则不作任何处理。图像颜色空间转换计算方法为直接取三通道图像的第一通道作为输出(Iout),计算公式如公式(1)所示。
式中,Iin为原始DICOM 图像。
1.5.2 反片矫正
针对图像中的反片(与正片相对应,对黑色和白色的映射与正片图像刚好相反),需要对其进行矫正处理使其变为正片,反片矫正的计算方式如公式(2)所示。
式中,Iout表示输出的图像灰度矩阵;Iin表示原片图像。
进行了反片矫正之后和原始图像效果对比如图2所示。TAG(0028,0004) 是DICOM 图像的头文件信息,解释存储在DICOM 文件中的像素数据方式;MONOCHROME2 为像素数据表示单色图像平面。最小样本值在执行任何VOI 灰度转换后,预期显示为黑色。
图2 反片矫正结果图
1.5.3 灰度归一化
为避免不同机型和参数对模型预测结果的影响,需要对图像进行灰度归一化处理,将输入图像类型转换为浮点型,并将图像的灰度范围映射到[0.0,255.0],以免因不同图像灰度范围不一致导致模型泛化能力差。图像灰度归一化的计算方式如公式(3)所示。
式中,ε=1×10-7,其为避免发生除零错误而引入的额外参数。
1.5.4 图像标准化
为能充分利用迁移学习带来的性能提升,图像按照ImageNet 数据集的统计信息重新标准化。首先,图像被扩展为三通道图像,表达式如公式(4)所示;然后减去样本数据集的图像均值Im,得到标准化的图像,表达式如公式(5)所示。
1.5.5 尺度变换
为适配网络结构,输入图像将通过双线性插值算法进行尺度变换。1217 例原始图像的尺度为2287×2628、3072×3072 以及2638×2925,长宽比转换为1024×1024。最后对图像进行直方图均衡化,在不显著改变其他器官和背景灰度的情况下,突出肺部特征。
1.6.1 改进的RetinaNet模型描述
在目标检测领域,早期two-step 方式检测网络的准确率高于one-step 检测网络,但在RetinaNet[18]检测网络被提出后,one-step 检测网络的精度首次超过twostep 检测网络。为此,one-step 网络的检测速度与检测精度相较于two-step 网络均已占优势,故本研究选择RetinaNet 检测网络作为肺结核检测网络。RetinaNet 针对被检测目标中类别不均衡问题,本文在标准交叉熵损失函数基础上提出一种新的损失函数,称为focal loss,损失函数是在标准交叉熵损失基础上修改得到的。通过减少易分类样本的权重,使得模型在训练时更专注于稀疏的难分类的样本;防止大量易分类负样本在训练中压垮检测器,主要贡献是解决了目标检测中的类别不均衡问题。
本研究中在原有RetinaNet 的网络基础上在主干网络中引入通道注意力机制,优化对微小病灶和隐匿性病灶的检出率。本研究所采用的通道注意力机制模块主要由最大池化、卷积和全连接层再连接激活函数组成。通道注意力机制可以对不同特征图赋予不同的权重,较大权重的特征图对微小病灶和隐匿性病灶响应较好。总体来说,通道注意力机制的目的是细化目标特征在所有特征图中所占权重,优化最终的检测算法。
1.6.2 特征金字塔主干网络
使用特征金字塔网络(Feature Pyramid Networks,FPN)作为RetinaNet 的主干网。FPN 给标准的CNN 增加一个自顶向下的路径和侧向连接,来从图片的单一分辨率构建一个丰富的、多尺度的FPN。金字塔的每一层以不同尺寸检测对象。FPN 改善了全卷积网络的多尺寸预测,优化了对微小病灶和隐匿性病灶的检出率。整体检测算法框架图如图3 所示。
1.6.3 分类子网络
Focal loss 应用在分类子网络中,分类子网络预测每个anchor 上K 个类别的概率。子网络是附加在FPN的每一层的一个小的全卷积网络(Fully Convolutional Networks,FCN)。对于给定的金字塔层级输出的C 个通道的特征映射,子网络使用4 个3×3 的卷积层,每层的通道数仍然是C,以及1 个ReLU 层;然后与1 个通道数位KA(K 是类别数,A 是anchor 数)的3×3的卷积层;最后使用Sigmoid 函数。
1.6.4 边框回归子网络
与分类子网络并行,在FPN 的每层附加一个小的FCN 用于边框回归。边框回归子网络和分类子网络设计是一样的,不同之处为最后一层通道数是4A 个。边框回归的方法与基于区域的CNN 的边框回归一样。不同于大多数设计,本文使用类别无关的边框归回,参数更少,同样有效。分类子网络和边框回归子网络共享结构,参数独立。
经过预处理的图像经过检测模型的处理,网络会输出潜在肺结核目标框的位置和对应的置信度(可能有多个或没有)。使用非极大值抑制方法,将同一目标内的框按照分类置信度和IoU 阈值做筛选,剔除冗余地、低置信度的目标框;如果没有目标框输出,则认为该张图像中没有肺结核疾病征象的存在。
输出结果只保留置信度大于5%,IoU 大于0.3 的目标框,其余目标框全部舍弃,得到最终的肺结核预测目标框;如果没有目标框输出,则认为该张图像中没有肺结核疾病征象的存在。最终预测结果如图4 所示。
图4 预测结果示例
使用训练集数据对有无AI 系统辅助放射科医生的诊断效能进行对比,其中,放射科诊断医生选取两名,医生A 具有3 年相关阅片经验,医生B 具有5 年相关阅片经验,最终诊断结果取两个医生的平均值,诊断效能包括灵敏度、特异性和准确度。同时分析使用训练集数据对有无AI 系统辅助放射科医生的诊断效率进行对比,主要为阅片时间。
使用Linux 操作系统(ubuntu16.04;Xenial,伦敦,英格兰)和Tensorflow v1.6 深度学习框架(https://www.tensorflow.org/),具有CUDA 9.0.176 和CUDNN 7.0(Nvidia Corporation,Santa Clara,Calif)的图形处理单元加速依赖项。该计算机包含一个Intel Core i5-7500 3.4 gHz 处理器(Intel,Santa Clara,Calif)、4 TB硬盘空间、32 GB RAM 和一个支持CUDA 的Nvidia GeForce GTX 1080 Ti 图形处理单元。所有的统计分析和图形均使用Python 语言。
结核病例、正常病例及非结核病例在性别、年龄等人口学特征上的差异均无统计学意义(P>0.05),见表1。
表1 结核病例与正常病例及非肺结核病例患者的人口学特征比较
改进的RetinaNet 模型和原始RetinaNet 模型对训练集、验证集、测试集以及外部验证集评估的诊断性能如表2 所示,改进的RetinaNet 模型仅在测试集的AUC 略低于原始RetinaNet 模型,其他数据集的AUC 和准确度均高于原始RetinaNet 模型。同时改进的RetinaNet 模型在外部中心的公开数据集进行模型评价时,诊断性能较测试集和验证集表现更好(AUC 为0.879,准确度为0.847),即诊断模型具有良好泛化能力。
表2 RetinaNet肺结核病灶检测模型对训练集、验证集、测试集数据的诊断性能
如表3 所示,放射科医生在没有AI 系统辅助的情况下诊断的灵敏度、特异性和准确度分别为63.8%、98.4%、86.3%,当AI 系统参与辅助诊断时可将放射科医生的诊断灵敏度、特异性和准确度分别提高至77.4%、98.8%、91.3%。
表3 有无AI系统辅助的情况下放射科医生平均诊断效能比较(%)
在无AI 系统辅助下放射科医生对于病例的影像数据进行阅片时间为(37.43±1.2)s,有AI 系统辅助阅片时间为(13.97±4.3)s,在AI 系统辅助下放射科医生可以显著提高阅片诊断的效率(t=4.786,P<0.001)。
肺结核是全球最主要的呼吸道传染病之一,在许多发展中国家普遍存在,其中,印度、印度尼西亚和中国的结核病负担较高[19-20]。此外,在中国,肺结核是仅次于病毒性肝炎的第二大传染性疾病[21-22]。我国地域辽阔,医疗资源分布不均,农村或偏远地区医疗资源相对匮乏,居民难以获得及时、高质量的医疗服务,导致肺结核等传染性疾病发发率高,例如,新疆喀什地区是医疗资源相对匮乏的传染病高发区,其中肺结核发病率是全国平均发病率的10倍以上。喀什地区医疗卫生条件相对较差,专业技术人员匮乏,肺结核诊断准确性不高。此外临床上非结核患者也可能有频繁的胸部感染、呼吸困难和发烧,同时可能有肺结核一样的影像表现。这导致这些患者经常被误诊为肺结核病例,接受不当的治疗方法,进而引起不良反应。因此,对肺结核病准确的检测和诊断是至关重要的。
随着AI 技术在医学图像领域应用的发展,许多基于深度学习算法的研究致力于开发肺结核自动检测系统,并取得了一定的进展[23-24],最近的研究表明,深度学习方法可以从X 线胸片上读取识别各种类型肺部疑似疾病的外观,这是未来计算机辅助肺部疾病诊断的一个主要研究方向。本研究对AI 辅助肺结核的诊断进行了深入的研究,构建了基于DCNN 的检测模型来分析胸部X 线影像数据,并针对原有RetinaNet 的网络在主干网络中引入通道注意力机制,优化对微小病灶和隐匿性病灶的检出率。通道注意力机制可以对不同特征图赋予不同的权重,较大权重的特征图对微小病灶和隐匿性病灶响应较好,最终细化了较难目标特征在所有特征图中所占权重,改进优化了肺结核的检测算法。
本研究开发的检测模型在肺结核诊断性能方面表现出色且具有较好的泛化能力,如Ghorakavi 等[25]基于深度学习方法开发的肺结核检测网络TB-Net,该网络使用了基于多个特征的数据增强方法,从原始胸片中寻找敏感区域和噪声作为输入进行模型训练,最终该研究在多个模型中训练得到的最优验证集和测试集准确度得分分别为0.813 和0.754。本研究的检测模型优化了对微小病灶和隐匿性病灶的检出率,可以用于快速检测和定位X 线胸片中的微小和隐匿性肺结核病灶,并给出相应的置信指数和病灶位置信息,大幅度提高医生的工作效率和肺结核诊断的准确率,用于大批量筛查肺结核高风险人群。本研究结果还显示,在AI 系统的辅助下进行肺结核诊断的平均灵敏度提高了13.6%。虽然假阳性率也略有上升,但对于人群结核病的大批量筛查与预防而言,高灵敏度对于此类传染病的预防和控制具有更显著和重要的意义。除了检测准确度以外,检测效率也是结核病大批量筛查的一个重要方面,特别是在放射科医生工作量大、资源匮乏的地区。同时AI 系统的辅助可显著缩短放射科医生的平均阅片时间。因此,AI 系统辅助诊断不仅提高了肺结核病检测的准确度,而且大大提高了放射科医生的工作效率,节省了临床诊断的时间。
本文构建的改进的RetinaNet 肺结核病灶检测模型包含多种优化措施,可以显著提高检测网络的准确率和数据处理速度。本检测模型在外部验证集上的诊断性能指标AUC 为0.879,准确度为0.847,能够满足临床诊断的需求,辅助放射科医生和公共卫生提供者在结核病流行地区开展快速、准确、高效的大规模结核病筛查工作。