基于计算机视觉的舌裂纹形状识别方法及识别系统与流程

文档序号:26051820发布日期:2021-07-27 15:27阅读:125来源:国知局
基于计算机视觉的舌裂纹形状识别方法及识别系统与流程

本发明涉及一种图像处理方法,具体涉及一种基于计算机视觉的舌裂纹形状识别方法。本发明还涉及一种基于计算机视觉的舌裂纹形状识别系统。



背景技术:

中医舌诊是一种通过观察舌体的生理与病理学形态来发现人体脏腑病理生理变化的诊察方法。医生通过对舌象的观察,能够对患者的病情作出相应的诊断和评估,在传统中医学中具有重要的价值。经过长期的临床实践,证明舌诊能够准确地辨别出病变部位和疾病的严重程度。而舌象中的舌裂纹是舌诊中的重要组成部分,舌裂纹的有无以及舌裂纹的形状能够反映人体维生素的缺乏情况和消化系统的健康情况,舌裂纹种类大致可以分为纵形、横形、爻字形,以及辐射状、脑回状、鹅卵石状等。中医已经获得舌裂纹的种类与人体的健康状况的关系,所以明确辨别出舌裂纹的种类,对中医问诊有极大好处。

目前,有关舌裂纹的研究方法可分成两大类。第一类方法是传统图像处理技术,具体又分为两种,一种是基于舌图像的灰度、色彩信息对舌裂纹进行阈值分割,但并未考虑舌裂纹特征,因而难以精确、完整地分割出舌裂纹;另一种是基于线侦测方法对舌裂纹进行分割,还可以分成3个小类,即基于轮廓的分割方法、基于中心线的分割方法以及基于区域的分割方法。虽然基于线侦测的方法考虑了舌裂纹的纹理特征,但都存在一定程度的不足,例如:基于轮廓的分割方法采用的是一阶导数,对噪声敏感,而且在实际应用中往往得不到闭合的轮廓;基于中心线的分割方法一般采用的是二阶导数,同样对噪声敏感,而且中心线位置的提取往往存在较大误差;而基于区域的分割方法往往会将舌苔上的粗纹理、伪裂纹也分割出来,需要手动去除多余纹理、才能分割出裂纹。

第二类方法是基于深度学习的技术,但是现有基于卷积神经网络的舌裂纹特征提取技术,过多依赖于卷积神经网络的设计和训练,往往忽略了传统图像处理技术在舌裂纹中的广泛应用。因此所获得的舌裂纹特征对于中医问诊很难有准确的参考价值。



技术实现要素:

本发明所要解决的技术问题是提供一种基于计算机视觉的舌裂纹形状识别方法,它可以实现对舌裂纹的形状进行客观评价。

为解决上述技术问题,本发明基于计算机视觉的舌裂纹形状识别方法的技术解决方案为,包括以下步骤:

步骤1,舌裂纹的检测和标注;

检测舌裂纹,对输入舌图中的裂纹进行初步特征提取,获取并标注局部裂纹的边界框,得到无标注局部裂纹图;

在另一实施例中,进一步地,所述步骤1包括以下步骤:

步骤1.1,通过舌图采集设备采集不少于n万张原始舌图,采用人工标注的方式在原始舌图上标注出裂纹的边界框信息,该裂纹为原始裂纹;将标注有原始裂纹边界框信息的标注舌图文件进行保存;将标注舌图随机划分为裂纹检测训练集和裂纹检测验证集;再采集不少于m万张无标注的原始舌图;其中,m>n;

步骤1.2,搭建基于深度学习的裂纹检测训练模型;

在另一实施例中,所述步骤1.2中的裂纹检测训练模型采用efficientdet结构,并使用bifpn搭建多尺度特征金字塔。

步骤1.3,对所述裂纹检测训练模型进行模型训练,得到训练完成的裂纹检测模型;

进一步地,所述步骤1.3的模型训练包括以下步骤:

