一种基于LSTM的掌静脉识别方法与流程

文档序号:18871013发布日期:2019-10-14 19:33阅读:412来源:国知局
一种基于LSTM的掌静脉识别方法与流程

本发明涉及图像处理与深度学习技术领域,具体涉及一种基于lstm的掌静脉识别方法。



背景技术:

传统的掌静脉识别受光线强弱、温度高低、位置等外部因素的影响,一次性识别成功率低。

当前的掌静脉识别算法主要是基于特征点和基于纹理特征进行比对,其中特征点主要是指静脉纹路中的一线显著的关键点,具有很强的辨识度,如端点、分叉点、交点等。对于这些特征点的提取普遍做法是采用sift、surf等方法,这些方法一般在特征点数量较多时效果很好,但耗时也高,不适合在嵌入式设备中应用。此外,基于纹理特征的方法目前也较为普遍,如lbp特征、hog特征等,这些方法对图像清晰度不再敏感,但其表达能力也很有限,不能应对多变的实际应用场景。

cn105474234a公开了一种掌静脉识别的方法,包括:获取用户的目标掌静脉图像;从所述用户的目标掌静脉图像中提取感兴趣区域roi;获取所述roi对应的特征数据,所述特征数据为经过二值化处理得到的;通过比对所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的。该方法作为基于特征点和基于纹理特征进行比对,一般在特征点数量较多时效果较好,但耗时高,不适合嵌入式设备中应用,也不能应对多变的实际应用场景,不具有自我学习能力。

cn106056041公开了一种对手掌静脉图像进行采集并识别的系统方法,现利用红外工业摄像头采集人手掌的静脉图像,再对原始图像进行归一化、二值化、中值滤波进行预处理得出具有一定特征的目标图像,接下来对图像通过多层卷积和池化等操作进行训练,最终得到合理的权矩阵。该方法没有人工进行静脉图像标注,原始的输入数据会随着数据量增大而产生较大的偏移;并且,针对因时间偏移而带来人手掌的静脉图像变化不能进行自动调整,即不具有记忆属性。

cn108615002公开了一种基于卷积神经网络的手掌静脉认证方法,该基于卷积神经网络的手掌静脉认证方法具体步骤如下:s1、根据训练样本集图像,对卷积神经网络进行训练,s2、用户注册图像输入到卷积网络模型生成特征向量,s3、输入待识别图像,s4、待识别特征向量与模板存储模块中的模板特征向量进行比对识别;s5、比对结果获得的概率值取最大值,最大概率值大于一定阈值,则认证成功,否则认证失败。该方法同样针对因时间偏移而带来人手掌的静脉图像变化不能进行自动调整,不具有记忆属性。



技术实现要素:

本发明针对上述技术问题,提出了一种基于lstm的掌静脉识别方法,在一定历史时间范围,对不同温度的掌静脉图像数据进行学习,从而生成不同的掌静脉数据识别模板。掌静脉设备识别时,不同温度下,与对应的图像描述模型进行比对,排除温度影响,从而提高掌静脉数据识别的效率、准确率。

为了实现本发明的目的,本发明采用的技术方案是:

基于lstm的掌静脉识别方法,包括以下步骤:

s1.采集一段时间内的掌静脉图像数据和温度信息;

s2.对采集到的掌静脉图像数据进行人工标注,训练出基于掌静脉数据的fcn(全卷积网络)模型;

s3.利用人工标注后的掌静脉图像数据,建立多个不同温度下的lstm-cnn模型;

s4.通过传感器获取用户注册掌静脉图像及温度信息,依据fcn模型获取用户注册掌静脉图像的位置信息,并读取掌静脉图像数据信息;

s5.基于用户注册掌静脉图像的数据信息作为输入,经多个不同温度的lstm-cnn模型提取生成特征向量,并作为特征向量模板存储;

