CN1267849C - 基于断纹检测的指纹识别方法 - Google Patents

基于断纹检测的指纹识别方法 Download PDF

Info

Publication number
CN1267849C
CN1267849C CN 200410062256 CN200410062256A CN1267849C CN 1267849 C CN1267849 C CN 1267849C CN 200410062256 CN200410062256 CN 200410062256 CN 200410062256 A CN200410062256 A CN 200410062256A CN 1267849 C CN1267849 C CN 1267849C
Authority
CN
China
Prior art keywords
point
sigma
fingerprint
theta
minutiae
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
Application number
CN 200410062256
Other languages
English (en)
Other versions
CN1588424A (zh
Inventor
周杰
吴南南
杨春宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 200410062256 priority Critical patent/CN1267849C/zh
Publication of CN1588424A publication Critical patent/CN1588424A/zh
Application granted granted Critical
Publication of CN1267849C publication Critical patent/CN1267849C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

基于断纹检测的指纹识别方法属于指纹识别领域,其特征在于:它对传统方法提取的细节点用12组最优滤波器进行断纹检测,各滤波器对应于断纹方向与x轴夹角的一个离散值;分别计算12组断纹方向下的滤波值并给定一个统一的下限,得出12组二值化图像,再用矩阵的主元分析法,把其中的带状区域用矩形表示,用矩形的长、宽及方向对该区域参数化;合并各二值化图像得到实际断纹图像,合并各参数化图像得到断纹模型以用于去除虚假细节点。对老龄人群,在相同的错误接受率下,错误拒绝率可以下降10%以上。

Description

基于断纹检测的指纹识别方法
技术领域
本发明涉及指纹识别技术领域,尤其涉及对有断纹的指纹进行处理和识别的技术。
背景技术:
在现代社会中,快速、有效、自动地进行人身辨别的要求日益迫切,重要部门保安、过境控制、移民检查、机密或贵重物品保存场所的进出、防止信用卡欺骗、网络安全等都需要进行可靠的人身鉴别。在身份验证的依据中,钥匙、证件可能会丢失、被盗或复制,密码又容易被忘掉、混淆或被偷看,而生物特征(包括指纹、人脸、手形、手写签名、虹膜等)是人的内在属性,它们不会出现上述情况,因此成为最理想的辨别依据。这其中,指纹识别是应用最普遍、识别率最高、最容易被接受的个人身份认定方法。作为物证之首,指纹识别已有一个非常漫长而且成果丰富的历史。基于计算机的自动指纹识别始于二十世纪60年代,它首先应用在刑事侦破中。近年来,指纹自动识别从刑事应用逐渐推广到考勤、门禁、银行保险箱、社会保险等领域,我国也已初步决定在新一代身份证中引入指纹信息进行个人身份认证。在美国911事件后,基于指纹自动识别的个人身份识别更是得到前所未有的重视。
目前的指纹自动识别方法主要都是基于细节特征的,即提取细节点(指纹中脊线的终结点或交叉点)作为特征来表征指纹图像,通过比对这些特征进行识别。其步骤一般包括:指纹图像采集、方向图提取、图像增强、指纹脊线细化、细节点提取等。围绕着如何更好更快地提取细节点,近二十年来国内外研究单位做出了大量工作,并且现有指纹产品都是基于这种方法的,如美国BAC公司的SecuTouch,日本Sony公司的FIU-500,美国BII公司的Veriprox,韩国Bogo公司的Bogo2000,美国DP公司的U.are.U 2000,美国Identix公司的Biologon等。随着指纹识别应用的推广,现有系统和方法的不足也越来越显现出来。尽管很多产品的宣传和报道中说明它可以达到99%以上,但这一结果是建立在一些前提(如比较高的拒识率)之上的。对于指纹质量不好的人群特别是老年人群,其应用效果则相当差,一般的识别系统都是采用把这种用户拒绝掉的策略。目前世界上人口比例正呈现老龄化,老年人已占到总人口比例的30%,如果解决不好这一问题,指纹识别的推广应用将会受到严重影响。事实上,也正是由于这些原因,指纹识别在社会保险、银行储蓄等应用上都受到了严重制约。可以说,这一问题已成为指纹识别的瓶颈问题。
对于老年人,他们随着年龄的增长,指纹会由于皮肤的皱褶而出现大量的断纹,在应用传统算法时将产生虚假的脊线终结点或交叉点,从而导致很多的虚假细节点,这时识别出错的概率会非常高,严重影响了识别的结果。
本发明针对老年人群指纹大多有断纹这一情况,利用断纹检测来改进指纹识别的效果。
目前,在所有可以查到的专利或发表文献中,尚没有发现类似的报道和专利。
发明内容
本发明的目的是提供一种实用的针对老年人群的指纹识别改进方法,能够对具有断纹的指纹进行处理,能够自动检测出断纹,利用断纹去除一些虚假细节点,从而达到提高传统识别方法效果的目的。
本发明的核心思想是将对传统方法造成影响的断纹通过计算机自动检测出来,再将断纹附近出现的细节点去除。具体而言,断纹检测时主要利用的是断纹在方向上与指纹纹理的方向不一致、而指纹纹理又具有周期性的特点;在利用断纹改进指纹识别时主要采用将断纹附近的细节点去除的策略。
本发明的特征在于,它依次包含有以下两个阶段:
一、学习阶段,计算机在离线状态下对所有注册的指纹进行细节点的提取、存储,再依次对细节点进行断纹检测、去除伪细节点后,建立数据库;它依次含有以下步骤:
(1)对计算机进行初始化
设定下列各初始值:
在指纹有效区域的检测步骤中,对于已经分割成大小为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;
在断纹检测阶段进行多通道滤波时,设定高斯函数的方差σ=30,滤波器的作用范围η=1/4;
(2)计算机通过指纹采集器采集所有注册指纹的原始图像并存储;
(3)计算机检测指纹的有效区域,它依次包含以下步骤:
(3.1)把原始图像分割成大小为4×4像素的方格;
(3.2)计算机按下式计算以点(i,j)为左上角的每一个方格的灰度均值Iavg(i,j)和方差Var(i,j):
I avg ( i , j ) = 1 16 Σ x = 0 3 Σ y = 0 3 I ( i + x , j + y ) ,
Var ( i , j ) = 1 16 Σ x = 0 3 Σ y = 0 3 ( I ( i + x , j + y ) - I avg ( i , j ) ) 2 ,
其中,I(i+x,j+y)为(i+x,j+y)点的图像灰度值;
(3.3)计算机按下式判断上述每一个方格是否有效:
若th1<Iavg(i,j)<th2且Var(i,j)>th3,则该方格有效标记为1;
(3.4)去噪声处理
(3.4.1)对上述图像进行3×3滤波,即检查以待测点为中心的3×3邻域内的9个点,如果只有该待测点是有效的,则认为该点为噪声,更改标记为0,表明以该点为左上角的方格无效:若只有该待测点是无效的,则认为该点为有效点,更改标记为1,表明以该点为左上角的方格有效;
(3.4.2)去掉有效区域中间的“洞”,即逐行对上述图像扫描,填补最左边和最右边的有效点之间的所有无效点,将其标记为有效;逐列扫描,填补最上边和最下边的有效点之间的所有无效点,将其标记为有效,从而得到有效区域,长和宽分别为原图的1/4;
(4)用基于梯度统计的金字塔形算法进行方向场估计,它依次包含以下步骤:
(4.1)利用Soble算子的水平方向算子Sx和竖直方向算子Sy求取点(x,y)的灰度梯度:
水平方向: G x ( x , y ) = 1 8 Σ i = y - 1 y + 1 Σ i = x - 1 x + 1 S x ( x - i , y - j ) I ( i , j ) ,
竖直方向: G y ( x , y ) = 1 8 Σ i = y - 1 y + 1 Σ i = x - 1 x + 1 S y ( x - i , y - j ) I ( i , j ) ,
其中I(i,j)为(i,j)点的灰度值,Sx(x-i,y-j),Sy(x-i,y-j)分别表示水平和竖直方向的Soble算子,在(x-i,y-j)点的值,算子分别用一个大小为3×3的掩膜表示;
(4.2)把指纹图划分成大小为 W× W的方格, W=7,再依次进行以下步骤:
(4.2.1)用下式求取每一方格对应的局部方向θ:
θ ( i , j ) = 1 2 tan - 1 ( Σ i = 1 W ‾ Σ j = 1 W ‾ 2 G x ( i , j ) G y ( i , j ) Σ i = 1 W ‾ Σ j = 1 W ‾ ( G x 2 ( i , j ) - G y 2 ( i , j ) ) ) ;
(4.2.2)计算方向场一致性水平:
E 0 = 1 N Σ ( i ′ , j ′ ) ∈ Ω | θ ( i ′ , j ′ ) - θ ( i , j ) | 2 ;
其中,Ω是第(i,j)方格的邻域,取为5×5,N是Ω中所含方格的个数,N=25;θ(i′,j′)和θ(i,j)分别为第(i′,j′)和第(i,j)方格的局部方向;
Figure C20041006225600121
则令 W=1.5 W,重新估计Ω中各方格的方向,重复步骤(4.2.1)和(4.2.2);直至E0≤Tc,这里Tc=1.5;
(5)采用Gabor滤波方法进行图像增强,它依次包含以下步骤:
(5.1)Gabor滤波器空域表达形式为:
G ( x , y , θ ) = exp { - 1 2 [ x ′ 2 δ x ′ 2 + y ′ 2 δ y ′ 2 ] } cos ( 2 πf x ′ ) , 其中 x ′ = x sin θ + y cos θ y ′ = x cos θ - y sin θ ;
θ∈[0,180)为当前点的方向场垂直方向,x,y为掩膜中各点相对于掩膜中心点的坐标,δx′=δy′=5.0,f=0.6,空域掩膜大小为7×7像素;
(5.2)自适应滤波:
假设输入指纹灰度图像为I(x,y),θ为(i,j)点方向场方向垂直的方向,则用上述滤波器滤波如下:
F ( i , j ) = Σ x = - w w Σ y = - w w G ( x , y , θ ) I ( i + x , j + y ) Σ x = - w w Σ y = - w w G ( x , y , θ ) ; 其中W=3;
然后按下式求取一个数值:
flag ( i , j ) = Σ x = - L 2 L 2 - D | F ( i + x cos θ , j + x sin θ ) - F ( i + ( x + D ) cos θ , j + ( x + D ) sin θ ) | Σ x = - L 2 L 2 - D | F ( i + x cos θ , j + x sin θ ) - F ( i + ( x + D ) cos θ , j + ( x + D ) sin θ ) | × F [ i + ( x + D 2 ) cos θ , j + ( x + D 2 ) sin θ ] ,
其中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)对原指纹图像中的点(x,y)出的灰度值I(x,y)进行多通道滤波,它依次包含以下步骤:
(7.1.1)把断纹方向与x轴的夹角γ离散化为12个方向,每相邻两个方向之间的夹角为15°,因而,γ取12个方向:γ=0,π/12,π/6,…,11π/12;
(7.1.2)对于每个γ,对应滤波器掩膜大小均为81×81,则经过方向为γi的最优滤波器滤波后的指纹图像中的点(x,y)处的取值用Fγi(x,y)表示:
F γ i ( x , y ) = Σ k = - 40 40 Σ l = - 40 40 I ( x + k , y + l ) × F ( γ i , k , l | σ 2 , η ) ,
其中,I(x+k,y+l)为在图像在点(x+k,y+l)的灰度值,F(γ,x,y|σ2,η)为滤波器表达式:
F ( γ , x , y | σ 2 , η ) = G ( γ , u ( x , y ) , v ( x , y ) | σ 2 , η )
= exp { - u 2 + ηv 2 2 σ 2 } ( σ 2 - u 2 ) ,
其中,u=xcosγ+ysinγ,v=-xsinγ+ycosγ;
(7.1.3)对通过滤波器得到的各图以200作为阈值进行二值化:
I k &prime; &prime; ( i , j ) = 255 I k &prime; ( i , j ) &GreaterEqual; 200 0 I k &prime; ( i , j ) < 200 ;
(7.1.4)断纹参数化,对于不同方向上的每个带状断纹区域,用矩阵分析中的主元分析方法,即PCA来估计这个带状区域的方向,长度和宽度,进而用一个矩形来近似这个带状区域,它依次包含以下步骤:
(7.1.4.1)在二值化的图像中,每个带状区域中的像素点可以用
S = x 1 x 2 x M &CenterDot; &CenterDot; &CenterDot; y 1 y 2 y M 来表示,其中第一行是各点横坐标,第二行是各点纵坐标,M是带状区域中像素点的个数;
(7.1.4.2)求出S的均值 m和方差var:
m &OverBar; = x &OverBar; y &OverBar; = 1 M &Sigma; l = 1 M x l y l ,
var = 1 M &Sigma; l 1 = 1 M &Sigma; l 2 = 1 M x l 1 y l 1 - m &OverBar; &CenterDot; x l 2 y l 2 - m &OverBar; T ;
(7.1.4.3)求出方差矩阵var的所有特征值,选择最大的两个特征值λ1,λ2,要求λ1≥λ2,和它们对应的特征向量q1,q2
(7.1.4.4)由(7.1.4.3)可得到:
矩形的中心(Cx,Cy):即区域的均值m,即Cx= x,Cy= y;
矩形的方向θ:对应长轴,它是大的特征值所对应的特征向量q1
矩形的长l和宽ω可以分别通过计算沿两个特征轴的平均宽度得到,具体实现:在二值化的图像基础上,在带状区域内,沿垂直于方向θ的方向进行遍历,统计在方向θ上的该带状区域的平均长度作为矩形的长l;然后再沿矩形的方向θ的方向进行遍历,统计在垂直于θ方向上的该带状区域的平均长度作为矩形的宽ω;
(7.1.4.5)合并:把对应于不同方向的所有二值化的图合并,得到整个指纹图像中的断纹;把对应于不同方向的所有参数化的图合并,得到整个指纹图像中的断纹的参数化表示;
(8)基于断纹的虚假细节点去除:对于每一个细节点的小邻域,一般是7×7的小窗口,进行考察,如果邻域中的某一点落入到检测出的断纹中,就判断这个细节点为假点,将它去除;
(9)把余下的全部细节点送入数据库,存储信息包括细节点总个数、细节点坐标及方向;
二、识别阶段
计算机对每个输入的指纹按照上述(2)-(7)进行细节点的在线提取,并和数据库中存储的指纹细节点进行比对找出匹配度最高的,比对和匹配依次含有以下步骤:
(1)用基于Hough变换的方法进行细节点配准:
计算补偿旋转和平移偏差,按照下面方法计算:把两个指纹各自的细节点分别构成各自含有M和N个细节点的点集,从两个点集中各选一个细节点分别表示为(x1,y1,θ1)和(x2,y2,θ2),利用它们之间的坐标、方向求出一个平移量: &Delta; t = &Delta; x &Delta; y = x 2 - x 1 y 2 - y 1 , 一个旋转量:Δθ=θ21,遍历所有M×N对细节点对,统计(Δx,Δy,Δθ)出现的次数,得票最高的平移旋转量就是最终使用的平移旋转量,同时记录得票数vote;
下面用到的坐标变换都可以由下面的公式实现:
x″=x′×cos(Δθ)-y′×sin(Δθ)+Δx
y″=x′×sin(Δθ)-y′×cos(Δθ)+Δy
其中(x′,y′)是旋转平移前的坐标,(x″,y″)是旋转平移后的坐标
(2)公共有效区域提取:
记两枚指纹r,t配准后的有效区域分别为Rr、Rt,根据上面求得的参数,对Rt进行旋转平移,则公共有效区域为R=Rr∩Rt
(3)比对指纹r,t中所有的细节点,记录比对成功的细节点对数;
(4)计算指纹r,t细节点集合的相似度Mrt,0<Mrt<1:
M rt = count max ( coun t t , coun t r ) &times; min ( vote Th , 1 ) ;
其中count表示比对成功的细节点对数,countr表示指纹r在两幅指纹公共有效区域内的细节点个数,cotntt表示指纹t在两幅指纹公共有效区域内的细节点个数;Th为经验阈值,取为12;
(5)根据我们对错误率要求的不同,给定一个阈值Th_Mn=0.4,如果Mn>Th_Mn,则认为两幅指纹来自同一个手指;否则,则认为两幅指纹不是来自同一个手指。
我们在1760幅指纹上的实验结果表明排除假点对识别率的提高是明显的,在相同错误接收率下错误拒绝率可以减少1%到3%,针对有断纹的人群则可以减少10%以上。如果考虑到在实际应用中断纹具有更大的变化,这一改善会更加明显。
利用断纹排除伪细节点的例子如图13所示。
附图说明
图1.断纹检测流程图;
图2.指纹图像示例:
2a原始指纹图像;2b有效区域图(用黑色代表);
图3.不同通道下滤波后的图像:
3a,原始指纹图像(指标出有效区域内);
3b1~3b12,分别是在12个方向,即γ=0,π/12,π/6,…,11π/12下,得到的滤波结果;
图4.指纹断纹图:
4a,去掉重叠区后所有通道下的二值化图像;
4b,每个带状区域通过PCA求得的长轴方向;
4c,断纹参数化后的图像;
图5.断纹提取各步骤的中间结果;
5(1),指纹原图;
5(2),有效区域;
5(3),原始断纹提取结果;
5(4),断纹参数化后的结果;
图6.利用断纹检测去除虚假细节点的流程图;
图7.细节点示意图;
图8.Sobel算子
8a,水平算子;
8b,垂直算子;
图9.邻域计算说明;
图10.细化表;
图11.细化的八个例子;
图12.细节点提取各步骤的中间结果:
12(1),指纹原图;
12(2),有效区域;
12(3),方向场;
12(4),增强图;
12(5),背景细化;
12(6),前景细化;
12(7),细节点提取结果;
图13.利用断纹去除虚假细节点示意图。
具体实施方式:
我们的发明可以在普通PC计算机上实现,对操作系统没有要求。
(1)断纹检测
随着年龄的增大,人的指纹会因为皮肤的皱裂出现断纹,对指纹识别造成很大的影响。以往的指纹识别方法没有针对性的处理方法。我们则采用全新的思路,提出通过对断纹的检测去除虚假细节点。本技术非常有利于老年人群的指纹识别应用。
我们主要考虑显著的断纹,它们满足:1)有足够大的长宽比,使人肉眼即可以观察到断纹呈带状区域,而不是一些球状噪声;2)断纹与指纹正常的纹理方向之间存在一定的角度。
图5给出一个具体的实例,描述了断纹提取各步骤的中间结果,具体的检测流程见图1,其步骤为:
指纹有效区域的检测
通过指纹采集器采集到的原始指纹图中指纹部分并不是充满全图,含有指纹的部分图像在指纹识别中才有意义,称为有效区域。将原始图像分割为大小为4×4像素的方格,对每个这样的方格,计算这一区域内所有象素的灰度值的均值与方差,只有两者均满足各自条件时才认为该点处于有效区域。其中均值和方差的计算依靠下面的公式:
I avg ( i , j ) = 1 16 &Sigma; x = 0 3 &Sigma; y = 0 3 I ( i + x , j + y )
Var ( i , j ) = 1 16 &Sigma; x = 0 3 &Sigma; y = 0 3 ( I ( i + x , j + y ) - I avg ( i , j ) ) 2 ;
这里,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)。如图2所示,在整个流程中的中间结果见图5(2)。
多通道滤波
断纹检测是采用滤波的方式。设计滤波器如下:当需要检测方向与x轴的夹角为γ的断纹时,令u=xcosγ+ysinγ,v=-xsinγ+ycosγ,滤波器F(γ,x,y|σ2,η)为
F ( &gamma; , x , y | &sigma; 2 , &eta; ) = G ( &gamma; , u ( x , y ) , v ( x , y ) | &sigma; 2 , &eta; )
= exp { - u 2 + &eta;v 2 2 &sigma; 2 } ( &sigma; 2 - u 2 ) ;
其中σ,η,γ分别表示高斯函数的方差、滤波器的作用范围和滤波器的方向。推荐采用η=1/4,σ=30。x,y表示滤波器掩模中各点相对于掩模中心的坐标。
由于断纹在指纹图像中随机地出现,断纹可能有很多不同的方向,即夹角γ可能取很多不同的值。因此,为了可以检测到各个方向的断纹,我们需要对不同的夹角方向γ分别构造一个滤波器。事实上,不可能对所有方向都设计一个滤波器,这样计算量会非常大,因此我们将方向离散化为12个方向。所有的滤波器可以用下式表示,其中γ取12个方向。
F(γ,x,y|σ2,η)γ=0,π/12,π/6,…,11π/12;
对于每个γ,对应滤波器掩膜大小均为81×81。由于对于相同的γ,掩膜是相同的。可以在滤波之前将空域掩膜一次求取完成并存储下来,以减少不必要的重复计算。
令I(x,y)表示原指纹图像有效区域中的点(x,y)处的灰度值,Fγi(x,y)表示经过方向为γi的最优滤波器滤波后的指纹图像中的点(x,y)处的取值,则滤波的公式如下:
I i &prime; ( x , y ) = F &gamma; i ( x , y ) = &Sigma; k = - 40 40 &Sigma; l = - 40 40 I ( x + k , y + l ) &times; F ( &gamma; i , k , l | &sigma; 2 , &eta; ) ;
在图1中,12个不同方向的滤波器对指纹图像进行滤波,滤波后的图像分别用I1′,I2′,…,I12′来表示。图3中列出了滤波后的这些图像。
二值化
对滤波得到的各图像以200作为阈值进行二值化,即将图3中亮的部分(即灰度值大于200的部分)保留下来。
I k &prime; &prime; ( i , j ) = 255 I k &prime; ( i , j ) &GreaterEqual; 200 0 I k &prime; ( i , j ) < 200
其中,k=1,2,…,12,分别对应12个不同方向的滤波器的序号,Ik′(i,j)表示通过第i个方向滤波器的结果图像在坐标(i,j)处的灰度值,Ik″(i,j)表示对应点在二值化后的灰度值。
实例中该流程的结果对应于图5(3)。
断纹参数化
前面得到的二值化图像中断纹区域都是带状的(见图4)。对于不同方向上的每个带状断纹区域,用矩阵分析中的主元分析方法(PCA)来估计这个带状区域的方向,长度和宽度,进而用一个矩形来近似这个带状区域。具体实现如下:
在二值化的图像中,每个带状区域中的像素点可以用 S = x 1 x 2 x M &CenterDot; &CenterDot; &CenterDot; y 1 y 2 y M 来表示,其中第一行是各点横坐标,第二行是各点纵坐标,M是带状区域中像素点的个数。
所有点坐标的均值为 m &OverBar; = x &OverBar; y &OverBar; = 1 M &Sigma; l = 1 M x l y l ,
方差矩阵为 var = 1 M &Sigma; l 1 = 1 M &Sigma; l 2 = 1 M x l 1 y l 1 - m &OverBar; &CenterDot; x l 2 y l 2 - m &OverBar; T .
求出方差矩阵var的所有特征值,选择最大的两个特征值λ1,λ2(要求λ1≥λ2),和它们对应的特征向量q1,q2。于是我们可以得到矩形的下面几个参数:
矩形的中心(Cx,Cy):即区域的均值m(Cx= x,Cy= y);
矩形的方向θ:对应长轴(大的特征值所对应的特征向量q1);
矩形的长l和宽ω可以分别通过计算沿两个特征轴的平均宽度得到,具体实现:在二值化的图像基础(即Ik″)上,在带状区域内,沿垂直于方向θ的方向进行遍历,统计在方向θ上的该带状区域的平均长度作为矩形的长l;然后再沿矩形的方向θ的方向进行遍历,统计在垂直于θ方向上的该带状区域的平均长度作为矩形的宽ω。
由上面的参数(Cx,Cy)、θ、l和ω,我们可以将所有断纹用参数不同的很多矩形来表示。
图4列出了所有通道下的二值化图像、每个带状区域通过PCA求得的长轴方向和最后的矩形表示。
实例中该流程的结果对应于图5(4)。
合并
将所有二值化的各图(对应不同方向)合并就可以得到整个指纹图像中的断纹,将参数化(即用矩形描述)的各图(对应不同方向)合并就可以得到整个指纹的断纹的参数化表示,见图4中最后的结果。
图5给出前面介绍的流程的中间结果图。
(2)利用断纹检测去除虚假细节点
当指纹图像中存在大量的断纹时,应用传统的指纹处理方法容易在断纹处产生虚假细节点(简称假点)。我们可以在传统算法中加入断纹检测的步骤,排除断纹处出现的虚假细节点。
算法流程如图6。整个算法流程主要包括离线处理和在线识别两部分。离线处理会对所有注册的指纹进行细节点的提取和存储;在线识别是对新输入的指纹进行细节点的提取并和数据库中存储的指纹细节点进行比对,匹配度最高的认为是与输入指纹来源于同一个手指。特征提取包括两个步骤:先是传统的细节点提取,接着通过断纹检测去除虚假细节点。
下面以一个传统的细节点提取流程为例说明如何利用断纹检测去除虚假细节点。
细节点可分为两种,一种是脊线的端点,另一种是脊线的分岔点。如图7所示。细节点的提取方法我们采用的是基于细化图的方法。分别对前景和背景进行细化,得到两张细化图。最终结果如图12(5)、12(6)所示。
具体的细节点提取步骤如下:
1、有效区域提取。这一步和前面提到的流程一样。结果示意如图12(2);
2、方向场估计。方向场是表示指纹脊线走向的一幅图像,其中每点的数值代表了指纹图像中对应点的局部脊线方向。方向图刻画了指纹的全局信息,在指纹识别中起着重要的作用。本方法中采用的是基于梯度统计的金字塔形算法,效果如图12(3)所示。算法如下:
I、利用Soble算子的水平方向算子Sx和竖直方向算子Sy(见图8)求取点(x,y)的灰度梯度:
水平方向 G x ( x , y ) = 1 8 &Sigma; j = y - 1 y + 1 &Sigma; i = x - 1 x + 1 S x ( x - i , y - j ) I ( i , j ) ,
竖直方向 G y ( x , y ) = 1 8 &Sigma; j = y - 1 y + 1 &Sigma; i = x - 1 x + 1 S y ( x - i , y - j ) I ( i , j ) ,
其中I(i,j)为(i,j)点的灰度值。
II、把指纹图划分成大小为 W× W的方格, W=7,再依次进行以下步骤:
(a)用下式求取每一方格对应的局部方向θ
&theta; ( i , j ) = 1 2 tan - 1 ( &Sigma; i = 1 W &OverBar; &Sigma; j = 1 W &OverBar; 2 G x ( i , j ) G y ( i , j ) &Sigma; i = 1 W &OverBar; &Sigma; j = 1 W &OverBar; ( G x 2 ( i , j ) ) - G y 2 ( i , j ) ) ;
(b)计算方向场一致性水平:
E 0 = 1 N &Sigma; ( i &prime; , j &prime; ) &Element; &Omega; | &theta; ( i &prime; , j &prime; ) - &theta; ( i , j ) | 2 ,
其中,Ω是第(i,j)方格的邻域,取为5×5,N是Ω中所含方格的个数,N=25。θ(i′,j′)和θ(i,j)分别为第(i′,j′)和第(i,j)方格的局部方向;
若E0>Tc,则
令 W=1.5 W,重新估计Ω中各方格的方向,重复步骤I和II。直至E0≤Tc。这里Tc=1.5。
3、图像增强
图像增强算法采用Gabor滤波方法,即根据各点方向场取值,用Gabor滤波器进行滤波。滤波后效果如图12-4)所示。滤波算法如下:
I、求取指定大小的空域掩膜:
Gabor滤波器空域表达形式为
G ( x , y , &theta; ) = exp { - 1 2 [ x &prime; 2 &delta; x &prime; 2 + y &prime; 2 &delta; y &prime; 2 ] } cos ( 2 &pi;f x &prime; ) , 其中 x &prime; = x sin &theta; + y cos &theta; y &prime; = x cos &theta; - y sin &theta; ;
这里θ∈[0,180)为当前点的方向场垂直方向,x,y为掩膜中各点相对于掩膜中心点的坐标。各参数取δx′=δy′=5.0,f=0.6,空域掩膜大小为7×7像素。由于对于相同的θ,空域掩膜是相同的。所以可以在滤波之前将空域掩膜一次求取完成并存储下来,以减少不必要的重复计算。
II、自适应滤波:
对于指纹图像中的点(i,j),假设输入指纹灰度图像为I(x,y),θ为(i,j)点方向场方向垂直的方向,则用上述滤波器滤波如下:
F ( i , j ) = &Sigma; x = - w w &Sigma; y = - w w G ( x , y , &theta; ) I ( i + x , j + y ) &Sigma; x = - w w &Sigma; y = - w w G ( x , y , &theta; ) , 其中W=3;
然后按下式求取一个数值:
flag ( i , j ) = &Sigma; x = - L 2 L 2 - D | F ( i + x cos &theta; , j + x sin &theta; ) - F ( i + ( x + D ) cos &theta; , j + ( x + D ) sin &theta; ) | &Sigma; x = - L 2 L 2 - D | F ( i + x cos &theta; , j + x sin &theta; ) - F ( i + ( x + D ) cos &theta; , j + ( x + D ) sin &theta; ) | &times; F [ i + ( x + D 2 ) cos &theta; , j + ( x + D 2 ) sin &theta; ] ,
其中L=12,为统计数据区域长度,D=2为统计步长,进行脊线提取:如果F(i,j)>flag(i,j),则(i,j)点位于谷(背景),否则位于脊(前景)。
4、脊线细化
对增强后的指纹图像,我们将其二值化(直接选择阈值为128即可)。每个点取值为1或者0,1表示前景;0表示背景。细化的目标就是考察每一个值为1的点,根据其8邻域的取值来决定时候将这个待考察的点置为0(即将该点变成背景),通过对全图的几次遍历,不断将一些前景(值为1)的点变成背景点,从而达到细化的目的。
我们根据待测点8邻域的不同状态来决定待测点的“去”或“留”。这8个邻域点的所有可能取值组合有28=256种(每个点只能取1或者0)。我们将每种可能设定为一条规则对应结果为“1”(保留)或“0”(去除),规则设定的原则是保持原图的骨架。对于指纹脊线细化,我们定义的骨架,可以理解为图像的中轴,例如一个长方形的骨架是它的长方向上的中轴线,圆的骨架是它的圆心,环的骨架是类似圆的封闭曲线,直线的骨架是它自身,孤立点的骨架也是自身。不同应用场合,对骨架的定义可能有不同,我们通过几个例子说明,图11中给出了几个例子,其中:(1)不能删,因为它是个内部点,如果删去,就没有了骨架;(2)不能删,这是一个特殊要求,尽量保留直线;(3)不能删,这点是骨架,删掉后,改变拓扑结构;(4)不能删,因为删掉后,原来相连的部分断开,改变拓扑结构;(5)不能删,因为它是直线的端点;(6)可以删,该点不是骨架;(7)不能删,该点是骨架;(8)可以删,该点不是骨架。我们简单总结一下,有如下的判据:(1)直线端点不能删除;(2)改变拓扑结构的点不能删除,例如内部点不能删除、孤立点不能删除等。
对所有情况按照上面的例子总结,可以得到256个规则,将其结果编码为一张表(其实就是一个1维数组,标记0~255,共256个元素),每个待测点的8邻域的值对应一个0到255的数,将这个数作为索引,查表中对应的值,如果是1表示保留;0表示该点被去掉(即将这个待测点的值置为0)。
索引方法如图9,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。我们采用的表如图10所示。我们从图11中选出两个图作为示例:
图11(2):中心(待测)点不能删,因为:
index=1×20+0×21+0×22+0×23+1×24+0×25+1×26+0×27=81,
table[81]=1,所以表示该点不能去掉。
图11(8):中心(待测)点可以册,因为:
index=1×20+1×21+0×22+0×23+0×24+0×25+0×26+0×27=3,
table[3]=0,所以表示该点可以去掉。
我们总结一下细化的步骤:
第一步,给出索引方法,例如按照图9中设定的方法;
第二步,根据规则给出索引表,例如按照图10中设定的表;
第三步,遍历全图所有值为1的点,计算索引,判断是否保留;
第四步,如果第三步没有去掉任何点,则下一步,否则重复第三步。
第五步,后处理,我们将在下面详细介绍:
求出细化图后的操作如下:
I,按照细化图,初步确定细节点中的端点(本身为1且周围8个点中有且仅有一个点为1)和分岔点(本身为1且周围8个点中有且仅有三个点为1)。
II,沿着细节点生长,对细节点进行后处理:
(a),对于端点,如果在其12×12的邻域内有另一个端点的方向与之接近(角度差小于Tha=30度),则将这两个端点都去掉;
(b),将形成环形的邻近分叉点连接起来,对于一个分叉点,如果在其12×12的邻域内有另一个分叉点的方向与之接近(角度差小于Tha=30度),则将这两个端点都去掉;
(c),去除一些小短棒对应的两个端点,对于一个端点,如果沿着它所在脊线经过12个像素之内就碰到另一个端点,则将两个端点都去掉;
III,筛除方向与该点方向场角度差大于30度的特征点。
对所有注册指纹进行上述特征提取操作并将所得特征存入数据库。
各流程中间结果见图12。
5.基于断纹的虚假细节点去除
通过前面的步骤可以完成细节点提取,虽然在提取中也去除了部分假点,但是很大一部分假点仍然不能被去掉,我们提出的通过断纹来去除假点的步骤是:对于每一个细节点的小邻域(一般是7×7的小窗口)进行考察,如果邻域中的某一点落入到检测出的断纹中,就判断这个细节点为假点,将它去除。如图13所示。
(3)细节点比对
对所有注册指纹我们都进行以上的操作(可以离线),并将最后剩下的全部细节点都保存在数据库中。对待测指纹进行采集后,同样进行上述操作(在线、离线均可),然后将其结果(细节点)和数据库中的数据进行细节点比对,找出匹配度最高的,作为输出结果。细节点比对过程分为细节点配准和细节点匹配两个步骤。
由于用于比对的两枚指纹间存在旋转和平移,必须利用细节点配准的方法补偿旋转和平移偏差。我们采用的是基于Hough变换的配准方法。简单解释为:将两个指纹的各自的细节点分别构成两个点集(各有M和N个细节点),从两个点集中各选一个细节点分别表示为(x1,y1,θ1)和(x2,y2,θ2),利用它们之间的坐标、方向可以求出一个平移量和旋转量:
&Delta; t = &Delta; x &Delta; y = x 2 = x 1 y 2 - y 1 ; Δθ=θ21。遍历所有细节点对(共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,根据上面求得的参数,对Rt进行旋转平移,则公共有效区域为R=Rr∩Rt
对于这两枚已经配准好的指纹,进行细节点比对。最终得出的是0~1之间的一个数,表示两枚指纹细节点集合的相似度。当两幅配准好的指纹图中的两个细节点距离小于某一阈值(取为8像素)时,认为这两个点比对成功,匹配成功点对计数加1。最终可以求出:
M rt = count max ( count t , count r ) &times; min ( vote Th , 1 ) ,
其中count表示比对成功的细节点对数,countr表示指纹r在两幅指纹公共有效区域内的细节点个数,countt表示指纹t在两幅指纹公共有效区域内的细节点个数。Th为经验阈值,取为12。
根据我们对错误率要求的不同,给定一个阈值Th_Mn=0.4,如果Mn>Th_Mn,则认为两幅指纹来自同一个手指;否则,则认为两幅指纹不是来自同一个手指。

Claims (1)

1、基于断纹检测的指纹识别方法其特征在于,它依次含有以下两个阶段:
一、学习阶段,计算机在离线状态下对所有注册的指纹进行细节点的提取、存储,再依次对细节点进行断纹检测、去除伪细节点后,建立数据库;它依次含有以下步骤:
(1)对计算机进行初始化
设定下列各初始值:
在指纹有效区域的检测步骤中,对于已经分割成大小为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;
在断纹检测阶段进行多通道滤波时,设定高斯函数的方差σ=30,滤波器的作用范围η=1/4;
(2)计算机通过取指器采集所有注册指纹的原始图像并存储;
(3)计算机检测指纹的有效区域,它依次包含以下步骤:
(3.1)把原始图像分割成大小为4×4像素的方格;
(3.2)计算机按下式计算以点(i,j)为左上角的每一个方格的灰度均值Iavg(i,j)和方差Var(i,j):
I avg ( i , j ) = 1 16 &Sigma; x = 0 3 &Sigma; y = 0 3 I ( i + x , j + y ) ,
Var ( i , j ) = 1 16 &Sigma; x = 0 3 &Sigma; y = 0 3 ( I ( i + x , j + y ) - I avg ( i , j ) ) 2 ,
其中,I(i+x,j+y)为(i+x,j+y)点的图像灰度值;
(3.3)计算机按下式判断上述每一个方格是否有效:
若th1<Iavg(i,j)<th2且Var(i,j)>th3,则该方格有效标记为1;
(3.4)去噪声处理
(3.4.1)对上述图像进行3×3滤波,即检查以待测点为中心的3×3邻域内的9个点,如果只有该待测点是有效的,则认为该点为噪声,更改标记为0,表明以该点为左上角的方格无效;若只有该待测点是无效的,则认为该点为有效点,更改标记为1,表明以该点为左上角的方格有效;
(3.4.2)去掉有效区域中间的“洞”,即逐行对上述图像扫描,填补最左边和最右边的有效点之间的所有无效点,将其标记为有效;逐列扫描,填补最上边和最下边的有效点之间的所有无效点,将其标记为有效,从而得到有效区域,长和宽分别为原图的1/4;
(4)用基于梯度统计的金字塔形算法进行方向场估计,它依次包含以下步骤:
(4.1)利用Soble算子的水平方向算子Sx和竖直方向算子Sy求取点(x,y)的灰度梯度:
水平方向: G x ( x , y ) = 1 8 &Sigma; j = y - 1 y + 1 &Sigma; i = x - 1 x + 1 S x ( x - i , y - j ) I ( i , j ) ,
竖直方向: G y ( x , y ) = 1 8 &Sigma; j = y - 1 y + 1 &Sigma; i = x - 1 x + 1 S y ( x - i , y - j ) I ( i , j ) ,
其中I(i,j)为(i,j)点的灰度值,Sx(x-i,y-j),Sy(x-i,y-j)分别表示水平和竖直方向的Soble算子,在(x-i,y-j)点的值,算子分别用一个大小为3×3的掩膜表示;
(4.2)把指纹图划分成大小为 W× W的方格, W=7,再依次进行以下步骤:
(4.2.1)用下式求取每一方格对应的局部方向θ:
&theta; ( i , j ) = 1 2 tan - 1 ( &Sigma; i = 1 W &OverBar; &Sigma; j = 1 W &OverBar; 2 G x ( i , j ) G y ( i , j ) &Sigma; i = 1 W &OverBar; &Sigma; j = 1 W &OverBar; ( G x 2 ( i , j ) - G y 2 ( i , j ) ) ) ;
(4.2.2)计算方向场一致性水平:
E 0 = 1 N &Sigma; ( i &prime; , j &prime; ) &Element; &Omega; | &theta; ( i &prime; , j &prime; ) - &theta; ( i , j ) | 2 ;
其中,Ω是第(i,j)方格的邻域,取为5×5,N是Ω中所含方格的个数,N=25;θ(i′,j′)和θ(i,j)分别为第(i′,j′)和第(i,j)方格的局部方向;
若E0>Tc,则
令 W=1.5 W,重新估计Ω中各方格的方向,重复步骤(4.2.1)和(4.2.2);直至E0≤Tc
这里Tc=1.5;
(5)采用Gabor滤波方法进行图像增强,它依次包含以下步骤:
(5.1)Gabor滤波器空域表达形式为:
G ( x , y , &theta; ) = exp { - 1 2 [ x &prime; 2 &delta; x &prime; 2 + y &prime; 2 &delta; y &prime; 2 ] } cos ( 2 &pi;f x &prime; ) , 其中 x &prime; = x sin &theta; + y cos &theta; y &prime; = x cos &theta; - y sin &theta; ;
θ∈[0,180)为当前点的方向场垂直方向,x,y为掩膜中各点相对于掩膜中心点的坐标,δx′=δy′=5.0,f=0.6,空域掩膜大小为7×7像素;
(5.2)自适应滤波:
假设输入指纹灰度图像为I(x,y),θ为(i,j)点方向场方向垂直的方向,则用上述滤波器滤波如下:
F ( i , j ) = &Sigma; x = - w w &Sigma; y = - w w G ( x , y , &theta; ) I ( i + x , j + y ) &Sigma; x = - w w &Sigma; y = - w w G ( x , y , &theta; ) ; 其中W=3;
然后按下式求取一个数值:
flag ( i , j ) = &Sigma; x = - L 2 L 2 - D | F ( i + x cos &theta; , j + x sin &theta; ) - F ( i + ( x + D ) cos &theta; , j + ( x + D ) sin &theta; ) | &Sigma; x = - L 2 L 2 - D | F ( i + x cos &theta; , j + x sin &theta; ) - F ( i + ( x + D ) cos &theta; , j + ( x + D ) sin &theta; ) | &times; F [ i + ( x + D 2 ) cos &theta; , j + ( x + D 2 ) sin &theta; ] ,
其中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)对原指纹图像中的点(x,y)出的灰度值I(x,y)进行多通道滤波,它依次包含以下步骤:
(7.1.1)把断纹方向与x轴的夹角γ离散化为12个方向,每相邻两个方向之间的夹角为15°,因而,γ取12个方向:γ=0,π/12,π/6,…,11π/12;
(7.1.2)对于每个γ,对应滤波器掩膜大小均为81×81,则经过方向为γi的最优滤波器滤波后的指纹图像中的点(x,y)处的取值用Fγi(x,y)表示:
F &gamma; i ( x , y ) = &Sigma; k = - 40 40 &Sigma; l = - 40 40 I ( x + k , y + l ) &times; F ( &gamma; i , k , l | &sigma; 2 , &eta; ) ,
其中,I(x+k,y+l)为在图像在点(x+k,y+l)的灰度值,F(γ,x,y|σ2,η)为滤波器表达式:
F(γ,x,y|σ2,η)=G(γ,u(x,y),v(x,y)|σ2,η)
= exp { - u 2 + &eta;v 2 2 &sigma; 2 } ( &sigma; 2 - u 2 ) ,
其中,u=xcosγ+ysinγ,v=-xsinγ+ycosγ;
(7.1.3)对通过滤波器得到的各图以200作为阈值进行二值化:
I k &prime; &prime; ( i , j ) = 255 I k &prime; ( i , j ) &GreaterEqual; 200 0 I k &prime; ( i , j ) < 200 ;
(7.1.4)断纹参数化,对于不同方向上的每个带状断纹区域,用矩阵分析中的主元分析方法,即PCA来估计这个带状区域的方向,长度和宽度,进而用一个矩形来近似这个带状区域,它依次包含以下步骤:
(7.1.4.1)在二值化的图像中,每个带状区域中的像素点可以用 S = x 1 x 2 x M &CenterDot; &CenterDot; &CenterDot; y 1 y 2 y M 来表示,其中第一行是各点横坐标,第二行是各点纵坐标,M是带状区域中像素点的个数;
(7.1.4.2)求出S的均值 m和方差var:
m &OverBar; = x &OverBar; y &OverBar; = 1 M &Sigma; l = 1 M x 1 y 1 ,
var = 1 M &Sigma; l 1 = 1 M &Sigma; l 2 = 1 M ( ( x l 1 y l 1 - m &OverBar; ) &CenterDot; ( x l 2 y l 2 - m &OverBar; ) T ) ;
(7.1.4.3)求出方差矩阵var的所有特征值,选择最大的两个特征值λ1,λ2,要求λ1≥λ2,和它们对应的特征向量q1,q2
(7.1.4.4)由(7.1.4.3)可得到:
矩形的中心(Cx,Cy):即区域的均值 m,即Cx= x,Cy= y;
矩形的方向θ:对应长轴,它是大的特征值所对应的特征向量q1
矩形的长l和宽ω可以分别通过计算沿两个特征轴的平均宽度得到,具体实现:在二值化的图像基础上,在带状区域内,沿垂直于方向θ的方向进行遍历,统计在方向θ上的该带状区域的平均长度作为矩形的长l;然后再沿矩形的方向θ的方向进行遍历,统计在垂直于θ方向上的该带状区域的平均长度作为矩形的宽ω;
(7.1.4.5)合并:把对应于不同方向的所有二值化的图合并,得到整个指纹图像中的断纹;把对应于不同方向的所有参数化的图合并,得到整个指纹图像中的断纹的参数化表示;
(8)基于断纹的虚假细节点去除:对于每一个细节点的小邻域,一般是7×7的小窗口,进行考察,如果邻域中的某一点落入到检测出的断纹中,就判断这个细节点为假点,将它去除;
(9)把余下的全部细节点送入数据库,存储信息包括细节点总个数、细节点坐标及方向;
二、识别阶段
计算机对每个输入的指纹按照上述(2)-(7)进行细节点的在线提取,并和数据库中存储的指纹细节点进行比对找出匹配度最高的,比对和匹配依次含有以下步骤:
(1)用基于Hough变换的方法进行细节点配准:
计算补偿旋转和平移偏差,按照下面方法计算:把两个指纹各自的细节点分别构成各自含有M和N个细节点的点集,从两个点集中各选一个细节点分别表示为(x1,y1,θ1)和(x2,y2,θ2),利用它们之间的坐标、方向求出一个平移量: &Delta; t = &Delta; x &Delta; y = x 2 - x 1 y 2 - y 1 , 一个旋转量:Δθ=θ21,遍历所有M×N对细节点对,统计(Δx,Δy,Δθ)出现的次数,得票最高的平移旋转量就是最终使用的平移旋转量,同时记录得票数vote;下面用到的坐标变换都可以由下面的公式实现:
x″=x′×cos(Δθ)-y′×sin(Δθ)+Δx
y″=x′×sin(Δθ)-y′×cos(Δθ)+Δy;其中(x′,y′)是旋转平移前的坐标,(x″,y″)是旋转平移后的坐标
(2)公共有效区域提取:
记两枚指纹r,t配准后的有效区域分别为Rr、Rt,根据上面求得的参数,对Rt进行旋转平移,则公共有效区域为R=Rr∩Rt
(3)比对指纹r,t中所有的细节点,记录比对成功的细节点对数;
(4)计算指纹r,t细节点集合的相似度Mrt,0<Mrt<1:
M rt = count max ( count t , count r ) &times; min ( vote Th , 1 ) ;
其中count表示比对成功的细节点对数,countr表示指纹r在两幅指纹公共有效区域内的细节点个数,countt表示指纹t在两幅指纹公共有效区域内的细节点个数;Th为经验阈值,取为12;
(5)根据我们对错误率要求的不同,给定一个阈值Th_Mn=0.4,如果Mn>Th_Mn,则认为两幅指纹来自同一个手指;否则,则认为两幅指纹不是来自同一个手指。
CN 200410062256 2004-07-02 2004-07-02 基于断纹检测的指纹识别方法 Expired - Fee Related CN1267849C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410062256 CN1267849C (zh) 2004-07-02 2004-07-02 基于断纹检测的指纹识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410062256 CN1267849C (zh) 2004-07-02 2004-07-02 基于断纹检测的指纹识别方法

