一种基于MATLAB的指纹识别方法

2022-07-19 05:16王丰宇吴振鹏a郑兴至
湖北理工学院学报 2022年4期
关键词:指纹识别方差指纹

王丰宇,吴振鹏a,b*,郑兴至

(1.湖北理工学院 a.机电工程学院,b.智能输送技术与装备湖北省重点实验室(筹),湖北 黄石 435003;2.天津理工大学 电气电子工程学院,天津 300384)

在全球信息化的大环境下,人们的身份信息识别备受关注。密码遗忘或泄露后,简单的修改密码或使用磁卡符号设置等操作已不能满足用户需求,因而数据的安全性和可靠性至关重要。指纹所具有的独特性和方便性,使其在智能身份识别领域的应用较为普遍[1]。目前,智能手机上的指纹解锁功能受到了用户的一致好评,基于指纹识别原则的权威系统和考试记录已被推广运用至各领域。虽然指纹特征仅包含了人体很小一部分的信息,但对于每个独立的个体来讲,能够有效地进行身份识别,其识别算法的精确性和可靠性非常重要[1]。

为了提高指纹识别系统的精度和效率,本文提出一种特征点的判断方法,采用基于不断改进提取图像邻域的算法提取图像特征[2],并建立和完善数学模型,实现指纹图像特征点的细化和证伪,从而得到指纹精炼图。此外,为了分析特征点和指纹之间的关系,预测编码程序可实现的匹配度,在MATLAB环境下分别选取斗型、箕型和弓型纹对算法进行案例分析,验证该指纹识别算法的可行性,旨在为进一步提高指纹识别的精确性和可靠性提供参考。

1 模型假设

指纹是一个复杂的系统,因人而异,具有独特性。因此,做出一些假设和简化:①共同指纹提取测试过程中,没有包含指纹识别图像的2个指纹数据中心接触点;②假设指纹图像没有巨大的疤痕;③假设指纹图像基本清晰可辨;④假设在分类过程中不存在任何特征点。

2 指纹识别模型

2.1 指纹打印功能提取

对于没有指纹的原始指纹图像,为了保证能够正常有效地提取指纹后续特征,须对全部原始指纹图像进行不同识别程度的指纹特征处理, 并重新提取指纹图像,包括一个端点和一个分叉点,确保图像的指纹特征是去伪的[3]。

2.2 手指打印图像预处理

指纹识别预处理是指纹识别系统中的一个重要环节[3],主要是为了提高用户输入的指纹点状图像的数据质量,增强山脊与其他山谷的指纹对比度,消除传统指纹的点状断裂和指纹叉的连接,将传统指纹点状图像转变成清晰的指纹点状曲线图。

2.2.1归一化

在指纹图像采集处理过程中,图像的亮度水平参差不齐,无法建立1个统一有效的识别系统,给指纹识别图像采集的处理和分析计算带来了极大的不便。因此,在MATLAB软件中参照文献[4]中方法对(R,G,B)3个分量图像进行归一化处理,公式为:

(1)

式(1)中,i,j为节点编号;M0和V0分别为预期的平均值和方差;Mi和Vi分别为每个指纹扫描图像根据实际使用情况的平均值和方差。

2.2.2分割

结合平均方差算法,使用多模块数据特征来分割指纹图像。基于指纹背景颜色的浅灰色区域方差小、指纹方块区域方差大的设计观点,将每个指纹方块图像区分为块,计算每个指纹方块的方差[5]。分割处理是将指纹前景与背景分割出来。分割完毕后,系统只对前景进行处理,以降低预处理的复杂度,具体步骤如下[6]。

1)设定1个阈值M,将图像块为n×n块。

2)图像分为40×40个部分,量化评价每个图像块的均值:

(2)

式(2)中,N为每一部分的均值;f(x,y)为图像中点的灰度值。

3)如果N

2.2.3二值化

通过公式(3)将分割后的图像二值化处理,将图形数据分为A和B2种像素[7],以有效提取指纹的线条轮廓,减小数据量[5],为存储和处理带来便利,提高系统的经济实用性。

(3)

式(3)中, “1”表示目标子图;“0”表示背景子图;T为分割阈值。

基于全局P参数法进行量化评价,具体过程如下。

1)指纹脊线所占整幅指纹图像的比例P及其灰度分布Pi(i=0,1,2,…,255)为:

(4)

(5)

式(4)中,Nobject为脊线的像素点总个数;Nimage为指纹图像总像素点总个数。

2)计算累计分布Pk(k=0,1,2,…,255)为:

(6)

3)分别计算Ma和Mb:

(7)

(8)

式(7)~(8)中,Na,Nb分别为A,B2种像素的个数。

