基于深度学习的智能中医辅助诊疗系统
2023-04-13陈璐赵宇涵李伟峰李鑫王淑祎
陈璐 赵宇涵 李伟峰 李鑫 王淑祎
摘 要: 研究开发了基于深度学习的智能中医辅助诊疗系统。通过人工智能技术将名老中医的诊疗思想、辨证逻辑和处方经验结合,设计“三级证型优先级”算法,创新了传统的中医问诊模式。例如采用深度学习CenterNet和EfficientNetV2神经网络模型,有效抽取出患者舌体图像与病例的舌色、苔色等特征信息进行智能舌诊,实现中医诊断的客观化、智能化,帮助普通医师提升诊疗能力。
关键词: 中医辨治; 深度学习; 证型优先级; 智能舌诊
中图分类号:TP3 文献标识码:A 文章编号:1006-8228(2023)04-72-04
Abstract: In this paper, we develop an intelligent TCM auxiliary diagnosis and treatment system based on deep learning. Through artificial intelligence technology, it combines the diagnosis and treatment thinking, syndrome differentiation logic and prescription experience of well-known old TCM practitioners to design a "three-level syndrome priority" algorithm, which innovates the TCM consultation mode. The deep learning CenterNet and EfficientNetV2 neural network models are used to effectively extract the patient's tongue image and the case's tongue color, coating color and other characteristic information for intelligent tongue diagnosis, so as to realize the objectification and intelligence of TCM diagnosis and help general physicians improve diagnosis and treatment capabilities.
Key words: TCM differentiation and treatment; deep learning; priority of syndrome types; intelligent tongue diagnosis
0 引言
中医药在辩证诊疗方面的作用值得挖掘。目前已有的“中医辅助诊疗系统”主要存在以下的问题[1]:
⑴ 缺乏创新性:仅针对少量疾病开发一些基于传统理论、功能有限的小系统,没有运用人工智能新理论、新方法和新技术,所以很难拥有较大应用价值。
⑵ 实用性较差:研究多以中医诊断专家系统为主,对于半结构化和非结构化诊疗知识无法很好的表示,没有很好实现中医专家知识的自动获取和学习,存在知识获取瓶颈。未充分体现系统的“学习”能力和“适应”能力,无法适用于千变万化的临床医疗。
⑶ 相似软件产品较少:目前已经有多款在线诊断APP上线,但绝大部分均采用即时通讯的方式通过医生和患者的沟通交流来实现诊断,未能实现用户自助辨证诊疗[2]。
针对以上问题,我们将传统中医的问诊、舌诊经验方法与深度学习计算机技术相结合,研发一款智能中医辅助诊疗系统,创建线上自助辨证诊疗新模式,为用户提供近百种常见疾病的辨证及中医药推荐服务,做到真正的便民惠民。
1 系统设计
1.1 系统总体架构设计
基于深度学习的智能中医辅助诊疗系统,为缓解中医资源紧张、方便用户自主辩证、购药而研发设计。整个系统包括以中医智能辩证为核心的C端(客户端)微信小程序以及为医生等管理人员设计的医疗信息管理平台。系统总体架构如图1所示。
万义中医小程序依托庞大的中医资料库,整合中医院近五年的常见病例、近百种常见病的诊疗方案,研究中医辩证诊断流程,整理、分析、存储大量中医数据,应用人工智能算法,构建跨平台、通用性的中医辩证系统。小程序模拟中医的问诊、舌诊两种方式对病症进行诊断。通过给出不同科室常见病症的症状问卷,模拟中医问诊过程,根据用户填写的问卷对应症状,运用“三级证型优先匹配”算法进行证型匹配;用户可选择继续进行智能舌诊,拍摄上传舌像,后端接口应用深度学习算法对舌色、苔色、裂纹等舌象特征进行辨识,结合问诊舌诊结果得出最优诊断。根据病症诊断结果,给出对应的推荐药物、中医外治疗法、食疗方法及病项忌口,小程序实现了三百种病症的诊断方案,给出了近千种药物推荐和外治疗法方案,为用户自助诊疗提供可靠依據。
医疗信息管理系统是为方便专家、医生等管理员来对病症、药物等数据信息进行后台管理和维护设计。指定权限的用户(比如中医专家)可以使用特定的账号登录系统查看、更新问卷、病症、药物、药物成分等信息,实现医疗信息维护。
为了保证整个系统运行稳定,小程序和医疗信息管理系统都是运行在联通沃云服务器上,采用Koa+Node/Go+Nginx+MongoDB的框架结构自建服务,构成一个完整的C/S架构系统。
1.2 中医智能辩证系统
中医智能辩证系统(ISRS)是整个诊疗系统的核心,其技术栈涉及粒子群优化(PSO)、深度学习(CenterNet、EfficientNetV2)、信息量化与合参匹配等。ISRS包括智能问诊系统(IDS)、智能舌诊系统(TDS)和智能推荐系统(RS)三个子系统。
问诊是中医临床诊断中最重要的一个诊断方式。在这里我们首创性地提出了“证型优先级”概念,使得系统可以根据用户的症状来反向推测出其病症。同时,在系统中设计并部署了“三级证型优先体系”进行病症诊断,之后引入了粒子群优化算法(PSO)来改善整个系统的时间开销。
舌诊是中医诊断的另一个不可缺少的诊断方式。我们将时下火热且发展迅速的深度学习算法用于智能舌诊。首先,采集大量舌像数据,应用CenterNet目标检测模型和Opencv的图像处理技术进行舌像区域裁剪,然后使用高效的EfficientNetV2目标分类模型进行多种舌像特征的提取和分类,得到舌像辨识的诊断结果。问诊和舌诊结果进行合参后送入智能推荐系统(RS)给出不同的治疗方案。ISRS的功能及工作流程如图2所示。
2 问诊子系统(IDS)
2.1 “三级证型优先级”匹配
在问诊过程中,用户填写一个病症的问卷,不同的问题会对应不同重要程度的症状,对于每一个病症都有其典型的症状表现和非典型症状,为了更准确地判断用户病症,我们根据每个病症对应症状的优先级,提出“三级证型优先级”匹配算法。每个证型都设置对应的惟一的“第一优先级症状”和“第二优先级症状”,以及多个“三级优先级症状”[3]。证型关系图如图3所示。
用户填写完问卷后,系统会根据每个问卷题目的选择结果得出对应病症的一优症状集合A、二优症状集合B和三优症状集合C。
系统获取用户的问卷后,首先获取到用户选择的所有症状的集合,再对症状集合进行遍历,分别获取到症状集合中第一优先级症状所对应的证型集合A、第二优先级症状所对应的证型集合B、第三优先级症状所对应的证型的集合C。
⑴ 如果集合A中只有一个元素,则此元素(证型)即为结果;
⑵ 如果集合A中存在着多个元素,则令A′= A,如果A = ?,则令A′= U(U为全部证型的集合);再令K = A′∩ B。
① 如果K中只有一个元素,则此元素(证型)即为结果;
② 如果集合K中有多个证型,则令K′= K;如果K=?,此时定有B=?,则令K′=A′;
再令V = K′∩ C;
如果V中只有一个元素,则此元素(证型)即为结果;
如果V有两个及以上的元素(K′不为?),则K′中第一个元素(证型,此顺序为计算机中的存储顺序)即为结果。
三级证型的主要集合关系如图4所示(所有集合均非空时)。
2.2 粒子群优化(PSO)
考虑到随着系统访问量不断增多,后台数据量会不断增加,为了防止数据量暴增时系统的时间开销过大,所以使用了粒子群算法对诊断过程做了优化。
项目中的粒子群算法应用:因为目前数据量较小,所以选取了20个粒子迭代20次。
评估函数:在用户填写完问卷之后,系统会根据用户填写的问卷,对该疾病下粒子所覆盖的证型进行评估。
具体评估过程为:首先向评估函数中传入一个参数,即证型对象,然后初始化评估值为0,如果问卷中出现了该证型对象的一优症状,则评估值自增1000,如果出现了二优症状则评估值自增500,如果出现了三优症状则评估值自增1。最终将评估值返回。
终止条件:如果达到了最大迭代次数(20)或者有证型的评估值达到1500(即≥1500)则迭代终止。
在达到最大迭代次数终止时:诊断结果为评估值最高的证型。
在有证型评估值达到1500终止时:诊断结果为该评估值达到1500的证型。
3 舌诊子系统
3.1 舌诊背景与算法概述
舌诊是中医通过观察舌体、舌质、舌苔、舌下络脉等舌象特征来判断人体健康状况的一种方法,是中医临床诊断过程中的主要依据之一[4]。舌的变化能快速敏感地反映出人体机能的变化,但是,传统的舌诊非常依赖于中医医师的知识水平和诊断技能,具有很强的主观依赖性。另外,舌诊医师只是通过纯粹的文字叙述来记录病症,导致珍贵的诊断经验和舌象资料难以得到精确的记录和保存,这极大影响了中医医师们之间的学术交流,也在一定程度上阻碍了中医理论的传承和发展。随着现代科学技术的飞速发展,可以将现代计算机技术与传统中医理论相结合,实现计算机辅助舌诊。计算机辅助舌诊通过采集数字化的舌体部位图像,经过计算机深度学习及图像处理技术,将舌体分割出来,使用算法模型识别舌象特征并提供描述特征的客观指标,同时建立中医舌诊理论数据库对舌象进行综合判读,给出病理特征的描述及诊断[5]。计算机辅助舌诊是排除了环境、人为干扰等条件差异的标准化舌象观察及诊断分析,减少了传统舌诊的主观性,同时又提高了舌诊的临床应用价值,使其更加科学化、客观化、具体化。舌诊整体流程如图5所示。
3.2 舌像采集与分割
计算机辅助舌诊的首要步骤是采集舌象。中医舌像数据集数据量较少,获取难度高,目前基本没有公开的舌像数据集,需要实地采集,一般需要在密闭、光照稳定且固定的采集环境下,利用手机、数码相机等设备拍摄舌部图像。部分临床采集数据如图6所示。
在開放环境下拍摄舌部图像易受光源色温、光线强弱、拍摄角度等不确定性因素的影响,导致图像中舌体区域的颜色失真、面积过小等问题,因此,首先需要对采集的原始图片数据进行人工筛选,剔除模糊及各种不符合要求的数据,最终保留2000张图片作为舌诊数据集。由于采集的舌图像通常包含牙齿、嘴唇、脸部等冗余背景,对后期计算机提取特征、自动分析影响极大。因此,计算机辅助舌诊的第一步即关键的一步,就是去除干扰背景,将可分析的舌像分割出来[6]。
舌像分割过程分为两步,首先,把采集的原始图片的舌像区域进行标注,获得xml文件,作为真实值(ground truth)标签文件,通过目标检测网络训练调优,获得高准确率的检测模型,对所有的原始图片完成舌像区域定位;然后,使用图像处理科学库Opencv,完成舌像区域的裁剪并保存,生成舌像数据集用于后续的舌像特征识别。
通过调研并综合比较多种现有的深度学习目标检测模型,最终使用CenterNet作为舌像区域定位网络模型。CenterNet是一个单阶段的关键点检测模型,以目标的中心点作为关键点进行预测,用热力图预测目标种类并回归得到目标的宽高信息[7]。相比于其他大多数基于anchor的单阶段检测模型,基于关键点的检测能够避免大量冗余检测框的生成,减少参数量,降低计算成本,提高检测速度。由于我们只对原始图片检测舌像一种目标,且一张图片只有一个舌像目标,因此,CenterNet网络模型可以在提升检测速度同时拥有较高的检测准确率。舌像分割过程如图7所示。
3.3 舌像特征识别
通过深度学习卷积神经网络实现舌像特征分类任务,需要大量的数据进行训练,如果训练集的数据过少,容易导致过拟合。为了避免舌像数据集图片数量较少、不同类数据不平衡导致模型过拟合问题,因此,我们使用翻转、旋转、缩放等数据增强技术,将图片数量增加到8000张,以扩充数据集,提高模型预测精度。舌像数据增强如图8所示。
进行舌像特征识别时,使用EfficientNetV2的目标分类模型来提取舌体图像的特征信息并进行分类辨识[8]。EfficientNetV2是2021年最新发布的深度学习分类模型,该模型可以同时关注训练速度和参数数量,并且具有较高的预测准确率[9]。EfficientNetV2除了使用MBConv模块外,还在网络浅层使用Fused-MBConv模块;在进行膨胀卷积操作时,使用较小的膨胀率(expansion ratio),来减少内存访问开销;普通卷积操作使用3×3大小的卷积核,减少参数量,提高模型训练和推理速度。MBConv和Fused-MBConv的结构如图9所示。
在训练EfficientNetV2网络前,将数据增强后的八千张图片进行划分,80%用于模型训练,20%用于验证分类效果。在训练时,我们使用适应性矩估计(Adam)作为优化器,来代替原有的随机梯度下降(SGD)算法,Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率,使模型更快收敛。模型训练时,设置batch size为32,学习率为0.001。
使用EfficientNetV2网络模型,分别对舌色、苔色、苔质、裂纹、齿痕、舌形六大特征进行分类辨识。通过对模型进行训练和调优,最终,舌色特征辨识准确度可达98.4%,苔色97.5%,苔质92.5%,裂纹95.1%,齿痕94.7%,舌形92.3%。同时,我们将EfficientNetV2网络模型与VGG16模型在舌像分类任务上进行对比,EfficientNetV2的特征分类准确率远远高于VGG16。舌色特征的对比结果如图10所示,六大舌象特征的可视化预测结果如图11所示。
4 总结
系统以中醫智能辩证为核心,模拟中医临床诊断中的问诊、舌诊方法,实现病症的自主诊断,给用户就医带来极大便利,同时缓解了医院的就诊压力[10]。系统创新性地提出“三级证型优先级”匹配算法,使疾病辩证过程更加客观化、科学化,将传统的中医诊疗方法与深度学习目标检测和目标识别技术相结合,使系统具备了“学习”能力和“适应”能力,并为人工智能在中医药领域的应用和研究提供一种可行的方法。该系统探索研究中医诊疗新模式,将人工智能技术应用于中医药行业,推动中医智能化、信息化发展,给用户带来便利的同时,弘扬中医药文化,真正将智慧医疗产品落地应用。
参考文献(References):
[1] 张德政,哈爽,刘欣,等.中医药领域人工智能的研究与发展[J].情报工程,2018(1):81-83
[2] 蔡 靓,蔡欣玲,沈佳莹,等.基于手机 APP 的中医移动健康管理平台探索[J].中国中医药图书情报杂志,2016,40(3):20-22
[3] 张万义,张千,石赵雁,等.基于中医辨证的智能中成药推荐系统[J].智慧健康,2020,6(31):5-9
[4] 侯军.基于深度学习的中医舌象诊断研究[D].工学硕士,北京:北京理工大学,2018
[5] 刘梦,王曦廷,周璐,等.基于深度学习与迁移学习的中医舌象提取识别研究[J].中医杂志,2019,60(10):835-840
[6] 钟振.基于深度学习的中医舌像分割与识别实验研究[D].医学硕士,福建:福建中医药大学,2021
[7] 许延雷,梁继然,董国军,等.基于改进CenterNet的航拍图像目标检测算法[J].激光与光电子学进展,2021,58(20):192-201
[8] 谢佳澄.深度学习在中医舌象分类中的应用与实践[D].工程硕士,吉林:吉林大学,2019
[9] Tan M X, Le Q V. EfficientNetV2: smaller modelsand faster training[EB/OL].(2021-06-23)[2021-08-13].https://arxiv.org/abs/2104.00298
[10] 张千,方丽华,张万义,等.智能自助中医辨证与中成药推荐系统设计与实现[J].智慧健康,2018,4(34):7-10
*基金项目:中央高校基本科研业务专项基金-面向糖尿病大数据的自动化机器学习(18CX02019A); 全国高校大学生创新创业训练项目-智能自助中医药推荐系统(S202010425015); 全国高校大学生创新创业训练项目-基于深度学习的中医智能辅助诊疗系统(S202109104500)
作者简介:陈璐(1999-),女,山东德州人,硕士,主要研究方向:计算机视觉、智慧医疗。