发明名称 指纹识别方法
摘要 本发明涉及一种指纹识别方法,由指纹特征提取和特征匹配两个步骤组成:特征提取包括针对于预处理的指纹图像提取细节点特征,对初选的细节点进行剪枝,对剪枝后的细节点特征进行可靠性验证,以及进行特征矢量编码;特征匹配首先利用脊线曲率特征进行图像校准,降低了校准的复杂度,然后利用指纹的邻域关系特征进行匹配分值的计算和匹配点对的统计,根据匹配的点对数和匹配分值,利用多级判别体系来判断两枚指纹的相似度。本方法具有识别率高、识别速度快,可靠性强等优点。
申请公布号 CN101276411B 申请公布日期 2010.06.02
申请号 CN200810106358.7 申请日期 2008.05.12
申请人 北京理工大学 发明人 王崇文;丁刚毅;唐明湘
分类号 G06K9/00(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 张利萍
主权项 1.一种指纹识别方法,其特征在于由指纹特征提取和特征匹配两个步骤组成:所述指纹特征提取的过程为:1)针对于预处理的图像进行细节特征初选;2)对初选后的细节特征进行剪枝,所述细节特征剪枝的伪特征包括:因为脊线断裂产生的两个错误端点;因为脊线的错误连接和断开产生的伪分歧点和伪端点;在对非平滑脊线进行细化后产生的短枝;因为脊线间的错误连接产生的伪分歧点;3)对剪枝后的细节点特征进行可靠性验证;4)根据细节点的邻域关系和脊线曲率特征构建特征矢量,具体步骤为:定义一种新的细节特征矢量,它总共包含24个元素,表示方法如下:FC={x,y,ω,var,f,cx,cy,r,d1,a1,s1,l1,d2,a2,s2,l2,d3,a3,s3,l3,d4,a4,s4,l4}其中:x和y是当前待研究的细节点m0即参考细节点在原来坐标系中位置坐标,ω是包含参考细节点的局部脊线方向,参数var是在原始指纹图像中以参考细节点为中心的局部窗口内各象素的灰度方差,f是在原始指纹图像中包含参考细节点的局部窗口的频率,它代表局部窗口中脊线的频率;cx、cy和r表示与细节特征点相连的脊线所拟合圆弧的中心位置坐标和半径;di,si,ai and li(i=1,2,3,4)是参考细节特征点的邻域关系特征,它们描述了参考细节点m0与周围细节点mi之间的关系;di分别是mi到m0的距离,ai是m0方向角所在直线与mi方向角所在直线的夹角,si是m0与mi连线所在直线分别和m0方向角所在直线的夹角;l1,l2,l3和l4分别是mi特征点在所有细节点集合中的索引;所述特征匹配的过程为:1)利用脊线的曲率特征进行匹配参考点对的识别,具体步骤为:首先,需要对已经获得的两个点集的矢量特征按照曲率大小的顺序排序,如果输入指纹的第i个细节点和模板指纹的第j个特征点存在对应关系,那么与这两个特征点相连的脊线的曲率r<sub>i</sub>和r<sub>j</sub>也应该是相同的,并且该曲率是不随图像旋转或平移所变化的,于是有如果|r<sub>i</sub>-r<sub>j</sub>|<T<sub>r</sub>,其中T<sub>r</sub>为给定的阈值,则利用公式<img file="F2008101063587C00011.GIF" wi="800" he="174" />计算两个细节特征的相似度,如果S(i,j)大于给定的阈值Ta,则认为对应点对已经找到;否则如果计算了所有曲率相同的点对之间的相似度,没有哪个点对的相似度大于Ta,则把具有最大相似度的点对作为后续图像校准的中心;如果点对的最大相似度小于给定的阈值Tb,则直接判断两个图像不匹配;相似度计算公式中T是预先定义的阈值,T的值用统计方法获得;|FC<sub>i</sub>-FC<sub>j</sub>|是两个特征矢量的欧氏距离;2)利用极坐标对图像进行校准,具体步骤为:(1)把输入指纹图像和模板指纹图像原来笛卡儿坐标系下的细节点转换到极坐标下,极坐标的原点为已经确定的对应参考点对,转换公式如下所示:<maths num="0001"><![CDATA[<math><mrow><mfenced open='(' close=')'><mtable><mtr><mtd><msub><mi>pr</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>e</mi><mi>i</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&theta;</mi><mi>i</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msqrt><msup><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><msub><mi>x</mi><mi>r</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt></mtd></mtr><mtr><mtd><msup><mi>tan</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mrow><mo>(</mo><mfrac><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>-</mo><msub><mi>y</mi><mi>r</mi></msub></mrow><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><msub><mi>x</mi><mi>r</mi></msub></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><msub><mi>&omega;</mi><mi>r</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&omega;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&omega;</mi><mi>r</mi></msub></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>式中(x<sub>i</sub>,y<sub>i</sub>,ω<sub>i</sub>)<sup>T</sup>是细节点在原来坐标系下的取值,(x<sub>r</sub>,y<sub>r</sub>,ω<sub>r</sub>)<sup>T</sup>是图像校准中心在原来坐标系的值,(pr<sub>i</sub>,e<sub>i</sub>,θ<sub>i</sub>)<sup>T</sup>是转换后细节点极坐标的值,其中pr<sub>i</sub>代表极径,e<sub>i</sub>代表极角,θ<sub>i</sub>代表细节点i的方向与校准中心细节点方向的差值;这样一来,就把原来的特征矢量FC改成一种更为简洁的形式FC′=(pr<sub>i</sub>,e<sub>i</sub>,θ<sub>i</sub>,var,f,r),其中var,f和r的含义和FC中定义一样;(2)把新的特征矢量集合按照极角的升序进行排列,结果如下:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>P</mi><mi>a</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><mo>[</mo><msubsup><mi>pr</mi><mn>1</mn><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>e</mi><mn>1</mn><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mn>1</mn><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>var</mi><mn>1</mn><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>f</mi><mn>1</mn><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>r</mi><mn>1</mn><mi>P</mi></msubsup><mo>]</mo><mi>&Lambda;</mi><mo>[</mo><msubsup><mi>pr</mi><mi>m</mi><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>e</mi><mi>m</mi><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mi>m</mi><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>var</mi><mi>m</mi><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>f</mi><mi>m</mi><mi>P</mi></msubsup><mo>,</mo><msubsup><mi>r</mi><mi>m</mi><mi>P</mi></msubsup><mo>]</mo><mo>}</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>Q</mi><mi>a</mi><mo>&prime;</mo></msubsup><mo>=</mo><mo>{</mo><mo>[</mo><msubsup><mi>pr</mi><mn>1</mn><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>e</mi><mn>1</mn><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mn>1</mn><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>var</mi><mn>1</mn><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>f</mi><mn>1</mn><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>r</mi><mn>1</mn><mi>Q</mi></msubsup><mo>]</mo><mi>&Lambda;</mi><mo>[</mo><msubsup><mi>pr</mi><mi>n</mi><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>e</mi><mi>n</mi><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>&theta;</mi><mi>n</mi><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>var</mi><mi>n</mi><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>f</mi><mi>n</mi><mi>Q</mi></msubsup><mo>,</mo><msubsup><mi>r</mi><mi>n</mi><mi>Q</mi></msubsup><mo>]</mo><mo>}</mo><mo>;</mo></mrow></math>]]></maths>3)接着利用自适应弹性匹配方法进行细节点配对和匹配分值计算;4)利用匹配的点对数和匹配分值,采用多级判别体系进行指纹匹配,具体步骤为:计算完所有存在对应关系的细节点对的匹配分值后,则得到匹配的细节点对总数Nm和匹配分值之和Mm,其中M<sub>m</sub>=∑S(i,j);首先,如果N<sub>m</sub>≥12或N<sub>m</sub>/Max(N,M)≥0.6,其中N和M分别是指纹模板和输入图像细节点的数量,则直接判断两幅指纹图像来自同一个手指;否则,如果N<sub>m</sub><6,则直接判断两幅指纹图像不匹配;如果10≤N<sub>m</sub>≤11并且M<sub>m</sub>≥T1,则也判断两幅指纹图像匹配成功;如果8≤N<sub>m</sub>≤9并且M<sub>m</sub>≥T2,则也判断两幅指纹图像匹配成功;其他情况都判断两幅图像不匹配;其中T1和T2都是预先设定的阈值,并且满足T1<T2,根据一定数量的指纹样本统计而得。
地址 100081 北京市海淀区中关村南大街5号