步骤1.3.1,利用所述步骤1.1所得的裂纹检测训练集,对所述步骤1.2搭建的基于深度学习的裂纹检测训练模型进行训练,并利用步骤1.1所得的裂纹检测验证集进行验证,得到检测模型;

步骤1.3.2,利用所述步骤1.3.1所得到的检测模型,对所述m万张无标注的原始舌图中的每一张进行预测,将预测出的舌裂纹边界框按照概率值进行排序,取概率值大于0.9±0.05的裂纹边界框,删除概率值小于0.9±0.05的边界框,得到预测文件并与所述步骤1.1所得的裂纹检测训练集进行合并,得到新的裂纹检测训练集;

步骤1.3.3,利用所述步骤1.3.2所得的新的裂纹检测训练集,对所述步骤1.3.1所得的检测模型再次进行训练,并利用步骤1.1所得的裂纹检测验证集进行验证,得到训练完成的裂纹检测模型;

在另一实施例中,所述步骤1.3.1和/或所述步骤1.3.3的训练过程中采用ciouloss作为裂纹边界框回归损失函数;所述ciou裂纹边界框回归损失函数的公式为:

其中,ρ(.)表示欧式距离,

b表示预测框b的中心点,

bgt表示真实框bgt的中心点,

c表示预测框b和真实框bgt的最小外接矩形的对角线距离,

α是用于平衡损失函数的参数,

ν是用来衡量长宽比一致性的参数。

在另一实施例中,所述步骤1.3.1中的参数α为:

其中,iou表示任意两个裂纹边界框b1、b2的重叠程度,

所述步骤1.3.1中的参数ν为:

其中,wgt表示真实标注的裂纹边界框的宽度,

hgt表示真实标注的裂纹边界框的高度,

w表示预测的裂纹边界框的宽度,

h表示预测的裂纹边界框的高度。

在另一实施例中,所述步骤1.3.1和/或所述步骤1.3.3的训练过程中使用在线强效数据增强模式;所述在线强效数据增强模式为随机缩放剪裁、旋转、镜像水平翻转、高斯噪声、中值滤波、亮度变化、对比度变换、rgb通道交换、mosaci中的一种或多种。

步骤1.4,利用训练完成的裂纹检测模型,检测局部裂纹边界框;

在另一实施例中,所述步骤1.4中检测局部裂纹边界框的方法为:利用步骤1.3所得到的训练完成的裂纹检测模型,对所述m万张无标注的原始舌图中的每一张进行预测,将预测出的舌裂纹边界框按照概率值进行排序,取概率值大于0.9±0.05的裂纹边界框,删除概率值小于0.9±0.05的边界框,得到局部裂纹边界框。

步骤1.5,根据步骤1.4所检测的局部裂纹边界框,对m万张无标注的原始舌图进行剪裁,剪裁出局部裂纹图,得到所述无标注局部裂纹图。

步骤2,舌裂纹的形状识别和标注;

步骤2.1,对所述无标注局部裂纹图进行人工标注,标注出裂纹的形状类别信息,并将标注后的局部裂纹图随机划分为形状识别训练集和形状识别验证集;

在另一实施例中,所述步骤2.1中裂纹的形状类别信息包括纵形、横形、爻字形、辐射状、脑回状、鹅卵石状的一种或多种。

在另一实施例中,所述步骤2.1中的形状识别训练集和形状识别验证集的比例为8:2;所述步骤1.1中的裂纹检测训练集和裂纹检测验证集的比例为8:2。

步骤2.2,搭建基于深度学习的裂纹形状分类训练模型;

在另一实施例中,所述步骤2.2中的裂纹形状分类训练模型采用efficientnet结构。

步骤2.3,对所述裂纹形状分类训练模型进行模型训练,得到训练完成的裂纹形状分类模型;

步骤2.4,利用训练完成的裂纹形状分类模型对无标注局部裂纹图进行预测,得到最终的裂纹形状类别。

在另一实施例中,进一步地,所述步骤2.3的训练过程包括以下步骤:

