本发明涉及指纹识别领域,更具体地,涉及一种快速的指纹连续分布方向图平滑方法及装置。
背景技术
指纹识别的一个重要步骤是方向图的计算,求取方向图的准确性对提高指纹识别的准确性有重要意义。方向图分为点方向图和块方向图,点方向图具有连续性和渐变性,过渡自然,但容易受噪声影响,鲁棒性差,往往不能直接使用;而块方向图对噪声的鲁棒性较好,但过渡性差,不能精确反映指纹纹线的真实走向。对方向图进行平滑操作能有效抑制噪声的干扰,使方向图更加贴近指纹纹线的真实走向,提高方向图的准确性。
针对点方向图抗噪性差的特点,有学者提出一种基于方向直方图平滑的连续分布方向图的计算方法,参阅参考文献:一种新的指纹方向图——连续分布方向图的研究[j].聂桂军,吴陈,杨恩鹏,等.江苏科技大学学报(自然科学版),2004,18(6):60-65,这种平滑点方向图具有很好的连续性、渐变性和抗噪性,准确性高,在脊线方向变化的临界区域过渡平滑自然,能很好地反映指纹纹线的真实走向。但这种方法运算时间较长,且在实际应用中往往需要进行多次平滑导致运算时间随平滑次数成倍增加,难以满足系统实时性的要求,这是因为除了第一次平滑以外,后续的平滑操作仍然对所有点进行处理,而实际上很多点是不需要再进行平滑操作的,对这些点进行平滑导致了计算时间的增加和计算资源的开销。
技术实现要素:
为了解决上述问题,本发明提供了一种快速的指纹连续分布方向图平滑方法及装置,在不损失平滑效果的基础上有效地减少连续分布方向图多次平滑所需的时间,提高连续分布方向图的计算速度。
本发明解决其问题所采用的技术方案是:
一种快速的指纹连续分布方向图平滑方法,包括以下步骤:
获取未经平滑的指纹点方向图;
遍历指纹点方向图上的每一个方向点,对每一个方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图;
按预设次数对指纹连续分布方向图进行如下操作:遍历指纹连续分布方向图上的每一个方向点,对自身的方向与周围的点的方向不完全相同的方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图;
输出指纹连续分布方向图。
进一步,所述平滑操作包括以下步骤:
以选择的方向点为中心构建平滑窗口;
对平滑窗口范围内的所有方向点进行方向直方图统计;
把方向直方图中峰值所对应的方向点作为新的方向点。
进一步,所述平滑窗口大小为边长为w的正方形,w的取值由指纹脊线的周期决定。
进一步,判断指纹连续分布方向图上任一方向点的方向与周围的点的方向不完全相同的数学表达式如下:
p表示该方向点的点方向值,pi表示该方向点周围的某一方向点的点方向值。
进一步,获取未经平滑的指纹点方向图之前先获取原始指纹图像,并经过指纹图像规格化和指纹点方向图计算两个步骤处理。
进一步,所述指纹点方向图的计算方法是掩膜法。
一种快速的指纹连续分布方向图平滑装置,包括:
点方向图获取模块,用于获取未经平滑的指纹点方向图;
首次平滑模块,用于遍历指纹点方向图上的每一个方向点,对每一个方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图;
后续平滑模块,用于按预设次数对指纹连续分布方向图进行如下操作:遍历指纹连续分布方向图上的每一个方向点,对自身的方向与周围的点的方向不完全相同的方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图;
输出模块,用于输出指纹连续分布方向图。
进一步,所述平滑操作包括以下步骤:
以选择的方向点为中心构建平滑窗口;
对平滑窗口范围内的所有方向点进行方向直方图统计;
把方向直方图中峰值所对应的方向点作为新的方向点。
进一步,所述后续平滑模块判断指纹连续分布方向图上任一方向点的方向与周围的点的方向不完全相同的数学表达式如下:
p表示该方向点的点方向值,pi表示该方向点周围的某一方向点的点方向值。
进一步,所述点方向图获取模块获取未经平滑的指纹点方向图之前先获取原始指纹图像,并经过指纹图像规格化和指纹点方向图计算两个步骤处理。
一种快速的指纹连续分布方向图平滑装置,包括处理器和存储有多条指令的存储器,所述指令适于由处理器加载并由处理器执行上述快速的指纹连续分布方向图平滑方法。
本发明的有益效果是:本发明的多次平滑方法通过在除第一次平滑的后续平滑过程中只对位于方向交界处的点进行平滑处理,即先查找指纹连续分布方向图上方向与周围的点的方向不同的方向点,省去对与周围同方向的方向点的平滑操作,有效地减少了连续分布方向图多次平滑所需的时间,提高了指纹识别连续分布方向图的计算速度和满足指纹识别的实时性要求。
附图说明
下面结合附图和实施例对本发明作进一步说明。
图1是本发明实施例的主要流程图;
图2是本发明实施例的详细流程图;
图3是本发明实施例的中心方向点和周围方向点的领域图;
图4是本发明实施例的掩膜法方向图计算模版;
图5是本发明实施例的模块的连接关系图。
具体实施方式
参照图1和图2,一种快速的指纹连续分布方向图平滑方法,包括以下步骤:
获取未经平滑的指纹点方向图;
从左到右、从上到下遍历指纹点方向图上的每一个方向点,对每一个方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图;
按预设次数对指纹连续分布方向图进行如下操作:从左到右、从上到下遍历指纹连续分布方向图上的每一个方向点,对自身的方向与周围的点的方向不完全相同的方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图,参照图3,指纹连续分布方向图上任一方向点的方向与周围的点的方向不完全相同的数学表达式如下:
p表示该方向点的点方向值,pi表示该方向点周围的某一方向点的点方向值;
经过预设次数的平滑后输出最后的指纹连续分布方向图。
其中,所述平滑操作包括以下步骤:
以选择的方向点为中心构建平滑窗口,所述平滑窗口大小为边长为w的正方形,w的取值由指纹脊线的周期决定,本实施例中w=17;
对平滑窗口范围内的所有方向点进行方向直方图统计;
把方向直方图中峰值所对应的方向点作为新的方向点。
获取未经平滑的指纹点方向图之前先获取原始指纹图像,并经过指纹图像规格化和指纹点方向图计算两个步骤处理;
其中指纹图像规格化中,减少沿脊和谷方向上的灰度级的变化,把不同源的指纹图像的对比度和灰度调整到一个固定的级别上,使不同的图像具有相同的灰度均值和方差,为后续处理提供一个较为统一的图像规格,因此按如下公式对指纹图像进行规格化:
其中i(x,y)表示原始指纹图像在(x,y)处的像素灰度值,mean和var分别表示原始指纹图像的灰度均值和方差,g(x,y)表示规格化后的指纹图像在(x,y)处的像素灰度值,mean0和var0分别表示期望的灰度均值和方差,本实施例中两者均取100。
其中指纹点方向图的掩膜法计算模版参照图4,其计算方法与背景技术中涉及到的参考文献中的内容相类似,在此基础上加上角度π表示无方向,最终得到方向值取[0,π]之间的9个相距
(1)对规格化后的指纹图像中的每一点p(x,y),构建如图3所示的9×9方向计算窗口,对图3中分别表示八个方向的pi(i为0到7的自然数)像素的灰度求均值,得到八个方向的灰度均值gmean[i];
(2)将这八个方向的灰度均值按两两垂直的方式分为4组:0和4、1和5、2和6、3和7,分别计算每组中两个平均值的差的绝对值gdiff[j],表达式如下:
gdiff[j]=|gmean[j]-gmean[j+4]|,
其中j=0,1,2,3;
(3)如果gdiff[j]的最大值gdiff[jmax]与最小值gdiff[jmin]之间的差值的绝对值小于1,则像素点p(x,y)的方向d(x,y)=π,否则:
经过上述计算后得到未经平滑的指纹点方向图。
参照图5,一种快速的指纹连续分布方向图平滑装置,包括:
点方向图获取模块,用于获取未经平滑的指纹点方向图;
首次平滑模块,用于从左到右、从上到下遍历指纹点方向图上的每一个方向点,对每一个方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图;
后续平滑模块,用于按预设次数对指纹连续分布方向图进行如下操作:从左到右、从上到下遍历指纹连续分布方向图上的每一个方向点,对自身的方向与周围的点的方向不完全相同的方向点进行平滑操作后得到新的方向点,由所有新的方向点构成指纹连续分布方向图,所述后续平滑模块判断指纹连续分布方向图上任一方向点的方向与周围的点的方向不完全相同的数学表达式如下
p表示该方向点的点方向值,pi表示该方向点周围的某一方向点的点方向值;
输出模块,用于经过预设次数的平滑后输出最后的指纹连续分布方向图。
其中,所述平滑操作包括以下步骤:
以选择的方向点为中心构建平滑窗口,所述平滑窗口大小为边长为w的正方形,w的取值由指纹脊线的周期决定,本实施例中w=17;
对平滑窗口范围内的所有方向点进行方向直方图统计;
把方向直方图中峰值所对应的方向点作为新的方向点。
所述点方向图获取模块获取未经平滑的指纹点方向图之前先获取原始指纹图像并经过指纹图像规格化模块和指纹点方向图计算模块两个模块进行处理;
其中指纹图像规格化中,减少沿脊和谷方向上的灰度级的变化,把不同源的指纹图像的对比度和灰度调整到一个固定的级别上,使不同的图像具有相同的灰度均值和方差,为后续处理提供一个较为统一的图像规格,因此按如下公式对指纹图像进行规格化:
其中i(x,y)表示原始指纹图像在(x,y)处的像素灰度值,mean和var分别表示原始指纹图像的灰度均值和方差,g(x,y)表示规格化后的指纹图像在(x,y)处的像素灰度值,mean0和var0分别表示期望的灰度均值和方差,本实施例中两者均取100。
其中指纹点方向图的掩膜法计算模版参照图4,其计算方法与背景技术中涉及到的参考文献中的内容相类似,在此基础上加上角度π表示无方向,最终得到方向值取[0,π]之间的9个相距
(1)对规格化后的指纹图像中的每一点p(x,y),构建如图3所示的9×9方向计算窗口,对图3中分别表示八个方向的pi(i为0到7的自然数)像素的灰度求均值,得到八个方向的灰度均值gmean[i];
(2)将这八个方向的灰度均值按两两垂直的方式分为4组:0和4、1和5、2和6、3和7,分别计算每组中两个平均值的差的绝对值gdiff[j],表达式如下:
gdiff[j]=|gmean[j]-gmean[j+4]|,
其中j=0,1,2,3;
(3)如果gdiff[j]的最大值gdiff[jmax]与最小值gdiff[jmin]之间的差值的绝对值小于1,则像素点p(x,y)的方向d(x,y)=π,否则:
经过上述计算后得到未经平滑的指纹点方向图,由所述指纹点方向图计算模块发送到所述点方向图获取模块。
一种快速的指纹连续分布方向图平滑装置,包括处理器和存储有多条指令的存储器,所述指令适于由处理器加载并由处理器执行上述快速的指纹连续分布方向图平滑方法,例如,执行以上描述的图1和图2中的方法步骤。
本发明实施例中详细说明了原始指纹图像经过指纹图像规格化、指纹点方向图计算和指纹连续分布方向图平滑这三个步骤的处理,重点在于对指纹连续分布方向图上方向点进行平滑的方法,相比于传统的每次平滑均对所有点进行计算的方法,本发明通过在除第一次平滑的后续平滑过程中只对位于方向交界处的点进行平滑处理,即先查找指纹连续分布方向图上方向与周围的点的方向不同的方向点,省去对与周围同方向的方向点的平滑操作,有效地减少了连续分布方向图多次平滑所需的时间,提高了指纹识别连续分布方向图的计算速度和满足指纹识别的实时性要求。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。