指纹弹性形变矫正的方法及装置
技术领域
本发明涉及自动指纹识别系统,尤其是一种指纹弹性形变矫正的方法及装置。
背景技术
自动指纹识别系统(automated fingerprint identification system,简称AFIS)有着广泛的应用背景。目前对自动指纹识别系统的研究主要有四个方面,即图像增强、指纹分类、指纹特征提取和细节匹配,其指纹识别系统框图如图1所示。其中对指纹形变进行处理的工作集中于细节匹配中,其过程主要为待测样本特征信息形变矫正与匹配门限值内的特征点的匹配度计算。现有技术主要解决了指纹的钢性形变问题,并没有提出专门的方法对指纹弹性形变进行矫正。
在图形处理领域,对曲面的形变提出了多种方法,如NURBS对自由形状和解析曲线曲面提供统一的表达式,广泛的应用于计算机辅助设计(CAD)、计算机图形学和计算机视觉等领域。以上处理方法虽然能很好解决曲面的形变问题,但指纹识别的运用多在计算资源受限制的情况下,显然拥有复杂矩阵变化的三维曲面方法并不适用于计算资源受限环境下的指纹识别技术运用。
在图形学处理应用领域如计算机辅助设计,对计算资源的消耗不是主要考虑因素,导致其曲面变形处理方法不能在如资源受限的指纹识别领域应用。
在资源受限的指纹识别应用中,仅对指纹的钢性形变进行矫正,未对弹性形变提出专门的矫正方法。
发明内容
本发明为了解决上述问题,公开了一种指纹弹性形变矫正的方法及装置,其目的在于:在指纹采集时采集的指纹图像会因手指压力改变或压力方向改变而产生弹性形变,利用指纹的待测样本与指纹模板的数值化信息差异,得到指 纹弹性形变矫正参数,根据矫正参数矫正待测样本的弹性形变,从而提高指纹匹配的准确率,减少指纹匹配的误识率和拒识率。
具体地说,本发明公开了一种指纹弹性形变矫正方法,用于自动指纹识别处理,包括如下步骤:
步骤S01,按模板图像大小,对指纹图像进行分块;
步骤S02,选择模板图像与已经过旋转、平移的待测指所述步骤S12包括:
0010] 步骤S03,在模板指纹特征值中,以“搜索模板匹配三角形顶点范围”为限制条件,搜寻与中心点Ct距离最近的特征点作为模板匹配三角形顶点Tt1;
步骤S04,在模板指纹特征值中,以“搜索模板匹配三角形基点范围”为限制条件,搜寻与Tt1点距离最近的特征点作为模板匹配三角形的基点Tt2、Tt3;
步骤S05,搜索待测指纹匹配三角形顶点Tm1,搜索待测指纹匹配三角形顶点过程与上述S03步骤相同;
步骤S06,搜索待测指纹匹配三角形基点Tm2,Tm3,搜索待测指纹匹配三角形基点过程与上述S04步骤相同;
步骤S07,计算两组匹配三角三边长{DISTt1_Tt2,DISTt1_Tt3,DISTt3_Tt2},{DISTm1_Tm2,DISTm1_Tm3,DISTm3_Tm2}、边长累计误差Δmdis及三角形三点的特征点方向累计误差Δmα;
步骤S08,确定两匹配三角形是否匹配:
如果{Δmdis,Δmα}皆小于对应匹配门限值{Mdis,Mα},则匹配三角形匹配通过;
如果无法取得匹配三角形则跳出处理过程,证明待测指纹图与模板指纹图存在很大的差异性;
步骤S09,已匹配三角形的垂心Rm,作为弹性形变矫正参考点;
步骤S10,确定初步弹性形变矫正参数;
步骤S11,确定弹性形变矫正参数;
步骤S12,弹性形变矫正,使用通过二维空域滤波的矫正参数,对待测指纹特征数据进行矫正。
所述步骤S07包括:
步骤S0701,计算两组匹配三角三边长度:
其中(XTt1,YTt1),(XTt2,YTt2)为匹配三角形Tt1,Tt2点坐标;
步骤S0702,计算两组匹配三角三边长度累计误差:
Δmdis=|DISTt1_Tt2-DISTm1_Tm2|+|DISTt1_Tt3-DISTm1_Tm3|
+|DISTt3_Tt2-DTm3_Tm2|
步骤S0703,计算三角形三点的特征点方向累计误差:
Δmα=|αTt1-αTm1|+|αTt2-αTm2|+|αTt3-αTm3|
所述步骤S08还包括重复步骤S07直到获取匹配三角形。
所述步骤S08还包括:
步骤S0801,在待测匹配三角形基点范围内,重新选择待测匹配三角形基点;
步骤S0802.在待测匹配三角形顶点范围内,重新选择待测匹配三角形顶点;
步骤S0803.在模板匹配三角形基点范围内,重新选择模板匹配三角形基点;
步骤S0804.在模板匹配三角形顶点范围内,重新选择模板匹配三角形顶点。
所述步骤S10包括:
步骤S101,确定用于矫正参数确定的匹配点对;
步骤S102,确定初步长度矫正参数;
步骤S103,确定初步特征点方向矫正参数。
所述步骤S101包括:
步骤S1011,计算矫正参考点与特征点距离,得到待测指纹矫正参考点与特征点距离数组和模板指纹矫正参考点与特征点距离数组:
(Rmdis1,Rmdis2,Rmdis3,…)、(Rtdis1,Rtdis2,Rtdis3,…);
步骤S1012,计算矫正参考点与特征点连线与坐标轴的夹角Rα,得到待测指纹矫正参考点与坐标轴的夹角数组和模板指纹矫正参考点与坐标轴的夹角数组:
(Rmα1,Rmα2,Rmα3,…)、(Rtα1,Rtα2,Rtα3,…);
步骤S1013,确定匹配点对:
{Δndis1,Δndis2,Δndis3,…}=|(Rtdis1,Rtdis2,Rtdis3…)-(Rmdis1,Rmdis2,Rmdis3…)|
{Δnα1,Δnα2,Δnα3,…}=|(Rtα1,Rtα2,Rtα3…)-(Rmα1,Rmα2,Rmα3…)|当{Δndis,Δnα}小于匹配点对门限值{Ndis,Nα}时,认为当前匹配点对可选择用于计算长度与方向矫正参数;
其中,将待测指纹矫正参考点为Rm,坐标为(XRm,YRm),模板指纹矫正参考点为Rt (XRt,YRt)。
所述步骤S102包括:对于有效匹配点对,根据以下公式确定初步长度矫正参数:
Ydis=Rtdis/Rmdis。
所述步骤S103包括:对于有效匹配点对,根据以下公式确定初步特征点方向矫正参数:
Yα=Rtα/Rmα。
所述步骤S11包括如下步骤:
S1101,初步矫正参数领域填充,将分离的针对具体点的矫正参数向整幅 指纹采集图进行扩展;
S1102,通过二维空域滤波,对扩充后的矫正参数进行滤波,减少伪细节特征点、细节特征点损失对矫正参数的影响,将局部矫正参数扩展到指纹图全局。
所述步骤S12包括:
步骤S1201,长度弹性形变矫正,其中New_Rmdis为矫正后的长度值:
New_Rmdis=Rmdis×New_Nγdis
步骤S1202,特征点方向弹性形变矫正,其中New_Rα为矫正后的方向值:
New_Rα=Rα×New_Nγα。
本发明还公开了一种指纹弹性形变矫正装置,用于自动指纹识别处理,包括:
分块模块,用于对指纹图像按模板图像大小进行分块;
指纹图像中心点确定模块,用于选择模板图像与已经过旋转、平移的待测指纹图像的中心点Ct与Cm点;
搜索模块,用于在模板指纹特征值中,以“搜索模板匹配三角形顶点范围”为限制条件,搜寻与中心点Ct距离最近的特征点作为模板匹配三角形顶点Tt1;以“搜索模板匹配三角形基点范围”为限制条件,搜寻与Tt1点距离最近的特征点作为模板匹配三角形的基点Tt2、Tt3;以及用于搜索待测指纹匹配三角形顶点Tm1,基点Tm2、Tm3;
计算模块,用于计算两组匹配三角三边长{DISTt1_Tt2,DISTt1_Tt3,DISTt3_Tt2},{DISTm1_Tm2,DISTm1_Tm3,DISTm3_Tm2}、边长累计误差Δmdis及三角形三点的特征点方向累计误差Δmα;
判断模块,用于确定两匹配三角形是否匹配:如果{Δmdis,Δmα}皆小于对应匹 配门限值{Mdis,Mα},则匹配三角形匹配通过;如果无法取得匹配三角形则跳出处理过程,证明待测指纹图与模板指纹图存在很大的差异性;
确定模块,用于将已匹配三角形的垂心Rm,作为弹性形变矫正参考点;以确定初步弹性形变矫正参数和弹性形变矫正参数;
弹性形变矫正模块,用于使用通过二维空域滤波的矫正参数,对待测指纹特征数据进行矫正。
所述计算模块包括:
两组匹配三角三边长计算模块,用于计算两组匹配三角三边长:
其中(XTt1,YTt1),(XTt2,YTt2)为匹配三角形Tt1,Tt2点坐标;
两组匹配三角三边长度累计误差计算模块,用于计算两组匹配三角三边长度累计误差:
Δmdis=|DISTt1_Tt2-DISTm1_Tm2|+|DISTt1_Tt3-DISTm1_Tm3|
+|DISTt3_Tt2-DISTm3_Tm2|
三角形三点的特征点方向累计误差计算模块,用于计算三角形三点的特征点方向累计误差:
Δmα=|αTt1-αTm1|+|αTt2-αTm2|+|αTt3-αTm3|
所述确定模块包括:匹配点对确定模块,用于确定矫正参数确定的匹配点对,并确定初步长度矫正参数和初步特征点方向矫正参数。
所述匹配点对确定模块包括:
计算单元,用于计算矫正参考点与特征点距离,以得到待测指纹矫正参考点与特征点距离数组和模板指纹矫正参考点与特征点距离数组。
(Rmdis1,Rmdis2,Rmdis3,…)、(Rtdis1,Rtdis2,Rtdis3,…);
以及,用于计算矫正参考点与特征点连线与坐标轴的夹角Rα,以得到待测指纹矫正参考点与坐标轴的夹角数组和模板指纹矫正参考点与坐标轴的夹角数组:
(Rmα1,Rmα2,Rmα3,…)、(Rtα1,Rtα2,Rtα3,…);
从而确定匹配点对:
{Δndis1,Δndis2,Δndis3,…}=|(Rtdis1,Rtdis2,Rtdis3…)-(Rmdis1,Rmdis2,Rmdis3…)|
{Δnα1,Δnα2,Δnα3,…}=|(Rtα1,Rtα2,Rtα3…)-(Rmα1,Rmα2,Rmα3…)|当{Δndis,Δnα}小于匹配点对门限值{Ndis,Nα}时,认为当前匹配点对可选择用于计算长度与方向矫正参数;
其中,将待测指纹矫正参考点为Rm,坐标为(XRm,YRm),模板指纹矫正参考点为Rt(XRt,YRt)。
所述确定模块包括:
填充单元,用于初步矫正参数全局填充,将分离的针对具体点的矫正参数向整幅指纹采集图进行扩展;
滤波单元,用于通过二维空域滤波,对扩充后的矫正参数进行滤波,减少伪细节特征点、细节特征点损失对矫正参数的影响,将局部矫正参数扩展到指纹图全局。
所述弹性形变矫正模块包括:
长度弹性形变矫正单元,用于长度弹性形变矫正;
特征点方向弹性形变矫正单元,用于特征点方向弹性形变矫正。
本发明的技术效果在于:
通过二维空域滤波器,对矫正参数进行滤波处理,将局部矫正参数扩展到指纹图全局,同时避免干扰信息对矫正的影响。
通过一种简单的对计算资源需求不大的方法,对指纹弹性形变进行矫正,而且此方法能在嵌入式处理系统中、专用集成电路设计方式下使用。
附图说明
图1为现有技术中指纹识别系统框图;
图2为具有弹性形变处理的指纹识别流程框图;
图3为本发明指纹弹性形变矫正的指纹特征数据图;
图4为本发明指纹弹性形变矫正的处理流程图;
图5为本发明指纹弹性形变矫正的处理流程中指纹图像分块图;
图6为本发明中中心模板图像;
图7为本发明中待测指纹图像;
图8为本发明中弹性形变矫正参考点确定图;
图9为本发明中弹性形变矫正参数确定图。
具体实施方式
本指纹弹性形变矫正方法,通过处理三维指纹曲面在二维平面上的投影图像信息,得到弹性形变矫正参数,通过弹性形变矫正参数矫正待测指纹的特征信息,减少因指纹弹性形变影响而导致特征点信息(特征点方向、特征点坐标)的误差,从而提高指纹识别的准确率。本方法实现方式简单,利于资源受限环境中的使用,如嵌入式处理、集成电路设计领域。
指纹弹性形变矫正是自动指纹识别处理过程中的一个中间过程,其在指纹识别过程中的位置如图2所示。在通常的钢性形变处理(指纹旋转、平移)后,插入弹性形变处理过程。
在弹性形变处理时,可利用的指纹特征数据如图3所示,包括特征点方向(α)、特征点坐标(x,y)。
指纹弹性形变矫正的处理流程如图4所示,其流程说明如下:
步骤S01,指纹图像分块,按模板图像大小,对指纹图像进行分块,如图5。
步骤S02,指纹图像中心点确定,选择中心模板图像与待测指纹图像(已经过旋转、平移)的中心点,如图6、图7中的Ct与Cm点。
步骤S03,搜索模板匹配三角形顶点,在模板指纹特征值中,以“搜索模板匹配三角形顶点范围”为限制条件,搜索与Ct点距离最近的特征点作为模板匹配三角形顶点(Tt1)。
(1)“搜索模板匹配三角形顶点范围”,是一个可调节参数,由指纹采集仪器的分辨率等因素具体确定,在本发明的实例中,设定10x10的指纹图像块区域为“搜索模板匹配三角形顶点范围”,见图6。
(2)搜索与Ct点距离最近的特征点作为模板匹配三角形顶点(Tt1),具体方式为,以顺时针方向(虚线示例方向,见图6),在“搜索模板匹配三角形顶点范围”中依次从块0到块99依次搜寻细节特征点,在本发明的实例中,以上述方式搜索到第22指纹图像块时,可确定模板匹配三角形顶点(Tt1)。
步骤S04,搜索模板匹配三角形基点,在模板指纹特征值中,以“搜索模板匹配三角形基点范围”为限制条件,搜寻与Tt1点距离最近的特征点作为模板匹配三角形的基点(Tt2,Tt3)。
(1)在本发明的实例中,“搜索模板匹配三角形基点范围”,设定为5x5。
(2)搜索与Tt1点距离最近的两个特征点作为模板匹配三角形基点,具体方式为,以顺时针方向,在“搜索模板匹配三角形基点范围”中依次搜索从块0到块24依次搜索,可确定模板匹配三角形基点(Tt2,Tt3)。
步骤S05,搜索待测指纹匹配三角形顶点,搜索待测指纹匹配三角形顶点过程与上述S03步骤的方法相同,可搜索到待测指纹匹配三角形顶点(Tm1点)。
步骤S06,搜索待测指纹匹配三角形基点,搜索待测指纹匹配三角形基点过程与上述S04步骤的方法相同,可搜索到待测指纹匹配三角形顶点(Tm2,Tm3点)。
按本发明,可发现“模板指纹匹配三角形”(Tt1,Tt2,Tt3)与“待测指纹匹配三角形”(Tm1,Tm2,Tm3)最终不能匹配,最后能成功匹配的为“模板指纹匹配三角形”(由顶点Tt1,基点Tt2,Tt3构成)与“待测指纹匹配三角形”(由基点Tm2,基点Tm3,Tm4构成)。
步骤S07,匹配三角形匹配计算,包括:计算三边长累计误差和三角形三点的特征点方向累计误差。
步骤S0701,计算边长(例如Tt1与Tt2构成的边长计算式)
其中(XTt1,YTt1),(XTt2,YTt2)为匹配三角形Tt1,Tt2点坐标步骤S0702,计算三边长度累计误差:
Δmdis=|DISTt1_Tt2-DISTm1_Tm2|+|DISTt1_Tt3-DISTm1_Tm3|
+|DISTt3_Tt2-DISTm3_Tm2|
步骤S0703,计算三角形三点的特征点方向累计误差:
Δmα=|αTt1-αTm1|+|αTt2-αTm2|+|αTt3-αTm3|
步骤S08,确定两匹配三角形是否匹配。
如果{Δmdis,Δmα}皆小于对应匹配门限值{Mdis,Mα}则匹配三角形匹配通过。
反之依次通过S0801、S0802、S0803、S0804、S0805步骤,重新选择可匹配的待测匹配三角形与模板匹配三角形的顶点、基点。
步骤S0801.在搜索待测匹配三角形基点范围内(该范围与S04步骤相同),重新选择待测匹配三角形基点。
步骤S0802.在搜索待测匹配三角形顶点范围内,重新选择待测指纹匹配三角形顶点。
步骤S0803.在搜索模板匹配三角形基点范围内,重新选模板指纹匹配三角形基点。
步骤S0804.在搜索模板匹配三角形顶点范围内,重新选择搜索模板匹配三角形顶点。
步骤S0805.重复匹配三角形匹配计算,直到获取匹配三角形,如无法取得匹配三角形则跳出处理过程,证明待测指纹图与模板指纹图存在很大的差异性。
步骤S09,弹性形变矫正参考点确定,以两模板与待测匹配三角形的垂心(即待测指纹矫正参考点),作为弹性形变矫正参考点,如图8所示。
步骤S10,初步弹性形变矫正参数确定,将待测指纹矫正参考点记为Rm,坐标为(XRm,YRm),模板指纹矫正参考点记为Rt(XRt,YRt),初步弹性形变矫正参数计算步骤如下:
S101,确定用于矫正参数确定的匹配点对。
S1011,分别计算模板、待测指纹中矫正参考点与所有特征点的距离。
得到待测指纹矫正参考点与待测指纹中所有特征点距离数组
(Rmdis1,Rmdis2,Rmdis3,…)
得到模板指纹矫正参考点与模板指纹中所有特征点距离数组
(Rtdis2,Rtdis2,Rtdis3,…)
S1012,分别计算模板、待测指纹中矫正参考点与所有特征点连线与坐标轴的夹角Rα。
得到待测指纹中矫正参考点与所有特征点连线与坐标轴的夹角数组
(Rmα1,Rmα2,Rmα3,…)
得到模板指纹中矫正参考点与所有特征点连线与坐标轴的夹角数组
(Rtα1,Rtα2,Rtα3,…)
S1013,确定匹配点对。
{Δndis1,Δndis2,Δndis3,…}=|(Rtdis1,Rtdis2,Rtdis3…)-(Rmdis1,Rmdis2,Rmdis3…)|
{Δnα1,Δnα2,Δnα3,…}=|(Rtα1,Rtα2,Rtα3…)-(Rmα1,Rmα2,Rmα3…)|
当{Δndis,Δnα}小于匹配点对门限值{Ndis,Nα}时,认为当前匹配点对可选择用于计算长度与方向的矫正参数。
步骤S102,确定初步长度矫正参数。对于有效匹配点对,根据以下公式确定初步长度矫正参数。
Ydis=Rtdis/Rmdis
步骤S103,确定初步特征点方向矫正参数。对于有效匹配点对,根据以下公式确定初步特征点方向矫正参数。
Yα=Rtα/Rmα
S11,最终确定弹性形变矫正参数,由于在图像采集过程,图像增强、细节提取等前置处理过程可能产生伪细节特征点、细节特征点损失等情况,在弹性形变矫正处理中,将对弹性形变矫正参数精度造成的一定程度影响,因而在此引入二维空域滤波,进一步提高弹性形变矫正参数的精确度,同时也表现出了指纹图在不同区域的弹性形变量。图9为示例,其处理经过以下步骤。
S1101,初步矫正参数全局填充,将分离的针对具体点的矫正参数向整幅指纹采集图进行扩展。
S1102,通过二维空域滤波,对扩充后的矫正参数进行滤波,减少伪细节特征点、细节特征点损失对矫正参数的影响,将局部矫正参数扩展到指纹图全局。
S12,弹性形变矫正,使用通过二维空域滤波的矫正参数,对待测指纹特征数据进行矫正。
S1201,长度弹性形变矫正,其中New_Rmdis为矫正后的长度值。
New_Rmdis=Rmdis×New_NYdis
S1202,特征点方向弹性形变矫正,其中New_Rα为矫正后的方向值。
New_Rα=Rα×New_Nα
根据以上所述的指纹弹性形变矫正方法,对图6(指纹模版)、图7(待测指纹)进行处理,得到如下结果:
指纹匹配时,特征点遗漏减少6%
匹配点对增加 8%
匹配度增加 11%
对拥有1000枚指纹的数据库在同样的匹配方式下:
误识率降低 0.03%
拒识率降低 0.2%
另外,本发明根据上述方法,还提出了一种指纹弹性形变矫正装置,用于 自动指纹识别处理,包括:
分块模块,用于对指纹图像按模板图像大小进行分块;
指纹图像中心点确定模块,用于选择模板图像与已经过旋转、平移的待测指纹图像的中心点Ct与Cm点;
搜索模块,用于在模板指纹特征值中,以“搜索模板匹配三角形顶点范围”为限制条件,搜寻与中心点Ct距离最近的特征点作为模板匹配三角形顶点Tt1;以“搜索模板匹配三角形基点范围”为限制条件,搜寻与Tt1点距离最近的特征点作为模板匹配三角形的基点Tt2、Tt3;以及用于搜索待测指纹匹配三角形顶点、基点;
计算模块,用于计算两组匹配三角三边长{DISTt1_Tt2,DISTt1_Tt3,D1STt3_Tt2},{DISTm2_Tm2,DISTm1_Tm3,DISTm3_Tm2}、边长累计误差Δmdis及三角形三点的特征点方向累计误差Δmα;
判断模块,用于确定两匹配三角形是否匹配:如果{Δmdis,Δmα}皆小于对应匹配门限值{Mdis,Mα},则匹配三角形匹配通过;如果无法取得匹配三角形则跳出处理过程,证明待测指纹图与模板指纹图存在很大的差异性;
确定模块,用于将已匹配三角形的垂心Rm,作为弹性形变矫正参考点;以确定初步弹性形变矫正参数和弹性形变矫正参数;
弹性形变矫正模块,用于使用通过二维空域滤波的矫正参数,对待测指纹特征数据进行矫正。
所述计算模块包括:
两组匹配三角三边长计算模块,用于计算两组匹配三角三边长:
其中(XTt1,YTt1),(XTt2,YTt2)为匹配三角形Tt1,Tt2点坐标;两组匹配三角三边长度累计误差计算模块,用于计算两组匹配三角三边长 度累计误差:
Δmdis=
|DISTt1_Tt2-DISTm1_Tm2|+|DISTt1_Tt3-DISTm1_Tm3|+|DISTt3_Tt2-DISTm3_Tm2|
三角形三点的特征点方向累计误差计算模块,用于计算三角形三点的特征点方向累计误差:
Δmα=|αTt1-αTm1|+|αTt2-αTm2|+|αTt3-αTm3|
所述确定模块包括:匹配点对确定模块,用于确定矫正参数确定的匹配点对,并确定初步长度矫正参数和初步特征点方向矫正参数。
所述匹配点对确定模块包括:
计算单元,用于计算矫正参考点与特征点距离,以得到待测指纹矫正参考点与特征点距离数组和模板指纹矫正参考点与特征点距离数组。
以及,用于计算矫正参考点与特征点连线与坐标轴的夹角Rα,以得到待测指纹矫正参考点与坐标轴的夹角数组和模板指纹矫正参考点与坐标轴的夹角数组,从而确定匹配点对。
当{Δndis,Δnα}小于匹配点对门限值{Ndis,Nα}时,认为当前匹配点对可选择用于计算长度与方向矫正参数;
其中,将待测指纹矫正参考点为Rm,坐标为{XRm,YRm},模板指纹矫正参考点为Rt{XRt,YRt}。
所述确定模块包括:
填充单元,用于初步矫正参数全局填充,将分离的针对具体点的矫正参数向整幅指纹采集图进行扩展;
滤波单元,用于通过二维空域滤波,对扩充后的矫正参数进行滤波,减少伪细节特征点、细节特征点损失对矫正参数的影响,将局部矫正参数扩展到指纹图全局。
所述弹性形变矫正模块包括:
长度弹性形变矫正单元,用于长度弹性形变矫正;
特征点方向弹性形变矫正单元,用于特征点方向弹性形变矫正。