s6.通过传感器获取待识别掌静脉图像及温度信息,选择相应温度的lstm-cnn模型提取待识别掌静脉的特征向量与特征向量模板进行比对,比对结果大于一定阈值,则认证成功,否则认证失败。

经过训练,lstm-cnn中保存有多个不同温度下的特征向量模板,如果待识别掌静脉特征向量与对应温度的已有特征向量小于特定的阀值,即认为相同。

本发明所述s6步骤的比对方法为:

s61将待识别掌静脉数据在深度学习模型lstm-cnn的embedding层进行向量化并转换成向量a;

s62向量a传入深度学习模型lstm-cnn的lstm层一lstm单元;

s63将lstm单元的输出hi传入深度学习模型lstm-cnn的第一dropout层;

s64将第一dropout层的输出传入conv卷积层进行卷积后,使用relu激活函数将卷积层的输出设为ci;

s65将该conv层的输出ci依次经第二dropout层、softmax层处理后,将得到的输出y′与特征向量模板yid一起计算产生损失值;当前计算的损失值与前m次损失值的平均值的差小于阈值,则认证成功,否则认证失败。

优选地,所述损失值cost(y′,yid)=-yidlog(y′)+(1-yid)log(1-y′)。

优选地,所述的阈值为0.5。

本发明所述s1步骤,采集-20~40摄氏度温度变化的掌静脉图像数据。

本发明的有益效果在于:

1、本发明方法采用lstm-cnn模型训练,基于训练的掌静脉数据集,提取图像描述数据集中的cnn特征,通过二层、三层及多层lstm-cnn模型进行训练,最终获得基于不同温度下的逐层多目标优化及多层概率融合的图像描述模型。相比传统的特征点和基于纹理特征进行比对,基于lstm-cnn模型训练,针对时间、温度变化,无论效率、准确率都有大幅地提高。

2、相比传统的特征点和基于纹理特征进行比对,通过人工标注训练掌静脉切割的fcn模型,更好地识别掌静脉图像信息,从而更加高效地识别掌静脉图像信息。

3、相比传统的解决方案,lstm-cnn具有历史记忆性、训练性,通过标注掌静脉数据的训练,可不断地优化特征向量;通过历史数据的训练,可随着时间数据的变化,特征向量体现时间的属性从而避免偏差过大。

附图说明

图1为本发明基于lstm的掌静脉识别方法的流程示意图。

图2为单张掌静脉数据图片信息。

图3为基于掌静脉图片的fcn模型。

图4为训练并着色之后的掌静脉图像。

具体实施方式

为了更加清楚、详细地说明本发明的目的技术方案,下面通过相关实施例对本发明进行进一步描述。以下实施例仅为具体说明本发明的实施方法,并不限定本发明的保护范围。

实施例1

一种基于lstm的掌静脉识别方法,人工标注掌静脉图像数据进而训练出fcn模型。通过卷积神经网络(cnn)计算标注过的掌静脉图像数据的特征向量,进而通过lstm训练出掌静脉识别模型。将待识别的掌静脉数据输入到掌静脉识别模型与已注册的用户掌静脉数据进行比对,比对结果大于一定阈值,则认证成功,否则认证失败。具体流程示意图如图1所示,下面进行具体说明。

具体包括如下步骤:

s1.采集一段时间内的掌静脉图像数据和温度信息;

人的掌静脉信息会随着时间的推移而发生改变,而传统的识别方法都假定人的掌静脉信息是不变的。同时,外界温度的变化也会对掌静脉图像提取产生较大的影响。本发明针对不同时间(也意味着温度的差异性)进行训练,从而满足多种实际场景的需求。

s2.对采集到的掌静脉图像数据进行人工标注,训练出基于掌静脉数据的fcn(全卷积网络)模型;

后续采集的人掌静脉图像,通过fcn模型可快速、准确地读取人手掌静脉数据信息。

s3.利用人工标注后的掌静脉图像数据,建立多个不同温度下的lstm-cnn模型;

