图像处理在指纹识别中的应用研究Word文档格式.docx
- 文档编号:19579451
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:11
- 大小:169.63KB
图像处理在指纹识别中的应用研究Word文档格式.docx
《图像处理在指纹识别中的应用研究Word文档格式.docx》由会员分享,可在线阅读,更多相关《图像处理在指纹识别中的应用研究Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
之后,在细化后的点线图上提取特征值,删除伪特征值,最终得到用于匹配的细节点。
采集到的图像细节点与模板中的细节点进行比对,最终完成指纹匹配。
各个环节环环相扣,对整个系统都起着十分重要的作用。
本文着重研究了图像预处理和细节特征提取这两个关键部分。
2设计过程
图像预处理的目的是去除图像中的噪声,使指纹图像清晰、边缘明显,以便于提高提取和存储特征点的准确率.分为平滑处理、二值化、细化、特征值提取、特征值去除等几个步骤。
2.1平滑处理
2.1.1增强对比度
图像增强的方法分空域法和频域法[3],空域法是增强图像的像素,空域处理可用下式定义:
g(X,Y)=T(F(X,Y))公式(2.1)
式中F(X,Y)是输入的原始指纹图像,灰度范围是[m,M],g(X,Y)为处理后的图像,灰度变换增强可以用下式描述:
公式(2.2)
可以提高指纹图像脊与谷的对比度.
2.1.2指纹图像规格化和滤波
指纹图像经过规格化后,才能将该图的均值和方差控制在给定范围内。
即对指纹的每个像素进行操作,采用公式如下:
N(x,y)=
公式(2.3)
式中:
N(x,y)是规格化后的图像,G(x,y)是原图像,表示第x行第j列象素点对应的灰度值,Var和M是图像G的方差和均值,Var0和M0是期望方差和期望均值。
通过观测很小局部邻域内脊的方向,可以得出该脊的方向,设脊线的方向向量为▽f,α(x,y)为▽f,在(x,y)处的方向角,有
[19],
Hy、Hx为梯度分量。
由上式可以求得此像素点的指纹脊线方向,然后将此连续的方向在0~180°
范围内离散化成8个方向,各方向之间的夹角为,π/8,求出每一块的整体方向的平均作为此块中所有点的方向,如图:
N3
N2
N1
N4
N
S0
N5
N6
N7
2
(a)8个方向(b)8邻块
取N块的8邻块(图(b))出现最多的方向为N块的主方向。
在该小邻域内与脊方向不同的点往往正是附加了噪声的点。
根据这一特性设计7×
7自适应滤波器,对图像进行方向滤波。
使在指纹脊线方向上的像素点得到加强,在其他方向受到不同的削弱,从而不但使指纹图像的噪声得到抑制,也保留了指纹的细节特征。
经过方向滤波后的指纹图像效果较好。
2.2锐化处理
为增强指纹纹线间的界线,突出边缘信息,以利于二值化,要对指纹图像进行锐化处理.用空间微分来完成锐化处理。
由于微分算子的响应强度与图像在该点的突变程度有关,所以锐化可以增强指纹边缘并削弱灰度变换缓慢的区域.二阶微分形成增强细节的能力优于一阶微分,对灰度级阶梯变化产生双响应,因此用拉普拉斯单一掩模进行锐化。
由二元图像的拉普拉斯变换离散形式的定义:
公式(2.4)
可推出单一掩模的系数
公式(2.5)
所用掩模
-1
5
拉普拉斯单一掩模锐化变换后使图像中小的脊线部分得到增强。
2.3二值化
对于指纹识别系统,有用的信息包含在脊线(指纹中突起的)和谷线(凹下的)的二值描述中.因而必须根据原始的灰度图像来确定图像上的每一个点应属于客体区域还是背景区域,从而产生对应的二值图像,它不仅可大大减少存储量,还可以根据指纹的形状(环型、弓型、螺旋型等信息)将指纹分类,这样可以大大提高指纹识别的速度。
在基于模糊集理论的增强算法基础上提出广义度阈点的方法.阈值的正确选择在二值化中是很重要的,直接影响着分割的精度及图像描述分析的正确性.在此采用动态自适应阈值进行二值化,并根据脊线扩散张量特点,分解扩散4n个方向的和.即位于(x,y)处的像素g(x,y)的阈值V(x,y)是由以(x,y)为中心的指纹图像窗口(2n+1)×
(2n+1)中所有点的灰度值来确定。
即
公式(2.6)
由于当(2n+1)×
(2n+1)窗口落在下面2种不同区域将会引起错误判别:
1)当(2+1)×
(2n+1)窗口较多地落在谷线区,将会使一部分乃至大部分象素点被判为脊线;
2)当(2+1)×
(2n+1)窗口较多地落在脊线区,将会使一部分乃至大部分象素点被判为谷线。
借助于参数δ和参考阈值Vt可以得到修正。
令δ为一个通过试验获得的正整数,即令δ>
0,有:
公式(2.7)
则
公式(2.8)
其中Vt为参考阈值。
令二值化后的图像为r(x,y),则:
公式(2.9)
此算法有点事不改变脊线连续性和奇异点的前提下,可以有效连接断裂脊线。
2.4细化
细化是在不改变图像像素拓扑连接关系的条件下,连续擦除图像的边缘像素,把纹线粗细不均匀的指纹图像转化成线宽仅为一个像素的条纹中心线图像的过程。
细化可以去除不必要的纹线粗细信息,使得指纹图像的数据量及连接结构更加突出,便于从指纹图像中提取细节特征,如下图从而在指纹特征提取和匹配环节上提高图像的处理速度和效率。
在此先在脊线的端点用二次曲线来拟合局部脊线,在沿该端点的方向延伸得到的拟合曲线,并根据端点附近的脊线信息建立不同的处理规则来处理不同的情况,如对简单的脊线结构,即明显的断线、脊线间明显的桥以及作为短纹存在的毛刺等做初步处理,去除图像的边缘像素。
为了克服指纹形变,用图示模板进行细化处理:
从而得到最终的细化的指纹图像,这样提取出的指纹细节点、特征点和脊线才更为可靠和有效。
2.5特征值的提取
指纹图像特征提取的方法有两种:
(1)从指纹的原灰度图像上识别细节特征;
(2)从指纹的细化图像上识别细节特征。
提取的特征主要有两类:
①奇异点指纹奇异点有三种类型:
核形(Core)、三角形(Delta)和涡轮形(Whor1);
②结构特。
它包括端点(Endpoint)、叉点(Bifurcation)、歧点、孤立点(Dot)、环点(Loop)、短纹(shortRidge)等及其方向、曲率、位置等信息。
端点及叉点(下图(b))是指纹细化图像的主要特征,本文采用这两种主要特征构造指纹特征向量。
它的提取方法为:
设Cn(P)为交叉数,Sn(P)为像素8-邻域(下图(a))纹线点数:
公式(2.10)
公式(2.11)
对于一幅彻底细化的指纹图像来说,只有三种纹线点:
(1)Cn(P)=1,Sn(P)=1,称为端点;
(2)Cn(P)=2,Sn(P)=2,3,4,称为连续点;
(3)Cn(P)=3,Sn(P)=3,称为叉点。
设提取的特征点集用P(P1,P2,⋯,Pn)表示,其中n为所提取的特征点的个数,Pi=(Xi,Yi,Ti,Ai),Xi,Yi表示特征点的坐标;
Ti表示特征点的类型,当特征点为端点时Ti=1,当特征点为端点时Ti=2;
a表示特征点的角度,端点的角度取从端点为起点的端线的角度,又点的角度取图2.3(b)中角度a,b,c中最小者相对的分支的角度。
端线及分支的角度求法为:
从特征点开始搜索连续点直到搜到另一个特征点或步长达到7,设搜索到的最后一点为(X,Y),有:
公式(2.12)
2.6伪特征点的去除
造成伪特征的原因有很多,指纹提取、二值化及细化等过程均可能引入伪特征。
伪特征的存在将影响指纹的比对,降低识别率.
(1)伪特征的分析。
对于取端点及叉点作为特征算法,伪特征主要指图4中的五种:
(a)毛刺;
(b)假桥;
(c)岛屿;
(d)断脊;
(e)短脊。
它们带来的伪特征点总是成对在近距离内出现而且除断脊外均有短脊线相连接。
毛刺、短脊及岛屿均为从一个特征点出发经过很小的步长到达另一个特征点,可以采用沿脊线搜索特征点的方法去除伪特征对。
假桥、断脊则要考虑伪特征的角度关系。
下图为理想化的伪特征,各伪特征的角度关系非常明显,假桥连线与脊线垂直,断脊连线则与脊线平行,实际情况则有偏差。
设Pi,Pj为假桥或断脊带来的特征点对,v为小的角度阈值,且设A为Pi,与Pj连接线的角度:
公式(2.13)
则对于假桥,A与Ai,及a近于垂直,即90°
-v<
<
90°
+v或90°
+v;
对于断脊,Pi与Pj之间没有脊线,而且A与Ai或Aj的差小于v,即
v或
v。
对于图2.4(f)的双叉结构我们不将其当作伪特征,它与下图(c)的岛屿的区别是连接两叉点的脊线较长,这在现实中是可能存在的结构,所以被保留。
(2)伪特征的去除。
由于提取的特征集合P(P1,P2...,Pn)全为端点与叉点,端点的伪形态有毛刺端点、短脊端点与断脊端点;
叉点的伪形态有毛刺叉点、假桥叉点与岛屿叉点。
我们可以分别从端点与叉点出发搜索其邻域,判断其真伪,全部伪特征被分为伪端点与伪叉点予以去除。
根据上面的分析,伪特征可按如下规则去除:
①去除孤立点与边界点,边界点定义为掩膜值为0的任何区域的距离小于阈值的特征点;
②对于各端点Pi,从该特征点出发沿脊线搜索,若经过很小的步长到达另一个特征点即搜索到一个脊线点满足Cn(P)!
=2或Sn(P)!
=2则分别当作短脊、毛刺所带来的伪特征点予以去除;
若该端点不是毛刺、短脊引起的伪端点,则搜索其邻域是否有端点Pj满足Pi与Pj之间没有脊线,A与Ai或Aj的差小于30°
,即
30°
或
,据此来判断该端点是否为断脊;
③对于各叉点Pi,从该特征点出发沿脊线搜索其中一个分支,若有两个分支经过很小的步长均到达同一个叉点则当作岛屿予以去除;
若有一个分支经过很小的步长到达另一个叉点P且满足70°
110°
或70°
,则可当作假桥剔除;
若有一个分支经过很小的步长到达另一个端点Pj则可当作毛刺剔除。
3图像处理
首先,先将选择的指纹图像进行灰度化处理,在此过程中,只要求我们将选好的图像输入到已经完成的程序中即可。
右图中为各个不同图像得到的灰度化图像。
灰度处理程序:
MyYuanLaiPic=imread('
F:
/334/0.jpg'
);
MyFirstGrayPic=rgb2gray(MyYuanLaiPic);
[rows,cols,colors]=size(MyYuanLaiPic);
zeros(rows,cols);
SecGrayPic=uint8(SecGrayPic);
ThirdGrayPic=zeros(rows,cols);
ThirdGrayPic=uint8(ThirdGrayPic);
fori=1:
rows
forj=1:
cols
sum1=0;
sum2=0;
fork=1:
colors
sum1=sum1+MyYuanLaiPic(i,j,k)/3;
sum2=sum2+max(MyYuanLaiPic(i,j,k));
%
end
SecGrayPic(i,j)=sum1;
ThirdGrayPic(i,j)=sum2;
end
imwrite(SecGrayPic,'
/334/1.bmp'
'
bmp'
imwrite(ThirdGrayPic,'
/334/2.bmp'
figure
(1);
imshow(MyYuanLaiPic);
title('
原图'
figure
(2);
imshow(MyFirstGrayPic);
图1'
figure(3);
imshow(SecGrayPic);
图2'
figure(4);
imshow(ThirdGrayPic);
图3'
)
将以上指纹图像读入,通过MATLAB的指令将其进行二值化和细化,我们进行二值化以后,指纹图形的脊线将变成黑色,而指纹皱褶将由白色代替。
指纹细化消除了多余的指纹脊线,直至像素脊线只是一个像素宽。
其图如图右,左上角的图像是指纹图像,右边的为二值化图像,下面的为指纹细化图像。
通过计算出一个值的每个3×
3窗口号码:
如果中央像素是1,只有当两个像素都是1和1且作为邻居,当时的核心像素是终止(判断端点的方法)。
如果中央像素是1,有3个单值一起作为邻居,当时的核心像素是分岔(判断分叉点方法)。
如果中央像素值是1,有2个1值作为邻居,当时的核心像素是通常的像素。
其程序及结果图形如:
I=imread('
Empreinte.bmp'
subplot(221);
imshow(I);
set(gcf,'
position'
[11600600]);
J=I(:
:
1)>
160;
subplot(222);
imshow(J)
[11600600])
K=bwmorph(~J,'
thin'
inf'
subplot(223);
imshow(~K)
L=nlfilter(K,[33],fun);
4小结
指纹识别技术虽然已日渐成熟,图像处理及模式识别界曾一度认为;
指纹识别技术已经得到很好的解决,但实际上,作为指纹识别的核心技术仍然存在许多尚未解决的难题,尤其是残缺、污损指纹图象的识别的鲁棒性、适应性方面不能令人满意!
指纹识别系统将随着更小更廉价的指纹输入设备的出现、计算能力更强更廉价的硬件以及互联网的广泛应用而进一步拓宽其应用!
其中!
能适应联网在线指纹自动识别系统的应用算法有待进一步改进,多种指纹识别方法的集成应用以及包括指纹识别的多种生物特征鉴定的集成应用也将是今后研究发展的方向!
近年来,国外指纹识别相关研究又有升温趋势!
因此,指纹识别现在是,未来几年仍然是一个重要的、极具挑战性的模式识别研究课题!
参考文献:
[1]RClarke.Humanidentificationininformationsystems:
Managementchallengesandpublicpolicyissues[J].Info.Technol.Peopie,1994.7(4):
6~37.
[2]张志涌.精通MATLAB6.5版[M].北京:
北京航空航天大学出版社.2003.3.
[3]罗希平,田捷.自动指纹识别中的图像增强和细节匹配算法[J].软件学报,2002.5.13(5):
946~956.
[4]王家文,曹字.MATLAB6.5图形图像处理[M].北京:
国防工业出版社,2004.5.
[5]田捷,杨鑫.生物特征识别技术理论与应用[M].北京:
电子工业出版社,2005.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图像 处理 指纹识别 中的 应用 研究