本发明涉及计算机视觉技术领域,具体地说是一种基于个性化学习的手指静脉识别系统及方法。
背景技术:
近年来,手指静脉由于其内部特征、活体识别等优点受到研究者越来越多的关注。当手指旋转、平移后,将降低传统方法的识别性能。因此,如何针对手指的旋转、平移等特点,设计个性化学习的手指静脉识别方法,使其能够精确地对用户进行身份验证,具有重要的意义。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种基于个性化学习的手指静脉识别系统及方法。
一种基于个性化学习的手指静脉识别系统,包括:
分级学习模型,用于对手指包括正常、旋转、平移的状态进行分类,并输出分类结果:常态、非常态;
普通识别模块,用于识别结果为常态的手指静脉,并输出识别结果;
hard识别模块,用于识别结果为非常态的手指静脉,并输出识别结果;
显示模块,用于将普通识别模块和hard识别模块的结果进行融合,输出最终识别结果。
所述分级学习模型通过卷积神经网络架构实现,该分级学习模型分类学习过程为:首先获取图像训练样本,并对样本分为正常、旋转和平移三类;然后人工对图像样本进行这三类的标记,将训练样本及标记输入卷积神经网络架构,训练得到分级学习模型,该分级学习模型根据分类结果即可得到手指的状态。
所述hard识别模块通过训练hard学习器实现,该hard学习器在训练时,首先获取样本,然后给每个样本赋予初始化权重,赋值时将识别错误的样本的权重大于识别正确的样本的权重;然后迭代优化训练,并更新权重,更新权重时将被分错的样本的权重大于分对样本的权重,从而完成hard学习训练过程。
所述初始化权重通过以下公式赋值:
在上式中,变量x表示一个样本,变量q表示识别正确的样本的个数,变量p表示识别错误的样本的个数,n表示所有样本个数,ωc表示识别错误的样本的集合,ωb表示识别正确的样本集合。
在每次迭代优化中,更新权重的更新公式如下:
在上式中,变量un-1表示上一次迭代是样本x的权重,n表示迭代次数,acc表示被上次迭代中识别的正确率,ωerr表示上次迭代中被错误识别的样本集合,ωacc表示上次迭代中被正确识别的样本集合。
一种基于个性化学习的手指静脉识别方法,其识别过程为:
一、首先通过分级学习模型对手指包括正常、旋转、平移的状态进行分类,并输出分类结果:常态、非常态,常态即正常状态,非常态即旋转、平移的状态;
二、然后通过普通识别模块识别结果为常态的手指静脉;hard识别模块识别结果为非常态的手指静脉;
三、最后通过显示模块将普通识别模块和hard识别模块的结果进行融合,输出最终识别结果。
所述步骤一中,分级学习模型通过以下步骤分类学习:
首先获取图像训练样本,并对样本分为正常、旋转和平移三类;
然后人工对图像样本进行这三类的标记,将训练样本及标记输入卷积神经网络架构,训练得到分级学习模型,在标记时,将常态分类结果标为0并输出,非常态分类结果标为1并输出。
所述步骤二中,hard识别模块通过以下方式实现非常态的手指静脉识别:
首先通过hard学习器进行训练,获取样本,然后给每个样本赋予初始化权重,赋值时将识别错误的样本的权重大于识别正确的样本的权重;然后迭代优化训练,并更新权重,更新权重时将被分错的样本的权重大于分对样本的权重,从而完成hard学习训练过程;根据训练后的hard学习器完成非常态的图像识别。
所述初始化权重通过以下公式赋值:
在上式中,变量x表示一个样本,变量q表示识别正确的样本的个数,变量p表示识别错误的样本的个数,n表示所有样本个数,ωc表示识别错误的样本的集合,ωb表示识别正确的样本集合。
在每次迭代优化中,更新权重的更新公式如下:
在上式中,变量un-1表示上一次迭代是样本x的权重,n表示迭代次数,acc表示被上次迭代中识别的正确率,ωerr表示上次迭代中被错误识别的样本集合,ωacc表示上次迭代中被正确识别的样本集合。
本发明的一种基于个性化学习的手指静脉识别系统及方法和现有技术相比,具有以下有益效果:
本发明的一种基于个性化学习的手指静脉识别系统及方法,有效提高识别方法对旋转、平移的鲁棒性,准确完成手指静脉识别,精确的对用户身份验证,简单有效,实用性强,适用范围广泛,具有很好的推广使用价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明系统的实现示意图。
附图2是本发明方法的实现示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明的方案,下面结合具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如附图1所示,一种基于个性化学习的手指静脉识别系统,首先提出了分级学习模型,用于对手指的正常、旋转、平移等状态进行分类,然后提出了hard学习器,专门用于对旋转、平移等非常态的手指静脉进行识别,对于常态的手指静脉,用传统的方法即可获得较好的识别结果。
本发明针对手指的放置状态进行分类,然后使用复杂的hard学习器对难度较大的具有旋转平移的手指静脉进行识别,提出的个性化学习的思想有望提高识别性能。
其结构包括:
分级学习模型,用于对手指包括正常、旋转、平移的状态进行分类,并输出分类结果:常态、非常态;
普通识别模块,用于识别结果为常态的手指静脉,并输出识别结果;
hard识别模块,用于识别结果为非常态的手指静脉,并输出识别结果;
显示模块,用于将普通识别模块和hard识别模块的结果进行融合,输出最终识别结果。
所述分级学习模型通过卷积神经网络架构实现,该分级学习模型分类学习过程为:首先获取图像训练样本,并对样本分为正常、旋转和平移三类;然后人工对图像样本进行这三类的标记,将训练样本及标记输入卷积神经网络架构,训练得到分级学习模型,该分级学习模型根据分类结果即可得到手指的状态。
所述hard识别模块通过训练hard学习器实现,该hard学习器在训练时,首先获取样本,然后给每个样本赋予初始化权重,赋值时将识别错误的样本的权重大于识别正确的样本的权重;然后迭代优化训练,并更新权重,更新权重时将被分错的样本的权重大于分对样本的权重,从而完成hard学习训练过程。
所述初始化权重通过以下公式赋值:
在上式中,变量x表示一个样本,变量q表示识别正确的样本的个数,变量p表示识别错误的样本的个数,n表示所有样本个数,ωc表示识别错误的样本的集合,ωb表示识别正确的样本集合。
在每次迭代优化中,更新权重的更新公式如下:
在上式中,变量un-1表示上一次迭代是样本x的权重,n表示迭代次数,acc表示被上次迭代中识别的正确率,ωerr表示上次迭代中被错误识别的样本集合,ωacc表示上次迭代中被正确识别的样本集合。
针对手指旋转、平移等因素使得传统方法识别精度低问题,如附图2所示,本发明还提出一种基于个性化学习的手指静脉识别方法,其识别过程为:
一、首先通过分级学习模型对手指包括正常、旋转、平移的状态进行分类,并输出分类结果:常态、非常态,常态即正常状态,非常态即旋转、平移的状态;
二、然后通过普通识别模块识别结果为常态的手指静脉;hard识别模块识别结果为非常态的手指静脉;
三、最后通过显示模块将普通识别模块和hard识别模块的结果进行融合,输出最终识别结果。
所述步骤一中,分级学习模型通过以下步骤分类学习:
本发明使用alexnet作为分级学习模型,首先获取图像训练样本,并对样本分为正常、旋转和平移三类;
然后人工对图像样本进行这三类的标记,将训练样本及标记输入卷积神经网络架构alexnet,训练得到分级学习模型,在标记时,将常态分类结果标为0并输出,非常态分类结果标为1并输出。
所述步骤二中,hard识别模块通过以下方式实现非常态的手指静脉识别:
首先通过hard学习器进行训练,获取样本,然后给每个样本赋予初始化权重,赋值时将识别错误的样本的权重大于识别正确的样本的权重;然后迭代优化训练,并更新权重,更新权重时将被分错的样本的权重大于分对样本的权重,从而完成hard学习训练过程;根据训练后的hard学习器完成非常态的图像识别。
为了学习到有效的信息,本发明使用结构较为复杂的resnet作为hard学习器。为了进一步提高对这类难以正确识别样本的识别精度,初始化权重通过以下公式赋值:
在上式中,变量x表示一个样本,变量q表示识别正确的样本的个数,变量p表示识别错误的样本的个数,n表示所有样本个数,ωc表示识别错误的样本的集合,ωb表示识别正确的样本集合。
在每次迭代优化中,更新权重的更新公式如下:
在上式中,变量un-1表示上一次迭代是样本x的权重,n表示迭代次数,acc表示被上次迭代中识别的正确率,ωerr表示上次迭代中被错误识别的样本集合,ωacc表示上次迭代中被正确识别的样本集合。
本发明针对传统方法难以处理手指的旋转、平移,造成的识别精度低问题,本发明提出的方法首先针对手指的放置状态进行分类,然后使用复杂的hard学习器对难度较大的具有旋转平移的手指静脉进行识别,最后,将两个学习器进行融合,得到识别结果,有效提高识别性能。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。