步骤2.3.1,利用所述步骤2.1所得的形状识别训练集,对所述步骤2.2搭建的基于深度学习的裂纹形状分类训练模型进行训练,并利用步骤2.1所得的形状识别验证集进行验证,得到分类模型;

步骤2.3.2,利用步骤2.3.1所得的分类模型,对所述无标注局部裂纹图进行预测,对预测后的所有局部裂纹图按照概率值进行排序,保留概率值大于0.9±0.05的局部裂纹图,得到预测文件并与步骤2.1所得的形状识别训练集进行合并,得到新的形状识别训练集;

步骤2.3.3,利用所述步骤2.3.2所得的新的形状识别训练集,对所述步骤2.3.1所得的分类模型再次进行训练,并利用步骤2.1所得的形状识别验证集进行验证,得到训练完成的裂纹形状分类模型。

在另一实施例中,所述步骤2.3.1和/或所述步骤2.3.3的训练过程中采用focalloss作为裂纹形状分类损失函数;所述裂纹形状分类损失函数采用以下公式:

fl(pt)=-αt(1-pt)γlog(pt)

其中,fl为裂纹形状分类的损失函数,

pt为预测的概率值,

αt为默认参数,取αt=0.25,

γ为默认参数,取γ=2。

在另一实施例中,所述步骤2.3.1和/或所述步骤2.3.3的训练过程中使用在线强效数据增强模式;所述在线强效数据增强模式为autoaugment、随机缩放剪裁、旋转、水平镜像翻转、垂直镜像翻转、图像属性变化、cutmix中的一种或几种。

本发明还提供一种基于计算机视觉的舌裂纹形状识别系统,其技术解决方案为,包括:

舌裂纹的检测模块;被配置于用于检测舌裂纹,对输入舌图中的裂纹进行初步特征提取,获取并标注局部裂纹的边界框,得到无标注局部裂纹图;

在另一实施例中,进一步地,所述舌裂纹的检测模块包括:

舌图采集模块;被配置于用于通过舌图采集设备采集不少于n万张原始舌图,采用人工标注的方式在原始舌图上标注出裂纹的边界框信息,该裂纹为原始裂纹;将标注有原始裂纹边界框信息的标注舌图文件进行保存;将标注舌图随机划分为裂纹检测训练集和裂纹检测验证集;再采集不少于m万张无标注的原始舌图;其中,m>n;

裂纹检测训练模型搭建模块;被配置于用于搭建基于深度学习的裂纹检测训练模型;

裂纹检测模型训练模块;被配置于用于对所述裂纹检测训练模型进行模型训练,得到训练完成的裂纹检测模型;

所述裂纹检测模型训练模块包括:

检测模型训练模块;被配置于用于利用所述裂纹检测训练集,对所述基于深度学习的裂纹检测训练模型进行训练,并利用所述裂纹检测验证集进行验证,得到检测模型;

裂纹检测训练集修正模块;被配置于用于利用所述检测模型,对所述m万张无标注的原始舌图中的每一张进行预测,将预测出的舌裂纹边界框按照概率值进行排序,取概率值大于0.9±0.05的裂纹边界框,删除概率值小于0.9±0.05的边界框,得到预测文件并与所述裂纹检测训练集进行合并,得到新的裂纹检测训练集;

检测模型修正模块;被配置于用于利用所述新的裂纹检测训练集,对所述检测模型再次进行训练,并利用裂纹检测验证集进行验证,得到训练完成的裂纹检测模型;

局部裂纹边界框检测模块;被配置于用于利用所述训练完成的裂纹检测模型,检测局部裂纹边界框;

舌图剪裁模块;被配置于根据所述局部裂纹边界框,对m万张无标注的原始舌图进行剪裁,剪裁出局部裂纹图,得到所述无标注局部裂纹图。

舌裂纹的形状识别模块,包括:

训练集及验证集的建立模块;被配置于用于对所述无标注局部裂纹图进行人工标注,标注出裂纹的形状类别信息,并将标注后的局部裂纹图随机划分为形状识别训练集和形状识别验证集;

