一种手指静脉图像匹配方法与流程

文档序号:18476019发布日期:2019-08-20 21:04阅读:166来源:国知局
一种手指静脉图像匹配方法与流程

本发明涉及生物特征识别领域,具体是一种手指静脉图像匹配方法。



背景技术:

近些年来,各类生物特征,如指纹,人脸,虹膜,静脉等用于身份的认证。相对于ic卡,密码,钥匙等传统的身份认证方法,基于生物特征的认证具有不会遗忘及丢失,以及安全性高等优点,因此获得了迅速发展及应用。

由于人类手指中流动的血液可吸收特定波长的光线,因此在特定波长的近红外光源的照射下可以获得手指静脉血管的纹路与结构,形成手指静脉图。图1是采集设备的示意图和一张采集到的手指静脉图。除了生物特征所具有的优点以外,手指静脉图像还具有难以伪造,活体采集等优点。但相对于其他生物特征,手指静脉的研究和使用起步时间较晚,市场占有比例低,长远看,手指静脉具有巨大市场潜力。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种手指静脉图像匹配方法,包括如下步骤:第一步,采集手指静脉图像;第二步,使用最大曲率提取手指静脉图像中静脉的轮廓,得到静脉轮廓图;第三步,对静脉轮廓的细化获得静脉骨架图;第四步,在静脉骨架图上提取surf特征点;第五步,对两幅图的surf特征点使用l2距离进行距离计算,通过双向蛮力匹配完成手指静脉图像匹配。

进一步的,步骤二中所述的最大曲率为:

其中f(x,y)是手指静脉图像中像素点(x,y)的灰度值;pf(z)是图像f(x,y)的行像素灰度值函数,公式为:

pf(z)=f(x,z)

同时pf(z)映射到f(x,y)的公式为:

f(x,z)=trs(pf(z))。

进一步的,所述的函数pf(z)的凸凹性由曲率k(z)的正负性决定,当曲线的曲率k(z)为正时,函数曲线下凹,当曲线下凹至到最低点时,曲线的曲率取得局部最大值,该点即可能为手指静脉点z'i,计算该点是手指静脉像素点的概率计算公式为:

s(z'i)=k(z'i)×w(z'i)

其中w(*)是曲率为正的位置的区域宽度,其值越大,静脉越宽;同时曲率k(*)越大,静脉越清晰,s(*)是手指静脉概率;使用公式:

f(x,z)=trs(pf(z))

将点z'i映射到图像位置(x,y)上,生成概率平面图v(x,y)。

进一步的,步骤二中的静脉轮廓图生成包括如下过程:当像素点(x,y)的像素值小于或等于该点两侧的像素点的像素值时,则该点与两侧像素点均为静脉像素点,则保留;当像素点(x,y)像素值大于两侧的像素点的像素值,则该点为噪声点,将该点灰度值设置为零;连接静脉像素点,连接公式为:

c(x,y)=min{max(v(x+1,y),v(x+2,y))+max(v(x-1,y),v(x-2,y))};

连接形成静脉轮廓图,然后对轮廓图中的每一个像素值使用公式:

c(x,y)=c(x,y)/max*20

进行灰度值拉伸,提高图像对比度;分别在0°、90°、45°和135°方向上完成静脉轮廓图提取,分别生成静脉轮廓图c1(x,y)、c2(x,y)、c3(x,y)和c4(x,y);同时每一个像素点的像素值,从c1,c2,c3和c4上取最大值,获得最终静脉轮廓图cfinal(x,y),公式为:

cfinal=max(c1(x,y),c2(x,y),c3(x,y),c4(x,y))。

进一步的,步骤三中的所述的对静脉轮廓的细化是保持原图像拓扑结构,抽出一个单像素骨架;具体过程为:手指静脉的像素点的值为1,背景点的值为0;轮廓点是值为1,并且在8个邻域点钟至少有一个值为0的点,细化的步骤如下:

步骤一:公式中(a)到(d)同时满足,则轮廓点p1要删除,反之,则保留;

其中n(p1)=4,t(p1)=4,这里n(p1)是p1的非零相邻点的数目,t(p1)是以p2,p3,··,p8,p9,p2轮转时,从0到1的变化次数;

步骤二:条件(a)和条件(b)与步骤一中相同,条件(c)和条件(d)变为:

公式中(a)到(d)同时满足,则轮廓点p1要删除,反之,则保留;迭代执行以上两个步骤直到没有可以删除的点,生成手指静脉的骨架图。

进一步的,所述的第四步中的surf特征点提取包括如下过程,由公式

计算静脉骨架图,得到积分图i(x,y);

在尺度σ下由公式

获得hessian矩阵h(i,σ);其中l**(i,σ)是积分图像与二阶偏导数的卷积,g(i,σ)是高斯函数,计算公式如下:

使用hessian矩阵行列式来表述图像中元素响应值,获得特征点检测的响应图像,对响应图像执行一个局部非最大值抑制,得到surf特征点。

进一步的,对所述的surf特征点进行描述,包括如下步骤:

(1)以特征点为中心,在4倍尺度为半径的圆形区域内,计算各点x和y方向上的haar小波响应;

(2)通过设置高斯权重系数,使距离特征点近的响应贡献度大,把π/3范围内的响应相加以形成新的矢量;

(3)遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向;

(4)在主方向上,选取边长为20倍尺度的正方形区域,将该区域划分为4x4的16个区域,将每个区域再划分为5x5个采样点,计算harr小波在每个小区域垂直和水平方向的响应dx和dy;

(5)将每个子区域内两个方向的小波响应总和∑dx和∑dy作为区域的特征,再分别累加|∑dx|和|∑dy|作为子区域的另外两个特征,每个子区域的描述符表示为:

des=(∑dx,|∑dx|,∑dy,|∑dy|);

(6)对16个子区域进行4维描述,获得每一个特征点的64维描述符。

进一步的,步骤五中的距离计算是选取两幅图在第一幅图像中任意选取一个特征点依次与第二幅图像中的特征点进行距离计算,返回距离最近的特征点,特征点距离计算使用l2距离,公式为:

dis(ri,sj)=||ri-sj||2

其中ri和sj分别为两幅图中特征点的64维描述符。

进一步的,步骤五中所述的双向蛮力匹配的匹配方法为第一幅图像中的第i个特征点与第二幅图像中的第j个特征点距离最小,并且第二幅图像中的第j个特征点到第一幅图像中的第i个特征点距离也是最小,则两点匹配成功,否则,匹配失败。

本发明的有益效果是:本发明提出了首先通过在多个方向上求取像素灰度函数的最大曲率获得手指静脉轮廓图,然后对其细化获得手指静脉骨架图,然后提取骨架图的surf特征点及描述符,最后使用双向蛮力匹配完成手指静脉图像的匹配,本方法在基于静脉的认证系统中具有认证率高和响应快的优点。

附图说明

图1为一种手指静脉图像匹配方法的流程图;

图2为提取手指静脉轮廓选取的四个方向示意图;

图3为用于细化算法的邻域关系图;

图4为surf特征点描述方法示意图。

具体实施方式

下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。

如图1所示,为了能够有效的完成特征匹配,本方法在预处理中使用多个方向上的最大曲率提取图像中静脉的轮廓,再通过细化获得静脉骨架图。使特征匹配在该骨架图上完成。

由于血液和肌肉对近红外光的吸收性不同,静脉像素的灰度值远远小于背景部分的灰度值。对于图像的每行像素(x方向),其像素灰度值曲线的局部最小极值位置则是静脉的x方向位置。该行像素值曲线的极小值点在曲率上则表示为曲率的最大值。即找出行像素值灰度值曲线的曲率最大值位置,便可得静脉像素位置。设f是一幅手指静脉图像,f(x,y)是图像中像素点(x,y)的灰度值。pf(z)是图像f(x,y)的行像素灰度值函数,定义为公式(1),同时由pf(z)映射到f(x,y)的函数定义为公式(2)。

pf(z)=f(x,z)(1)

f(x,z)=trs(pf(z))(2)

pf(z)的最大曲率由如下公式计算获得:

f(x,y)的行像素值函数pf(z)的凸凹性是由曲率k(z)的正负性决定的,当函数曲线下凹时,曲线的曲率大于零,当曲线下凹至到最低点时,曲线的曲率取局部最大值,此点即可能为手指静脉点,将这些点定义为z'i。这些点是手指静脉的概率使用如下公式求取:

s(z'i)=k(z'i)×w(z'i)(4)

其中w(*)是曲率为正位置的区域宽度,其越大,静脉越宽。同时曲率k(*)越大,静脉越清晰,因此s(*)被认为是手指静脉概率。使用公式(2)将这些点z'i映射到图像位置(x,y)上,生成概率平面图v(x,y)。

为了连接静脉中心区域,并且去除噪声,需要确定每一像素点与其邻域的关系。当像素点(x,y)和两侧的像素点值大时,则该点与两侧像素点均为静脉像素点,应当保留。当(x,y)像素值小而两侧像素点大时,则需要提高该点灰度值,保留该点与两侧像素点。当(x,y)像素值大,而两侧的像素点小时候,这该点为噪声点,应该将其灰度值设置为零。这个连接操作用公式(5)表示。连接后形成静脉轮廓图,然后对轮廓图中的每一个像素值使用公式(6)进行灰度值拉伸,以提高图像对比度。

c(x,y)=min{max(v(x+1,y),v(x+2,y))+max(v(x-1,y),v(x-2,y))}(5)

c(x,y)=c(x,y)/max*20(6)

以上是在x方向(0°)上完成静脉轮毂图提取,为了获得更多方向上的静脉信息,同时在90°,45°和135°方向上完成静脉的预处理。分别将这四个方向上生成的静脉轮廓图称为c1(x,y)c2(x,y)c3(x,y)和c4(x,y),在每一个像素点上,从c1,c2,c3和c4上取最大值获得最终图像cfinal(x,y),表示为公式(7)。四个方向上生成的静脉图c1,c2,c3和c4以及最终的静脉轮廓图cfinal如所示。从中可以看出融合后的静脉轮廓图质量更高。

cfinal=max(c1(x,y),c2(x,y),c3(x,y),c4(x,y))(7)

为了更有效的提取特征,还需要对手指静脉轮廓图cfinal进行细化操作,获得静脉骨架图。细化操作是指在保持原图像拓扑结构的情况下,尽可能地抽出一个单像素的骨架的过程。假设手指静脉的像素点具有1值,背景点具有0值。这里的轮廓点是值为1,并且在8个邻域点钟至少有一个值为0点。

细化的两个步骤如下:

(1)如果公式8中(a)到(d)同时满足,则轮廓点p1要删除。

其中n(p1)=4,t(p1)=4,这里n(p1)是p1的非零相邻点的数目,t(p1)是以p2,p3,…,p8,p9,p2轮转时,从0到1的变化次数。

(2)条件(a)和条件(b)仍然相同,但条件(c)和条件(d)变为:

迭代执行以上两个步骤直到没有可以删除的点。完成最终的预处理,生成手指静脉的骨架图。

在获得了手指静脉骨架图后,提取骨架图的surf特征,其是sift特征的改进,时间复杂度更低,并且对图像亮度变化鲁棒性较强。surf算法是在积分图的基础上,利用hessian算子,进行特征点的检测与描述。使用公式计算静脉骨架图的积分图i(x,y),其在尺度σ下的hessian矩阵h(i,σ)有公式(11)计算获得。

其中l**(i,σ)是积分图像与二阶偏导数的卷积,g(i,σ)是高斯函数,计算分别如下:

在实际应用中,使用窗口滤波器来替代二阶高斯滤波器,使得计算可实现,也保证了性能和速度。假设积分图像和窗口滤波器卷积得到的矩阵中参数分别为dxx,和dyy,则公式(9)中的矩阵可表示为:

det(h)=dxxdyy-(wdxy)(16)

其中w为窗口滤波器权重系数,σ为1.2时候,w为0.9。使用hessian矩阵行列式来表述图像中元素响应值,可获得特征点检测的响应图像。对其执行一个局部非最大值抑制,可找出特征点。为手指静脉骨架图中提取到的surf特征点。提取了surf特征点后,需要对特征点进行描述。为了确保旋转不变性,首先以特征点为中心,在4倍尺度为半径的圆形区域内,计算个点x和y方向上的haar小波响应。并通过设置高斯权重系数,使距离特征点近的响应贡献度大,然后在π/3范围内的响应相加以形成新的矢量,最后遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。在主方向上,选取边长为20倍尺度的正方形区域,将该区域划分为4x4的16个区域,然后将每个区域再划分为5x5个采样点,最后计算harr小波在每个小区域垂直和水平方向的响应dx和dy。将每个子区域内两个方向的小波响应总和∑dx和∑dy作为区域的特征,此外,威力获得强度变化的极性,分别累加|∑dx|和|∑dy|作为子区域的另外两个特征。每个子区域的描述符可表示为:

des=(∑dx,|∑dx|,∑dy,|∑dy|)(17)

由此对于16个子区域4维描述,因此最后获得每一个特征点的64维描述符。每一幅图完成的特征点提取及描述后,可用于两幅图像的匹配。蛮力匹配是在第一幅图像中选取一个特征点依次与第二幅图像中的特征点进行距离测试,返回距离最近的特征点。特征点距离计算使用l2距离,表示为:

dis(ri,sj)=||ri-sj||2(18)

其中ri和sj分别为两幅特性中特征点的64维描述符。为了去除无效匹配点,使用双向蛮力匹配,其匹配条件更为严格。只有第一幅图像中的第i个特征点与第二幅图像中的第j个特征点距离最近,并且第二幅图像b中的第j个特征点到第一幅图像中的第i个特征点也是最近时才会被认为两点匹配成功。也就是这两个特征点要互相匹配才行。

在求得两幅图像的匹配特征点集合后,匹配点的距离的平均值作为两幅图像的距离。在手指静脉身份识别的录入阶段,提取手指静脉特征并录入数据库。在认证阶段,从数据库查询与请求的手指静脉图像距离最近的图像,作为最后的身份认证结果。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1