APP下载

脑脊液细胞学AI分析系统的设计与实现

2022-11-25崔永刚陈德华

现代计算机 2022年17期
关键词:脑脊液医师病理

崔永刚,王 梅,陈德华,潘 乔

(东华大学计算机科学与技术学院,上海 201620)

0 引言

脑脊液是在大脑的腔室和管腔,脊髓的中央管中以及在大脑和脊髓的外部发现的透明液体,其内部包含二十多种细胞,这些细胞的数量及形态反映了机体的健康状况。目前使用显微镜对脑脊液进行检查是诊断多种传染性、炎性和代谢性疾病的主要手段。在临床工作中,大多数医院的检查方式为使用电子显微镜对细胞影像进行观察,记录电镜图片,再由医生对不同的细胞或细菌进行辨认分类并计数[1]。由于脑脊液中所含有的细胞种类较多,且不同种类细胞的视觉特征非常相似,再加上需要辨别统计的细胞数量十分庞大,对于医生来说无疑是一项繁重的任务。除此之外,不同规模的医院以及不同发展情况的城市对于病理医师的配置情况也有所不同,一些地方医院没有能力配置病理医师进行脑脊液成像的辨别,而对病人来说,于各医院之间的奔波不仅会加重病人的经济负担,甚至有可能延误最佳的治疗时机。

针对上述问题,本文提出基于深度学习研发的脑脊液细胞学AI分析系统,针对特定应用场景,通过使用前后端分离系统实现技术、目标检测等技术,进而实现对细胞进行检测以及分类,不同类别细胞的计数统计,辅助病理医师标注制作新的数据集,对数据集进行处理以及模型的补充训练等功能。区别于一般的目标检测系统,本系统引入了细胞形态学进行特征提取以达到辅助分类的效果,并引入了事后解释器对分类依据进行解释。

1 整体设计

本文以实际医院中病理科对脑脊液显微镜载玻片进行细胞学检查为应用场景,开发了脑脊液AI辅助分析Web系统。在实际应用中,还需要配置相应的硬件,本系统配套的主要硬件有:①光学显微镜;②CCD相机;③控制箱;④计算机(内置影像系统);⑤边缘微服务器。主要的使用过程为:首先,控制箱控制显微镜镜头移动,对多张载玻片进行自动扫描切片,同时光学显微镜的CCD模块会截取到显微镜内的脑脊液细胞涂片图像,截取到的图像通过连接线以电信号的形式传输最终编码成bmp格式的图片存储到医生端的计算机中。脑脊液细胞学AI分析系统采用B/S架构模式,被部署在边缘微服务器上,通过病理医师端的计算机浏览器可以访问该Web应用,实现对脑脊液影像的上传、预测以及数据集的标注、训练。

如图1所示,本系统主要包含五个模块。其中,采集的脑脊液图像通过图像上传模块上传到服务器;通过预测模块进行处理,预测模块主要包含了对细胞图像进行检测分类,输出模型的可解释结果,以及细胞计数服务;辅助标注模块用来对脑脊液图像进行标注,扩充数据集;通过补充训练模块对数据集进行处理,实现模型新的训练;通过信息管理模块对患者就诊记录进行管理。

系统采用了Spring Boot+Vue+Mybatis框架,B/S架构,将web系统的前端与后端分为两个独立的模块分别进行开发部署。在前端,设计一个基于Web界面的交互及可视化工具,供用户进行交互式的操作及图像的展示;在后端,使用服务器存储医学图像数据,接收客户端的请求并对医学图像数据进行处理和分析并返回到界面,这种方式可以有效提高开发过程的灵活度以及用户的体验。

本系统采用了MySQL和Redis两种类型的数据库。其中MySQL主要用来对病人信息、就诊记录、预测结果进行持久储存,对于经常访问的热点数据,系统采用Redis作为缓存,以减少去MySQL获取数据的时间,提升医生端的访问体验。如图2所示,数据库主要设计了patient、record、prediction、image、slime、train和manager七个表,其中patient表用于存储患者信息,record表存储了每个患者的就诊记录,image表存储了每次就诊记录的图片,prediction表存储了每个图片的预测记录,slime表用于存储每个预测记录的可解释图像,train表用于存储每次模型的训练结果,manager表用于存储管理员的账户密码等信息。

2 功能实现

2.1 预测模块

预测模块为整个系统的核心模块,用于对患者每次就诊记录的AI预测分析,该模块包含的服务主要有细胞检测、分类可解释以及细胞的计数统计功能。

2.1.1 细胞检测

细胞检测主要是对患者的一次脑脊液细胞学检查获得的所有细胞显微镜切片图像进行数据量较多的三类细胞:淋巴细胞、单核细胞、中性粒细胞的三分类目标检测。该功能选用了基于Faster R-CNN[2]的目标检测算法实现,Faster R-CNN是经典的目标检测算法,输入图像送入Faster R-CNN后会在特征提取模块中进行特征提取,并在生成的特征图上设置多个候选框,之后对候选框进行前景背景的分类和边界调整,最后送入分类网络中得到每个细胞的边界和类别,由于脑脊液数据集的样本不均衡,各样本差异性小等特点,本系统在该基础上引入了人工特征进行辅助分类,并实现了基于图像分割的特征自动提取。图像分割可以看作是对图像每个像素点进行分类,本系统使用了U-net[3]进行细胞的图像分割,输入图像首先经过编码部分获得分层特征,这些特征包含原始图像的上下文信息以及语义信息(颜色、纹理等),之后在解码部分得到的特征图与编码部分的特征图进行融合上采样,最终在预测部分获得每个像素点的类别。具体的实现方法为:使用Faster R-CNN模型获得细胞的标注框以及类别,使用U-net图像分割模型将图像的所有像素点区分为细胞核、细胞质以及背景,并用Faster R-CNN得到的标注框对分割结果进行截取,并将Faster R-CNN标注框中的结果近似看作为该细胞的结果,如此便得到了每个细胞的细胞核与细胞质的分割图,再根据各个特征提取的算法得到细胞的特征,最后使用机器学习算法对提取到的人工特征细胞进行二次分类。