裂纹形状分类训练模型搭建模块;被配置于用于搭建基于深度学习的裂纹形状分类训练模型;

形状分类模型训练模块;被配置于用于对所述基于深度学习的裂纹形状分类训练模型进行模型训练,得到训练完成的裂纹形状分类模型;以及

裂纹形状分类模块;被配置于用于利用所述训练完成的裂纹形状分类模型对所述无标注局部裂纹图进行预测,得到最终的裂纹形状类别。

在另一实施例中,进一步地,所述形状分类模型训练模块包括:

形状分类模型训练模块;被配置于用于利用所述形状识别训练集,对所述基于深度学习的裂纹形状分类训练模型进行训练,并利用所述形状识别验证集进行验证,得到分类模型;

形状识别训练集修正模块;被配置于用于利用所述分类模型,对所述无标注局部裂纹图进行预测,对预测后的所有局部裂纹图按照概率值进行排序,保留概率值大于0.9±0.05的局部裂纹图,得到预测文件并与所述形状识别训练集进行合并,得到新的形状识别训练集;

形状分类模型修正模块;被配置于用于利用所述新的形状识别训练集,对所述分类模型再次进行训练,并利用所述形状识别验证集进行验证,得到训练完成的裂纹形状分类模型。

本发明可以达到的技术效果是:

本发明同时应用了传统图像处理技术和深度学习技术,兼顾两者的优势和弱势,能够提高舌裂纹特征提取和识别的准确度。

本发明将深度学习与传统图像处理方法有机地融合在一起,能够提高舌裂纹特征提取和识别的精确度,能够实现舌裂纹的客观评价,填补了现有技术仅仅提取裂纹特征而无法实现舌裂纹客观评价的空缺。

本发明通过使用传统图像处理技术和基于计算机视觉的深度学习技术,实现对舌裂纹的客观评价。相比于以往单一的舌裂纹识别算法(即仅仅只使用传统图像处理技术或者深度学习计算),本发明不仅能识别舌图是否含裂纹,而且能够识别出裂纹的形态类别。

本发明提高了裂纹特征提取和识别的准确率,也能准确识别不同种类的裂纹,解决了传统分割方法中存在的一些缺陷分割不完整、过分割的问题,能够正确检测舌裂纹图像,具有一定的抗干扰能力,并且解决了信息丢失和过度分割的问题。

附图说明

本领域的技术人员应理解,以下说明仅是示意性地说明本发明的原理,所述原理可按多种方式应用,以实现许多不同的可替代实施方式。这些说明仅用于示出本发明的教导内容的一般原理,不意味着限制在此所公开的发明构思。

结合在本说明书中并构成本说明书的一部分的附图示出了本发明的实施方式,并且与上文的总体说明和下列附图的详细说明一起用于解释本发明的原理。

下面结合附图和具体实施方式对本发明作进一步详细的说明:

图1是本发明基于计算机视觉的舌裂纹分析方法的流程示意图;

图2是本发明基于计算机视觉的舌裂纹长度度量方法的流程示意图;

图3是本发明所采用的efficientdet结构的示意图;

图4是本发明所采用的efficientnet结构的示意图;

图5a至图5c是本发明所采用的小波分解的示意图;

图6是本发明所采用的骨架提取算法的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另外定义,此处使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

如图1所示,本发明基于计算机视觉的舌裂纹分析方法,包括以下步骤:

步骤1,舌裂纹的检测和标注;

检测舌裂纹,对输入舌图中的裂纹进行初步特征提取,获取并标注局部裂纹的边界框,为完成后续舌裂纹的形状识别和裂纹长度工作提供基础;

具体地,包括以下步骤:

步骤1.1,通过舌图采集设备,采集不少于5万张原始舌图,采用人工标注的方式,在原始舌图上标注出裂纹的边界框信息,该裂纹为原始裂纹;将标注有原始裂纹边界框信息的标注舌图文件进行保存;按照8:2的比例,将标注舌图随机划分为裂纹检测训练集和裂纹检测验证集;