s4.通过传感器获取用户注册掌静脉图像及温度信息,依据fcn模型获取用户注册掌静脉图像的位置信息,并读取掌静脉图像数据信息;

s5.基于用户注册掌静脉图像的数据信息作为输入,经多个不同温度的lstm-cnn模型提取生成特征向量,并作为特征向量模板存储;

s6.通过传感器获取待识别掌静脉图像及温度信息,选择相应温度的lstm-cnn模型与特征向量模板进行比对,比对结果大于一定阈值,则认证成功,否则认证失败。

本发明的图像采集,采用日本富士通公司的palmsecure传感器,自动地实现掌静脉图像的读取功能;温度传感器为市面可采购的常规温度传感器。

在步骤s1中,在一个月时间内,人工模拟从-20~40摄氏度的温度变化,采集掌静脉图像数据和温度信息。共计12000张,10人的单张掌静脉数据图片,单张掌静脉数据图片如图2所示。

在步骤s2中,采用人工标注,实现不同温度下,用户掌静脉图像数据的标注工作,从而训练出基于掌静脉图片的fcn模型,见图3。

标注的是掌静脉形状信息,每个掌静脉形状信息,对应一个xml文件,xml文件中包含了用户掌静脉的位置信息。基于标注后的掌静脉图像数据,读取掌静脉数据中的特定位置的数据信息。标注目标物体,生成对应的xml文件,一张图像对应一个xml文件,xml文件主要内容是图像的路径以及图像中的目标在图像中的位置等信息。

深度学习图像分割(fcn)训练自己的模型分为以下三步:

1.采用开源软件labelme,为掌静脉的数据制作label;

2.将自己的数据分为训练集,验证集和测试集,分配比例为1:1:1;

3.编写自己的输入数据层并输入到fcn模型。

fcn模型建模参数:输入为384*384*3的手掌静脉图片,卷积网络层由1个卷积核为24*24的基础卷积层,步长(stride)设为24,填充值(padding)为0。

经过训练并着色之后的掌静脉图像如图4所示。

在步骤s3中,利用人工标注后的掌静脉图像数据,按温度对数据进行分类,在-20~40摄氏度的范围内,每5摄氏度建立一个lstm-cnn模型,从而建立12个不同温度下的lstm-cnn模型;进行lstm-cnn模型训练之前,将数据集划分为:

a)训练集:用于训练模型

b)验证集:每一次迭代训练完成后,测试一次该训练的效果

c)测试集:测试模型的检测准确性。

分配比例为1:1:1。

长短期记忆模型(lstm)是一种特殊的rnn模型,是为了解决rnn模型梯度弥散的问题而提出的;在传统的rnn中,训练算法使用的是bptt,当时间比较长时,需要回传的残差会指数下降,导致网络权重更新缓慢,无法体现出rnn的长期记忆的效果,因此需要一个存储单元来存储记忆:

1)随机无放回的从该图像数据集合中选取一组图像数据,从该图像分组中抽取batchsize个图像数据,每一个图像构成一数据w,该图像对应的标签集合为y;根据图像编号集合charid将数据w转换为对应的编号,得到数据batchdata;根据标签编号集合labelid将集合y中的标签转换为对应的编号,得到数据yid;

2)将步骤1)生成的多个数据batchdata及其对应的标签数据yid一起送入深度学习模型lstm-cnn,训练该深度学习模型lstm-cnn的参数,当深度学习模型产生的损失值满足设定条件或者达到最大迭代次数n为8,则终止深度学习模型的训练,得到训练后的深度学习模型lstm-cnn;否则采用步骤1)的方法重新生成数据batchdata训练该深度学习模型lstm-cnn;

3)将待预测的混合图像数据predata转换成与该深度学习模型lstm-cnn匹配的数据premdata,并将其送入训练好的深度学习模型lstm-cnn,得到图像结果orgresult。

