具体实施方式
个体的眼睛的眼白中的可见脉管***的特有特征可用来识别或验证个体。基于用户的眼睛的眼白的图像来验证用户所需的分析可能对处于多中原因(例如,不良照明;缺乏聚焦;图像俘获期间的过度运动,由睫毛或眼睑引起的遮挡,等)的图像降级敏感。在一些情况下,验证所需的分析可能复杂且缓慢。避免浪费时间及资源来分析不太可能导致恰当验证的不良质量图像可能更有效率。在一些实施方案中,可确定一个或一个以上质量度量,且使用所述一个或一个以上质量度量来评估图像将能够提供对个体的成功验证的可能性。在一些实施方案中,可将图像数据传递到受训练函数近似器以估计基于图像获得恰当验证结果的可能性。
如果确定恰当验证的可能性足够高,那么可接受并分析图像以以确定用户是否匹配参考记录。如果确定恰当验证的可能性过低,那么可拒绝图像,且可避免进一步的不必要的处理。在一些实施方案中,可向用户提醒关于所提交图像的质量问题,且向用户提供关于所述问题的信息以促进获取更好的图像。
在一些实施方案中,用以评估图像质量的质量度量反映在图像中可见的脉管***的范围。在一些实施方案中,用以评估图像的质量度量比较跨越不同色彩分量检测的眼睛脉管***的范围。在一些实施方案中,用以评估图像质量的质量度量反映图像的清晰度(例如,对比度、散焦、运动模糊、曝光、动态范围,以及色差)。在一些实施方案中,用以评估图像质量的质量度量反映图像中脉管***的其它类型失真的程度(例如,眩光量、眼睑张开程度、眼睛的注视角、镜面反射量、巩膜分段质量,以及遮挡的数目和类型)。
在一些实施方案中,可组合多个质量度量以确定质量分数,所述质量分数反映将自图像导致肯定验证的可能性,假定用户的图像实际上是其所称的人。举例来说,可使用受训练函数近似器(例如,神经网络)来基于多个质量度量确定原本将基于当前图像和参考或登记图像确定的匹配分数的预测,假定当前图像与参考图像包含同一脉管***的视图。
图1是人眼100的解剖结构的图。所述图是眼睛的截面,其中解剖结构的放大图102靠近眼睛的角膜缘边界,所述角膜缘边界分离有色虹膜110与眼睛的周围眼白。眼睛的眼白包含复杂的脉管结构,其不仅易于从眼睛外部看到且可扫描,而且脉管结构是唯一的且在个体间不同。因此,主要归因于结膜和巩膜外层的脉管***,眼睛的眼白的这些脉管结构可加以扫描且有利地用作生物特征。可使用此生物特征来验证特定个体,或识别未知的个体。
眼睛的眼白具有若干层。巩膜120为眼睛的不透明纤维性保护层,其含有胶原蛋白和弹性纤维。巩膜120由巩膜外层130覆盖,巩膜外层130具有穿过其中和其上的相当大量的血管和静脉。巩膜外层130由球结膜140覆盖,球结膜140为与眼睑150或在眼睑张开时与环境介接的薄透明隔膜。血管和静脉穿过眼睛的眼白的所有这些层,且可在眼睛的图像中检测到。眼睛还包含睫毛160,睫毛160有时可能使眼睛的眼白的多个部分在图像中模糊不清。
图2是包含展示眼睛的眼白的脉管***的部分的实例图像200的图。此图像200可用集成到计算装置中的传感器(例如,相机)俘获,所述计算装置例如为智能电话、平板计算机、电视、膝上型计算机或个人计算机。举例来说,在俘获图像时可通过显示器或音频提示来提示用户看向左方,因此将眼睛的眼白到虹膜右方的较大区域暴露到传感器的视图。类似地,可在俘获图像时提示用户向右看、向上看、向下看、向前看等。所述实例图像包含虹膜220的视图,其中瞳孔210处于其中心。虹膜220延伸到眼睛的角膜缘边界225。眼睛的眼白230在眼睛的角膜缘边界225外部。眼睛的眼白的粗略脉管***240在图像100中可见。此脉管***240可为个体所特有的。在一些实施方案中,脉管***240的特有特征可用作识别、检验或验证个别用户的基础。
图3是包含展示两只眼睛的眼白的脉管***的部分的实例图像300的图,所述图像经分段以进行分析。可以多种方式获得所俘获图像310。所俘获图像310可经预处理及分段以隔离出图像内的兴趣区,且增强眼睛的眼白中的脉管***的视图。举例来说,兴趣区可为形成覆盖眼睛的一些或所有眼白的栅格的平铺部分。可例如通过识别角膜缘边界和眼睑的边缘来隔离出对应于右眼眼白的在虹膜左方的部分320。类似地,可隔离出对应于左眼眼白的在虹膜左方的部分322。可例如通过从图像数据选择使眼睛的眼白的脉管***与周围眼白部分之间的对比度最大的分量色彩来使用预处理来增强此区中的脉管***的视图。在一些实施方案中,可将图像的这些部分320、322进一步分段成形成栅格330、332的平铺块,所述栅格330、332将眼睛的眼白的暴露表面区域划分成较小的区以用于分析目的。这些兴趣区中的脉管***的特征可用来识别或验证个体。
图4是经配置以至少部分基于眼睛410的眼白的一个或一个以上图像来验证个体的实例安全***400的框图。安全***400的用户可将其眼睛410呈现给光传感器420。以此方式,可俘获眼睛410的眼白的一个或一个以上图像。数码相机、三维(3D)相机和光场传感器是可使用的光传感器的实例。光传感器420可使用多种技术,例如数字电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)。在一些实施方案中,可经由在显示器424上显示的消息来提示用户摆出某些姿势以暴露眼睛410的眼白的多个部分且促进图像获取。举例来说,可提示用户定向其注视点以便将其眼睛410的虹膜向左转动、向右转动、向左上方转动,以及向右上方转动。在未展示的一些实施方案中,可通过经由扬声器播放的消息、通过指示灯(例如,LED)来提示用户采用某些姿势,或根本不提示。
在一些实施方案中,传感器420可经配置以检测眼睛410何时已恰当地定位于传感器的视野中。或者,在计算装置432上实施的软件或硬件可分析由光传感器420产生的一个或一个以上图像以确定眼睛410是否已恰当定位。在一些实施方案中,用户可通过用户接口(例如,按钮、键盘、小键盘、触摸板,或触摸屏)手动地指示眼睛410何时恰当地定位。
在计算装置430上实施的验证模块440可经由光传感器420获得眼睛的眼白的一个或一个以上图像。在一些实施方案中,计算装置430与光传感器420集成或电子耦合到光传感器420。在一些实施方案中,计算装置430可通过无线接口(例如,天线)与光传感器420通信。
验证模块440处理经由光传感器420获得的图像以控制对安全装置450的访问。举例来说,验证模块440可实施相对于图6描述的验证过程。在一些实施方案中,安全装置450可包含影响来自验证模块440的访问控制指令的致动器460(例如,锁定机构)。
计算装置可以多种方式与安全装置450集成或介接。举例来说,安全装置450可为汽车,光传感器420可为集成到汽车的方向盘或仪表盘中的相机,且计算装置430可集成到汽车中且电连接到相机和充当安全致动器460的点火锁定***。用户可将其眼睛的眼白的视图呈现给相机以便被验证为汽车的经授权驾驶员且起动引擎。
在一些实施方案中,安全装置450可为房地产钥匙盒,光传感器420可为与用户的移动装置(例如,智能电话或平板装置)集成的相机,且验证模块440的处理可部分地由用户的移动装置且部分地由与钥匙盒集成的控制电力锁定机构的计算装置来执行。两个计算装置可经由无线接口来通信。举例来说,用户(例如,给出房产展示的房地产经纪人)可使用其移动装置上的相机来获得一个或一个以上图像且基于所述图像提交数据到钥匙盒以便被验证为经授权用户且被准许使用钥匙盒中存放的钥匙。
在一些实施方案中,安全装置450为控制进入房产的闸门或门。光传感器420可集成到门或闸门中或定位于靠近门或闸门的墙壁或围墙上。计算装置430可定位于光传感器420和门或闸门中充当致动器460的电力锁定机构附近,且可经由无线接口与所述光传感器420和所述电力锁定机构通信。在一些实施方案中,安全装置450可为来福枪,且光传感器420可与附接到来福枪的瞄准镜集成。计算装置430可集成到来福枪的枪托中,且可电连接到光传感器420和充当致动器460的扳机或撞针锁定机构。在一些实施方案中,安全装置450可为一件租赁设备(例如,白行车)。
计算装置430可包含处理装置432(例如,如相对于图9所描述)和机器可读存储库或数据库434。在一些实施方案中,机器可读存储库可包含闪存存储器。机器可读存储库434可用以存储一个或一个以上参考记录。参考记录可包含从安全装置450的经注册或经授权用户的眼睛的眼白的一个或一个以上图像导出的数据。在一些实施方案中,参考记录包含完整参考图像。在一些实施方案中,参考记录包含从参考图像提取的特征。为建立新用户的参考记录,可执行登记或注册过程。登记过程可包含俘获新注册用户的眼睛的眼白的一个或一个以上参考图像。在一些实施方案中,可使用验证***400的光传感器420和处理装置430来执行登记过程。
图5为展示其中可实施本文所描述的技术的网络环境500的实例的框图。网络环境500包含经配置以经由网络511与第一服务器***512和/或第二服务器***514通信的计算装置502、504、506、508、510。计算装置502、504、506、508、510具有与其相关联的相应用户522、524、526、528、530。第一和第二服务器***512、514各自包含计算装置516、517和机器可读存储库或数据库518、519。实例环境500可包含未展示的数以千计的网站、计算装置和服务器。
网络511可包含大的计算机网路,其实例包含连接数个移动计算装置、固定计算装置和服务器***的局域网(LAN)、广域网(WAN)、蜂窝式网络,或其组合。包含于网络511中的网络可提供在各种模式或协议下的通信,其实例包含传输控制协议/因特网协议(TCP/IP)、全球移动通信***(GSM)语音呼叫、短电子消息服务(SMS)、增强型消息接发服务(EMS),或多媒体消息接发服务(MMS)消息接发、以太网、码分多址(CDMA)、时分多址(TDMA)、个人数字蜂窝(PDC)、宽频码分多址(WCDMA)、CDMA2000,或通用分组无线电***(GPRS),以及其它者。通信可经由射频收发器而发生。此外,可例如使用蓝牙(BLUETOOTH)、WiFi或其它此种收发器***来发生短程通信。
计算装置502、504、506、508、510使得相应用户522、524、526、528、530能够访问并观看文档,例如包含于网站中的网页。举例来说,计算装置502的用户522可使用网页浏览器来观看网页。可通过服务器***512、服务器***514或另一服务器***(未展示)来将网页提供到计算装置502。
在实例环境500中,计算装置502、504、506说明为桌上型计算装置,计算装置508说明为膝上型计算装置508,且计算装置510说明为移动计算装置。然而,注意,计算装置502、504、506、508、510可包含例如桌上型计算机、膝上型计算机、手持式计算机、具有嵌入于其中和/或耦合到其的一个或一个以上处理器的电视、平板计算装置、个人数字助理(PDA)、蜂窝式电话、网络器具、相机、智能电话、增强型通用分组无线电业务(EGPRS)移动电话、媒体播放器、导航装置、电子消息接发装置、游戏控制台,或这些数据处理装置或其它适当数据处理装置中的两者或两者以上的组合。在一些实施方案中,计算装置可包含为机动车辆(例如,汽车、应急车辆(例如,消防车、救护车)、公共汽车)的部分。
与计算装置502、504、506、508、510交互的用户可通过验证自身且经由网络511发出指令或命令而与例如由服务器***512托管的安全交易服务523交互。安全交易可包含例如电子商务购买、金融交易(例如,在线银行交易、***或银行卡交易、会员奖励积分兑现),或在线投票。安全交易服务可包含验证模块525,所述验证模块525协调从交易的安全服务器侧对用户的验证。在一些实施方案中,验证模块525可从用户装置(例如,计算装置502、504、506、508、510)接收图像数据,其包含用户(例如,用户522、524、526、528、530)的眼睛的一个或一个以上图像。验证模块525可接着处理所述图像数据以通过确定所述图像数据是否匹配经辨识用户身份的参考记录来验证用户,所述参考记录先前已基于在登记会期期间收集的图像数据而建立。
在一些实施方案中,已提交服务请求的用户可被重定向到在单独服务器***514上运行的验证模块540。验证模块540可维持安全交易服务523的经注册或经登记用户的参考记录,且还可包含其它安全交易服务的用户的参考记录。验证模块540可使用加密网路通信(例如,使用公共密钥加密协议)建立与各种安全交易服务(例如,安全交易服务523)的安全会期,以向安全交易服务指示用户是否被验证为已注册或登记的用户。极类似于验证模块525,验证模块540可从请求用户的计算装置(例如,计算装置502、504、506、508、510)接收图像数据,且可处理所述图像数据以验证所述用户。在一些实施方案中,验证模块可确定从用户接收的图像的质量分数,且可基于所述质量分数来接受或拒绝所述图像。当图像因为具有低质量而被拒绝时,验证模块540可发送网络通信消息以向用户提供反馈以辅助用户重新提交新图像。在一些实施方案中,可检查从被接受的经验证用户接收的图像的质量分数,以选择新图像或新图像的部分供用于更新经注册或登记的用户的参考记录。
验证模块540可实施为在处理设备(例如,一个或一个以上计算装置(如图9中所说明的计算机***))上执行的软件、硬件或软件与硬件的组合。
用户装置(例如,计算装置510)可包含验证应用程序550。验证应用程序550可促进将用户验证为经注册或经登记用户身份以经由网络511访问安全服务(例如,安全交易服务523)。举例来说,验证应用程序550可为用于与服务器侧验证模块(例如,验证模块540)交互的移动应用程序或另一类型的客户端应用程序。验证应用程序550可驱动传感器(例如,连接到用户计算装置或与用户计算装置集成的相机)以俘获用户的一个或一个以上图像(例如,用户530),其包含用户的眼睛的眼白的视图。验证应用程序550可提示(例如,经由显示器或扬声器)用户摆姿势以进行图像俘获。举例来说,可提示用户面向传感器,且将其注视点定向到左方或右方,以将眼睛的眼白的大部分暴露到传感器。
在一些实施方案中,验证应用程序550经由网络511将所俘获图像数据传输到远程服务器(例如,服务器***512或514)上的验证模块(例如,验证模块525或540)。收集来自用户的图像数据可促进登记和建立用户的参考记录。收集来自用户的图像数据还可促进对照参考记录来验证用户身份。
在一些实施方案中,可通过验证应用程序550执行对图像数据的额外处理以用于验证目的,且所述处理的结果可传输到验证模块(例如,验证模块525或540)。以此方式,验证功能可以适合于特定应用的方式分布于客户端与服务器侧处理之间。举例来说,在一些实施方案中,验证应用程序550确定所俘获图像的质量分数,且继续基于低质量分数而拒绝所述图像,并将反馈提供到用户(例如,经由显示器或扬声器)以提示用户收集额外图像,直到获得具有足够质量的一个或一个以上图像。此时,可基于所接受的图像将图像数据传输到服务器侧验证模块(例如,验证模块525或540)以进行进一步分析。
在一些实施方案中,验证应用程序访问用户身份的参考记录,且进行完全验证过程,随后将结果(例如,用户被接受还是被拒绝)报告给服务器侧验证模块。
验证应用程序550可实施为在处理设备(例如,一个或一个以上计算装置(如图9中所说明的计算机***))上执行的软件、硬件或软件与硬件的组合。
图6是用于基于眼睛的眼白的一个或一个以上图像验证个体的实例过程600的流程图。确定所获得图像的质量分数,且使用所述质量分数来接受或拒绝所述图像。一旦识别并接受具有足够质量的图像,那么对图像进行进一步分析以通过从图像提取特征并比较所述特征与参考记录来确定匹配分数。接着基于所述匹配分数来接受或拒绝用户。
举例来说,可由图4的计算装置430中的验证模块440来实施过程600。在一些实施方案中,计算装置430为包含经配置以执行过程600的动作的一个或一个以上处理器的数据处理设备。举例来说,数据处理设备可为计算装置(例如,如图9中所说明)。在一些实施方案中,过程600可全部或部分由验证应用程序550实施,验证应用程序550由用户计算装置(例如,计算装置510)执行。举例来说,用户计算装置可为移动计算装置(例如,图9的移动计算装置950)。在一些实施方案中,过程600可全部或部分由验证模块540实施,验证模块540由用户服务器***(例如,服务器***514)执行。在一些实施方案中,服务器***514为包含经配置以执行过程600的动作的一个或一个以上处理器的数据处理设备。举例来说,数据处理设备可为计算装置(例如,如图9中所说明)。在一些实施方案中,计算机可读媒体可包含指令,所述指令在由计算装置(例如,计算机***)执行时致使装置执行处理器600的动作。
获得602眼睛的一个或一个以上图像。所述图像包含在眼睛的角膜缘边界外部的眼睛的脉管***的一部分的视图。所获得的图像可为单色的,或表示于各种色彩空间(例如,RGB、SRGB、HSV、HSL或YCbCr)中。在一些实施方案中,可使用光传感器(例如,数码相机、3D相机,或光场传感器)获得图像。所述传感器可对各种波长范围中的光敏感。举例来说,所述传感器可对光的可见光谱敏感。在一些实施方案中,传感器与可以脉冲形式发出以照亮传感器的视图中的物体的闪光或手电筒配对。图像的俘获可与闪光的脉动同步或用闪光的脉动进行时间锁定。在一些实施方案中,传感器俘获一序列图像,所述序列图像可用来跟踪物体在传感器的视野内的运动。所述传感器可包含控制图像俘获的一个或一个以上设置(例如,焦距、闪光强度、曝光,及白平衡)。图像可共同包含多个焦距。举例来说,可俘获一序列图像,每一图像是用传感器的不同焦距设置俘获的,和/或一些传感器(例如,光场传感器)可俘获聚焦于距传感器多个距离处的图像。在一些实施方案中,可通过经由网络接口(例如,服务器***514的网络接口)而接受来获得502一个或一个以上图像。
可接着确定604所述一个或一个以上图像的质量分数。在一些实施方案中,所述质量分数为将基于所获得图像和参考图像确定的匹配分数的预测,假定所获得图像和参考图像包含同一个人的脉管***的视图。在一些实施方案中,将图像数据元素(例如,体元、像素、射线,或红、绿或蓝通道值)直接输入到受训练函数近似器,所述受训练函数近似器输出质量分数。可使用对应于训练图像的数据来训练所述函数近似器,所述训练图像匹配用以使用将用以验证用户的相同匹配评分过程来产生训练图像的匹配分数的参考图像。在所述图像与参考记录都包含描绘特定个体的眼睛的眼白的相同脉管***的实质上类似的视图的意义上,所述图像匹配所述参考记录。所述函数近似器用一组模型参数对从输入数据(即,训练图像数据)到输出数据(即,所得匹配分数)的映射进行建模。使用应用于所述数据的训练算法来选择模型参数值。举例来说,函数近似器可基于以下模型:线性回归、沃尔泰拉级数(Volterra series)、维纳级数、径向基核函数、核方法(kernel method)、多项式方法、分段线性模型、神经网络,或混沌函数近似器。
在一些实施方案中,基于一个或一个以上质量度量来确定604质量分数,所述一个或一个质量度量又是基于所获得图像确定的。相对于图7描述此过程的一些实例。
举例来说,可通过验证模块440、验证应用程序550、验证模块525或验证模块540来确定604质量分数。
检查606质量分数以确定所述一个或一个以上图像的质量是否足够。在一些实施方案中,可将质量分数与阈值进行比较。
如果质量分数不够,那么拒绝608所述一个或一个以上图像。在一些实施方案中,可接着向用户提供610反馈,所述反馈指示所获得的图像存在问题。反馈还可给出关于问题的可能性质的指示,且因此促进从用户的改进的图像俘获。举例来说,反馈可指示图像离焦,或照明不良。在一些实施方案中,经由显示器、扬声器或触觉反馈装置提供610反馈。在一些实施方案中,通过使用网络接口经由网络传输一个或一个以上消息来提供610反馈。
可检查612获得图像的尝试次数,且如果已进行过多(例如,多于3)尝试,那么可拒绝630用户。否则,可提示用户重新提交一个或一个以上新图像作为获得602一个或一个图像的新尝试的部分。
如果质量分数足够,那么接受616所述一个或一个以上图像,且对其进行进一步分析以完成验证过程。
可对所述一个或一个以上图像进行分段620以识别包含眼睛的眼白中的脉管***的最佳视图的兴趣区。在一些实施方案中,可识别所述一个或一个以上图像中的解剖界标(例如,虹膜、其中心及角膜缘边界、眼角,及眼睑的边缘)。可基于其相对于所识别的解剖界标的位置来识别并选择图像内的兴趣区。举例来说,兴趣区可位于眼睛的眼白中在虹膜左方、右方、上方或下方。在一些实施方案中,所选择的兴趣区经平铺以形成覆盖眼睛的眼白的较大部分的栅格。在一些实施方案中,图像的所选择区是不连续的(例如,相邻区可重叠,或相邻区之间可具有空间)。所选择的兴趣区可对应于从参考图像(参考记录中的数据是基于所述参考图像)选择的兴趣区。
在一些实施方案中,通过将曲线拟合在眼睑的在巩膜上的所选择部分上,且接着外插并发现那些曲线的相交点来找出眼角。如果归因于巩膜过近(例如,归因于注视方向)的事实而不能发现一个相交点(眼角),那么可导出来自同一眼角区域但来自相反注视方向照片的模板并将其应用于手边图像中的有问题的眼角邻域,且可将最大相关位置标记为眼角。
在一些实施方案中,通过自适应性阈值方法来找出眼睑,所述自适应性阈值方法从图像中找出眼睛的眼白,其与眼睑接界。可通过形态学操作(例如,凸包)来校正巩膜遮罩自身以去除像差。
在一些实施方案中,从巩膜遮罩找出边缘边界,其为巩膜结束之处,因为其终止于虹膜边缘边界处。
在一些实施方案中,经由多种方法找出虹膜中心。如果眼睛色彩明亮,那么可找出瞳孔的中心作为虹膜中心。如果虹膜过暗,那么找出拟合到边缘边界和其中心的椭圆形的中心,或将其确定为围绕虹膜中心收敛的正常射线(即,垂直于边缘边界的切线的线)的焦点,或以上方法的组合。
可对图像区进行预处理622以增强图像内的脉管***的视图。在一些实施方案中,预处理622包含色彩图像增强和对比度受限自适应性直方图均衡化(CLAHE),其增强强度图像的对比度。CLAHE在图像的小的区(称为平铺块)中操作。每一平铺块的对比度被增强,使得输出的直方图大致匹配由均匀分布、指数分布或瑞雷分布指定的直方图。接着使用双线性内插来组合相邻平铺块,以消除人为造成的边界。在一些实施方案中,可通过选择红、绿或蓝色分量中在血管与背景之间具有最佳对比度的一者来增强图像。绿色分量可为优选的,因为其可在血管与背景之间提供最佳对比度。
在一些实施方案中,预处理622包含应用多尺度增强过滤方案来增强图像的强度,由此促进脉管结构的检测和后续特征提取。可凭经验确定过滤器的参数,以便考虑到血管的围长(girth)的变化。所使用的算法可具有良好曲线敏感性、良好曲线特异性且抑制其它形状的对象。所述算法可基于图像的二阶导数。首先,由于二阶导数对噪声敏感,因此用高斯函数来对图像片段进行卷积。高斯函数的参数σ可对应于血管的厚度。接下来,对于每一图像数据元素,可建立海森矩阵(Hessian matrix),且可计算特征值λI和λ2。在每一海森矩阵中,将矩阵脊定义为图像在曲率方向上具有极值处的点。曲率方向为图像的二阶导数的特征向量,其对应于最大绝对特征值λ。特征值的正负号确定其为局部最小值λ>0还是最大值λ>0。接着使用所计算的特征值来用以下方程式过滤血管线:
I_line(λ1,λ2)=|M|-|λ2|(如果λ1<0),且I_line(λ1,λ2)=0(如果λ1≥0)
血管的直径变化,但算法假定直径在区间[d0,d1]内。可在尺度范围[d0/4,d1/4]中使用高斯平滑过滤器。可基于以下平滑尺度将此过滤重复N次:
σ1=d0/4,σ2=r*σ1,σ2=r^2*σ1,…σ2=r^(N-1)*σ1=d1/4
此最终输出可为来自N个尺度的所有个别过滤器的输出的最大值。
确定624每一图像区的特征,其反映在用户的眼睛的所述区中可见的脉管***的结构或特性。在一些实施方案中,可使用细节检测方法来提取用户的脉管***的特征。细节检测过程的实例描述于第7,327,860号美国专利中。
在一些实施方案中,可部分通过将对应于那些图像区的纹理特征的一组过滤器应用于图像区来确定624特征。举例来说,可部分通过将各种角度处的一组复数伽柏过滤器应用于图像来确定特征。可凭经验确定过滤器的参数,以便考虑到血管的间隔、定向和围长的变化。图像的纹理特征可测量为兴趣区中的尖锐可见脉管***的量。可用尖锐可见脉管***的面积对兴趣区的面积的比率来确定此质量。伽柏过滤的图像的相位当使用阈值来二进制化时可促进检测且揭示尖锐可见脉管***。
当伽柏过滤器核经配置成西格玛=2.5像素,频率=6且伽马=1时,复数伽柏过滤的图像的相位反映不同角度处的脉管模式。频率的选择可取决于脉管之间的距离,其又取决于分辨率和图像获取***与主体之间的距离。对于图像,这些参数可为不变的。举例来说,可针对在远离眼睛6到12厘米的距离处使用特定传感器(例如,智能手机上的后部相机)俘获的眼睛图像导出核参数,且经分段的巩膜区可重调大小为(例如,401×501像素)的分辨率以用于分析。可见眼睛表面脉管***可散布在眼睛的眼白上的所有方向上。举例来说,伽柏核可在六个不同角度(角度=0、30、60、90、120和150度)上对准。伽柏过滤的图像的相位可在-π到+π弧度范围内变化。高于0.25及低于-0.25弧度的相位值可对应于脉管结构。为了使用取阈值来二进制化相位图像,高于0.25或低于-0.25的相位的所有值可设定为1,且剩余值设定为0。这可导致对应相位图像中尖锐脉管***结构。可针对由不同角度处的所有六个伽柏核的应用程序产生的图像执行此操作。可添加所有六个二进制化图像以揭示精细且清晰的脉管结构。在一些实施方案中,二进制化相位图像的元素的向量可用作用于比较图像与参考记录的特征向量。在一些实施方案中,图像兴趣区之间的纹理特征的差异可用作特征向量。由兴趣区的区域划分的二进制化图像区域的所有1的总和可反映可见脉管***的程度。
基于特征和来自参考记录的对应特征来确定626匹配分数。参考记录可包含至少部分基于在用户的登记或注册过程期间俘获的一个或一个以上参考图像的数据。在一些实施方案中,匹配分数可确定为626从一个或一个以上所获得图像提取的特征向量与来自参考记录的特征向量之间的距离(例如,欧几里德距离、相关系数、改进豪斯多夫距离、马氏距离、布雷格曼发散、余弦相似度、库尔贝克-莱布勒距离和延森-香农发散)。在一些实施方案中,可通过将从一个或一个以上所获得图像提取的特征和来自参考记录的特征输入到受训练函数近似器来确定626匹配分数。
在一些实施方案中,基于相同脉管***的多个图像的匹配分数来确定626基于质量的融合匹配分数。在一些实施方案中,多个图像的匹配分数通过将匹配分数一起与相应地取决于多个图像中的每一者所确定的质量分数的权重加权线性组合地相加来组合。可用以基于多个图像的相应质量分数组合多个图像的匹配分数的技术的其它实例包含分层混合、求和规则、乘积规则、闸控融合、德普斯特-沙佛组合和堆叠式推广以及其它者。
在一些实施方案中,由验证模块(例如,计算装置430上运行的验证模块440)确定626匹配分数。
可对匹配分数进行检查628以确定一个或一个以上所获得图像与参考记录之间的匹配是否存在。举例来说,匹配分数可与阈值进行比较。匹配可反映在一个或一个以上所获得图像中描绘其眼睛的用户与关联于参考记录的个体相同的高可能性。
如果不存在匹配,那么可拒绝630用户。结果,可不允许用户访问安全装置或服务(例如,安全装置450或安全交易装置523)。在一些实施方案中,可通过展示于显示器上或通过扬声器播放的消息通知用户所述拒绝630。在一些实施方案中,可通过经由网络传输反映被拒绝的用户的状态的消息来影响拒绝。举例来说,验证模块540在拒绝用户530之后可随即使用服务器***514的网络接口将拒绝消息传输到安全交易服务器523。验证模块540在此情形下还可将拒绝消息发送到用户计算装置510。
如果存在匹配,那么可接受632用户。结果,可否定用户访问安全装置或服务(例如,安全装置450或安全交易装置523)。在一些实施方案中,可通过展示于显示器上或通过扬声器播放的消息通知用户所述接受630。在一些实施方案中,可通过经由网络传输反映被接受的用户的状态的消息来影响接受。举例来说,验证模块540在接受用户530之后可随即使用服务器***514的网络接口将接受消息传输到安全交易服务器523。验证模块540在此情形下还可将接受消息发送到用户计算装置510。
当已接受632用户时,可假定用户对应于参考记录。在一些情况下,用以验证用户的一个或一个以上所获得图像或那些图像的部分与参考图像或其部分相比可具有优良质量水平,参考记录中的数据是从所述参考图像导出。参考记录可包含用于供导出参考记录中的数据的一个或一个以上参考图像的一个或一个以上质量分数。可比较634一个或一个以上所获得图像的质量分数与来自参考记录的质量分数。如果新获得图像具有较好质量分数,那么可基于所述新获得图像来更新636参考记录或参考记录的一部分。举例来说,从新获得图像或新获得图像的一部分提取的特征可保存在参考记录中以补充或替换先前保存在参考记录中的特征。在一些实施方案中,由验证模块(例如,计算装置430上运行的验证模块440)更新636参考记录。
图7是用于确定眼睛的一个或一个以上图像的质量分数的实例过程700的流程图。针对图像确定一个或一个以上质量度量710,且基于一个或一个以上质量度量确定质量分数730。
举例来说,可由图4的计算装置430中的验证模块440来实施过程670。在一些实施方案中,计算装置430为包含经配置以执行过程700的动作的一个或一个以上处理器的数据处理设备。举例来说,数据处理设备可为计算装置(例如,如图9中所说明)。在一些实施方案中,过程700可全部或部分由验证应用程序550实施,验证应用程序550由用户计算装置(例如,计算装置510)执行。举例来说,用户计算装置可为移动计算装置(例如,图9的移动计算装置950)。在一些实施方案中,过程700可全部或部分由验证模块540实施,验证模块540由用户服务器***(例如,服务器***514)执行。在一些实施方案中,服务器***514为包含经配置以执行过程700的动作的一个或一个以上处理器的数据处理设备。举例来说,数据处理设备可为计算装置(例如,如图9中所说明)。在一些实施方案中,计算机可读媒体可包含指令,所述指令在由计算装置(例如,计算机***)执行时致使装置执行处理器700的动作。
处理器700在接收一个或一个以上图像以用于处理时开始702。举例来说,可将一个或一个以上图像编码为数据图像元素(例如,像素、体元、射线或红、绿或蓝通道值)的二维、三维或四维阵列。
接着可基于一个或一个以上图像确定一个或一个以上质量度量710。在此实例中,确定712一个或一个以上图像中检测到的脉管***的范围的度量。在一些实施方案中,通过首先使脉管***扩张且接着薄化出现在一个或一个以上二进制化图像中的脉管***以便连接脉管***的在所俘获图像中看起来分离的部分来确定712脉管***的范围的质量度量。可接着确定含有经薄化经扩张脉管***的图像的一部分。相对于图8描述此实施方案的实例。
可确定714用于比较跨第一图像中的不同色彩分量检测到的眼睛脉管***的范围的质量度量。在一些实施方案中,通过将一个或一个以上图像分离成三个色彩分量(例如,红、绿和蓝)、基于所述色彩分量的对来确定差异信号,确定差异信号的标准差,及确定各标准差之间的配量来确定714此质量度量。举例来说,可根据以下方程式来确定714此质量度量:
QM_2=SD(R-G)/SD(G-B)
其中QM_2是质量度量,SD是计算其矩阵引数的元素的标准差的标准差运算符,G是图像的第一色彩分量(例如,绿)的像素值矩阵,R是图像的第二色彩分量(例如,红)的像素值矩阵,且B是图像的第三色彩分量(例如,蓝)的像素值矩阵。举例来说,可由验证模块或应用程序(例如,验证模块440)来确定714此质量度量。
可确定716反映图像清晰度的质量度量。在一些实施方案中,此质量度量可基于一个或一个以上图像的以下测量中的一者或一者以上:对比度、散焦、运动模糊、曝光、动态范围,以及色差。举例来说,可由验证模块或应用程序(例如,验证模块440)来确定716此质量度量。
在未展示的一些实施方案中,可基于一个或一个以上图像中的眩光量来确定质量度量。在未展示的一些实施方案中,可基于一个或一个以上图像中的遮挡的数目和类型来确定质量度量。举例来说,遮挡可包含阻挡眼睛的眼白的视图的睫毛、阻碍传感器的灰尘或其它碎屑,等。在未展示的一些实施方案中,可基于一个或一个以上图像中的镜面反射量来确定质量度量。在未展示的一些实施方案中,可基于一个或一个以上图像中描绘的在眼睛上闭上眼睑的程度来确定质量度量。在未展示的一些实施方案中,可基于一个或一个以上图像中描绘的眼睛的注视角来确定质量度量。在未展示的一些实施方案中,可基于一个或一个以上图像中描绘的巩膜的分段质量来确定质量度量。举例来说,其中虹膜居中的图像可能不如虹膜滚离中心的图像所暴露的眼睛的眼白的区域大。某些兴趣区在一些姿势下可见,但在其它姿势下不可见。因此,某些姿势下眼睛的图像可能比其它姿势具有更好质量,以用于匹配分数确定和验证目的。此实例度量可反映将由姿势或其它因素引起的分段质量的这些差异。分段质量是眼睛的眼白可与其周围结构分离以跟踪眼睛的暴露眼白且仅提取图像的所述部分而不进入任何睫毛、虹膜和眼睑的良好程度和紧密程度。举例来说,此指令度量可为一个或一个以上图像中所暴露的兴趣区的数目的计数。
接着可基于一个或一个以上质量度量来确定730质量分数。在一些实施方案中,质量分数是质量度量的加权组合。在一些实施方案中,通过将一个或一个以上质量度量输入到受训练函数近似器(其输出原本将基于一个或一个以上所获得图像和假定参考图像来确定的匹配分数的预测)来确定质量分数,假定所述一个或一个以上所获得图像和所述假定参考图像包含同一脉管***的视图。
可使用对应于训练图像的数据来训练所述函数近似器,所述训练图像匹配用以使用将用以验证用户的相同匹配评分过程来产生训练图像的匹配分数的参考图像。在所述图像与参考记录都包含描绘特定个体的眼睛的眼白的相同脉管***的意义上,所述图像匹配所述参考记录。所述函数近似器用一组模型参数对从输入数据(即,训练图像质量度量)到输出数据(即,用于真实用户的所得匹配分数)的映射进行建模。使用应用于训练数据的训练算法来选择模型参数值。举例来说,函数近似器可基于以下模型:线性回归、沃尔泰拉级数、维纳级数、径向基核函数、核方法、多项式方法、分段线性模型、神经网络,或混沌函数近似器。
举例来说,可基于一个或一个以上质量度量由验证模块或应用程序(例如,验证模块440)来确定730质量分数。
所得质量分数接着可被返回740,且可以多种方式由验证***(例如,验证***400)使用。举例来说,可使用质量分数来接受或拒绝一个或一个以上图像,以将多个图像的匹配分数组合成基于质量的经融合匹配分数,或选择新图像以更新参考记录。
图8是用于确定眼睛的图像中所展示的脉管***的范围的度量的实例过程800的流程图。可将图像转换810成灰阶图像。举例来说,可选择单一色彩分量(例如,绿或亮度)作为灰阶图像。可对灰阶图像设阈值820以获得黑和白图像。所使用的阈值可为固定的或基于灰阶图像中的像素集合的统计来确定。
可扩张830黑和白图像中的物体。可通过用黑像素来填充毗邻黑像素的白像素来完成扩张830。扩张操作可执行多次(例如,三次)以填充连接的脉管***结构中由图像信号中的噪声引起的孔。接下来,可通过移除毗邻白像素的黑像素来薄化840图像中的物体。薄化840操作可重复多次(例如,三次)。薄化840操作可重复与扩张操作的重复次数相同的次数。
可接着确定850含有经薄化经扩张脉管***的图像的一部分。此部分可反映图像中所展示的经连接脉管***的范围。举例来说,可将所述部分确定850为图像中的黑像素的数目与图像中的白像素的数目的比率。
举例来说,可由验证模块或应用程序(例如,验证模块440)来实施过程800。
图9展示通用计算机装置900和通用移动计算装置950的实例,其可与此处所描述的技术一起使用。意欲计算装置900表示各种形式的数字计算机,例如膝上型计算机、桌上型计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其它适当计算机。意欲计算装置950表示各种形式的移动装置,例如个人数字助理、蜂窝式电话、智能手机和其它类似计算装置。此处所展示的组件、其连接及关系以及其功能意谓仅示范性的,且不意谓限制本文件中所描述和/或主张的本发明的实施方案。
计算装置900包含处理器902、存储器904、存储装置906、连接到存储器904和高速扩展端口910的高速接口908以及连接到低速总线914和存储装置906的低速接口912。组件902、904、906、908、910和912中的每一者使用各种总线互连,且可安装在共同母板上或以其它适当方式安装。处理器902可处理计算装置900内的用于执行的指令,包含存储于存储器904中或存储于存储装置906上的指令以将GUI的图形信息显示在外部输入/输出装置(例如耦合到高速接口908的显示器916)上。在其它实施方案中,可在适当时与多个存储器和存储器类型一起使用多个处理器和/或多个总线。而且,可连接多个计算装置900,其中每一装置提供必要操作的部分(例如,作为服务器组、一群刀片服务器或多处理器***)。
存储器904将信息存储在计算装置900内。在一个实施方案中,存储器904为一个或一个以上易失性存储器单元。在另一实施方案中,存储器904为一个或一个以上非易失性存储器单元。存储器904还可为另一形式的计算机可读媒体,例如磁盘或光盘。
存储装置906能够提供用于计算装置900的大量存储。在一个实施方案中,存储装置906可为或含有计算机可读媒体,例如软盘装置、硬盘装置、光盘装置或磁带装置、闪存存储器或其它类似固态存储器装置,或包含存储区域网络中的装置或其它配置的装置阵列。计算机程序产品可有形地体现于信息载体中。计算机程序产品还可含有指令,所述指令在执行时执行一个或一个以上方法,例如上文所描述的方法。举例来说,信息载体为计算机或机器可读媒体,例如存储器904、存储装置906或处理器902上的存储器。
高速控制器908管理计算装置900的宽带密集操作,而低速控制器912管理较低宽带密集操作。功能的此分配仅为示范性的。在一个实施方案中,高速控制器908耦合到存储器904、显示器916(例如,通过图形处理器或加速器),耦合到高速扩展端口910,其可接受各种扩展卡(未图示)。在实施方案中,低速控制器912耦合到存储装置906和低速扩展端口914。可包含各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可(例如)通过网络适配器,耦合到一个或一个以上输入/输出装置,例如键盘、定位装置、扫描仪或网络连接装置,例如交换器或路由器。
如图中所展示,计算装置900可以多种不同形式实施。举例来说,计算装置900可实施为标准服务器920或多次实施于一群此等服务器中。计算装置900还可实施为机架式服务器***924的部分。另外,计算装置900可实施于例如膝上型计算机922等个人计算机中。或者,来自计算装置900的组件可与移动装置(未图示)中的其它组件(例如,装置950)组合。此等装置中的每一者可含有计算装置900、950中的一者或一者以上,且整个***可由彼此通信的多个计算装置900、950组成。
计算装置950包含处理器952、存储器964、例如显示器954、通信接口966和收发器968等输入/输出装置以及其它组件。装置950还可具备例如微型硬盘或其它装置等存储装置以提供额外存储。组件950、952、964、954、966和968中的每一者使用各种总线互连,且组件中的若干者可安装在共同母板上或以其它适当方式安装。
处理器952可执行计算装置950内的指令,包含存储于存储器964中的指令。处理器可实施为包含单独和多个模拟和数字处理器的芯片的芯片组。举例来说,处理器可提供装置950的其它组件的协调,例如用户接口的控制、由装置950执行的应用程序以及由装置950进行的无线通信。
处理器952可与用户通过控制接口958和耦合到显示器954的显示器接口956通信。举例来说,显示器954可为TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二级管)显示器或其它适当显示技术。显示器接口956可包括用于驱动显示器954将图形和其它信息呈现给用户的适当电路。控制接口958可从用户接收命令,且对其进行转换以提交到处理器952。另外,可提供与处理器952通信的外部接口962,以便使得装置950能够与其它装置进行附近区域通信。举例来说,外部接口962在一些实施方案中可提供有线通信,或在其它实施方案中提供无线通信,且还可使用多个接口。
存储器964将信息存储在计算装置950内。存储器964可实施为一个或一个以上计算机可读媒体、一个或一个以上易失性存储器单元或一个或一个以上非易失性存储器单元中的一者或一者以上。还可提供扩展存储器974,且其通过扩展接口972连接到装置950,扩展接口972可包含(例如)SIMM(单列直插式存储器模块)卡接口。此扩展存储器974可提供用于装置950的额外存储空间,或还可存储用于装置950的应用程序或其它信息。具体来说,扩展存储器974可包含进行或补充上文所描述的过程的指令,且还可包含安全信息。因此,(例如)可提供扩展存储器974作为装置950的安全模块,且可用准许安全使用装置950的指令来编程。另外,可通过SIMM卡来提供安全应用程序以及额外信息,例如以不可控方式将识别信息置放在SIMM卡上。
举例来说,存储器可包含闪存存储器和/或NVRAM存储器,如下文所论述。在一个实施方案中,计算机程序产品有形地体现于信息载体中。计算机程序产品含有指令,所述指令在执行时执行一个或一个以上方法,例如上文所描述的方法。信息载体为计算机或机器可读媒体,例如存储器964、扩展存储器974、处理器952上的存储器或可(例如)经由收发器968或外部接口962接收的传播信号。
装置950可经由通信接口966进行无线通信,通信接口966在必要时可包含数字信号处理电路。通信接口966可提供在各种模式或协议(例如,GSM语音呼叫、SMS、EMS或MMS消息接发、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS以及其它协议)下的通信。此通信可(例如)经由无线电频率收发器968而发生。另外,可例如使用蓝牙、WiFi或其它此种收发器(未图示)来发生短程通信。另外,GPS(全球定位***)接收器模块970可将额外导航和位置相关无线数据提供到装置950,所述无线数据可在适当时由运行于装置950上的应用程序使用。
装置950还可使用音频编解码器960以听觉方式通信,音频编解码器960可从用户接收口头信息,且将其转换成可用的数字信息。音频编解码器960同样可(例如,通过(例如)装置950的手持机中的扬声器)产生用户的可听到的声音。此声音可包含来自语音电话呼叫的声音,可包含记录的声音(例如,语音消息、音乐文件等),且还可包含由操作于装置950上的应用程序产生的声音。
如图中所展示,计算装置950可以多种不同形式实施。举例来说,计算装置950可实施为蜂窝式电话980。计算装置950还可实施为智能手机982、个人数字助理或其它类似移动装置的部分。
此处所描述的***和技术的各种实施方案可在数字电子电路、集成电路、特别设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方案可包含可编程***上可执行和/或可解释的一个或一个以上计算机程序中的实施方案,所述可编程***包含至少一可编程处理器,所述可编程处理器可出于专用或通用目的经耦合以从存储***、至少一个输入装置和至少一个输出装置接收数据和指令,且将数据和指令传输到存储***、至少一个输入装置和至少一个输出装置。
这些计算机程序(也被称作程序、软件、软件应用程序或代码)包含用于可编程处理器的机器指令,且可以高阶程序和/或面向对象编程语言和/或以汇编/机器语言来实施。如本文中所使用,术语机器可读媒体摂和计算机可读媒体摂指代用以将机器指令和/或数据提供到可编程处理器的任何计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包含接收机器指令作为机器可读信号的机器可读媒体。术语机器可读信号摂指代用以将机器指令和/或数据提供到可编程处理器的任何信号。
为了提供与用户的交互,此处所描述的***和技术可实施于计算机上,所述计算机具有用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可将输入提供到计算机的键盘及定位装置(例如,鼠标或跟踪球)。也可使用其它种类的装置来提供与用户的交互,例如,提供到用户的反馈可为任何形式的感觉反馈(例如,视觉反馈、听觉反馈,或触觉反馈);且来自用户的输入可以任何形式接收,包含声学输入、话音或触觉输入。
此处所描述的***和技术可实施于计算***中,所述计算***包含后端组件(例如,作为数据服务器),或包含中间件组件(例如,应用程序服务器),或包含前端组件(例如,具有图像用户接口的客户端计算机或用户可借以与此处描述的***和技术的实施交互的网页浏览器),或此后端组件、中间件组件或前端组件之任何组合。可通过任何形式的数字数据通信或任何数字数据通信媒体(例如,通信网络)来互连***的组件。通信网络的实例包含局域网(“LAN”)、广域网(“WAN”)和因特网。
计算***可包含客户端和服务器。客户端与服务器通常在彼此远端,且通常经由通信网络交互。客户端与服务器的关系藉助于在相应计算机上运行且彼此具有客户端-服务器关系的计算机程序而发生。
已描述了若干实施例。然而,应理解,可在不脱离本发明的精神和范围的情况下进行各种修改。
另外,图中所描绘的逻辑流程并不需要所展示的特定次序或循序次序来实现所要结果。另外,可提供其它步骤,或可从所描述流程消除多个步骤,且可将其它组件添加到所描述***,或从所描述***移除其它组件。因此,其它实施例属于所附权利要求书的范围内。