CN100347719C - 基于密度图模型的指纹识别方法 - Google Patents
基于密度图模型的指纹识别方法 Download PDFInfo
- Publication number
- CN100347719C CN100347719C CNB2004100689773A CN200410068977A CN100347719C CN 100347719 C CN100347719 C CN 100347719C CN B2004100689773 A CNB2004100689773 A CN B2004100689773A CN 200410068977 A CN200410068977 A CN 200410068977A CN 100347719 C CN100347719 C CN 100347719C
- Authority
- CN
- China
- Prior art keywords
- point
- fingerprint
- density
- sigma
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Collating Specific Patterns (AREA)
Abstract
基于密度图模型的指纹识别方法属于指纹识别技术领域,其特征在于:它把传统的细节点特征与有效区域特征、密度图特征结合在一起作为指纹识别的特征,同时又把密度图比对结果与传统的细节点比对结果加以融合从而大大提高指纹识别率。这种方法更便于实用,而且需要的存储空间也只有很少的增加。它更适用于质量较差的指纹进行识别。
Description
技术领域
本发明涉及指纹识别技术领域,尤其涉及同时融合指纹密度图特征和细节点特征进行识别的技术。
背景技术
在现代社会中,快速、有效、自动地进行人身辨别的要求日益迫切,重要部门保安、过境控制、移民检查、机密或贵重物品保存场所的进出、防止信用卡欺骗、网络安全等都需要进行可靠的人身鉴别。在身份验证的依据中,钥匙、证件可能会丢失、被盗或复制,密码又容易被忘掉、混淆或被偷看,而生物特征(包括指纹、人脸、手形、手写签名、虹膜等)是人的内在属性,它们不会出现上述情况,因此成为最理想的辨别依据。这其中,指纹识别是应用最普遍、识别率最高、最容易被接受的个人身份认定方法。作为物证之首,指纹识别已有一个非常漫长而且成果丰富的历史。基于计算机的自动指纹识别始于二十世纪60年代,它首先应用在刑事侦破中。近年来,指纹自动识别从刑事应用逐渐推广到考勤、门禁、银行保险箱、社会保险等领域,我国也已初步决定在新一代身份证中引入指纹信息进行个人身份认证。在美国911事件后,基于指纹自动识别的个人身份识别更是得到前所未有的重视。
目前的指纹自动识别方法主要是基于细节点特征的,即提取细节点(指纹中脊线的终结点或交叉点)作为特征来表征指纹图像,通过比对这些特征进行识别。其步骤一般包括:指纹图像采集、方向图(指纹纹理的方向)提取、图像增强、指纹脊线细化、细节点提取等。围绕着如何更好更快地提取细节点,近二十年来国内外研究单位做出了大量工作,并且现有指纹产品都是基于这种方法的,如美国BAC公司的SecuTouch,日本Sony公司的FIU-500,美国BII公司的Veriprox,韩国Bogo公司的Bogo2000,美国DP公司的U.are.U2000,美国Identix公司的Biologon等。
随着指纹识别应用的推广,现有系统和方法在大范围应用上的不足越来越显现出来。最近发表的一篇论文(S.Pankanti,S.Prabhakar,and A.K.Jain.On the individuality offingerprints.Proceedings of IEEE International Symposium of CVPR,Vol.1,USA,Dec 2001,pp:805-812)指出,目前的很多指纹系统中对于一枚指纹平均只能获得36个真的细节点,而通常认为,两枚指纹之间如果有15个以上的细节点比对成功就可以判断为同一个手指,考虑到用计算机方法提取出的细节点在坐标和方向上会出现一定误差,则将某一个手指的指纹判断为另一个的概率大于4.26×10-7。如果考虑到提取出的细节点中有假点的话(对于任何方法都必然会出现这种情况),则错误率还会大大增大,达到10-3的程度,严重影响识别的结果。
出现以上问题的一个根本原因在于指纹的特征表达不够完备。指纹这一比较复杂的模式单用细节点来描述是远远不够的。可以说,这一问题已成为当前指纹识别的一个瓶颈问题。要解决这一问题,必须从全新角度重新研究指纹的特征表达问题,寻求新的可以描述指纹个体差异和自身稳定性的特征。当然,由于实际应用的限制,这些新的特征应该有简约的表达(以方便存储)。在所有可以查到的专利或发表文献中,与本发明思路比较接近的有:在(A.K.Jain,S.Prabhakar,L.Hong and S.Pankanti.Filterbank-basedfingerprint matching.IEEE Trans.on Image Processing,Vol.9,2000,pp:846-859)中利用多滤波器的响应进行编码,以这些编码作为特征进行指纹识别,在(A.Ross,S.Prabhakar,and A.K.Jain.Fingerprint matchingusing minutiae and texture features.Proc.ICIP 2001,Vol.3,Greece,Oct 2001,pp 282-285)中采用与上述思路类似的编码加上细节点信息进行指纹识别,都获得了一定的效果,但其问题是需要存储空间非常大,造成应用的障碍。改进效果也不是很理想。
发明内容
本发明的目的是提供多特征的实用的指纹表示方法及相应的识别技术,能够在存储指纹特征时保存更多有用的信息供指纹比对时使用。本发明通过对指纹密度图进行建模,计算出任意指纹的密度图模型参数;在指纹比对阶段,将存储的模型参数恢复指纹密度图,进而进行任意两个指纹的密度图比对,再与细节点比对结果结合,从而达到提高传统识别方法效果的目的。
本发明的核心思想是通过计算机自动检测指纹的密度图信息,并通过最小二乘法将其用少量参数表达出来,将这些参数存储下来,供比对阶段使用,与传统细节点识别方法结合就可以提高识别性能。在指纹中,细节点反映的是指纹的细节特征,密度图反映的是全局特征,具有很大互补性。其中基于细节点特征的识别方法可以选用目前使用的任何方法。本发明仅对其中一种加以介绍。
我们提出的指纹表示特征包括:细节点(坐标,方向),有效区域链码,密度图参数。传统方法主要使用前细节点(坐标,方向)的特征,我们增加使用了有效区域和密度图特征,这些特征与原有特征具有较大独立性,融合起来能够大大提高识别率。
上述特征可以用定长编码方式存储。以下分别加以介绍:
细节点特征:包括细节点的x坐标,y坐标和方向角度。为节省存储空间,存储实际值大小的一半(以指纹图像大小(512×320)为例,存储的细节点和奇异点的坐标范围为0-255,方向值的范围在0到180之间)。因此,一个细节点需要用3个字节表示。一般情况下,指纹的细节点数量在100以下,所以最多需要300字节表示;
有效区域特征:需存储指纹有效区域边界,采用十六边形表示方法,存储顶点x坐标,y坐标,各自为实际长度的1/4,因此分别可用1字节存储,共需32字节。
密度图特征:密度图的模型参数。采用多项式模型拟合,一般阶次取n为4,即用一个二元四次多项式拟合,每个多项式系数为25个参数,保存一个最大值和一个最小值,分别用float型存储(4字节),将所有参数规范化到0~65535之间,每个参数用2字节存储需要50字节,这样总供需要58字节。
综上,共需390字节存储指纹特征。
本发明的特征在于,它依次含有以下两个阶段:
它依次含有以下两个阶段:
注册阶段,计算机在离线状态下对所有注册的指纹进行特征提取和存储,这个阶段依次含有以下步骤:
(1).对计算机进行初始化
设定:以下用定长编码方式存储的特征:
细节点特征,包括它的X坐标、Y坐标和方向角度,每个细节点用3个字节表示,细节点数小于100,最多需用300字节;
有效区域特征:用十六边形表示指纹有效区域边界,存储16个顶点的X坐标、Y坐标,共需32字节表示有效区域链码;
密度图特征:设定增强图中各点的脊线密度作为反映该点指纹脊线纹理的疏密程度的特征,所述一个点的脊线密度是指:作垂直于该点在方向场中对应方向的直线,使它与两条相邻脊线相交,该直线处于两条脊线上的两条线段各自中点之间的距离即为该点脊线密度,用它作为密度图模型参数;采用最小二乘法建模,最小化通过二元四次多项式模型拟合生成的密度图和原始的脊线密度图的平方误差来得到多项式系数,每个多项式有25个参数,保存一个最大值和一个最小值,各用4字节,再把所有参数标准化到0~65535之间,每个参数用2字节存储,共需50字节,合计58字节;
存储以上三个指纹特征共占用390字节;
在指纹有效区域的检测步骤中,对于已经按4×4大小方格分割的原始指纹图像而言,当以点(i,j)为左上角的一个方格内的灰度均值Iavg(i,j)和方差Var(i,j)处于下述范围内,该方格为有效,标记为1,否则无效,标记为0,即
th1<Iavg(i,j)<th2且同时Var(i,j)>th3,
其中th为阈值,th1=20,th2=220,th3=6;
在密度图建模的步骤中,多项式模型中多项式阶次为4;
在图像增强的步骤中,Gabor滤波器空域表达形式G(x掩,y掩,θ)中的参数值δx′=δy′=5.0,f=0.6,空域掩模大小为7×7像素;
(2).计算机通过取指器采集所有注册指纹的原始图像并存储;
(3).检测指纹的有效区域,它依次含有以下步骤:
(3.1)把原始图像分割成大小为4×4像素的方格;
(3.2)计算机按下式计算以点(i,j)为左上角的一个方格内的灰度均值Iavg(i,j)和方差Var(i,j):
其中I(i+x,j+y)为(i+x,j+y)点的图像灰度值;
(3.3)计算机按下式判断上述每一个方格是否有效:
若th1<Iavg(i,j)<th2且同时Var(i,j)>th3,则该方格有效,标记为1,否则为0;
(3.4)去噪声处理
(3.4.1)对上述图像进行3×3滤波,即对图像上所有的点,检查其3×3邻域内9个点,若只有该点是有效的,而其它8个点是无效的,则该点判断为噪声,标记改为0;若只有该点是无效的,而其他8个点是有效的,则该点标记改为1;
(3.4.2)去掉有效区域中的“洞”:即逐行对上述图像扫描,填补最左边和最右边的有效点之间的所有无效点,把它们标记为有效;逐列扫描,填补最上边和最下边的有效点之间的所有无效点,把它们标记为有效;
这样得到了指纹图像的有效区域,长、宽分别为原图的1/4;
(3.5)求取真实的有效区域的质心(x0,y0):
其中,E代表有效区域,N代表有效区域内的点数;
(3.6)从质心(x0,y0)处等角度地向四周16个方向引射线,求出这些射线与有效区域外边界的交点,并存储;
(4).用基于梯度统计的金字塔形算法进行方向场估计,它依次含有以下步骤:
(4.1)利用Soble算子的水平方向算子Sx和竖直方向算子Sy求取点(x,y)的灰度梯度:
水平方向:
竖直方向:
I(i,j)为(i,j)点的灰度值;
(4.2)把指纹图划分成大小为
W×
W的方格,
W=7,再依次进行以下步骤:
(4.2.1)用下式求取每一方格对应的局部方向θ
(4.2.2)计算方向场一致性水平:
其中,D是第(i,j)方格的邻域,取为5×5,N是D中所含方格的个数,N=25;θ(i′,j′)和θ(i,j)分别为第(i′,j′)和第(i,j)方格的局部方向;
若E0>Tc,则令
W=1.5
W,重新估计D中各方格的方向,重复步骤(4.2.1)和(4.2.2);直至E0≤Tc,这里Tc=1.5;
(5).用Gabor滤波方法增强图像,其步骤如下:
(5.1)Gabor滤波器空域表达形式为:
θ∈[0,180)为当前点的方向场垂直方向,x掩,y掩为掩膜中各点相对于掩膜中心点的坐标,δx′=δy′=5.0,f=0.6,空域掩膜大小为7×7像素;
(5.2)自适应滤波:
假设输入指纹灰度图像为I(x,y),θ为(i,j)点方向场方向垂直的方向,则用上述滤波器滤波如下:
然后按下式求取一个数值
其中L=12为统计数据区域长度,D=2为统计步长,进行脊线提取:如果F(i,j)>flag(i,j),则(i,j)点位于谷,即背景,否则位于脊,即前景;
(6).基于细化图的细节点提取和存储,它依次包含以下步骤:
(6.1)在保持原图的骨架即不改变拓扑结构和不删除直线端点的前提下,根据以待测点为中心的8邻域的不同状态来决定待测点的“去”或“留”,“去”用“0”表示,“留”用“1”表示;
(6.2)建立1维索引表table,标记索引为0~255,共256个元素,每个元素取1表示保留,0表示去掉;
(6.3)遍历有效区域内所有点,考察其8邻域,对所有排列组合通过下面的公式映射到0~255之间:
index=A32×20+A31×21+A21×22+A11×23
+A12×24+A13×25+A23×26+A33×27;
其中,Aij代表8个邻域中的点的值,然后通过查询索引表中索引值为index的元素即table[index],决定该待测点是否保留或者去掉;
(6.4)重复(6.3)直到没有被去掉的点出现;
(6.5)细化后处理:
(6.5.1),按照细化图,初步确定细节点中的端点,即本身为1且周围8个点中有且仅有一个点为1,和分岔点,即本身为1且周围8个点中有且仅有三个点为1;
(6.5.2),沿着细节点生长,对细节点进行后处理:
(a),对于端点,如果在其12×12的邻域内有另一个端点的方向与之接近,即角度差小于Tha=30度,则将这两个端点都去掉;
(b),将形成环形的邻近分叉点连接起来,对于一个分叉点,如果在其12×12的邻域内有另一个分叉点的方向与之接近,即角度差小于Tha=30度,则将两者都去掉;
(c),去除一些小短棒对应的两个端点,对于一个端点,如果沿着它所在脊线经过12个像素之内就碰到另一个端点,则将两个端点都去掉;
(6.5.3),筛除方向与该点方向场角度差大于30度的特征点;
(7).密度图特征提取和存储,它依次包含以下步骤:
(7.1)原始密度图的提取:遍历二值化后的增强图上有效区域内的所有点,设脊线灰度为0,背景灰度为1,按以下步骤求取各点的脊线密度:
(7.1.1)对有效区域内某一点P,通过方向场取得该点处的方向,如果该点灰度值为0,则执行步骤(7.1.2),否则执行步骤(7.1.3);
(7.1.2)沿垂直于P点方向的直线从P点开始分别向两边遍历,分别一直探测到灰度由0变1的点,即脊线的边界点;向距离P点距离近的边界点一侧的方向继续遍历,直到探测到灰度由1变0的点,即到达相邻脊线,继续遍历直到探测到灰度由0变1的点,执行步骤(7.1.4);
(7.1.3)沿垂直于P点方向的直线从P点开始分别向两边遍历,直到探测到灰度由1变0的点,即脊线的边界点,分别继续遍历,直到探测到灰度由0变1的点,找到脊线另一侧的边界点;
(7.1.4)求取相邻两条脊线各自在沿垂直于P点方向的直线上的线段的中心点,其中,这两个中心点之间的距离就是P点处的脊线密度;
(7.1.5)由此对二值化后的增强图上有效区域内的所有点按步骤(7.1.1)~(7.1.4)来求取每点的脊线密度,得到一张原始脊线密度图,用Rraw表示;
(7.1.6)对上述原始脊线密度图采用3×3的中值滤波器进行一次平滑滤波:
(7.1.6.1)对原始脊线密度图中以点(i,j)为中心的3×3邻域内的9个点,即{Rraw(i+i1,j+j1)}i1=0,1,2;j1=0,1,2按照脊线密度值进行大小排序,选择其中排名最中间的值作为该待测点(i,j)的滤波后的值;
(7.1.6.2)对原始脊线密度图中的所有点按步骤(7.1.6.1)进行处理,各待测点滤波值,将结果用Rraw′表示;
(7.1.7)把上述(7.1.6)得到的滤波后的脊线密度图Rraw′划分为4×4像素大小的方格,对每个方格求平均值,我们将此新图用D表示,其长和宽分别为原图Rraw′的1/4,其中D图中坐标为(x,y)的点的值D(x,y)为:
(7.2)密度图建模,依次含有以下步骤:
(7.2.1)权重设置:对于图D上点(x,y)处的权重为w(x,y),计算机可用下面步骤计算:
(7.2.1.1)计算D在点(x,y)处的3×3邻域内的均值Davg(x,y):
(7.2.1.2)计算D在点(x,y)处的3×3邻域内的方差Var(x,y):
(7.2.1.3)计算点(x,y)处的权重w(x,y):
w(x,y)=exp(-Var(x,y)/8);
aij,i=0,…,4;j=0,…,4即为多项式系数;
(7.2.3)保存特征aij,i=0,…,4;j=0,…,4;
(8)对所有注册指纹进行上述特征提取操作(1)~(7)并将所得到的有效区域16边形顶点和多项式系数,特征存入数据库;
验证阶段,依次含有以下步骤:
(1)计算机对每个输入的指纹按照上述(1)~(7)进行特征在线提取操作
(2)细节点比对值计算
(2.1)用基于Hough变换的细节点配准方法补偿旋转和平移偏差,即把两个指纹各自的细节点分别构成各自含有M和N个细节点的点集,从两个点集中各选一个细节点分别表示为(x1,y1,θ1)和(x2,y2,θ2),利用它们之间的坐标、方向求出一个平移量:
一个旋转量:Δθ=θ2-θ1,遍历所有M×N对细节点对,统计(Δx,Δy,Δθ)出现的次数,得票最高的平移旋转量就是最终使用的平移旋转量,同时记录得票数vote;
用下面的公式计算平移旋转后的新坐标:
x″=x′×cos(Δθ)-y′×sin(Δθ)+Δx;
y″=x′×sin(Δθ)-y′×cos(Δθ)+Δy;
其中(x′,y′)是旋转平移前的坐标,(x″,y″)是旋转平移后的坐标;
(2.2)公共有效区域提取:
记注册指纹r和申请指纹t配准后的有效区域分别为Rr、Rt,设以r为基准,t向r旋转平移,则公共有效区域为Rc=Rr∩Rt,其中Rt是由指纹t的有效区域按(2.1)求得的参数(Δx,Δy,Δθ)根据新坐标求取公式旋转平移得到;
(2.3)按(2.1)中公式旋转平移指纹t中所有细节点的坐标,并将其与指纹r中所有细节点进行比对,记录比对成功即距离小于8像素的细节点的对数;
(2.4)计算指纹r,t细节点集合的相似度Mrt,0≤Mrt≤1:
其中count表示比对成功的细节点对数,countr表示指纹r在两幅指纹公共有效区域内的细节点个数,countt表示指纹t在两幅指纹公共有效区域内的细节点个数,Th为经验阈值,取为12;
(2.5)输出Mn′=1-Mn作为细节点比对的比对值,比对值大小在0和1之间,比对值越小表明匹配程度越高;
(3)密度图比对值计算
(3.1)对于两枚待比对的图像,分别通过各自的密度图特征,包括有效区域和多项式系数,恢复他们各自的密度图;
(3.2)设A,B分别为两幅已经通过细节点的配准结果进行配准的指纹的密度图,相交区域内各自点集中各点的值用A(i,j)|(i,j)∈C,B(i,j)|(i,j)∈C表示,其中C代表A和B相交的区域;
(3.3)按下式计算两幅密度图A,B的距离ε1(A,B):
其中,N表示C中的总点数;
(3.4)按下式将ε1(A,B)标准化得到比对值ε(A,B):
其中,th为预先给定的阈值,在实验中,我们取th=2.5;
(4)用分类器进行决策融合:
首先定义w1类事件为输入指纹与参考指纹属于同一个手指的情况;w2类事件为输入指纹与参考指纹实际上属于不同手指的事件;
(4.1)概率密度估计过程:
令:
P(X1|w1)表示:属于w1类的指纹对,用细节点比对结果为X1的概率密度;
P(X2|w1)表示:属于w1类的指纹对,用密度图比对结果为X2的概率密度;
P(X1|w2)表示:属于w2类的指纹对,用细节点比对结果为X1的概率密度;
P(X2|w2)表示:属于w2类的指纹对,用密度图比对结果为X2的概率密度;
其中
N′为训练样本个数,及相应的比对结果的个数,四组数据数量推荐均在2000以上,这些比对是离线进行的;hN为窗宽,取为0.02;x分别取0,0.01,0.02,…,1,即将相似度的区间[0,1]100等分,分别按照上式计算P(X1|w1)、P(X2|w1)、P(X1|w2)和P(X2|w2)这四个量计算中存储为四个包含101个元素的数组,用float型,需4字节存储,共需要1616字节;最后写成文件;
(4.2)在线决策过程:
按照细节点和密度图比对得出的比对结果(X1′,X2′),从存储概率密度的文件中读取相应的数值,计算出联合概率密度:
P(X1′,X2′|w1)=P(X1′|w1)P(X2′|w1),
P(X1′,X2′|w2)=P(X1′|w2)P(X2′|w2),
运用下述决策规则进行决策:
若
则判定指纹属于同一手指;
若
则判定指纹属于不同手指;
其中λ是决策阈值,设置λ等于1400。
本发明方法利用指纹密度图作为新的指纹表示的特征,将密度图用多项式模型表达,只需存储少量参数;在指纹识别时将细节点和密度图模型参数一同使用,所需增加的存储空间远远小于背景技术中提到的方法,而且特征更稳定可靠。
本发明提出的这种关于指纹密度图的特征在特征提取和比对上所花的计算量都不高,在特征存储方面也能达到实用性要求,融合后的方法和常规方法相比,计算时间上只需要额外的0.2秒左右,存储空间上只需要额外的90字节,可见其实用性很强。
实验证明,在相同错误接受率下,其错误拒绝率大为降低。
本发明针对质量较差的指纹,例如手指干燥、暂时性破损(如伤疤、破皮等),我们采用指纹密度图特征作为细节点特征的有效补充,能够在很大程度上提高指纹识别的效果。目前,在所有可以查到的专利或发表文献中,尚没有发现类似的报道和专利。
附图说明
图1.是多特征指纹识别系统的组成;
图2.是指纹多特征提取的流程;
图3.有效区域提取示意图:
3(a)原始指纹图像;
3(b)原始有效区域;
3(c)16边形近似的有效区域;
图4.Sobel算子
4(a)水平算子;
4(b)垂直算子;
图5.细节点示意图;
图6.索引计算说明
图7.细化表
图8.细化的八个例子;
图9.密度图特征提取:
9(a)脊线密度的定义;
9(b)(c)脊线密度的求取示意图;
图10.细节点提取各步骤的中间结果
10(a)指纹原图;
10(b)有效区域;
10(c)方向场;
10(d)增强图;
10(e)背景细化;
10(f)前景细化;
10(g)细节点提取结果;
10(h)原始密度图提取结果;
10(i)密度图模型恢复图;
图11.是单纯使用细节点和使用多特征的系统性能对比。
具体实施方式:
我们的发明可以在普通PC计算机上实现,对操作系统没有要求。
下面详细描述基于多特征的指纹识别算法。特征提取阶段的主要步骤包括:有效区域提取,方向场估计,图像处理与增强,细节点提取,密度图特征提取;特征比较即识别阶段的主要步骤包括:细节点比对,密度图比对,决策融合。其中,有效区域提取、方向场估计、图像处理与增强、细节点提取和细节点比对等各步都可采用传统的方法进行。下面对各步骤逐一介绍。总的流程图参见图1,图2通过一个具体例子介绍整个流程的各部分的结果。
特征提取:
一、有效区域提取
通过取指器采集到的原始指纹图中指纹部分并不是充满全图,含有指纹的部分图像在指纹识别中才有意义,称为有效区域。将原始图像分割为大小为(4×4)的方格,对每个这样的方格,计算这一区域内所有象素的灰度值的均值与方差,只有两者均满足各自条件时才认为该点处于有效区域。其中均值和方差的计算依靠下面的公式:
这里,Iavg(i,j),Var(i,j)分别表示在以点(i,j)为左上角的方格的灰度均值和方差,I(i+x,j+y)为(i+x,j+y)点的图像灰度值。要求当th1<Iavg(i,j)<th2且Var(i,j)>th3时,标记该方格为有效,标记为1。其中,阈值选择为:th1=20;th2=220;th3=6。
对图像上所有的方格进行上述操作,为了去掉噪声影响,需要进行后处理:
1、3×3滤波,具体做法就是检查包含被检测点在内的其3×3邻域内的9个点,如果只有该点是有效的,其他都是无效的,那么认为该点为噪声,更改标记为0(表明无效);如果只有该点是无效的,其他都是有效的,那么认为该点为有效点,更改标记为1(表明有效)。
2、去掉有效区域中间的“洞”,方法是逐行扫描,填补图像中最左边和最右边的有效点之间的所有无效点,将其标记为有效1;逐列扫描,填补图像中最上边和最下边的有效点之间的所有无效点,将其标记为有效1。
这样就得到了有效区域(长宽分别为原图的1/4)。如图3(b)所示。
在基于密度图的比对中,有效区域起着重要的作用,因此需要进行保存。为节省存储空间,我们采用一个十六边形来近似表示指纹图像有效区域。具体操作如下:
求出真实有效区域的质心(x0,y0):
其中,E代表有效区域,N代表有效区域内的点数。
从质心(x0,y0)处等角度的向四周16个方向(分别为0,π/8,π/4,…,15π/8)引射线,求出这些射线与有效区域外边界的交点。具体实现的时候,只要检查射线上的点由有效变成无效,则说明该点为边界交点。我们只需要存储这些交点的坐标,即十六边形的顶点,就可以恢复出近似的有效区域,如图3(c)。
由图3可以看出,用这种方法表示的有效区域与真实有效区域基本一致。实验结果也表明,两者的差别对后面的比对影响极小。图10(b)是整个流程的中间结果。
二、方向场估计
方向场是表示指纹脊线走向的一幅图像,其中每点的数值代表了指纹图像中对应点的局部脊线方向。方向图刻画了指纹的全局信息,在指纹识别中起着重要的作用。本方法中采用的是基于梯度统计的金字塔形算法,效果如图10(c)所示。算法如下:
1、利用Soble算子的水平方向算子Sx和竖直方向算子Sy(见图4)求取点(x,y)的灰度梯度:
水平方向:
竖直方向:
其中I(i,j)为(i,j)点的灰度值。
2、把指纹图划分成大小为
W×
W的方格,
W=7,再依次进行以下步骤:
2.1用下式求取每一方格对应的局部方向θ
2.2计算方向场一致性水平:
其中,Ω是第(i,j)方格的邻域,取为5×5,N是Ω中所含方格的个数,N=25。θ(i′,j′)和θ(i,j)分别为第(i′,j′)和第(i,j)方格的局部方向;
若E0>Tc,则令
W=1.5
W,重新估计Ω中各方格的方向,重复步骤(2.1)和(2.2)。
直至E0≤Tc。这里Tc=1.5。
三、图像增强
图像增强算法采用Gabor滤波方法,即根据各点方向场取值,用Gabor滤波器进行滤波。滤波后效果如图10(d)所示。滤波算法如下:
1、求取指定大小的空域掩膜:
Gabor滤波器空域表达形式为:
θ∈[0,180)为当前点的方向场垂直方向,x掩,y掩为掩膜中各点相对于掩膜中心点的坐标,δx′=δy′=5.0,f=0.6,空域掩膜大小为7×7像素。由于对于相同的θ,空域掩膜是相同的。所以可以在滤波之前将空域掩膜一次求取完成并存储下来,以减少不必要的重复计算。
2、自适应滤波:
对于指纹图像中的点(i,j),假设输入指纹灰度图像为I(x,y),θ为(i,j)点方向场方向垂直的方向,则用上述滤波器滤波如下:
然后按下式求取一个数值:
其中L=12为统计数据区域长度,D=2为统计步长,进行脊线提取:如果F(i,j)>flag(i,j),则(i,j)点位于谷(背景),否则位于脊(前景)。
四、细节点提取
细节点提取的方法有多种,我们只举出一种常用的算法,将本算法换成其他算法对本发明仍然有用。
细节点可分为两种,一种是脊线的端点,另一种是脊线的分岔点。如图5所示。细节点的提取方法我们采用的是基于细化图的方法。分别对前景和背景进行细化,得到两张细化图。最终结果如图10(e)(f)所示。
具体的细化方法如下:
对增强后的指纹图像,我们将其二值化(直接选择阈值为128即可)。每个点取值为1或者0,1表示前景;0表示背景。细化的目标就是考察每一个值为1的点,根据其8邻域的取值来决定是否将这个待考察的点置为0(即将该点变成背景),通过对全图的几次遍历,不断将一些前景(值为1)的点变成背景点,从而达到细化的目的。
我们根据待测点8邻域的不同状态来决定待测点的“去”或“留”。这8个邻域点的所有可能取值组合有28=256种(每个点只能取1或者0)。我们将每种可能设定为一条规则对应结果为“1”(保留)或“0”(去除),规则设定的原则是保持原图的骨架。对于指纹脊线细化,我们定义的骨架,可以理解为图像的中轴,例如一个长方形的骨架是它的长方向上的中轴线,圆的骨架是它的圆心,环的骨架是类似圆的封闭曲线,直线的骨架是它自身,孤立点的骨架也是自身。不同应用场合,对骨架的定义可能有不同,我们通过几个例子说明,图8中给出了几个例子,其中:(1)不能删,因为它是个内部点,如果删去,就没有了骨架;(2)不能删,这是一个特殊要求,尽量保留直线;(3)不能删,这点是骨架,删掉后,改变拓扑结构;(4)不能删,因为删掉后,原来相连的部分断开,改变拓扑结构;(5)不能删,因为它是直线的端点;(6)可以删,该点不是骨架;(7)不能删,该点是骨架;(8)可以删,该点不是骨架。我们简单总结一下,有如下的判据:(1)直线端点不能删除;(2)改变拓扑结构的点不能删除,例如内部点不能删除、孤立点不能删除等。
对所有情况按照上面的例子总结,可以得到256个规则,将其结果编码为一张表(其实就是一个1维数组,标记0~255,共256个元素),每个待测点的8邻域的值对应一个0到255的数,将这个数作为索引,查表中对应的值,如果是1表示保留;0表示该点被去掉(即将这个待测点的值置为0)。
索引方法如图6,Aij代表8个邻域中的点,索引定义为:
index=A32×20+A31×21+A21×22+A11×23
+A12×24+A13×25+A23×26+A33×27;
按照索引值找到表table中对应的元素table[index],其中索引值index的取值范围在[0,255]内的整数,如果table[index]为1,则保留该点(值不变);如果为0,则将该点置0。我们采用的表如图7所示。我们从图8中选出两个图作为示例:
图8(2):中心(待测)点不能删,因为:
index=1×20+0×21+0×22+0×23+1×24+0×25+1×26+0×27=81,
table[81]=1,所以表示该点不能去掉。
图8(8):中心(待测)点可以删,因为:
index=1×20+1×21+0×22+0×23+0×24+0×25+0×26+0×27=3,
table[3]=0,所以表示该点可以去掉。
我们总结一下细化的步骤:
第一步,给出索引方法,例如按照图6中设定的方法;
第二步,根据规则给出索引表,例如按照图7中设定的表;
第三步,遍历全图所有值为1的点,计算索引,判断是否保留;
第四步,如果第三步没有去掉任何点,则下一步,否则重复第三步。
第五步,后处理,我们将在下面详细介绍:
求出细化图后的操作如下:
I,按照细化图,初步确定细节点中的端点(本身为1且周围8个点中有且仅有一个点为1)和分岔点(本身为1且周围8个点中有且仅有三个点为1)。
II,沿着细节点生长,对细节点进行后处理:
(a),对于端点,如果在其12×12的邻域内有另一个端点的方向与之接近(角度差小于Tha=30度),则将这两个端点都去掉;
(b),将形成环形的邻近分叉点连接起来,对于一个分叉点,如果在其12×12的邻域内有另一个分叉点的方向与之接近(角度差小于Tha=30度),则将这两个端点都去掉;
(c),去除一些小短棒对应的两个端点,对于一个端点,如果沿着它所在脊线经过12个像素之内就碰到另一个端点,则将两个端点都去掉;
III,筛除方向与该点方向场角度差大于30度的特征点。如图10(g)所示为细节点提取结果。
五、密度图特征提取
首先我们给出在增强图中某一给定点处的脊线密度的定义:作垂直于该点在方向场中对应方向的直线,与两条相邻脊线相交,该直线处于两条脊线上的两条线段各自中点之间的距离即为该点脊线密度,如图9(a)所示,点P处的脊线密度即为线段AB的长度d,其中A、B分别是两条线段(图中粗线所示)的中心。所谓脊线密度图就是遍历图像有效指纹区域的所有点求出的脊线密度分布图。显然,脊线密度图可以反映指纹脊线纹理的疏密程度及其分布。
1、原始密度图的提取:
在二值化后的增强图的基础上,遍历有效区域内的所有点,设脊线灰度为0,背景灰度为1,对每个点求取脊线密度。对于P点的脊线密度的求取方法为:
1)对有效区域内某一点P,首先通过方向场取得P点处的方向,如果P点灰度值为0,表明P点处于脊线上,进入2),否则进入3);
2)沿垂直于P点方向的直线从P点开始分别向两边遍历,直到探测到灰度为1的点,记作A1、A2,即脊线的边界点;向距离P点距离近的边界点(即A1、A2其中之一)一侧方向继续遍历,直到探测到灰度为0的点(B1),即到达相邻脊线,继续遍历直到探测到灰度为1的点(B2),如图9(b)所示,进入4);
3)沿垂直于P点方向的直线从P点开始分别向两边遍历,直到探测到灰度为0的点,分别记作A1,B1,即脊线的边界点,分别继续遍历,直到探测到灰度为1的点,分别记作A2,B2,如图9(c)所示,进入4);
4)求取相邻两条脊线各自在沿垂直于P点方向的直线上的线段的中心点,分别记作A和B,其中,A为A1、A2的中点,B为B1、B2的中点,线段A和B之间的距离就是P点处的脊线密度。我们将得到的结果图用Rraw表示。
对原始脊线密度图我们进一步采用3×3的中值滤波器进行一次平滑处理,去掉一些不合理的值(噪声),以方便后续处理。所谓中值滤波器,就是在以某一待测点为中心的3×3邻域内,对这9个点的密度值按大小排序,选择排名最中间(也就是第5位)的值作为该待测点滤波后的值。对Rraw中的每个点作中值滤波,得到结果图Rraw′,Rraw′中坐标为(i,j)的点Rraw′(i,j)的求取步骤如下:
1)对Rraw中以点(i,j)为中心的3×3邻域内的9个点,即{Rraw(i+i1,j+j1)}i1=0,1,2;j1=0,1,2进行大小排序;
2)找出排名最中间(也就是第5位)的值,这个值即为所求。
为了减小计算量,我们将滤波后的脊线密度图Rraw′划分为4×4像素大小的方格,对每个方格求平均值,我们将此新图用D表示,其长和宽分别为原图的1/4,其中D图中坐标为(x,y)的点的值D(x,y)为:
图10(h)所示为原始密度图提取结果。
2、密度图建模:
指纹密度图能够反映指纹的全局性信息,而且具有鲁棒性,因此对指纹识别非常重要。对于原始密度图,即使通过上面方法进行平滑滤波,它仍然有几个缺陷:1、鲁棒性差,即求取的时候受噪声影响很大;2、在细节点附近,密度变化不规则,特征不稳定;3、不能直接进行存储,因为需要的空间过大。因此需要对指纹密度图进行建模,这样可以在很大程度上解决上面3个缺陷,使密度图信息更加可靠,并且需要的存储空间也会非常小,我们采用的是多项式模型。
建模的核心思想是采用加权最小二乘的方法,最小化通过多项式拟合生成的密度图和原始的脊线密度图的平方误差来得到多项式系数。具体实现如下:
2.1权重设置:按照对上面的结果图D在3×3邻域内的方差信息作为权重信息依据。
对于点(x,y),我们用Var(x,y)表示该点方差值,w(x,y)表示该点权重,计算D在点(x,y)处的3×3邻域内的均值:
计算D在点(x,y)处的3×3邻域内的方差:
计算点(x,y)处的权重:
w(x,y)=exp(-Var(x,y)/8);
2.2利用公知的加权最小二乘方法,最小化
来求解出二元四次多项式p(x,y)的系数。其中(x,y)是指纹图像D中有效区域中任意一点,w(x,y)为点(x,y)的权重,多项式形式为
其中aij(i=0,…,4;j=0,…,4)就是我们要求的系数;
2.3保存特征aij(i=0,…,4;j=0,…,4)。
图10(i)所示为建模后的密度图结果。
对所有注册指纹进行上述一至五步特征提取操作并将所得特征存入数据库。
特征比较
首先对申请指纹(待测指纹)进行上述的一至五步特征提取操作,然后将其与数据库中注册指纹的特征进行比较。
一、细节点比对
细节点的比对过程分为细节点配准和细节点匹配两个步骤。
由于用于比对的两枚指纹间存在旋转和平移,必须利用细节点配准的方法补偿旋转和平移偏差。我们采用的是基于Hough变换的配准方法。简单解释为:将两个指纹的各自的细节点分别构成两个点集(各有M和N个细节点),从两个点集中各选一个细节点分别表示为(x1,y1,θ1)和(x2,y2,θ2),利用它们之间的坐标、方向可以求出一个平移量和旋转量: Δθ=θ2-θ1。遍历所有细节点对(共M×N对),将所有的平移和旋转量进行投票,即统计(Δx,Δy,Δθ)出现的次数,得票最高的平移旋转量就是最终使用的平移旋转量,同时记录得票数vote。
用下面的公式计算平移旋转后的新坐标:
x″=x′×cos(Δθ)-y′×sin(Δθ)+Δx;
y″=x′×sin(Δθ)-y′×cos(Δθ)+Δy;
其中(x′,y′)是旋转平移前的坐标,(x″,y″)是旋转平移后的坐标。
将两枚指纹有效区变换之后就可以计算两枚指纹(记为r,t,并假设r为基准,t向r旋转平移)之间的公共有效区域。求取方法如下:设两幅配准好的指纹有效区域分别为Rr、Rt,则公共有效区域为R=Rr∩Rt,其中Rt是由指纹t的未配准的有效区域按上面求得的参数(Δx,Δy,Δθ)根据新坐标求取公式旋转平移得到,实际上是旋转平移了十六个顶点的坐标。
对于这两枚已经配准好的指纹,进行细节点比对。最终得出的是0~1之间的一个数,表示两枚指纹细节点集合的相似度。当两幅配准好的指纹图中的两个细节点距离小于某一阈值(取为8像素)时,认为这两个点比对成功,匹配成功点对计数加1。最终可以求出:
其中count表示比对成功的细节点对数,countr表示指纹r在两幅指纹公共有效区域内的细节点个数,countt表示指纹t在两幅指纹公共有效区域内的细节点个数。Th为经验阈值,取为12。为了后面融合方便,我们令Mn′=1-Mn为细节点方法的比对结果作为输出,这样,比对值大小在0和1之间,比对值越小表明匹配程度越高,即0代表完全匹配,而1代表完全不匹配。
二、密度图比对
对两个待比对的指纹图像,分别通过各自的密度图特征(包括有效区域特征和多项式系数)恢复其各自的密度图,我们利用细节点的配准结果进行两幅图的配准,记作A和B,设C代表A和B相交的区域,N表示C中的总点数,则基于密度图的指纹比对分数由下式给出:
其中A(i,j),B(i,j)分别表示图A和B中点(i,j)处的值。
为了便于融合,我们将比对值进行标准化,根据经验和实验结果,我们采用了简单的非线性函数将ε1(A,B)标准化到[0,1],即下面的公式:
其中,th为预先给定的阈值,在实验中,我们取th=2.5。
根据上式得到的比对值大小在0和1之间,比对值越小表明匹配程度越高,即0代表完全匹配,而1代表完全不匹配。
三、决策融合
在分别利用细节点和密度图对指纹进行比对后,通过分类器融合可以得到最终的识别结果。这两种特征从不同的方面刻画了指纹:细节点刻画了指纹局部的脊线分布特征;密度图刻画了指纹全局的脊线疏密分布。因此,它们的融合可以形成对指纹的更好的特征表示。在识别阶段,由它们构造的分类器相辅相成,互为补充,例如:基于密度图的识别,可以克服传统的基于细节点的识别方法由于伪细节点过多而造成的误识别(特别是将正确匹配的识别为不匹配);细节点方法本质是点集的比对,对纹理很不敏感,密度图特征能在这方面对其给出有效的补充。
我们在6616幅指纹数据库上的实验表明,融合可以大幅度提高指纹识别的准确性和鲁棒性。决策融合的具体方法很多,我们采用的融合策略如下:
设采用细节点和密度图进行识别的输出分别为X1,X2(两个数),这两个识别过程可以看为两个分类器,假设它们是相互独立的,即X1,X2相互独立,则它们的联合概率密度可以利用两个分类器的概率密度相乘得到:
P(X1,X2|w1)=P(X1|w1)P(X2|w1),
P(X1,X2|w2)=P(X1|w2)P(X2|w2),
其中,P(X1,X2|w1)表示在样本(X1,X2)(即一个输入指纹与一个参考指纹之间的两个比对结果)属于w1类(即输入指纹与参考指纹实际上属于同一个手指)时的概率,P(X1,X2|w2)表示在样本(X1,X2)属于w2类(即输入指纹与参考指纹实际上属于不同手指)时的概率。P(X1|w1)表示属于w1类的指纹对,用细节点比对结果为X1的概率密度,P(X2|w1)表示属于w1类的指纹对,用密度图比对结果为X2的概率密度,P(X1|w2)表示属于w2类的指纹对,用细节点比对结果为X1的概率密度,P(X2|w2)表示属于w2类的指纹对,用密度图比对结果为X2的概率密度。
我们可以通过一定数量的训练样本,计算出“真实的指纹比对”和“虚假的指纹比对”的概率分布,即P(X1|w1)、P(X2|w1)、P(X1|w2)和P(X2|w2)。方法采用Parzen窗进行非参数估计,窗函数推荐采用高斯窗,对于一维分布,公式如下:
其中
N′为训练样本个数,视实际数据量而定,推荐2000以上;hN为窗宽,取为0.02;xi为第i个训练样本的比对结果。具体算法如下:
将相似度的[0,1]区间100等分,令上式中的x分别取0,0.01,0.02,…,1(实际计算出的相似度要按照这个精度进行近似),按照上式计算细节点比对相似度的类条件概率密度P(X1|w1)、P(X1|w2)和密度图比对的类条件概率密度P(X2|w1)和P(X2|w2),这四个量计算中存储为四个包含101个元素的数组,用float型(4字节)存储,共需要1616字节。最后写成文件,以用于后面的在线决策融合过程。在线的决策融合只需要从文件中读取相应的数值,计算出联合概率密度即可,不需要在线估计概率密度。
在线应用时,我们在得到两个指纹之间细节点比对的相似度和密度图比对的相似度后,利用已事先估计出的P(X1|w1)、P(X1|w2)、P(X2|w1)和P(X2|w2)得到P(X1,X2|w1)和P(X1,X2|w2)。再采用下面的分类器判断这两个指纹是否属于同一手指(即属于w1类还是w2类):
其中λ为似然比阈值,根据实际要求选择。推荐使用1400。这时错误接受率(即将其他手指的指纹认为是这个手指的)一般在0.005%附近,而错误拒绝率(将同一手指的指纹认为是其他手指的)在15%-25%之间,比单用细节点比对时可以降低15%左右。λ增大会使FAR减小,同时使FRR增大。实际使用中应适当权衡。图11显示了不同λ值下对应的FAR和FRR的值,曲线上每一个点对应一个λ值,曲线越低表明识别效果越好。
Claims (1)
1、基于密度图模型的指纹识别方法,其特征在于,它依次含有以下两个阶段:
注册阶段,计算机在离线状态下对所有注册的指纹进行特征提取和存储,这个阶段依次含有以下步骤:
(1).对计算机进行初始化
设定:以下用定长编码方式存储的特征:
细节点特征,包括它的X坐标、Y坐标和方向角度,每个细节点用3个字节表示,细节点数小于100,最多需用300字节;
有效区域特征:用十六边形表示指纹有效区域边界,存储16个顶点的X坐标、Y坐标,共需32字节表示有效区域链码;
密度图特征:设定增强图中各点的脊线密度作为反映该点指纹脊线纹理的疏密程度的特征,所述一个点的脊线密度是指:作垂直于该点在方向场中对应方向的直线,使它与两条相邻脊线相交,该直线处于两条脊线上的两条线段各自中点之间的距离即为该点脊线密度,用它作为密度图模型参数;采用最小二乘法建模,最小化通过二元四次多项式模型拟合生成的密度图和原始的脊线密度图的平方误差来得到多项式系数,每个多项式有25个参数,保存一个最大值和一个最小值,各用4字节,再把所有参数标准化到0~65535之间,每个参数用2字节存储,共需50字节,合计58字节;
存储以上三个指纹特征共占用390字节;
在指纹有效区域的检测步骤中,对于已经按4×4大小方格分割的原始指纹图像而言,当以点(i,j)为左上角的一个方格内的灰度均值Iavg(i,j)和方差Var(i,j)处于下述范围内,该方格为有效,标记为1,否则无效,标记为0,即
th1<Iavg(i,j)<th2且同时Var(i,j)>th3,
其中th为阈值,th1=20,th2=220,th3=6;
在密度图建模的步骤中,多项式模型中多项式阶次为4;
在图像增强的步骤中,Gabor滤波器空域表达形式G(x掩,y掩,θ)中的参数值δx′=δy′=5.0,f=0.6,空域掩模大小为7×7像素;
(2).计算机通过取指器采集所有注册指纹的原始图像并存储;
(3).检测指纹的有效区域,它依次含有以下步骤:
(3.1)把原始图像分割成大小为4×4像素的方格;
(3.2)计算机按下式计算以点(i,j)为左上角的一个方格内的灰度均值Iavg(i,j)和方差Var(i,j):
其中I(i+x,j+y)为(i+x,j+y)点的图像灰度值;
(3.3)计算机按下式判断上述每一个方格是否有效:
若th1<Iavg(i,j)<th2且同时Var(i,j)>th3,则该方格有效,标记为1,否则为0;
(3.4)去噪声处理
(3.4.1)对上述图像进行3×3滤波,即对图像上所有的点,检查其3×3邻域内9个点,若只有该点是有效的,而其它8个点是无效的,则该点判断为噪声,标记改为0;若只有该点是无效的,而其他8个点是有效的,则该点标记改为1;
(3.4.2)去掉有效区域中的“洞”:即逐行对上述图像扫描,填补最左边和最右边的有效点之间的所有无效点,把它们标记为有效;逐列扫描,填补最上边和最下边的有效点之间的所有无效点,把它们标记为有效;
这样得到了指纹图像的有效区域,长、宽分别为原图的1/4;
(3.5)求取真实的有效区域的质心(x0,y0):
其中,E代表有效区域,N代表有效区域内的点数;
(3.6)从质心(x0,y0)处等角度地向四周16个方向引射线,求出这些射线与有效区域外边界的交点,并存储;
(4).用基于梯度统计的金字塔形算法进行方向场估计,它依次含有以下步骤:
(4.1)利用Soble算子的水平方向算子Sx和竖直方向算子Sy求取点(x,y)的灰度梯度:
水平方向:
竖直方向:
I(i,j)为(i,j)点的灰度值;
(4.2)把指纹图划分成大小为
W×
W的方格,
W=7,再依次进行以下步骤:
(4.2.1)用下式求取每一方格对应的局部方向θ:
(4.2.2)计算方向场一致性水平:
其中,D是第(i,j)方格的邻域,取为5×5,N是D中所含方格的个数,N=25;θ(i′,j′)和θ(i,j)分别为第(i′,j′)和第(i,j)方格的局部方向;
若E0>Tc,则令
W=1.5
W,重新估计D中各方格的方向,重复步骤(4.2.1)和(4.2.2);直至E0≤Tc,这里Tc=1.5;
(5).用Gabor滤波方法增强图像,其步骤如下:
(5.1)Gabor滤波器空域表达形式为:
θ∈[0,180)为当前点的方向场垂直方向,x掩,y掩为掩膜中各点相对于掩膜中心点的坐标,δx′=δy′=5.0,f=0.6,空域掩膜大小为7×7像素;
(5.2)自适应滤波:
假设输入指纹灰度图像为I(x,y),θ为(i,j)点方向场方向垂直的方向,则用上述滤波器滤波如下:
然后按下式求取一个数值
其中L=12为统计数据区域长度,D=2为统计步长,进行脊线提取:如果F(i,j)>flag(i,j),则(i,j)点位于谷,即背景,否则位于脊,即前景;
(6).基于细化图的细节点提取和存储,它依次包含以下步骤:
(6.1)在保持原图的骨架即不改变拓扑结构和不删除直线端点的前提下,根据以待测点为中心的8邻域的不同状态来决定待测点的“去”或“留”,“去”用“0”表示,“留”用“1”表示;
(6.2)建立1维索引表table,标记索引为0~255,共256个元素,每个元素取1表示保留,0表示去掉;
(6.3)遍历有效区域内所有点,考察其8邻域,对所有排列组合通过下面的公式映射到0~255之间:
index=A32×20+A31×21+A21×22+A11×23
+A12×24+A13×25+A23×26+A33×27;
其中,Aij代表8个邻域中的点的值,然后通过查询索引表中索引值为index的元素即table[index],决定该待测点是否保留或者去掉;
(6.4)重复(6.3)直到没有被去掉的点出现;
(6.5)细化后处理:
(6.5.1),按照细化图,初步确定细节点中的端点,即本身为1且周围8个点中有且仅有一个点为1,和分岔点,即本身为1且周围8个点中有且仅有三个点为1;
(6.5.2),沿着细节点生长,对细节点进行后处理:
(a),对于端点,如果在其12×12的邻域内有另一个端点的方向与之接近,即角度差小于Tha=30度,则将这两个端点都去掉;
(b),将形成环形的邻近分叉点连接起来,对于一个分叉点,如果在其12×12的邻域内有另一个分叉点的方向与之接近,即角度差小于Tha=30度,则将两者都去掉;
(c),去除一些小短棒对应的两个端点,对于一个端点,如果沿着它所在脊线经过12个像素之内就碰到另一个端点,则将两个端点都去掉;
(6.5.3),筛除方向与该点方向场角度差大于30度的特征点;
(7).密度图特征提取和存储,它依次包含以下步骤:
(7.1)原始密度图的提取:遍历二值化后的增强图上有效区域内的所有点,设脊线灰度为0,背景灰度为1,按以下步骤求取各点的脊线密度:
(7.1.1)对有效区域内某一点P,通过方向场取得该点处的方向,如果该点灰度值为0,则执行步骤(7.1.2),否则执行步骤(7.1.3);
(7.1.2)沿垂直于P点方向的直线从P点开始分别向两边遍历,分别一直探测到灰度由0变1的点,即脊线的边界点;向距离P点距离近的边界点一侧的方向继续遍历,直到探测到灰度由1变0的点,即到达相邻脊线,继续遍历直到探测到灰度由0变1的点,执行步骤(7.1.4);
(7.1.3)沿垂直于P点方向的直线从P点开始分别向两边遍历,直到探测到灰度由1变0的点,即脊线的边界点,分别继续遍历,直到探测到灰度由0变1的点,找到脊线另一侧的边界点;
(7.1.4)求取相邻两条脊线各自在沿垂直于P点方向的直线上的线段的中心点,其中,这两个中心点之间的距离就是P点处的脊线密度;
(7.1.5)由此对二值化后的增强图上有效区域内的所有点按步骤(7.1.1)~(7.1.4)来求取每点的脊线密度,得到一张原始脊线密度图,用Rraw表示;
(7.1.6)对上述原始脊线密度图采用3×3的中值滤波器进行一次平滑滤波:
(7.1.6.1)对原始脊线密度图中以点(i,j)为中心的3×3邻域内的9个点,
即{Rraw(i+i1,j+j1)}i1=0,1,2;j1=0,1,2按照脊线密度值进行大小排序,选择其中排名最中间的值作为该待测点(i,j)的滤波后的值;
(7.1.6.2)对原始脊线密度图中的所有点按步骤(7.1.6.1)进行处理,这样各点都对应一个滤波值,所有滤波值就构成滤波后的密度图,用R′raw表示;
(7.1.7)把上述(7.1.6)得到的滤波后的脊线密度图R′raw划分为4×4像素大小的方格,对每个方格求平均值,我们将此新图用D表示,其长和宽分别为原图R′raw的1/4,其中D图中坐标为(x,y)的点的值D(x,y)为:
(7.2)密度图建模,依次含有以下步骤:
(7.2.1)权重设置:对于图D上点(x,y)处的权重为w(x,y),计算机可用下面步骤计算:
(7.2.1.1)计算D在点(x,y)处的3×3邻域内的均值Davg(x,y):
(7.2.1.2)计算D在点(x,y)处的3×3邻域内的方差Var(x,y):
(7.2.1.3)计算点(x,y)处的权重w(x,y):
w(x,y)=exp(-Var(x,y)/8);
aij,i=0,…,4;j=0,…,4即为多项式系数;
(7.2.3)保存特征aij,i=0,…,4;j=0,…,4;
(8)对所有注册指纹进行上述特征提取操作(1)~(7)并将所得到的有效区域16边形顶点和多项式系数,特征存入数据库;
验证阶段,依次含有以下步骤:
(1)计算机对每个输入的指纹按照上述(1)~(7)进行特征在线提取操作
(2)细节点比对值计算
(2.1)用基于Hough变换的细节点配准方法补偿旋转和平移偏差,即把两个指纹各自的细节点分别构成各自含有M和N个细节点的点集,从两个点集中各选一个细节点分别表示为(x1,y1,θ1)和(x2,y2,θ2),利用它们之间的坐标、方向求出一个平移量: 一个旋转量:Δθ=θ2-θ1,遍历所有M×N对细节点对,统计(Δx,Δy,Δθ)出现的次数,得票最高的平移旋转量就是最终使用的平移旋转量,同时记录得票数vote;
用下面的公式计算平移旋转后的新坐标:
x″=x′×cos(Δθ)-y′×sin(Δθ)+Δx;
y″=x′×sin(Δθ)-y′×cos(Δθ)+Δy;
其中(x′,y′)是旋转平移前的坐标,(x″,y″)是旋转平移后的坐标;
(2.2)公共有效区域提取:
记注册指纹r和申请指纹t配准后的有效区域分别为Rr、Rt,设以r为基准,t向r旋转平移,则公共有效区域为Rc=Rr∩Rt,其中Rt是由指纹t的有效区域按(2.1)求得的参数(Δx,Δy,Δθ)根据新坐标求取公式旋转平移得到;
(2.3)按(2.1)中公式旋转平移指纹t中所有细节点的坐标,并将其与指纹r中所有细节点进行比对,记录比对成功即距离小于8像素的细节点的对数;
(2.4)计算指纹r,t细节点集合的相似度Mrt,0≤Mrt≤1:
其中count表示比对成功的细节点对数,countr表示指纹r在两幅指纹公共有效区域内的细节点个数,countt表示指纹t在两幅指纹公共有效区域内的细节点个数,Th为经验阈值,取为12;
(2.5)输出Mn′=1-Mn作为细节点比对的比对值,比对值大小在0和1之间,比对值越小表明匹配程度越高;
(3)密度图比对值计算
(3.1)对于两枚待比对的图像,分别通过各自的密度图特征,包括有效区域和多项式系数,恢复他们各自的密度图;
(3.2)设A,B分别为两幅已经通过细节点的配准结果进行配准的指纹的密度图,相交区域内各自点集中各点的值用A(i,j)|(i,j)∈C,B(i,j)|(i,j)∈C表示,其中C代表A和B相交的区域;
(3.3)按下式计算两幅密度图A,B的距离ε1(A,B):
其中,N表示C中的总点数;
(3.4)按下式将ε1(A,B)标准化得到比对值ε(A,B):
其中,th为预先给定的阈值,在实验中,我们取th=2.5;
(4)用分类器进行决策融合:
首先定义w1类事件为输入指纹与参考指纹属于同一个手指的情况;w2类事件为输入指纹与参考指纹实际上属于不同手指的事件;
(4.1)概率密度估计过程:
令:
P(X1|w1)表示:属于w1类的指纹对,用细节点比对结果为X1的概率密度;
P(X2|w1)表示:属于w1类的指纹对,用密度图比对结果为X2的概率密度;
P(X1|w2)表示:属于w2类的指纹对,用细节点比对结果为X1的概率密度;
P(X2|w2)表示:属于w2类的指纹对,用密度图比对结果为X2的概率密度;
其中
N′为训练样本个数,及相应的比对结果的个数,四组数据数量推荐均在2000以上,这些比对是离线进行的;hN为窗宽,取为0.02;x分别取0,0.01,0.02,…,1,即将相似度的区间[0,1]100等分,分别按照上式计算P(X1|w1)、P(X2|w1)、P(X1|w2)和P(X2|w2)这四个量计算中存储为四个包含101个元素的数组,用float型,需4字节存储,共需要1616字节;最后写成文件;
(4.2)在线决策过程:
按照细节点和密度图比对得出的比对结果(X1′,X2′),从存储概率密度的文件中读取相应的数值,计算出联合概率密度:
P(X1′,X2′|w1)=P(X1′|w1)P(X2′|w1),
P(X1′,X2′|w2)=P(X1′|w2)P(X2′|w2),
运用下述决策规则进行决策:
若
则判定指纹属于同一手指;
若
则判定指纹属于不同手指;
其中λ是决策阈值,设置λ等于1400。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100689773A CN100347719C (zh) | 2004-07-15 | 2004-07-15 | 基于密度图模型的指纹识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100689773A CN100347719C (zh) | 2004-07-15 | 2004-07-15 | 基于密度图模型的指纹识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1595428A CN1595428A (zh) | 2005-03-16 |
CN100347719C true CN100347719C (zh) | 2007-11-07 |
Family
ID=34666778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100689773A Expired - Fee Related CN100347719C (zh) | 2004-07-15 | 2004-07-15 | 基于密度图模型的指纹识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100347719C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145062A1 (zh) * | 2009-06-16 | 2010-12-23 | Tsaj Ang-Rong | 一种基于指纹信息的优势评测系统 |
US9342731B1 (en) | 2015-03-26 | 2016-05-17 | Effat University | System and method for identification of fingerprints |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100412883C (zh) * | 2006-03-23 | 2008-08-20 | 北京中控科技发展有限公司 | 指纹识别方法与系统 |
CN101399962B (zh) * | 2007-09-28 | 2010-12-01 | 北京视博数字电视科技有限公司 | 数字视频分发系统及方法 |
CN101399961B (zh) * | 2007-09-28 | 2010-10-20 | 北京视博数字电视科技有限公司 | 数字指纹嵌入方法、数字视频分发系统及方法 |
CN101408932B (zh) * | 2008-04-11 | 2012-06-20 | 浙江师范大学 | 一种基于指纹结构特征与纹理分析的指纹图像匹配方法 |
CN100592323C (zh) * | 2008-07-01 | 2010-02-24 | 山东大学 | 面向图像质量的指纹识别方法 |
CN101329723B (zh) * | 2008-08-04 | 2010-06-02 | 南京理工大学 | 指纹核心点快速鲁棒定位方法 |
CN101576999B (zh) * | 2009-06-01 | 2012-10-17 | 杭州晟元芯片技术有限公司 | 一种指纹图像方向增强方法 |
CN101853382B (zh) * | 2010-05-18 | 2012-08-15 | 清华大学 | 一种求取现场指纹方向的方法和装置 |
TWI437501B (zh) * | 2010-11-26 | 2014-05-11 | Egis Technology Inc | 基於生物特徵之身分驗證裝置及其方法 |
CN102073856A (zh) * | 2011-01-20 | 2011-05-25 | 邵明省 | 一种基于频率能量差别的指纹识别 |
CN102136074B (zh) * | 2011-03-03 | 2012-09-26 | 浙江农林大学 | 一种基于mmi的木材图像纹理分析与识别方法 |
JP2013054541A (ja) * | 2011-09-05 | 2013-03-21 | Sony Corp | 情報処理装置、情報処理方法、およびプログラム |
CN102708364B (zh) * | 2012-05-31 | 2014-08-20 | 西安电子科技大学 | 基于分级分类器的指纹图像分类方法 |
CN103942756B (zh) * | 2014-03-13 | 2017-03-29 | 华中科技大学 | 一种深度图后处理滤波的方法 |
CN104239871B (zh) * | 2014-09-26 | 2017-06-16 | 四川大学 | 一种基于最优四边形的快速指纹匹配方法 |
CN104866815B (zh) * | 2015-04-23 | 2018-11-30 | 杭州电子科技大学 | 基于图像空域特征的指纹核点精确定位方法 |
CN105718214B (zh) * | 2015-10-21 | 2019-02-26 | 深圳芯启航科技有限公司 | 指纹掩膜图像的存取方法及装置 |
CN105550650B (zh) * | 2015-12-10 | 2018-11-06 | 东莞酷派软件技术有限公司 | 一种指纹安全保护方法与系统 |
CN106156722B (zh) * | 2016-04-18 | 2019-03-01 | 闽南师范大学 | 一种基于脊线的指纹图像分割方法 |
CN106326869B (zh) * | 2016-08-26 | 2021-01-12 | Oppo广东移动通信有限公司 | 指纹识别方法、装置和移动终端 |
CN106776884B (zh) * | 2016-11-30 | 2021-04-20 | 江苏大学 | 一种基于多标签组合多分类器的恐怖行为预测方法 |
CN107067382A (zh) * | 2017-05-11 | 2017-08-18 | 南宁市正祥科技有限公司 | 一种改进的图像边缘检测方法 |
CN107909031B (zh) * | 2017-11-15 | 2021-06-08 | 张威 | 一种犯罪现场指纹纹线遗留区域频度动态重建方法 |
CN108304126A (zh) * | 2017-12-20 | 2018-07-20 | 努比亚技术有限公司 | 一种消息通知显示方法、终端及计算机可读存储介质 |
CN110163060B (zh) * | 2018-11-07 | 2022-12-23 | 腾讯科技(深圳)有限公司 | 图像中人群密度的确定方法及电子设备 |
CN113011284B (zh) * | 2021-03-01 | 2023-05-26 | 杭州景联文科技有限公司 | 一种签名指印的识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2310522A (en) * | 1993-04-21 | 1997-08-27 | Matsumura Electronics Kk | Fingerprint identification system |
CN1421815A (zh) * | 2001-11-29 | 2003-06-04 | 田捷 | 基于知识的指纹图像增强方法 |
-
2004
- 2004-07-15 CN CNB2004100689773A patent/CN100347719C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2310522A (en) * | 1993-04-21 | 1997-08-27 | Matsumura Electronics Kk | Fingerprint identification system |
CN1421815A (zh) * | 2001-11-29 | 2003-06-04 | 田捷 | 基于知识的指纹图像增强方法 |
Non-Patent Citations (1)
Title |
---|
基于脊跟踪的指纹图细节提取算法 简兵等.电路与系统学报,第6卷第3期 2001 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145062A1 (zh) * | 2009-06-16 | 2010-12-23 | Tsaj Ang-Rong | 一种基于指纹信息的优势评测系统 |
US9342731B1 (en) | 2015-03-26 | 2016-05-17 | Effat University | System and method for identification of fingerprints |
Also Published As
Publication number | Publication date |
---|---|
CN1595428A (zh) | 2005-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100347719C (zh) | 基于密度图模型的指纹识别方法 | |
CN1595425A (zh) | 指纹多特征识别方法 | |
CN1267849C (zh) | 基于断纹检测的指纹识别方法 | |
CN1156791C (zh) | 模式识别设备与方法 | |
CN1305002C (zh) | 多注册指纹融合方法 | |
CN1254769C (zh) | 图像处理方法和装置 | |
CN1159673C (zh) | 从图像中提取管理信息的设备与方法 | |
CN100336071C (zh) | 复杂背景图像中鲁棒的眼睛精确定位方法 | |
CN1213592C (zh) | 采用自适应二值化的图象处理方法和设备 | |
CN1161687C (zh) | 手写体匹配技术 | |
CN1249046A (zh) | 利用指纹及类似印痕的流线比较和解释的身份验证系统和方法 | |
CN100345165C (zh) | 基于图像的超现实主义三维脸部建模的方法和设备 | |
CN1818927A (zh) | 指纹识别方法与系统 | |
CN100347723C (zh) | 基于几何代价与语义-识别代价结合的脱机手写汉字字符的切分方法 | |
CN1664846A (zh) | 基于统计结构特征的联机手写汉字识别方法 | |
CN1140878C (zh) | 字符识别方法,修正方法及字符识别装置 | |
CN1973757A (zh) | 基于舌象特征的病证计算机分析系统 | |
CN1839397A (zh) | 用于处理诸如图像的具有现有拓扑的数据阵列的神经网络和网络应用 | |
CN1794266A (zh) | 生物特征融合的身份识别和认证方法 | |
CN1505431A (zh) | 用于从图象屏识别字符图象的装置和方法 | |
CN1492661A (zh) | 2维码读取装置和读取方法、便携终端及数字照相机 | |
CN1596420A (zh) | 用于学习模式分类和判定值估计的方法和装置 | |
CN100348050C (zh) | 目标检测 | |
CN101052989A (zh) | 图像处理装置、掩模作成方法以及程序 | |
CN1940965A (zh) | 信息处理设备及其控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20071107 Termination date: 20190715 |