APP下载

基于神经网络的指纹快速匹配识别方法研究

2023-08-16吴俨锋

无线互联科技 2023年11期
关键词:指纹图指纹识别高斯

吴俨锋

(攀枝花学院,四川 攀枝花 617000)

0 引言

生活中需要验证个人身份时,传统的方法是验证人是否持有有效证件,并核对照片等。 这种以“物”认人的方法,漏洞显而易见,人们开始寻找直接认证的方法。 指纹识别具有唯一性、不变性、实用性、安全性的优点,是目前应用最广泛的身份验证和识别技术。

1 神经网络识别原理

神经网络在指纹识别方面具有寻找优化解的能力,具有联想存储功能。 逻辑性的思维是指根据逻辑规则进行推理的过程,先将信息转换成概念并用符号表示,然后根据符号运算按串行模式进行逻辑推理,这一过程可以写成串行的指令,由计算机来执行。 然而,直观的思维是将分布式储存的信息综合起来,这种思维方式的根本在于以下两点:(1)信息是通过神经元上的兴奋模式分布存储在网络上;(2)信息处理是通过神经元之间同时相互作用的动态过程来完成的。

滤波特征和不变矩指纹识别算法的优势在于它是基于直接线性变换的,因此无须确定与应用相关的自适应参数。 不变矩技术类型很多,现已被应用于图像分类与识别处理的许多方面。 从数学角度上看,矩是很简单的[1]。

2 指纹的分类

为提高指纹的识别效率,降低系统计算的复杂度,把指纹样本数据库中的指纹分为不同的类别,再将不同类别的指纹分别保存到样本库的子数据库中。 进行指纹识别时,先判断待识指纹的类别,再将它与所属子数据库中的指纹进行对比匹配。 学术界一般把指纹分为弓形、斗型、箕型3 大类,如图1 所示[2]。

图1 指纹的分类

3 指纹识别模型

神经网络正向传播在数学上只须做连续的矩阵乘法。 如果输出Y 是输入向量x 和权重矩阵a 之间的矩阵乘法之积,则Y 中的第i 个元素被定义为:

其中,i 是权重矩阵a 给定行的索引,k 是给定列的索引及输入向量x 的元素索引,n 是x 中元素的个数。

可以证明,在某给定层,根据标准正态分布初始化的输入x 和权重矩阵a 的乘积,通常具有非常接近输入连接数平方根的标准差[3]。

4 识别算法设计

4.1 数据初始化处理

通常参数的初始化方式有3 种,本文使用基于方差缩放的参数初始化。

如果一个神经元输入很多,则每个输入连接上的权重就应该小一些,以免输出过大,导致梯度爆炸或梯度消失。 因此,需要尽量保持每个神经元输入和输出方差一定,可以根据神经元连接数量自适应调整初始化分布的方差,称为“方差缩放”。 基于方差缩放的参数初始化如表1 所示,其中Xavier 初始化也称为 Glorot 初始化;He 初始化也称为Kaiming 初始化。

表1 基于方差缩放的参数初始化

Kaiming 初始化步骤:(1)前向传播时,每一层的卷积计算结果的方差为1。 (2)反向传播时,每一 层继续往前传的梯度方差为1。 因为每层会有两个梯度的计算,一个用来更新当前层的权重,一个继续传播,用于前面层的梯度的计算。

4.2 识别步骤

指纹识别分为5 步,首先进行指纹图像采集,图像预处理,然后进行特征提取,最后指纹匹配。 如果指纹没有采集过,会先进行指纹登记,再进行指纹匹配。 指纹识别的步骤如图2 所示。

图2 指纹识别步骤

4.3 识别流程

指纹识别技术主要包括3 大部分:指纹图像采集、指纹预处理、特征提取与匹配[4]。 其中,指纹预处理分为分割、二值化、增强滤波和细化4 步。 分割图像是从一幅图像分离出感兴趣的部分或区域,经过分割后的图像更容易进行进一步的分类、分析和识别处理。 图像分割需要在指纹二值化和滤波及细化之前进行,如此可以减少计算的冗余量,提高指纹识别的速度。 二值化就是将图像上的像素点的灰度值设置为0 或1,即将整个图像呈现出明显的黑白视觉效果。分割和滤波后的指纹图像进行二值化处理后,脊线仍有一定的宽度。 指纹识别的匹配只利用图像的点或线的特征,这些特征只与脊线的走向或者纹理有关系。 有一定宽度的二值化图像则显得有些多余,需对二值化图像进行细化处理,可得到一个单一像素宽度的脊线。 经细化处理,在后续的指纹特征提取和特征匹配的算法中大大减少了计算的冗余量和出错率,提高了指纹识别的速度和准确度。 指纹识别技术处理过程如图3 所示。

图3 指纹识别技术处理过程

5 实验验证

5.1 实验环境与数据

实验环境为Windows10 系统,通过MATLAB 仿真软件分别对神经网络指纹识别算法、滤波特征和不变矩指纹识别算法、指纹匹配算法进行仿真实验与分析。

5.2 实验结果

先传入原始指纹,对其进行神经网络和高斯滤波处理。 在进行神经网络处理之前要先进行预处理,本文预处理用的是归一化算法。 神经网络是一种基于人脑结构的非线性计算模型,能够根据其他数据样本,学习执行分类、预测、决策、可视化等多种任务。MATLAB 用到3 个函数:newff(网络创建函数)、train(训练一个神经网络)和sim(使用网络进行仿真)。高斯滤波是一种线性平滑滤波,应用于图像处理的减噪过程。 简单地说,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到,相当于使用周围的点对噪声点进行平滑处理,使噪声点的分布逐步趋于图像非噪声点的分布。 高斯滤波的具体操作为:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

原始指纹如图4 所示,经过神经网络和高斯滤波处理后的指纹如图5 所示,指纹识别匹配实验结果如表2 所示。

表2 实验结果

图4 原始指纹

图5 神经网络和高斯滤波处理后的指纹

实验进行了110 次匹配,每次匹配70 s,识别率比消除伪特征点算法高10%[5]。 消除伪特征点算法通常是先确定指纹人再比对指纹,采取到指纹后用电脑进行对比,需要3~4 min,匹配速度比较快。

6 结语

本文的指纹匹配识别算法主要解决匹配时间长、识别率低等问题,具有速度快、指纹模板小、识别率高的优点,但是仍存在容易受指纹图像噪声干扰的情况。 基于神经网络方式具有寻找优化解的能力、容错能力、自适应能力的优点,但同时也存在操作要求高、易受噪声影响等缺陷。 因此,仍需进一步研究,寻找更好的指纹识别算法来完善指纹识别系统,也相信指纹识别系统必将拥有一片更美好的蓝天。

猜你喜欢

指纹图指纹识别高斯
天才数学家——高斯
基于单片机指纹识别电子寄存柜设计
指纹图像传感器技术与后续发展研究
指纹识别技术综述
沉香GC-MS指纹图谱分析
基于模板检测法的指纹图像的细节特征提取
基于大容量指纹识别的实时身份认证系统
基于线阵CCD的指纹识别实验
有限域上高斯正规基的一个注记
1株蒜薹采后病原真菌的鉴定、rDNA ITS序列及碳源代谢指纹图谱分析