用于获取多模式生物识别信息的***和方法
相关申请和交叉引用
本申请关于提交于同一日期的PCT专利申请,其名称为《用于基于多模式生物识别信息的个人识别的***和方法》,其全文通过引用的方式包含于此。
技术领域
本公开涉及用户/个人识别,特别地,基于多模式生物识别信息的用户/个人识别。
背景技术
生物识别信息已经广泛地用于用户识别和验证/鉴权。最为传统的技术关注于基于单一模式生物识别信息,即单一类型的生物识别信息的用户识别/验证。例如,基于指纹的用户识别设备可以基于个人的手指的指纹特性来识别一个人。然而,这种***可能由于各种原因而不可靠。例如,基于指纹的用户识别可能在手指潮湿、湿润或肮脏的时候发生错误拒绝。然而,在潜在的获取指纹的实际操作环境中,经常会遇到潮湿、湿润、干燥或者肮脏的手指。此外,基于指纹的用户识别可能在例如手指被伪造时还可能发生错误接受。在这种情况下,与基于生物识别信息的鉴权相关联的可靠性问题可能导致安全性问题。
因此,需要提供一种具有提高可靠性的基于生物识别信息的识别/验证解决方案。
发明内容
本教导涉及用于用户识别的方法、***和程序。特别地,本教导指向用于基于多模式生物识别信息的用户/个人识别的方法、***和程序。
在一个例子中,公开了一种用于获取生物识别信息的***。该***包括壳体,其中包括用于人在其上放置手指的表面。该***还包括感测器、第一图像获取部分以及第二图像获取部分。该感测器被配置用于当人将手指放置在该表面上时对手指的存在进行感测。该第一图像获取部分被配置用于获取放置在所述表面上的手指的指纹图像。第二图像获取部分被配置用于获取放置在所述表面上的手指的手指血管图像。其中所述第一图像获取部分和第二图像获取部分在不同的时间获取其各自的图像。
在另一个例子中,公开了一种用于识别人的***。该***包括壳体,其中包括用于人在其上放置手指的表面。该***还包括感测器、第一图像获取部分、第二图像获取部分以及识别部分。该感测器被配置用于当人将手指放置在表面上时对手指的存在进行感测。该第一图像获取部分被配置用于获取放置在所述表面上的手指的指纹图像。该第二图像获取部分被配置用于获取放置在所述表面上的手指的手指血管图像,其中所述第一图像获取部分和第二图像获取部分在不同的时间获取其各自的图像。该识别部分被配置用于基于指纹图像和/或手指血管图像识别人。
在另一个例子中,公开了一种在用于获取人的生物识别信息的设备上实现的方法。当人将手指放置在设备的表面上时对手指的存在进行感测。获取放置在所述表面上的手指的指纹图像。获取放置在所述表面上的手指的手指血管图像。所述指纹图像和手指血管图像在不同的时间获取。
附图说明
就示例性的实施例对这里所描述的方法、***和/或程序进行进一步的描述。参照附图对这些示例性实施例进行详细描述。这些实施例为非限制性的示例性实施例,其中相同的参考标号贯穿附图的多个视图代表着相似的结构,并且其中:
图1A描述了根据本教导的实施例的示例性产品的部分的侧视图;
图1B描述了根据本教导的实施例的示例性产品的部分的透视图;图1C描述了根据本教导的实施例的示例性产品的部分的截面视图;
图2A描述了根据本教导的实施例的示例性产品的立体视图;
图2B描述了根据本教导的实施例的示例性产品的另一个立体视图;
图3为根据本教导的实施例的用于用户识别的示例性***的高层示意图;
图4为根据本教导的实施例的用于用户识别的另一个示例性***的高层示意图;
图5描述了根据本教导的实施例的在用于用户识别的***中的识别/验证模块的示例性图;
图6为根据本教导的实施例的用于用户识别的示例性过程的流程图;
图7为根据本教导的实施例的用于生物识别信息记录的示例性过程的流程图;
图8描述了根据本教导的实施例的识别/验证控制器和基于服务器的识别/验证模块的示例性图;
图9描述了根据本教导的实施例的在用于用户识别的***中的指纹图像处理单元的示例性图;
图10为根据本教导的实施例的由指纹图像处理单元执行的示例性过程的流程图;
图11描述了根据本教导的实施例的在用于用户识别的***中的手指血管图像处理单元的示例性图;
图12为根据本教导的实施例的由手指血管图像处理单元执行的示例性过程的流程图;
图13描述了根据本教导的实施例的用于比对用于用户识别的两个手指血管图像的过程;
图14描述了根据本教导的实施例的在用于用户识别的***中的识别/验证单元的示例性图;
图15A为根据本教导的实施例的由识别/验证单元执行的示例性过程的流程图;
图15B为根据本教导的另一个实施例的由识别/验证单元执行的另一个示例性过程的流程图;
图16描绘了其上可以实施本教导的通用移动设备架构;
图17描绘了其上可以实施本教导的通用计算机架构;以及
图18描绘了其中可以将本教导实施在通用计算机上的示例性方式。
具体实施方式
在下面详细的描述中,作为示例列举出了多个特定的细节从而提供对于相关教导的全面理解。然而,对于本领域的技术人员来说明显的是本教导可以无需这些细节或者连同附加特征来实践。在其他的例子中,在相对高的层面上无有细节地对公知的方法、进程、***、组件和/或电路进行描述,从而避免对本教导的方面造成不必要的模糊化。
本公开描述了获取多模式生物识别信息并且基于多模式生物识别信息识别人的方法、***和程序方面。个人的多模式生物识别信息可以包括但不限于与个人的手指的指纹相关的信息以及与手指的手指血管相关的信息。这种用户识别的应用包括安全进入,例如建筑物、设备、安装在计算设备上的软件应用等。例如,当个人试图通过由安全***(其例如安装在门上或者门的附近)控制的门进入建筑物时,安全***可以通知个人将手指放置在用户识别设备上。用户识别设备可以确定该个人是否具有被允许进入该建筑物的已知并且/或授权的身份。
在个人将手指放置在设备的表面上后,设备上的探测器可以探测到手指并且由此触发设备上的两个(或多个)光源向手指上发射光。例如,第一光源发射第一光束到手指。第一光由手指的指纹部分反射并且投射到第一感测器上。第一感测器可以利用第一光生成捕捉了与手指的指纹相关的生物识别信息的指纹图像。
此外,第二光源可以包括当个人将手指放置在表面上时存在于手指的两个相对侧上的两个相对的光发射单元。在探测到手指后,每个光发射单元发射第二光到手指因此手指的手指血管暴露于第二光并且对于第二感测器来说为可见的。第二感测器可以利用第二光生成捕捉了与手指的手指血管相关的生物识别信息的手指血管图像。
手指血管图像和指纹图像可以被分开处理并且匹配。例如,包括细节点的特征被从指纹图像中提取。基于这种提取的特征生成指纹模版。指纹模版于是与预先存储在数据库中的指纹模版进行匹配。该数据库可以包括已知为具有对该建筑物的访问权的个人的身份(名字、雇员号等)。对应于每个已知的身份,数据库包括与该身份相关联的预知的指纹模版和预知的手指血管图像(以及其他信息)。
由第二感测器生成的手指血管图像也可以在相对于数据库中的手指血管图像进行匹配之前被处理。在本公开的一些实施例中,将手指血管图像中的区域分区,血管在该处出现在图像中。进一步,手指血管图像的几何特征可以被归一化从而具有归一化的形状、尺寸以及图像的方向。手指血管图像的灰度级同样可以被归一化。在归一化的手指血管图像中的血管脉络可以被识别。此外,可以从手指血管图像中去除噪声并且手指血管图像可以被压缩。这种指静脉特征模板相对于预先存储在数据库中的候选手指血管图像进行匹配。
在一个情境下,如果特征手指血管图像和与已知身份相关联的手指血管图像匹配并且指纹模版和与同样已知身份相关联的指纹模版匹配则可以确定个人的身份。在另一个情境中,如果指静脉特征模板和与已知身份相关联的手指血管图像匹配或者指纹模版和与已知身份相关联的指纹模版匹配则可以识别人。基于所确定的个人身份,个人被允许或者拒绝进入该建筑物。
附加的新颖特征的部分将在随后的描述中列出,并且部分将在本领域的技术人员对下述和附图进行查阅之后变得明显或者通过对于例子的制造或操作而进行学习。
图1A描述了根据本教导的实施例的示例性产品的部分的侧视图。图1B描述了根据本公开的实施例的示例性产品的部分的透视图。如图1A中所示。个人可以将手指150放置在示例性产品的表面130之上。在表面130之下,具有探测器配置为一旦手指150完全或者部分放置在表面130之上则探测手指150。在这个例子中,探测器包括两个探测单元102、103。每个探测单元可以是电容感测器。第一探测单元102配置为探测手指150的第一部分,例如靠近指尖的手指部分;而第二探测单元103配置为探测手指150的第二部分,例如,靠近手指根部的部分。在一个实施例中,当第一部分和第二部分中的一个被探测到,则手指150被探测到。在另一个实施例中,当第一部分和第二部分二者都被探测到,手指150被探测到。
在手指150被探测到之后,产品生成可以触发第一光源111和第二光源121的信号以生成光。在这个例子中的第一光源111包括用于指纹信息采集的LED(发光二级管)灯珠。在这个例子中的第二光源121包括如图1B所示的两个(平行且)相对的光板用于手指血管信息采集。在操作中,当手指150放置在表面130之上时,两个光板121将位于手指150的两个相对侧。
一旦被触发,LED灯珠111生成第一光束传播通过棱镜112并且朝向手指150的指纹部分从而实现对于手指150的指纹图像的获取。第一光束在表面130处被反射从而朝向放大透镜113传播。第一光束于是被放大透镜113放大、被反光镜114反射、由小透镜115缩小并且最终投射到第一感测器116之上。在这个例子中的第一感测器116为可以感测由指纹部分反射的光的CMOS(互补金属氧化物半导体)感测器。第一感测器116可以将在每个图片位置感测的光转换为代表着图片不同位置处的灰度值的电信号。由此采集了手指150的指纹图像141。
在一个实施例中,在LED灯珠111被触发的同时,面对面位于手指150的两个相对侧上的两个光板121同样被触发从而生成朝向手指150的两个相对光束。在另一个实施例中,在LED灯珠111被触发之前或之后,两个光板121被触发从而生成两个相对光束。但是在任何实施例中,手指150无需多次地放在表面130之上从而采集指纹和手指血管信息。
在这个例子中,两个光束为两个红外光束其可以横穿通过手指150从而手指150的血管的血管脉络对于红外光束为可见(即,暴露于红外光束)并且可以由第二感测器124捕捉。来自可见血管的光投射通过防尘平坦玻璃122以及透镜组123,并且接着投射到第二感测器124之上。在这个例子中的第二感测器124为另一个CMOS感测器,其可以感测来自可见或者暴露的手指150的血管。第二感测器124还可以将在每个图片位置处的感测的光转换为代表着在图片不同位置处的灰度值的电信号。手指150的手指血管图像142由此被采集。
对于本领域的技术人员来说可以理解的是,根据本公开的各种实施例,第一光源和第二光源可以用作具有任何频率或波长的辐射或者“光”源。此外,在本教导中,术语“光”具有通用含义,其包括具有任何波长的电磁辐射以及形式为射线或者波或粒子的能量辐射。例如,根据本教导的一个实施例,第二光源可以发射x-射线,因此可以获得手指中的骨骼图像用于用户识别。
图2A描述了根据本教导的实施例的示例性产品的立体视图。图2B描述了根据本教导的实施例的示例性产品的另一个立体视图。如在图2A中所示出的,产品可以包括在产品的顶表面上的凹槽204,因此手指可以放置在凹槽204之上用于指纹和手指血管数据采集。可以在产品中包括遮罩202因此从手指散射的一些光可以反射回手指。遮罩202在本教导中为可选的。在一个实施例中,产品并不具有遮罩202。如图2B所示出的,在产品的背侧,具有可以安装到墙壁、门或者连接到另一个用于用户识别和授权的设备的板220。
图3为根据本教导的实施例的用于用户识别和授权的示例性***300的高层面描绘。在图3中,示例性***300包括服务器330、身份识别设备340、一个或多个授权控制器310、用户350以及网络320。网络320可以是单一网络或者不同网络的组合。例如,网络320可以是局域网(LAN)、广域网(WAN)、公共网络、私有网络、专有网络、公共电话交换网络(PSTN)、因特网、无线网络、虚拟网络或其任何组合。网络320还可能包括各种网络访问点,例如,诸如基站或者因特网交换点320-1,…320-2的有线或者无线访问点,通过其授权控制器310可以连接到网络320从而经由网络320获得授权信息。
授权控制器310可以具有不同的类型,例如连接到门310-1、车310-2、膝上计算机310-3或者移动设备310-4的授权控制器。用户350可能希望通过门进入建筑物、进入车辆或者访问在便携电脑或者移动设备中的数据。在每种情况下,用户350必须从相对应的授权控制器310获得访问授权。访问授权可以通过在直接或者如所示出地经由网络320连接到授权控制器310的身份识别设备340处执行的用户识别过程来获得。
身份识别设备340可以包括根据图1A和图1B描述的产品的部分。身份识别设备340可以从用户350的相同手指获取关于指纹和手指血管的生物识别信息。基于所获取的生物识别信息,身份识别设备340或者通过其自身或者借助于服务器330对用户350进行识别。
在一个实施例中,身份识别设备340通过经由网络320与服务器330进行通信来识别用户350。这可以应用在其中用户希望进入与具有上百或上千雇员以及许多办公室建筑的公司相关联的建筑物的情况下。在这种情况下,用来识别并且授权访问的用户或者雇员数据可以相对地大并且频繁地改变。因此,将如此巨大的数据提供到每个办公室建筑物的位置是不太实际的。如此,进行身份识别和授权所需要的用户/雇员数据可以存储在通用服务器330中并且许多与不同办公地址相关联的身份识别设备340可以访问所述数据。例如,在身份识别设备340从用户350捕获并且生成指纹图像和手指血管图像后,身份识别设备340可以经由网络320发送图像到服务器330。服务器330可以将指纹图像和手指血管图像与在服务器330处实现的数据库中的图像进行比对。服务器330接着可以将图像比对的结果发送返回到身份识别设备340用于用户识别或者直接发送到授权控制器310用于用户授权。
在一个实施例中,身份识别设备340从用户350的手指仅仅捕获并且生成手指血管图像。在身份识别设备340经由网络320将图像发送到服务器330之后,服务器330可以将手指血管图像和实施在服务器330处的数据库中的图像进行比对。服务器330于是可以将图像比对结果发送回到身份识别设备340用于用户识别或者直接发送的授权控制器310用于用户授权。
图4为根据本教导的实施例的用于用户识别和授权的另一个示例性***400的高层面描绘。在这个实施例中的示例性***400包括授权控制器410、身份识别设备440以及用户450。在这个例子中,用户450希望通过由授权控制器410控制的门进入建筑物。在这个例子中的身份识别设备440位于靠近门处并且可以无需网络直接与授权控制器410进行通信。
在这个实施例中,身份识别设备440可以具有固有的识别用户450的能力。这可以应用在用户希望进入与小人群相关联的特定建筑物(例如,私有住宅)的情况中。在这种情况下,用于识别和授权访问的用户或者雇员数据可能相对小且为静态,并且用户识别过程可能不需要很多来源。这样,具有用户信息的数据库可以本地地实施或提供在身份识别设备440处。例如,在身份识别设备440从用户450的手指生成指纹图像和手指血管图像后,身份识别设备440可以将指纹图像和手指血管图像与在本地数据库中的图像进行比对从而获得用于用户识别的匹配结果。基于比对结果,身份识别设备440可以确定用户450是否具有授权,并且将授权信息发送到授权控制器410用于授权访问或者拒绝访问。
图5描述了根据本教导的实施例在用于用户识别的***中的识别/验证模块500的示例性图。识别/验证模块500可以位于图4所示出的身份识别设备440中。在这个例子中的识别/验证模块500包括控制器502、与指纹相关的光配置单元512、与手指血管相关的光配置单元514、指纹图像处理单元522、手指血管图像处理单元524、通信单元504、基于模式的控制器506、身份关联单元508、数据库管理器510、以及识别/验证单元520。
在这个例子中的控制器502从探测器,即两个探测单元102、103接收信息。如果探测到手指,控制器502将启动与指纹相关的光配置单元512和与手指血管相关的光配置单元514来分别配置第一光源111和第二光源121。例如,与指纹相关的光配置单元512可以配置第一光源111来发射具有在可见光区域中的波长的光从而从第一光源111发射的光可以被手指反射。与手指血管相关的光配置单元514可以配置第二光源121来发射可以传输通过手指的红外光。在一个例子中,第一光源111和第二光源121可以发射具有相同波长的光。
在一个实施例中,控制器502还控制第一感测器116和第二感测器124从而感测光并且采集图像。在另一个实施例中,第一感测器116和第二感测器124可以自动地感测光并且采集图像而无需来自控制器502的控制。在任一实施例中,第一感测器116将生成指纹图像并且将其发送到指纹图像处理单元522用于处理,并且第二感测器124将生成手指血管图像并且将其发送到手指血管图像处理单元524用于处理。
在这个例子中的指纹图像处理单元522从第一感测器116接收到指纹图像并且处理指纹图像从而生成指纹模版。对于指纹图像的处理至少包括从指纹图像中提取包括细节点的特征,并且基于所提取的特征生成指纹模版。
在这个例子中的手指血管图像处理单元524从第二感测器124接收手指血管图像并且处理手指血管图像从而生成指静脉特征模板。将手指血管图像中的血管在该处出现在图像中的区域进行分区。进一步,手指血管图像的几何特征可以被归一化从而具有归一化的形状、尺寸以及图像的方向。手指血管图像的灰度级同样可以被归一化。在归一化的手指血管图像中的血管脉络可以被识别。此外,可以从手指血管图像中去除噪声并且手指血管图像可以被压缩。
在这个例子中的通信单元504与授权控制器410进行通信。当用户试图具有由授权控制器410控制的访问时,授权控制器410可以将用户识别请求经由通信单元504发送到识别/验证模块500。在另一种情境下,当***需要从已知或者被确定为具有由授权控制器410控制的访问的用户采集生物识别信息时,授权控制器410可以经由通信单元504发送生物识别记录请求到识别/验证模块500。
在这个例子中基于模式的控制器506从指纹图像处理单元522接收指纹模版,从手指血管图像处理单元524接收指静脉特征模板,并且基于经由通信单元504从授权控制器410接收的请求来确定用于识别/验证模块500的工作或操作模式。在一个例子中,如果从授权控制器410接收的请求为“用户识别”请求,基于模式的控制器506将确定工作或操作模式从而被导向用户识别。在这种模式下,用户的身份为未知并且需要基于指纹模版和指静脉特征模板来进行确定。基于模式的控制器506于是可以将指纹模版和指静脉特征模板转发到识别/验证单元520用于用户识别或验证。
在另一个例子中,如果从授权控制器410接收到的请求为“生物识别记录”请求,基于模式的控制器506将确定工作或操作模式被导向到生物识别记录。在这种模式下,用户身份为已知但是用户的生物识别信息,例如包括在指纹模版和指静脉特征模板中的信息需要被记录。基于模式的控制器506可以接着将指纹模版和指静脉特征模板转发到身份关联单元508用于记录生物识别信息。
在这个例子中的身份关联单元508将身份与模版或图像相关联。例如,用户的身份(例如,名字、雇员号等)为已知的并且授权控制器410请求记录用户的指纹和手指血管信息。在这个例子中,身份关联单元508从基于模式的控制器506接收指纹模版和指静脉特征模板,并且将其与提供在来自授权控制器410的请求中的用户的身份相关联。
在这个例子中的数据库管理器510从身份关联单元508接收到与用户身份相关联的指纹模版和指静脉特征模板,并且将其存储在位于识别/验证模块500中的生物识别数据库550中。在这个例子中的生物识别数据库550包括与各个用户身份相关联的生物识别信息。生物识别信息至少包括来自指纹模版和手指血管图像的信息。指纹模版和手指血管图像成对地存储在生物识别数据库550中,其中每一对对应于一个身份。为了这个目的,在生物识别数据库中的每一个条目包括与从具有身份的用户的相同手指生成的相对应的手指血管图像和相对应的指纹模版相关联的身份。在一个实施例中,当可以获得来自与现有的身份相关联的更为清楚(即,更高解析度)的图像的新的生物识别信息时,数据库管理器510可以对生物识别数据库550中的一些生物识别信息进行更新。在数据库管理器510保存或更新生物识别信息后,其可以经由通信单元504发送响应到授权控制器410从而通知该生物识别信息已经被记录并且/或更新。
可以理解的是在一些实施例中,指纹模版存储在一个数据库中而手指血管图像存储在另一个数据库中。
在这个例子中的识别/验证单元520基于从基于模式的控制器506接收的指纹模版和指静脉特征模板对个人进行识别或验证。在一个例子中,当用户希望进入由授权控制器410控制的建筑物时,他/她直接将手指放置在包括识别/验证模块500的设备的表面上而没有提供关于他/她的身份的任何其他信息。识别/验证单元520于是将基于指纹模版和指静脉特征模板对用户进行识别。在另一个例子中,当用户希望进入由授权控制器410控制的建筑物时,在提供了诸如用户输入的用户名或由用户扫描的证件中的身份信息的其他关于他/她的身份的信息之后,他/她将手指放置在包括识别/验证模块500的设备上。识别/验证单元520于是将基于指纹模版和指静脉特征模板来验证该用户是否确实与用户名相关联。
当识别/验证单元520需要识别用户,识别/验证单元520将从基于模式的控制器506接收到的指纹模版和指静脉特征模板与存储在生物识别数据库550中的指纹模版和手指血管图像进行比对。由于没有其他关于用户身份的信息,比对的排序可以基于与每个身份相关联的访问的频率而确定。例如,如果在生物识别数据库550中的第一身份具有较之在生物识别数据库550中的第二身份而言更频繁的访问,第一身份将先于第二身份而被检验。相应地,在与相关联于第二身份的指纹模版和指静脉特征模板进行比对之前,指纹模版和指静脉特征模板与相关联于第一身份的指纹模版和指静脉特征模板进行比对。基于与置信分数相关的特定阈值来确定比对结果。当置信分数大于该阈值时,确定身份。置信分数可以是任何代表着两个模版或者两个图像之间的匹配度的实数或者百分数。
在一个实施例中,识别/验证单元520可以仅仅基于从基于模式的控制器接收到的指静脉特征模板来识别人。
在对用户进行了识别之后,识别/验证单元520可以经由通信单元504发送响应到授权控制器410从而通知用户的身份以及是否该用户应当被授权。在一个实施例中,识别/验证单元520仅仅将用户的身份和相对应的置信分数通知给授权控制器410;而授权控制器将自行确定该用户是否应当被授权。
当识别/验证单元520需要验证用户,识别/验证单元520对从基于模式的控制器506接收到的指纹模版和指静脉特征模板和与在生物识别数据库550中的诸如用户名字的用户提供身份相关联的手指模版和手指血管图像分别进行比对。可以基于与置信分数相关的阈值来确定比对结果。当置信分数大于阈值时身份被验证。置信分数可以是任何代表着两个模版或者两个图像之间的匹配度的实数或者百分数。在对用户进行了验证之后,识别/验证单元520经由通信单元504发送响应到授权控制器410从而通知用户的身份得到验证并且用户是否应当被授权。
图6为根据本教导的实施例的用于用户识别的示例性过程的流程图。在一个例子中,当从授权控制器410接收到用户表示请求时,图6中的示例性的过程可以由包括图5中所示出的识别/验证模块500的示例性设备来执行。在602处开始,被探测的手指放置在设备的表面上。该过程于是被分为两个分支,其中两个分支单独执行。
第一个分支用于指纹采集和处理。在610处,第一光源配置用于指纹采集。在612处,第一光源根据该配置生成第一光束。在614处,第一光束被手指的指纹部分反射并且被第一感测器感测。在616处,基于所感测到的光获得指纹图像。在618处,对指纹图像进行处理从而生成指纹模版。第一分支接着汇合到630。
第二分支用于手指血管采集和处理。在620处,第二光源配置用于手指血管采集。在622处,第二光源根据该配置生成第二光束。在624处,第二光束被手指血管散射并且被第二感测器感测。在626处,基于所感测到的光获得手指血管图像。在628处,对手指血管图像进行处理从而生成指静脉特征模板。第二分支接着汇合到630。
在630处,与手指相关联的身份被确定。在另一个未示出的例子中,在630处,基于用户提供的身份来验证与手指相关联的身份。该身份可以在630处基于处理过的指纹图像或处理过的手指血管图像或者二者来确定。在632处,关于确定的身份的响应被传输到例如对该个人的身份感兴趣的授权控制器。
图7为根据本教导的实施例的用于生物识别信息记录的示例性过程的流程图。在一个例子中,当从授权控制器410接收到生物识别记录请求时,图7中的示例性的过程可以由包括图5中所示出的识别/验证模块500的示例性设备来执行。在702处开始,被探测的手指放置在设备的表面上。该过程于是被分为两个分支,其中两个分支单独执行。
第一个分支用于指纹采集和处理。在710处,第一光源配置用于指纹采集。在712处,第一光源根据该配置生成第一光束。在714处,第一光束被手指的指纹部分反射并且被第一感测器感测。在716处,基于所感测到的光获得指纹图像。在718处,对指纹图像进行处理从而生成指纹模版。第一分支接着汇合到730。
第二分支用于手指血管采集和处理。在720处,第二光源配置用于手指血管采集。在722处,第二光源根据该配置生成第二光束。在724处,第二光束被手指血管散射并且被第二感测器感测。在726处,基于所感测到的光获得手指血管图像。在728处,对手指血管图像进行处理从而生成指静脉特征模板。第二分支接着汇合到730。
在730处,身份与指纹和手指血管相关联,其中该身份为包括在从授权控制器410接收到的生物识别记录请求中的已知身份。在732处,将与身份相关联的指纹和手指血管存储在数据库中。在734处,关于所保存的生物识别信息的响应被传送到例如对记录具有已知身份的该个人的生物识别信息感兴趣的授权控制器。
图8描述了根据本教导的实施例的识别/验证控制器800和基于服务器的识别/验证模块810的示例性图。800可以位于图3所示出的身份识别设备340中;而810可以位于图3中的服务器330中。在这个例子中的800和810中的组件与图5所示出的识别/验证模块500中的组件相似(就其各自的配置和功能性而言),除了在这个例子中来自识别/验证模块500的一些组件现在位于800中,而来自识别/验证模块500的另一些组件现在位于810中。如上面所讨论的,该应用发生在当810位于由大群组的人所共享的并且可以对与例如相同公司的雇员的相同群组的人相关联的多个身份识别设备340提供服务的服务器330中时。在一个实施例中,该应用发生在当用户希望获得对于由公司中的相同群组用户共享的建筑物、车辆、笔记本电脑或移动设备的访问时。
如图8所示,控制器502、与指纹相关的光配置单元512、与手指血管相关的光配置单元514、指纹图像处理单元522、手指血管图像处理单元524、以及基于模式的控制器506位于800中。身份关联单元508、数据库管理器510、识别/验证单元520、以及生物识别数据库550位于810中。800包括可以经由810中的通信单元812与810进行通信的通信单元802。800和810可以分别经由通信单元802和812例如通过如图3所示出的网络320与授权控制器310进行通信。
图9描述了根据本教导的实施例的在用于用户识别的***中的指纹图像处理单元522的示例性图。在一个实施例中,指纹图像处理单元522可以位于图5中的识别/验证模块500中。在另一个实施例中,指纹图像处理单元522可以位于图8的800中。在这个例子中的指纹图像处理单元522包括指纹图像归一化单元902、特征提取器904以及模版生成器906。
在这个例子中的指纹图像归一化单元902从例如第一感测器116接收指纹图像,并且对指纹图像进行归一化。在这个例子中的特征提取器904从归一化的指纹图像中提取特征。该特征可以包括奇点、图像脊线的平均密度以及指纹图像的细节点中的至少一个。可以基于存储在指纹图像处理单元522中的一个或多个特征探测模型905来提取特征。每个特征探测模型限定了其中对特征进行探测或验证的一种方式。作为例子,下面对从指纹图像提取特征的详细过程进行描述。
对于指纹图像的图像处理,***可以使用不同的参数来代表指纹图像中的不同特征。指纹图像可以由具有宽度W和高度H的二维矩阵来表示。矩阵中的每个元素表示图像上相对应的像素。对应于矩阵的i行和j列的像素具有灰度值Ii,j,其可以是0和255之间的任何数。
指纹图像可以包括细节点,其为在指纹脊线上的端点或分歧点。细节点可以由下述参数(x,y,t,d,g,c)来表示。x轴和y轴代表细节点在指纹图像中位置。类型t指示了细节点是否为端点或分歧点。方向d代表细节点的方向。如果细节点为脊线的端点,d代表从细节点到脊线的方向。如果细节点为连接两个分岔的脊线的分歧点,d代表从细节点到两个分岔的脊线的中线的方向。脊线强度g代表围绕着细节点的脊线的平均强度。在脊线之间较大的间隙可以导致较小的脊线强度。脊线曲度c代表了脊线方向d在细节点处的改变率。
指纹图像可以被划分为更小的非交叠块。每一个具有尺度Size*Size。在针对每个块计算了平均脊线方向之后,***可以获得具有尺度(W/Size)*(H/Size)的块方向图。该块方向图描述了脊线的全局方向。***可以存储块方向图用于未来的匹配。此外,在块方向图中的未预期的方向值可以代表北京部分,即,在这个部分中没有指纹或者在这个部分中的指纹质量非常不佳。
指纹图像还可以包括一些奇点。在奇点处,脊线方向并不连续。奇点可以由下述参数(x,y,t,d,g)来表示。x轴和y轴代表奇点在指纹图像中位置。类型t指示了奇点的类型,其可以是核心点、双核心点或者三角点。方向d代表了这样的方向,即当从奇点移动开时,这个方向可以引起脊线方向的最小改变。脊线强度g代表围绕着奇点的脊线的平均强度。
根据上面的参数表示,指纹图像可以如下被处理从而生成指纹模版。首先,根据下面等式,***对指纹图像进行过滤从而使得图像平滑:
其中,Iy,x代表原始指纹图像,Ri,j代表过滤后的指纹图像,对于3*3过滤器来说w=1。
***可以根据下述等式对过滤后的指纹图像进行归一化:
Mini,j=Ii,j-Vari,j
Maxi,j=Ii,j+Vari,j
Δi,j=Maxi,j-Mini,j
其中Ii,j可以等于上面等式(1)中的Ri,j,Sy,x代表利用5*5过滤器对原始指纹图像进行过滤后生成的图像,w为大数字,例如80,用于Var计算。
***可以通过针对在上面所描述的块方向图上的每个点计算潘卡瑞指数来探测奇点。针对一个点的潘卡瑞指数根据下述等式来计算:
其中n代表围绕点的像素的数目,Oi代表第i个点的方向。为了确保可靠性,***可以首先利用半径1计算潘卡瑞指数,即利用周围的八个点。这个潘卡瑞指数被称为p1。如果p1不为零,***可以利用半径2计算另一个潘卡瑞指数p2,即利用在进一步外侧的圆周上的点。如果p1和p2相同,该点为奇点。对于奇点,如果p1=1则其为核心点;如果p1=-1则其为三角点;并且如果p2=1则其为双核心点。如果p1和p2不同,但是p2>0并且p1>0,则该点也是双核心奇点。该点在其他情况下不是奇点。
基于规格化的指纹图像,***可以根据下式针对每个点(i,j)计算脊线方向Oi,j:
其中I
i,可以等于上述等式(2)中的
w可以是15或者基于实践情况的其他数字。***可以进一步根据下式计算脊线方向的一致性C
i,j:
其中Threshold代表与确定的阈值,Ci,j=0指示着该点落入指纹图像的背景区域中。基于所计算的Ci,j,***可以对之前识别的奇点的位置细化。例如,细化的位置可以围绕着奇点的原始位置而基于最小值Ci,j来确定。***接着针对奇点更新位置和方向。
***可以利用类似底下的过滤器来增强归一化的指纹图像:
其中r代表可能为6的有效半径;a代表放大参数,其可以是1024;
和
为针对过滤器的形状参数,其可以是8和1;θ代表过滤器的修改方向。利用上述的过滤器,***可以根据下述等式增强归一化的指纹图像:
其中I
y,x来自上述的等式(2)中的
代表增强的指纹图像。为了改进计算速度,***可以针对所有的修改方向预存储h并且预存储上述等式中的分母。于是,其可以直接获取用于未来的计算。
为了计算脊线强度图D,***可以使用下述等式:
其中Koef(Oi,j)和KoefP为可以基于方向而改变的参数;坏区域可能包括北京区域。***可以利用33*33过滤器去除脊线强度图Di,j的噪声。
***于是根据下述等式基于增强的指纹图像生成二进制图像:
其中I
i,j等于上述等式(3)中的
S
i,j代表通过利用33*33过滤器对增强的指纹图像进行过滤生成的图像;并且
代表二进制指纹图像。
接着,***将二进制图像转换为脊线图,其中每个脊线如一个像素一般稀薄。例如,关于在二进制图像中的每个黑色像素点,***基于其周围的八个点确定是否将该点改变为白色。如果是这样,黑色像素改变为白色并且过程进行到下一个像素。***周期性地重复这个过程直到在整个图像上没有黑色点需要改变。细化的图像由此生成。
在二进制图像中,对于黑色像素周围的八个点可以由256的可能的情况。如此,可以建立表格从而快速地确定是否将黑色像素变为白色。表格如下所描述:
{0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0}
其中1指示着黑色像素应当被改变为白色,0指示着对于黑色像素无需改变。作为使用上面表格的例子,黑色像素具有下面所列出的其八个环绕像素(从上左边角落开始的逆时针方向):白色、白色、白色、黑色、白色、黑色、黑色、白色。对于黑色像素的相对应索引为22,其是二进制***中的00010110(此处黑色为1并且白色为0)。由于在上面表格中的第22个数字为0,就无需改变这个黑色像素。在类似上述地使用表格的一个实施例中,0指示着黑色像素应当被改变为白色,并且1指示着对于黑色像素无需改变。
为了精确地提取细节点,***从指纹图像中去除噪声。***对于细化的指纹图像进行扫描并且监视脊线。如果从脊线线条的一端到另一端的距离(由像素进行测量)比预确定的阈值小,则***可以将该脊线作为噪声脊线去除。于是,***如下地提取细节点。对于图像中的任何黑色点,***顺时针扫描周围八个点,从八个中的一个开始并且于同一个结束。如果颜色被改变了两次,这个黑色点为端点细节点。如果颜色改变了多于四次,这个黑色点为分歧细节点。在其他的情况下黑色点不是细节点。
细节点的脊线曲度c可以基于细节点处的脊线方向和围绕细节点的点的脊线方向之间的差来计算。由此,细节点的脊线曲度c可以根据下述等式进行计算:
其中r为恒定半径,其可以为10。
***可以进一步如下地对细节点进行证实。对于给定的细节点,如果其到另一个细节点的距离小于D1(预确定的阈值),***删除给定的细节点。如果两个端点细节点具有相对的方向并且在其之间的距离小于D2(预确定的阈值),***将其全部删除。如果端点细节点和分歧点细节点具有相对的方向并且在其之间的距离小于D3(预确定的阈值),则***将其全部删除。如果细节点具有朝外指向的方向并且其到坏区域的距离小于D4(预确定的阈值),***删除细节点。D、D2、D3和D4的值根据经验来确定。
在这个例子中的末班生成器906基于所提取的特征生成指纹模版并且将指纹模版发送的基于模式的控制器506。指纹模版可以包括关于上面提及的特征,例如细节点、奇点或块方向图等的信息。
图10为根据本教导的实施例的由例如指纹图像处理单元522的指纹图像处理单元执行的示例性过程的流程图。从1002开始,对指纹图像进行归一化。在1004,探测到奇点并且进行细化。在1006,计算在指纹图像中的脊线的平均强度。在1008,探测指纹图像中的细节点并且进行验证。在1010,例如基于探测到的奇点和细节点以及脊线的平均强度生成指纹模版。
基于样本指纹模版,***可以通过对样本指纹模版和数据库中的多个指纹模版进行比对从而从生物识别数据库550中寻找匹配。对于两个指纹模版之间的每个比对,可以确定匹配分数来代表在两个模版之间的相似度。作为示例,下面描述对两个指纹模版进行比对的详细过程。
***通过对两个指纹模版的相对应的特征进行比对来对两个指纹模版进行比对。对于细节点比对,***将细节点组织为细节点对。细节点对(mi,mj)可以由下面的参数来表示:dij代表连接mi和mj的线段的长度,即两个细节点之间的距离;ai和bj分别代表线段和两个细节点的方向之间的交汇角;并且uij代表线段的方向。***基于这些参数对两个细节对进行比对。对于细节点对,包括dij、ai、bj以及两个细节点类型t、曲度c、脊线强度g的量值对于平移和旋转来说是不变的。由此,可以对这些量值进行比对从而确定两个细节点对之间的相似度。
对于来自样本指纹模版的细节点对(mi1,mj1)和来自存储的指纹模版的另一细节点对(mi2,mj2)来说,***可以根据下述等式计算其相似度:
其中cof1、cof2、cof3、cof4、cof5为基于经验可以预确定的正常数;d,a,b,c,g如之前所定义的;t代表细节点类型(1为分歧点,0为端点)。当D小于预确定阈值ThresholdD时,***确定两个细节点对之间的匹配。为了降低细节点对的比对,***可以关注于对其dij处于给定范围之内的细节点对进行比对。为了进一步改进速度,***可以根据dij对每个指纹模版中的细节点对进行排序。于是,具有长度d的细节点对可以仅仅与具有相同长度的细节点对进行比对。
在去除了不匹配的细节点对之后,***可以获得匹配的细节点对的列表:
其中li1j1代表两个细节点(mi1,mj1)以及其与样本指纹模版的联系,li2j2代表两个细节点(mi2,mj2)以及其与存储的指纹模版的联系,D代表在这两个细节点对之间的距离,S代表两个细节点对之间的相似度。
为了计算两个指纹模版之间的相似度,***可以对准两个指纹模版。首先,***确定从一个模版到另一个的旋转角度。例如,***设置一维阵列{Hd|0≤d<360},其下标代表0和359之间的角度。每个Hd如下计算:
其中σd为单位脉冲函数,其在d处具有值1并且在其他地方具有值0。由此,{Hd}代表来自所有匹配的细节点对的相对应的细节点之间的角度差的直方图。在阵列中的最大点对应于根据其一个模版需要进行旋转从而与另一个对准的旋转角度θ。
根据旋转角θ,***旋转一个指纹模版中的每个角度参数,包括细节点角度、奇点角度等,例如(di+θ)mod.360→di。
针对任何匹配的细节点对,根据{Hd},如果两个相对应的细节点之间的角度差大于预确定值,***可以将匹配的细节点对从列表U中去除。
类似地,***可以计算直方图用于坐标差。例如,***可以根据下述等式设置两个一维阵列{HXdx}和{HYdy}:
由此,{HXdx}和{HYdy}为代表了在来自所有匹配的细节点对的相对应的细节点之间(分别沿着x轴和y轴)的坐标差的统计直方图;MaxDimx1、MaxDimx2、MaxDimy2、和MaxDimy2代表分别沿着x轴和y轴的最大尺度,并且可以基于经验来确定。在两个模版通过旋转被对准之后,在两个阵列中的最大值点对应于两个模版之间所需要的偏移量(x0,y0)。在一个实施例中,MaxDimx1、MaxDimx2、MaxDimy2、和MaxDimy2代表相同的数。
根据所需要的偏移量(x0,y0),***偏移一个指纹模版中的每个未知参数,包括细节点坐标、奇点坐标、块方向图位置等。由此,两个指纹模版完全对准。
对于任何匹配的细节点对,根据{HXdx}和{HYdy},,如果在两个相对应的细节点之间的坐标差大于预确定的值,***可以将匹配的细节点对从列表U中去除。于是,剩余的匹配的细节点对的想帝都可以被添加从而计算针对细节点比对的最终相似度Sm。
在这一点处,由于两个指纹模版完全对准,***可以简单地计算针对其他特征的相似度。例如,针对奇点的相似度Ss可以通过对每对奇点的位置、定向和类型进行比对并且对得到的相似度进行相加而获得。通过计算两个脊线强度之间的差并且采用差的倒数可以得到针对平均脊线强度的相似度Sg。通过计算两个模版有效面积的公共部分的方向差并且采用平均累积差的倒数可以获得针对块方向图的相似度Sd。
基于上述计算的相似度,***可以根据下述等式计算两个指纹模版之间的最终相似度:
S=kmSm+ksSs+kgSg+kdSd
其中,km、ks、kg、kd为用于各种特征相似度的权重系数。
为了加速识别过程,***可以基于平均脊线强度G对数据库中的指纹模版进行预排序。于是在指纹匹配过程期间,***可以对其平均脊线强度最为接近样本指纹模版的平均脊线强度的指纹模版赋予优先级。
图11描述了根据本教导的实施例的在用于用户识别的***中的手指血管图像处理单元524的示例性图。在一个实施例中,手指血管图像处理单元524可以位于图5中的识别/验证模块500中。在另一个实施例中,手指血管图像处理单元524可以位于图8中的800中。在这个例子中的手指血管图像处理单元524包括手指血管分块单元1102、手指血管归一化单元1104、手指血管提取器1106、图像增强单元1108和图像压缩单元1110。
在这个例子中的手指血管分块单元1102基于存储在手指血管图像处理单元524中的血管分块模型1103将描述了来自手指血管图像的血管的区域进行分块。每个血管分块模型1103限定了其中对血管的区域进行分块的方式。例如,根据一个血管分块模型,当在一些部分中没有血管脉络并且这些部分位于手指血管图像的较外边沿处时,通过去除手指血管图像的这些部分来确定血管的区域。
在这个例子中的手指血管图像归一化单元1104对手指血管图像的几何特征进行规整从而图像具有归一化的形状、尺寸以及方向。例如,手指血管图像归一化单元1104可以使用仿射变换从而对手指血管图像进行变换从而具有归一化的形状、尺寸以及方向。手指血管图像归一化单元1104还对手指血管图像的灰度级进行规整从而将图像的灰度级置于归一化的范围内。因此,手指血管图像具有归一化的几何特征以及灰度级,正如存储在数据库550中的手指血管图像。
在这个例子中的手指血管提取器1106从归一化的手指血管图像中提取代表血管脉络的图像的一个或多个部分。例如,手指血管提取器1106可以基于存储在手指血管图像处理单元524中的灰度阈值1107来针对归一化的图像上的每个像素确定该像素是否代表血管脉络的部分。在一个实施例中,灰度阈值1107限定了灰度级的最低水平,在该处的像素可以被确定为代表血管脉络。灰度阈值1107可以由专家进行动态修改或者基于机器学习过程得到确定。手指血管提取器1106基于所提取的代表着血管脉络的部分来生成二进制(例如,黑和白)图像。例如,如果像素被确定代表血管脉络的部分,该像素被分配黑颜色的灰度值;否则,该像素被分配白颜色的灰度值。
在这个例子中的图像增强单元1108通过从手指血管图像中去除图像噪声来增强手指血管图像。图像噪声可以包括手指血管图像中的随机亮度变化或灰度信息。
在这个例子中的第一光源1110将手指血管图像压缩到标准尺寸,因此生成指静脉特征模板,并且将其发送到例如基于模式的控制器506。
图12为根据本教导的实施例的由例如图11中的手指血管图像处理单元524的手指血管图像处理单元执行的示例性过程的流程图。在1202处开始,从手指血管图像分块处血管的区域。在1204处,对血管的几何特征进行归一化。在1206处,对图像的灰度进行归一化。在1208处,从图像中识别出血管脉络。在1210处,生成二进制手指血管图像。在1212处,从二进制图像中去除噪声。在1214处,对图像进行压缩从而生成指静脉特征模板。
***可以对指静脉特征模板与存储在数据库中的多个候选指静脉特征模板进行比对。下面描述示例性的过程。首先,***确定多个偏移值。对于多个偏移值中的每一个,***基于下一个偏移值使指静脉特征模板与候选指静脉特征模板对准。对于多个偏移值中的每一个,***可以基于指静脉特征模板和利用偏移值对准的候选指静脉特征模板之间的匹配来计算与偏移值相关联的匹配分数。接着***利用多个偏移值从与指静脉特征模板和候选指静脉特征模板之间的匹配相对应的多个匹配分数中选择匹配分数。最终,***将所选择的匹配分数指派为候选指静脉特征模板的置信分数。
图13描述了根据本教导的实施例的用于比对用于用户识别的两个手指血管图像的详细过程。如上面所讨论的,指静脉特征模板与预存储在数据库中用于用户识别或验证的手指血管图像进行比对。在一个实施例中,如图13所示,指静脉特征模板1301与数据库中的预存储手指血管图像进行数次比对。由于指静脉特征模板1301和预存储的手指血管图像1302以相同的方式进行处理,其应当具有相同的尺寸和形状,如图13所示。
当图像1301完全被图像1302交叠住时,执行第一比对从而生成分数S1-1。当图像1302沿着x-轴偏移给定的距离(例如,图像宽度的1/20)而图像1301固定时,执行第二比对从而生成分数S2-1。当图像1301沿着x-轴偏移附加的给定距离(例如,又一个图像宽度的1/20)而图像1301仍然固定时,执行第三比对从而生成分数S3-1。这个过程往返进行例如20次从而生成分数S1-1,S2-1…S20-1。
于是,关于上面的20个步骤的每一个,在图像1302沿着y-轴偏移给定的距离(例如,图像高度的1/20)而图像1301的位置为固定后,执行比对从而生成20个分数S1-2,S2-2…S20-2。在图像1302沿着y-轴偏移附加的给定距离(例如,图像高度的1/20)而图像1301固定时执行另外20个比对从而生成另外20个分数S1-3,S2-3…S20-3。这个过程往返进行直到400个分数S1-1,S2-1,…S20-1,S1-2,S2-2,…S20-2,…,S1-20,S2-20,…S20-20全部生成。
基于上述的比对结果,选择出400个分数中的最大分数(称为Smax)。如果Smax大于或者等于预确定的阈值,则***确定在指静脉特征模板1301和预存储的手指血管图像1302之间存在匹配。如果Smax小于预确定的阈值,则***确定在指静脉特征模板1301和预存储的手指血管图像1302之间不存在匹配。
图14描述了根据本教导的实施例的在用于用户识别的***中的识别/验证单元520的示例性图。在一个实施例中,识别/验证单元520可以位于图5中的识别/验证模块500中。在另一个实施例中,识别/验证单元520可以位于图8中的800中。在这个例子中的识别/验证单元520包括指纹模版获取器1402、基于指纹的匹配单元1404、手指血管图像获取器1412、基于手指血管的匹配单元1414以及身份确定器1420。
在这个例子中的基于指纹的匹配单元1404从基于模式的控制器506接收指纹模版和一些相关的信息。相关的信息可以包括这是否是用于不具有已知身份的用户识别或是用于具有用户提供的身份的用户验证。基于指纹的匹配单元1404于是接着通知指纹模版获取器1402从生物识别数据库550获取一个或多个指纹模版。
在这个例子中的指纹模版获取器1402根据接收自基于指纹的匹配单元1404的指令从生物识别数据库550获取一个或多个指纹模版。在一个例子中,识别/验证单元520工作用于用户识别。基于指纹的匹配单元1404可以发送指令到指纹模版获取器1402从而根据基于与每个身份相关联的匹配频率的排序来获取与来自生物识别数据库550的身份相关联的指纹模版。例如,如果在生物识别数据库550中的第一身份较之在生物识别数据库550中的第二身份而言被匹配得更为频繁,第一身份应当在第二身份之前被检查。相应地,与第一身份相关联的指纹模版在于第二身份相关联的指纹模版之前被获取。可代替地,基于指纹的匹配单元1404可以发送指令到指纹模版获取器1402从而根据身份的字母排序从生物识别数据库550获取与身份相关联的指纹模版。
在另一个例子中,识别/验证单元520工作用于利用用户提供的身份进行用户验证。基于指纹的匹配单元1404可以发送指令到指纹模版获取器1402来从生物识别数据库550获取与用户提供的身份相关联的指纹模版。在一个情况中,用户提供的身份在生物识别数据库550中具有多个匹配。例如,用户提供了名字John,在生物识别数据库550中可能有多个身份包括名字John。在这个情况下,基于指纹的匹配单元1404可以发送指令到指纹模版获取器1402来获取与包括名字John的多个身份相关联的指纹模版。如果在此之后没有匹配,基于指纹的匹配单元1404可以发送指令到指纹模版获取器1402来获取与包括类似于John的名字,例如Johnson或Johnny的身份相关联的指纹模版。
基于指纹的匹配单元1404对从基于模式的控制器506接收的指纹模版和每个获取的指纹模版进行比对从而生成带有置信分数的比对结果。置信分数指示了指纹模版与所获取的与身份相关联的指纹模版如何匹配。在一个例子中,置信分数基于代表了两个模版之间的相似度的匹配分数生成。置信分数可以是任何代表了两个指纹模版之间的匹配度的实数或百分数。
如果置信分数大于预确定阈值,基于比对来确定身份。在一个例子中基于指纹的匹配单元1404执行比对直到第一身份得以确定。在另一个例子中,基于指纹的匹配单元1404贯穿在生物识别数据库550中的所有指纹模版来执行比对从而确定具有高于预确定阈值的置信分数的一个或多个身份。基于指纹的匹配单元1404发送比对结果到身份确定器1420用于身份确定。
在这个例子中的基于手指血管的匹配单元1414从基于模式的控制器506接收到指静脉特征模板和一些相关的信息。相关的信息可以包括这是否是用于没有已知身份的用户识别或用于具有用户提供的身份的用户验证。基于手指血管的匹配单元1414可以接着通知手指血管图像获取器1412来从生物识别数据库550获取一个或多个手指血管图像。
在这个例子中的手指血管图像获取器1412根据从基于手指血管的匹配单元1414接收到的指令从生物识别数据库550获取一个或多个手指血管图像。在一个例子中,识别/验证单元520工作用于用户识别。基于手指血管的匹配单元1414可以发送指令到手指血管图像获取器1412以获取与来自生物识别数据库550的身份向关联的手指血管图像。手指血管图像获取器1412可以根据基于与每个身份相关联的匹配频率的排序来获取与身份相关联的手指血管图像。例如,如果生物识别数据库550中的第一身份较之生物识别数据库550中的第二身份而言更为频繁地被匹配,第一身份应当在第二身份之前被检查。由此,与第一身份相关联的手指血管图像在与第二身份相关联的手指血管图像之前被获取。可代替地,基于手指血管的匹配单元1414可以发送指令到手指血管图像获取器1412以根据身份的字母排序获取与来自生物识别数据库550的身份相关联的手指血管图像。
在另一个例子中,识别/验证单元520工作用于利用用户提供的身份进行用户验证。基于手指血管的匹配单元1414可以发送指令到手指血管图像获取器1412来从生物识别数据库550获取与用户提供的身份相关联的手指血管图像。在一个情况中,用户提供的身份在生物识别数据库550中具有多个匹配。例如,用户提供了名字John,在生物识别数据库550中可能有多个身份包括名字John。基于手指血管的匹配单元1414可以发送指令到手指血管图像获取器1412来获取与包括名字John的多个身份相关联的手指血管图像。如果在此之后没有匹配,基于手指血管的匹配单元1414可以发送指令到手指血管图像获取器1412来获取与包括类似于John的名字,例如Johnson或Johnny的身份相关联的手指血管图像。
基于手指血管的匹配单元1414对从基于模式的控制器506接收的指静脉特征模板和每个获取的手指血管图像进行比对从而生成带有置信分数的比对结果。置信分数指示了指静脉特征模板与所获取的与身份相关联的手指血管图像如何匹配。置信分数可以是任何代表了两个手指血管图像之间的匹配度的实数或百分数。
如果置信分数大于预确定阈值,基于比对来确定身份。在一个例子中基于手指血管的匹配单元1414执行比对直到第一身份得以确定。在另一个例子中,基于手指血管的匹配单元1414贯穿在生物识别数据库550中的所有手指血管图像来执行比对从而确定每一个都具有高于预确定阈值的置信分数的一个或多个身份。基于手指血管的匹配单元1414发送比对结果到身份确定器1420用于身份确定。
在一个实施例中,指纹模版获取器1402和手指血管图像获取器1412可以彼此进行通信并且对准因此与身份相关联的一对指纹模版和手指血管图像分别被指纹模版获取器1402和手指血管图像获取器1412一起获取。
在这个例子中的身份确定器1420根据存储在识别/验证单元520中的匹配模型1421中的一个,基于来自基于指纹的匹配单元1404和基于手指血管的匹配单元1414的比对结果确定身份。每个匹配模型1421可以确定身份被确定的方式。每个匹配模型1421可以包括用于选择一个或多个候选的预确定的标准。在各种实施例中可以选择不同的匹配模型。
根据第一实施例,如果指静脉特征模板和与数据库中的已知身份相关联的手指血管图像相匹配并且指纹模版和与数据库中的相同已知身份相关联的指纹模版相匹配则个人的身份被确定为已知身份。
如果存在有多个这种已知身份,身份确定器1420可以根据不同匹配模型基于其各自的置信分数的组合将个人识别为具有这种已知身份的一个。对于具有两个置信分数的身份,这种组合可以是两个置信分数的和、加权平均、最大值或最小值。例如,根据第一实施例一共确定有三个身份A、B和C。身份A具有针对指纹的置信分数0.8和针对手指血管的置信分数0.8。身份B具有针对指纹的置信分数0.75和针对手指血管的置信分数0.8。身份C具有针对指纹的置信分数0.9和针对手指血管的置信分数0.65。在这种情况下,身份确定器1420可以将个人识别为:(a)身份A,当基于最高和进行确定;(b)身份B,当基于最高的最小值进行确定;或者(c)身份C,当基于最高的最大值进行确定。
当在考虑了置信分数的组合之后仍然有多个身份,个人可以基于置信分数中的任一个而从这些身份中得以识别。参见上面的例子,如果身份C具有针对指纹的置信分数0.9和针对手指血管的置信分数0.7,身份A和身份C将具有相同的置信分数的和(1.6)。在这种情况下,除了考虑其他组合,身份确定器1420可能将该个人识别为身份A而不是身份C,由于A具有较之C而言更高的针对手指血管的置信分数,且由于手指血管较之指纹而言更难以伪造。
根据第二实施例,如果指静脉特征模板和与数据库中的已知身份相关联的手指血管图像相匹配或者指纹模版和与数据库中的相同已知身份相关联的指纹模版相匹配则个人的身份被确定为已知身份。
如果存在有多个这种已知身份,身份确定器1420可以基于其各自的置信分数将个人识别为具有这种已知身份的一个。如果这种已知身份中的任何一个在全部的匹配结果中,身份确定器1420可以根据不同的匹配模型来确定置信分数的组合。对于具有两个置信分数的身份,这种组合可以是两个置信分数的和、加权平均、最大值或最小值。例如,根据第二实施例一共确定有三个身份A、B和C。身份A具有针对指纹的置信分数0.75并且针对手指血管没有置信分数。身份B针对指纹没有置信分数但是具有针对手指血管的置信分数0.8。身份C具有针对指纹的置信分数0.65和针对手指血管的置信分数0.35。在这种情况下,身份确定器1420可以将个人识别为:(a)身份B,当基于最高的最大值进行确定;或者(b)身份C,当基于最高的和进行确定。
当在考虑了置信分数的组合之后仍然有多个身份,个人可以基于置信分数中的任一个而从这些身份中得以识别。参见上面的例子,如果身份C具有针对指纹的置信分数0.45和针对手指血管的置信分数0.35,身份B和身份C将具有相同的置信分数的和(0.8)。在这种情况下,除了考虑其他组合,身份确定器1420可能将该个人识别为身份B而不是身份C,由于B具有较之C而言更高的针对手指血管的置信分数,且由于手指血管较之指纹而言更难以伪造。
根据第三实施例,个人首先被识别为具有最高的针对指纹的置信分数的身份。如果有多个具有相同的针对指纹的最高置信分数的身份,个人于是被识别为在多个身份中的具有最高的针对手指血管的置信分数的身份。
根据第四实施例,个人首先被识别为具有最高的针对手指血管的置信分数的身份。如果有多个具有相同的针对手指血管的最高置信分数的身份,个人于是被识别为在多个身份中的具有最高的针对指纹的置信分数的身份。
对于在任何实施例中的任何匹配模型,如果有多个具有相同的两个置信分数的身份,身份确定器1420可以将多个身份一起报告。在这种情境下,***可以指示用户再次放置手指或者放置另一个手指用于识别。
由身份确定器1420利用的匹配模型可以基于安性和效率之间的权衡来确定。在一个例子中,在业务时间期间,许多的人希望访问属于大公司的建筑物。于是,效率较之安全性更为重要。因此,可以选择第二种匹配模型来提高效率。在另一个例子中,在周末期间,很少有人希望访问建筑物。于是,安全性较之效率更为重要。因此,可以选择第一种匹配模型来提高安全性。
身份确定器1420于是发送匹配的结果到授权控制器。匹配的结果可以包括确定的身份和相关联的置信分数。在一个实施例中,匹配的结果可以包括关于该个人是否应当被授权的决定。
图15A为根据本教导的实施例的由例如图14中的识别/验证单元520的识别/验证单元执行的示例性过程的流程图。在1502处,接收到由指纹图像处理单元522生成的指纹模版。在1504处,从数据库获取指纹模版。在1506处,对指纹模版与所获取的指纹模版进行匹配。在1508处,识别/验证单元520确定一个或多个每一个都具有用于指纹的置信分数的身份。过程接着进行到1521。
该过程的另一个分支包括1512-1518,平行于1502-1508。在1512处,接收到指静脉特征模板。在1514处,从数据库获取手指血管图像。在1516处,对手指血管图像和所获取的手指血管图像进行匹配。在1518处,识别/验证单元520确定一个或多个每一个都具有用于手指血管的置信分数的身份。过程接着进行到1521。
在1521处,检查基于指纹和手指血管的匹配是否找到了相同的身份。如果是,过程进行到1523。如果不是,过程进行到1522,其中个人的身份无法从数据库得到识别。在这种情况下,该个人不能被授权。
在1523处,检查是否在1521处找到多个身份。如果不是,过程进行到1526,在该处将个人识别为具有已找到的身份,并且过程结束。如果找到了多个身份,过程进行到1524,在该处基于多个身份的各自的置信分数的组合对其进行排序。例如,该组合可以是每个这种身份的两个置信分数的和、加权平均、最大值或者最小值。过程于是前进到1525。
在1525处,检查是否基于其各自的置信分数组合的排序而找到了多个高级身份。如果不是,过程进行到1526,在该处该人被识别为具有已经找到的身份,即单一高级身份,并且过程结束。如果在1525处找到多个高级身份,过程进行到1528,在该处基于其置信分数对这种多个身份的一个进行排序。例如,***可以基于其各自的针对手指血管的置信分数对这种多个身份进行排序,由于手指血管较之指纹而言更难伪造。过程于是前进到1529。
在1529处,检查是否基于对其置信分数中的一个进行排序而找到了多个高级身份。这可以发生在当多个身份具有完全相同的针对指纹和手指血管二者的两个置信分数。如果是,则过程进行到1530,在该处***可以指示该个人重新放置手指或者放置另一个手指用于识别。如果不是,过程进行到1526,在该处个人被识别为具有找到的身份,即单一的高级身份,并且过程结束。
图15B为根据本教导的另一个实施例的由例如图14中的识别/验证单元520的识别/验证单元执行的另一个示例性过程的流程图。过程1502-1508以及过程1512-1518与图15A中的相对应部分相同。
此处在图15B中,在1508和1518之后,过程进行到1541,在该处检查是否基于指纹和手指血管的匹配而找到了任何身份。如果是,过程进行到1543。如果不是,过程进行到1542,在该处个人的身份无法从数据库中得到识别。在这种情况下,该个人可能不被授权。
在1543处,检查在1541处是否找到多个身份。如果没有,过程进行到1546,在该处个人被识别为具有已找到的身份,并且过程结束。如果找到了多个身份,过程进行到1544,在该处基于其各自的置信分数对这种多个身份进行排序。如果这些多个身份中的任一个具有两个置信分数,***基于两个置信分数的组合对身份进行排序。例如,该组合可以是两个置信分数的和、加权平均、最大值或者最小值。过程接着前进到1545。
在1545处,检查是否基于在1544处的排序而找到了多个高级身份。如果没有,则过程进行到1546,在该处个人被识别为具有找到的身份,即单一的高级身份,并且过程结束。如果在1545处找到多个高级身份,过程进行到1548,在该处基于其置信分数中的一个对这种多个身份进行排序。例如,***可以基于其各自的针对手指血管的置信分数对这种多个身份进行排序,由于手指血管较之指纹而言更难伪造。过程于是前进到1549。
在1549处,检查是否基于对其置信分数中的一个进行排序而找到了多个高级身份。这可以发生在当多个身份具有完全相同的针对指纹和手指血管二者的两个置信分数时。这也可以发生在当多个身份具有一个单一的针对指纹或手指血管的相同的置信分数的单一匹配分数时。如果是,则过程进行到1550,在该处***可以指示该个人重新放置手指或者放置另一个手指用于识别。如果不是,过程进行到1546,在该处个人被识别为具有找到的身份,即单一的高级身份,并且过程结束。
图16描绘了其上可以实施本教导的通用移动设备架构。在一个例子中,授权控制器310-4控制到移动设备1600的访问,移动设备1600包括但不限于智能电话、平板电脑、音乐播放器、手持游戏控制台、GPS接收器。在这个例子中的移动设备1600包括一个或多个中央处理单元(CPU)1602、一个或多个图形处理单元(GPU)1604、显示器1606、内存1608、诸如无线通信模块的通信平台1610、存储器1612、以及一个或多个输入/输出(I/O)设备1614。任何其他适合的组件,诸如但不限于***总线或控制器(未示出),也可以包括在移动设备1600中。如图16所示出,例如iOS、Android、Windows Phone等的移动操作***1616以及一个或多个应用1618可以从存储器1612加载进入内存1608中从而被CPU1602执行。应用1618可以包括网页浏览器或者任何其他适合的移动搜索应用。应用1618的执行可以导致移动设备1400执行如前所描述的一些处理。
在另一个例子中,根据本教导中的各种实施例的身份识别设备1640可以集成在移动设备1600中。在这个例子中,用户身份可以通过将手指放置在移动设备1600的身份识别设备1640上来得到确定或验证。在这个例子中的用户识别可以用于用户获得到移动设备1600或者其他可以与移动设备1600进行通信的例如车辆或者门处的控制器的设备的访问。
为了实施本教导,可以将计算机硬件平台用作用于这里所描述的一个或多个元素的硬件平台。这种计算机的硬件元素、操作***以及程序语言在性质上是传统的,并且推断本领域的技术人员对其充分地知晓从而使这些技术适用于实施这里所主要描述的过程。具有用户接口元素的计算机可以用来实施个人计算机(PC)或者其他类型的工作站或终端设备,虽然计算机在适当编程时还可以用作服务器。相信本领域的技术人员对于这种计算机设备的结构、程序和通用操作是熟知的并且结果是附图应当是不言自明的。
图17描绘了其上可以实施本教导的通用计算机架构并且具有包括用户接口元素的计算机硬件平台的功能性框图描述。计算机可以是通用目的的计算机或者专用目的计算机。这个计算机1700可以用于实施这里所描述的用户识别架构的任何组件。例如图1和图2所描绘的***的不同组件全部可以经由其硬件、软件程序、固件或其组合而实施在例如计算机1700的一个或多个计算机上。虽然为了方便仅仅示出了一个这种计算机,但是关于用户识别的计算机功能可以以分布的方式实施在多个相似的平台上,从而分布过程负载。
计算机1700,例如包括连接到并且连接自连接到此从而有助于数据通信的网络的COM端口1702。计算机1700还包括CPU1704,其形式为用于执行程序指令的一个或多个处理器。示例性的计算机平台包括内部通信总线1706、具有不同形式的程序贮存设备和数据贮存设备,例如碟1708、只读存储器(ROM)1710、或者随机存储存储器(RAM)1712,用于将被计算机处理并且/或者通信的各种数据文件,以及将被CPU1704执行的可能的程序指令。计算机1700还包括I/O组件1714,支持在计算机和其中诸如用户接口元素1716的其他组件之间的输入/输出流。计算机1700还可以经由网络通信接收程序和数据。
因此,如上面所勾勒出的用户识别方法的各个方面可以在程序中实施。技术的程序方面可以被认为是典型地形式为被承载或者实施在机器可读介质类型上的可执行代码和/或相关联数据的“产品”或“制造件”。有形的永久“贮存”类型介质包括任何或者所有的存储器或其他用于计算机、处理器或类似的存储器或其相关联模块,诸如各种半导体存储器、带驱动、盘驱动或类似,其可以在任何时候提供用于软件程序的贮存。
软件的所有或者部分可以不时地通过诸如因特网或各种其他电信网络的网络进行通信。这种通信例如可以实现软件从一个计算机或处理器加载进入另一个中。由此,可以承载软件元素的其他类型的介质包括光学、电气、以及电磁波,例如通过有线和光学陆地线网络以及通过各种空中链路而跨域本地设备之间的物理接口所使用的。承载这种波的物理元素,例如有限或无线链路、光学链路或者类似同样可以被视为承载软件的介质。正如在这里所使用的,除非限制于有形的“贮存”介质,例如计算机或机器“可读”的术语指的是任何参与了提供指令到处理器用于执行的介质。
因此,机器可读介质可以采用许多形式,包括但不限于有形贮存介质、载波介质或物理传输介质。非易失性贮存介质例如包括诸如在任何计算机或类似中的任何贮存设备的光盘或磁盘,其可以用于实施***或其任何组件,如图所示出。易失性贮存介质包括动态存储器,例如这种计算机平台的主存储器。有形传输介质包括同轴线缆、铜线和光纤,包括形成计算机***内的总线的线路。载波传输介质可以采用电子或电磁信号的形式,或者声波或光波,例如这些在射频(RF)和红外(IR)数据通信中生成的。计算机可读介质的通用形式因此包括例如软盘、柔性盘、硬盘、磁盘、任何其他磁性介质、CD-ROM、DVD或DVD-ROM、任何其他光学介质、打孔卡片纸带、任何其他具有孔图案的物理贮存介质、RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或卡盘、传送数据或指令的载波、传送这种载波的线缆或链路、或者计算机可以从其读取程序代码和/或数据的任何其他介质。许多这些形式的计算机可读介质可以涉及运载一个或多个指令的一个或多个序列到处理器用于执行。
图18描绘了其中可以将本教导实施在通用计算机上的示例性方式。在这个例子中根据本教导中的各个实施例的身份识别设备1840可以集成在膝上笔记本1800中。在这个例子中,用户身份可以通过将手指放置在膝上笔记本1800上的身份识别设备1840上来进行确定或验证。在这个例子中的用户识别可以用于用户获得到膝上笔记本或例如可以与膝上笔记本1800进行通信的车辆或在门处的控制器的另一个设备的访问。
本领域的技术人员将认识到本教导遵从于各种修改和/或增强。例如,虽然上面所描述的各种组件的实施可以在硬件设备中实施,但是其还可以实施为纯软件方案,例如在现有服务器上的安装。此外,如这里所公开的主机的单元和客户节点可以实施为固件、固件/软件组合、固件/硬件组合或者硬件/固件/软件组合。
虽然前面已经描述了被视为是最佳的模式和/或其他例子,应当理解的是这里可以做出各种修改并且这里所公开的主体可以实施为各种形式和例子,并且本教导可以应用于多种应用中,在这里仅对其中的一些进行了描述。意在于由随后的权利要求来对任何以及所有落入本教导的真实范围内的应用、修改和变形主张权利。