发明名称 一种基于嵌入式的QNMV指纹识别方法与系统
摘要 本发明涉及一种基于嵌入式的QNMV指纹识别方法,其特征在于,包括以下步骤:对指纹识别系统的硬件进行初始化,检测指纹信号,对指纹图像进行采集,获取相关信息,对指纹图像进行预处理,对指纹的特征点进行提取,运用QNMV指纹匹配算法进行指纹的识别匹配,计算指纹的匹配分数,根据匹配分数与设定指纹匹配分数阀值进行比对,判断指纹是否匹配,将识别结果输送到指纹识别系统的硬件平台。同时还涉及到一种基于嵌入式的QNMV指纹识别装置,用以实现所提供的QNMV指纹识别方法。根据本发明方法及系统,进行指纹识别,其指纹识别的识别率高、速度快、拒识率和误识率低,可靠性高、可操作性强。该指纹识别方法可用于互联网、计算机、门禁等很多领域。随着人们对加密技术要求的不断提高,用该指纹识别方法和系统进行指纹识别将会有较好的市场前景。
申请公布号 CN102955932B 申请公布日期 2015.09.30
申请号 CN201110241579.7 申请日期 2011.08.22
申请人 武汉科技大学 发明人 潘炼;钦小平;刘晓鸣;王薇;陈城;罗杰;彭鑫;李柯;严文;徐辉;卢伟
分类号 G06K9/00(2006.01)I;G06K9/60(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 代理人
主权项 一种基于嵌入式的QNMV指纹识别方法,其特征在于,包括以下步骤:(1)对指纹识别系统的硬件进行初始化;(2)检测到指纹信号,并对指纹图像进行采集,获取相关信息;(3)对指纹图像进行预处理;(4)对指纹的特征点进行提取;(5)运用QNMV指纹匹配算法进行指纹的匹配工作;(6)计算指纹的匹配分数;(7)根据匹配分数与设定指纹匹配分数阀值进行比对,判断指纹是否匹配;(8)将识别结果输送到指纹识别系统的硬件平台;所述QNMV指纹识别算法流程如下:1)寻找特征点作为比对的参考点对;设定<img file="FSB0000141724980000011.GIF" wi="57" he="62" />和<img file="FSB0000141724980000012.GIF" wi="58" he="62" />分别是来自模板指纹的细节特征点集A和采集到的指纹特征点集合B中的细节特征点;2)在第N个象限寻找一对能够匹配的邻近点<img file="FSB0000141724980000013.GIF" wi="97" he="67" />和<img file="FSB0000141724980000014.GIF" wi="128" he="82" />假设第N个象限中的<img file="FSB0000141724980000015.GIF" wi="98" he="66" />和<img file="FSB0000141724980000016.GIF" wi="103" he="67" />(a=1,2,3;d=1,2,3),如果满足如下公式,则表明在第N个象限能够找到一对能够匹配的邻近点<img file="FSB0000141724980000017.GIF" wi="97" he="67" />和<img file="FSB0000141724980000018.GIF" wi="127" he="81" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>w</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub><mo>=</mo><mo>|</mo><mi>d</mi><mrow><mo>(</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>w</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>w</mi><mrow><msub><mi>P</mi><mi>a</mi></msub><msub><mi>Q</mi><mrow><mi>a</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>b</mi></mrow></msub></mrow><mi>A</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>w</mi><mi>b</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>w</mi><mrow><msub><mi>P</mi><mi>b</mi></msub><msub><mi>Q</mi><mrow><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi></mrow></msub></mrow><mi>A</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mo>|</mo><mo>&lt;</mo><msub><mi>Threshold</mi><mi>w</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB0000141724980000019.GIF" wi="1793" he="107" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>&theta;</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub><mo>=</mo><mo>|</mo><mi>d</mi><mrow><mo>(</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>w</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>w</mi><mrow><mi>a</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>e</mi></mrow><mi>A</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>w</mi><mi>b</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>w</mi><mrow><mi>a</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>e</mi></mrow><mi>B</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mo>|</mo><mo>&lt;</mo><msub><mi>Threshold</mi><mi>&theta;</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB00001417249800000110.GIF" wi="1789" he="100" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>X</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub><mo>=</mo><mo>|</mo><msub><mi>X</mi><mrow><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><msubsup><mi>Q</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi></mrow><mi>A</mi></msubsup></mrow></msub><mo>-</mo><msub><mi>X</mi><mrow><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><msubsup><mi>Q</mi><mrow><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi></mrow><mi>B</mi></msubsup></mrow></msub><mo>|</mo><mo>&lt;</mo><msub><mi>Threshold</mi><mi>X</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB00001417249800000111.GIF" wi="1791" he="124" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>Y</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub><mo>=</mo><mo>|</mo><msub><mi>Y</mi><mrow><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><msubsup><mi>Q</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi></mrow><mi>A</mi></msubsup></mrow></msub><mo>-</mo><msub><mi>Y</mi><mrow><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><msubsup><mi>Q</mi><mrow><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi></mrow><mi>B</mi></msubsup></mrow></msub><mo>|</mo><mo>&lt;</mo><msub><mi>Threshold</mi><mi>Y</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB00001417249800000112.GIF" wi="1784" he="132" /></maths>3)对所有满足上述公式的点对集合计算Difference的值;即:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>Difference</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>W</mi><mi>w</mi></msub><msub><mi>w</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub></mrow><msub><mi>Threshold</mi><mi>w</mi></msub></mfrac><mo>+</mo><mfrac><mrow><msub><mi>W</mi><mi>X</mi></msub><msub><mi>X</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub></mrow><msub><mi>Threshold</mi><mi>X</mi></msub></mfrac><mo>+</mo><mfrac><mrow><msub><mi>W</mi><mi>Y</mi></msub><msub><mi>Y</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub></mrow><msub><mi>Threshold</mi><mi>Y</mi></msub></mfrac><mo>+</mo><mfrac><mrow><msub><mi>W</mi><mi>&theta;</mi></msub><msub><mi>&theta;</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub></mrow><msub><mi>Threshold</mi><mi>&theta;</mi></msub></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FSB00001417249800000113.GIF" wi="1749" he="146" /></maths>其中,W<sub>w</sub>,W<sub>X</sub>,W<sub>Y</sub>,W<sub>θ</sub>分别代表了特征向量相对应分量的权重,四个阀值Threshold<sub>w</sub>,Threshold<sub>θ</sub>,Threshold<sub>X</sub>,Threshold<sub>Y</sub>都是在系统开始运行之前得以设定的;可以根据特征点间距离的变化而适当的进行调节,能够在一定程度上适应由于细节点间的距离变化而增大了非线性形变带来的影响;4)确定该象限中的匹配邻近点;如果在相同的象限中,当a和d取不同值的时候,有多对点能够同时使得公式Difference成立,那么就能确定该象限中的匹配邻近点:(1)当a取不同值的时候,会有多个不同的d值与之相对应,能够有多对一一对应点满足以上公式,则记所有满足条件的点对为该象限中的匹配邻近点;(2)当a取不同的两个或者三个值的时候,都有同一个d值满足以上条件公式的时候,则在对应点对中选取差异值(Difference)最小的一对作为最佳匹配比对点,放弃其他点对值;5)计算第N个象限中相似度<img file="FSB0000141724980000021.GIF" wi="252" he="88" />在找出了第N个象限中所有匹配邻近点后,设定匹配的邻近点组合以及匹配的点对数n<sub>a,b,c</sub>;通过公式<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>S</mi><mi>N</mi></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><msub><mi>n</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi></mrow></msub></munder><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>Differennce</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>d</mi><mo>,</mo><mi>e</mi></mrow></msub><mrow><msub><mi>W</mi><mi>w</mi></msub><mo>+</mo><msub><mi>W</mi><mi>X</mi></msub><mo>+</mo><msub><mi>W</mi><mi>Y</mi></msub><mo>+</mo><msub><mi>W</mi><mi>&theta;</mi></msub></mrow></mfrac><mo>)</mo></mrow></mrow>]]></math><img file="FSB0000141724980000022.GIF" wi="913" he="159" /></maths>计算第N个象限中相似度<img file="FSB0000141724980000023.GIF" wi="252" he="88" />如果该象限内,如果不存在满足上式条件的点对时,或者任一方的邻近点<img file="FSB0000141724980000024.GIF" wi="78" he="53" />或是<img file="FSB0000141724980000025.GIF" wi="101" he="66" />不存在的时候,则可以表明该象限内的相似度<img file="FSB0000141724980000026.GIF" wi="241" he="77" />为0;6)比对各个象限内的邻近点对之间的相似度<img file="FSB0000141724980000027.GIF" wi="263" he="92" />7)判断相对应的特征点周围的纹线走向是否相似;点集合周围的纹线趋势来自同一幅指纹的两幅指纹图像中,相对应的特征点周围的纹线走向也是相似的,如果满足公式<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>Z</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi></mrow></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><mo>|</mo><mi>d</mi><mrow><mo>(</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>w</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>w</mi><mrow><mi>a</mi><mo>,</mo><msub><mi>Y</mi><mi>N</mi></msub></mrow><mi>A</mi></msubsup><mo>)</mo></mrow><mo>,</mo><mi>d</mi><mrow><mo>(</mo><msubsup><mi>w</mi><mi>b</mi><mi>B</mi></msubsup><mo>,</mo><msubsup><mi>w</mi><msub><mi>bY</mi><mi>N</mi></msub><mi>B</mi></msubsup><mo>)</mo></mrow><mo>)</mo></mrow><mo>|</mo><mo>&lt;</mo><msub><mi>Threshold</mi><mi>Z</mi></msub><mo>,</mo></mrow>]]></math><img file="FSB0000141724980000028.GIF" wi="1054" he="164" /></maths>则说明点集合周围的纹线趋势是相似的,其中,Threshold<sub>Z</sub>是给定的阀值;8)计算细节特征向量的中心特征点;<img file="FSB0000141724980000029.GIF" wi="58" he="62" />和<img file="FSB00001417249800000210.GIF" wi="58" he="62" />之间的纹线走向相似度使用<img file="FSB00001417249800000211.GIF" wi="237" he="78" />来表示,其中W<sub>Z</sub>是与纹线走向相关联的权重;<img file="FSB0000141724980000031.GIF" wi="1110" he="222" />9)计算<img file="FSB0000141724980000032.GIF" wi="58" he="61" />和<img file="FSB0000141724980000033.GIF" wi="58" he="61" />邻近区域的指纹纹线走向相似度<img file="FSB0000141724980000034.GIF" wi="261" he="91" />10)计算匹配相似度<img file="FSB0000141724980000035.GIF" wi="240" he="91" /><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>S</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>N</mi><mo>=</mo><mn>1</mn></mrow><mn>4</mn></munderover><msub><mi>S</mi><mi>N</mi></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>S</mi><mi>Z</mi></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FSB0000141724980000036.GIF" wi="841" he="135" /></maths><img file="FSB0000141724980000037.GIF" wi="58" he="60" />与<img file="FSB0000141724980000038.GIF" wi="58" he="61" />之间的相似度表明了其匹配的可靠度,<img file="FSB0000141724980000039.GIF" wi="216" he="76" />的值越大,则表明两个点存在的匹配可能性越大;11)判断<img file="FSB00001417249800000310.GIF" wi="58" he="62" />与<img file="FSB00001417249800000311.GIF" wi="57" he="61" />是否是一对相对应的特征点;<img file="FSB00001417249800000312.GIF" wi="469" he="77" />(Threshold为阀值)如果成立,则能够判断出<img file="FSB00001417249800000313.GIF" wi="57" he="62" />与<img file="FSB00001417249800000314.GIF" wi="58" he="63" />是一对相对应的特征点;12)计算出所有满足匹配条件的对应点对的集合<img file="FSB00001417249800000315.GIF" wi="207" he="105" />设定所有满足匹配条件的对应点对的集合为<img file="FSB00001417249800000316.GIF" wi="233" he="96" />其中m=1,2,...N<sub>r</sub>,N<sub>r</sub>≤min{N,a};13)计算<img file="FSB00001417249800000317.GIF" wi="260" he="76" />和<img file="FSB00001417249800000318.GIF" wi="261" he="77" />的匹配相似度<img file="FSB00001417249800000319.GIF" wi="239" he="93" />14)根据基于QNMV的比对分数来计算指纹匹配分数,即:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>Matchscore</mi><mi>QNMV</mi></msub><mo>=</mo><mi>&Sigma;S</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mi>a</mi><mi>A</mi></msubsup><mo>,</mo><msubsup><mi>P</mi><mi>b</mi><mi>B</mi></msubsup><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FSB00001417249800000320.GIF" wi="672" he="92" /></maths>15)判断两幅图像是否匹配;根据Matchscore<sub>QNMV</sub>分数范围来判断两幅图像是否是来自同一手指,其鉴定的阀值,是根据系统安全性要求而设定的;16)结束指纹匹配分数计算;17)进行指纹匹配判断;18)将匹配结果返回硬件系统。
地址 430081 湖北省武汉市青山区和平大道947号