Publications (2)

Publication Number Publication Date
CN1588424A CN1588424A (zh) 2005-03-02
CN1267849C true CN1267849C (zh) 2006-08-02

Family

ID=34603669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410062256 Expired - Fee Related CN1267849C (zh) 2004-07-02 2004-07-02 基于断纹检测的指纹识别方法

Country Status (1)

Country Link
CN (1) CN1267849C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI826061B (zh) * 2019-08-01 2023-12-11 聯詠科技股份有限公司 電子電路、電子裝置及用於從面板感測指紋影像的方法

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0800364D0 (en) * 2008-01-09 2008-02-20 Mitsubishi Electric Inf Tech Feature-based signatures for image identification
CN101499130B (zh) * 2008-01-30 2012-06-27 深圳市普罗巴克科技股份有限公司 一种指纹识别方法和指纹识别系统
CN101320476B (zh) * 2008-07-04 2011-06-08 中国农业大学 一种棉花异性纤维图像处理系统及方法
CN101388115B (zh) * 2008-10-24 2011-07-27 北京航空航天大学 一种结合纹理信息的深度图像自动配准方法
CN101567964B (zh) * 2009-05-15 2011-11-23 南通大学 一种低码率视频应用中的预处理降噪去块效应方法
CN101576999B (zh) * 2009-06-01 2012-10-17 杭州晟元芯片技术有限公司 一种指纹图像方向增强方法
CN101630365B (zh) * 2009-06-05 2011-12-14 天津大学 基于daisy的具有镜面翻转不变性的特征提取和描述方法
CN102063702B (zh) * 2010-11-15 2012-07-04 无锡银泰微电子有限公司 光学图像的增强方法
CN102111640B (zh) * 2010-11-30 2012-10-03 广东威创视讯科技股份有限公司 一种图像有效区域检测方法及系统
CN104866815B (zh) * 2015-04-23 2018-11-30 杭州电子科技大学 基于图像空域特征的指纹核点精确定位方法
CN105260720B (zh) * 2015-10-19 2017-02-22 广东欧珀移动通信有限公司 指纹识别的方法及装置
CN107622235B (zh) * 2016-05-24 2021-01-12 Oppo广东移动通信有限公司 指纹解锁方法及相关产品
CN106888207B (zh) * 2017-02-21 2020-02-21 中国联合网络通信集团有限公司 认证方法、系统和sim卡
CN107463916A (zh) * 2017-08-16 2017-12-12 哈尔滨理工大学 基于螺旋算子的指纹细节点特征获取方法
CN108629277A (zh) * 2018-03-23 2018-10-09 青岛海信电器股份有限公司 指纹识别的特征点补偿方法、装置、电子设备及存储介质
CN109977909B (zh) * 2019-04-04 2021-04-20 山东财经大学 基于细节点区域匹配的手指静脉识别方法及系统
CN111476808B (zh) * 2020-03-19 2023-12-26 北京万里红科技有限公司 虹膜图像的清晰度评价方法及装置
CN111461022A (zh) * 2020-04-01 2020-07-28 北京心智计算科技有限公司 一种基于人工智能技术的皮纹识别系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI826061B (zh) * 2019-08-01 2023-12-11 聯詠科技股份有限公司 電子電路、電子裝置及用於從面板感測指紋影像的方法
US11854451B2 (en) 2019-08-01 2023-12-26 Novatek Microelectronics Corp. Electronic circuit having display driving function, touch sensing function and fingerprint sensing function