再采集不少于10万张无标注的原始舌图;另外再采集1万张无标注的原始舌图作为测试集并进行人工标注;

步骤1.2,搭建基于深度学习的裂纹检测训练模型,裂纹检测训练模型采用如图3所示的efficientdet结构,并使用bifpn搭建多尺度特征金字塔,以提高小裂纹和复杂裂纹的检测精确度;

本发明的裂纹检测训练模型采用现有技术efficientdet结构;现有技术中,基于深度学习的目标检测模型通常分为两大类,即一阶段检测模型和二阶段检测模型,本发明所采用的efficientdet结构属于一阶段检测模型;一阶段检测模型由三个模块组成:基础模块(backbone)、多尺度特征提取模块(bifpn)和检测模块(predictionnet);其中,检测模块又由两个预测模块组成,即预测目标分类结果模块classpredictionnet和预测目标边界框模块boxpredictionnet;预测模块采用卷积操作conv;当然,本发明也可采用其它基于深度学习的目标检测模型。

步骤1.3,采用全监督和半监督训练方式,对裂纹检测训练模型交替进行模型训练,得到训练完成的裂纹检测模型;

全监督训练步骤:

利用步骤1.1所得的裂纹检测训练集,对基于深度学习的裂纹检测训练模型进行训练,并利用步骤1.1所得的裂纹检测验证集进行验证,得到检测模型;

由于训练过程中预测的裂纹边界框与真实边界框会发生重叠和包含,为了更准确、更快地完成裂纹检测模型的训练,训练过程中采用ciouloss作为裂纹边界框回归损失函数,以提高检测模型所检测的裂纹边界框的准确度;

ciou裂纹边界框回归损失函数的公式如下:

其中,ρ(.)表示欧式距离,

b表示预测框b的中心点,

bgt表示真实框bgt的中心点,

c表示预测框b和真实框bgt的最小外接矩形的对角线距离,

α是用于平衡损失函数的参数,具体地:

其中,iou表示任意两个裂纹边界框b1、b2的重叠程度,

ν是用来衡量长宽比一致性的参数,具体地:

其中,wgt表示真实标注的裂纹边界框的宽度,

hgt表示真实标注的裂纹边界框的高度,

w表示预测的裂纹边界框的宽度,

h表示预测的裂纹边界框的高度;

训练过程中使用在线强效数据增强模式,从而对训练集数据进行数据增强;

在线强效数据增强模式可以为随机缩放剪裁、旋转、镜像水平翻转、高斯噪声、中值滤波、亮度变化、对比度变换、rgb通道交换、mosaci等方式,以提高模型的泛化能力,从而增强舌裂纹的识别能力;

半监督训练步骤:

利用通过全监督训练方式训练好的第一版检测模型,对10万张无标注的原始舌图中的每一张进行预测,得到预测出的舌裂纹边界框的位置信息,将预测出的舌裂纹边界框按照概率值进行排序,取概率值大于0.9的裂纹边界框,删除概率值小于0.9的边界框,得到预测文件并与步骤1.1所得的裂纹检测训练集进行合并,得到新的裂纹检测训练集;

训练步骤b.2,重复全监督训练步骤,利用新的裂纹检测训练集对第一版检测模型再次进行训练,直至全监督训练过程结束,得到训练完成的裂纹检测模型;

步骤1.4,检测局部裂纹的边界框;

利用训练完成的裂纹检测模型,再次对10万张无标注的原始舌图中的每一张进行预测,将预测出的舌裂纹边界框按照概率值进行排序,取概率值大于0.9的裂纹边界框,删除概率值小于0.9的边界框,得到局部裂纹的边界框;该局部裂纹的边界框即为利用训练完成的裂纹检测模型所检测出的裂纹的位置信息;

步骤1.5,根据步骤1.4所检测的局部裂纹边界框,对10万张无标注的原始舌图进行剪裁,剪裁出局部裂纹图,得到无标注局部裂纹图(即未标注有裂纹的形状类别信息的局部裂纹图);

步骤2,舌裂纹形状的识别和标注;

