基于舌象特征的病证计算机分析系统的制作方法

文档序号:6563156阅读:215来源:国知局
专利名称:基于舌象特征的病证计算机分析系统的制作方法
技术领域
本发明涉及的是一种处理方法,具体地说是一种对舌象特征进行分析处理的方法。
背景技术
舌象特征在中医诊断病症等过程中具有较高的应用价值。但是目前对舌象的分析、判别还停留在人工凭经验处理的水平。这不仅限制了舌象这一有用的人体生理特征在判定人体病症等领域的应用,而且目前的人工分析判断的准确率较低,具有较大的随意性和不确定性。

发明内容
本发明的目的在于提供一种科学严谨、准确率高,具有广泛的应用价值的基于舌象特征的病证计算机分析系统。
本发明的目的是这样实现的 1、提取分析颜色特征 从舌象数据库中选取典型舌象样本,使用FCM算法,对每一个舌象样本进行多次颜色聚类,将每一颜色类别中所有经过标定的聚类颜色值叠加起来,形成了代表每一种苔色/质色的典型颜色分布的样本集合; 对每个颜色样本集合进行二次FCM聚类,将每个集合聚类结果中的噪声点筛剔除; 使用改进的K-最近邻(KNN)分类器对每一个舌象进行14种苔色质色的分类和分析; 2、提取分析纹理特征 采用Gabor滤波、灰度共生矩阵以及分形模型等多种方法来分析和识别不同的舌象纹理特征,包括对纹理图像去反光预处理,对厚苔薄苔进行分类,对红刺进行分类,对舌质老嫩纹理舌象纹理进行分类和对红星进行分类; 3、提取分析舌形特征 先对舌形进行包括边缘点的均衡化处理和舌形的歪斜校正的预处理,然后通过AHP分类器对舌形就行识别; 4、提取分析舌面瘀斑特征; 5、提取分析舌面润燥特征。


图1是黄苔典型样本; 图2是标定为舌苔黄的类别图; 图3是舌苔黄的颜色集合; 图4是模糊C-均值算法聚类出的其他类别颜色; 图5-6是某个颜色样本集合进行二次FCM聚类后将要舍弃掉的颜色; 图7是某个颜色样本集合进行二次FCM聚类后将要保留的颜色; 图8是最后的聚类结果; 图9是原始舌象; 图10是预处理后图像; 图11-13是结果图; 图14是基于纹理的中医舌象分类流程; 图15-17是厚苔薄苔研究对象选取过程; 图18-20是红刺分类研究对象的选取过程; 图21是虚证、实证分类研究对象选取过程; 图22为舌质娇嫩对应的舌图像; 图23为舌质苍老对应的舌图像; 图24-26是红星分类研究对象的选取过程; 图27是不同尺度和方向下平均分类精度曲线; 图28是舌形识别框架图; 图29为舌形识别过程图; 图30是舌形AHP层次结构图; 图31是健康的舌图像; 图32是有明显瘀斑的舌图像; 图33是有红刺的舌图像; 图34是正常舌象; 图35是瘀斑舌象; 图36是红刺舌象病理部位; 图37是面反射和体反射; 图38是反射模型的几何关系示意图; 图39是强反光点四周的弱反光点示意; 图40是200张舌图像的反光点比例统计图; 图41-43是在不同舌象和采集环境下各个算法的实验效果示例; 图44-47是R分量分布图; 图48、49原图及反光点伪图; 图50是基于boosting的证候诊断系统结构图; 图51是舌图像颜色分类算法的总体框架图; 图52是淡白舌G分量分布; 图53是淡白舌中亮度大于150的像素比例分布; 图54是基于特征层的融合系统框架示意图; 图55是典型蓝舌图像颜色分布; 图56是舌图像诊断系统的框架图。
具体实施例方式 下面举例对本发明做更详细地描述 1、颜色特征提取 颜色是中医舌诊中最为重要的信息,本发明运用模糊C-均值算法对中医舌图像进行像素级的聚类,并结合中医专家对颜色类别的人工标定,最大程度的降低了样本筛选过程中的主观因素,实现了对中医苔色质色的定量化、客观化和标准化。此外,本发明还将KNN算法应用于中医苔色质色的分类技术,实现了对多达14种苔色质色的计算机自动分类。
本发明贡献在于创建了基于像素的舌颜色分类系统结构;提出了半监督学习方式的“二次FCM算法”,解决了基于像素的舌颜色分类系统的舌色苔色分布模型的建立问题;提出了“动态局部KNN算法”并将其应用于舌色苔色分类中,解决了舌色苔色分类的速度问题。
1.1颜色模型训练 1.1.1面向舌色的模糊C-均值聚类(FCM) 模糊C-均值算法(FCM)是对普通的C-均值算法的改进。它使用隶属度确定每个样本属于某个类别的程度,并通过反复迭代来最小化FCM目标函数,使得被划分到同一类别的对象之间相似度最大,而不同类别之间的相似度最小。
1.1.2基于专家知识的舌色标定 我们从哈尔滨工业大学生物信息技术研究中心舌象数据库中选取14种苔色质色的典型舌象样本。每种颜色选取20-50个样本。使用FCM算法,对每一个精选舌象样本进行多次颜色聚类,并由中医专家对所得到的作为14种苔色/质色的代表颜色(聚类结果中的类别中心)进行人工标定。然后根据专家知识的颜色标定结果,将每一颜色类别中所有经过标定的聚类颜色值叠加起来,便形成了代表每一种苔色/质色的典型颜色分布的样本集合。整个过程如图1-图4所示。
1.1.3二次FCM聚类和舌色遴选 为了使每种典型舌色样本集合代表性更强,必须对其进行纯化,以期进一步去除初始集合中的噪声(杂质或干扰颜色),需对每个颜色样本集合进行二次FCM聚类。将每个集合聚类结果中的噪声点筛剔除。具体过程过程如图5-图7所示。
1.1.4典型颜色样本集合 经过二次FCM聚类和样本筛选,最终得到的14个颜色样本集合如图8所示。
1.2舌色分类算法 我们两次利用模糊C-均值(FCM)算法对舌体颜色进行了聚类,获得了14个典型的颜色样本集合。
分析这14个颜色样本集,可以发现以下这些特点 1)颜色样本数巨大(上百万)。
2)很多颜色类别之间颜色值重叠严重(如紫色和淡紫色、红色和淡红色等),造成许多颜色值无法精确判定其所属类别。
3)有些类别含有多个类别中心(如黄苔可以细分为焦黄苔、红黄苔等)。
这些特点的存在,极大影响了颜色样本的可分性和分类的时间复杂度,决定了我们无法使用诸如人工神经网络(ANN)、Fisher线性分类等方法。通过分析和比较,我们最终使用改进的K-最近邻(KNN)分类器对每一个舌象进行14种苔色质色的分类和分析。
1.2.1改进的KNN算法 经典的KNN算法的不足之处是计算量较大。在输入样本需要分类时,KNN算法计算所有训练样本和待分类样本的距离,从中选取K个最近邻样本,对于样本集规模较大的场合其时间和空间复杂度都较高。目前常用的解决方法是事先对已知样本点进行剪辑,去除掉对分类作用不大的样本。
根据RGB等颜色空间的三维空间特性,我们对KNN算法进行改进训练样本存储于一个三维的数组中,数组的三维索引值代表颜色值,数组的内容代表其所属类别。分类时只考虑待分类样本附近局部空间中的训练样本(通过数组三维索引的遍历)。这相当于将经典的全局KNN算法改进为局部动态的KNN算法。实验表明,在没有降低分类精度的前提下,该算法极大的提高了KNN的效率,取得了很好的效果。
改进的KNN算法如下 (1)训练过程 将每个训练样本<x,f(x)>加入到训练样本集中,其中,x是样本的特征向量,f(x)是样本的分类类别,f(x)∈V,V={v1,v2,…,vn}是分类类别的集合。
(2)分类过程 给定未知类别样本xq,仅仅搜索颜色空间(如RGB颜色空间)中以xq为中心、大小为m×m×m立方体中的所有颜色样本x1,x2,…,xN; 计算 其中,m>1为搜索邻域直径, δ函数的定义为 而

