一种基于最优四边形的快速指纹匹配方法
技术领域
本发明涉及自动指纹识别领域,具体来说是一种基于最优四边形的快速指纹匹配方法。
背景技术
指纹识别技术主要包括指纹图像采集,图像预处理,特征提取和特征匹配。特征匹配作为最后一步直接决定了识别算法的可行性。主要是利用提取得到特征点的信息,按照相关算法判断待匹配指纹和模板指纹的相似程度,从而判断指纹图像是否匹配。
指纹图像的特征主要有全局特征和局部特征。目前采用最多的指纹特征是美国联邦调查局提出的局部特征点:指纹纹线端点(ending)和分叉点( bifurcation)。基于此特征提出的多种点模式匹配算法利用特征点的位置;类型;纹线方向以及特征点之间的相对关系取得了良好的匹配效果,得到了广泛应用。比如基于基准点的指纹匹配,其主要步骤是初匹配时先利用指纹每一点及其邻域的特征点得到该特征点的特征向量,得到最佳匹配点作为基准点,二次匹配时,在以基准点为中心的基础上进行全局匹配,计算指纹的旋转和平移参数,然后计算校正后待匹配指纹和模板指纹的特征点匹配率,当匹配率大于某一阈值时认为匹配成功。
指纹图像在进行预处理和特征提取后都会出现伪特征点。以上述方法进行匹配时,在寻找最佳匹配点时利用了其邻域特征点,即使其本身特征匹配较好,而由于其邻域特中存在伪特征点,就会对其造成影响。最后在计算匹配分数时,通过计算匹配成功的点对所占比例来得到匹配得分时也将伪特征点纳入进行计算。在得到基准点后,很多匹配算法都需要在基准点的基础上算出旋转和平移参数,再进行二次匹配,这样增加了匹配时间。而本发明通过设立的区域分配原则和查找表,只需要在查找表中继续搜索,如此减少了匹配时间。
发明内容
本发明提出一种基于最优四边形的快速指纹匹配方法,用于解决在指纹匹配过程中算法受到伪特征点对匹配结果的影响,同时通过区域分配和查找表的建立达到快速匹配的目的。 该方法在一定程度上克服了伪特征点对匹配结果的影响,同时在指纹库较大时有较好的效率。
本发明通过以下方案解决上述问题:
一种基于最优四边形的快速指纹匹配方法,包括以下步骤:
1)确定模板指纹和待匹配指纹;
2)对指纹库中的模板指纹提取出的特征点,构造所有四边形并建立相应查找表;
3)对待匹配指纹图像预处理后进行特征提取;
4)将待匹配指纹特征点划分为4个区域,并从每一区域随机选择一个特征点构成四边形。计算所形成四边形的参数;
5)在查找表中搜索是否存在与之匹配的四边形,若存在计算其匹配度并记录,然后剔除之前所选择的特征点重复步骤(3),直到无法构成四边形;
6)将匹配度最好的四边形作为最佳匹配四边形。如果在匹配过程中没有搜索到最佳四边形则匹配失败,若存在则以最佳匹配四边形为基础,确定待匹配指纹的有效特征点数;
7)设定一个判别区间,根据有效特征点数与区间的关系做出判断。
本发明基于的特征点为纹线端点和分叉点。
本发明提出的匹配算法前提是指纹库中的模板指纹图像具有较好的质量。
所述步骤(2)中,查找表是将四边形的相关参数分类存储,在匹配时输入待匹配指纹的相关参数后,可以在查找表中进行快速搜索,计算出相应的匹配度。当待匹配指纹更换后,无需再进行计算。
上述四边形的相关参数定义如下:
a.提取的四个特征点距离四边形中心的距离,计算公式如下:
(k=1,2,3,4) (1)
其中(,)表示四边形中心点的坐标;(,)表示4个特征点的坐标,表示距离。
选取横坐标最小的特征点记为,再选取一点记为。则点对(1,3)作为一条对角线。剩下的俩点选取横坐标较小的记为,剩下的记为。点对(2,4)作为另一条对角线。计算公式如下:
(2)
(3)
(4)
(5)
(6)
(7)
按上述公式计算四边形中心时应注意,我们并不能保证所计算出的中心位于四边形内部或者选取的特征点可以构成四边形,因此需要对此进行验证,验证方法为:
若且,则选取正确,否则交换点对(2,3)重复上述步骤验证,若仍不满足形成条件,则交换点对(3,4)重复验证,若仍不满足,说明此4个特征点无法构成四边形,进行下一组选取。
b. 4个特征点的类型,定义如下:
(8)
c. 四边形对角线形成的夹角,计算公式如下:
(9)
其中,选取夹角为锐角的角度作为参数。
d. 所选取的4个特征点包含分叉点的个数t。
(10)
基于此我们可以建立查找表。为了提高查找速度,我们采取以夹角为分类依据,在[]区间每隔即建立一张查找表,共计18张查找表,也可根据匹配需要适当更改角度。
每张表又可以根据分叉点的个数分为5个子表。即分别包含0,1,2,3,4个分叉点。
所述步骤(3)中,对待匹配指纹将提取到的第i个特征点其信息记入数组xnum[i],ynum[i],type[i]。
xnum表示特征点的横坐标,ynum表示特征点的纵坐标,type表示特征点的类型。其表达式如下:
() (11)
其中i表示特征点的序号;M表示待匹配指纹中特征点的个数。当特征点类型为端点时其type值为0,特征点为分叉点时其值为1。
所述步骤(4)中,区域划分的原则应当使每一区域中的特征点的个数满足约束条件:
(12)
约束条件保证了将全部提取出的特征点均匀分配到各个区域。
其中,M1,M2,M3,M4分别表示四个区域中特征点的个数。Floor表示向下取整,Ceil表示向上取整。
按照约束条件,一共可以构造个四边形。
在4个区域分别随机选取一个特征点分别记为。按照与模板指纹相同的方法计算相关参数:特征点距离中心点的距离;特征点类型;夹角;所含分叉点数目。
所述步骤(5)中,可以先根据参数确定匹配范围。
确定匹配区间为[]。即我们只在查找表属性位于此区间的表中进行搜索,避免了不必要的搜索。
其中,为一个小于查找表分隔度即的常量,表示算法对于角度偏移的容忍度。
再根据参数确定子表,应满足=t,进一步缩小查找范围。
确定搜索范围后,在计算匹配度之前应该确定和的对应关系。
方法如下:将和按大小排序后,将其序号分别存入和()。即和对应,以此类推。
首先应满足对角线互相对应,我们构造的四边形均为点对(1,3)和点对(2,4)互为对角点。所以应使匹配成功的点其对角点也互相对应。举例来说,即如果待匹配指纹的点1与模板指纹中的点4匹配,则应当使待匹配指纹点1的对角点3与模板指纹点4的对角点2对应。为此只需要验证俩组顶点即可,我们选取,和,完成验证。
将点对的对应关系确定好后,还应判断对应特征点类型是否一致。如果对应点的类型也都一致,则对满足以下条件的四边形计算其匹配度。
< (13)
其中(),为一个较小的量,表示接受阈,可以根据指纹图像的大小或者特征点距离四边形中心的距离合理设定。
匹配度的表达式为:
(); (14)
=min (15)
其中, =,和表示权重,不失一般性我们可以令值为1,令,将其转化至角度。 N表示满足匹配条件的四边形个数,K表示选取的次数。
若<,则四边形匹配成功,将匹配成功的一组四边形相关特征记录。如果没有满足条件的四边形,则说明在待匹配指纹中,此次所选取的4个点(T1,T2,T3,T4)中存在伪特征点或者是在模板指纹中不存在的特征点,称之为干扰点。
其中为一较小的量,为四边形接近程度的度量,可通过实验合理设置。
完成一次匹配后,将之前参与过匹配的点剔除后,再进行随机选取重复步骤(4)(5),按照区域分配的原则,只需要匹配K次即可。
按照上述方法如果并未找到满足条件的匹配四边形。表明在待匹配指纹中至少有的特征点是无法与模板指纹匹配成功的,即至少存在的点为干扰点。
如果出现无法搜索到匹配四边形的情况,一般可以判定待匹配指纹与模板指纹匹配不成功。我们也可以再重新进行一次随机选取,计算是否有满足匹配条件的四边形,使这种小概率事件发生的可能性更低。
在得到K组匹配成功的四边形后,即,选取其中J值最小的作为最佳匹配四边形,即满足的四边形作为最佳匹配四边形。
所述步骤(6)中,以最佳匹配四边形为基础,便不必计算旋转参数和平移参数。
计算有效特征点数的方法如下。
选取在区域1中的特征点与最佳匹配四边形位于区域2,3,4中的3个顶点组成四边形,按上述搜索方法在查找表中搜索是否存在与之匹配的四边形。
应当注意在确定了最佳四边形之后,与3个顶点对应的模板指纹中的特征点也不应当变动,这样只需要在包含3 个顶点的四边形且满足搜索条件的四边形中进行搜索,这样搜索会进一步提高。
若搜索不到与之匹配的四边形,说明此点是干扰点,若存在,则该点为有效特征点。
区域2,3,4中的其余特征点按照同样的方法进行统计。即区域2中的特征点与最佳匹配四边形位于区域1,3,4中的3个顶点形成四边形在查找表中进行搜索,统计有效特征点的个数,最后还应把最佳匹配四边形的4个顶点纳入统计,记为S。
所述步骤(7)中,设定匹配区间的上下限可以根据指纹图像的大小以及提取得到特征点的数量进行试验合理设置。当S小于区间下限时,认为匹配不成功,大于区间上限时认为匹配成功,位于区间内时,说明待匹配指纹达不到我们所设定的要求,可能因为指纹效果不好,建议重新验证。当然我们也可以将区间设定为阈值,不设立警告区间。
本发明的有益效果在于:
在指纹图像经过预处理以及特征提取后,总是不可避免的存在伪特征点。本算法提出的基于最优四边形的快速匹配方法,在很大程度上避免了伪特征点的干扰,并基于此设立的区域分配原则和查找表的建立为四边形快速匹配提供了基础,当指纹数量增加时,会有较好的匹配速度。
附图说明
图1是匹配方法流程示意图;
图2是所形成四边形参数示意图;
图3是错误构造四边形的示意图;
图4是无法构造四边形的示意图;
图5是待匹配指纹区域分配原则示意图。
具体实施方式
下面结合附图进一步说明
本发明所述的基于最优四边形的快速指纹匹配方法,包括以下步骤:
(1)确定模板指纹和待匹配指纹;
(2)对指纹库中的模板指纹提取出的特征点,构造所有四边形并建立相应查找表;
(3)对待匹配指纹图像预处理后进行特征提取;
(4)将待匹配指纹特征点划分为4个区域,并从每一区域随机选择一个特征点构成四边形。计算所形成四边形的参数;
5)在查找表中搜索是否存在与之匹配的四边形,若存在计算其匹配度并记录,然后剔除之前所选择的特征点重复步骤(3),直到无法构成四边形;
6)将匹配度最好的四边形作为最佳匹配四边形。如果在匹配过程中没有搜索到最佳四边形则匹配失败,若存在则以最佳匹配四边形为基础,确定待匹配指纹的有效特征点数;
(7)设定一个判别区间,根据有效特征点数与区间的关系做出判断。
本发明基于的特征点为纹线端点和分叉点。
本发明提出的匹配算法前提是指纹库中的模板指纹图像具有较好的质量。
首先得到模板指纹的查找表。查找表是将四边形的相关参数分类存储,在匹配时输入待匹配指纹的相关参数后,可以在查找表中进行快速匹配,计算出相应的匹配度。当待匹配指纹更换后,无需再进行计算。
如图2所示,为四边形参数示意图。图中三角形代表分叉点,小圆点代表端点。四边形的相关参数定义如下:
a.提取的四个特征点距离四边形中心的距离,计算公式如下:
(k=1,2,3,4) (1)
其中(,)表示四边形中心点的坐标;(,)表示4个特征点的坐标,表示距离。
选取横坐标最小的点记为,再选取一点记为,则点对(1,3)作为一条对角线。剩下的俩点选取横坐标较小的记为,剩下的记为,点对(2,4)作为另一条对角线。表达式如下:
(2)
(3)
(4)
(5)
(6)
(7)
按上述公式计算四边形中心后,需要验证四点是否形成了正确的四边形。如图3所示,展示了一种构造四边形错误的情况,图4展示了特征点无法构造四边形的情况。验证方法为:
若且,则选取正确。否则交换点对(2,3)重复上述步骤验证,若仍不满足形成条件,则交换点对(3,4)重复验证,若仍不满足,说明此4个特征点无法构成四边形,则不对此四点进行存储,进行下一组选取。
b. 4个特征点的类型,定义如下:
(8)
c. 四边形对角线形成的夹角,计算公式如下:
(9)
其中,我们选取夹角为锐角的角度作为参数。
d. 所选取的4个特征点包含分叉点的个数t,公式为:
(10)
得到四边形的参数后,我们可以建立相关查找表存储这些信息。
为了提高查找速度,我们采取以夹角为分类依据,在[]区间每隔即建立一张查找,共计18张查找表。
再根据分叉点的个数分为5个子表。即分别包含0,1,2,3,4个分叉点。
接下来对待匹配指纹将提取到的第i个特征点其信息记入数组xnum[i],ynum[i],type[i]。
xnum表示特征点的横坐标,ynum表示特征点的纵坐标,type表示特征点的类型。其表达式如下:
() (11)
其中i表示特征点的序号。 M表示待匹配指纹中特征点的个数。当特征点类型为端点时type值为0,特征点为分叉点时其值为1。
接下来对待匹配指纹中的特征点进行区域划分。划分原则应满足约束条件:
(12)
其中,M1,M2,M3,M4分别表示四个区域中特征点的个数。Floor表示向下取整,Ceil表示向上取整。如图5所示,展示了区域划分的示意图。
按上述原则,共可构造个四边形。
在4个区域分别随机选取一个特征点分别为记为。按照与模板指纹相同的方法计算相关参数:特征点距离中心点的距离;特征点类型;夹角;所含分叉点数目。
先根据参数确定匹配范围,避免不必要的搜索。
确定匹配区间为[],即我们只在查找表属性位于此区间的表中进行搜索,避免了不必要的计算。
其中,为一个小于查找表分隔度即的常量。表示算法对于角度偏移的容忍度。不失一般性,我们可以设定为。
再根据参数确定子表,应满足=t,进一步缩小查找范围。
确定搜索范围后,在计算匹配度之前应该确定和的对应关系。
方法如下:将和按大小排序后,将其序号分别存入和()。即和对应,以此类推。
首先应满足对角线互相对应。我们建立的四边形均为点对(1,3)和点对(2,4)互为对角点。应使匹配成功的点其对角点也互相对应。举例来说,即如果待匹配指纹的点1与模板指纹中的点4匹配,则应当使待匹配指纹点1的对角点3与模板指纹点4的对角点2对应。
为此只需要验证俩组顶点即可,我们选取,和,完成验证。
将点的对应关系确定好后,还应判断对应特征点类型是否一致。如果对应点的类型也都一致,则对满足以下条件的四边形计算匹配度:
< (13)
其中(),为一个较小的量,表示接受阈,可以根据指纹图像的大小或者特征点距离四边形中心的距离合理设定。
匹配度的表达式为:
(); (14)
=min (15)
其中,=,和表示权重,不失一般性我们可以令值为1,令,将其转化至角度。 N表示满足匹配条件的四边形个数,K表示选取的次数。
若<,则匹配成功,将匹配成功的一组四边形相关特征记录。如果搜索不到,说明此次选取的特征点中存在干扰点。
其中为一较小的量,为四边形接近程度的度量,可通过实验合理设置。
完成一次匹配后,将之前参与过匹配的点剔除,再进行随机选取重复步骤(4)(5),按照区域划分的原则,只需要匹配K次即可。
通过上述方法如果未找到满足条件的匹配四边形。表明在待匹配指纹中至少有的特征点是无法与模板指纹匹配成功的。
如果出现无法找到匹配四边形的情况,一般可以判定待匹配指纹与模板指纹匹配不成功。我们也可以再重新进行一次随机选取, 计算是否有满足匹配条件的四边形,使这种小概率事件发生的可能性更低。
在得到K组匹配成功的四边形后,将满足的四边形作为最佳匹配四边形。
之后以最佳匹配四边形为基础计算有效特征点数,方法如下。
选取在区域1中的特征点与最佳匹配四边形位于区域2,3,4中的3个顶点组成四边形,按上述匹配方法在查找表中搜索是否存在与之匹配的四边形。
应当注意,在确定了最佳四边形之后,与3个顶点对应的模板指纹中的特征点也不需要变动,这样在查找表中搜索的速度也会提高。若不存在说明此点是干扰点,若存在,则说明该点是有效特征点。
区域2,3,4中的其余特征点按照同样的方法进行统计。即区域2中的特征点与区域1,3,4中最佳匹配四边形的3个顶点形成四边形进行匹配,统计有效特征点的个数。
最后还应把最佳匹配四边形的4个顶点纳入统计,记为S。
最后设定匹配区间。匹配区间的上下限可以根据指纹图像的大小以及提取得到特征点的数量进行试验合理设置。对于一幅250*250的指纹图像,假设有效指纹区域面积占总指纹图像面积的2/3,而特征点可能出现在其邻域中的波动范围为5*5,然后再根据其特征点的数量我们可以设定匹配区间为[10,15]。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。