步骤2.1,对无标注局部裂纹图进行人工标注,标注出裂纹的形状类别信息(包括纵形、横形、爻字形、辐射状、脑回状、鹅卵石状的一种或多种),并按照8:2比例将标注后的局部裂纹图随机划分为形状识别训练集和形状识别验证集;

步骤2.2,搭建基于深度学习的裂纹形状分类训练模型;

裂纹形状分类训练模型采用如图4所示的efficientnet结构;efficientnet结构为现有技术,在此不再赘述;

步骤2.3,采用全监督和半监督训练方式,对裂纹形状分类训练模型交替进行模型训练,得到训练完成的裂纹形状分类模型;

全监督训练步骤:

利用步骤2.1所得的形状识别训练集,对基于深度学习的裂纹形状分类训练模型进行训练,并利用步骤2.1所得的形状识别验证集进行验证,得到分类模型;训练过程中使用在线强效数据增强模式,从而对训练集数据进行数据增强;

在线强效数据增强模式可以为autoaugment、随机缩放剪裁、旋转、水平镜像翻转、垂直镜像翻转、图像属性变化、cutmix等方式,以提高模型的泛化能力,从而增强舌裂纹的识别能力;

由于裂纹形状数据存在样本不均衡问题,可以对裂纹形状分类损失函数fl进行修改,采用focalloss作为分类损失函数,以增大少类损失权重,减少多类损失权重,从而提高裂纹形状分类准确率;裂纹形状分类损失函数fl采用以下公式:

fl(pt)=-αt(1-pt)γlog(pt)

其中,fl为裂纹形状分类的损失函数,

pt为预测的概率值,

αt为默认参数,取αt=0.25,

γ为默认参数,取γ=2,

本发明在训练过程中对训练集数据进行数据增强,能够提高模型的泛化能力和裂纹形状识别能力。

半监督训练步骤:

利用训练好的第一版分类模型(即执行一次全监督训练步骤所得的分类模型)对步骤1.5所剪裁出的局部裂纹图进行预测,对预测后的所有局部裂纹图按照概率值进行排序,保留概率值大于0.9的局部裂纹图,得到预测文件并与步骤2.1所得的形状识别训练集进行合并,得到新的形状识别训练集;

重复全监督训练步骤,利用新的形状识别训练集对第一版分类模型再次进行训练,直至全监督训练过程结束,得到训练完成的裂纹形状分类模型;

步骤2.4,利用训练完成的裂纹形状分类模型对步骤1.5所得的无标注局部裂纹图进行预测,得到最终的裂纹形状类别。

为了验证本发明对于舌裂纹形状识别结果的准确率,利用训练完成的裂纹形状分类模型,对测试集中的每一张进行预测,并将所得到的裂纹形状类别与人工标注结果进行比较,结果显示裂纹形状分类准确率达97.15%,因此本发明能更好地识别小裂纹和复杂裂纹。

本发明的基于深度学习的裂纹形状分类训练模型的训练过程中利用了无标注局部裂纹图和裂纹类别信息,而无标注局部裂纹图包含了剪裁的裂纹图像信息,因此训练完成的裂纹形状分类模型能够更准确地对舌裂纹的形状进行识别。

步骤3,进行舌裂纹长度和分级度量;

如图2所示,利用步骤1.5所得的无标注局部裂纹图,使用阈值分割、膨胀腐蚀、小波变换和骨架提取算法,获取更加精细化的裂纹特征,从而在度量裂纹长度的过程中能够得到精确的裂纹长度,并使用渐进法计算出裂纹的长度;

具体步骤如下:

步骤3.1,将步骤1.5所得的无标注局部裂纹图进行灰度化处理;

步骤3.2,将中值滤波作用于经过灰度化处理的舌裂纹图,以平滑舌裂纹图中的噪声干扰因素;

具体地,在经过灰度化处理的舌裂纹图上使用二维滑动模板,将模板内像素按照像素值的大小进行排序,生成单调上升或下降的二维数据序列,并取中间像素值作为该模板区域的输出值,中值滤波输出为:

