基于深度残差网络研发辅助诊断软件用于X线胸片分类诊断

2019-09-25 02:26张晓东孙兆男任昕周宇周雯李建辉谢辉辉刘婧张虽虽李津书王霄英
放射学实践 2019年9期
关键词:报告分类图像

张晓东,孙兆男,任昕,周宇,周雯,李建辉,谢辉辉,刘婧,张虽虽,李津书,王霄英

表1 CXR二分类模型研发数据筛选方法

注:*0=无发现;1=有发现

胸部X线片(chest X-ray,CXR)是诊断呼吸系统疾病的重要影像检查方法,在医学影像科日常工作中占很大比例。使用CXR进行检查的临床场景包括门诊检查、术前常规检查、健康体检、急诊检查等[1];在前三种情况下,CXR结果多数为正常,影像检查的任务是检出少数的异常者,再做进一步处理(如行胸部CT检查等)。近年来人工智能(artificial intelligence,AI)领域的技术开始应用于CXR的质控、图像分割和诊断等工作[2-6],初步结果认为在适应证明确的情况下,AI对完成影像检查任务是有帮助的。本研究拟使用深度学习方法研发影像辅助诊断工具,对门诊、术前常规和体检人群的CXR进行“无发现”、“有发现”的分类(以下简称二分类),以提高医学影像科医师的工作效率。

材料与方法

本研究获得了本院伦理审查委员会的批准,按照本单位AI项目研发规范开展研究工作。

1.用例定义

根据本单位AI项目管理方法,首先定义研发CXR二分类AI模型的用例(Use Case)[7],包括以下内容:CXR二分类AI模型的ID、临床问题、场景描述、模型在实际工作中的调用流程、模型输入输出数据结构等。AI模型返回结果定义为“无发现”和“有发现”两类。“无发现”的定义:CXR上未见应写入报告的影像发现,诊断印象为两肺心膈未见异常。“有发现”的定义:CXR上有需要在报告中提及的任何影像所见,包括(但不限于)胸壁、肺、纵隔、横膈、上腹部的影像所见,诊断印象中提及了一种以上的影像所见。

2.研究队列建立

回顾性收集CXR数据建立二分类模型研发队列。从本院PACS系统中检索2017年7月1日至2018年7月1日的连续资料,由2位住院医师根据登记信息、设备信息、影像报告和CXR图像进行筛选,再由1位高年资医师再次读片,对图像进行最终分类(表1)。

经过数据筛选建立研究队列,获得“无发现”患者的CXR图像共9765幅,“有发现”患者的CXR图像共9956幅。以患者为单位随机分为训练集(training dataset,70%)、调优集(validation dataset,20%)和测试集(testing dataset,10%),各个数据集中的患者信息是不同的,具体见表2。

表2 CXR二分类模型训练过程中的数据分配 (例)

3.数据处理

CXR二分类模型输入图像大小为512×512,模型输出为“无发现”、“有发现”二分类概率,并可通过Grad-CAM方法得到该模型的激活热图。

模型训练的初始权重来源于ImageNet预训练ResNet152模型[8]。图像预处理部分包括以下步骤:原始图像大小缩放至512×512, 并对图像像素值按照ImageNet数据集的均值和方差进行归一化处理。扩增方法:随机旋转、缩放、平移等。

图1 基于ResNet152基础架构并结合Grad-CAM的CXR二分类模型训练过程。 图2 CXR二分类模型在测试集中的混淆矩阵。 图3 CXR二分类模型在测试集中的ROC曲线。

4.模型训练

