基于机器学习的舌象体质分类
2018-11-09,,
, ,
(安徽中医药大学医药信息工程学院,安徽 合肥 230012)
0 引 言
在上世纪80年代左右,随着诸如CT成像、超声波成像、磁共振成像等技术的出现,结合数字化图像处理手段进行病症诊断,成为了一种发展趋势。通过各种医学图像来辅助病症判断的案例越来越多,从中医理论上来说,可将舌象分为多个部分,且每个部分都对应着五脏的内在状态。对于某些急性病症,舌象由于其易观察,变化快等特点,对临床诊断有极大作用。许多临床研究表明,舌体的外在表现能够预示很多病症,故对舌象体质分类投入精力研究是很有必要的。目前,对于舌体形态的研究是一个热门的推动舌诊信息化发展的方向。已经有学者借助图像技术手段对舌象进行信息化研究,进行舌象采集和分析,在舌象特征与中医证型关系方面,总结出不同病症患者在舌象方面的差异和规律。借助于中医数千年来舌诊临床经验优势,结合当代图像处理手段,能够及时且准确地给患者提供病症信息,从而使研究成果能服务于社会。
1 舌象医学影像分析
随着医学辅助手段从简陋到现代化的提升,医学整体也获得了急速的发展,如何有效的使用现代化的手段成为一个值得考虑的问题。不同于医学上的其他领域,在处理医学影像方面,数字化技术占有举足轻重的地位。不同的器官根据其在医学影像上呈现的特点,通常会有各自病症判定的依据。中医望诊中关于望舌的一部分,很大程度上是对舌色、舌形进行观察,因为很多病症会在舌部直接显现其特征。在获取舌象影像时通常会将面部包含,这需要提前将影像进行处理,获取主体区域,之后再依据舌象所呈现的不同图像表现进行体质分类。
1.1 体质辨识对应的舌象图
中医医者根据舌象表现的不同特点,将人体体质分为九大体质类型:平和体质;气虚质;阳虚质;阴虚质;痰湿质;湿热质;血瘀质;气郁质;特禀质。体质舌象对照如表1所示。
表1 体质舌象对照表
1.2 舌象色彩空间分析
色彩作为图像识别的有效信息,其真实性是后期对图像处理的前提和基础。而舌象的色彩信息,作为病症的外在表现,对与体质类型分类极其重要。
色彩空间又被称为色彩模型,其实质是利用三维空间里的某个点来表对对应的颜色,往往包含着大量的信息,尤其是在舌象诊断中通常作为病理判断的主要依据。故在进行舌体准确获取的同时,保证舌色色彩信息的真实性,是后续进行体质特征提取和分类的基础。
图像的参数有长度、宽度及深度之分,其中深度表示当前图像的通道数。在RGB模式中,表现为红(R)、绿(G)、蓝(B)三个颜色通道。当它们的光相互叠合的时候,色彩相混,而亮度却等于两者亮度之总和,越混合亮度越高,即加法混合[8]。
1.3 数据采集
在某社区健康调查活动中,随机抽查社区中志愿者(合计110人,年龄段为50±10),共收集彩色舌象图片208例及对应中医临床医生现场诊断结果,总体样本数较少,但上述9中体质类型均有包含。其中气虚样本有41例,其余类型分布均匀。
2 舌象物体识别
图像识别,作为机器学习的一个重要组成部分,人们提出了很多识别模型以模拟人类进行图像处理的过程,基于神经网络系统图像识别的结果逐渐贴近人类水平,甚至在某些方面已经超越人工标注的准确率。文献[9]介绍了用图象纹理分析的方法,对目标物体进行识别,利用阈值对目标图进行切割(通过直方图法对阈值进行求解)。文献[10]设计出一个简明的识别算法,从而改进了传统算法在图像中通过形状进行局部匹配,使得获得的特征在物体的形变上更好的容忍度。物体识别算法正是由于无数学者的不断研究努力,才发展至今。
2.1 舌象物体识别理论基础
为模拟人类对信息的处理方式,人们运用数学手段构建了神经网络系统,而感知机则是其中的关键。感知机是对生物神经细胞的简单数学模拟,只有一个神经元,感知机的数学表现如图1所示。
(1)
在此基础上,人们根据生物学上感受野机制,提出了前馈神经网络(CNN),其具有平移、缩放和扭曲不变性,如图2所示。
图1 感知机的数学表现
图2 CNN模型解释
在CNN全连接模型中,卷积层中构成一个局部连接网络的要素:第l层的每一个神经元都只和第l-1层的一个局部窗口内的神经元相连。
(2)
其中w(l)∈R为m维的滤波器,则有
(3)
这样在卷积层里,权值共享则只需要m+1个参数。另外第l+1层的神经元个数不是任意选择的,而是满足
n(l+1)=n(l)-m+1
(4)
为增强卷积层的表达能力,可以使用k个不同的过滤器来获得k组输出。过滤器通过不同参数的卷积核对图像进行调整,从而获得多组输出。此过程可被视为对原图进行特征提取,该输出也称为特征映射。
假设第l-1层的特征映射组数为nl-1,每组特征映射的大小为ml-1=wl-1×hl-1。第l-1层的 总神经元数:nl-1×ml-1。第l层的特征映射组数为nl。如果假设第l-1层的所有组特征映射作为第l层的每一组特征映射X(l,k)的输入。第l层的第k组特征映射X(l,k)为:
(5)
其中,W(l,k,p)表示第l-1层的第p组特征向量到第l层的第k组特征映射所需的滤波器[11-12]。
2.2 舌象数据预处理
在舌象拍摄中不可避免会将面部包含进去,为了降低其他因素对舌部图像的影响,所以需要事先将舌部从图中分离出来,这就需要用到图像物体识别。过往学者在对舌部进行分离处理时,大部分是通过边缘轮廓特点,而非舌色。这表明在对舌部图像物体识别时,应尽量保留其轮廓特征,颜色特征可选择性忽略[13]。
根据局部图像的特征,对于图像的缩放、平移和旋转是不变的,并且对于照明改变和仿射或3D投影是部分不变的,杂乱部分遮挡的图像可以实现鲁棒的目标识别[14]。对数据进行了一系列的预处理操作,包括:
1)图像整体的大小调整:在实际中,发现图片的大小与其特征的表达并不存在相关性。相反在模型运行时,由于单张图片较大,会造成计算机内存的大量使用,进而降低了训练效率。所以在预处理第一步需要将图片等比例压缩至100KB上下。
2)图像整体的色彩调整:为了降低色彩在舌体物体识别中的影响,我们对图片进行诸如图像饱和度、色相、对比度等在一定范围内的随机变化。最后,我们将图像的像素值设定在一定范围内,即给图像设定阈值,降低某些特殊点的影响。
3)图像整体的位置调整:在样本采集拍摄中,舌象始终处于图像中一个固定相对位置,但在实际环境中,可能会出现位置偏移等特殊情况。因此,对图像进行了随机的上下翻转、左右颠倒等位置操作,将图像尽可能贴近实际环境。最终处理结果如图4所示。
2.3 模型参数调整及运行结果
这里使用的是tensorflow object detection api,在配置文件tongue.config中需要提前配置诸如initial_learning_rate,batch_size,decay_steps等参数。但实际运行时由于官方对模型已经提供了大量API,其中包括基本config的不同生产环境配置,选用不同的model配置,训练和识别速度不同,如表2。
表2 几种标准配置
图3 样本处理前
图4 样本处理后
这里选用了最后一种faster_rcnn_inception_resnet_v2_atrous,虽然速度相对较慢,但能够一定程度上提高训练效果。之后仍需要将配置文件按照本地环境进行调整。在运行过程中,虽然损失值存在上下波动,但总体呈下降趋势,具体运行效果如图5所示。
图5 舌象物体识别运行效果图
运行前后舌象对比图如图6-图8所示:
根据上述三种不同状态的图片,可以认为该模型效果已经达到预期目标。
图6 测试样本数据
图7 模型导出标识图
图8 物体识别结果
3 舌象体质分类
在图像特征分类研究中,较为著名的是手写数字识别问题。该问题最早提出于上世纪90年代,相关学者设计出基于LeNet-5的手写数字识别系统,用于识别支票上的手写数字,进而被美国较多银行使用。之后经过大量学者不断的改进和创新,仅就手写数字识别方面,其准确率已高达96%以上[15]。
3.1 舌象体质分类理论基础
Inception模型在近些年有较快的发展,其中Inception-v3使用2012年的数据对ImageNet大型视觉识别挑战进行了训练,并在验证数据集的前5位错误率达到3.46%的较好成果。本方案参考Inception-v3模型,但由于Inveception模型深度大,训练参数众多。在算力充足,训练样本足够的情况下,花费大量时间进行计算可获得较好效果。但在实际中,算力无法达到指定要求,故不得不使用迁移训练(一种利用现有模型快速完成训练的技术,它在一个已经完全训练,能识别已有分类的模型基础上,重新进行少量训练,使其适应新的分类需求)。虽然在准确率上有所降低,但在效率上得到了极大的提高[16]。
3.2 模型调整及运行结果
第一步需要将部分样本图片通过人工进行体质信息标注,从而完成首次分类,并将其放置在对应的文件夹中。第二步需要将舌象图片经过物体识别,生成对应的舌象主体信息。第三步,将识别后的图片文件开启模型训练。由于是基于Inception-v3的迁移训练,用原模型参数进行特征提取,仅在最后的瓶颈中添加一个分类层,所以不需要进行过多参数调整。具体运行结果如下:
图9 舌象体质分类结果
根据图上结果,可认为该舌象图片对应体质类型qixu(气虚质)。
4 结 论
对中医舌诊的客观化工作进行探索和研究,主要成果有如下:
1)在进行舌象舌体分割时,发现舌体获得的准确度是后续进行舌诊分析基础,其准确度极大程度上影响了后续舌象体质分析的可重现性和准确性。实验中,通过对数据的预处理,将该过程的错误率控制在可接受范围内。
2)通过Inception-v3模型的迁移训练,以及大量的舌象体质信息标注,最终对测试集中图片进行分类,准确率在可接受范围内(即训练模型达到了预期的指定目标)。
关于舌象研究限制于自身能力及实际环境因素,很多工作是初步的,仍需要许多问题进行解决:从专用设备采集到的舌象数据,因为器械、拍摄角度、拍摄光照等外界干扰,舌象在一定程度上发生了失真,无法真实准确模拟医生诊断时环境;在舌象体质分类中,由于各体质分类信息标注样本数量不是均匀分布,虽达到指定目标,但仍有上升空间。这有待后面继续进研究。