g(x,y)=med{f(x-k,y-l),(k,l∈w)}

其中,g(x,y)为处理后的图像,

f(x,y)为原始图像,

(k,l)分别为像素(x,y)的区域像素,

w为二维模板尺寸,取3×3;

med代表中值滤波函数;

本实施例所采用的二维滑动模板是一个3x3的二维矩阵,在舌图上进行从左往右,从上往下滑动;

步骤3.3,利用自适应阈值分割对平滑后的局部裂纹图进行分割,根据图像不同区域亮度分布,计算其局部阈值,使用该阈值对局部区域进行分割;

计算阈值的方法采用phansalkar方法,该方法对低对比度的图像实现二值化效果更好,采用以下公式;

t=mean*(1+p*e(-q*mean)+k*((std/r)-1))

其中,t为阈值,

mean为局部均值,

p=2,

q=10,

k=0.25,

std为局部方差,

r=0.5,

步骤3.4,对二值化的局部舌图进行n次开运算,即先进行n次腐蚀再进行n次膨胀,以去除仅存的局部小块像素,在纤细点处分离物体、平滑较大物体的边界,同时并不明显改变其面积;腐蚀公式如下:

dst(x,y)=erode(src(x,y))=min(x1,y1)src(x+x1,y+y1)

其中,dst为目标函数,

(x,y)为原始图像中的点,

erode是指对原始图像进行腐蚀操作,

src为原始图像,

(x1,y1)为结构元中的点,

腐蚀操作相当于移动某一结构元s2,如果该结构元s2与另一结构元s1的交集完全属于结构元s1的区域内,则保存该位置点,所有满足条件的点构成结构元s1被结构元s2腐蚀的结果;

膨胀公式如下:

dst(x,y)=dilate(src(x,y))=max(x1,y1)src(x+x1,y+y1)

其中,dst为目标函数,

(x,y)为原始图像中的点,

dilate是指对原始图像进行膨胀操作,

src为原始图像,

(x1,y1)为结构元中的点,

膨胀操作相当于将某一结构元s2作为核在另一结构元s1上进行卷积操作,移动结构元s2,所有结构元s2与结构元s1存在交集的位置的集合为结构元s1在结构元s2作用下的膨胀结果;

其中,n=3,结构元的形状定义为椭圆形形状;

步骤3.5,对开运算后的局部裂纹图进行n次闭运算,即先进行n次膨胀再进行n次腐蚀,用来填充局部区域中的小黑洞;同样,n=3,结构元的形状定义为椭圆形形状;

步骤3.6,对闭运算后的局部裂纹图利用小波分解得到高低频舌图像分量图;

采用daubechies-4型小波,对裂纹图像进行i层小波分解;

如图5a所示,一幅图像信号为正方形图像,分为左右两个相同的区域,其中左侧区域为l,右侧区域为h;l是低频分量,h是高频分量;

如图5b所示,将该图像信号进行一级小波分解,分别将左右两个区域分解为上下两个区域;其中,左上方区域为ll1,左下方区域为lh1;右上方区域为hl1,右下方区域为hh1;

如图5c所示,将该图像信号进行二级小波分解,将左上方区域ll1分解为4个二级区域,其中,左上方二级区域为ll2,左下方二级区域为lh2;右上方二级区域为hl2,右下方二级区域为hh2;其余区域与一级分解相同;

以此类推,将该图像信号进行i级小波分解,得到一组小波系数,其尺寸和形状均与原图像相同;其中,左上方区域为lli,左下方区域为lhi;右上方区域为hli,右下方区域为hhi;其余区域与上一级分解相同;

步骤3.7,将高低频舌图像分量图用小波融合方法进行融合,在低频中利用局部方差作为依据;