在NVIDIA GPU(P100,Nvidia Corporation,Santa Clara,CA)上利用Pytorch (https://pytorch.org/) 深度学习Python库,在本院收集整理的临床患者CXR图像数据集上进行开发和训练。

二分类模型基于152层的卷积神经网络模型,以Resnet为卷积神经网络(convolutional neural network,CNN)深度学习模型的基础架构[9],结合梯度类别激活图(gradient class activation maps,Grad-CAM)方法[10],建立可以同时显示分类结果及激活热图的CXR二分类模型(图1)。

训练和调优分别在训练集和调优集数据上进行,训练好的模型在测试集上验证。用测试集的混淆矩阵(confusion matrix)评价二分类模型的效能,得到将CXR分为“无发现”与“有发现”的精确度(precision)、召回率(recall)、F1-分数(F1-score)及受试者工作特征(receiver operating characteristic,ROC)曲线的曲线下面积。将CXR二分类模型预测结果返回到结构化报告中,以保证AI模型在临床工作流程中的可用性。

结 果

CXR二分类模型对测试集数据预测的混淆矩阵(图2)显示,分类的精确度、召回率和F1-分数均较高(表3), ROC曲线下面积均为0.96(图3)。在测试集1018个“有发现”的病例中,模型正确识别了其中914个,有104个未被识别出来;995个“无发现”的病例中,模型正确识别了其中876个,其中119个被误认为“有发现”。以“有发现”为阳性,模型的假阴性率为10.6%,假阳性率为11.5%。经与影像专家的读片结果进行对照,发现假阴性者的主要“发现”种类为:少量纤维索条影、小范围钙化、心脏轮廓稍饱满、主动脉结轻度突出、肺门影稍重、肺纹理轻度增多、肋骨变异等。

表3 CXR二分类模型在测试集中的分类效能

CXR二分类模型返回了激活图(图4~6),可以看到图像中的病灶区域与预测为“有发现”的激活区域基本吻合,而如果将该图像预测为正常的话,其激活高亮区域大部分散在分布,与解剖学上的特征区域没有相关性。

根据用例设计要求,将CXR二分类模型结果直接返回到结构化报告中,生成相应的结果。对分类是“无发现”的,直接生成“正常”报告,包括常规影像表现和诊断印象,不返回激活图。对分类是“有发现”的,激活“异常”控件,并返回激活图(图7)。

讨 论

胸部X线检查是呼吸系统疾病重要的影像检查方法之一,是医学影像科工作中最常见的临床任务。在综合性医院,大多数常规体检和呼吸系统疾病筛查均首选CXR[11],且在这些诊断任务中相当多的影像诊断结果是“无发现”。使用辅助诊断软件将“有发现”与“无发现”分开,可提高医生的工作效率,有利于工作流程的优化。值得注意的是,本研究中此模型召回率和F1值不足0.9,将面临着10%左右的漏诊率和误诊率,尤其是漏诊将给临床应用价值带来较大影响。经与影像专家的读片结果进行对比,发现漏诊的情况主要集中于轻微影像改变,对临床结局影响不大,所以仍需在工作中持续改进。当前的改进方法是将在实际工作中发现的预测错误的数据持续性收集、整理、标注,用于模型的进一步训练,以实现模型的持续迭代。另一方面,将患者入组人群进一步细分,统一专家诊断标准,都有可能提高模型的准确率。

图4 心衰合并右肺病变及胸腔积液,CXR二分类预测结果为“有发现”。a)CXR原图;b)“有发现”的激活图,高亮区域为纵隔、心尖、右下肺,与影像征象异常的区域基本吻合;c)预测结果如果是“无发现”,则激活区域在肺外以及脊柱区域,与图像的关键解剖位置不相关。 图5 主动脉增宽,CXR二分类预测结果为“有发现”。a)CXR原图;b)“有发现”的激活图,高亮区域为中纵隔主动脉区域,与影像征象异常的区域基本吻合;c)预测结果如果是“无发现”,则激活区域散在分布于整个图像中,与图像的关键解剖位置不相关。 图6 深静脉置管,双侧胸腔积液,肺内散在小片渗出,CXR二分类预测结果为“有发现”。a)CXR原图;b)“有发现”的激活图,高亮区域为深静脉置管、双下胸部和左上肺,与影像征象异常的区域基本吻合;c)预测结果如果是“无发现”,则激活区域散在分布于整个图像中,无特殊规律,与图像的关键解剖位置不相关。

本研究结果显示,深度学习模型可以用于CXR的辅助诊断,这与既往研究结果相似[12,13]。对于医学图像的分类问题,模型的可解释性非常重要,有利于对模型分类结果的准确性评估。近年来,相关学者对于深度卷积神经网络模型的可解释性做了很多探索,其中CAM方法是对不同类别的卷积层生成的特征图加权求和而得到激活热图,通过该激活热图可以对模型分类的结果进行解释[14]。Grad-CAM是CAM技术的扩展,可以适用于任何CNN架构。本研究中CXR二分类模型利用Grad-CAM来生成分类激活热图,在该热图上可以展示输入图像中的哪些区域对于得到该分类结果是重要的激活区域。

