发明内容
本说明书提供了一种指纹图像模板生成方法及系统,以及指纹识别方法及系统,使基于指纹模板的加密速度更快、指纹模板的精度更高、指纹模板加密的实施过程更安全和方便。
本申请公开了一种指纹图像模板生成方法,包括:
获取一个指纹图像的K个细节点;
分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于1的整数;
将所述每一组平移和旋转不变关系分别量化为一个二进制向量;
将所述二进制向量保存到指纹模板中。
在一个优选例中,所述计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,进一步包括:
对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
在一个优选例中,所述将每一组平移和旋转不变关系分别量化为一个二进制向量,进一步包括:
对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:
将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;
根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
在一个优选例中,所述将所述二进制向量保存到指纹模板中之前,还包括:对所述二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量;
所述将所述二进制向量保存到指纹模板,进一步包括:将所述不可逆的二进制向量保存到所述指纹模板。
在一个优选例中,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到;或者,
所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。
本申请还公开了一种指纹识别方法,包括:
获取待检测指纹图像的K个细节点;
分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于1的整数;
将每一组平移和旋转不变关系分别量化为一个二进制向量;
将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,根据匹配程度判断所述待检测指纹和所述注册指纹是否属于同一个人。
在一个优选例中,所述计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,进一步包括:
对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
在一个优选例中,所述将每一组平移和旋转不变关系分别量化为一个二进制向量,进一步包括:
对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:
将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;
根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
在一个优选例中,所述将每一组平移和旋转不变关系分别量化为一个二进制向量之后,还包括:对所述二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量;
所述将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,进一步包括:将所得到的各个所述不可逆的二进制向量和所述指纹模板中的不可逆的二进制向量进行匹配。
在一个优选例中,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到;或者,
所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。
本申请还公开了一种指纹图像模板生成系统,包括:
细节点获取模块,用于获取一个指纹图像的K个细节点;
细节点关系提取模块,用于分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于11的整数;
量化模块,用于将每一组平移和旋转不变关系分别量化为一个二进制向量;
存储模块,用于将所述二进制向量保存到指纹模板中。
在一个优选例中,所述细节点关系提取模块通过以下方式计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系:
对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
在一个优选例中,所述量化模块通过以下方式将每一组平移和旋转不变关系分别量化为一个二进制向量;
对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:
将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;
根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点
在一个优选例中,还包括保护变换模块,用于对所述量化模块输出的二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量,输出到所述存储模块以存储到所述指纹模板中。
在一个优选例中,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到;或者,
所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。
本申请还公开了一种指纹识别系统,包括:
细节点获取模块,用于获取待检测指纹图像的K个细节点;
细节点关系提取模块,用于分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于11的整数;
量化模块,用于将每一组平移和旋转不变关系分别量化为一个二进制向量;
匹配模块,用于将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,根据匹配程度判断所述待检测指纹和所述注册指纹是否属于同一个人。
在一个优选例中,所述细节点关系提取模块通过以下方式计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系:
对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
在一个优选例中,所述量化模块通过以下方式将每一组平移和旋转不变关系分别量化为一个二进制向量:
对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:
将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;
根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
在一个优选例中,还包括保护变换模块,用于对所述量化模块输出的二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量;
所述匹配模块使用所述保护变换模块输出的不可逆的二进制向量和所述指纹模板中注册指纹的不可逆的二进制向量的进行匹配。
在一个优选例中,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到;或者,
所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。
本申请还公开了一种注册指纹图像处理设备,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,用于在执行所述计算机可执行指令时实现如前文描述的方法中的步骤。
本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如前文描述的方法中的步骤。
本说明书的实施例分别以指纹图像中的每一个细节点为中心构造多个不同方向的矩形框,计算每一个矩形框中细节点的平移和旋转不变关系(例如每一个细节点和矩形框中心点之间的距离和角度差),将这些平移和旋转不变关系量化为二进制向量。通过比较两个指纹图像的二进制向量就可以判断这两个指纹图像是否属于同一个人。因为在根本上使用的是细节点之间的平移和旋转不变关系,并不是原始的细节点信息,所以可以免配准、可撤销,并且使基于指纹模板的加密速度更快、并使指纹模板的精度更高、并使指纹模板加密的实施过程更安全和方便。
进一步的,本说明书的实施例还可以通过平面量化来将平移和旋转不变关系转换为二进制向量,从而压缩要存储的信息,进一步保护指纹的原始信息。
进一步的,本说明书的实施例还可以对二进制向量进行DFT变换,与用户特定的随机矩阵相乘,从而实现对二进制向量的保护。
本说明书中记载了大量的技术特征,分布在各个技术方案中,如果要罗列出本申请所有可能的技术特征的组合(即技术方案)的话,会使得说明书过于冗长。为了避免这个问题,本说明书上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
下面说明部分概念:
量化:指将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。
指纹模板:用于存储注册指纹的特征信息的信息集合。
平移和旋转不变关系:是指不会随坐标系的平移和旋转而变化的相对位置关系。
二进制向量:是指由多个比特位依次构成的向量,每一个比特位的值可以是0或1。
下面将结合附图对本说明书的实施方式作进一步地详细描述。
首先,参见图1,详细描述本申请的第一实施方式的注册指纹图像处理方法的具体流程。
如图1所示,本说明书的一个实施例的指纹图像模板生成方法,包括:
步骤110:获取一个指纹图像的K个细节点;
步骤120:分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于1的整数;
步骤130:将每一组平移和旋转不变关系分别量化为一个二进制向量;
步骤140:将所述二进制向量保存到指纹模板中。
下面将对每个步骤进行详细的解释说明。
对于步骤110:
可选的,在一个实施例中个,先获取注册指纹图像,从该指纹图像中提取至少一个细节点。
对于步骤120:
可选的,在一个实施例中,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到,可选的,所述矩形框每一次旋转的角度为π/M。但需指出,本说明书的实施例并不限于此,在另一个实施例中,也可以将所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。上述M与N分别为大于等于1的整数。例如,图5示出了不同尺度矩形框的示意图,其中,矩形框中心较大的圆点表示一个参考点,其周围较小的圆点表示该参考点的周围细节点。又例如,图6示出了以一个参考点为中心所构造的3个不同旋转角度的矩形框,以及位于该参考点相应的每个不同旋转角度的矩形框内的所有的相邻细节点。
需指出,所有的细节点都包含两个信息,一个是该细节点的坐标信息,即(xi,yi),另一个是该指纹细节点的角度信息,即θi。本领域技术人员知道,角度信息θi对于细节点而言是已知信息。
可选的,在一个实施例中,所述计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,进一步包括:对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为细节点与参考点之间的平移和旋转不变关系。本领域技术人员可以理解,虽然上述实施例中计算得到的距离和角度差都是相对于中心参考点的,但是,可以等价地变换成各个细节点之间的距离和角度差,在本实施例中,细节点之间的距离和角度差就是细节点之间的平移和旋转不变关系的一种实现方式,因为细节点之间的距离和角度差不会随坐标系的平移和旋转而变化。
这样做的好处在于,能够更加全面地反映两者之间的邻近关系情况,例如,邻近关系可以由向量L表示。具体的,将所述参考点(xi,yi,θi)与第j个相邻细节点(xj,yj,θj)之间的距离设为dij,将参考点与第j个相邻细节点之间的角度差设为θij,则参考点(xi,yi,θi)与第j个相邻细节点(xj,yj,θj)之间距离dij与角度差θij计算方式如下:
χ=(xj-xi)cosθi+(yj-yi)sinθi
γ=(xj-xi)sinθi-(yj-yi)cosθi
在本说明书的实施例中,dij和θij分别为参考点与各个相邻细节点间的距离和角度差。
对于步骤130:
可选的,如图2所示,在一个实施例中,本步骤130可以对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:
步骤1302:将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;
步骤1304:根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
具体的,举例来说,根据所述每个参考点与相应的每个相邻细节点之间的距离dij与角度差θij,确定该参考点和它的所有相邻细节点之间的邻近关系,因此,该邻近关系的向量Lr可以表示为:
Lr={{[d11,θ11],[d21,θ21],......,[dm1,θm1]},{[d12,θ12],[d22,θ22],......,[dn2,θn2]}......,{[d1M,θ1M],[d2M,θ2M],......,[doM,θoM]}}
对上述参考点集合中的每个参考点(xi,yi),分别确定表示该参考点和它相应的所有相邻细节点之间的邻近关系的向量Lr。
由此,所有参考点与它相应的相邻细节点之间的邻近关系表示为:
L={L1,L2,…,Lr,…,Lk}
然后,对上述每个参考点与所有相应的相邻细节点之间的邻近关系的向量Lr进行平面量化,获得表示所述每个参考点和所有相应的相邻细节点之间的邻近关系的向量Lr对应的二进制向量,即,二进制串(Hw)。具体的,如图7所示,将二维平面分割为多个小块,形成二维分割平面,分别将所述每个参考点与相应的每个相邻细节点之间的距离与角度差的向量,映射到所述二维分割平面相应的小块中。其中,所述二维分割平面的小块中的每个映射点,表示一个参考点与相应的一个相邻细节点之间的距离与角度差的向量。进一步的,将每个参考点和它的所有相邻细节点之间的邻近关系的向量Lr表示为一组二维向量Lr={dij,θij},以便绘制在下文中进行分割后的二维平面中的小块内。
在本实施例中,在上述二维平面上,x轴表示参考点与第j个相邻细节点之间的距离dij,y轴表示参考点与第j个相邻细节点之间的角度差θij。
可选的,在一个实施例中,对于二维平面,x轴与y轴的取值范围可以分别为:x轴的范围是0至矩形框的对角线长度的一半,该矩形框是指上述用于确定参考点相应的相邻细节点的矩形框;y轴的范围是0至2π。
并且,将该二维平面分割成大小为cx×cy的小块。其中,
其中,cs与cy分别表示划分小块的长度大小。
进一步的,将上述表示每个参考点和它的所有相邻细节点之间的邻近关系的二维向量Lr={dij,θij}绘制在分割好的二维平面中,即,二维分割平面中。如图7所示。
本实施例中,将二维平面分割为多个小块,将每个参考点与相应的每个相邻细节点之间的距离与角度差,映射到所述二维分割平面相应的小块中。
然后,根据所述二维分割平面中所述每个小块中是否存在映射点,将所述每个参考点与相应的每个相邻细节点之间的距离与角度差转换为对应的二进制向量,由所述二进制向量构成二进制串,其中,当所述小块中的映射点的数量大于等于1,则记为1,否则记为0。
在本步骤中,根据绘制好的二维分割平面图,将上述二维向量Lr={dij,θij}进一步量化为一维二进制向量。
可选的,在一个实施例中,当上述二维分割平面中的小块中的二维向量Lr={dij,θij}对应的相邻细节点的数量大于或等于1时,二进制数记为1,否则记为0。由此,形成一个二进制串(Hw)。
举例来说,如图7所示,若小块内包含细节点,则标为1,从左至右,从上至下进行扫描,则可生成二进制串。
但是,本申请并不限于此,在其它实施例中,也可以使用不同方式,根据小块中的映射点的数量,确定对应的二进制向量,并由二进制向量构成二进制串,在此不做赘述。
在本步骤中,根据所述二维分割平面中所述每个小块中是否存在映射点,将所述每个参考点与相应的每个相邻细节点之间的距离与角度差转换为对应的二进制向量,由所述二进制向量构成二进制串。
这样做的好处在于,能够使后续验证步骤中的计算速度更快。
对于步骤140:将所述二进制向量保存到指纹模板中。
可选的,在一个实施例中,本步骤140中,在所述将所述二进制向量保存到指纹模板中之前,还包括:对所述二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量。相应的,此后,将所述不可逆的二进制向量保存到所述指纹模板。
例如,本步骤可以通过以下具体方式来实现。
首先,利用离散傅里叶变换(Discrete Fourier Transform,缩写为DFT),将表示每个参考点和它的所有相邻细节点之间的邻近关系的二进制串(Hw),转换为频域中的复矢量,得到表示每个参考点和它的所有相邻细节点之间的邻近关系所对应的向量D。
具体的,频域中的复矢量的计算公式如下:
i=0,1,......,B-1,得到一个向量D=[D
0,D
1,......,D
B-1]
T。
其中,B是上述二进制串(Hw)的长度。T是矩阵的一个运算符,相当于乘号,代表对矩阵进行转置。
换句话说,在本步骤中,对所述表示每个参考点和它的所有相邻细节点之间的邻近关系的二进制串(Hw)进行离散傅里叶变换(Discrete Fourier Transform,缩写为DFT),得到表示每个参考点和它的所有相邻细节点之间的邻近关系所对应的向量。即,
D=[D0,D1,......,DB-1]T
然后,通过对表示每个参考点和它的所有相邻细节点之间的邻近关系所对应的向量D=[D0,D1,......,DB-1]T进行不可逆变换,生成每个参考点和它的所有相邻细节点之间的邻近关系的指纹模板T={T1,T2,...,TK},该指纹模板T={T1,T2,...,TK}具有不可逆性。
可选的,在一个实施例中,使用用户的个人识别码(PIN,personalidentification number)生成用户特定的随机矩阵R,该用户特定的随机矩阵R为p×q的矩阵,其中,q=B,且p<q。在这种情况下,对每个参考点和它的所有相邻细节点之间的邻近关系所对应的向量D,获得相应的不可逆变换后的复矢量,即,相应的指纹模板T。为:
RD=T
换句话说,也就是上面提到的,将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量。
在本步骤中,对所有参考点进行上述步骤,生成最终的指纹模板T={T1,T2,...,TK},其中,k表示从指纹图像中提取的参考点的数目。
在本实施例中,以参考点为中心构造矩形框,并将矩形框绕参考点旋转M次,将位于旋转前后的矩形框内的所有细节点都作为该参考点的相邻细节点,并获取参考点与每个相邻细节点之间的距离和角度差,并通过一个二维分割平面,将参考点与每个相邻细节点之间的距离和角度差转换为对应的二进制向量,并根据该二进制向量生成指纹模板。
由此,在通过旋转矩形框的特定方式,选取参考点相应的相邻细节点的基础上,不但考虑了参考点与每个相邻细节点之间的距离,还引入了参考点与每个相邻细节点之间的角度差的概念,通过这两个特征信息生成指纹模板,能够有效地消除由于指纹采集中的平移、旋转,以及弹性形变所导致的误差,因此,使指纹匹配的精度更高。并且,将参考点与每个相邻细节点之间的距离和角度差转换为对应的二进制向量,并根据该二进制向量生成指纹模板,这种方式相对于传统的指纹模板加密方法,计算速度更快。并且,相对于传统的指纹模板加密方法,不需要配准,更加方便高效。
下面参见图3,详细描述本申请的第二实施方式的指纹识别方法的具体流程。
如图3示出本说明书的一个实施例的指纹识别方法,包括:
步骤210:获取待检测指纹图像的K个细节点;
步骤220:分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于1的整数;
步骤230:将每一组平移和旋转不变关系分别量化为一个二进制向量;
步骤240:将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,根据匹配程度判断所述待检测指纹和所述注册指纹是否属于同一个人。
下面对每个步骤进行详细的解释说明。
对于步骤210:
可选的,在一个实施例中个,先获取待检测指纹图像,从该指纹图像中提取至少一个细节点。
对于步骤220:
可选的,在一个实施例中,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到。但本说明书的实施例不限于此,在另一个实施例中,也可以将所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。
可选的,在一个实施例中,所述计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,进一步包括:对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
对于步骤230:
可选的,如图4所示,本步骤230可以对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:
步骤2302:将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;
步骤2304:根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
可选的,在一个实施例中,进一步包含以下步骤:
步骤2306:对所述二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量。
对于步骤240:将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,根据匹配程度判断所述待检测指纹和所述注册指纹是否属于同一个人。
可选的,在一个实施例中,本步骤中的所述将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,进一步包括:将所得到的各个所述不可逆的二进制向量和所述指纹模板中的不可逆的二进制向量进行匹配。
例如,可以运用全局匹配分数对指纹模板T={T1,T2,...,TK}进行匹配,其中,运用全局匹配分数对所述指纹模板T={T1,T2,...,TK}进行匹配,匹配分数MS的计算公式如下:
其中,#表示S(Ti,T′j)中非零元素的数量,k和m表示注册和查询模板中的参考点数目。
匹配分数MS的范围为0-1,若匹配分数为1,则表示完全匹配。
需指出,运用指纹模板对采集到的待验证指纹进行匹配,是本领域公知的,在此不做赘述。
第二实施方式的指纹识别方法中的待检测指纹图像的处理方式与第一实施方式中的指纹图像处理方式是相类似的,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
本说明书的第三实施方式涉及一种指纹图像模板生成系统,其结构如图8所示,该指纹图像模板生成系统包括:
细节点获取模块,用于获取一个指纹图像的K个细节点。
细节点关系提取模块,用于分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于11的整数。可选的,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到。但本说明书的实施例不限于此,在另一个实施例中,也可以将所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。可选的,所述细节点关系提取模块通过以下方式计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系:对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
量化模块,用于将每一组平移和旋转不变关系分别量化为一个二进制向量。可选的,所述量化模块通过以下方式将每一组平移和旋转不变关系分别量化为一个二进制向量:对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量;将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
保护变换模块,用于对所述量化模块输出的二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量,输出到所述存储模块以存储到所述指纹模板中。
存储模块,用于将所述二进制向量保存到指纹模板中。
第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
本说明书的第四实施方式涉及一种指纹识别系统,其结构如图9所示,该指纹识别系统包括:
细节点获取模块,用于获取待检测指纹图像的K个细节点。
细节点关系提取模块,用于分别以每一个所述细节点为中心构造M个不同方向的矩形框,计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系,得到K*M组平移和旋转不变关系;其中,所述K和M为大于11的整数。可选的,所述M个不同方向的矩形框通过一个矩形框以共同的中心点旋转M次得到。但本说明书的实施例不限于此,在另一个实施例中,也可以将所述M个不同方向的矩形框分为N组,每一组内包括大小相同方向不同多个矩形框,至少有一组矩形框的大小和其他组矩形框的大小不同。可选的,所述细节点关系提取模块通过以下方式计算每一个矩形框所覆盖的细节点之间的平移和旋转不变关系:对于每一个矩形框,以该矩形框中心的细节点为参考点,分别计算该矩形框所覆盖的细节点和所述参考点之间的距离和角度差,以作为所述平移和旋转不变关系。
量化模块,用于将每一组平移和旋转不变关系分别量化为一个二进制向量。可选的,所述量化模块通过以下方式将每一组平移和旋转不变关系分别量化为一个二进制向量:对于每一个矩形框分别执行以下步骤,从而实现该矩形框对应的一组平移和旋转不变关系的量化,得到对应该组平移和旋转不变关系的一个二进制向量:将该矩形框所覆盖的细节点和所述参考点之间的距离和角度差映射到一个二维平面,每一对距离和角度差对应该二维平面的一个映射点,其中,该二维平面被预先分割为多个小块;根据所述二维平面中映射点的分布生成一个二进制向量,其中,该二进制向量的每一个二进制比特位对应所述二维平面的一个小块,该二进制向量的每一个二进制比特位的值代表所述二维平面中对应的一个小块是否存在映射点。
保护变换模块,用于对所述量化模块输出的二进制向量进行离散傅里叶变换;将经过所述离散傅里叶变换的二进制向量与以用户个人识别码生成的随机矩阵相乘,得到不可逆的二进制向量。
匹配模块,用于将所得到的各个二进制向量和预先设置的指纹模板中注册指纹的二进制向量进行匹配,根据匹配程度判断所述待检测指纹和所述注册指纹是否属于同一个人。可选的,所述匹配模块使用所述保护变换模块输出的不可逆的二进制向量和所述指纹模板中注册指纹的不可逆的二进制向量的进行匹配。
第二实施方式是与本实施方式相对应的方法实施方式,第二实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第二实施方式。
需要说明的是,本领域技术人员应当理解,上述指纹图像模板生成系统与指纹识别系统的实施方式中所示的各模块的实现功能可参照前述指纹图像模板生成方法与指纹识别方法的相关描述而理解。上述指纹图像模板生成系统与指纹识别系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本说明书实施例上述指纹图像模板生成系统与指纹识别系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本说明书各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
相应地,本说明书实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
此外,本说明书实施方式还提供一种注册指纹图像处理设备,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(Central Processing Unit,简称“CPU”),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称“DSP”)、专用集成电路(Application SpecificIntegrated Circuit,简称“ASIC”)等。前述的存储器可以是只读存储器(read-onlymemory,简称“ROM”)、随机存取存储器(random access memory,简称“RAM”)、快闪存储器(Flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在本专利的申请文件中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本专利的申请文件中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在本说明书提及的所有文献都被认为是整体性地包括在本说明书的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。