一种基于Hopfield神经网络的复杂舌像身份验证方法

文档序号:24617668发布日期:2021-04-09 20:21阅读:110来源:国知局
一种基于Hopfield神经网络的复杂舌像身份验证方法

本发明涉及中医舌像识别及检索领域,具体为一种基于hopfield神经网络的复杂舌像身份验证方法。



背景技术:

随着信息科学和计算机技术的飞速发展,人类的生活正在进行着一场以信息技术为支撑的“信息革命”,这场革命涉及的范围很广,如人工智能、5g网络、移动支付、共享单车、高铁技术、网购平台、信息安全等。在这其中,以信息安全为代表的身份验证在人类的生活中已越来越发挥着重要的作用。可以说,我们正处于一个“刷脸”的时代,印象中的指纹打卡已成为过去,越来越多的“刷脸”应用开始出现。如北京西站的刷脸检票、厦门景点的刷脸验票、余额宝的刷脸验证等。可以预测,随着5g网络的大力推广,“刷脸”将在一段时期内大范围地推广使用。哲学上讲,事物总是在推陈出新中涌现,在新陈代谢中更替。正如指纹打卡已成为过去一样,随着科学技术的发展和人们生活水平的提高,“整容”人群会逐渐增多,这无疑会成为更替“刷脸”技术的“导火索”。那么,取代“刷脸”技术的新技术在哪里呢?这就是舌像识别技术。根据生物学结构和特征表明,人的舌像就像人的指纹和人脸一样,都是唯一的,据此可以作为识别身份的信息验证特征。

人的舌像,是以骨骼肌为基础,表面覆以粘膜而构成,具有搅拌食物、协助吞咽、感受味觉和辅助发音等功能。舌分为上、下两面;上面又叫舌背,舌背上有一向前开放的“v”型沟,叫界沟,将舌分为前2/3的舌体和后1/3的舌根。古人对于舌像研究最早不是通过图像研究的,更不是在商业活动中体现,而是通过舌像变化来给人看病,也就是大家所熟知的“望、闻、问、切”中的“切”,即中医就诊。诸如舌头部位发白,说明身体中的寒湿气息比较重;在舌头周边出现牙齿痕迹,反映的则是身体的脾胃虚寒。随着科技的日新月异,特别是图像处理和人工智能技术的飞跃发展,人类已经开始对舌像展开研究,并将其运用到一些信息识别上。但人的舌头是口腔内最灵活的,人体的很多疾病也可以通过舌头表现出来,它就像身体健康状况的晴雨表。舌头上有一层舌苔(像),它是舌体上面所散布的一层苔垢,正常人的舌苔(像)应该是薄白而湿润,干湿适中,不滑不燥;但对于身体健康有问题的人,其舌苔(像)会发生变化,如舌色红绛,舌面苔少,舌前部有较多红点(即菌乳状充血),邪热炽盛,气阴两伤,则呈现红绛舌;气血运行不畅,会导致青紫舌等等(有很多种复杂舌像),这些都会给依靠舌像识别的设备带来“难题”,迄今为止,尚无有效办法解决。



技术实现要素:

本发明的目的在于提供一种基于hopfield神经网络的复杂舌像身份验证方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:一种基于hopfield神经网络的复杂舌像身份验证方法,包括如下步骤:

s1:创建hopfield神经网络,并通过学习训练确定神经网络中的权重,使所记忆的信息在神经网络的n维超立方体的其中一个顶角的能量最小;

s2:神经网络的权重被确定后,向神经网络给出输入向量,并确定输出向量;

s3:对待测样本进行分类,对于待测舌像样本,通过对hopfield网络构成的联想存储器进行联想检索;

s4:利用最终舌像输出与舌像训练样本进行匹配,找出最相近的训练样本向量,其类别为待测样本类别;

s5:将复杂舌像的数字点阵输入已创建好的hopfield神经网络,通过hopfield神经网络对复杂舌像的数字点阵进行识别。