本研究的数据筛选过程是由医生回顾性读片完成的。对于大样本模型训练,多是从报告中用自然语言处理(natural language processing,NLP)方法提取信息[15,16],优点是处理大量影像数据时可节省医生时间,但报告内容常欠规范,不完整,因些需要大量的数据,即便是大量数据其准确性仍欠佳[17]。本研究由影像医生进行数据筛选,且由高年资医生再次回顾性阅片确定图像分类,虽然在数据清洗过程中人力成本较高,但结果较好,用不太多的数据训练得到的模型,准确性仍很高[18]。

AI模型研发和泛化过程中应考虑技术问题[19]。本研究CXR二分类模型训练过程中未对设备进行筛选,使用了连续数据。CXR图像来自本单位在实际临床工作中使用的多种DR设备,由不同技师完成摄片工作,未根据设备、人员进行分组。本研究结果证明了不同DR设备、不同技师采集的图像均可用于模型的训练,且无论来源于何种DR设备的图像,其验证集数据的分类预测均达到较好的结果。胸部X线检查有明确的技术规范,经过常规培训的技师都可按照规范完成日常工作,操作一致性强;且现代DR设备有自动曝光功能,可自动设置最佳投照条件并调整图像的窗水平,因此图像预处理难度不大,可适用于多种AI模型的训练[19]。由于常规CXR基本可以保证图像质量,来源于不同设备的图像性质差别不大,从这个角度考虑,在CXR二分类模型泛化过程中,没有图像采集技术上的风险。

图7 CXR二分类模型与结构化报告整合的流程。

从实际场景出发设定AI研发目标,是项目设计的关键问题,决定了模型临床应用的适用性[20]。本研究CXR二分类模型训练过程中定义的分类输出结果为“无发现”和“有发现”。在最初的用例设计中,拟将返回的二分类值定义为 “正常”和“异常”,但在实际建立队列过程中,发现“肺心膈正常”并不是“正常”。在“肺心膈正常”时,图像中如存在有临床意义的其他征象,也需要报告出来;如“单侧乳腺切除术后,胸壁软组织缺失,两肺心膈未见异常”,再如“PICC置入术后,两肺心膈未见异常”等,这些术后改变、置入物等信息,都是CXR检查应发现并报告给临床医生的。因此,为了提高模型训练效率,本研究中将“肺心膈正常”且不合并其他任何需报告的情况归为“无发现”;将有疾病影像表现,或“肺心膈正常但合并其它有临床意义的所见”情况归为“有发现”。

AI临床应用的一个基本要求是与临床流程整合。在符合法规、伦理的框架下,国内外技术人员做过很多探索[21],均认为把AI模型作为独立第三方软件使用的形式不是最优解。笔者认为将AI结果直接返回到临床实际使用的结构化报告,是较好的解决方案[22]。为了提高临床工作效率,在将CXR二分类结果返回到报告时,如果模型预测结果为“无发现”,则激活“两肺心膈未见异常”的报告内容,此时报告是完全自动生成的。如果模型预测结果为“有发现”,则在报告中激活的是“异常”控件,需要医生进一步对异常进行描述,这时报告是半自动生成的。本单位临床实际工作中CXR“无发现”的情况较常见,占到工作量的一半以上,因此如将CXR二分类模型接入报告,在分类准确率足够高时,能明显提高临床工作效率。而且由模型返回结果自动生成的报告,语言规范、结构清晰,对未来提取报告信息做其他研究分析也有利[23]。

本研究的局限性:①CXR二分类模型在“有发现”情况下提供的信息不是具体疾病,临床价值受限,仍需进一步优化,训练用于多种疾病诊断的CXR多分类AI模型[3],针对不同体位[2]、不同年龄、不同申请目的时对多种常见疾病做出诊断[24,25];②模型研发后应在实际临床工作中进行验证,开展前瞻性、随机对照临床试验,证明使用AI模型的临床获益;③CXR 二分类模型在本单位经过验证后,应尝试将其泛化[26],应用于不同医疗机构、不同临床场景下,进一步提高其适用性。

综上所述,使用深度学习模型可对X线胸片做出“无发现”与“有发现”的分类诊断,在常规临床工作中使用模型分检病例,有利于提高医学影像科的工作效率。

致谢:感谢北京赛迈特锐医学科技有限公司张欣静、郭嘉欣在数据整理工作中的贡献。

猜你喜欢
报告分类图像
分类算一算
巧用图像中的点、线、面解题
有趣的图像诗
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类
报告
报告
报告
遥感图像几何纠正中GCP选取