当前位置:
文档之家› 指纹图像预处理和特征提取算法的Matlab实现
指纹图像预处理和特征提取算法的Matlab实现
文献标识码:A
1 引言
指纹识别技术作为一种生物特征识别技术,具有传统 识别技术无法比拟的优点。近年来,随着嵌入式计算机的 蓬勃发展和指纹传感器性价比的提高,这一充满生机的技 术作为一种高级安全认证手段已越来越频繁地出现在手 机、笔记本电脑、PDA、蜂窝电话等多种数码产品中,广泛地 应用在刑侦、IT、医疗、金融等诸多行业。这不仅体现了该 技术乐观的市场前景,更对其提出了更高的要求。在激烈 的市场竞争中,能否研发出高效、健壮的指纹识别算法显得 尤为重要。指纹图像的预处理和特征提取是任何一种指纹 识别算法中的关键部分,因为它直接关系到后续的指纹匹 配,进而影响指纹识别系统的识别率和识别速度。
李晨丹。徐进 LI Chen-chm,X1J Jm (南京农业大学工学院。江苏南京210031) (School of Electrical Engineering,Nanjing A;酣cuItural University-Nanjing 210031。China)
摘要:在指纹识别中,作为指纹匹配的前提和基础,指纹图像的预处理和指纹图像的特征提取对整个指纹识别算法
c锄
Address:Mail Box 143,School of Electrical Engineering,Nanjing Agricultural University,Nanjing,Jiangsu 210031.P.R Chins
61
万方数据
像采集、图像预处理、细节点提取和指纹匹配几部分组成。 首先,指纹要通过指纹采集设备(常见的有光学取像设备、 超声波扫描取像设备、晶体传感器。现在广泛使用的是晶体 传感器)转化为计算机内的数字图像(一般为灰度图)。由 于采集过程中难免冈手指或仪器的原冈而使图像存在较多 的噪声,所以为了使图像更清晰以便于后续特征提取,必须 对采集到的图像进行增强和滤波。并进一步二值化、细化。 之后。在细化后的点线图上提取特征值,删除伪特征值。最 终得到用于匹配的细节点。采集到的图像细节点与模板中 的细节点进行比对,最终完成指纹匹配。各个环节环环相 扣,对整个系统都起着十分重要的作用。本文着重研究了 图像预处理和细节特征提取这两个关键部分。
和背景彻底分开。对于指纹图像的二值化要用自适应二值 化,即灰度阈值的选取不能是固定的,因为利用Matlab强 大的图像处理函数不仅省去很多烦琐的编程,而且其中提 供的算法能够达到非常好的效果。用于实现二值化的 Matlab函数代码为:
function I=binarization(a) level=graythresh(a); l=im2bw(a,level):
(2)在初步细化的基础上对图像进行进一步的细化。
CN43-1258/11P ISSN 1007—130X
计算机工程与科学
COMPUTER ENGINEERING&SCIENCE
文章编号:1007·130X(2009)07—0061—04
2009年第31卷第7期 V01.31。No.7,2009
指纹图像预处理和特征提取算法的Matlab实现。
A Preprocessing and Minutiae Extraction Algorithm Based on Matlab
的工作将难以顺利完成。本文综合前人的算法,进行一定 的改进,提出了一种新的细化方法,得到了较为理想的细化 图像。具体步骤为:
(1)首先,根据文献[8]中的细化方法得到初步的细化
图。之所以称之为初步的细化图,是因为在这种细化图上 有很多地方图线都不是单像素宽,尤其是在三叉点处,这会 给后面细节特征模板的建立带来很多不必要的麻烦。
0
0
0
0
0
0
0
h=
3
6
9
9
9
6
3
10
20
30
30
30
20 10
3
6
9
9
9
6
3f
0
0
0
0
0
0
0
-8——16——24——24—24—16—8J
非水平方向的可以根据该模板旋转相应的角度得到,最好 的方法是对其进行二次线性插值。通过Matlab中的 imrotate()可以省去大量计算。
(3)用得到的滤波器对该块进行滤波增强。 irafilter(J,^)函数可以方便地实现。
强、Gabor图像增强等;另一种是频域的增强,常用在傅里
叶图像增强、小波变换图像增强等。本文利用基于空间域
方向滤波的平均分离滤波器来对指纹图像进行滤波增强,
该算法的时间复杂度比其他所列举的算法低,且能较为有
效地填补空洞和断纹。由于平均分离器只能按一个局部的
方向增强,所以方向滤波过程必须将图像分块处理(嵌入式
(4)最后,值得注意的是,滤波后的像素灰度值可能不
是整数,也可能不在(O,255)范围内,所以对其进行归一化 是必要的。
3.3二值化
二值化指纹图像是将灰度图像变成两个灰度级的图
像。它的思想是在指纹增强时设定一定的灰度阈值,图像 像素灰度与此阈值比较,大于此值的灰度置灰度最大值 255(白色),小于此值的灰度置0(黑色),从而使图像前景
起着至关重要的作用。本文设计了一套指纹图像预处理和指纹特征提取算法,利用方向滤波的方法对原始图像进行增强,
使用改进的细化算法进行细化。最后基于脊线跟踪的方法,用改进的算法更为简洁而有效地避免了各种伪特征。设计的算
法经Matlab实现,实验效果良好。该算法为指纹识别进一步应用到实际提供了一定的技术基础。
based OIl ridge tracing.These algo-
rithms are simulated and tested by Matlab,and have ideal experimental results,which contribute to the practical application.
基于点模式匹配的自动指纹识别系统(AFlS)的基本 流程如图2所示。
从系统流程图可以看出,一般自动指纹识别系统由图
·收稿日期:2008—03—23;修订日期:2008-09-08
基金项目:南京农业大学SRT项目(07151309)
作者简介:李展丹(1986一),女,山东德州人,研究方向为自动控制。 通讯地址:210031江苏省南京市南京农业大学工学院143信箱;Tel:13291276521;E-mail:lichendan{固gmaiL
指纹规格化(Fingerprint Normalization)的目的是为了 消除传感器本身的噪声以及因为手指压力不同而造成的灰 度差异,将不同原图像的对比度和灰度调整到一个固定的 级别上,从而为后续的操作创造一个良好的开端。具体的
62
万方数据
实现算法为:
设整个灰度图像,的大小为N×N,其均值和方差分
系统中也常用到分块处理,是为了节省内存)。分块的大小
根据图像的大小来定,目的是使各子块的纹线方向基本平
行。本文中实验用的图像大小为504*480,经比较选用32
*32的分块效果最佳。对每一个子块的滤波过程的具体
算法如下:
(1)首先计算该块的方向图。一般来说,常见的方向场
的计算分为掩模法和公式法两大类[5]。但掩模法计算精度
对于像素梯度的求取,可以方便地用Matlab图像处理 工具箱(Image Processing Toolbox)中的.Il=fspecial(‘80- bel’)和irafilter(J,^)来实现。
(2)得到该块的方向图后,就能根据其方向设计出相应 的滤波器。取水平方向的滤波器为:
。-8—16—24—24—24—16—8]
关键词:指纹识别;预处理#方向滤波}细化I特征提取;脊线跟踪
Key words.fingerprint recognition;preproeessing,oriented filtering;thinning;minutiae extraction;ridge tracing
中图分类号:TP391.4
本文在前人[1q]的基础上设计了一套指纹图像预处理 和特征提取算法,并借助Matlab强大的数学函数(其中包 括Image Processing Toolbox内的图像处理函数)和方便的
图像显示功能仿真和验证了算法。
2指纹识别算法概述
指纹是手指末端正面皮肤上凹凸不平产生的纹路,这 些纹路就是通常所说的脊和谷[4]。指纹虽小,但它蕴涵了 大量信息。其中,包括纹型在内的全局特征,为指纹的分类 提供了基础;同样,指纹还有许多局部特征(根据美国国家 标准局规定。包括脊末梢、分岔点、复合特征和未定义四 种),称为细节点(Minutia)。不同人的指纹的细节点是唯 一的、稳定不变的,这为指纹识别提供了可能。目前,最常 用的方法是用FBI提出的指纹细节点模型来做细节匹 配[2]。而最常用的细节特征有脊末梢和分支点两种,如图 1所示。本文就是基于这种模型设计的算法。
别为M、V,由式(1)确定:
^卜l N一1
fM一-b∑∑I(i,J)源自{弋 一,N4-1?肛£l?
(‘1l’)
.
lV=击∑∑(m,_『)--M)2 ‘ 1’i=0 J=0
规格化的公式见式(2):
G(i,J)=<—— fMo q、/VARo(I(i,j)--M)2,J(i,J)>M
IMo 4VARo(I(i,))--M)z,other而se
(3)
2G(i+1,J)一G(i+1,J+1)
}{’u?2件"f2
f托(i,J)=∑∑2a:(u,v)O,(剐)
.{
=州2
(’4~)
l÷}t吖2爿-w/2
【乃(i,J)=∑∑(畦(“,口)一a;(“,口))
其中,以(i,歹)和a,(i,J)分别是用sobel算子求出的每个 像素梯度的横纵坐标,K和y,可以表示每一块的方向。在 正交坐标系上,原点到它们组成的坐标点的有向线段与X 的正半轴的夹角可表示该子块的块方向。