优选的,s1中创建hopfield神经网络具体包括步骤:

s11:设计关于舌像的数字点阵图;

s12:创建hopfield网络;

s13:hopfield网络识别获得产生变化的数字点阵;

s14:进行数字仿真识别测试;

s15:输出结果分析。

优选的,s2中具体包括:

将输入向量x=[xi1,xi2…,xin]t存入hopfield神经网络中,则在网络中第i,j两个节点间的权重系数按下式计算:

确定输出向量y=[y1,y2,…,yn]t

优选的,对于一个神经网络来说,稳定性是重要的性能指标。对于离散的hopfield网络,其状态为y(t),如果对于任何δt>0,当网络从t=0开始时,有初始状态y(0),经过有限时间t,最后状态会稳定下来,最终的状态是与待测样本向量x最接近的训练样本。所以,hopfield网络的最终输出也就是待测试样本向量联想检索结果。利用最终舌像输出与训练舌像样本进行匹配,找出最相近的训练样本向量,其类别就是待测样本类别。所以,即使待测样本并不完全或部分不正确,也能找到正确的结果(舌像)。

优选的,所述s3中具体包括:将x中各分量的x1,x2,…,xn分别作为第一层网络n节点的输入,则节点有相应的初始状态y(t=0),即yi(0)=xj,j=1,2,…,n;

而对于二值神经元,则计算当前hopfield网络输出:

yi(t+1)=f(uj(t+1)),j=1,2,…,n

其中,上述xj为外部舌像输入;f为非线性函数,且可以选择阶跃函数;θj为阈值函数。

与现有技术相比,本发明的有益效果是:

本发明利用hopfield神经网络的联想记忆功能来进行舌像验证,通过验证,能够较好地解决现有舌像识别率差、准确率差的问题,通过在舌像上取10个值,以0-9构成。即假设网络由10个初始稳态值0-9构成,即可以记忆10个数字。每个稳态由10×10的矩阵构成,该矩阵用于模拟阿拉伯数字点阵。通过对数字点阵的识别,最终恢复出舌像的原始图,实验证明,这种算法有效提高了舌像身份验证的准确率,可广泛应用于中医识别以及生物识别方面。

附图说明

图1为本发明实施例中舌像数字点阵示意图;

图2为本发明实施例中舌像呈现的变红、瘀斑等状态示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种技术方案:一种基于hopfield神经网络的复杂舌像身份验证方法,包括如下步骤:

s1:创建hopfield神经网络,并通过学习训练确定神经网络中的权重,使所记忆的信息在神经网络的n维超立方体的其中一个顶角的能量最小;

s2:神经网络的权重被确定后,向神经网络给出输入向量,并确定输出向量;

s3:对待测样本进行分类,对于待测舌像样本,通过对hopfield网络构成的联想存储器进行联想检索;

s4:利用最终舌像输出与舌像训练样本进行匹配,找出最相近的训练样本向量,其类别为待测样本类别;

s5:将复杂舌像的数字点阵输入已创建好的hopfield神经网络,通过hopfield神经网络对复杂舌像的数字点阵进行识别。

在本实施例中,s1中创建hopfield神经网络具体包括步骤:

s11:设计关于舌像的数字点阵图;

s12:创建hopfield网络;

s13:hopfield网络识别获得产生变化的数字点阵;

s14:进行数字仿真识别测试;

s15:输出结果分析。

在本实施例中,s2中具体包括:

将输入向量x=[xi1,xi2…,xin]t存入hopfield神经网络中,则在网络中第i,j两个节点间的权重系数按下式计算:

确定输出向量y=[y1,y2,…,yn]t

在本实施例中,对于一个神经网络来说,稳定性是重要的性能指标。对于离散的hopfield网络,其状态为y(t),如果对于任何δt>0,当网络从t=0开始时,有初始状态y(0),经过有限时间t,最后状态会稳定下来,最终的状态是与待测样本向量x最接近的训练样本。所以,hopfield网络的最终输出也就是待测试样本向量联想检索结果。利用最终舌像输出与训练舌像样本进行匹配,找出最相近的训练样本向量,其类别就是待测样本类别。所以,即使待测样本并不完全或部分不正确,也能找到正确的结果(舌像)。

