发明内容
基于此,有必要针对现有的问题,提供一种基于多维向量的指纹纹线识别方法及装置。
第一方面,本申请实施例提供了一种基于多维向量的指纹纹线识别方法,包括:
获取用户输入的指纹图像,对所述指纹图像进行方向场估计;
遍历所述指纹图像中的像素点作为目标像素点,获取根据方向场估计得到的所述目标像素点的纹线方向以及与所述纹线方向垂直的法线方向;
以所述目标像素点为中心点划定矩形区域,且所述矩形区域的长和宽的延展方向分别对应所述目标像素点的纹线方向和法线方向,所述矩形区域包含沿所述法线方向排列的多个第一像素点行;
遍历各个所述第一像素点行中的像素点,获得目标像素点纹线方向的所有极小值点;
以各个所述极小值点为中心点划定Gabor邻域,且所述Gabor邻域的长和宽的延展方向分别对应各个所述极小值点的纹线方向和法线方向,所述Gabor邻域包含沿所述法线方向排列的多个第二像素点行;
将各个所述第二像素点行中像素点与各个所述极小值点做差并进行量化分级,获得Gabor窗多维向量;
将所述Gabor窗多维向量做直方图统计并进行插值处理,获得各个所述极小值点为纹线中心的概率;
计算所有所述极小值点为纹线中心的概率的概率总和,当所述概率总和大于预设阈值时,判定所述矩形区域为纹线区域。
优选地,所述遍历各个所述第一像素点行中的像素点,获得目标像素点纹线方向的所有极小值点,包括:
若各个所述第一像素点行中的像素点(,/>)的像素值同时小于等于像素点(,/>)的像素值和像素点(/>,/>)的像素值,则像素点(/>,/>)为所述目标像素点纹线方向的极小值点;
其中,为像素点(/>,/>)的纹线方向角。
优选地,所述由如下公式(1)得到:
(1);
其中,为目标像素点(/>,/>)在所述矩形区域的平均梯度向量。
优选地,所述平均梯度向量由如下公式(2)得到:
(2);
其中, ;()为所述矩形区域中像素点(/>,/>)的梯度向量,其由公式(3)得到:
(3);
其中,I(,/>)为所述指纹图像在像素点(/>,/>)处的像素值,W为所述矩形区域的长,V为所述矩形区域的宽。
优选地,所述Gabor窗多维向量包括与纹线方向平行的切向Gabor窗多维向量和与纹线方向垂直的法向Gabor窗多维向量。
优选地,所述将所述Gabor窗多维向量做直方图统计并进行插值处理,获得各个所述极小值点为纹线中心的概率,包括:
对各个所述极小值点的所述切向Gabor窗多维向量和所述法向Gabor窗多维向量分别做直方图统计,获得切向直方图和法向直方图;
分别对所述切向直方图和法向直方图进行多维空间插值,获得切向插值和法向插值;
将所述切向插值和所述法向插值进行乘积,获得各个所述极小值点为纹线中心的概率。
第二方面,本申请实施例提供了一种基于多维向量的指纹纹线识别装置,包括:
指纹图像获取模块,获取用户输入的指纹图像,对所述指纹图像进行方向场估计;
像素点方向获取模块,遍历所述指纹图像中的像素点作为目标像素点,获取根据方向场估计得到的所述目标像素点的纹线方向以及与所述纹线方向垂直的法线方向;
第一参考像素点选取模块,以所述目标像素点为中心点划定矩形区域,且所述矩形区域的长和宽的延展方向分别对应所述目标像素点的纹线方向和法线方向,所述矩形区域包含沿所述法线方向排列的多个第一像素点行;
极小值点判定模块,遍历各个所述第一像素点行中的像素点,获得目标像素点纹线方向的所有极小值点;
第二参考像素点选取模块,以各个所述极小值点为中心点划定Gabor邻域,且所述Gabor邻域的长和宽的延展方向分别对应各个所述极小值点的纹线方向和法线方向,所述Gabor邻域包含沿所述法线方向排列的多个第二像素点行;
多维向量获取模块,将各个所述第二像素点行中像素点与各个所述极小值点做差并进行量化分级,获得Gabor窗多维向量;
纹线概率计算模块,将所述Gabor窗多维向量做直方图统计并进行插值处理,获得各个所述极小值点为纹线中心的概率;
指纹纹线判定模块,用于计算所有所述极小值点为纹线中心的概率的概率总和,当所述概率总和大于预设阈值时,判定所述矩形区域为纹线区域。
第三方面,本申请实施例提供一种电子设备,所述设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述的方法步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于执行上述的方法。
与现有技术相比,本发明具有以下优点:采用了上述指纹纹线点的识别方法及装置之后,在对指纹图像进行二值化时,遍历指纹图像中的像素点,以遍历到的像素点为中心点划定矩形区域,在选定矩形区域中计算像素极小值点,并对每个像素极小值点取纹线方向和纹线法向的Gabor邻域,再对Gabor邻域内的所有像素点与每个极小值点做差并进行量化分级,获得Gabor窗多维向量,然后将Gabor窗多维向量做直方图统计并进行插值处理,获得每个极小值点为纹线中心的概率,并将所有极小值点的概率做和再与预设阈值比较,当所述概率总和大于预设阈值时,判定所述矩形区域为纹线区域。和传统技术中采用滤波或阈值过滤的方式相比,本发明两次选取了像素点操作邻域,不仅参考了遍历到的像素点和极小值点的灰度值,还参考了与遍历到的像素点相邻位置上的像素点的灰度值和Gabor邻域内像素点的灰度值,从而有效地去除了误判的噪点,提高了识别的准确度。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本邻域的技术人员。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本邻域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本申请实施例提供一种投影设备的三维姿态确定方法,下面结合附图进行说明。
参照图1,其示出了本申请的一些实施方式所提供的一种基于多维向量的指纹纹线识别方法,如图1所示,方法可以包括以下步骤:
S101:获取用户输入的指纹图像,对指纹图像进行方向场估计;
在本实施例中,可通过摄像头采集指纹图像。用户将手指按压在指纹传感器的玻璃板上,位于玻璃板下方的图像采集装置即可得到该手指的指纹图像。在另一个实施例中,也可接收其他设备已经拍摄完成的指纹图像,对已经得到的指纹图像进行指纹识别。
优选的,在采集到指纹图像之后,还可先对指纹图像进行光照归一化。光照归一化的目的是去除在采集指纹图像时,光照对指纹图像的影响。也就是说,在采集指纹图像时,由于光源位置或光照强度的不同,会造成采集的指纹图像中某些区域较亮而另一些区域较暗,或者整体上偏亮或者偏暗。经过光照归一化之后则可将偏亮或偏暗的区域修正,从而去除光照对采集的指纹图像的影响。在本实施例中,可采用基于特征子空间的方法或者基于直方图均衡的修正方法实现光照归一化。
S102:遍历指纹图像中的像素点作为目标像素点,获取根据方向场估计得到的目标像素点的纹线方向以及与纹线方向垂直的法线方向;
对指纹图像的方向场估计即为获取指纹图像中经过每一个像素点的纹线(又叫脊线)的方向信息。在本实施例中,可基于像素点灰度值的梯度分布计算每个点的方向信息。例如,若像素点左侧和右侧相邻的像素点的灰度值与像素点的灰度值的差值较小,而像素点上侧和下侧的像素点的灰度值与像素点的灰度值的差值较大,则纹线方向即为像素点的左侧到右侧的水平方向,与纹线方向垂直的法线方向即为像素点的上侧到下侧的垂直方向。
具体地,对于给定的指纹图像,计算方向场图像,对于指纹图像中的每个位置,计算该处的平均梯度方向,与平均梯度方向垂直的方向角度则被称为该点的方向场图像,参见图2。
S103:以目标像素点为中心点划定矩形区域,且矩形区域的长和宽的延展方向分别对应目标像素点的纹线方向和法线方向,矩形区域包含沿法线方向排列的多个第一像素点行;
S014:遍历各个第一像素点行中的像素点,获得目标像素点纹线方向的所有极小值点;
具体地,当第一像素点行中的像素点(,/>)的像素值同时小于等于像素点(,/>)的像素值和像素点(/>,/>)的像素值,则像素点(/>,/>)为目标像素点纹线方向的极小值点,遍历矩形区域识别出所有的像素较小值点;其中,/>为像素点(/>,/>)的纹线方向角。
优选地,纹线方向角由如下公式(1)得到:
(1);
其中,为目标像素点(/>,/>)在矩形区域(即邻域/>,其中,W,V的取值可以使5-11)中任一像素点(/>,/>)的平均梯度向量。
优选地,平均梯度向量由如下公式(2)得到:
(2);
其中, ;()为矩形区域中像素点(/>,/>)的梯度向量,其由公式(3)得到:
(3);
其中,I(,/>)为指纹图像在像素点(/>,/>)处的像素值,W为矩形区域的长,V为矩形区域的宽。
S105:以各个极小值点为中心点划定Gabor邻域,且Gabor邻域的长和宽的延展方向分别对应各个极小值点的纹线方向和法线方向,Gabor邻域包含沿法线方向排列的多个第二像素点行;
S106:将各个第二像素点行中像素点与各个极小值点做差并进行量化分级,获得Gabor窗多维向量;
具体地,以纹线中心点(及S104中选取的极小值点)为中心,以方向场方向及垂直方向取Gabor邻域(见图3),对于邻域里边的每个点,将其灰度值与中心点灰度做差,并进行量化分级,然后将这些量化值按指定顺序形成一个多维向量,称这样的向量为Gabor窗多维向量(x1,x2,x3,x4,x5,x6,x7,x8),我们把长轴与纹线切线方向相同的Gabor窗称为切向Gabor邻域,在该邻域中定义的多维向量叫切向Gabor窗多维向量。同时取纹线法线方向的Gabor窗邻域(参见图4),与上述过程类似,可以定义法向Gabor窗多维向量。
具体地,量化分级可以指定量化的粒度和级数,例如粒度为16,级数为4级(0,1,2,3),那么在步骤S105中,对于纹线中心点(,/>)的邻域中的任意一点(/>,/>),其灰度值I(/>,/>)与中心点(/>,/>)处的灰度值做差后,可以依下式进行量化:
;
其中,函数round(x)返回四舍五入的整数值;对于纹线中心点(,/>),记该处的方向场方向(即纹线方向角)为/>,则其Gabor邻域取点的位置可以按照如下方式进行:
,i=1,2……N;
对于图3的切向Gabor窗,x1x2,x3,x4,x5和x6对应的参数为: ,/> , ,/> , ,/> , , ;其中,N为Gabor邻域的取值长度。
对于图4的法向Gabor窗, , ,/> , ,/> , , , 。
S017:将Gabor窗多维向量做直方图统计并进行插值处理,获得各个极小值点为纹线中心的概率;
具体地,在全图范围内,对上述获得的切向多维向量和法向多维向量进行直方图统计分别得到htan(x1,x2,x3,x4,x5,x6,x7,x8)和hnorm(x1,x2,x3,x4,x5,x6,x7,x8);接着,对直方图统计结果进行插值并归一化,得到Itan(x1,x2,x3,x4,x5,x6,x7,x8)和Inorm(x1,x2,x3,x4,x5,x6,x7,x8),Itan(x1,x2,x3,x4,x5,x6,x7,x8)乘以Inorm(x1,x2,x3,x4,x5,x6,x7,x8)即为极小值点为纹线中心的概率。
具体地,本实施例对多维空间的插值可以逐一维度进行平滑进行,例如,先做第1维的插值,然后再做第2维的插值,对于,对于h(0,0,0,0,0,0,0,0),h(1,0,0,0,0,0,0,0),h(2,0,0,0,0,0,0,0),h(3,0,0,0,0,0,0,0),插值后的结果为:
;
;/> ;/> ;
具体地,对第1维的插值次数为4的7次方(即16384),8个维度总共需要做次上述的插值。因此,归一化可以依下式进行:
Itan(x1,x2,x3,x4,x5,x6,x7,x8)=;Inorm(x1,x2,x3,x4,x5,x6,x7,x8)=。
S108:计算所有极小值点为纹线中心的概率的概率总和,当概率总和大于预设阈值时,判定矩形区域为纹线区域。
具体地,计算矩形区域内所有极小值点的为纹线中心概率的概率总和,将该总和与预设阈值h进行比较,若总和小于等于预设阈值,该区域为指纹纹线区域,否则,则为特殊区域。
与现有技术相比,本发明具有以下优点:采用了上述指纹纹线点的识别方法及装置之后,在对指纹图像进行二值化时,遍历指纹图像中的像素点,以遍历到的像素点为中心点划定矩形区域,在选定矩形区域中计算像素极小值点,并对每个像素极小值点取纹线方向和纹线法向的Gabor邻域,再对Gabor邻域内的所有像素点与每个极小值点做差并进行量化分级,获得Gabor窗多维向量,然后将Gabor窗多维向量做直方图统计并进行插值处理,获得每个极小值点为纹线中心的概率,并将所有极小值点的概率做和再与预设阈值比较,当概率总和大于预设阈值时,判定矩形区域为纹线区域。和传统技术中采用滤波或阈值过滤的方式相比,本发明两次选取了像素点操作邻域,不仅参考了遍历到的像素点和极小值点的灰度值,还参考了与遍历到的像素点相邻位置上的像素点的灰度值和Gabor邻域内像素点的灰度值,从而有效地去除了误判的噪点,提高了识别的准确度。
在上述的实施例中,提供了一种方法,与之相对应的,本申请还提供一种装置。本申请实施例提供的装置可以实施上述方法,该装置可以通过软件、硬件或软硬结合的方式来实现。例如,该装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。
在本申请实施例的一些实施方式中本申请实施例提供的装置50,与本申请前述实施例提供的方法出于相同的发明构思,具有相同的有益效果。
如图5所示,装置50可以包括:
指纹图像获取模块501,获取用户输入的指纹图像,对指纹图像进行方向场估计;
像素点方向获取模块502,遍历指纹图像中的像素点作为目标像素点,获取根据方向场估计得到的目标像素点的纹线方向以及与纹线方向垂直的法线方向;
第一参考像素点选取模块503,以目标像素点为中心点划定矩形区域,且矩形区域的长和宽的延展方向分别对应目标像素点的纹线方向和法线方向,矩形区域包含沿法线方向排列的多个第一像素点行;
极小值点判定模块504,遍历各个第一像素点行中的像素点,获得目标像素点纹线方向的所有极小值点;
第二参考像素点选取模块505,以各个极小值点为中心点划定Gabor邻域,且Gabor邻域的长和宽的延展方向分别对应各个极小值点的纹线方向和法线方向,Gabor邻域包含沿法线方向排列的多个第二像素点行;
多维向量获取模块506,将各个第二像素点行中像素点与各个极小值点做差并进行量化分级,获得Gabor窗多维向量;
纹线概率计算模块507,将Gabor窗多维向量做直方图统计并进行插值处理,获得各个极小值点为纹线中心的概率;
指纹纹线判定模块508,用于计算所有极小值点为纹线中心的概率的概率总和,当概率总和大于预设阈值时,判定矩形区域为纹线区域。
本实施例提供的基于多维向量的指纹纹线识别装置用于执行前述实施例的所公开的基于多维向量的指纹纹线识别方法,与前述实施例具有相同的技术构思,故本实施例在此不做赘述。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的电子设备,所述电子设备可以是用于服务端的电子设备,例如服务器,包括独立的服务器和分布式服务器集群等,以执行上述方法;所述电子设备也可以是用于客户端的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述方法。
请参考图6,其示出了本申请的一些实施方式所提供的一种智能穿戴设备的示意图。如图6所示,所述电子设备60包括:处理器600,存储器601,总线602和通信接口603,所述处理器600、通信接口603和存储器601通过总线602连接;所述存储器601中存储有可在所述处理器600上运行的计算机程序,所述处理器600运行所述计算机程序时执行本申请前述方法。
其中,存储器601可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口603(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线602可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器601用于存储程序,所述处理器600在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的方法可以应用于处理器600中,或者由处理器600实现。
处理器600可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器600中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器600可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本邻域成熟的存储介质中。该存储介质位于存储器601,处理器600读取存储器601中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读介质,请参考图7,其示出的计算机可读存储介质为光盘70,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属邻域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本邻域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。