就是未知类别样本xq的分类的结果。
1.3实验结果 使用改进的KNN分类器并加入定位信息对待分类的舌象样本进行分类,实现了对每一个舌象的14种苔色质色的分类和分析。实验表明,该方法获得了与中医专家相一致的结果,取得了良好的效果。如图9-13所示。
2纹理特征 如图所示,本发明采用Gabor滤波、灰度共生矩阵以及分形模型等多种方法来分析和识别不同的舌象纹理特征,取得了较好的结果。
本发明贡献在于针对4大类不同的纹理舌象,确定了不同的舌病理区域,提出了相应的舌子图像选取方法,明确了纹理特征的研究对象;针对不同的舌象,比较了多种纹理特征提取方法,确立了每种舌象的最佳纹理特征,较准确的分类了各类舌象,为证候和疾病的自动化诊断做好了准备;并在分类过程中通过大量实验,确定了一系列的预处理方法,进一步提高了纹理分类的准确率。
2.1纹理图像去反光预处理 由于舌体上分泌的唾液,使得采集到的舌图像中不可避免地存在一定数量的反光点。当反光点过多时,会产生很多的噪声;若反光点连接成片状,形成大面积干扰,会使得一些舌象纹理特征向量值失效,严重影响舌图像的纹理分类。因此,在提取纹理特征向量前,必需先要对研究对象进行了简单的去反光处理,其方法具体如图15-17。
1)计算该绿色分量图像所有象素点的像素值的均值; 2)遍历该绿色分量图像的每一个像素,若该点绿色分量值大于250,则认为该点位反光点,用均值替换该点像素值。
2.2厚苔薄苔的分类 在我们的研究中,对于厚苔薄苔的分类,我们仍以64×64的子图像为研究对象,其选取过程如图15-17所示 在厚苔薄苔分类中,采取了分形的方法来提取研究对象的纹理特征。
表1 厚苔薄苔分类结果 本发明中,我们以哈尔滨工业大学生物信息技术研究中心的舌象数据库中选取的舌图像作为样本,取厚苔样本800个,薄苔样本800个。以盒维数和5个尺度下的lacunarity为特征向量,采用线性判别分析对这些样本进行了分类,并利用这些样本作了简单的交叉比对(crossing validation)。实验结果表3-2所示。从表中可以看出,采用分形方法提取特征,并以之进行分类,能较好的完成厚苔薄苔的分类。
2.3红刺的分类 中医理论与临床实践研究表明,红刺多出现于舌尖部位。因此,在对红刺特征的研究中我们以舌图像上舌尖处截取64×64的子图像为研究对象,其具体获取过程如图19-20。
在RGB空间上,舌图像的G(绿色)分量较R(红)、B(蓝)分量能更好的表达图像的视觉特性。同时,由于舌图像的G分量出现过饱和相对于RG两个分量较小,可使得计算变得简单。故此,本发明以舌图像舌尖子图像的绿色分量图像为纹理分析的基本输入对象。
本发明采用Gabor小波滤波作为主要纹理分析方法,预处理方法,在部分实验中还将图像均值作为特征向量的元素,在不同的训练测试样本集上进行了多次实验,其结果表所示 表2 红刺分类结果 分析上表可以看出,首先对图像进行预处理,而后对图像进行Gabor小波滤波,并把图像均值与滤波参数的均值和标准差一起作为纹理特征,进行分类能得到比较好的结果。
2.4舌质老嫩纹理舌象纹理分类 灰度共生矩阵是图像纹理分析的一种常用的方法,它能精确地反映纹理的粗糙程度和重复方向,利用这种方法可对地理信息、遥感、SAR以及木材等纹理图像进行分析和描述。本发明以多个方向灰度共生矩阵的综合灰度共生矩阵为特征提取方法,提取了舌图像的能量、对比度、熵和逆差等二次统计特征组成特征向量,对虚证/实证舌象进行了分类,并取得了较好的结果。
(1)舌质老嫩舌象纹理分区 根据中医理论和中医临床经验,在舌质老嫩舌象的分类研究中,我们主要从舌体边缘选取64×64的子图像作为我们的研究对象。为此,首先我们要将舌体与背景分开,即获得舌体的边缘,其次要在沿舌体的边缘循环的选取子图像,最后因为这些选取到的部分多为倾斜的图像,为此我们要对其进行相应得旋转,变成64×64的子图像,并对其进行RGB空间到灰度的变换。
(2)舌质老嫩舌图像纹理特性分析 通过对大量的舌质老嫩舌象的观察,我们可以得出舌质老嫩舌图像的一些主要纹理特性。图22中为舌质娇嫩对应的舌图像,23为舌质苍老对应的舌图像。
●舌质娇嫩比较光滑,灰度分布较均匀,舌质苍老比较粗糙,灰度分布不均匀; ●舌质娇嫩的纹理规律性较强,舌质苍老纹理较为杂乱,规律性较弱; ●舌质娇嫩临近像素灰度值反差较小,舌质苍老临近像素灰度值反差较大;舌质娇嫩的纹理较细,舌质苍老的纹理较粗。
本发明以哈尔滨工业大学生物信息技术研究中心的舌象数据库中选取的舌图像作为样本,取舌质娇嫩对应的图像300个,舌质苍老对应的图像300个。采用综合灰度共生矩阵方法提取了不同距离下的能量、对比度、熵、逆差和灰度共生矩阵的非零点个数等5个特征参数,采用线性判别分析对这些样本进行了分类,并利用这些样本作了简单的交叉比对(crossing validation)。实验结果表所示。分析表可以看出,当距离d=1或d=2时分类结果较好,随着距离的增大,分类精度逐渐降低。此外,还将我们的方法与Gabor小波的方法做了比较,比较结果如表所示。从表的比较中可以看出,灰度共生矩阵方法的精度要远高于Gabor方法。 表3 综合灰度共生矩阵方法在不同距离下的分类结果 表4 灰度共生矩阵方法与Gabor方法的比较 2.5红星分类 根据中医临床实践以及我们的观察,我们认为红星多分布于舌边与舌中部之间的舌体表面。在研究中,我们按图24-26所示过程选取我们的研究对象。
根据实验,图像RGB空间的绿色分量图像既能更好的表达了原图像的视觉特性,又使得计算简单,因此,我们最终将以64×64像素的子图像的绿色分量图像为研究对象,采用基于Gabor小波的纹理分析方法对舌面红星进行分类。低频中心频率U1和高频中心频率Uh,Uh最大值为0.5,最小值可以取O[3],然而这样的图像在实际中并不常见,同时,考虑到存储空间和计算时间等代价,这里我们将U1和Uh分别设置为0.4和0.01。滤波的方向数和尺度数K和S,不同的K和S,将会有不同的滤波器,从而得到不同的特征向量,并进一步影响分类结果,因此,这里我们着重研究不同方向和尺度数对分类的影响。为找到最优的尺度和方向,我们对尺度和方向分别由4到8变化的不同组合进行了实验,把s=4,ori=4(即4个尺度4个方向)对应为x轴的1处,s=4,ori=5对应x轴的2处,依此类推,画出不同尺度方向下两类的分类精度曲线,如图27所示。
由图27可以看出,两类分类精度在x=16处,即s=7,ori=4时,达到最大,因此,Gabor的尺度和方向可以确定为7个尺度和4个方向。
3舌形特征 舌形指舌体形状。舌形变化是脏腑气血发生寒、热、虚、实病理变化的反映,临床病理舌形态与肌体脏腑器官病理程度相关。舌形识别在疾病和证型的诊断中有积极的意思。例如,胃炎的病人舌形大部分都为圆形舌;甲亢的病人舌形大部分都为瘦薄舌;瘀证的病人(冠心病、门脉高压证等)舌形偏大偏厚。
本发明除了进行了一系列必要的预处理工作,第一次将层次分析法引入模式识别中,并对舌形分类取得了不错的效果。
3.1预处理 舌形的识别的目的就是通过舌形的几何形态来判断出它的形状。因此,舌形边缘点的位置对舌形识别非常的重要。本发明中所采用的边缘点是通过snake算法从舌图像提取出来的,总共120个点。
在舌象的采集过程中,有些病人伸舌时舌体偏向一侧,称为歪斜舌。歪斜舌常见于中风或中风后遗症,如脑血管意外、面神经麻痹等神经系统损害等。同时,其他病人的采集过程中,难免也会出现舌体稍微偏斜左面或者是右面,这对舌形的识别有很大的影响。
因此,在舌形的识别之前,我们对舌形的边缘点进行了必要的预处理。这个预处理包括边缘点的均衡化处理和舌形的歪斜校正,然后通过AHP分类器对舌形就行识别。图28为舌形识别框架图。
3.2层次分析法AHP 层次分析法(The Analytic Hierarchy Process,以下简称AHP)是由美国运筹学家、匹兹堡大学萨第(T.L.Saaty)教授于本世纪70年代提出的,目前在众多领域得到广泛应用。AHP方法的主要特点是定性与定量分析相结合,将人的主观判断用数量形式表达出来并进行科学处理。
AHP算法基本原理是排序的原理,即最终将各方法(或措施)排出优劣次序,作为决策的依据。本发明首次尝试把AHP算法引入到模式识别领越,结果表明其有很好的识别效果。
由于篇幅有限,在本发明中仅仅简要介绍一下AHP的步骤,详细的过程请参考相关文献。
(1)构造递阶层次结构。一般由以下三个层次组成 目标层(最高层)指问题的预定目标; 准则层(中间层)指影响目标实现的准则; 措施层(最低层)指促使目标实现的措施。
(2)构造判断矩阵。
(3)层次单排序与检验 (4)层次总排序与检验 (5)结果分析。通过对排序结果的分析,判断得出最后的决策结果。
AHP算法中将决策的问题看作受多种因素影响的大系统,这些相互关联、相互制约的因素可以按照它们之间的隶属关系排成从高到低的若干层次,然后对各因素两两比较重要性,再利用数学方法,对各因素层层排序,最后对排序结果进行分析。
但是,在舌形的识别过程,同一层的不同所属层之间还有关联和制约的因素。因此,本发明中通过增加层中各种因素的调整,提出了具有调整的AHP算法,提高舌形识别的准确率。
3.3基于具有调整的AHP舌形识别过程 在舌形识别的过程,本发明中识别的为前面定义的8中舌形中的6中,其舌形的识别过程如图29。
在具有调整的AHP算法中,有5个层次结构,第一层为目标层,第二层、第三层、第四层为准则层,第五层为措施层。图30为舌形识别AHP层次结构图。
3.4准则层子特征的选择 在AHP的5层结构中,准则层由舌形识别的判定特征组成。在准则层B上分成两个主要特征长度相关特征和面积相关特征。
1)长度相关特征 i)中心距离比特征 ii)长宽比特征 2)面积相关特征 i)圆形面积比特征 ii)方形面积比特征 iii)三角形面积比特征 3.5不同所属层的调整 虽然在AHP算法中,其原理就是根据层内部的相互关联、相互制约形成隶属关系,由此排成从高到低的权重,以重要性度量填写判断矩阵。准则层B中的长度相关特征和面积相关特征就有相互关联和相互制约的重要性设置,如果在识别过程中专家认为面积相关特征比长度相关特征重要,则可以根据重要性程度填写判断矩阵。但是,在不同所属层之间缺少之间的调整。准则层C中长宽比特征就没有办法d对圆面积特征进行调整。但是,在舌形的判定识别往往是需要这样的调整的,这样可以提高舌形识别的准确率。
下面针对舌形的识别分别在算法中增加如下几种调整,以提高后期舌形的识别效果。
1)调整1当中心距离比Cp_ratio>KFb1,KFB1为系数,可以判定此舌形为锤形舌,则不需要进行圆面积比、方形面积比和三角形面积的判定; 2)调整2当长宽比Lw_ratio>KFB2,KFB2为系数,可以判定舌形呈长形,不需要进行圆形面积比和方形面积比的判定; 3)调整3当Lw_ratio<KFB3,KFB3为系数,可以判定此舌形为短小形,不需要进行三角形面积比的判定; 4)调整4由中心距离比Cp_ratio或者长宽比Lw_ratio判定属于其他形状舌形时,则不需要进行圆形面积比、方形面积比和三角形面积的判定。
3.6实验结果 我们选取了278例样本,其中条形舌53例;锤形舌21例;短三角形舌49例;长三角形舌61例;圆形舌49例;方形舌42例。其中每种舌形的2/3的样本用于训练,即条形舌35例;锤形舌14例;短三角形31例;圆形舌31例;方形舌28例,剩下的1/3作为测试。
表5 各种舌形的识别准确率和错误率 4舌面瘀斑特征 瘀斑是在舌表面上生出的黑褐色的斑点,是一类重要的病理舌象。出现瘀斑的舌体一般是某种疾病的显兆。采用数字图像处理的方法来对舌象上是否有瘀斑进行检测,对有瘀斑的舌象进行提取正是必行之方法。
膨胀收缩算法是一种处理数字图像的常用算法,本发明主要采用膨胀收缩算法对海量舌象库中存在瘀斑的舌象进行提取,为进一步进行计算机的舌象诊断提供依据,取得了很好的效果。
4.1瘀斑特征对象 在处理一幅舌图像是否含有瘀斑的问题时,一个主要难点是将瘀斑与红刺图像区分开。图31-33分别是健康的舌图像、有明显瘀斑的舌图像和有红刺的舌图像。
区分健康正常的舌象和有瘀斑的舌象很容易。可是区分瘀斑图像和红刺图像就比较复杂,精确度也比较低。所以是我们亟待解决的关键问题。
4.2瘀斑特征提取 正常舌象的像素点的灰度值都比较高,由于瘀斑处像素为暗黑色,所以在瘀斑处像素灰度值比正常处低,这是用数字图像处理提取瘀斑舌象的判据之一。但是红刺处也是由颜色比较暗的像素构成,所以只是根据像素值的大小(明暗)不能很好的区分判断出瘀斑和红刺,经常错误地将红刺舌象判断成瘀斑舌象。图34-36可以更形象地说明正常舌象和瘀斑舌象,以及瘀斑舌象和红刺舌象的差别。
膨胀腐蚀算法能很好的区分瘀斑舌象和红刺舌象,膨胀腐蚀算法是数学形态学的基本算法,膨胀是对图像中的某个物体的边界进行扩充,将物体接触的所有背景点合并到该物体中,使物体的边界向外扩张。如果两个物体之间的距离比较近,则膨胀算法会把两个物体连同到一起。膨胀的数学表达式是
公式的含义是用B来膨胀X得到的集合S。其中S表示膨胀后的图像集合,B表示用来进行膨胀的结构元素,它可以组成任何一种形状的图形。X表示原图像经过二值转化后的像素集合。腐蚀是对消除物体的边界点,使边界向内收缩的过程,可以把小于结构元素的物体去除。腐蚀的数学表达式是S=XB={x.y|BxyX}(20) 通过对图中舌象瘀斑和舌象红刺的观察,可以看出红刺主要是一簇深红色小点的聚集,各个小红点之间的距离不是很大。而瘀斑只是舌面上的一块暗红色的斑迹,周围没有与其像素值接近的点或者点集。
一张舌象图像中,若有像素比较低的点,则可能是存在瘀斑,也可能是红刺舌象图像。进一步对这些点进行图像膨胀;如果是红刺图像,则进行膨胀后,进行膨胀的小红点就会与周围的小红点相交。而对于瘀斑的舌图像,膨胀后由于周围没有和它像素值相似的点,所以不会和周围产生相交。根据这个特征,就可以很好的区分出红刺和瘀斑舌象。当区分出了红刺和瘀斑之后,可对已经膨胀了的瘀斑图像进行收缩操作,以便还原成原始图像。在舌面上,正常健康的舌象其像素值很大,而对于存在瘀斑、红刺的舌象,其部分象素值会比较低。所以选取一个合适的像素值(阀值),就能够首先排除正常健康舌象。排除正常健康舌象后,剩下的舌象基本就是带瘀斑和带有红刺的。然后,用膨胀收缩的方法将带有红刺的舌象图像去除,再剩下的舌象图像基本上就是带有瘀斑的舌象图像。
4.3实验结果与分析 首先选取一个合适的像素值来区别健康舌象和病态舌象(包括瘀斑舌象和红刺舌象);选取像素值(图像每点R,G,B像素值的和)为不同值时正确区分健康舌象和病态舌象的结果。对1000张舌像库中的随机舌象图片按照以下不同的像素值时,区分出的舌象图片如表所示。
在上面选取情况下,区分的图片的正确率如表所示 表6 瘀斑图像正确数 表7 瘀斑正确率 综合上面两个表格,要保证尽量没有瘀斑舌象图像漏选,应该有较多的病态舌象图片入选,而且健康舌象的选错率要低,所以选择像素值为285作为健康与病态舌象图片的区分点比较合适。
进一步在选中的病态舌象图像库中寻找带瘀斑的舌像图像,用膨胀收缩算法来进行裁决。病态图像中的最暗点一般是瘀斑上的点或者红刺舌象图像中的红刺点。选择一个或者多个舌像上的较暗点来进行膨胀,来确定舌象是瘀斑还是红刺舌象。对于选择1~3个最暗点(即像素值最低的点)用膨胀收缩算法来从病态舌象图像中筛选出瘀斑舌象的正确识别率如表所示。进行膨胀的点数越多,正确识别率也越高,可是也相应带来计算的复杂和出现错误的增多,反而得不徜失。选取3个点是一种最优的选择。表8 正确率 5舌面润燥特征提取 望舌苔的润燥,主要可了解津液的盈亏及其输布情况。润苔是正常舌苔的表现之一,在疾病中见到润苔,说明津液未伤,津液在体内的代谢基本正常,各种对津液无损伤的疾病(如风寒表证、内伤病轻证)均可见润苔。我们在以前反光点检测工作的基础上,根据反光点出现比例的高低,将舌苔的润燥量化。
5.1反光点检测思想 在景物图像中,物体颜色主要取决于物体的反射特性,二分光反射模型较客观地反映了不透明非均质物体的光反射机理,认为物体上各点的颜色由面反射和体反射两个分量线性组合而成。
根据菲涅耳定律,面反射的反射光取决于物体的折射率,物体周围介质的折射率,入射光的方向,表面取向,观察方向等因素。分析物体表面的几何结构,如果物体表面是光滑的,那么反射光线就只有一个方向,形成镜面反射,并引起物体表面颜色的突变而形成亮斑,且亮斑的颜色与光源的颜色一致(因为采集舌苔图像的光源为白色,故舌苔上的亮斑为白色);反之,如果表面粗糙,就不会形成亮斑。
由于舌苔为非单一颜色物体,体反射光线具有不同的颜色,从而使舌苔润燥分析的难度大大增加。由前面的分析可知,物体的光反射由面反射和体反射组成。面反射可形成亮斑或较亮区域,体反射则决定物体的本色。假设从物体某点反射出的光线为L,其中面反射为Ls,体反射为Lb,λ为波长,i、e分别为入射角和反射角,g为入射光和反射光的夹角,如图38,则 L(λ,i,e,g)=Ls(λ,i,e,g)+Lb(λ,i,e,g) 4-1 通过分析,得出假设,湿润的舌面上反光点很多,而干燥的舌面上反光点很少。基于上述假设,合理利用反光点就可以准确的确定舌苔的润燥程度。那些属于反光点中的像素与其他像素相比起来,特点是这些点具有较高的亮度,较低的饱和度。
5.2反光点定义 在舌图像的采集过程中,反光点是不可避免的。造成舌面上反光点的原因主要是舌图像采集过程中,来自光源的入射光在舌面形成镜面反射,引起舌表面颜色的突变而形成亮斑(即反光点),且亮斑颜色与光源颜色一致。因而,舌图像中属于反光点的像素与舌面上其他像素相比具有最高的亮度值和最低的饱和度值。
更进一步地,通过对舌图像的观察,我们还可以将反光点分为强反光点和弱反光点两类。强反光点是指那些处于镜面反射中心、亮度特别高而饱和度特别低的反光点;而弱反光点一般呈环状出现在强反光点的周围,亮度值和饱和度值相对较低。图39给出了强反光点和弱反光点的示例。
5.3基于面积和亮度的动态自适应算法 常见的反光点检测算法在同时处理各类情况(如有无白苔、不同的采集环境等)时,适应性较差。为解决这一问题,通过对大量舌图像样本的仔细观察,发现以下这些共同特点 (1)绝大多数舌图像上都存在反光点; (2)绝大多数舌图像上反光点都是具有最高亮度值的那些点; (3)绝大多数舌图像上反光点的比例都在某个较小的固定范围内; (4)绝大多数舌图像上反光点亮度值都不低于某个同亮度均值相关的域值。
这些特点都是针对单张舌图像而言的,从而我们的思路是首先通过统计得到所有舌图像反光点比例的分布并确定一个最佳的比例域值R,然后利用自适应域值公式得到单张舌图像下同亮度均值相关的反光点最低亮度域值L,针对每一张舌图像,通过迭代得到亮度不低于L且反光点比例不大于R的像素集合S,S即作为反光点。域值R和L相互合作、相互制约的关系使得它们的取值范围比较宽松,具有更强的动态自适应性。特别的,正如前面所述,在不影响舌图像整体感观的前提下,将少数舌面像素错判为反光点要比将反光点错判为舌面像素带来的风险小得多,因此域值R的选取原则是尽量取相对较大的值。
算法如下所示 (1)设定Ratio_Threshold=通过统计得到的反光点比例上限值; (2)令L_Threshold=舌图像中最亮点的亮度值,Step_Length=1~5; (3)计算自适应域值公式(2-1)得到反光点最低亮度域值Min_Threshold; (4)计算图像中亮度值L>L_Threshold的像素比例R; (5)如果R>Ratio_Threshold,转(8); (6)调整L_Threshold=L_Threshold-Step_Length; (7)如果L_Threshold>Min_Threshold,转(4); (8)标记所有亮度值L>L_Threshold的像素为反光点。
为了得到反光点比例上限值,从舌图像样本集中随机选取了200张舌图像。图40是对这些舌图像上反光点比例的统计结果。从中可以看出,反光点比例上限值取为6.5%是一个较好的选择(原则是尽量取相对较大的值)。因为在实际应用中反光点面积还受到亮度域值的限制,所以一般不会达到这一上限。通过计算反光点在舌像中的百分比,将舌像分为三类燥苔、润苔和水滑苔。
5.4实验结果 从舌图像样本库中随机选取了300张舌图像,并采用文中提及的所有反光点检测算法进行对比实验。各算法的参数设置如下L_Threshold=220;Threshold=250;Ipercent_S=0.6,Spercent_S=0.5,Ipercent_W=0.5,Spercent_W=0.8;Ratio_Threshold=6.5%,Ipercent=0.5,Step_Length=1。我们将反光点检测效果分成优良差3个等级进行统计。表9列出了各个算法的统计结果。
表9 各个算法的结果统计 实验统计结果表明,本发明提出的基于面积和亮度的动态自适应算法较现有算法有着更强的自适应能力,取得了更好的效果。
图41-43是在不同舌象和采集环境下各个算法的实验效果示例(从左到右依次是原舌图像、固定域值算法一、固定域值算法二、自适应域值算法和基于面积和亮度的自适应算法)(图41是在较暗的环境下舌象图、图42是在正常环境下的舌象图,图43是较多白苔的舌图像)。从中可以发现,基于面积和亮度的动态自适应算法在各类舌象和采集环境下的适应性和效果优于其他方法。
图44-47是对舌图像数据库中6783张舌图像进行反光点检测后,在R、G、B各分量上的强度分布图。可以看出,反光点检测使得舌图像在R、G、B分量上的分布更为规则,滤除了其中的噪声。同时还发现,在反光点检测之后,G、B分量两端已经没有波峰,而R分量上还有较大强度的波峰。这是符合事实的。因为舌体主要呈红色,除了反光点之外,舌体像素本身在R分量上也有较大的 强度的分布,因此在反光点检测之后R分量上还有较大强度的波峰。
通过比较反光点的百分比,确定润燥。如果反光点超过9%,分为水滑苔类;如果反光点百分比低于0.1%,看作燥苔;其他则为润苔。图48-49给出一幅舌像图片及其反光点伪图。
下面是本发明的应用举例 6疾病诊断建模 此项研究的贡献在于根据不同的证候和疾病的特点,运用不同的诊断模型,对所处理的证候和疾病进行分析,实验在较大的样本集上进行,诊断结果也较令人满意。
6.1基于boosting的证候诊断建模 Boosting由Freund和Schapire于1990年提出,是提高预测学习系统预测能力的有效工具之一,也是组合学习中最具代表性的方法,它试图提供一种提升任意学习算法精度的普遍方法。
在Valiant的PAC模型中,若存在一个多项式级的学习算法以识别一组概念,且识别的正确率很高,那么这组概念是强学习的;如果学习算法识别一组概念的正确率仅比随机猜测略好,那么这组概念是弱学习的。
Kearns和Valiant提出了弱学习算法与强学习算法的等价问题在PAC模型中一个“弱”学习器是否能被“提升”为一个具有任意精度的“强”学习算法如果两者等价,那么在学习概念时,只要找到一个比随机猜测略好的学习算法,就可以将其提升为强学习算法,而不必直接去找通常情况下很难获得的强学习算法。
Boosting方法的主要思想是给定一弱学习算法和一训练集(X1,Y1),(X2,Y2),…,(Xn,Yn),这里Xi为第i个训练样本的输入,Yi为分类问题的类别标志。算法开始先给每一个训练样本赋以相等的权值1/n,然后用该学习算法对训练集训练T轮,每次训练后,对训练失败的训练样本赋以较大的权值,也就是让学习算法在后续的学习中集中对比较难的训练样本进行学习,从而得到一个预测函数序列h1,h2,…,hn,其中hi也有一定的权值,预测效果好的预测函数的权值较大,反之较小。最终的预测函数H采用有权值的投票方式对新样本进行判别。Boosting算法的伪代码如下所示 (1)输入(X1,Y1),(X2,Y2),…,(Xn,Yn) 初始化D1( )=1/n (2)Fort=1,…,T ①在Dt下训练,得到预测函数ht ②计算该预测函数的错误率 Et=∑Dt( )[(ht,Xt)≠Yt] 选择αt=1/2 ln((1-Et)/Et) ③根据错误率更新样本的权重 当ht(Xt)≠Yt时Dt+1( )=Dt( )*exp(αt) 当ht(Xt)=Yt时Dt+1( )=Dt( )*exp(-αt) 并调整饰的权重和为1 (3)输出H(X)=sign(∑αht(X))以中医八纲辩证为例,下面给出由基于Boosting投票表决分类器所导出辩证模 型的部分表述 If舌质嫩纹理块数量>舌质苍老纹理块数量then虚证 If舌质嫩纹理块数量<舌质苍老纹理块数量then实证 Else无法判断 If舌苔厚纹理块数量>舌苔薄纹理块数量then里证 If舌苔厚纹理块数量<舌苔薄纹理块数量then表证 Else无法判断 6.2基于树状分类器的证候诊断模型 在中医专家的指导下,我们将舌图像颜色分类为4种苔色(黑、灰、白、黄)和8种舌色(红、淡红、紫、淡紫、绛、蓝、青、淡白)。根据前面的分类结果,我们已经可以得到每一张舌图像在这些颜色下的像素面积百分比。下面,将利用这12个值组成的12维颜色比例特征向量来设计舌图像颜色的分类算法。
将这12维特征向量分成一个4维的苔色特征向量和8维的舌色特征向量,分别设计苔色和舌色的分类算法。大概的思路如下所述 (1)由于舌图像上苔色情况简单,使用树状分类器可以实现对苔色的分类。(2)针对舌图像上舌色情况的复杂性,我们的想法是首先,使用树状分类器进行粗分类,将舌色分成3个大类(青;蓝、淡白、紫、淡紫、淡红;红、绛);然后,针对某些颜色(如淡白、蓝)的特殊性质,加入有益的限制条件,以提高分类的准确性;最后,将8维舌色特征向量作为输入,使用线性分类器对每个大类进行最终的细分类。图51给出了舌图像颜色分类算法的框架图。
选择舌色提取次序的原则易分离的颜色先进行提取,以免影响后面的颜色类别。
苔色判断算法 设输入舌图像Img的4维苔色特征向量为(black,gray,white,yellow)(分别代表黑、灰、白和黄),则苔色判断算法如下所述(树状分类器) (1)若black>gray & black>white & black>yellow,则判断为黑苔;否则, (2)若yellow>gray & yellow>white & yellow>black,则判断为黄苔;否则, (3)若white>gray & white>yellow & white>black,则判断为白苔;否则, (4)判断为灰苔。
舌色判断算法 设输入舌图像Img的8维舌色特征向量为(red,lightred,darkred,purple,lightpurple,blue,green,lightwhite)(分别代表红、淡红、绛、紫、淡紫、蓝、青和淡白),则舌色判断算法如下所述 (1)使用树状分类器,将舌图像Img分类为3个大类(青;红、绛;淡红、淡紫、紫、蓝、淡白)中的一类。其中,输入向量是由8维舌色特征向量进行对应维合并后的3维特征向量; (2)对于“红、绛”类。将8维舌色特征向量作为输入,使用事先训练好的2类线性分类器进行分类,判断为红或绛; (3)对于“淡红、淡紫、紫、蓝、淡白”类。若blue>(lightpurple*150%)且通过线性分类器判断为蓝,则作为蓝(分析见后文);否则,计算舌图像Img的RGB平均值向量(r,g,b)和舌图像Img亮度值L>150的像素比例值ratio,若ratio>0.7627 & g>=148.5且通过线性分类器判断为淡白,则作为淡白(分析见后文);否则,将8维舌色特征向量作为输入,使用事先训练好的3类线性分类器进行分类,判断为淡红、淡紫或紫。
上述算法中使用了一些经验值以及经验公式,下面将进行必要的分析与解释。这些经验值与经验公式均来自对日常实验结果的分析。对于蓝舌色的判断依据图5-3是5张较典型蓝舌图像在舌色苔色上的比例分布图。如图所示,在第5,6(分别是淡紫和蓝分量)处具有较明显的分布规律,可以得到如下的经验公式蓝>淡紫*150%。实验表明,该经验公式取得了不错的效果。
对于淡白舌色的判断依据经过仔细观察,可以发现,淡白舌图像在亮度上较其他舌图像更高,且亮度大的像素相对较多。根据这些分析,我们作出了RGB下G分量均值以及亮度值>150的像素比例Ratio的分布图,如图5-4至5-6所示。图52、53可以得到经验阈值及其限制公式Ratio>0.7627 & G>=148.5。实验结果也证明了该方法的有效性。
●if绛|红|黄苔|黑苔then热证 ●if蓝|紫|青|淡白|白苔then寒证 ●if别的颜色或(热色与冷色象素比相近)then既不是热证也不是寒证 ●if其他then不能判断 6.3基于特征层融合的疾病诊断模型 从融合在识别过程中所处的阶段来看,有三个层次的融合特征层、匹配层和决策层。特征层融合指从不同模态的生物特征数据中提取相应的特征向量,将它们在统一的空间中“融合”成一个新的、具有更高维数的特征向量用于识别。实际上,人们在后两种层次的融合上已做了很多研究,但在特征层次上融合的研究结果却寥寥无几。
A.K.Jain指出在多模态生物特征融合的研究领域中,有一个广泛的共识在身份识别系统中,应用融合策略的阶段越早,系统的性能就会越好。因此,一般而言,在特征层面就实现融合的识别系统要好于在特征匹配层面实现融合的识别系统,因为在特征层面进行融合得到的新特征包含最为丰富的信息。然而,特征层面融合的实现也是最困难的,这是因为不同模态的生物特征系统的特征空间关系可能是未知的,不同模态的生物特征的描述也是难以相容的。而且,由于研究范围、技术保护等方面的因素,很难得到不同的单一模态生物特征的特征数据来进行多模态下生物特征融合的研究。因此,置信层和抽象层的多模态生物特征融合的研究在绝大多数情况下就成为了“唯一”的选择,这也是特征层融合文献寥寥无几的重要原因。
而为了进行特征层融合的疾病诊断,需要解决以下几个问题 怎样确定各类特征在特征级融合中所使用的特征向量,颜色特征是每种颜色所占总体像素的比例作为特征向量,纹理特征是gabor变换后的均值与方差,然后将其融合在一起,进行分类。
特征组合问题研究并不是将所有的特征信息都用来融合才能获得最佳的效果。所以,在特征融合的研究中,我们首先面临的问题是哪几类舌象特征的融合能够获得最佳的效果?更进一步的,对于不同的疾病和证候诊断,应该选择哪些舌象特征进行融合?因此,如何动态的根据具体情况来决定最有利于整个融合系统的信息组合,是特征融合研究的基础和前提,同时对于整个融合系统的性能起着先决作用。而我们采取了利用专家知识的策略,避开了这个问题。
融合策略的选择策略根据各种生物特征识别技术在匹配层上的连续匹配分值输出模式以及抽象层决策输出方式的不同,在理论上分析选择最佳的融合策略的一般策略,将是我们的研究重点。这方面的主要研究内容将包括对不同模态生物特征描述的建模策略的考虑、不同模态生物特征描述之间相关性的分析等等。我们将试图研制出一套比较通用的特征层融合模型。
在各个子系统的特征提取工作完成后,如何将所得到的各个不同模态的特征融合以得到含有系统决策所需最大信息量的新特征,是该研究阶段的主要工作。由于特征层面上的融合能够最大限度的提高多模态生物特征识别系统的性能,因此,该阶段的研究工作应该给予足够的重视;同时,由于特征层面的融合最难实现,而且国内外相关的研究文献寥寥无几,所以,该研究阶段的工作也是难度最高的。图54是基于特征层的融合系统框架示意图。
●if蓝色舌质&厚苔then急性胰腺炎; ●if蓝色舌质&薄苔then慢性特征炎; ●if淡白&薄苔then贫血; 6.4基于决策层融合的疾病诊断模型 从融合在识别过程中所处的阶段来看,有三个层次的融合特征层、匹配层和决策层。决策层融合是各个单一模态生物特征识别的子系统首先独立给出判别结果,之后应用一定的融合策略。
决策融合阶段根据现有的基于颜色、纹理、形状等多项特征识别系统的识别结果(接受或拒绝,即二值结果),再研究分析现有的一些决策准则,如加法、乘法、最大/最小值、中值、以及投票机制等准则的基础上,决定适合的、最佳的融合策略。以颜色、纹理、形状等多项特征的融合为例,该研究阶段的系统框架如下图所示。
在中医舌诊中,通过对舌的颜色、纹理和舌形等特征进行分析就可以诊断出许多证候和疾病。本发明到目前为止主要集中于讨论舌图像的颜色分析,而同组其他人做了舌的纹理和形状方面的研究。这样,将这些研究结果融合在一起,就可以进行一些简单疾病和证候的诊断。舌图像诊断系统的框架如图56所示。
●if圆形舌&虚证&(淡红|淡紫|红)then胃炎 ●if红刺&(淡红|淡紫)&咳嗽then(支气管炎|肺炎) ●if红刺&(红|绛|紫)&咳嗽then肺炎 ●if红刺&(淡红|淡紫|红)&右下腹痛then阑尾炎 同时在上述研究内容的基础上,针对颜色、纹理、形状等多项特征的特性,考虑我们在这三个问题上的研究结果,来检验我们的一般融合框架和策略,尤其要利用我们可以整合多种特征的优势,对特征层面融合的有效性和合理性进行验证。
6.5实验结果 从样本库中选取舌图像299例进行诊断实验。表5-5是每种疾病或证候选取的样本数量及其诊断准确率。从表中可以看出,效果是比较令人满意的。当然,小样本的实验结果离实用化的自动中医舌诊还有很大差距,我们仅仅是在这方面走出了有益的第一步而已。 表10 疾病诊断结果 应用上述诊断模型,分别对334例虚证样本、856例实证样本、538例表证样本和652例里证样本进行了诊断实验,表中列出了诊断结果。对于证候的诊断,实验在较大的样本集上进行,诊断结果也较令人满意。
权利要求
1、一种基于舌象特征的病证计算机分析系统,其特征是它包括
(1)提取分析颜色特征
从舌象数据库中选取典型舌象样本,使用FCM算法,对每一个舌象样本进行多次颜色聚类,将每一颜色类别中所有经过标定的聚类颜色值叠加起来,形成了代表每一种苔色/质色的典型颜色分布的样本集合;
对每个颜色样本集合进行二次FCM聚类,将每个集合聚类结果中的噪声点筛剔除;
使用改进的K-最近邻分类器对每一个舌象进行14种苔色质色的分类和分析;
(2)提取分析纹理特征
采用Gabor滤波、灰度共生矩阵以及分形模型等多种方法来分析和识别不同的舌象纹理特征,包括对纹理图像去反光预处理,对厚苔薄苔进行分类,对红刺进行分类,对舌质老嫩纹理舌象纹理进行分类和对红星进行分类;
(3)提取分析舌形特征
先对舌形进行包括边缘点的均衡化处理和舌形的歪斜校正的预处理,然后通过AHP分类器对舌形就行识别;
(4)、提取分析舌面瘀斑特征;
(5)、提取分析舌面润燥特征。
2、根据权利要求1所述的基于舌象特征的病证计算机分析系统,其特征是
改进的K-最近邻分类器的算法如下
(1)训练过程
将每个训练样本<x,f(x)>加入到训练样本集中,其中,x是样本的特征向量,f(x)是样本的分类类别,f(x)∈V,V={v1,v2,...,vn}是分类类别的集合。
(2)分类过程
给定未知类别样本xq,仅仅搜索颜色空间(如RGB颜色空间)中以xq为中心、大小为m×m×m立方体中的所有颜色样本x1,x2,...,xN;
计算
其中,m>1为搜索邻域直径,
δ函数的定义为

就是未知类别样本xq的分类的结果。
全文摘要
本发明提供的是一种基于舌象特征的病证计算机分析系统。它包括(1)提取分析颜色特征;(2)提取分析纹理特征;(3)提取分析舌形特征;(4)提取分析舌面瘀斑特征;(5)提取分析舌面润燥特征等。本发明的贡献在于根据不同的证候和疾病的特点,运用不同的诊断模型,对所处理的证候和疾病进行分析,实验在较大的样本集上进行,可用于诊断,并能够取得较令人满意的结果。本发明可以是中医诊断实现定量化、规范化、自动化。
文档编号G06Q50/00GK1973757SQ20061015086
公开日2007年6月6日 申请日期2006年10月11日 优先权日2006年10月11日
发明者张大鹏, 李乃民, 王宽全, 张宏志, 黄勃 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1