基于机器学习的舌象识别与HSL的舌苔分类的研究
2020-09-10刘嘉诚
刘嘉诚
摘要:近代,随着生活水平的不断发展,广大人民群众对于医疗健康的需求也不断提高,相应的医疗技术手段也在提升。在这样的背景下,我们团队提出了一个想法,能否将新技术与传统的中医相结合?经过前期的调研分析,并结合自身专业方向,最终选定中医舌诊与人工智能技术相结合进行研究,实现了患者舌象的识别、分割、分析判断并给出参考诊断建议的功能,且经实验算法的识别率和准确率都有较为不错的结果。
关键词:中医舌诊;计算机视觉;机器学习;舌象分类
1.引言
“望”“闻”“问”“切”是中医诊治的重要组成部分,其重要性不言而喻,然而传统的四诊方法较为模糊,缺乏客观的指标,且医生经验性较强,主要依赖于医师各自的经验进行判断,缺乏先进的诊断理念与技术手段,存在一定的局限性。改变传统诊断方式,将人工智能运用到中医诊断之中,建立科学标准的诊断模式是近年来中医诊断发展的新方向,尤其是 AI 辅助中医临床的过去、现在以及面临的难点与瓶颈,旨在更好的思考智能中医的发展方向与未来。AI四诊合参模型算法+病情跟踪功能代替医生重复性工作,减少重复的工作量,因此依靠计算机技术来对舌诊进行辅助诊断也是一个可行的方向。
2.舌象训练分析
2.1数据集整理
通过与校外公司联系,取得了约300张彩色舌象图片,实际上是来源于本地医院的研究数据。将图像进行裁剪得到统一的大小60×60,并进行灰度转换,便于后续的训练。
2.2舌象识别
(1)图像识别基础
首先人工分类正负样本,将几乎只有舌头的样本作为正样本,免去了标注的工作,然后记录在本文文件中以供后续读取。图像识别是人工智能的一个重要领域,他的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。图像识别,顾名思义,就是对图像做出各种处理、分析,最终识别我们所要研究的目标。通过分类并提取重要特征而排除多余的信息来识别图像,机器所提取出的这些特征有时会非常明显,有时又是很普通,这在很大的程度上影响了机器识别的速率。
(2)OpenCV简介
OpenCV(Open Source Computer Vision Library),是一個开源的可以跨平台运行的计算机视觉库,整个库是由 C 函数和 C++ 类构成的,包含了许多图像处理和计算机视觉方面的通用算法。OpenCV作为常用的人脸识别工具,自然可以进行修改用于识别舌象。
(3)训练分类器
第一步,安装好OpenCV并配置好环境变量以确保能正确运行。
第二步,将前期整理好的数据集文件导入进tongue_pos文件夹作为正样本,将负样本导入tongue_neg文件夹并统一尺寸,且正负样本比例为1:3。
第三步,对正样本进行标注,将文件路径、尺寸、数量记入posdata.txt文件中,对负样本也进行相应的操作记入negdata.txt。
第四步,使用OpenCV进行训练,得到正样本向量描述文件pos.vec文件再使用联机分类器与负样本进行训练,得到cascade.xml文件。
实验结果分析
验证分类器效果,从网上搜集吐舌的图片以及对小组成员的舌头拍摄图片作为测试数据,效果如图3所示。
批量导入100张舌像图片运用该分类器进行识别测试,多次运行得出准确率在91%到96%之间,可以看出使用机器学习对于舌象的识别能够作为辅助中医舌诊的辅助支撑。
2.3舌象介绍
舌象包括舌质和舌苔变化。舌质,又称舌体,是舌的肌肉脉络组织。舌苔,中医术语。正常人的舌背上有一层薄白而润的苔状物,叫舌苔。因舌苔由胃气所生,而五脏六腑皆禀气于胃,因此,舌苔的变化可反映脏腑的寒、热、虚、实,病邪的性质和病位的深浅。常见的舌苔表现有以下五种:白苔、黄苔、灰苔、黑苔,其反应的身体状况如表1所示。
2.4舌苔分类
(1)颜色空间
RGB 是我们接触最多的颜色空间,由三个通道表示一幅图像,分别为红色(R),绿色(G)和蓝色(B)。但是人眼对于这三种颜色分量的敏感程度是不一样的,在单色中,人眼对红色最不敏感,蓝色最敏感,所以 RGB 颜色空间是一种均匀性较差的颜色空间,并不适合于图像处理。基于上述理由,在图像处理中使用较多的是 HSL 颜色空间,它比 RGB 更接近人们对彩色的感知经验。非常直观地表达颜色的色调、鲜艳程度和明暗程度,方便进行颜色的对比。
HSL 表达彩色图像的方式由三个部分组成:
(2)舌苔特征识别
传统中医将舌苔的颜色主要分为四类:白、黄、灰、黑,由于灰与黑在色彩空间中比较相近故合并为同一类。因舌苔由胃气所生,而五脏六腑皆禀气于胃,因此,舌苔的变化可反映脏腑的寒、热、虚、实,病邪的性质和病位的深浅。
在 HSL 颜色空间下,图像的H分量的值都相似度较高,而S分量与L分量的值 能在一定条件下出现较大差异,根据本项目的特点,选择用L作为舌苔颜色划分的标准,其阈值如表2所示。
对舌质颜色进行识别的方法是:将 RGB 颜色空间转换至 HSL 颜色空间,计算所有舌质像素点L值的均值,判断该均值在L阈值表内所属的范围,得到舌苔的种类。
3.总结
人工智能在中医领域的应用就是要模拟中医的诊疗思维进行研究,AI辅助中医舌诊的关键要点在于舌象的正确提取,首先是在人脸图片中分割出舌体部分,这部分通过机器学习的技术进行训练得到合适的模型,其识别率和准确率经测试都得到了不错的结果。然后根据中医理论划分舌苔为白、黄、灰黑三个种类,依据HSL色彩空间理论设定阈值进行种类识别。人工智能在中医诊断中表现出前所未有的优势,可解决传统舌诊及脉诊中主观性差、缺少统一标准的问题,是传统中医改革发展的新方向,但同时面临着一定的挑战。推动人工智能技术服务于医疗事业,促进实施健康中国战略,可以预见智能医疗的市场仍然是一片蓝海。
参考文献:
[1]Gary Bradski, Adrian Kaehler. 学习 OpenCV 中文版[M].北京:清华大学出版社, 2009.
[2]王旸.人工智能背景下中医诊疗技术的应用与展望[J].信息与电脑,2019,(11):135-136.
[3]毕珊榕,吕东勇,王汉裕,等.人工智能在舌诊与脉诊中的应用探讨[J].广州中医药大学学报,2018,35(2) : 379-382.
资助项目:大学生创新创业训练计划项目(201910058054)。