本文根据几何学以及细胞形态学共设计了细胞核凹凸度、细胞核粗糙度、细胞核圆度、细胞核长宽比、核质比、细胞核面积以及细胞面积七个人工特征供分类树用作二次分类。训练好的模型会被部署到服务器上,提供接口供service层调用。进入医院使用该系统检查的患者会在服务器工作目录下生成一个以病人就诊ID命名的文件夹,病人进行一次细胞学检查后生成的所有切片图像上传到服务器时,系统会在每个病人的文件夹下针对每一次检查记录,生成以检查时间命名的检查记录文件夹,该文件夹里面保存了此次检查的所有脑脊液显微镜细胞图像。病理医师选择一次就诊记录之后点击预测按钮就会跳转到细胞缩略图页面,获得每张图像的标注结果,选择图像后可以查看每个记录的详细信息,包括对每个标注结果的预测类别、位置、置信度以及可解释信息。

2.1.2 分类可解释

在实际的应用中,使用训练好的模型去预测新的图像,特别是由于本实验所使用的医疗数据以及医疗背景的敏感性,仅仅给出模型的预测结果往往不能使医生足够放心。为此,本系统使用了S-LIME[4]事后解释器,对模型的预测结果进行解释,最终得到模型的判断依据。在S-LIME中,需要解释的黑盒模型训练好后会被送入S-LIME中,在S-LIME中生成和原始黑盒模型预测能力最为接近的线性模型以及线性模型的权重信息,通过基于中心极限定理的假设检验框架来确定保证结果解释稳定性所需的模拟数据集数量。在该模块中,使用凹凸度等人工特征训练的模型会被保存,对于需要解释的细胞实例,S-LIME会根据该实例进行数据的扰动,生成一定数量的模拟数据,在此基础上建立分类模型并获得特征的权重,此权重信息代表了对该实例分类最重要的人工特征信息。病理医师在界面上点击预测后可以获得对分类结果的解释,包括模型预测细胞三个类别的概率,人工特征的权重排序以及人工特征的值。

2.1.3 细胞计数

模型在进行AI预测(即对脑脊液图像检测并辨别细胞)时,除了生成标注后的图像外,模型的预测结果(类别、置信度、坐标等信息)会保存在数据库的prediction表中。在进行细胞统计时,CountCellService可以直接调取相应的Dao接口,执行SQL语句查询本次记录的所有预测结果,并分别对三个种类的细胞使用SQL中的count函数获得细胞的数量,Vue获得返回值之后会通过调用Vue封装的sChart图表组件生成相应的分布图展示在前端页面上。病理医师在导航栏选择细胞统计功能后,选中希望统计的就诊记录,页面就会显示此次检查的细胞统计情况。

2.2 辅助标注模块

该模块用于辅助病理医师标记数据集,以生成数目更大、更具有实时性且标注结果更精确的脑脊液细胞数据集,从而保证模型的预测准确率长期处在一个较高的区间。病理医师首先选择一次就诊记录,服务器会根据record_id检索出该就诊id的全部图片url并返回到页面上,医生选择感兴趣的图片后,系统会去prediction表里调出该图像的预测记录返回到页面,其中包括该结果的局部放大展示、预测类别、边界参数以及置信度,病理医师可以选择认为有问题的预测结果,对结果进行再标注(重新定位或重新分类),修改后的结果再直接保存到prediction表中,用作数据集生成。

2.3 补充训练模块

该模块可以使病理医师在使用过程中随着数据集的扩充,继续训练模型以保证模型的准确性,为了方便模型切分数据集并进行训练,使用生成数据集功能后,系统首先会判断数据库是否存在更新,如果存在更新,系统会对预测记录表进行检索,检索的记录会以txt文件的形式存储在工作目录/data/txt文件夹下,具体字段包括图片路径、标注类别以及图片的上、下、左、右边界,并进行数据集的分割。系统执行get_map.py脚本后,会在/log/result文件夹存储此次训练的loss曲线以及最终结果的准确率、map值等,对应的train表里将会生成此次训练记录。病理医师可以对模型进行补充训练,在模型训练结束后病理医师可以查看每次训练的loss曲线以及细胞检测的map指标。

3 结语

本文以实际病理医师对脑脊液细胞学图像进行检查为应用场景,搭建了一个完整的细胞检测系统并对该系统依托的硬件及配置环境进行了介绍,对脑脊液细胞学图像AI分析系统整个运作流程进行了描述,通过使用Spring Boot+Vue对Web系统进行开发,使用引入人工特征的Faster R-CNN对脑脊液细胞图像进行检测,使用S-Lime算法实现了对分类结果的解释,还实现了不同类别细胞的计数统计,辅助病理医师标注制作新的数据集,对数据集进行处理以及模型的补充训练等功能。综上所述,本应用可辅助病理医师对脑脊液进行细胞学分析,降低成本,具有较高的应用价值和扩展空间。

猜你喜欢

脑脊液医师病理
中国医师节
韩医师的中医缘
中国医师节
脑脊液药物浓度与结核性脑膜脑炎疗效的相关性
《中国医师节》
病理诊断是精准诊断和治疗的“定海神针”
3例淋巴瘤样丘疹病临床病理分析
自发性脑脊液鼻漏误诊变应性鼻炎一例
肿瘤病理:从检查到报告
脑子也是水做的