A和B之间的方差为:

δ(t)=NaNb(Ma-Mb)2

(9)

4)A,B方差以 0~255 为周期计算。当方差最大时,T为最有效的分割阈值,进行指纹图像二值化。阈值T为:

T=kmax(Pk≤40%)

(10)

2.2.4细化

指纹识别二值化后,线条仍然具有一定的特征宽度,从带有指纹特征点线的网状结构中任意提取1个特征点即可进行指纹匹配[8]。因此,指纹二值化后,精炼指纹是必不可少的。细化后的指纹线条从多像素宽度减少到单位像素宽度,可以有效降低程序计算量。

3 指纹特征的提取与细化去伪

3.1 提取细节结构特征

由于传统图像精制质量和视频噪声的双重干扰,预处理的图像精制在伪图像上仍存有大量的典型伪图像特征和缺点。伪特征通常具有以下特征:大多数特征位于图像的边缘;图像中的伪特征非常接近,同时在很小的区域中存在多个伪特征[9]。

以3行3列区域划分指纹图像,其中Q表示目标检测像素[10-11]。像素的8个字段如图1所示。

图1 像素的8个字段

特征点距离主要用于伪特征点的消除算法中。功能点Q1和Q2之间的距离:

(11)

伪功能筛选方法主要有以下2种:指纹范围以外的点(本文使用范围为600),此时,它和周围的 8 点记录为 0,将非功能点的数量从中减去;观察指纹图像边缘的直线终点,实际上在终点的指纹半径应该是直线(本文中取值为36)。如果说在实际终点的半径R范围内几乎没有其他一个分辨的终点,那么它不会是一个真正的终点[10,12]。如果周围指纹还有其他2种特征点,则可以将其周围视为一个指纹的边缘端,即第2种具有特征性的点。

3.2 功能点的提取

为计算方便,目标点值设置为1,计算公式为:

(12)

(13)

计算8个附近值为1的像素,并基于一定量化举例得出Q点所处的以下几类情况。

1)如果8个邻域中只有1个值为1的像素, 且CN=l,Sn(q)=1,此时Q点即是端点。

2)如果8个邻域中有2个值为1的像素,且CN=2,Sn(q)=2,此时Q点即是连接点。

3)如果8个邻域中有3个值为1的像素,且CN=3,Sn(q)=3,此时Q点即是分叉点[12]。

细化去伪后必须对提取的所有特征点信息进行后续处理,删除虚假的提取特征功能点。

4 模型评估

基于方差和其他数学运算形态的背景指纹区域分割增强算法能够准确区分背景指纹的处理前景和指纹背景,可以直接获得良好的背景指纹分割增强处理效果,得到更好的指纹图谱和提取精度。

4.1 指纹特征提取的实验结果与分析

原始指纹导入图像和细化后指纹导入图像分别如图2和图3所示。从图2和图3可以看出,原始图经过细化处理后,指纹的主要轮廓线条依然保留。预处理后,指纹图像转换成为特征点和线图, 指纹特征提取效果就可以显示在图中。指纹功能点提取图像如图4所示。从图4可以看出,处理的功能点存在错误,是由于图像预处理中的噪声过大所导致。细化去伪后的指纹图像特征点如图5所示。从图5 可以看出,大量虚假的提取特征功能点被删除,所剩下的功能点能够准确地捕捉指纹的各个区域。

(a) 斗型纹 (b) 箕型纹 (c) 弓型纹

(a) 斗型纹 (b) 箕型纹 (c) 弓型纹

(a) 斗型纹 (b) 箕型纹 (c) 弓型纹

(a) 斗型纹 (b) 箕型纹 (c) 弓型纹

4.2 指纹匹配的最终实验结果与分析

指纹图像处理是非常精细的,不同的采集设备会产生不必要的几个或许多个端点。在MATLAB中,可以采用指纹函数分析法来实现。由实验结果可以看出,该识别方法能够有效地提取不同类型指纹的特征点,并能保证较低的错误率。

5 结论

1)在现有特征提取图像算法的理论基础上,不断改进提取图像的邻域算法,减少了后续采集的工作量,降低了识别过程中的错误率。

2)在MATLAB环境下,基于斗型、箕型和弓型纹对上述算法进行案例分析,验证了指纹识别算法的可行性。

猜你喜欢
指纹识别方差指纹
概率与统计(2)——离散型随机变量的期望与方差
像侦探一样提取指纹
为什么每个人的指纹都不一样
基于单片机指纹识别电子寄存柜设计
方差生活秀
苹果屏幕指纹识别专利图流出
iPhone8新专利曝光
唯一的指纹
揭秘平均数和方差的变化规律
方差越小越好?