一种基于人工智能的舌诊图像识别方法
文献发布时间:2023-06-19 11:52:33
技术领域
本发明涉及图像处理领域,一种基于人工智能的舌诊图像识别方法。
背景技术
舌诊广泛应用于中医的临床分析和应用中已有数千年的历史,是中医望闻问切中的望诊的一部分。通过检查舌头的颜色、形状和质地来判断患者的健康状况,如瘀斑、点刺、齿痕、舌裂和舌苔厚度等不同的特征能够反映身体的内部状态和器官的健康状况。舌象是人体健康状态的外在表现,可以反映人体的气血、腑脏功能状态,是中医辩证诊断的主要依据之一。舌诊可以利用舌象识别体质类型,而体质类型与某些疾病密切相关,甚至决定着疾病的发展趋势。《中医体质分类及判定》标准中将体质分为九种:气虚,阴虚,阳虚,痰湿,湿热,气郁,血瘀,特禀质和平和质。然而中医舌诊具有基于视觉描述的特性,极易受到医生主观原因等因素的影响,过往使用的评估方法并不总是具有足够的客观性与可重复性(隐性知识或临床经验通常在评估中被优先考虑)。
人工智能辅助舌诊通过消除对基于主观和经验的舌诊评估的依赖,提供更准确、一致和客观的临床诊断,
发明内容
针对现有技术中存在的不足,本发明提供一种基于人工智能的舌诊图像识别方法。
通过图像处理方法从舌体图像中提取出舌体的颜色特征、几何特征(形态特征)和纹理特征(如点刺、瘀斑、齿痕与裂纹)等特征参数。接着根据这些特征参数以及流调数据参数来构建超图,最后使用超图卷积神经网络进行辅助中医舌象识别。
本发明的技术要点在于如何利用舌诊图像以及流调数据构建超图,训练超图神经网络,辅助中医舌象识别。
一种基于人工智能的舌诊图像识别方法,步骤如下:
步骤(1)、获取相同数量的九种体质病人的舌诊图像各X张,作为图像数据集;并获取相应的流调数据,作为流调参数数据集。利用边缘检测算法对舌诊图像进行处理,对舌诊图像进行分割,得到舌体部分。然后计算舌体部分的平均RGB值M
所述的九种体质包括:气虚,阴虚,阳虚,痰湿,湿热,气郁,血瘀,特禀质和平和质。
步骤(2)、再对舌体部分使用区域分割算法,分割出舌苔部分,计算舌苔部分的平均RGB值M
步骤(3)、对舌体部分先采用最大类间方差法粗提取舌体点刺部分,然后使用分水岭算法精细提取到舌体点刺部分,然后利用OpenCV计算出:
(1)点刺的数量,记为N
(2)点刺部分的面积,记为S
(3)点刺的平均面积,记为
步骤(4)、利用深度学习方法以及迁移学习方法,提取舌体中齿痕部分,计算:
(1)齿痕的数量,记为N
(2)齿痕部分的面积,记为S
(3)齿痕的平均面积,记为
步骤(5)、利用深度学习方法以及迁移学习方法,提取舌体中裂纹部分,计算:
(1)裂纹的数量,记为N
(2)裂纹部分的面积,记为S
(3)裂纹的平均面积,记为
步骤(6)、获得5个流调数据参数,分别是:
(1)年龄:age;
(2)身高:height;
(3)体重:weight;
(4)BMI值:BMI;
(5)性别:sex;
本发明包括但不限于以上25个参数。
步骤(7)、通过得到的参数构建超图。
步骤(8)、训练超图神经网络,并使用训练好的超图神经网络对新病人进行舌象识别;
构建好超图之后,开始搭建超图神经网络,并用构建好的超图训练该超图神经网络。
在使用阶段,先获取新病人的流调数据参数以及舌诊图像,对舌诊图像进行特征提取,获取特征参数。然后随机选取步骤(7)中已构建好的一个超图,用新病人作为顶点取代该超图中的一个顶点,并重新构建新的超图。新的超图将作为训练好的超图神经模型的输入,根据模型的输出,能够得出该病人属于哪种体质。
步骤(1)、具体方法如下:
利用OpenCV计算舌体图像中的每个像素点的RGB值,最后求平均值,得到舌体部分的平均RGB值M
利用matlab,根据每个像素点的RGB值计算得到HSV值,最后求平均值,得到舌体部分的平均HSV值N
利用OpenCV计算舌体部分的面积S
计算舌体部分的宽度K
计算舌体部分的长度L
步骤(2)具体方法如下:
利用OpenCV计算舌苔图像中的每个像素点的RGB值,最后求平均值,得到舌苔部分的平均RGB值M
利用matlab,根据舌苔图像中每个像素点的RGB值计算得到HSV值,最后求平均值,得到舌苔部分的平均HSV值N
利用OpenCV计算舌苔部分的面积S
计算舌苔部分的宽度K
计算舌苔部分的长度L
计算舌苔面积占舌体面积的比例
步骤(7)具体方法如下:
超图包括两部分:顶点和超边。每个顶点表示一个对象,超边的构建是将具有同一个属性的样本归到同一条超边里。每次从九种体质病人中各随机选取x(x 重复上述操作,获取Z张超图,Z大于设定阈值。 本发明有益效果如下: 本发明首次在舌诊图像识别领域使用超图模型,创新性地结合了舌诊图像以及流调数据两个模态的数据对舌诊图像进行识别,提高了舌诊图像识别的准确率及可信度。 附图说明 图1为本发明方法流程图; 图2为本发明超图示例图。 具体实施步骤: 以下结合附图与实施例对本发明方法进行进一步描述。 如图1所示,为了达到本发明的目的,采用的技术方法步骤有: S1:获取气虚,阴虚,阳虚,痰湿,湿热,气郁,血瘀,特禀质和平和质九种体质病人各1000张的舌诊图像,总计9000张,作为图像数据集;以及获取相应的流调数据,作为流调参数数据集。 S2:对图像数据集进行特征提取,获取20个特征参数,具体过程参考技术要点。 (1)利用OpenCV计算舌体图像中的每个像素点的RGB值,最后求平均值,得到舌体部分的平均RGB值,记为M (2)利用matlab,根据每个像素点的RGB值计算得到HSV值,最后求平均值,得到舌体部分的平均HSV值,记为N (3)利用OpenCV计算舌体部分的面积,记为S (4)计算舌体部分的宽度,记为K (5)计算舌体部分的长度,记为L 再对舌体部分使用区域分割算法,分割出舌苔部分,计算以下参数: (6)利用OpenCV计算舌苔图像中的每个像素点的RGB值,最后求平均值,得到舌苔部分的平均RGB值,记为M (7)利用matlab,根据舌苔图像中每个像素点的RGB值计算得到HSV值,最后求平均值,得到舌苔部分的平均HSV值,记为N (8)利用OpenCV计算舌苔部分的面积,记为S (9)计算舌苔部分的宽度,记为K (10)计算舌苔部分的长度,记为L (11)计算舌苔面积占舌体面积的比例,记为 对舌体部分先采用最大类间方差法粗提取舌体点刺部分,然后使用分水岭算法精细提取到舌体点刺部分,然后利用OpenCV计算出: (12)点刺的数量,记为N (13)点刺部分的面积,记为S (14)点刺的平均面积,记为 利用深度学习方法以及迁移学习方法,提取舌体中齿痕部分,计算: (15)齿痕的数量,记为N (16)齿痕部分的面积,记为S (17)齿痕的平均面积,记为 利用深度学习方法以及迁移学习方法,提取舌体中裂纹部分,计算: (18)裂纹的数量,记为N (19)裂纹部分的面积,记为S (20)裂纹的平均面积,记为 S3:根据S2中获得的20个特征参数以及对应的5个流调数据参数构建超图,具体如下: S3-1:首先确定超图的顶点。每次从九种体质病人中各选取10例,作为超图的顶点,则超图的顶点为90个。 S3-2:对于分类参数,对应地建立相应类别超边;对于数值参数,以每个顶点为中心,使用KNN算法,令K个与该中心顶点最近的顶点和中心顶点处于一条超边上。 图2为本发明超图示例图,其中n1~n8为顶点,e1~e3为超边。 S4:训练超图神经网络,具体如下: S4-1:选取HGNN作为超图神经网络。 S4-2:用S3中构建好的超图来训练该超图神经网络,选取令识别准确率最高的模型参数作为最终的模型参数。 S5:使用训练好的超图神经网络对新病人进行舌象识别,具体如下: S5-1:获取新病人的5个流调以及舌诊图像,对舌诊图像进行特征提取,获取到20个特征参数。 S5-2:随机选取一个之前所构建好的超图,用新病人作为顶点取代该超图中的一个顶点,并重新构建新的超图。 S5-3:新的超图将作为训练好的超图神经模型的输入,根据模型的输出,能够识别出该病人属于哪种体质。
- 一种基于人工智能的舌诊图像识别方法
- 一种基于人工智能OCR的电子秤图像文字识别方法