一种基于卷积神经网络的指纹识别方法与流程

文档序号:16934093发布日期:2019-02-22 20:32阅读:1618来源:国知局
一种基于卷积神经网络的指纹识别方法与流程

本发明涉及一种基于卷积神经网络的指纹识别方法,属于指纹识别领域。



背景技术:

指纹识别技术是众多生物特征中的一种。所谓生物识别特征技术,指利用人体所固有的生理特征或者行为特征来进行个人身份鉴定。可用的生物识别特征有指纹、人脸、声纹、虹膜等,指纹是其中应用最为广泛的一种。

指纹的识别经历了各种方法:从最初二值化指纹图像进行匹配,到使用光学傅里叶变换法来识别指纹,以及近几年使用句法分析或汗孔的分布来识别指纹。但这些方法也存在着不少缺点,一方面这些方法使用数据集过多,另一方面这些方法往往需要人工设计指纹特征,耗费大量时间,而且设计的特征不具有普适性,也会导致识别效果不佳。



技术实现要素:

本发明的目的是为了解决现有技术中小数据集指纹识别领域存在识别率不高,识别过程繁琐的技术问题,从而提供一种基于卷积神经网络的指纹识别方法。

为了解决上述问题,本发明提出的一种基于卷积神经网络的指纹识别方法,包括如下步骤:

(1):将需要进行识别的指纹图像分为训练样本集、测试样本集和验证样本集三类,并读取待训练的数据;

(2):对读取训练数据后的指纹图像进行归一化处理;

(3):构建卷积神经网络的网络结构,其结构为输入层-卷积层-卷积层-池化层-卷积层-卷积层-池化层-全连接层-输出层;

(4):将步骤(2)归一化处理后的训练样本集放入步骤(3)构建的神经网络结构中进行训练,训练过程包括前向传播和反向传播。首先,进行前向传播;将步骤(2)归一化处理后的验证样本集放入神经网络中进行验证,若验证样本集的测试结果大于等于设定的阈值,则执行步骤(5);若验证样本集的测试结果小于设定的阈值,则重新执行步骤(4),利用训练样本集对神经网络进行重新训练;

(5):通过步骤(4)得到训练后的卷积神经网络的各层参数,并将模型参数进行保存;

(6):使用训练后的模型参数对步骤(2)归一化处理后的测试样本集进行预测识别。

所述步骤(1)中的指纹图像中包括斗型纹和箕型纹,将其分为三类:训练样本集,测试样本集和验证样本集。

所述步骤(2)中的归一化处理指的是把数据经过处理后使之限定在0-1的范围内,减少原始数据对数据分析结果的影响。

所述步骤(3)中卷积神经网络的结构按照输入层-卷积层-卷积层-池化层-卷积层-卷积层-池化层-全连接层-输出层排列,选取relu函数作为激活函数,池化使用最大池化的方法。

所述步骤(4)中的训练包括前向传播和反向传播,具体为:在前向传播过程中,训练样本集从输入层进入卷积神经网络后,通过上一层的结点以及对应的连接权值进行加权和运算,结果加上一个偏置项,通过非线性函数得到的结果就是本层结点的输出,逐层运算得到输出层的结果;若输出层的实际输出与期望输出不同,则转至误差反向传播;若输出层的实际输出与期望输出相同,则结束;在反向传播过程中,计算卷积神经网络前向传播的输出结果与样本输入的最小方误差,按照极小化误差的方式,反向逐层调整网络的权值,修正权值过程使用adagrad算法完成。重复进行前向传播和反向传播,直至达到误差最小或者最大迭代次数时,从而得到训练好的卷积神经网络。

本发明的有益效果是:

(1)该指纹识别方法是通过卷积神经网络来进行指纹识别,直接以图像的二维矩阵直接作为输入,通过训练样本自主学习,同时具有权值共享的特征,降低了模型的复杂度;

(2)该指纹识别方法是通过卷积神经网络来进行指纹识别,池化层的操作增强了系统的鲁棒性,使其可以接受指纹图像一定程度下的畸变;

(3)该指纹识别方法是通过卷积神经网络来进行指纹识别,其使用的adagrad方法使本发明有更好的鲁棒性和自适应性,可以自适应的为各个参数分配不同的学习率。

(4)该指纹识别方法是通过卷积神经网络来进行指纹识别,由于其网络层数不多,在小数据集上应用方便,识别率较高,而且所需的时间成本较低。

附图说明

图1是本发明公开的一种基于卷积神经网络的指纹识别方法的流程图;

图2是箕型纹的指纹图像;

图3是斗型纹的指纹图像;

图4是卷积神经网络示意图。

具体实施方式

以下将参照附图,通过实施例方式详细地描述本发明提供的一种基于卷积神经网络的指纹识别方法。

实施例一:如图1-4所示,本实施例提供的所述基于卷积神经网络的指纹识别方法,包括如下步骤:

(1)获取指纹图像作为样本集,并分为训练样本、测试样本和验证样本。

在所述步骤(1)中的指纹图像如图2、3所示。使用图形辅助工具采集指纹图像300张作为样本图片,并将样本图片分为三类,每一类的标签对应待测人的编号。具体方法为:随机抽取80%的样本图片作为训练样本集,用于进行模型的估计;随机抽取10%的样本图片作为验证样本集,用于验证确定网络结构或者控制模型复杂程度的参数;随机抽取10%的样本图片作为测试样本集,用于检验最终选择最优的模型的性能如何。

(2)数据归一化

在所述步骤(2)中对读取训练数据后的指纹图像进行归一化处理,由于神经网络是以样本在事件中的统计概率来进行训练和预测的,所以归一化就是把数据经过处理后使之限定在0-1的范围内,减少原始数据对数据分析结果的影响,从而加快网络学习速度。

(3)构建卷积神经网络

在所述步骤(3)中卷积神经网络的结构按照输入层-卷积层-卷积层-池化层-卷积层-卷积层-池化层-全连接层-输出层排列。卷积神经网络中的各参数设置:

迭代次数设置为40次,批次大小设置为40,学习率为adagrad预设的数值0.01,损失函数为多类的对数损失,优化器为adagrad。

(4)将训练样本放入卷积神经网络进行训练。

在所述步骤(4)中将步骤(2)归一化处理后的训练样本放入步骤(3)构建的卷积神经网络中进行训练,训练包括前向传播和反向传播,具体为:在前向传播过程中,训练样本集从输入层进入卷积神经网络后,通过上一层的结点以及对应的连接权值进行加权和运算,结果加上一个偏置项,通过非线性函数(如relu,sigmoid等函数)得到的结果就是本层结点的输出,逐层运算得到输出层的结果;若输出层的实际输出与期望输出不同,则转至误差反向传播;若输出层的实际输出与期望输出相同,则结束;在反向传播过程中,计算卷积神经网络前向传播的输出结果与样本输入的最小方误差,按照极小化误差的方式,反向逐层调整网络的权值,修正权值过程使用adagrad算法完成。重复进行前向传播和反向传播,直至达到误差最小或者最大迭代次数时,从而得到训练好的卷积神经网络。

(5)将训练后的模型参数进行保存。

在所述步骤(5)中,将步骤(4)中训练好的神经网络模型予以保存。

(6)利用训练好模型对检测样本集进行检测识别

在所述步骤(6)中,使用步骤(5)中保存的网络模型对步骤(2)归一化处理后的测试样本进行预测识别。

以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

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