用c(x)表示舌裂纹图像x的小波低频分量的系数矩阵,p(m,n)表示小波系数的空间位置,c(x,p)表示低频分量系数矩阵下标为(m,n)的元素的值;首先,以p为中心,用区域q中的加权方差表示区域方差显著性;u(x,p)表示舌裂纹图像x低频系数矩阵的均值,p点为q区域的中心;用函数g(x,p)代表舌裂纹图像x中低频系数矩阵的区域方差显著性,以p点为q区域的中心;则:

g(x,p)=∑p∈qω(p)|c(x,p)-u(x,p)|2

其中,q为区域,

p为小波系数的空间位置,其坐标为(m,n)

c(x,p)为舌裂纹图像x的小波低频分量的系数矩阵中低频分量系数矩阵中下标为(m,n)的元素的值,

u(x,p)为舌裂纹图像x低频系数矩阵的均值,

ω(p)表示权重,当它越接近p点时值越大;

通过二维小波变换进行图像的处理,可以将其分解成一系列低频子图像,其结果取决于小波基的类型,即决定于滤波器的类型;取任意两幅低频子图像a1和图像a2,图像a1和a2的低频系数矩阵的区域方差表示为g(a1,p)和g(a2,p);此外,图像a1和a2的低频系数矩阵的区域方差匹配度由点p处的m2(p)定义:

m2(p)的值在0~1之间变化,值越小,两幅图像的低频系数矩阵的匹配度越低;

设t2是匹配度的阈值,通常的取值为0.5~1;当m2(p)<t2时,选择融合策略如下:

当m2(p)≥t2时,平均融合策略如下:

其中,

wman=1-wmin

在小波变换的高频部分,选择小波系数绝对值的最大值,弥补高低频之间信息的确实部分;由于裂纹目标的噪声和缺陷都是高频信息,所述的中值滤波用来对融合后的舌裂纹图像的高频系数进行滤波,以去除舌裂纹图像的噪声和缺陷:

d(x,p)表示在p点的小波高频分量的系数矩阵;

步骤3.8,通过小波逆变换作用于处理后的高频和低频分量,重构出清晰的裂纹形状结构;

步骤3.9,对重构出的裂纹形状结构使用zhangandc.y.suen骨架提取算法,得到清晰的舌裂纹骨架,如图6所示;

具体地,每一次迭代步骤对符合特点条件的目标像素进行腐蚀,让目标变得越来越细;不断迭代直到在上一次腐蚀后的目标在本轮操作中,没有新的像素点被腐蚀,算法结束;算法的四个条件为:

(a)2≤b(p1)≤6

其中,b(p1)表示p1点的非零邻域的个数,中心像素p1周围的目标像素(二值中的1)的个数在2和6之间;

(b)a(p1)=1

其中,a(p1)为p1点周围8领域像素中,按顺时针方向,相邻两个像素出现0->1的次数;

(c)p2*p4*p6=0或者p2*p4*p8=0

(d)p4*p6*p8=0或者p2*p6*p8=0

其中,p2、p4、p6、p8是指像素点;

步骤3.10,计算舌裂纹长度;

利用渐进法计算舌裂纹的长度;以舌裂纹上边界为例,利用像素点去一次覆盖舌裂纹的边界,从左至右以相邻2个像素点的距离来代表这一段舌裂纹的长度,依次叠加至舌裂纹最右边的像素点;计算舌裂纹长度的公式为:

ln=∑li

其中,li为相邻两个像素点(xi,yi)、(xi-1,yi-1)的距离,取l1=0;

ln为渐进法计算的裂纹上边界的长度;同理可以得到裂纹下边界的长度,两者取最大值作为该裂纹的长度。

为了准确表示裂纹的特征参数,本发明在拍摄裂纹图像时使用面积为sb的参照标尺,运用图像处理技术,把参照标尺当成目标分割出来,然后计算其所占的像素点个数,像素点个数设为m,则一个像素点对应的实际面积为sb/m,一个像素点对应的实际长度为其中参照标尺为拍摄前放置在裂纹旁边的面积已知的平面参照物体。

显然,本领域的技术人员可以对本发明进行各种改动和变形,而不脱离本发明的精神和范围。这样,倘若本发明的这些修改属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变形在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1