基于Python的肺结核胸片病灶检测系统设计
2022-09-15夏启铭余响全肖雪梅
夏启铭,余响全,韦 勇,肖雪梅
(遵义医科大学 信息工程学院,贵州 遵义 563000)
0 引言
肺结核疾病自19世纪以来,发展至今有100多年的历史。在国际肺病大会期间,世界卫生组织(World Health Organization,WHO)提出2035年初步消灭结核病,2050年完全消灭结核病的远景目标[1]。在全球范围内,每年新发结核病患者在1 000万左右,死亡人数接近150万人,作为全球前十的死因之一[2],结核病容易造成聚集性疫情,构成突发的公共卫生事件,给人们带来极大的健康威胁。目前,中国仍是世界结核病高发区30个国家之一,结核病病例数居世界第三位[3]。可以感受到,2020年初来势汹汹的新型冠状病毒,为我们的生产生活带来了极大的阻碍,严重地威胁到了人类的身体健康,疫情控制过程中,医学影像诊断也发挥了重要作用,在医学成像技术和计算机技术不断进步的形势下,医学图像分析已经成为医学研究、疾病诊疗中必不可少的一部分。
目前医学图像处理作为临床诊断的主要辅助工具,而计算机技术应用在医学领域也是近些年来国内外的一项热门研究。随着近年来深度学习的快速发展,基于深度学习的计算机辅助诊断技术在医学图像处理方面受到了极大的关注[4],在医学图像处理方面的图像识别、医学病理、检测等很多领域逐渐起着越发主要的作用,具有广阔的应用前景和科研视觉算法价值,逐渐成为医学图像处理方面的一个热门研究方向。利用计算机辅助诊断技术对医学图像进行自动分析能够提供一个客观的诊断结果,减少医生的主观性判断,提高医生的工作效率。现代医疗体系下,医生需要执行治疗过程中的每一个步骤,这就需要医生有快速的思考和决策能力,很多在医学上的认知都来源于经验的积累和总结,由于这种对医生诊断依赖,诊断结果会产生一定的偏差,而机器学习的应用可以观察到更加细微的东西,来达到辅助诊断的目的。
1 结核胸片相关研究
世界卫生组织推荐的痰涂片荧光显微镜和X射线检查,是识别PTB可疑症状最广泛且较为有效的诊断方法[5]。以人的肉眼直接通过痰涂片显微镜进行检测,不仅烦琐、工作量大,还会降低检测结果的准确性。因此,计算机辅助诊断是一条很有必要发展的检测路径。推荐肺结核影像检测方法:胸部X线片和CT成像。前者是肺结核影像诊断标准中明确提出胸部X线片可作为肺结核筛查或治疗后疗效评估的常用手段[6],后者作为目前诊断的主要手段。
2 基于Python的肺结核胸片病灶检测系统设计
2.1 需求分析
本系统是在Windows10操作系统下利用PyCharm作为开发平台,MySQL数据库作为数据支撑进行设计的。该系统用户主要为就诊的患者和诊断的医生,以及管理员。目前,医疗数据中很大部分都来源于医学,这些数据已经成为医生诊断必不可少的东西,在一些重大疾病的辅助筛查、诊断、决策和治疗过程中发挥着关键作用。生物医学是在不同尺度下对人体的观测,具有多种成像模式,这些影像数据会对医生的诊断产生部分影响。随着医学图像数据量的快速增长,医生长时间的阅片诊断,难免出现视觉疲劳,并且一些细小的病变难以用肉眼观察到,出现诊断效率下降等问题,而机器学习在影像分析过程中,可以观测得更加细微。因此,通过计算机进行医学肺部图像的处理就显得极为重要。本项目将利用Python实现肺结核胸片检测,使患者胸片诊断质量得到一定的保障。
本系统的设计主要针对医学图像数量日益增长,医生阅片压力增加的需求,在保障一定的诊断质量的前提下,协助医生诊断,为阅片医生省时省力,大大降低了医生的工作压力,医学信息影像所面临的诊断结果准确性和医生缺口等问题也迎刃而解,而患者通过此系统也比较便捷地了解到自己的诊断结果。同样,在后台管理方面,此系统设置了双重管理机制,即普通管理员和超级管理员,只有管理员才能登录后台,超级管理员决定了管理员的权限,包括所展示的内容及数据操作权限,不同管理权限意味着不同的管理条目,管理员在管理数据表时,数据量较少时方便管理,为满足数据量大的情况,在后台自定义中加入了查找功能,使管理更加方便合理。
2.2 系统功能模块
肺结核病灶检测系统分为3个板块,即用户模块、图像处理模块。用户模块又分为用户登录/注册和用户信息管理。注册/登录模块用于完成用户的注册/登录,以及个人信息管理功能,管理员对用户信息的管理功能。由于Django管理员由后台超级管理员添加和分配管理权限,此处便没有管理员注册;图像处理模块又分为导入图像、图像预处理、图像分析、图像管理4个小模块,该模块为此系统核心功能,图像的管理由超级管理员完成。系统功能模块如图1所示。
图1 系统功能模块
核心功能概述如下。
(1)导入图像:将病人的肺结核胸片导入系统中,此系统采用本地上传的方式,对图像进行导入和存储,存储内容包括胸片位置、名称、所属、诊断结果、时间。
(2)图像预处理:对比度增强、去噪。
(3)标出病灶可疑区域:将图像传入算法,在算法分析过后,对图像可疑区域进行标注,框选出可疑病灶区域,以便医生观察,做出诊断,诊断结果也将和胸片基本信息一同存储。
2.3 系统工作流程
此检测系统分为用户模块、图像处理模块和管理模块,首先进行用户注册,注册成功后方可登录,进入登录界面后选择身份(用户或管理员)登录,登录后检查相关个人信息。若信息不完善,提示完善个人信息,也可对个人信息进行修改操作。若要修改个人信息,提交修改保存个人信息后即可进行其他操作。若是管理员登录此系统,管理员分为超级管理员和普通管理员,不同权限的管理员进行不同的信息管理,超级管理员的权限比普通管理员稍大,超级管理员可对普通管理员、医生、图像等进行管理,普通管理员则无此权限。普通管理员可对用户信息进行管理。进入图像处理部分流程,首先导入图像,即将病人的肺结核胸片导入系统中;对图像预处理,对比度增强、去噪;标出病灶可疑区域,对图像可疑区域进行标注,以便医生观察,在医生诊断完成后,输入诊断结果并提交,胸片和诊断信息便存储到数据库。操作完成若对检测结果不满意,可再次检测,满意则可返回系统界面,在需要某一患者胸片信息的情况下,医生也可对胸片信息表进行查询操作,若无其他操作可退出系统,系统流程如图2所示。
图2 系统流程
2.4 系统数据库设计
此系统采用的是MySQL数据库,由此建立了4张表。主要的数据表有:auth_user为管理员信息表、user为患者信息表、d_user为医生信息表、images为胸片存储表。
其中,用户信息表user与胸片存储表images相关联。系统E-R图如图3所示。
图3 系统E-R图
2.5 Efficientdet算法
Efficientdet算法是由Google Brain团队的三位领导者于2019年提出,其亮点在于使用双向特征金字塔网络以 及 一 种 复 合 尺 度 缩 放 方 法(见 图4)[7]。EfficientDet可以分为主干特征提取网络、加强特征提取网络和预测网络。特征提取网络是基于Google的EfficientNet网络,有D0~D7八个主干特征提取网络层次,依次速度逐渐变慢,但精度主键提高,其功能是将输入的图片不断下采样,下采样次数为5次(p1~p5)。p1是输入图片长、高压缩后的结果;p2是长、高压缩2次后的结果;p3是长、高压缩3次后的结果;p4是长、高压缩4次后的结果;p5是长、高压缩5次后的结果。P3~P5具有较高的语义信息;P6和P7是在P5的基础上压缩得到的语义信息。BiFPN Layer是加强特征提取网络,采用双向特征金字塔网络。预测网络的功能是将提取到的特征转化成预测结果,分为类别预测网络(Class prediction net)和边界框预测网络(Box prediction net),前者的功能是对先验框进行分类,后者的功能是对先验框进行调整,获得最终的预测结果。
图4 Efficientdet算法流程
3 结语
我国有世界上第二大的结核病病情,因此,快速、高效的诊断,对病人及时采取治疗,是控制该种疾病的关键问题。本文首先研究了肺结核疾病的检测现状,发现当前的结核病检测率不高。随着社会经济、科学技术的发展,传统的检测方法已无法满足临床的医疗诊断。本文旨在设计一个针对肺结核疾病的检测系统,主要应用的算法是EfficientDet算法。该算法不仅高效,还能很大程度上减少影像医生的工作量,提高结核病的检测率。如何利用该图像识别算法制作一个完善的系统将是下一步的研究方向,毕竟传统的肺结核病诊断方法已满足不了临床医学的需求。在此背景下,利用人工智能计算机辅助诊断是一个能帮助影像医生快速、高效判断的有效途径。