发明内容
本发明实施例提供了一种掌静脉识别的方法和掌静脉识别装置,可以有效地减少计算时间。经过滤波后得到的特征数据具有更强的识别性,提升本方案的识别效果,对滤波后的特征数据做二值化处理,也可大幅度的降低数据量,提升方案的实用性。
有鉴于此,本发明第一方面提供一种掌静脉识别的方法,包括:
获取用户的目标掌静脉图像;
从所述用户的目标掌静脉图像中提取感兴趣区域ROI;
获取所述ROI对应的特征数据,所述特征数据为滤波后经过二值化处理得到的;
通过比对所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
结合本发明实施例的第一方面,在第一种可能的实现方式中,所述从所述用户的目标掌静脉图像中提取感兴趣区域ROI,包括:
获取所述目标掌静脉图像中九个关键点,其中,所述九个关键点分别为连接最大的横向掌纹的左端点,连接所述最大的横向掌纹的右端点,大拇指与食指之间的凹点,所述食指与中指之间的凹点,所述中指与无名指之间的凹点,所述无名指与小指之间的凹点,所述小指到手掌的凹点,与所述食指与中指之间的凹点相连的边界点,以及与所述无名指与小指之间的凹点相连的边界点;
通过定位所述九个关键点确定所述ROI。
结合本发明实施例的第一方面,在第二种可能的实现方式中,所述从所述用户的目标掌静脉图像中提取感兴趣区域ROI,包括:
获取所述目标掌静脉图像中的七个关键点,或获取所述目标掌静脉图像中的五个关键点;
通过定位所述七个关键点或者所述五个关键点确定所述ROI。
结合本发明实施例的第一方面,在第三种可能的实现方式中,所述从所述用户的目标掌静脉图像中提取感兴趣区域ROI之后,所述方法还包括:
对所述ROI进行归一化处理;
对所述ROI进行灰度调整,并对灰度调整后ROI进行归一化处理。
结合本发明实施例的第一方面第三种可能实现方式,在第四种可能的实现方式中,所述获取所述ROI对应的特征数据,包括:
将所述ROI划分为多个图像块;
将每个图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,所述卷积窗口与所述图像块的大小相等;
对所述多个特征值进行二值化处理后获取所述特征数据。
结合本发明实施例的第一方面,在第五种可能的实现方式中,所述通过比对所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,包括:
按照如下方式计算所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度:
其中,x1为所述目标掌静脉图像对应的特征数据,x2为所述掌静脉图像对应的特征数据,S(x1,x2)为所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度,H(x1,x2)为所述x1与所述x2的海明距离,F与B分别表示两个常数。
本发明第二方面提供一种掌静脉识别装置,包括:
第一获取模块,用于获取用户的目标掌静脉图像;
提取模块,用于从所述第一获取模块获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
第二获取模块,用于获取所述提取模块提取的所述ROI对应的特征数据,所述特征数据为滤波后经过二值化处理得到的;
识别模块,用于通过比对所述第二获取模块获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
结合本发明实施例的第二方面,在第一种可能的实现方式中,所述提取模块包括:
第一获取单元,用于获取所述目标掌静脉图像中九个关键点,其中,所述九个关键点分别为连接最大的横向掌纹的左端点,连接所述最大的横向掌纹的右端点,大拇指与食指之间的凹点,所述食指与中指之间的凹点,所述中指与无名指之间的凹点,所述无名指与小指之间的凹点,所述小指到手掌的凹点,与所述食指与中指之间的凹点相连的边界点,以及与所述无名指与小指之间的凹点相连的边界点;
第一定位单元,用于通过定位所述第一获取单元获取的所述九个关键点确定所述ROI。
结合本发明实施例的第二方面,在第二种可能的实现方式中,所述提取模块包括:
第二获取单元,用于获取所述目标掌静脉图像中的七个关键点,,或获取所述目标掌静脉图像中的五个关键点;
第二定位单元,用于通过定位所述第二获取单元获取的所述七个关键点或者所述五个关键点确定所述ROI。
结合本发明实施例的第二方面,在第三种可能的实现方式中,所述掌静脉识别装置还包括:
归一化模块,用于所述提取模块从所述用户的目标掌静脉图像中提取感兴趣区域ROI之后,对所述ROI进行归一化处理;
灰度调整模块,用于对所述归一化模块归一化处理后的所述ROI进行灰度调整,并对灰度调整后ROI进行归一化处理。
结合本发明实施例的第二方面第三种可能实现方式,在第四种可能的实现方式中,所述第二获取模块包括:
划分单元,用于将所述ROI划分为多个图像块;
卷积单元,用于将每个所述划分单元划分好的所述图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,所述卷积窗口与所述图像块的大小相等;
二值化单元,用于对所述卷积单元卷积运算后得到的所述多个特征值进行二值化处理后获取所述特征数据。
结合本发明实施例的第二方面,在第五种可能的实现方式中,所述识别模块包括:
计算单元,用于按照如下方式计算所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度:
其中,x1为所述目标掌静脉图像对应的特征数据,x2为所述掌静脉图像对应的特征数据,S(x1,x2)为所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度,H(x1,x2)为所述x1与所述x2的海明距离,F与B分别表示两个常数。
本发明第三方面提供一种掌静脉识别装置,包括:
处理器以及存储器;
所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,使得所述掌静脉识别装置执行如本发明第一方面、第一方面第一至第五种可能实现方式中任一项所述的掌静脉识别方法。
本发明第四方面提供一种存储一个或多个程序的存储介质,包括:
一个或多个程序包括指令,所述指令当被包括一个或多个处理器的所述掌静脉识别装置执行时,使所述掌静脉识别装置执行如权利要求1至6任一项所述的掌静脉识别的方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,先获取用户的目标掌静脉图像,并从该图像中提取感兴趣区域ROI,获取ROI对应的特征数据,特征数据为经过滤波后经过二值化处理得到的,通过比对目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对用户的目标掌静脉图像进行识别。采用上述方式通过比对目标掌静脉图像中ROI的特征数据与已登记的原始掌静脉图像中ROI的特征数据,来识别用户的目标掌静脉图像可以有效地减少计算时间。经过滤波后得到的特征数据具有更强的识别性,提升本方案的识别效果,对滤波后的特征数据做二值化处理,也可大幅度的降低数据量,提升方案的实用性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供了一种掌静脉识别的方法,其中,为了描述方便,将以掌静脉识别装置的角度进行描述。
本发明实施例提供了一种掌静脉识别的方法,用于通过比对目标掌静脉图像中ROI的特征数据与已登记的原始掌静脉图像中ROI的特征数据,来识别用户的目标掌静脉图像可以有效地减少计算时间,同时,经过滤波后得到的特征数据具有更强的识别性,提升本方案的识别效果。
请参阅图1,本发明实施例中掌静脉识别的方法一个实施例包括:
101、获取用户的目标掌静脉图像;
本实施例中,掌静脉识别装置获取用户的目标掌静脉图像,其中,掌静脉识别装置开启近红外光照射,由于手掌上静脉血可以吸收近红外光,因此静脉血管出反射较少,比周边较暗,从而形成掌静脉图案,将包含掌静脉的图像定义为目标掌静脉图像。
近红外光是介于可见光和中红外光之间的电磁波,按照美国试验和材料检测协会(英文全称:AmericanSocietyforTestingandMaterials,英文缩写:ASTM)定义是指波长在780nm至2526nm范围内的电磁波。
102、从用户的目标掌静脉图像中提取感兴趣区域ROI;
本实施例中,从掌静脉识别装置获取到的目标掌静脉图像中提取感兴趣区域(英文全称:RegionofInterest,英文缩写:ROI)。
具体地,请参阅图2,图2为本发明实施例中目标掌静脉图像示意图,如图所示,可将目标掌静脉图像的像素大小设定为184×184,像素是分辨率的单位。图中方形区域为ROI区域,可以将该ROI区域设定为129×129。
103、获取ROI对应的特征数据,特征数据为滤波后经过二值化处理得到的;
本实施例中,针对ROI区域获取其对应的特征数据。具体方法可以是,先使用多个加伯转换(英文全称:Gabor)滤波器对ROI进行滤波吹了,得到具有较强鉴别能力的掌静脉图像特征。Gabor滤波器能够较好的提取出人类视觉***敏感的图像频率和方向特征,因此,采用Gabor滤波器进行滤波可以得到更好的效果。
在本方案中采用的是偶对称二维Gabor滤波器,其偶对称二维Gabor滤波器的计算公式如下:
u=xcosθ+ysinθ
v=ycosθ-xsinθ
其中,θ是滤波器的方向,δu是高斯包络在平行于θ方向上的标准差,δv是高斯包括在垂直于θ方向上的标准差,在这里可以取值为1,ω为复正弦函数的频率。请参阅图3,图3为本发明实施例中不同参数配置下Gabor滤波器核函数的效果图。
如图3所示,图(a)为θ=0时Gabor滤波器核函数的图像;图(b)为时Gabor滤波器核函数的图像;图(c)为时Gabor滤波器核函数的图像;图(d)为时Gabor滤波器核函数的图像;图(e)为θ=π时Gabor滤波器核函数的图像;图(f)为π=0.1时Gabor滤波器核函数的图像;图(g)为π=0.3时Gabor滤波器核函数的图像;图(h)为θ=0时Gabor滤波器核函数的图像。
研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。对RIO进行滤波处理后可以得到该ROI对应的特征数据,其中,对ROI进行滤波处理的一种具体方式可以是通过卷积运算来获取特征数据。
再对滤波后的特征数据做二值化处理,将原始的16个4字节的特征数据被压缩到2个字节,并且相当于引入了2个字节的特征数据表达方式,大幅度的降低了数据量。
104、通过比对目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对用户的目标掌静脉图像进行识别,其中,已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
本实施例中,在掌静脉识别装置对应的数据库中存储有大量的来自不同用户的掌静脉图像特征数据,这些特征数据可以被称为特征模块,在本实施例中,均以特征数据这一说法进行表示,此外,这些不同用户的掌静脉图像被称为已登记的原始掌静脉图像。对每个已登记的原始掌静脉图像而言,需要对其进行ROI的提取,并计算特征数据才存入数据库。由此得到的特征数据的数据量较小,使得数据库中可以存储更多的登记掌静脉图像特征数据。
当掌静脉识别装置接收到一个用户的目标掌静脉图像时,根据上述步骤101至步骤103所述的方法,获得该目标掌静脉图像的特征数据,然后,将目标掌静脉图像的特征数据与后台数据库中的大量的来自不同用户的已登记的原始掌静脉图像特征数据进行比对。通过一系列的算法对两者的相似度进行计算,当相似度在误差范围内时,则该用户的目标掌静脉图像识别成功;反之,若相似度在完成范围以外,则该用户的目标掌静脉图像识别失败。
本发明实施例中,先获取用户的目标掌静脉图像,并从该图像中提取感兴趣区域ROI,获取ROI对应的特征数据,特征数据为滤波后经过二值化处理得到的,通过比对目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对用户的目标掌静脉图像进行识别。采用上述方式通过比对目标掌静脉图像中ROI的特征数据与已登记的原始掌静脉图像中ROI的特征数据,来识别用户的目标掌静脉图像可以有效地减少计算时间。经过滤波后得到的特征数据具有更强的识别性,提升本方案的识别效果,对滤波后的特征数据做二值化处理,也可大幅度的降低数据量,提升方案的实用性。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的掌静脉识别的方法第一个可选实施例中,从用户的目标掌静脉图像中提取感兴趣区域ROI,可以包括:
获取目标掌静脉图像中九个关键点,其中,九个关键点分别为连接最大的横向掌纹的左端点,连接最大的横向掌纹的右端点,大拇指与食指之间的凹点,食指与中指之间的凹点,中指与无名指之间的凹点,无名指与小指之间的凹点,小指到手掌的凹点,与食指与中指之间的凹点相连的边界点,以及与无名指与小指之间的凹点相连的边界点;
通过定位所述九个关键点确定ROI。
本实施例中,通过大量的手工标注关键点形成的训练库,经过一系列的级联回归器训练后,可以学习到一个检测关键点的算法,从而能够在一张手掌静脉图像上检测出这样的九个关键点,请参阅图4,图4为本发明实施例中包含关键点的掌静脉图像示意图,编号1至编号9分为为九个关键点。对掌静脉识别装置采集到的任意一帧掌静脉图像检测出九个关键点。
如图所示,当获取到一个目标掌静脉图像时,可以得到九个关键点,分别为连接最大的横向掌纹的左端点,即图4中的1号关键点;连接最大的横向掌纹的右端点,即图4中的7号关键点;大拇指与食指之间的凹点,即图4中的2号关键点;食指与中指之间的凹点,即图4中的3号关键点;中指与无名指之间的凹点,即图4中的4号关键点;无名指与小指之间的凹点,即图4中的5号关键点;小指到手掌的凹点,即图4中的6号关键点;与食指与中指之间的凹点相连的边界点,即图4中的9号关键点;与无名指与小指之间的凹点相连的边界点,即图4中的8号关键点。
图中的线段为定位辅助线,定位辅助线用于辅助定位1、7、8和9四个关键点,直线3-9(3号关键点与9号关键点之间的连线)平行于手掌左边界,直线5-8(5号关键点与8号关键点之间的连线)平行于手掌右边界,直线1-7(1号关键点与7号关键点之间的连线)与掌中间最大的横纹重合,直线8-9(8号关键点与9号关键点之间的连线)与手掌底边平行。8和9两点位于掌托处,由于此处再往手腕方向有较大斜坡,并且手掌在这个方向较长,如果定位移往手腕处的话,手掌角度不同时差别很大,并容易超出图像尺寸。
假设有一个仿射变换T,将目标掌静脉图像转化到一个标准掌静脉图像。首先,假设该变换把目标掌静脉图像上的任意点(x0,y0)变换到标准掌静脉图像上的某一点(x,y),即为:
其中,需要求出变换的6个参数,a11,a12,a21,a22,b1,b2,使得九个关键点变换后的总误差最小,即为:
其中,为目标掌静脉图像上的九个关键点,而{(xi,yi)|y=1...9}为标准掌静脉图像上的九个关键点,可以通过最小二乘法求解此类问题。
这样,通过该仿射变换,标准掌静脉图像中的每一个点都能够找到目标掌静脉图像中的一点与之对应,再取其灰度值作为标准掌静脉图像的灰度值即可。从而,实际上把一副任意的掌静脉图像都可以转换为标准掌静脉图像。然而对于目标掌静脉图像,只需要提取ROI对应的图像即可。通过定位九个关键点可以确定ROI,基于图像边缘检测的方法和基于最大内切圆的方法都可以提取ROI。然而,本发明基于九个关键点的仿射变换的方法,在提取ROI区域的同时,自动完成了几何归一化工作。
其次,本发明实施例中,通过对大量手掌图像进行关键点标注得到训练样本,然后对其使用机器学习算法进行训练,学习到一个测量关键点的算法,在检测的目标掌静脉图像时,通过定位关键点来精确定位手掌在图像中的位置,并以此确定以掌心为中心的ROI。使得本方案在实际应用过程中具有合理的实现手段,采用九个关键点定位ROI不需要定位任何边界,直接通过级联回归定位九个关键点,然后根据九个关键点求解ROI的仿射变换,算法简洁高效,并且使用关键点定位可以得到特征表现更强的ROI,从而提升方案的识别效果。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的掌静脉识别的方法第二个可选实施例中,从用户的目标掌静脉图像中提取感兴趣区域ROI,可以包括:
获取目标掌静脉图像中的七个关键点,或获取目标掌静脉图像中的五个关键点;
通过定位七个关键点或者五个关键点确定ROI。
本实施例中,可以参阅图2对应的第一个可选实施例,通过大量的手工标注关键点形成的训练库,经过一系列的级联回归器训练后,可以学习到一个检测关键点的算法,从而能够在一张手掌静脉图像上检测出这样的七个关键点,
请参阅图4,图4为本发明实施例中包含关键点的掌静脉图像示意图。其中,这七个关键点分别可以为连接最大的横向掌纹的左端点,即图4中的1号关键点;大拇指与食指之间的凹点,即图4中的2号关键点;食指与中指之间的凹点,即图4中的3号关键点;中指与无名指之间的凹点,即图4中的4号关键点;无名指与小指之间的凹点,即图4中的5号关键点;小指到手掌的凹点,即图4中的6号关键点;连接最大的横向掌纹的右端点,即图4中的7号关键点,
然而,这七个关键点还可以是大拇指与食指之间的凹点,即图4中的2号关键点;食指与中指之间的凹点,即图4中的3号关键点;中指与无名指之间的凹点,即图4中的4号关键点;无名指与小指之间的凹点,即图4中的5号关键点;小指到手掌的凹点,即图4中的6号关键点;与无名指与小指之间的凹点相连的边界点,即图4中的8号关键点;与食指与中指之间的凹点相连的边界点,即图4中的9号关键点。
此外,定位ROI还可以通过五个关键点,其中,这五个关键点分别为大拇指与食指之间的凹点,即图4中的2号关键点;食指与中指之间的凹点,即图4中的3号关键点;中指与无名指之间的凹点,即图4中的4号关键点;无名指与小指之间的凹点,即图4中的5号关键点;小指到手掌的凹点,即图4中的6号关键点。
同样地,针对上述三种采用关键点的方法,可以通过该仿射变换,使得标准掌静脉图像中的每一个点都能够找到目标掌静脉图像中的一点与之对应,再取其灰度值作为标准掌静脉图像的灰度值即可。从而,实际上把一副任意的掌静脉图像都可以转换为标准掌静脉图像。然而对于目标掌静脉图像,只需要提取ROI对应的图像即可,通过定位四个关键点可以确定ROI。基于图像边缘检测的方法和基于最大内切圆的方法都可以提取ROI。然而,本发明基于九个关键点的仿射变换的方法,在提取ROI区域的同时,自动完成了几何归一化工作。
可以理解的是,仿射变换可以参照图2对应的第一个可选实施例,此处不作赘述。
其次,本发明实施例中,通过定位九个关键点中的其中七个或者五个个关键点来确定ROI,再次构建了一个新的关键点模型,一方面可以增强方案在实际应用方面的可行性,另一方面只需要定位七个或者五个关键点即可确定ROI,可以减少对关键点的获取,从而提升方案的实用性以及灵活性,更进一步地,在获取关键点的效率上也有所提升。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的掌静脉识别的方法第三个可选实施例中,从用户的目标掌静脉图像中提取感兴趣区域ROI之后,还可以包括:
对ROI进行归一化处理;
对ROI进行灰度调整,并对灰度调整后ROI进行归一化处理。
本实施例中,对提取后的ROI进行归一化处理,归一化的目的是为了消除图像光照不一致和不均匀的影响。由于手掌离镜头较近时,反射的近红外光较强,图像则显得比较亮;而手掌离镜头较远时,反射的近红外光较弱,图像则显得比较暗。同时,环境光线变化,手掌角度变化,以及成像电路自动增益控制等因素都会对图像的整体亮度、局部亮度和亮度均匀性造成影响,而灰度归一化消除了这些影响。
对ROI进行归一化处理为预处理图像的一部分内容,具体归一化处理的方法可参加图2对应的第一个可选实施例,故此处不再赘述。此外,还需要对ROI的灰度也进行归一化处理。具体地,预处理图像使得图像在宽度为r的正方形区域内具有相同的均值和标准差。假设,r=30,标准差则对于ROI中任意一个像素而言,计算以该像素为中心的宽度为r的正方形区域内所有像素的均值m和方差v,再对该像素的灰度进行变换,采用如下公式:
其中,gray为像素的灰度值,m为正方形区域内所有的像素值,为正方形区域内所有的像素值的均值,v为正方形区域内所有的像素值的方差,为正方形区域内所有的像素值的标准差。请参阅图5,图5为本发明实施例中灰度归一化之前以及归一化之后的掌静脉ROI图像示意图,如图所示,(a)表示灰度归一化之前ROI图像,(b)表示灰度归一化之后ROI图像,显然,灰度归一化之后的ROI图像的整体亮度、局部亮度和亮度均匀性都得到了提升。
其次,本发明实施例中,对ROI进行归一化处理后,可以简便且准确的定量结果,在操作条件略有变化的条件下,对分析结果的影响很小,从而增加本发明方案的稳定性,并且可以简化计算量,提升运算效率。而对归一化处理ROI进行灰度上的调整并得到灰度图,同样可以减少原始图像的数据量,便于后续处理时计算量更少。灰度归一化消除了由于环境光线变化,手掌角度变化,以及成像电路自动增益控制变化引起的对图像的局部亮度和均匀性造成影响,改善用户体验。
可选地,在上述图2对应的第三个可选实施例的基础上,本发明实施例提供的掌静脉识别的方法第四个可选实施例中,获取ROI对应的特征数据,可以包括:
将ROI划分为多个图像块;
将每个图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,卷积窗口与图像块的大小相等;
对多个特征值进行二值化处理后获取特征数据。
本实施例中,首先,对ROI进行图像块的划分,根据上述实施例对Gabor滤波器的介绍,可以先计算出两个频率,每个频率16个方向的Gabor滤波器所得到的两组数据。假设使用出两个频率,每个频率16个方向的Gabor滤波器进行滤波后,取有效部分为19×19大小的卷积窗口,然后把这些数据按照频率不同分为两组,分别为:
对归一化后图像大小为129×129的掌静脉图像进行滤波。从左上角开始取一个同卷积窗口大小一致的图像块与每组卷积窗口进行卷积,且卷积窗口大小为19×19,由此将得到两组16个特征值对特征值进行二值化处理后获取特征数据,将每组中16个特征值编码成一个特征数据,具体如下:
其中,1()表示括号内表达式为“真”时,取值为1,否则取值为0。上式中的整数其实是小于216的。因此都可以表达为2个字节的特征数据,这样的话,一个图像块就表示为4个字节的特征数据。
至此,可以采用与图像块像素大小一致的卷积窗口进行卷积,实现卷积的具体方式请参阅图6,图6为本发明实施例中图像卷积的一个示意图,如图所示,首先沿着x方向按照一个设定的步长移动到下一个位置,假设步长为15,然后重新取新的图像块做卷积,又可以计算得到一个4字节数据。按照上述方式继续移动到下一个位置,直到x方向超出归一化后的ROI边界。此时,在将x位置重置到0,并开始沿着y方向按照一个设定的步长移动到下一个位置,且该步长也为15,由此来提取特征数据,不断往返直到遍历整个ROI。
假设ROI的像素大小为129×129,卷积窗口大小为19×19,步长为15×15,则最后的特征数据字节数为:
这就构成了ROI的特征数据模板。
经过多次试验证明,当一组Gabor滤波器复正弦函数的频率为ω1=4.0,另一组Gabor滤波器复正弦函数的频率为ω2=4.5时,可以取得较好的效果,特征数据的识别性更强。
再次,本发明实施例中,具体介绍了获取特征数据的方法,可以将ROI划分为多个图像块,将每个图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,卷积窗口与图像块的大小相等,最后对多个特征值进行二值化处理后获取特征数据。如果对掌静脉识别***的速度和模板空间没有太大限制的情况下,提取更多的特征,例如提取更多的频率和方向等,使得本发明方案可以有更好的识别效果。并且本方案可以根据实际情况适当调整ROI大小,滤波器的频率大小,方向以及步长等参数,从而提升本案的实用性。对特征数据采用二值化处理还具有这样的好处,首先,大幅降低数据量,如果从原始的16个4字节的特征数据被压缩到2个字节,就相当于数据量减少到原来的三十二分之一;便于存储、传输和计算;其次,增强了特征的表达能力,从而提高了识别率。二值化处理后的2字节的特征数据相当于一种模式特征,对掌静脉纹线的纹理特征有很强的表达能力。
可选地,在上述图2对应的实施例的基础上,本发明实施例提供的掌静脉识别的方法第五个可选实施例中,通过比对目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对用户的目标掌静脉图像进行识别,可以包括:
按照如下方式计算目标掌静脉图像对应的特征数据与掌静脉图像对应的特征数据的相似度:
其中,x1为目标掌静脉图像对应的特征数据,x2为掌静脉图像对应的特征数据,S(x1,x2)为目标掌静脉图像对应的特征数据与掌静脉图像对应的特征数据的相似度,H(x1,x2)为x1与x2的海明距离,F与B分别表示两个常数。
本实施例中,提供了一种比对目标掌静脉图像的特征数据与数据库中存储的已登记的原始掌静脉图像的特征数据的方法,即为采用相似度计算公式来得到相应的结论。在掌静脉识别装置对应的数据库中存储有大量的来自不同用户的掌静脉图像特征数据,这些图像被称为是登记掌静脉。对每个已登记的原始掌静脉图像而言,需要对其进行ROI的提取,并计算特征数据才存入数据库。
按照上述实施例提供的方式分别求得256字节的特征数据后,计算特征数据的位差异以及海明距离。
采用如下公式计算目标掌静脉图像对应的特征数据与掌静脉图像对应的特征数据的相似度:
其中,x1为目标掌静脉图像对应的特征数据,x2为掌静脉图像对应的特征数据,S(x1,x2)为目标掌静脉图像对应的特征数据与掌静脉图像对应的特征数据的相似度,H(x1,x2)为x1与x2的海明距离,F与B分别表示两个常数。
在信息编码中,两个合法代码对应位上编码不同的位数称为码距,又称海明距离。在一个有效编码集中,任意两个码字的海明距离的最小值称为该编码集的海明距离。举例如下:10101和00110从第一位开始依次有第一位、第四、第五位不同,则海明距离为3。
F与B分别表示两个常数,可以通过实验来确认这两个常数,具体测定的方法可以是通过仿真计算F和B的值。
其次,本发明实施例中,提供了一种比对目标掌静脉图像与数据库中存储的已登记的原始掌静脉图像是否一致的方法,使得方案在实际应用中具有更强的可行性,同时,增强方案的可操作性,根据相似度的值来识别目标掌静脉图像,还可以提升方案的识别效果。
下面对本发明中的掌静脉识别装置进行详细描述,请参阅图7,本发明实施例中的掌静脉识别装置200包括:
第一获取模块201,用于获取用户的目标掌静脉图像;
提取模块202,用于从所述第一获取模块201获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
第二获取模块203,用于获取所述提取模块202提取的所述ROI对应的特征数据,所述特征数据为经过滤波后得到的;
识别模块204,用于通过比对所述第二获取模块203获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
本实施例中,第一获取模块获取用户的目标掌静脉图像,提取模块从第一获取模块获取的用户的目标掌静脉图像中提取感兴趣区域ROI;第二获取模块获取提取模块提取的ROI对应的特征数据,特征数据为经过滤波后得到的;识别模块通过比对第二获取模块获取的目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对用户的目标掌静脉图像进行识别,其中,已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
本发明实施例中,先获取用户的目标掌静脉图像,并从该图像中提取感兴趣区域ROI,获取ROI对应的特征数据,特征数据为经过滤波后经过二值化处理得到的,通过比对目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对用户的目标掌静脉图像进行识别。采用上述方式通过比对目标掌静脉图像中ROI的特征数据与已登记的原始掌静脉图像中ROI的特征数据,来识别用户的目标掌静脉图像可以有效地减少计算时间。经过滤波后得到的特征数据具有更强的识别性,提升本方案的识别效果,对滤波后的特征数据做二值化处理,也可大幅度的降低数据量,提升方案的实用性。
请参阅图8,本发明中掌静脉识别装置的另一个实施例包括:
第一获取模块201,用于获取用户的目标掌静脉图像;
提取模块202,用于从所述第一获取模块201获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
第二获取模块203,用于获取所述提取模块202提取的所述ROI对应的特征数据,所述特征数据为经过滤波后得到的;
识别模块204,用于通过比对所述第二获取模块203获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的;
其中,所述提取模块202包括:
第一获取单元2021,用于获取所述目标掌静脉图像中九个关键点,其中,所述九个关键点分别为连接最大的横向掌纹的左端点,连接所述最大的横向掌纹的右端点,大拇指与食指之间的凹点,所述食指与中指之间的凹点,所述中指与无名指之间的凹点,所述无名指与小指之间的凹点,所述小指到手掌的凹点,与所述食指与中指之间的凹点相连的边界点,以及与所述无名指与小指之间的凹点相连的边界点;
第一定位单元2022,用于通过定位所述第一获取单元2021获取的所述九个关键点确定所述ROI。
其次,本发明实施例中,通过对大量手掌图像进行关键点标注得到训练样本,然后对其使用机器学习算法进行训练,学习到一个测量关键点的算法,在检测的目标掌静脉图像时,通过定位关键点来精确定位手掌在图像中的位置,并以此确定以掌心为中心的ROI。使得本方案在实际应用过程中具有合理的实现手段,采用九个关键点定位ROI不需要定位任何边界,直接通过级联回归定位九个关键点,然后根据九个关键点求解ROI的仿射变换,算法简洁高效,并且使用关键点定位可以得到特征表现更强的ROI,从而提升方案的识别效果。
请参阅图9,本发明中掌静脉识别装置的另一个实施例包括:
第一获取模块201,用于获取用户的目标掌静脉图像;
提取模块202,用于从所述第一获取模块201获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
第二获取模块203,用于获取所述提取模块202提取的所述ROI对应的特征数据,所述特征数据为经过滤波后得到的;
识别模块204,用于通过比对所述第二获取模块203获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的;
其中,所述提取模块202包括:
第二获取单元2023,用于获取所述目标掌静脉图像中的七个关键点,或获取所述目标掌静脉图像中的五个关键点;
第二定位单元2024,用于通过定位所述第二获取单元2023获取的所述四七个关键点或者所述五个关键点确定所述ROI。
其次,本发明实施例中,通过定位九个关键点中的其中七个或者五个个关键点来确定ROI,再次构建了一个新的关键点模型,一方面可以增强方案在实际应用方面的可行性,另一方面只需要定位七个或者五个关键点即可确定ROI,可以减少对关键点的获取,从而提升方案的实用性以及灵活性,更进一步地,在获取关键点的效率上也有所提升。
请参阅图10,本发明中掌静脉识别装置的另一个实施例包括:
第一获取模块201,用于获取用户的目标掌静脉图像;
提取模块202,用于从所述第一获取模块201获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
归一化模块205,用于所述提取模块202从所述用户的目标掌静脉图像中提取感兴趣区域ROI之后,对所述ROI进行归一化处理;
灰度调整模块206,用于对所述归一化模块205归一化处理后的所述ROI进行灰度调整,并对灰度调整后ROI进行归一化处理;
第二获取模块203,用于获取所述提取模块202提取的所述ROI对应的特征数据,所述特征数据为经过滤波后得到的;
识别模块204,用于通过比对所述第二获取模块203获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
再次,本发明实施例中,具体介绍了获取特征数据的方法,可以将ROI划分为多个图像块,将每个图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,卷积窗口与图像块的大小相等,最后对多个特征值进行二值化处理后获取特征数据。如果对掌静脉识别***的速度和模板空间没有太大限制的情况下,提取更多的特征,例如提取更多的频率和方向等,使得本发明方案可以有更好的识别效果。并且本方案可以根据实际情况适当调整ROI大小,滤波器的频率大小,方向以及步长等参数,从而提升本案的实用性。
请参阅图11,本发明中掌静脉识别装置的另一个实施例包括:
第一获取模块201,用于获取用户的目标掌静脉图像;
提取模块202,用于从所述第一获取模块201获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
归一化模块205,用于所述提取模块202从所述用户的目标掌静脉图像中提取感兴趣区域ROI之后,对所述ROI进行归一化处理;
灰度调整模块206,用于对所述归一化模块205归一化处理后的所述ROI进行灰度调整,并对灰度调整后ROI进行归一化处理;
第二获取模块203,用于获取所述提取模块202提取的所述ROI对应的特征数据,所述特征数据为经过滤波后得到的;
识别模块204,用于通过比对所述第二获取模块203获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的;
其中,所述第二获取模块203包括:
划分单元2031,用于将所述ROI划分为多个图像块;
卷积单元2032,用于将每个所述划分单元2031划分好的所述图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,所述卷积窗口与所述图像块的大小相等;
二值化单元2033,用于对所述卷积单元2032卷积运算后得到的所述多个特征值进行二值化处理后获取所述特征数据。
再次,本发明实施例中,具体介绍了获取特征数据的方法,可以将ROI划分为多个图像块,将每个图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,卷积窗口与图像块的大小相等,最后对多个特征值进行二值化处理后获取特征数据。如果对掌静脉识别***的速度和模板空间没有太大限制的情况下,提取更多的特征,例如提取更多的频率和方向等,使得本发明方案可以有更好的识别效果。并且本方案可以根据实际情况适当调整ROI大小,滤波器的频率大小,方向以及步长等参数,从而提升本案的实用性。对特征数据采用二值化处理还具有这样的好处,首先,大幅降低数据量,如果从原始的16个4字节的特征数据被压缩到2个字节,就相当于数据量减少到原来的三十二分之一;便于存储、传输和计算;其次,增强了特征的表达能力,从而提高了识别率。二值化处理后的2字节的特征数据相当于一种模式特征,对掌静脉纹线的纹理特征有很强的表达能力。
请参阅图12,本发明中掌静脉识别装置的另一个实施例包括:
第一获取模块201,用于获取用户的目标掌静脉图像;
提取模块202,用于从所述第一获取模块201获取的所述用户的目标掌静脉图像中提取感兴趣区域ROI;
第二获取模块203,用于获取所述提取模块202提取的所述ROI对应的特征数据,所述特征数据为经过滤波后得到的;
识别模块204,用于通过比对所述第二获取模块203获取的所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的;
其中,所述识别模块204包括:
计算单元2041,用于按照如下方式计算所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度:
其中,x1为所述目标掌静脉图像对应的特征数据,x2为所述掌静脉图像对应的特征数据,S(x1,x2)为所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度,H(x1,x2)为所述x1与所述x2的海明距离,F与B分别表示两个常数。
其次,本发明实施例中,提供了一种比对目标掌静脉图像与数据库中存储的已登记的原始掌静脉图像是否一致的方法,使得方案在实际应用中具有更强的可行性,同时,增强方案的可操作性,根据相似度的值来识别目标掌静脉图像,还可以提升方案的识别效果。
图13是本发明实施例掌静脉识别装置30的结构示意图。掌静脉识别装置30可包括输入设备310、输出设备320、处理器330和存储器340。本发明实施例中的输出设备可以是显示设备。
存储器340可以包括只读存储器和随机存取存储器,并向处理器330提供指令和数据。存储器340的一部分还可以包括非易失性随机存取存储器(英文全称:Non-VolatileRandomAccessMemory,英文缩写:NVRAM)。
存储器340存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作***:包括各种***程序,用于实现各种基础业务以及处理基于硬件的任务。
本发明实施例中处理器330用于:
获取用户的目标掌静脉图像;
从所述用户的目标掌静脉图像中提取感兴趣区域ROI;
获取所述ROI对应的特征数据,所述特征数据为滤波后经过二值化处理得到的;
通过比对所述目标掌静脉图像对应的特征数据与已登记的原始掌静脉图像对应的特征数据,对所述用户的目标掌静脉图像进行识别,其中,所述已登记的原始掌静脉图像对应的特征数据为预先计算得到的。
处理器330控制掌静脉识别装置30的操作,处理器330还可以称为中央处理单元(英文全称:CentralProcessingUnit,英文缩写:CPU)。存储器340可以包括只读存储器和随机存取存储器,并向处理器330提供指令和数据。存储器340的一部分还可以包括NVRAM。具体的应用中,掌静脉识别装置30的各个组件通过总线***350耦合在一起,其中总线***350除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线***350。
上述本发明实施例揭示的方法可以应用于处理器330中,或者由处理器330实现。处理器330可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器330中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器330可以是通用处理器、数字信号处理器(英文全称:digitalsignalprocessing,英文缩写:DSP)、专用集成电路(英文全称:ApplicationSpecificIntegratedCircuit,英文缩写:ASIC)、现成可编程门阵列(英文全称:Field-ProgrammableGateArray,英文缩写:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器340,处理器330读取存储器340中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器330具体用于:
获取所述目标掌静脉图像中九个关键点,其中,所述九个关键点分别为连接最大的横向掌纹的左端点,连接所述最大的横向掌纹的右端点,大拇指与食指之间的凹点,所述食指与中指之间的凹点,所述中指与无名指之间的凹点,所述无名指与小指之间的凹点,所述小指到手掌的凹点,与所述食指与中指之间的凹点相连的边界点,以及与所述无名指与小指之间的凹点相连的边界点;
通过定位所述九个关键点确定所述ROI。
可选地,处理器330具体用于:
获取所述目标掌静脉图像中的七个关键点,或获取所述目标掌静脉图像中的五个关键点;
通过定位所述七个关键点或者所述五个关键点确定所述ROI。
可选地,处理器330具体用于:
对所述ROI进行归一化处理;
对所述ROI进行灰度调整,并对灰度调整后ROI进行归一化处理。
可选地,处理器330具体用于:
将所述ROI划分为多个图像块;
将每个图像块与卷积窗口进行卷积运算,并得到多个特征值,其中,所述卷积窗口与所述图像块的大小相等;
对所述多个特征值进行二值化处理后获取所述特征数据。
可选地,处理器330具体用于:
按照如下方式计算所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度:
其中,x1为所述目标掌静脉图像对应的特征数据,x2为所述掌静脉图像对应的特征数据,S(x1,x2)为所述目标掌静脉图像对应的特征数据与所述掌静脉图像对应的特征数据的相似度,H(x1,x2)为所述x1与所述x2的海明距离,F与B分别表示两个常数。
图13的相关描述可以参阅图1方法部分的相关描述和效果进行理解,本处不做过多赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:RandomAccessMemory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。