Also Published As

Publication number Publication date
CN1588424A (zh) 2005-03-02

Similar Documents

Publication Publication Date Title
CN1267849C (zh) 基于断纹检测的指纹识别方法
CN100347719C (zh) 基于密度图模型的指纹识别方法
CN1595425A (zh) 指纹多特征识别方法
CN1305002C (zh) 多注册指纹融合方法
CN1818927A (zh) 指纹识别方法与系统
CN1156791C (zh) 模式识别设备与方法
CN1794266A (zh) 生物特征融合的身份识别和认证方法
CN1139039C (zh) 图象中图形的提取和识别以及异常判定的方法和装置
CN1731417A (zh) 复杂背景图像中的鲁棒人脸检测方法
CN1249046A (zh) 利用指纹及类似印痕的流线比较和解释的身份验证系统和方法
CN1311394C (zh) 用于二进制化图像的设备和方法
CN1664846A (zh) 基于统计结构特征的联机手写汉字识别方法
CN1275201C (zh) 参数估计装置和数据匹配装置
CN1973757A (zh) 基于舌象特征的病证计算机分析系统
CN1140878C (zh) 字符识别方法,修正方法及字符识别装置
CN1735907A (zh) 图像分析
CN1383522A (zh) 多个神经网络的成像设备和方法
CN1415103A (zh) 多分辨率标签定位器
CN1839397A (zh) 用于处理诸如图像的具有现有拓扑的数据阵列的神经网络和网络应用
CN1152340C (zh) 基于知识的指纹图像增强方法
CN101057257A (zh) 人脸特征点检测装置、特征点检测装置
CN1200387C (zh) 基于单个字符的统计笔迹鉴别和验证方法
CN1151465C (zh) 利用候选表进行分类的模式识别设备及其方法
CN1596420A (zh) 用于学习模式分类和判定值估计的方法和装置
CN101030257A (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

Granted publication date: 20060802

Termination date: 20190702

CF01 Termination of patent right due to non-payment of annual fee