在本实施例中,所述s3中具体包括:将x中各分量的x1,x2,…,xn分别作为第一层网络n节点的输入,则节点有相应的初始状态y(t=0),即yi(0)=xj,j=1,2,…,n;

而对于二值神经元,则计算当前hopfield网络输出:

yi(t+1)=f(uj(t+1)),j=1,2,…,n

其中,上述xj为外部舌像输入;f为非线性函数,且可以选择阶跃函数;θj为阈值函数。

在本实施例中,假设在舌像上取10个值(从交叉舌像节点选取数字),以0-9构成。即假设网络由10个初始稳态值0-9构成,即可以记忆10个数字。每个稳态由10×10的矩阵构成,该矩阵用于模拟阿拉伯数字点阵。数字点阵,就是将数字划分成很多小方块,每一个小方块都对应着一部分数字。本实施例将数字(选取的舌像点)划分成一个10×10方阵。其中,有数字的方块用1表示,空白处用-1表示,如图1所示;图1为0-9对应的点阵图;

而其他数字的点阵依此类推。

>>t=[one;two];%利用这两个数字点阵构成训练样本t

>>net=newhop(t);%利用newhop函数创建一个离散型hopfield神经网络。

在本实施例中,舌像的数字点阵即点阵的某些位置的值发生了变化,即个人因身体某些功能产生疾病或病变,在舌像上有所呈现,如舌像变红、舌像有瘀斑。如图2所示。

基于上述实施例,数字1和数字2的点阵经过修改后的复杂数字点阵变为:

其他的数字点阵依此类推。当然,随着舌像的变化复杂多样,可以采取产生随机数的方法来确定需要修改的点阵位置,进而对数字点阵进行修改。由于数字点阵中的值只有1和-1,所以此处的修改就是将“1”换成“-1”,将“-1”换成“1”。此时,数字1和2的数字点阵产生程序如下:

将复杂舌像的数字点阵输入已创建好的hopfield网络,便可对复杂舌像的数字点阵进行识别,实现源代码为:

>>%仿真测试

complex_one2={(complex_one)′};

identify_one=sim(net,{10,10},{},complex_one2);

identify_one{10}′%获取复原后数字1点阵

complex_two2={(complex_two)′};

identify_two=sim(net,{10,10},{},complex_two2);

identify_two{10}′%获取复原后数字2点阵

%以图形的形式将点阵数字绘制出

subplot(3,2,1);one=imresize(one,20);

imshow(one);title(‘原始舌像1’);

subplot(3,2,2);two=imresize(two,20);

imshow(two);title(‘原始舌像2’);

subplot(3,2,3);complex_one=imresize(complex_one,20);

imshow(complex_one);title(‘溃烂且变黑的舌像’);

subplot(3,2,4);complex_two=imresize(complex_two,20);

imshow(complex_two);title(‘局部变黑的舌像’);

subplot(3,2,5);one2=imresize(identify_one{10}′,20);

imshow(one2);title(‘复原舌像1’);

subplot(3,2,6);two2=imresize(identify_two{10}′,20);

imshow(two2);title(‘复原舌像2’);

基于上述在hopfield神经网络的复杂舌像身份验证中,进行200次实验。分别利用传统算法(如概率统计算法识别等)和hopfield神经网络算法来对复杂舌像进行验证数据对比,实验结果如下表:

通过以上复杂舌像效果图的识别对比,发现运用本发明hopfield神经网络算法的效果能够达到原图效果,复原的舌像效果较好,鲁棒性较强;此外,通过对舌像变化时,与运用其他算法进行横向比较,在相同次数的验证情况下,hopfield神经网络算法的验证准确率要明显高出其他算法,可行性较强。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

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