特征金字塔网络在胸部X线摄影图像上筛检肺结核的价值
2019-03-18曹盼王斐刘哲刘锦程梁矿立袁吉欣池峰黄烨东杨健
曹盼 王斐 刘哲 刘锦程 梁矿立 袁吉欣 池峰 黄烨东 杨健
作者单位:710061 西安交通大学第一附属医院医学放射科(曹盼、王斐、刘哲、杨健);陕西省结核病防治院(刘锦程、梁矿立、袁吉欣);西安盈谷网络科技有限公司(池峰、黄烨东)
当前我国结核病防控任务十分艰巨[1],进行便捷有效的肺结核筛查十分重要。世界卫生组织推荐胸部X线摄影作为肺结核早期发现的重要筛查工具[2]。目前,大规模肺结核筛查工作主要在结核病流行区域(如新疆、广东等地区)、学校及社区的肺结核高危人群中开展[3-4],而如果缺乏结核病诊断经验丰富的放射科医师,容易造成误诊或漏诊。所以开发自动化、专业化和低成本的人工智能肺结核筛查技术显得十分迫切和重要。
最近,随着深度学习在医学领域的迅速发展,使得肺结核自动化筛查变为可能[5-8]。目前,基于医学图像的深度学习应用主要分为三类,即分类问题、检测问题和图像分割问题,主要的解决方法是基于深度神经卷积网络(deep convolutional neural networks,DCNN)。最近3年来已有学者利用DCNN在肺结核自动分类中取得了很好的效果[7]。而检测问题是除了对图像进行分类之外,更要对图像中的病灶进行定位,这也是医生最费时费力的工作之一。笔者尝试在目前研究很少的肺结核检测方面进行探索,预采用DCNN的其中一种方法——特征金字塔网络(feature pyramid network,FPN),解决图像分类及病灶位置的检测问题,在不增加原有模型计算量的情况下,大幅度提升了小病灶的位置检测性能,将有希望实现基于胸部X线摄影图像(简称“胸片”)进行肺结核人工智能的分类与定位。本研究不仅评估FPN在胸片上对健康人和肺结核患者进行分类的效果,更重要的是评估FPN在肺结核患者胸片上对病灶进行定位的价值。
材料和方法
一、研究对象
本研究纳入3个符合规定并且去标识的数据集。第1个数据集来自中国陕西省结核病防治院2016年1月至2017年12月住院的490例肺结核患者和100名门诊健康体检者的胸片;其中男350例,女240例,男∶女=1.46∶1,年龄16~78岁,中位年龄45岁。另外2个数据集来自美国国立卫生研究院[8],分别来自中国深圳和美国马里兰州蒙哥马利县,数据类型包括肺结核患者和正常人。本研究只纳入2个公开数据集的肺结核患者胸片,中国深圳数据集是由深圳市第三人民医院2012年9月门诊和住院患者中收集的共332例肺结核患者的胸片,其中男223例,女109例,男∶女=2.05∶1,年龄2~82岁,中位年龄42岁。美国马里兰州蒙哥马利县数据集是该地区实施肺结核筛查计划中收集的58例肺结核患者胸片,其中男37例,女21例,男∶女=1.76∶1,年龄14~89岁,中位年龄50岁。
二、纳入标准
陕西省结核病防治院肺结核患者纳入标准:(1)胸片异常,且符合肺结核及结核性胸膜炎的胸部X线征象;(2)痰涂片抗酸杆菌阳性;(3)临床可排除其他非结核性肺部疾病。
陕西省结核病防治院健康者纳入标准:(1)胸片正常;(2)临床可排除肺结核等疾病。
中国深圳和美国马里兰州蒙哥马利县数据集肺结核纳入标准:(1)胸片异常,并且符合肺结核的胸部X线征象;(2)具有专家确诊的临床病例记录;(3)深圳数据集原本共有336例患者,但本研究只纳入其中的332例患者,有4例患者未纳入,原因是2名参与标注和审核的放射医师均未在这4张胸片中发现明确病变。
三、研究方法
1. 数据预处理和数据标注:所有肺结核患者胸片图像均由2名结核病专科医院放射科医师(分别拥有10年和15年阅读胸片经验)进行审查和图像标注,人工标注的目的是得到图像标签。根据FPN网络对人群进行分类和目标检测设计了流程图,见图1。
图1 利用深度学习网络进行肺结核筛检流程图
2. 数据调整和扩增:胸片图像矩阵被调整为512×1024,提取该图像中的有效区域,并转换成便携式网络图形格式(portable network graphics,PNG)。为尽量利用有限的训练数据,将通过一系列随机变换堆数据进行提升,这有利于抑制过拟合,使得模型的泛化能力更好。本研究中对于图像数据通过反转、旋转、扭曲、缩放图像等方式来扩展训练数据。
3. 硬件配置:在深度学习过程中需用图形处理器(graphics processor unit,GPU)加快计算速度。本研究的仿真实验使用的是戴尔台式机,实验平台使用Linux操作系统,处理器为32核Intel(R)Xeon(R)CPU。
4. 建立FPN网络模型:本研究基于基础深度学习开源系统TensorFlow(谷歌研发的第二代人工智能学习系统),在已经标注的数据集上评价目前目标检测领域精度最优之一的深度学习网络模型FPN,其基本原理为利用深度卷积网络内在的多尺度、金字塔分级来构造具有很少需要额外成本的特征金字塔,开发了一种具有横向连接的自顶向下架构,用于在所有尺度上构建高级语义特征映射。预训练网络FPN是经基础的深度学习框架Tensor flow构建,预训练模型总共进行了200轮训练。
5. 数据训练及测试:本研究将上述980例数据按目前深度学习领域常用的训练集、测试集分配比例(分别为80%、20%)[7]的要求,将数据集分为训练集780例(张)和测试集200例(张)。训练集占比大的目的是为了保留足够多的阳性数据(本研究阳性数据为肺结核患者胸片)用于训练FPN,最终生成最优的网络模型;测试集的200张胸片(100张肺结核患者胸片和100张健康人胸片)用于评价最终训练好的FPN泛化能力,即FPN对未知数据的分类定位效能,因此训练集和测试集的数据相互独立无交叉。所有训练集和测试集数据用Python自带的随机数生成器(Python版本 2.7.6)进行随机化,目的是最终得出更好的预测和更精准的模型。
四、统计学处理
当临床上要求对每幅图像存在多个病灶进行定性、定量、定位诊断时,需要应用自由响应受试者工作特征曲线(free-response ROC,FROC)方法[9]。FROC允许对每幅胸片图像上任意区域的病灶或异常进行评价,因此本研究使用FROC曲线评价该模型对肺结核患者胸片中病灶的检测定位表现。在测试集上,生成FROC曲线。本研究中的FROC曲线是由Python中的matplotlib库生成。此外还对图像分类的敏感度和特异度,以及病变定位的真实检出率进行了评估。
采用一致性检验,使用MedCalc 18.1.9软件包进行统计学处理,以Kappa系数评价2名放射科医师间对肺结核诊断的一致性,K<0.4为一致性较差,0.4
结 果
一、FPN分类效能
以痰涂片和放射科医师评估结果为标准,FPN对测试集200张胸片进行分类的敏感度、特异度和准确度分别为96.0%、76.0%和86.0%(表1)。
二、FPN病灶检测
以人工标记的病灶为标准,测试集100张肺结核患者胸片中人工标记病灶共226处,FPN共检测出病灶242处,标记匹配数198处,检出匹配数208处,FPN实际给出的标注框与人工标记的标注框相同即为二者匹配,其敏感度为87.6%,假阳性率为14.0%(表2)。
三、FPN定位效能
在评价FPN对肺结核患者胸片中的病灶定位效能时,使用了FROC曲线,其定位最佳得分达到88.0%,并且当允许更多假阳性时,FPN的敏感度不断增加(图2)。
表1 以痰涂片和放射科医师评估为标准评价FPN对胸片(200张)分类的效能
注敏感度=真阳性例数/(真阳性例数+假阴性例数)×100%;特异度=真阴性例数/(真阴性例数+假阳性例数)×100%;准确度=(真阳性例数+真阴性例数)/(真阳性例数+假阳性例数+真阴性例数+假阴性例数)×100%
表2 以人工标记为标准评价FPN检测病灶(226处)的效能
注敏感度=标记匹配数/标记数×100%;假阳性率=(检出数-检出匹配数)/检出数×100%
图2 FPN的FROC曲线图
四、一致性分析
2名放射科医师分别对测试集的200张胸片进行诊断并统计结果(表3)。对2名放射科医师诊断肺结核的结果进行一致性检验,一致性分析结果显示,K=0.89,其95%CI值为0.83~0.95。
五、FPN输出结果
对有病灶及异常的胸片,FPN将检测定位结果输出为自动标注的红色边界框,并在其上方给出该处被认为是病灶的预测概率,用红色阿拉伯数字标明,并精确到小数点后6位(图3,4);如果胸片中有多处病灶及异常,FPN将针对每一处给出红色边界框和预测概率(图5,6);对于正常胸片,FPN不输出任何标注,即输出为原胸片图像(图7,8)。
讨 论
一、深度学习在检测肺结核中的应用
从2012年开始,深度学习逐渐成为机器学习的主流[10-11],已被广泛应用于医学图像的图像分割、图像配准、计算机辅助诊断等领域,并取得了可喜的成果[12-13]。有效的自动化和具有成本-效益的方法可帮助发展中国家结核病的筛查和评估工作,并有助于早期发现结核病,降低死亡率。因此,有学者开始研究利用深度学习网络在胸片中筛查肺结核患者。Lakhani和Sundaram[7]使用2种不同的深度卷积神经网络模型GoogLeNet和AlexNet在公开数据集中对肺结核和健康人群进行分类,2种方法的受试者曲线下面积分别达到了0.97和0.98。本研究使用了FPN检测肺结核,其具有以下特点:(1)主要用于目标检测、分割、标注等相关研究,尤其是小物体检测上效果更加显著,该模型目前在微软赞助的大规模数据集(COCO)上测试的结果排名第一(该数据集英文简称“COCO”,其由30多万张图片、80个类别构成);(2)可以对病灶进行准确定位和概率预测;(3)检测结果直观、明确,易被放射科医师所接受;(4)很好地解决了训练数据分类不平衡的问题,增加了图像中病灶区域的敏感度。
表3 2名放射科医师诊断肺结核的一致性分析
注Kappa=(p0-pe)/(1-pe),p0为实际观察一致率,pe为期望一致率(2次诊断结果由于偶然机会所造成的一致性)
图3 为肺结核患者胸片原图,显示左肺上野渗出灶 图4 为FPN输出结果,图中蓝色方框表示人工标记的病灶位置,红色方框表示FPN预测的病灶位置,本例预测该处可能为病灶的概率是97.8% 图5 为肺结核患者胸片原图,显示两肺多发渗出病灶伴双侧胸腔积液,其中右侧为液气胸 图6 为FPN输出结果,图中绿色边界框表示人工标记的病灶位置,红色边界框表示FPN预测的病灶位置,可观察到FPN除检测到两肺实质内多发病变,给出最高95.8%的病灶预测概率,还检测到双侧胸腔积液以及右侧液气胸,给出最高99.6%的病灶预测概率 图7 为健康人胸片原图,未去除体外异物 图8 为FPN输入结果,红色边界框表示FPN预测的病灶位置,从图8中观察,FPN将位于右肺上野的体外异物及肩胛骨重叠影误认为是病灶,分别给出76.1%和72.9%的预测值
二、FPN定位肺结核病灶的评价
本研究使用一个独立而非公共的数据集测试了FPN的检测定位性能,该数据集中的胸片均为痰涂片培养阳性,并且包括了肺实质结核和结核性胸膜炎患者,数据种类相对更复杂。
首先,FPN可对胸片中的病变进行检测和定位,使用了清晰直观的边界框对病灶进行定位,并在其上方给出该区域被认为是病灶的概率,图4中FPN认为该处可能为病灶的概率为97.8%,这样的指标有利于影像科医师对于结核病患者初诊和复诊胸片进行对比,观察病灶吸收情况,为临床医师提供疗效评价。之前,Lakhani和Sundaram[7]及Hwang等[13]的研究中均为分类任务,对病变的最终展示均为类热成像图,病变展示不够直观明确,可能会影响放射科医师对结核病变的直观判断,并且未能提供对病变的预测概率等实用指标。FPN的定位得分(FROC)达到88.0%,这与Liu等[14]的研究相符合,该研究是利用DCNN在高分辨率的病理图片上检测癌症转移,对恶性转移性病变定位取得了很好的效果,其FROC得分高达89.0%。
其次,FPN可在胸片中检测出胸腔积液、液气胸等结核性胸膜炎病灶的位置(图6),而国外相关的肺结核深度学习研究中[7,13]均未涉及结核性胸膜炎的检测,说明FPN可能对于结核性胸膜炎及气胸等其他类型病灶具有很好的检出定位效果。
本研究测试集数据都基于中国患者,更符合我国患者特征。鉴于目前FPN对肺内病灶和结核性胸膜炎病灶均有较好的检出效果,并且随着高质量标注数据的增加和算法不断的迭代更新,FPN对肺结核病灶的筛检将更加高效和准确。因此,在我国的结核病流行地区、学校及社区肺结核高危人群中引入FPN,可能会在减轻我国结核病负担、增强基层医疗卫生机构对肺结核的筛检能力减少漏诊方面起到重要作用。
三、本研究的局限性和不足
首先,FPN误判1例患者(图8),将胸片上异物和肩胛骨重叠影误判为病灶,这要求患者在放射科进行X线胸部摄影时必须去除体外异物,并且采取标准的摄影体位和曝光条件等。其次,本研究使用回顾性数据集,由于训练和测试数据过少,故FPN检测性能有待提高。第三,最近Rajpurkar等[15]利用其发明的CheXnet卷积神经网络,在美国国立卫生院公开的大规模胸部X线数据集ChestX-ray14上检测肺炎,结果表明该网络在包括肺不张、肺实变、气胸等14种胸部病变中检出肺炎的敏感度、特异度和准确度指标均超过了放射科医师,为真实世界中的疾病筛查提供了非常重要的研究方向;而本研究的数据集由健康人和肺结核患者胸片构成,疾病种类单一,并且肺结核患病率远低于本研究测试环境,因此实用性不足。在未来将尝试把本研究的数据集与ChestX-ray14数据集合并,探索在真实筛查环境中FPN检测肺结核的能力。
总之,FPN不仅对肺结核患者胸片和健康人胸片分类效果良好,更重要的是实现了对病灶位置的检测定位。