进一步的,该数据batchdata的长度为一固定长度maxlen4096,当抽取到的数据长度l<maxlen时,将该句子后面补maxlen-l个0,得到batchdata;并将对应的数据yid后面补maxlen-l个0,得到数据yid;其中,maxlen等于该深度学习模型lstm-cnn中的lstm单元个数。

进一步的,产生该损失值的方法为:

21)将数据batchdata在深度学习模型lstm-cnn的embedding层进行向量化,将数据batchdata中的每个图像转换成一向量;

22)将各数据batchdata对应的向量传入深度学习模型lstm-cnn的lstm层,其中该数据batchdata中的每一图像对应的向量传入lstm层的一lstm单元;且第i-1个lstm单元的输出结果输入第i个lstm单元;

23)将每个lstm单元的输出hi传入深度学习模型lstm-cnn的第一dropout层;

24)将第一dropout层的输出传入conv卷积层进行卷积后,使用relu激活函数将卷积层的输出设为ci;

25)将该conv层的输出ci依次经第二dropout层、softmax层处理后,将得到的输出y′与传入的数据yid一起计算产生损失值。

进一步的,所述损失值cost(y′,yid)=-yidlog(y′)+(1-yid)log(1-y′);其中y′表示数据batchdata经过该softmax层后的输出。

进一步的,所述步骤2)中,所述设定条件为:当前计算的损失值与前m次损失值的平均值的差小于阈值。

进一步的,使用adam梯度下降算法训练该深度学习模型lstm-cnn的参数。

26):如果深度学习模型产生的cost(y′,yid)计算得到的损失值不再降低,或者达到最大迭代次数n(8),则终止深度学习模型的训练;否则跳到步骤1)。

其中,costi′(y′,yid)表示前i次迭代时的损失值,cost(y′,yid)表示当前迭代产生的损失值,这个公式表达的意思是如果当前的损失值与前m次损失值的平均值的差小于阈值θ,则认为不再降低。

在步骤s4中,通过传感器获取用户注册掌静脉图像及温度信息,依据fcn模型获取用户注册掌静脉图像的位置信息,并读取掌静脉图像数据信息;

在步骤s5中,基于用户注册掌静脉图像的数据信息作为输入,经12个不同温度的lstm-cnn模型提取生成特征向量,并作为特征向量模板存储;

用户注册掌静脉图像a,得到经过fcn模型并处理后的用户掌静脉图像数据信息b。

将用户掌静脉图像数据信息b输入lstm-cnn深度学习模型,从而获得识别特征向量值c,作为特征向量模板存储。

实施例2

本实施例在实施例1的基础上:

所述步骤s6的比对方法为:

s61将待识别掌静脉数据在深度学习模型lstm-cnn的embedding层进行向量化并转换成向量a;

s62向量a传入深度学习模型lstm-cnn的lstm层一lstm单元;

s63将lstm单元的输出hi传入深度学习模型lstm-cnn的第一dropout层;

s64将第一dropout层的输出传入conv卷积层进行卷积后,使用relu激活函数将卷积层的输出设为ci;

s65将该conv层的输出ci依次经第二dropout层、softmax层处理后,将得到的输出特征向量y′与特征向量模板yid一起计算产生损失值;当前计算的损失值与前m次损失值的平均值的差小于阈值,则认证成功,否则认证失败。

基于待识别掌静脉图像和温度信息(20-25℃),选择相应温度段(20-25℃)的lstm-cnn模型,并进行比对工作。若比对大于一定阈值,则认证成功,否则认证失败。

进一步的,所述损失值cost(y′,yid)=-yidlog(y′)+(1-yid)log(1-y′);其中y′表示数据batchdata经过该softmax层后的输出。

进一步的,将阈值设定为0.5,若当前计算的损失值与前m次损失值的平均值的差比对大于0.5,则认为待识别掌静脉特征向量与用户注册的掌静脉特征向量模板一致,则用户身份验证一致。

针对该场景,m设定为18。

本发明进行了80次比对验证,准确率为100%。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。

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