活性检测

阅读:1025发布:2020-10-19

专利汇可以提供活性检测专利检索,专利查询,专利分析的服务。并且一种活性检测系统包括: 控制器 、视频输入、特征识别模 块 、和活性检测模块。该控制器配置成控制输出设备,以在时间间隔期间对实体提供随机输出。该视频输入配置成接收摄像头在该时间间隔期间捕获的实体的运动图像。该特征识别模块配置成处理运动图像,以检测实体的至少一个人特征。该活性检测模块配置成在时间间隔期间将检测到的人特征呈现的行为与随机输出进行比较,以确定该行为是否是对随机输出的预期反应,从而确定该实体是否是人。,下面是活性检测专利的具体信息内容。

1.一种活性检测系统,包括:
控制器,所述控制器配置成控制输出设备,以在时间间隔期间对实体提供随机输出;
视频输入,所述视频输入配置成接收摄像头在所述时间间隔期间捕获的所述实体的运动图像;
特征识别模,所述特征识别模块配置成处理所述运动图像,以检测所述实体的至少一个人特征;以及
活性检测模块,所述活性检测模块配置成在所述时间间隔期间将所述检测到的人特征呈现的行为与所述随机输出进行比较,以确定所述行为是否是对所述随机输出的预期反应,从而确定所述实体是否是人。
2.根据权利要求1所述的活性检测系统,其中所述特征识别模块配置成检测的所述人特征是所述实体的眼。
3.根据权利要求2所述的活性检测系统,其中提供所述随机输出包括控制所述输出设备,以发出至少一个在所述运动图像内具有随机定时的光脉冲,并且所述预期反应是对所述至少一个光脉冲的预期瞳孔反应。
4.根据权利要求3所述的活性检测系统,其中提供所述随机输出包括控制所述输出设备,以发出至少两个互相具有随机时间分隔的随机光脉冲,并且所述预期反应是对所述至少两个光脉冲的预期瞳孔反应。
5.根据权利要求3或4所述的活性检测系统,其中所述输出设备是摄像头闪光灯或显示器。
6.根据权利要求3、4或5所述的活性检测系统,包括速度测量模块,所述速度测量模块配置成将所述运动图像的互相比较,以产生所述眼的速度分布,所述速度分布表示所述瞳孔的所述直径在不同时间的变化速率,所述比较包括将所述速度分布与所述预期反应进行比较。
7.根据权利要求6所述的活性检测系统,其中所述活性检测模块的所述比较包括将所述速度分布与概率分布进行比较,其中所述概率分布表示所述预期瞳孔反应。
8.根据权利要求6或7所述的活性检测模块,其中所述活性检测模块的所述比较包括:
确定第一时间,其中所述第一时间对应于所述速度分布的局部最大值;
确定第二时间,其中所述第二时间对应于所述速度分布的局部最小值,所述局部最小值紧接在所述局部最大值之前或紧接在所述局部最大值之后发生;并且
确定所述第一时间与所述第二时间之间的差,并且将所述差与阈值进行比较。
9.根据权利要求8所述的活性检测模块,其中确定所述第一时间与所述两个第二时间之间各自的差,一个所述第二时间对应于紧接在所述局部最大值之前的所述局部最小值,而另一个第二时间对应于紧接在所述局部最大值之后发生的所述局部最小值,并且分别与各自的阈值进行比较。
10.根据权利要求7和9所述的活性检测系统,其中仅当所述两个差中的每个低于各自的阈值时,确定所述实体是人,并且所述速度分布与所述概率分布匹配。
11.根据上述权利要求中的任何一项所述的活性检测系统,其中所述输出设备是显示器。
12.根据权利要求2和11所述的活性检测系统,其中提供所述随机输出包括控制所述显示器,以在所述显示器的随机点位处显示显示要素,并且所述预期反应是预期所述眼的运动。
13.根据权利要求12所述的活性检测系统,包括:
空间窗口化模块,所述空间窗口化模块配置成对所述运动图像的多个帧中的每个识别虹膜区,所述虹膜区对应于所述帧中的所述眼的所述虹膜;
分析模块,所述分析模块配置成对所述虹膜区的多个区域中的每个产生所述区域内的像素值的直方图,以在跟踪所述眼的运动中使用,所述活性检测模块配置成通过将所述直方图与所述预期运动进行比较执行所述比较。
14.根据权利要求13所述的活性检测系统,其中所述活性检测模块配置成通过将所述直方图与表示所述预期运动的概率密度函数进行比较。
15.根据权利要求12所述的活性检测系统,包括:
空间窗口化模块,所述空间窗口化模块配置成对于所述运动图像的多个帧中的每个将所述帧的至少一部分分割为多个块,每个块形成一个或者多个各自的子块,每个子块由一个或者多个各自的像素形成;以及
分析模块,所述分析模块配置成基于所述每个块的一个或者多个各自的子块,对每个块指定各自的块值,所述活性检测模块配置成通过将所述块值与所述预期运动进行比较执行所述比较。
16.根据权利要求15所述的活性检测系统,其中每个子块由多个像素形成,并且/或者每个块由多个子块形成。
17.根据权利要求15或16所述的活性检测系统,其中所述分析模块配置成通过检测所述子块的至少预定比例的各自的像素是否具有低于强度阈值的强度,对每个子块指定二进制值,通过将对每个块各自的子块指定的所述二进制值组合,指定每个块的所述块值。
18.根据权利要求17所述的活性检测系统,其中通过将所述多个帧从颜色格式转换为灰度级格式,确定所述像素强度。
19.根据权利要求2所述的活性检测系统,其中与所述随机输出进行比较的所述行为是如下中的至少一个:
所述眼的所述瞳孔的所述尺寸随时间的变化;
所述眼的虹膜图案随时间的变化;以及
所述眼呈现的眼运动。
20.根据权利要求1所述的活性检测系统,其中提供所述随机输出包括控制所述输出设备,以输出至少一个随机选择的单词;
其中所述特征识别模块配置成检测的所述人特征是所述实体的嘴,并且所述预期反应是所述用户说出所述单词,利用唇读算法,将所述嘴的所述运动与所述随机单词进行比较。
21.根据权利要求20所述的活性检测系统,其中通过如下,应用所述唇读算法:
识别所述嘴上的一组基准点;
对对应于所述运动图像中的不同时间的所述组的嘴基准点确定一序列分隔度量(separation measures);并且
对于所述至少一个显示单词,将所述确定的分隔度量与预期序列进行比较。
22.根据权利要求21所述的活性检测系统,其中所述分隔度量中的每个分别是不同对的所述嘴基准点之间的距离的向量。
23.根据权利要求23所述的活性检测系统,其中将所述确定序列与所述预期序列进行比较,以确定多个相关性得分,每个所述相关性得分分别针对所述向量的不同分量。
24.根据权利要求23所述的活性检测系统,其中将所述相关性得分组合,以产生总得分,以在确定是否许可访问远程计算机系统中使用。
25.根据权利要求21至24中的任何一项所述的活性检测系统,其中所述确定序列和所述预期序列是从一组预定视位中选择的视位序列。
26.根据权利要求22和25所述的活性检测系统,其中通过使所述向量的范围映射到所述预定组中的视位,确定所述确定序列的视位。
27.根据权利要求21至26中的任何一项所述的活性检测系统,其中所述一组嘴基准点包括所述上唇上的点、所述下唇上的点和所述嘴的两侧上的两个点。
28.根据权利要求27所述的活性检测系统,其中所述上唇和下唇上的所述点的数量相等。
29.根据权利要求28所述的活性检测系统,其中所述嘴基准点基本上示于图15E中。
30.根据权利要求22和29所述的活性检测系统,其中所述序列中的每个所述向量基本上在表2中定义。
31.根据权利要求21至30中的任何一项所述的活性检测系统,可以对所述一序列变化应用动态时间弯曲,以执行所述比较。
32.根据权利要求20所述的活性检测系统,其中基于国际音标,将所述嘴运动与所述随机单词进行比较。
33.根据权利要求20至32中的任何一项所述的活性检测系统,其中所述活性检测模块配置成利用与所述运动图像同时捕获的音频信号的数据验证所述用户说了所述单词。
34.根据权利要求1或权利要求20至33中的任何一项所述的活性检测系统,其中提供所述随机输出包括控制所述输出设备,以在随机选择时间输出至少一个单词;
其中所述特征识别模块配置成检测的所述人特征是所述实体的嘴,并且所述预期反应是所述用户在所述随机选择时间说出所述单词。
35.根据权利要求34所述的活性检测系统,其中在所述随机选择时间输出所述随机选择单词,并且仅当所述用户在所述随机选择时间说出所述随机选择单词时确定所述用户是人。
36.根据权利要求35所述的活性检测系统,其中在一序列随机选择时间输出一序列随机选择单词。
37.根据权利要求26和36所述的活性检测系统,其中确定序列的唇运动不活动度与所述序列的随机选择单词相关。
38.根据上述权利要求中的任何一项所述的活性检测系统,包括访问模块,所述访问模块配置成仅当确定所述实体是人时,许可所述实体访问远程计算机系统。
39.根据上述权利要求中的任何一项所述的活性检测系统,其中所述活性检测模块配置成输出如下中的至少一个:置信度值,所述置信度值传递所述实体是人的概率;所述实体是活的或不是活的的二元分类。
40.一种计算机实现的活性检测方法,包括:
控制输出设备,以在时间间隔期间对实体提供随机输出;
接收摄像头在所述时间间隔期间捕获的所述实体的运动图像;
处理所述运动图像,以检测所述实体的至少一个人特征;以及
在所述时间间隔期间,将所述检测到的人特征呈现的行为与所述随机输出进行比较,以确定所述行为是否是对所述随机输出的预期反应,从而确定所述实体是否是人。
41.一种计算机程序产品,所述计算机程序产品包括存储于计算机可读储存介质上的可执行代码并且配置成当执行时至少实现活性检测方法的下列步骤:
控制输出设备,以在时间间隔期间对实体提供随机输出;
接收摄像头在所述时间间隔期间捕获的所述实体的运动图像;
处理所述运动图像,以检测所述实体的至少一个人特征;以及
在所述时间间隔期间,将所述检测到的人特征呈现的行为与所述随机输出进行比较,以确定所述行为是否是对所述随机输出的预期反应,从而确定所述实体是否是人。
42.一种用于调控对计算机系统的访问的计算机实现方法,所述方法包括:
从用户设备接收访问所述计算机系统的请求
接收所述用户设备的捕像设备捕获的用户的运动图像,在所述用户和所述捕像设备互相呈现相对运动时,捕获所述运动图像;
处理所述运动图像,以识别所述运动图像内的至少一个前方基准特征和至少一个后方基准特征;
利用相对于所述至少一个后方基准特征的所述至少一个前方基准特征,确定所述运动图像中呈现的视差
利用所述确定的视差,确定是否许可所述请求访问。
43.根据权利要求42所述的方法,其中通过确定所述运动图像中的所述前方基准特征与所述后方基准特征之间的分隔的变化,确定所述视差。
44.根据权利要求42或43所述的方法,其中所述前方基准特征和所述后方基准特征分别是在所述运动图像中识别的脸部的前方脸部点和后方脸部点。
45.根据权利要求44所述的方法,其中所述前方基准点是鼻子上的点,并且相对于在所述运动图像中识别的嘴和/或至少一个眼限定所述后方基准点。
46.根据权利要求45所述的方法,其中所述后方基准点确定为两个线之间的交点,两个线分别在不同眼与所述嘴的对侧之间。
47.根据权利要求45或46所述的方法,包括分别对所述运动图像中的第一帧和第二帧,确定所述前方基准点与所述后方基准点之间的第一位移向量和第二位移向量,所述分隔是确定的所述位移向量之差。
48.根据权利要求47所述的方法,其中仅当所述第一位移向量与所述第二位移向量之差超过阈值时,许可所述请求。
49.根据权利要求47或48所述的方法,还包括:
分别基于所述第一帧和所述第二帧中的所述脸部上的两个另外的基准点之间的分隔,分别确定所述第一帧和所述第二帧的第一比例因数和第二比例因数,所述两个另外的基准点在所述脸部上具有固定点位;
其中分别利用所述第一比例因数和所述第二比例因数,缩放所述第一位移向量和所述第二位移向量。
50.根据权利要求47至49中的任何一项所述的方法,还包括:
分别基于所述第一帧和所述第二帧中的所述脸部上的两个另外的基准点的相对取向,确定所述第一帧和所述第二帧的第一转和第二转角,所述两个另外的基准点在所述脸部上具有固定点位;
其中所述第一位移向量和所述第二位移向量分别旋转所述第一转角和所述第二转角。
51.根据权利要求49或50所述的方法,其中所述两个另外的基准点分别是所述左眼和所述右眼上的点。
52.根据权利要求47至51中的任何一项所述的方法,包括通过将所述帧中的每个与脸部模型进行比较来确定所述脸部在所述帧中的取向,从所述运动图像的帧中选择所述第一帧和所述第二帧;并且确定所述脸部在所述第一帧和所述第二帧中的所述取向之间的差超过阈值。
53.根据权利要求44或基于权利要求44的任何一项所述的方法,还包括确定所述运动图像中的所述脸部的速度度量,其中仅当所述速度度量在所述运动图像中的任何时间都不超过速度阈值时,许可所述请求。
54.根据上述权利要求中的任何一项所述的方法,还包括:
在捕获所述运动图像时,接收耦合到所述捕像设备的运动传感器产生的传感器数据,其中仅当所述传感器数据指出所述视差由所述捕像设备的旋转导致时,许可所述请求。
55.根据权利要求44或基于权利要求44的任何一项所述的方法,包括通过将所述运动图像中的所述脸部与所述脸部模型进行比较,确定所述用户的姿态;并且将所述确定的姿态的变化与耦合到所述摄像头的惯性传感器捕获的传感器数据进行比较。
56.根据权利要求42所述的方法,其中所述前方基准特征是在所述图像中可见的所述用户的至少一部分,并且所述后方基准特征是背景区。
57.一种用于调控对计算机系统的访问的计算机实现方法,所述方法包括:
从用户设备接收访问所述计算机系统的请求;
接收所述用户设备的捕像设备捕获的用户脸部的运动图像,在所述用户脸部和所述捕像设备互相呈现相对运动时,捕获所述运动图像;
处理所述运动图像,以识别所述用户脸部上的至少一个前方基准点和所述用户脸部上的至少一个后方基准点;
检测所述运动图像中所述前方基准点相对于所述后方基准点的运动;以及基于所述检测到的运动,确定是否许可所述请求访问。
58.一种用于调控对计算机系统的访问的计算机实现方法,所述方法包括:
从用户设备接收访问所述计算机系统的请求;
接收所述用户设备的捕像设备捕获的用户脸部的运动图像;
接收所述用户设备的惯性传感器与所述运动图像同时捕获的传感器数据;
处理所述运动图像,以确定所述运动图像中的所述用户脸部的姿态;
将所述运动图像期间所述确定的姿态的变化与所述传感器数据进行比较;以及仅当所述姿态的所述变化对应于所述用户设备的运动时,许可所述请求访问。
59.根据权利要求58所述的方法,其中通过将所述运动图像与3D脸部模型进行比较,确定所述姿态。
60.一种计算机实现活性检测方法,所述方法包括下面的步骤:
控制用户设备的显示器,以对实体显示图像;
接收在将所述图像显示于所述显示器上时在所述用户设备处捕获的所述实体的图像;
处理所述捕获图像,以检测所述实体的眼;以及
确定所述显示图像的镜面反射是否处于所述捕获图像中的所述眼中,从而确定所述眼是否是真的。
61.一种活性检测系统,所述活性检测系统配置成实现上述权利要求中的任何一项所述的方法。
62.一种根据确定的语言设置控制用户设备的操作的方法,所述方法包括下面的步骤:
利用所述用户设备的数据捕获设备从用户的现实世界身份文档捕获数据;
处理所述捕获的身份文档数据,以确定所述用户设备的语言设置;以及
根据所述确定的语言设置控制所述用户设备,以对所述用户输出单词。
63.根据权利要求62所述的方法,其中所述捕获数据包括国籍数据和/或发出当局数据。
64.根据权利要求62或63所述的方法,其中所述处理步骤由所述用户设备执行。
65.根据权利要求62或63所述的方法,其中在远程计算机系统处执行所述处理步骤。
66.根据权利要求62至65中的任何一项所述的方法,其中所述处理确定一组候选语言设置,并且所述方法包括从所述用户接收从所述组的候选语言设置中的语言设置中选择的语言设置。
67.根据权利要求62至66中的任何一项所述的方法,包括:根据所述确定的语言设置选择多个字典中的一个;以及从所述选择字典中随机地选择所述单词。
68.根据权利要求67所述的方法,包括:当在所述用户设备输出所述单词时,捕获所述用户的运动图像;并且将所述运动图像中的所述用户的唇运动与所述随机选择的单词进行比较,以确定所述运动图像中的所述用户的唇运动是否与所述随机选择的单词匹配。
69.一种用于调控对计算机系统的访问的计算机实现方法,所述方法包括:
从用户设备接收访问所述计算机系统的请求;
接收所述用户设备的捕像设备捕获的用户皮肤的运动图像;
对所述运动图像应用心搏检测算法,以检测表示心搏的皮肤颜色变化;以及除非所述心搏检测算法检测到所述运动图像中表示心搏的一系列皮肤颜色变化,否则拒绝所述请求访问。
70.根据权利要求69所述的方法,其中所述心搏检测算法确定所述用户皮肤上的至少一个点位的颜色值的时间序列,并且确定所述时间序列是否呈现表示心搏的变化。
71.根据权利要求70所述的方法,其中所述心搏检测算法确定颜色值的多个时间序列,每个时间序列分别针对所述用户皮肤上的不同点位。
72.根据权利要求71所述的方法,其中所述心搏检测算法利用所述多个时间序列确定所述用户皮肤呈现的皮肤颜色变化频率频谱
73.根据权利要求72所述的方法,其中所述心搏检测算法识别所述频谱中的主频率,基于所述主频率的功率,选择一个或者多个所述时间序列,并且处理所述选择的时间序列,以确定所述时间序列是否表示心搏。
74.根据权利要求72或73所述的方法,包括:分析所述确定的频谱;并且如果所述分析将所述频谱分类为欺骗,则拒绝所述请求。
75.根据权利要求74所述的方法,其中所述分析基于从一组训练频谱学到的电子存储参数。
76.根据权利要求70至75中的任何一项所述的方法,其中通过均化所述点位处的多个像素值,确定所述点位或每个点位的所述时间序列。
77.根据上述权利要求中的任何一项所述的方法,其中仅将所述心搏检测算法应用于所述运动图像的绿像素值。
78.根据权利要求69至77中的任何一项所述的方法,包括通过组合所述运动图像的红像素值、绿像素值和蓝像素值,产生一组组合像素值,其中将所述心搏检测算法应用于所述组合像素值。
79.根据上述权利要求中的任何一项所述的方法,包括对所述运动图像应用下面的处理中的至少一个:
基于预期人心搏频率滤波;
消除趋势;
平滑;
其中对所述处理图像应用所述心搏检测算法。
80.根据上述权利要求中的任何一项所述的方法,其中所述运动图像是所述用户脸部的运动图像。
81.根据权利要求80所述的方法,其中所述方法包括对所述运动图像应用脸部识别,以识别所述用户脸部上应用所述心搏检测算法的皮肤区。
82.根据上述权利要求中的任何一项所述的方法,包括对所述运动图像应用运动削减,其中对所述运动削减图像应用所述心搏检测算法。
83.根据权利要求82所述的方法,其中应用所述运动削减包括对所述运动图像的帧应用图像稳定。
84.根据权利要求82或83所述的方法,其中应用所述运动削减包括选择呈现运动削减的所述运动图像的一个子集的帧。
85.一种计算机系统,包括:
访问模块,所述访问模块配置成从用户设备接收访问所述计算机系统的请求;以及活性检测模块,所述活性检测模块配置成接收所述用户设备的捕像设备捕获的用户皮肤的运动图像,并且对所述运动图像应用心搏检测算法,以检测表示心搏的皮肤颜色变化;
并且
其中所述访问模块配置成除非所述心搏检测算法在表示心搏的所述运动图像中检测到一系列皮肤颜色变化,否则拒绝所述请求访问。
86.一种计算机实现活性检测方法,所述方法包括由活性检测系统实现下面的步骤:
随机地选择第一活性测试的一个或者多个参数的第一集;
将所述第一参数集发送到实体可用的用户设备,从而使所述用户设备根据所述第一参数集执行所述第一活性测试;
从所述用户设备接收在所述用户设备根据所述第一参数集执行所述第一活性测试的结果;
接收与所述实体有关的第二活性测试的结果;以及
利用所述活性测试的所述结果,确定所述实体是否是人,通过将所述第一活性测试结果与所述第一参数集进行比较,如此使用所述第一活性测试的所述结果。
87.根据权利要求86所述的方法,包括利用所述活性检测系统实现下面的步骤:
随机地选择所述第二活性测试的一个或者多个参数的第二集;
将所述第二参数集发送到所述实体可用的所述用户设备或另一个用户设备,从而使所述用户设备根据所述第二参数集执行所述第二活性测试,其中从所述用户设备接收在所述用户设备根据所述第二参数集执行的所述第二活性测试的所述结果,并且通过将所述第二活性测试的所述结果与所述第二参数集进行比较,将所述第二活性测试的所述结果用于所述确定步骤中。
88.根据权利要求86或87所述的方法,其中通过捕获所述实体的运动图像产生在所述活性检测系统收到的至少一个测试的所述结果。
89.根据权利要求88所述的方法,其中在所述活性检测系统收到的所述至少一个测试的所述结果包括从所述运动图像提取的信息,其中所述提取信息用于所述确定步骤中,并且描述下列中的至少一个:
所述实体的至少一个眼的所述瞳孔尺寸随时间的变化;
所述实体的至少一个眼的虹膜图案随时间的变化;
所述实体的至少一个眼呈现的眼运动;
所述实体的唇呈现的唇运动。
90.根据权利要求88所述的方法,其中在所述活性检测收到的所述测试的所述结果包括所述运动图像,所述方法还包括所述活性检测系统处理所述运动图像,以从所述运动图像提取信息,其中所述提取信息用于所述确定步骤中并且描述下列中的至少一个:
所述实体的至少一个眼的所述瞳孔尺寸随时间的变化;
所述实体的至少一个眼的虹膜图案随时间的变化;
所述实体的至少一个眼呈现的眼运动;
所述实体的唇呈现的唇运动。
91.根据权利要求86至90中的任何一项所述的方法,其中通过在所述测试的所述参数集限定的随机定时发出至少一个光脉冲,执行所述测试中的一个;
其中所述测试的所述结果传递所述实体的至少一个眼的所述瞳孔尺寸和/或虹膜图案随时间的变化,并且将所述结果与所述参数集进行比较,以确定所述瞳孔尺寸和/或所述虹膜图案的所述变化是否与所述随机定时匹配。
92.根据权利要求86至91中的任何一项所述的方法,其中通过使至少一个显示要素显示于所述测试的所述参数集限定的随机显示点位处,执行所述测试中的一个;
其中所述测试的所述结果传递所述实体对所述测试显示的所述至少一个显示要素的反应,并且将所述结果与所述参数集进行比较,以确定对所述显示要素的反应是否与所述至少一个随机显示点位匹配。
93.根据权利要求86至92中的任何一项所述的方法,其中通过显示所述测试的所述参数集限定的随机选择显示要素,执行所述测试中的一个;
其中所述测试的所述结果传递所述实体对所述随机选择显示要素的反应,并且将所述结果与所述参数集进行比较,以确定所述实体的所述反应是否与所述至少一个随机选择显示要素匹配。
94.根据权利要求87至93中的任何一项所述的方法,其中通过所述用户设备或另一个用户设备利用所述用户设备的至少一个传感器监视所述用户设备的运动,执行所述第二测试。
95.根据权利要求86至94中的任何一项所述的方法,包括仅当确定所述实体是人时,许可所述实体访问远程计算机系统。
96.根据权利要求86至95中的任何一项所述的方法,其中互相同时地执行所述第一测试和所述第二测试。
97.根据权利要求86至96中的任何一项所述的方法,包括仅当确定所述实体是人时,许可所述实体访问远程计算机系统。
98.一种活性检测系统,包括:
一组一个或者多个处理单元,所述一组一个或者多个处理单元配置成执行下面的操作:
随机地选择第一活性测试的一个或者多个参数的第一集;
将所述第一参数集发送到实体可用的用户设备,从而使所述用户设备根据所述第一参数集执行所述第一活性测试;
从所述用户设备接收在所述用户设备根据所述第一参数集执行所述第一活性测试的结果;
接收与所述实体有关的第二活性测试的结果;以及
利用所述活性测试的所述结果,确定所述实体是否是人,通过将所述第一活性测试结果与所述第一参数集进行比较,如此使用所述第一活性测试的所述结果。
99.一种计算机系统,所述计算机系统配置成执行根据上述权利要求中的任何一项所述的方法。
100.一种计算机程序产品,所述计算机程序产品包括存储于计算机可读储存介质上的代码并且配置成当执行时实现根据上述权利要求中的任何一项所述的方法。

说明书全文

活性检测

技术领域

[0001] 本发明涉及活性检测技术领域,并且在网络安全的情境下具有防止基于乔装为人的实体进行欺骗攻击的特殊应用。

背景技术

[0002] 在网络安全的情境下,欺骗攻击指未授权的人或软件实体乔装为授权实体,从而获取非法好处的技术。
[0003] 特定示例是未授权实体乔装为特定用户对该用户保存于理论上的安全数据存储器中的个体信息实现不当访问、通过乔装系统管理员对理论上的安全系统发起攻击,或对然后能够获取利益的理论上的安全系统实现某种其他方式的访问。
[0004] “活性检测”指用于检测可以呈现表面上为人特征的实体实际上是真实的人,还是乔装成这样的非人实体的技术。
[0005] 活性检测的一个示例是众所周知的CAPTCHA测试;或将其全称给出:“可区分电脑与人类的完全自动化公用图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart)”。该测试基于质询-响应范式。广义而言,系统对实体提供设计得对人浅显而对机器人软件却艰难的测试。典型实现是要求实体理解嵌入图像文件或音频文件中的单词或短语。这对于人理解该单词/图像是个简单任务,而对于机器人软件理解该单词/图像却是个较艰难的任务,因为其是非文本格式。该技术的变型包含出于使其更不易被软件理解的目的使该单词或短语变形
[0006] 活性检测的另一个示例是处于基于生物测量学(例如,人脸识别、话音识别或指纹识别)的理论上安全的系统情境下。这种系统可以要求希望访问该系统的用户利用生物测量传感器(例如,摄像头、指纹传感器、麦克)对该系统呈送其生物测量标识符,即,人识别特征(例如,其脸、指纹或话音)中的一个。将呈送的生物测量标识符与授权访问该系统的用户的生物测量数据进行比较,并且仅当该生物测量标识符与授权用户中的一个的生物测量数据一致时,才许可该呈送用户访问。
[0007] 通过对生物测量传感器呈现伪造的生物测量样品,诸如预先捕获的或合成的图像/语音数据、身体照片、甚或人特征的三维物理模型,诸如精确的人脸模型或手指模型,能够欺骗这种系统。在这种情况下,需要一种鲁棒的活性检测技术能够可靠地将实际生物测量标识符即从希望访问该系统的人直接捕获的与伪造的生物测量标识符,即预先捕获的或合成的区别开。
[0008] 迄今为止,基于生物测量数据对更高级活性检测的研究主要集中于机器学习技术。机器学习技术往往实现起来较昂贵(根据处理资源),并且要求某种形式的离线和/或在线模型训练。

发明内容

[0009] 本发明的发明人已经认识到对看见人特征(诸如眼或嘴)呈现的随机输出(诸如随机视频输出或随机音频输出)的生理反应提供活性检测的良好基础,因为这种反应对于非人实体非常难以精确复制。
[0010] 根据本发明的第一方案,一种活性检测系统包括:控制器、视频输入、特征识别模、和活性检测模块。该控制器配置成控制输出设备,以在时间间隔期间对实体提供随机输出。该视频输入配置成接收摄像头在所述时间间隔期间捕获的实体的运动图像。该特征识别模块配置成处理运动图像,以检测实体的至少一个人特征。该活性检测模块配置成在该时间间隔期间将检测到的人特征呈现的行为与随机输出进行比较,以确定该行为是否是对随机输出的预期反应,从而确定该实体是否是人。
[0011] 在实施例中,特征识别模块配置成检测的人特征可以是该实体的眼。
[0012] 例如,提供随机输出可以包括控制输出设备,以发出至少一个在运动图像内具有随机定时的光脉冲,并且预期反应可以是对至少一个光脉冲的预期瞳孔反应。例如,提供随机输出可以包括控制输出设备,以发出至少两个互相具有随机时间分隔的随机光脉冲,并且预期反应可以是对至少两个光脉冲的预期瞳孔反应。
[0013] 输出设备可以是摄像头闪光灯或显示器。
[0014] 活性检测系统可以包括速度测量模块,该速度测量模块配置成将运动图像的互相比较,以产生眼的速度分布,该速度分布表示瞳孔的直径在不同时间的变化速率,该比较包括将速度分布与预期反应进行比较。例如,活性检测模块的所述比较可以包括将速度分布与概率分布进行比较,其中概率分布表示预期瞳孔反应。
[0015] 作为一种选择或者此外,活性检测模块的所述比较可以包括:确定第一时间,其中该第一时间对应于速度分布的局部最大值;确定第二时间,其中所述第二时间对应于所述速度分布的局部最小值,局部最小值紧接在局部最大值之前或紧接在局部最大值之后发生;并且确定第一时间与第二时间之间的差,并且将该差与阈值进行比较。
[0016] 例如,可以确定第一时间与两个第二时间之间各自的差,一个第二时间对应于紧接在局部最大值之前的局部最小值,而另一个第二时间对应于紧接在局部最大值之后发生的局部最小值,并且可以分别与各自的阈值进行比较。
[0017] 仅当所述两个差中的每个低于其各自的阈值并且速度分布与概率分布匹配时,可以确定该实体是人。
[0018] 输出设备可以是显示器。
[0019] 提供随机输出可以包括控制显示器,以在显示器的随机点位处显示显示要素,并且预期反应可以是眼的预期运动。
[0020] 该活性检测系统可以包括:空间窗口化模块,该空间窗口化模块配置成对运动图像的多个帧中的每个识别虹膜区,该虹膜区对应于帧中的眼的虹膜;以及分析模块,该分析模块配置成对虹膜区的多个区域中的每个产生该区域内的像素值的直方图,以在跟踪眼的运动中使用,活性检测模块配置成通过将直方图与预期运动进行比较执行所述比较。
[0021] 例如,活性检测模块可以配置成通过将直方图与表示预期运动的概率密度函数进行比较。
[0022] 作为一种选择或者此外,活性检测系统可以包括:空间窗口化模块,该空间窗口化模块配置成对于运动图像的多个帧中的每个将该帧的至少一部分分割为多个块,每个块形成一个或者多个各自的子块,每个子块由一个或者多个各自的像素形成;以及分析模块,该分析模块配置成基于每个块的一个或者多个各自的子块,对每个块指定各自的块值,该活性检测模块配置成通过将块值与预期运动进行比较执行所述比较。
[0023] 例如,每个子块可以由多个像素形成,并且/或者每个块可以由多个子块形成。
[0024] 该分析模块可以配置成通过检测子块的至少预定比例的各自的像素是否具有低于强度阈值的强度,对每个子块指定二进制值,通过将对每个块各自的子块指定的二进制值组合,指定每个块的块值。
[0025] 通过将多个帧从颜色格式转换为灰度级格式,可以确定像素强度。
[0026] 作为一种选择或者此外,提供随机输出还可以包括访问用户创建的数据,保存于输出设备的本机第一存储器,用户创建的数据限定显示器上的一个受限子集的点位,随机地从该受限子集中选择随机点位,其中该系统还配置成将将眼呈现的行为与保存于远离输出设备的第二存储器中的用户创建数据进行比较。例如,用户创建的数据可以定义二维曲线,受限子集是曲线上的一组点。
[0027] 第一存储器和输出设备可以集成于用户设备中。
[0028] 如果人特征是眼,则与随机输出进行比较的行为可以是如下中的至少一个:眼的瞳孔的尺寸随时间的变化;眼的虹膜图案随时间的变化;以及眼呈现的眼运动。
[0029] 作为一种选择或者此外,提供随机输出可以包括控制输出设备,以输出至少一个随机选择的单词;特征识别模块配置成检测的人特征可以是实体的嘴,并且预期反应是用户说出单词,利用唇读算法,将嘴的运动与随机单词比较。
[0030] 例如,在实施例中,可以通过如下,应用唇读算法:
[0031] 识别嘴上的一组基准点;
[0032] 对对应于运动图像中的不同时间的一组嘴基准点确定一序列分隔度量(separation measures);并且
[0033] 对于至少一个显示单词,将确定的分隔度量与预期序列进行比较。
[0034] 分隔度量中的每个可以分别是不同对的嘴基准点之间的距离的向量。
[0035] 可以将确定序列与预期序列进行比较,以确定多个相关性得分,每个相关性得分分别针对向量的不同分量。
[0036] 可以将相关性得分组合,以产生总得分,以在确定是否许可访问远程计算机系统中使用。
[0037] 确定序列和预期序列可以是从一组预定视位中选择的视位序列。
[0038] 通过使向量的范围映射到预定组中的视位,确定该确定序列的视位。
[0039] 一组嘴基准点可以包括上唇上的点、下唇上的点和嘴的两侧上的两个点。
[0040] 上唇和下唇上的点的数量可以相等。
[0041] 嘴基准点可以基本上示于图15E中。
[0042] 序列中的每个向量可以基本上在表2中定义。
[0043] 可以对一序列变化应用动态时间弯曲,以执行所述比较。
[0044] 基于国际音标,可以将嘴运动与随机单词进行比较。
[0045] 活性检测模块可以配置成利用与运动图像同时捕获的音频信号的数据验证用户说了该单词。
[0046] 提供随机输出包括控制输出设备,以在随机选择时间输出至少一个单词;其中特征识别模块配置成检测的人特征可以是实体的嘴,并且预期反应可以是用户在随机选择时间说出单词。
[0047] 例如,可以在随机选择时间输出随机选择单词,并且仅当用户在随机选择时间说出随机选择单词时可以确定该用户是人。
[0048] 可以在一序列随机选择时间输出一序列随机选择单词。
[0049] 确定序列的唇运动不活动度可以与一系列的随机选择单词相关。
[0050] 确定序列的唇运动不活动度可以与显示于显示器上的随机时间序列的单词相关。
[0051] 在上述示例中的任何一个中,活性检测系统可以包括访问模块,该访问模块配置成仅当确定实体是人时,许可实体访问远程计算机系统。
[0052] 活性检测模块可以配置成输出如下中的至少一个:置信度值,该置信度值传递实体是人的概率;以及实体是活的或不是活的的二元分类。
[0053] 根据本发明的第二方案,一种计算机实现的活性检测方法包括:控制输出设备,以在时间间隔期间对实体提供随机输出;接收摄像头在时间间隔期间捕获的实体的运动图像;处理运动图像,以检测实体的至少一个人特征;以及在时间间隔期间,将检测到的人特征呈现的行为与随机输出进行比较,以确定该行为是否是对随机输出的预期反应,从而确定该实体是否是人。
[0054] 根据本发明的第三方案,一种计算机实现活性检测方法包括由活性检测系统实现下面的步骤。随机地选择第一活性测试的一个或者多个参数的第一集。将第一参数集发送到实体可用的用户设备,从而使用户设备根据第一参数集执行第一活性测试。从用户设备接收在用户设备根据第一参数集执行第一活性测试的结果。接收与实体有关的第二活性测试的结果。利用活性测试的结果,活性检测系统确定实体是否是人,通过将第一活性测试结果与第一参数集进行比较,如此使用第一活性测试的结果。
[0055] 第二活性测试还可以基于(各)随机参数,但是情况不一定是这样。例如,第二活性测试可以基于验证实体与设备之间的相对运动(例如,不同脸部界标的相对运动,或实体与背景区之间的相对运动),也可以基于实体的眼中的图像的镜面反射,如下所做的进一步详细描述。
[0056] 在实施例中,该方法可以包括由活性检测系统实现下面的步骤:随机地选择第二活性测试的一个或者多个参数的第二集;以及将第二参数集发送到实体可用的该用户设备或另一个用户设备,从而使用户设备根据第二参数集执行第二活性测试,其中从用户设备接收在用户设备根据第二参数集执行的第二活性测试的结果,并且通过将第二活性测试的结果与第二参数集进行比较,将第二活性测试的结果用于确定步骤中。
[0057] 在活性检测系统中收到的至少一个测试结果可能是通过捕获实体的运动图像而生成的。
[0058] 例如,在活性检测系统收到的至少一个测试的结果包括从运动图像提取的信息。作为一种选择,在活性检测时收到的该测试的结果可以包括运动图像,并且该方法还可以包括活性检测系统处理运动图像,以从该运动图像提取信息。在这两种情况下,提取的信息可以在确定步骤中使用,并且描述下列中的至少一个:
[0059] ●实体的至少一个眼的瞳孔尺寸随时间的变化;
[0060] ●实体的至少一个眼的虹膜图案随时间的变化;
[0061] ●实体的至少一个眼呈现的眼运动;
[0062] ●实体的唇呈现的唇运动。
[0063] 通过在该测试的参数集限定的随机定时发出至少一个光脉冲,可以执行测试中的一个;其中该测试的结果传递实体的至少一个眼的瞳孔尺寸和/或虹膜图案随时间的变化,并且将这些结果与参数集进行比较,以确定瞳孔尺寸和/或虹膜图案的变化是否与随机定时匹配。
[0064] 作为一种选择或者此外,通过使至少一个显示要素显示于该测试的参数集限定的随机显示点位处,执行测试中的一个;其中该测试的结果传递实体对测试显示的至少一个显示要素的反应,并且将这些结果与该参数集进行比较,以确定对显示要素的反应是否与至少一个随机显示点位匹配。
[0065] 作为一种选择或者此外,通过显示该测试的参数集限定的随机选择显示要素,执行测试中的一个;其中该测试的结果传递实体对随机选择显示要素的反应,并且将这些结果与该参数集进行比较,以确定实体的反应是否与至少一个随机选择显示要素匹配。
[0066] 通过该用户设备或另一个用户设备利用该用户设备的至少一个传感器监视该用户设备的运动,可以执行第二测试。
[0067] 该方法可以包括活性检测系统将与源地址不同的活性检测系统的至少一个目的地地址(例如,至少一个URI)的标识符从活性检测系统的源地址发送到实体,并且确定是否将至少一个测试的结果发送到至少一个目的地地址。
[0068] 至少一个目的地地址可以由活性检测系统随机地选择。
[0069] 该方法可以包括仅当确定实体是人并且将至少一个测试的结果发送到至少一个目的地地址时,许可实体访问远程计算机系统。
[0070] 该方法可以包括活性检测系统:分别将活性检测系统的第一目的地地址和第二目的地地址的第一标识符和第二标识符从活性检测系统的源地址发送到实体,第一目的地地址和第二目的地地址与源地址不同而且互相不同;确定是否在第一目的地地址收到第二测试的结果;以及确定是否在第二目的地地址收到第一测试的结果。
[0071] 例如,活性检测系统可以包括:活性控制服务器逻辑;第一活性处理服务器逻辑,该第一活性处理服务器逻辑处理第一活性测试的结果;该第一活性处理服务器逻辑具有多个包含第一目的地地址的地址;以及第二活性处理逻辑,该第二活性处理逻辑处理第二活性测试的结果;该第二活性处理逻辑具有多个包含第一目的地地址的地址。可以在第一活性处理服务器接收第二测试的结果,可以在第二活性处理服务器接收第一活性测试的结果,并且该方法可以包括:
[0072] ●第一活性处理服务器将第二活性测试的结果提供给活性控制服务器;
[0073] ●第二活性处理服务器将第一活性测试的结果提供给活性控制服务器;以及[0074] ●仅当:在第一活性处理服务器的第一目的地地址收到第二测试的结果和在第二活性处理服务器的第二目的地地址收到第一测试的结果时,活性控制服务器将第一测试的结果提供给第一活性处理服务器而将第二测试的结果提供给第二活性处理服务器。
[0075] 例如,可以分别以消息的形式接收第一测试和第二测试的结果,每个消息分别包括预期由两个参数集对每个消息产生的签名,活性控制服务器可以将两个签名与第一参数集和第二参数集进行比较,并且仅当在第一活性处理服务器的第一目的地地址收到第二消息、在第二活性处理服务器的第二目的地地址收到第一消息,并且两个签名与参数集匹配时,将第一测试的结果提供给第一活性处理服务器,而将第二测试的结果提供给第二活性处理服务器。
[0076] 该方法可以包括检测何时发生超时情况,该超时情况由接收该结果时相对于发送步骤的定时不可接受的延迟导致,其中作为对发生超时情况的响应,拒绝该实体访问远程计算机系统。
[0077] 该方法可以包括仅当确定该实体是人时,许可该实体访问远程计算机系统。
[0078] 可以互相同时执行第一测试和第二测试。
[0079] 该方法可以包括仅当确定该实体是人时,许可该实体访问远程计算机系统。
[0080] 根据本发明的第四方案,一种活性检测系统包括:一组一个或者多个处理单元,该组配置成执行下面的操作:随机地选择第一活性测试的一个或者多个参数的第一集;将第一参数集发送到实体可用的用户设备,从而使用户设备根据第一参数集执行第一活性测试;从用户设备接收在用户设备根据第一参数集执行第一活性测试的结果;接收与实体有关的第二活性测试的结果;以及利用活性测试的结果,确定实体是否是人,通过将第一活性测试结果与第一参数集进行比较,如此使用第一活性测试的结果。
[0081] 根据本发明的第五方案,计算机实现活性检测方法由活性检测系统实现。活性检测系统包括计算机储存器,该计算机储存器存储仅为活性检测系统和一个或者多个授权用户设备知晓的共享密钥。该方法包括由活性检测系统实现如下步骤。随机地选择活性检测的一组一个或者多个参数,当与共享密钥组合时,该一组一个或者多个参数限定在活性检测时应当提供的预期输出。将该参数集发送到用户设备,从而使用户设备根据该参数集执行活性测试,因此,如果该用户设备已经访问了其共享密钥,则该用户设备只能提供预期输出。从用户设备接收用户设备根据第一参数集执行活性测试的结果。在活性检测系统利用存储于活性检测系统处的参数集和共享密钥确定预期输出。将活性测试的结果与确定的预期输出进行比较,以确定承受在用户设备执行的活性测试的实体的行为是否是对预期输出的预期反应,从而由实体的行为既确定该实体是否是人,又确定该用户设备是否是(各)授权用户设备中的一个。
[0082] 在实施例中,共享密钥可以限定一组可用显示点位的受限子集,其中参数集限定随机地从受限子集中选择的一个或者多个可用显示点位,并且其中通过将一个或者多个显示要素显示于用户设备的显示器上的一个或者多个随机选择的可用显示点位处。
[0083] 行为可以是在在用户设备处显示一个或者多个显示要素时实体的至少一个眼呈现并且由收到的结果传递的眼运动,该预期反应是预期的眼运动,因此,由实体的眼运动,既确定该实体是否是人,又确定用户设备是否是(各)授权用户设备。
[0084] 共享密钥可以例如限定椭圆形曲线。
[0085] 根据本发明的第六方案,活性检测系统包括:计算机储存器,该计算机储存器存储仅为活性检测系统和一个或者多个授权用户设备知晓的共享密钥;以及一组一个或者多个处理单元,该组一个或者多个处理单元配置成执行下面的操作:随机地选择活性测试的一组一个或者多个参数,当与共享密钥组合时,该一组一个或者多个参数限定在活性测试中应当提供的预期输出;将参数集发送到用户设备,从而使用户设备根据参数集执行活性测试,使得如果该用户设备也访问了其共享密钥,则该用户设备只能提供预期输出;从用户设备接收用户设备根据第一参数集执行活性测试的结果;利用存储于活性检测系统处的参数集和共享密钥确定预期输出;以及将活性测试的结果与确定的预期输出进行比较,以确定承受在用户设备执行的活性测试的实体的行为是否是对预期输出的预期反应,从而由实体的行为既确定该实体是否是人,又确定该用户设备是否是(各)授权用户设备中的一个。
[0086] 本发明的第七方案涉及用于调控对计算机系统的访问的计算机实现方法,该方法包括:
[0087] 从用户设备接收访问计算机系统的请求
[0088] 接收用户设备的捕像设备捕获的用户的运动图像,在用户和捕像设备互相呈现相对运动时,捕获运动图像;
[0089] 处理运动图像,以识别运动图像内的至少一个前方基准特征和至少一个后方基准特征;
[0090] 利用相对于至少一个后方基准特征的至少一个前方基准特征,确定运动图像中呈现的视差
[0091] 利用确定的视差,确定是否许可该请求访问。
[0092] 在实施例中,通过确定运动图像中的前方基准特征与后方基准特征之间的分隔的变化,可以确定视差。
[0093] 前方基准特征和后方基准特征可以分别是在运动图像中识别的脸部的前方脸部点和后方脸部点。
[0094] 前方基准点可以是鼻子上的点,并且可以相对于在运动图像中识别的嘴和/或至少一个眼限定后方基准点。
[0095] 后方基准点可以确定为两个线之间的交点,两个线分别在不同眼与嘴的对侧之间。
[0096] 该方法可以包括分别对运动图像中的第一帧和第二帧,确定前方基准点与后方基准点之间的第一位移向量和第二位移向量,该分隔是确定的这些位移向量之差。
[0097] 仅当第一位移向量与第二位移向量之差超过阈值时,许可请求。
[0098] 该方法还可以包括:分别基于第一帧和第二帧中的脸部上的两个另外的基准点之间的分隔,分别确定第一帧和第二帧的第一比例因数和第二比例因数,两个另外的基准点在脸部上具有固定点位;其中分别利用第一比例因数和第二比例因数缩放第一位移向量和第二位移向量。
[0099] 该方法还可以包括:分别基于第一帧和第二帧中的脸部上的两个另外的基准点的相对取向,确定第一帧和第二帧的第一转和第二转角,两个另外的基准点在脸部上具有固定点位;其中第一位移向量和第二位移向量分别旋转第一转角和第二转角。
[0100] 两个另外的基准点可以分别是左眼和右眼上的点。
[0101] 该方法可以包括:通过将帧中的每个与脸部模型进行比较来确定脸部在该帧中的取向(姿态),从运动图像的帧中选择第一帧和第二帧;并且确定脸部在第一帧和第二帧中的取向之间的差超过阈值。
[0102] 该方法还可以包括确定运动图像中的脸部的速度度量,并且仅当速度度量在运动图像中的任何时间都不超过速度阈值时,可以许可该请求。
[0103] 该方法还可以包括:在捕获运动图像时,接收耦合到捕像设备的运动传感器产生的传感器数据,其中仅当传感器数据指出视差由捕像设备的旋转导致时,许可该请求。
[0104] 该方法可以包括:通过将运动图像中的脸部与脸部模型进行比较,确定用户的姿态;并且将确定的姿态的变化与耦合到摄像头的惯性传感器捕获的传感器数据进行比较。
[0105] 作为脸部点的替换,前方基准特征可以是在图像中可见的用户的至少一部分,并且后方基准特征可以是背景区。
[0106] 根据本发明的第八方案涉及一种用于调控对计算机系统的访问的计算机实现方法,共方法包括:
[0107] 从用户设备接收访问计算机系统的请求;
[0108] 接收用户设备的捕像设备捕获的用户脸部的运动图像,在用户脸部和捕像设备互相呈现相对运动时,捕获运动图像;
[0109] 处理运动图像,以识别用户脸部上的至少一个前方基准点和用户脸部上的至少一个后方基准点;
[0110] 检测运动图像中前方基准点相对于后方基准点的运动;以及
[0111] 基于检测到的运动,确定是否许可该请求访问。
[0112] 在第八方案的实施例中,可以实现与第七方案有关陈述的这些特征中的任何一个,其中在第七方案的情境下提及的所有视差同样适用于第八方案中的检测到的运动。
[0113] 本发明的第九方案涉及一种用于调控对计算机系统的访问的计算机实现方法,该方法包括:
[0114] 从用户设备接收访问计算机系统的请求;
[0115] 接收用户设备的捕像设备捕获的用户脸部的运动图像;
[0116] 接收用户设备的惯性传感器与运动图像同时捕获的传感器数据;
[0117] 处理运动图像,以确定运动图像中的用户脸部的姿态;
[0118] 将运动图像期间的确定姿态的变化与传感器数据进行比较;以及
[0119] 仅当姿态的变化对应于用户设备的运动时,许可该请求访问。
[0120] 通过将运动图像与3D脸部模型进行比较,可以确定姿态。
[0121] 本发明的第十方案涉及一种计算机实现活性检测方法,该方法包括下面的步骤:
[0122] 控制用户设备的显示器,以对实体显示图像;
[0123] 接收在将图像显示于显示器上时在用户设备处捕获的实体的图像;
[0124] 处理捕获图像,以检测实体的眼;以及
[0125] 确定显示图像的镜面反射是否处于捕获图像中的眼中,从而确定眼是否是真的。
[0126] 本发明的第十一方案的活性检测系统配置成实现在此公开的任何一种方法。
[0127] 本发明的第十二方案涉及一种根据确定的语言设置控制用户设备的操作的方法,该方法包括下面的步骤:
[0128] 利用用户设备的数据捕获设备从用户的现实世界身份文档捕获数据;
[0129] 处理捕获的身份文档数据,以确定用户设备的语言设置;以及
[0130] 根据确定的语言设置控制用户设备,以对用户输出单词。
[0131] 该语言能够应用于活性检测测试,以例如选择用户的母语中的单词。然而,第十二方案并不局限于此,并且语言设置通常能够应用于任何情况,例如,在任何情况下,应用于在用户的移动设备上执行的应用。
[0132] 在实施例中,捕获数据可以包括国籍数据和/或发出当局数据。
[0133] 处理步骤可以由用户设备或远程计算机系统执行。
[0134] 所述处理确定一组候选语言设置,并且该方法可以包括从用户接收从该组候选语言设置中的语言设置中选择的一种语言设置。
[0135] 该方法可以包括根据确定的语言设置选择多个字典中的一个;以及从选择的字典中随机地选择单词。
[0136] 该方法可以包括:当在用户设备输出单词时,捕获用户的运动图像;并且将运动图像中的用户的唇运动与随机选择的单词进行比较,以确定运动图像中的用户的唇运动是否与随机选择的单词匹配。
[0137] 本发明的第十三方案涉及一种用于调控对计算机系统的访问的计算机实现方法,该方法包括:
[0138] 从用户设备接收访问计算机系统的请求;
[0139] 接收用户设备的捕像设备捕获的用户皮肤的运动图像;
[0140] 对运动图像应用心搏检测算法,以检测表示心搏的皮肤颜色变化;以及[0141] 除非心搏检测算法检测到运动图像中表示心搏的一系列皮肤颜色变化,否则拒绝该请求访问。
[0142] 在实施例中,心搏检测算法可以确定用户皮肤上的至少一个点位的颜色值的时间序列,并且确定该时间序列是否呈现表示心搏的变化。
[0143] 心搏检测算法可以确定颜色值的多个时间序列,每个时间序列分别针对用户皮肤上的不同点位。
[0144] 心搏检测算法可以利用多个时间序列确定用户皮肤呈现的皮肤颜色变化频率频谱
[0145] 心搏检测算法可以识别频谱中的主频率,基于主频率的功率,选择一个或者多个所述时间序列,并且处理选择的时间序列,以确定该时间序列是否表示心搏。
[0146] 该方法可以包括:分析确定的频谱;并且如果分析将频谱分类为欺骗,则拒绝该请求。
[0147] 该分析基于从一组训练频谱学到的电子存储参数。
[0148] 通过均化该点位处的多个像素值,确定该点位或每个点位的时间序列。
[0149] 可以仅将心搏检测算法应用于运动图像的绿像素值。
[0150] 作为一种选择,该方法可以包括通过组合运动图像的红像素值、绿像素值和蓝像素值,产生一组组合像素值,其中将心搏检测算法应用于该组合像素值。
[0151] 该方法可以包括对运动图像应用下面的处理中的至少一个:
[0152] 基于预期人心搏频率滤波;
[0153] 消除趋势;
[0154] 平滑;
[0155] 其中对处理图像应用心搏检测算法。
[0156] 运动图像可以是用户脸部的运动图像。
[0157] 该方法可以包括对运动图像应用脸部识别,以识别用户脸部上应用心搏检测算法的皮肤区。
[0158] 该方法可以包括对运动图像应用运动削减,其中对运动削减图像应用心搏检测算法。
[0159] 应用运动削减可以包括对运动图像的帧应用图像稳定。
[0160] 作为一种选择或者此外,应用运动削减包括选择呈现运动削减的运动图像的一个子集的帧。
[0161] 本发明的第十四方案涉及一种计算机系统,该计算机系统包括:
[0162] 访问模块,该访问模块配置成从用户设备接收访问计算机系统的请求;以及[0163] 活性检测模块,该活性检测模块配置成接收用户设备的捕像设备捕获的用户皮肤的运动图像,并且对运动图像应用心搏检测算法,以检测表示心搏的皮肤颜色变化;并且[0164] 其中访问模块配置成除非心搏检测算法在表示心搏的运动图像中检测到一系列皮肤颜色变化,否则拒绝该请求访问。
[0165] 本发明的第十五方案涉及一种计算机系统,该计算机系统配置成实现在此公开的方法或系统中的任何一个。
[0166] 在其他方案中的任何一种方案的实施例中,可以实现上述方案或其任何一种实施例中的任何一个的任何一个特征,在此公开的任何一种方法都可以由相应系统的逻辑(例如,软件模块)实现。类似地,在此公开的任何一种系统功能都可以作为相应方法的步骤实现。
[0167] 根据本发明的另一个方案,一种计算机程序产品包括存储于计算机可读储存介质上的代码并且配置成当执行时实现在此公开的方法步骤或系统功能中的任何一个。附图说明
[0168] 为了有助于理解本发明,并且为了说明如何有效实施本发明,参考作为示例的附图,其中:
[0169] 图1示出计算机系统的方框图
[0170] 图2A、2B和2C示出本发明的第一实施例中的活性检测系统的各种功能模块;
[0171] 图2D示出第一实施例中的活性检测方法的流程图
[0172] 图3图示图像稳定技术的眼角检测的某些原理;
[0173] 图4演示在活性检测过程中瞳孔对光脉冲刺激的反应;
[0174] 图5A-5C是示出眼的瞳孔区如何对光脉冲刺激做出反应的曲线图;
[0175] 图5D是示出瞳孔区如何以较快连续方式对两个光脉冲做出反应的曲线图;
[0176] 图6A和6B示出本发明的第二实施例中的活性检测系统的各种功能模块;
[0177] 图6C示出第二实施例中的活性检测方法的流程图;
[0178] 图7A图示显示要素展现随机化运动;
[0179] 图7B图示跟踪可见要素的眼的运动;
[0180] 图8和9图示眼跟踪技术的某些原理;
[0181] 图10A和10B图示能够产生描述眼的运动的直方图的过程;
[0182] 图11示出根据第三实施例的活性检测技术的信令图;
[0183] 图12A和12B图示部分地基于用户设备与服务器之间的共享密钥的活性检测技术的某些原理;
[0184] 图13图示眼运动如何表现于一序列灰度级视频帧图像中;
[0185] 图14A和14B图示异常运动二进制模式技术;
[0186] 图15A示出基于唇读的活性检测过程的流程图;
[0187] 图15B示出为了实现图15A所示方法用户设备与服务器之间的通信的信令图;
[0188] 图15C示出采用国际音标的基于唇读的活性检测过程的第一示例的流程图;
[0189] 图15D示出基于视位检测的基于唇读的活性检测过程的第二示例的流程图;
[0190] 图15E示出用于图15D所示过程的示例性嘴标志;
[0191] 图15F示出自动确定用于基于唇读活性检测过程的适当语言的方法的流程图;
[0192] 图16A和16B示出用于基于用户与用户设备之间的相对运动的活性检测过程的第一示例中的脸部标志的示例;
[0193] 图16C示出基于用户与用户设备之间的相对运动的活性检测过程的第二示例的原理;
[0194] 图17图示基于用户眼中的显示图像的镜面反射的活性检测过程;
[0195] 图18示出演示为了提供非常鲁棒的活性检测,多个活性检测过程能够如何组合的原理概括;以及
[0196] 图19示出表示视频预处理功能的功能方框图;
[0197] 图20A演示为了检测心搏如何能够隔离用户脸部的皮肤区;
[0198] 图20B示出基于在运动图像中检测心搏的活性检测方法的流程图。

具体实施方式

[0199] 下面描述的本发明的优选实施例基于生物测量数据与由闭型方程产生的概率密度函数的比较实现——无需机器学习。
[0200] 图1示出计算机系统的方框图,该计算机系统包括:用户2可用的用户设备104;计算机网络118;以及远离用户设备104的远程计算机系统130,。用户设备104和远程系统130都连接到网络118,使得在用户设备104与远程系统130之间能够发送和接收数据。
[0201] 用户设备104是计算机设备,该计算机设备能够取各种形式,诸如,移动设备(智能电话、平板计算机等)、膝上型计算机或台式计算机等。
[0202] 用户设备104包括:显示器106;摄像头108和摄像头闪光灯110;网络接口116;以及处理器112,该处理器112由一个或者多个处理单元(例如,CPU)形成,用户设备104的上述部件中的每个都连接到处理器112。处理器112配置成执行代码,该代码包含活性检测应用(“app”)114。当在处理器112上执行时,活性检测应用114能够控制显示器106、摄像头108和闪光灯110,并且能够通过网络接口116将数据发送到网络118和从网络118接收数据。
[0203] 摄像头108能够捕获运动图像,即,将以快速连续方式播放的一序列临时帧形成的视频,以复制连续运动,该视频由摄像头108作为视频信号输出。每帧分别由二维像素阵列(即,图像抽样)形成。例如,每个像素可以包括限定帧中该像素的色度亮度的三维向量。
[0204] 安置摄像头108,使得用户102能够容易地利用摄像头108捕获其脸部的运动图像。例如,摄像头108可以是集成于智能电话、平板计算机或膝上型计算机屏幕中的前置摄像头,也可以是安置于膝上型或台式机显示屏幕上的外部网络摄像头
[0205] 闪光灯110可控地发出较高光强的光。其主要功能是提供快闪照明,以在摄像头108捕获景物的图像时,照亮景物,但是诸如智能电话和平板计算机的某些当代用户设备还对摄像头闪光灯110提供其他用途,例如,在手电筒模式下,提供连续照明。
[0206] 显示器106以可见方式对用户102提供信息,并且可以是例如显示屏。在某些用户设备中,显示屏可以插入触摸屏,使得其还可以用作用于从用户102接收输入的输入设备。
[0207] 远程系统130包括至少一个处理器122和网络接口126,通过网络接口128,远程系统的处理器122连接到网络118。处理器122和网络接口126构成服务器120。处理器配置成执行控制代码124(“后端软件”),该控制代码124与用户设备104上的活性检测应用114合作,以在满足特定判据时,许可用户设备104访问远程系统130。例如,利用用户设备104访问远程系统130可取决于用户102成功完成验证过程。
[0208] 远程系统130可以例如包括安全数据存储器132,该安全数据存储器132保存(比如)用户的个体数据。为了使用户的数据保持安全,后端软件124在用户102成功验证的情况下,使用户设备104从数据库132检索用户的个体数据。
[0209] 为了提供包含活性检测要素的验证过程,本发明的实施例能够作为验证过程的一部分实现。即,访问远程系统130可取决于用户102通过活性检测测试而证实其的确是人。验证过程还能够包括其他要素,例如,基于一个或者多个证书,诸如,用户名和口令,因此,不仅要求用户102证实其称自己是什么便是什么(例如,人),而且要求证实其称自己是谁便是谁(例如,特定个体)-然而,请注意,前者正是本公开所关注的,并且能够单独地并且独立于任何身份检验或者根本不考虑身份实现活性检测技术。
[0210] 图2A示出根据本发明的第一实施例的活性检测系统200a。活性检测系统200a包括下面的功能模块:活性检测控制器218,该活性检测控制器218连接成控制摄像头108和闪光灯110(或者作为另一种选择,显示器106);图像稳定器204,该图像稳定器204具有连接成从摄像头204接收视频信号的输入;角检测器202,该角检测器202具有连接成接收视频信号的输入和连接到图像稳定器204的输出;虹膜检测器205,该虹膜检测器205具有连接成从图像稳定器204接收稳定后的图像信号的输入;直径估计器206,该直径估计器206具有输出和连接到虹膜检测器206的输出的输入;第一、第二和第三时间差动模块208a、208b、208c,该第一、第二和第三时间差动模块208a、208b、208c各自分别具有连接到直径估计模块206的输出的输入;第一、第二和第三累加器210a、210b、210c,该第一、第二和第三累加器210a、210b、210c各自分别具有连接到第一、第二和第三时间差动模块208a、208b、208c的输出的输入;第一活性检测模块212a,该第一活性检测模块212a分别具有连接到第一、第二和第三累加器210a、210b、210c的输出的第一、第二和第三输入;以及随机数据发生器219,该随机数据发生器219产生随机(例如,随机或伪随机)数据Rn,并且将随机数据Rn输出到活性检测控制器218和活性检测模块212a。模块208a、......、210c构成速度测量模块213。
[0211] 图2B示出活性检测模块212a的额外细节。活性检测模块212a包括:第一、第二和第三比较模块231a、231b、231c,该第一、第二和第三比较模块231a、231b、231c分别具有连接到第一、第二和第三累加器210a、210b、210c的输出的输入;以及判定模块,该判定模块连接成从比较模块231a、231b、231c中的每个接收输入。
[0212] 图2C示出比较模块231a、231b、231c中的每个(对其采用通用参考编号231)如何包括:分布拟合模块232、全局最大估计模块234、以及全局最小估计模块236。判定模块具有连接到模块232、234、236的输出的输入和连接成接收随机数据Rn的附加输入。
[0213] 随机数据Rn是第一实施例的活性检测过程随机产生的一个或者多个参数形式的,在该实施例的情境下,被称为瞳孔扩张(“PD”)参数集。
[0214] 活性检测系统200a的功能模块是软件模块,表示通过在用户设备104上执行活性检测应用114,或者通过在服务器120上执行后端软件124,或者通过这二者的组合实现的功能。即,活性检测系统200a可以局限于单个计算机设备上,也可以分布于多个计算机设备上。
[0215] 活性检测系统输出用户102的二元分类,用于将用户102划分为人或非人,该分类由活性检测模块212基于对摄像头108捕获的用户脸部的运动图像的分析产生。
[0216] 第一实施例的活性检测系统200a实现基于瞳孔光反射的防骗技术。现在将参考图2D描述该技术,图2D是该方法的流程图。
[0217] 在开始该技术之前,活性检测应用114对用户102输出其应当看着摄像头108的指令,使得其脸部在摄像头的视场内。例如,应用114可以显示摄像头捕获的视频的预览,同时发出用户应当如何使其脸部正确地处于摄像头的视场内的指令。
[0218] 在根据Rn执行的活性测试中,活性检测控制器218控制用户设备102的摄像头108和摄像头闪光灯110(或显示器106的亮度平)来执行下面的操作。摄像头闪光灯110(或显示器106)发出频率高于0.33Hz(~每3秒钟一个脉冲)的随机光调制脉冲。摄像头108开始记录闪光灯110(或显示器106)开始发出光脉冲时的视频帧。
[0219] 每个视频帧分别包括用户的至少一个眼(右眼或左眼)的高分辨率图像。
[0220] 该记录总共持续约3秒,以捕获用户脸部的三秒运动图像,即,三秒长的视频帧(对于传统的智能电话或平板计算机,通常介于约60与90个视频帧之间)。
[0221] 以下面的方式,基于随机数据发生器219产生的PD参数集Rn调制光脉冲。在3秒的窗口内,至少发出两个光脉冲-一个在开始记录的时间间隔的开头发出,而剩下的至少一个在进行记录的过程中发出。这两个光脉冲在时间上隔开由PD参数集Rn限定的随机选择时间间隔δt。在某些实现中,可以采用三个或者四个(或更多个)光脉冲,所有光脉冲都具有互相相对的随机时间分隔。
[0222] (各)较后光脉冲的强度大于其前面的(各)光脉冲的强度。如果每次都采用相同强度的光脉冲,则瞳孔反应随着每个脉冲降低,因为眼对脉冲的光级习以为常。增大每个脉冲的光强保证瞳孔对每个光脉冲具有可测量的生理反应。
[0223] 所记录的每个视频帧具有时间戳,即,与用于限定相对于其他帧其是何时捕获的时间值关联。这样可以对每个要求的时间间隔获得用户虹膜的行为和位置。在下面和在图中,利用代号F_t表示具有时间戳t的视频帧。
[0224] 然后,关于用户的一个眼(或分别对每个眼),对每个视频帧F_t执行下面的步骤。
[0225] 在步骤S202,角检测技术用于检测图3所示的帧F_t中眼的两个基准点,并且将对应于眼角标记“A”和“B”。图像稳定化用于将点A和B置于所有共用的基准面P上,即,必需时,对帧F_t应用旋转变换,使得所有被稳定(即,被旋转的)的视频帧中的点A和B处于同一个基准面P中。在该示例中,平面P在帧的坐标系中是水平面,意味着点A和B在所有稳定帧中垂直地对齐。因为其去除了在捕获视频时因为用户头部的任何旋转产生的影响,这样能够得出瞳孔的运动和大小。
[0226] 代号SF_t用于表示稳定的帧F_t。
[0227] 在步骤S204,利用机器学习和斑点检测(blob detection)技术,检测虹膜,并且得出稳定的视频帧SF_t。对虹膜检测应用该技术在本技术领域内公知。
[0228] 虹膜的直径基本上保持恒定-能够假定视频中虹膜直径的任何变化都是用户头部的运动导致的。这些能够例如通过对视频帧应用比例变换从而使稳定帧中的虹膜直径保持恒定来计算,但是实际上,这不是必需的,因为如果在记录时其头部保持静止,则在视频中虹膜直径基本上保持恒定。
[0229] 相反,瞳孔的直径随光脉冲发生变化-这是对光脉冲的生理反应,并且在该第一实施例中,用作活性检测的基础。
[0230] 在步骤S205,在像素中估计帧SF_t中的瞳孔的直径“D_t”。
[0231] 图5A示出图示预期瞳孔区的直径如何根据时间T1的光脉冲刺激随时间发生变化的曲线图。该曲线图示出在对眼施加中等光强/高光强的光刺激后眼的瞳孔区的变化踪迹。
[0232] 紧接在刺激之后,作为反应,瞳孔迅速收缩(即,其直径减小),直到在时间T2达到最大收缩(最小直径),在时间T2之后,其逐步扩张(即,其直径增大)回到其原始直径。在接近刺激时间T1之后1秒的时间T3,反应曲线中存在显著趋缓,即,瞳孔扩张的速率较突然降低。这被称为“扩张拐点(dilation break)”。
[0233] 图5B示出瞳孔直径在相同时间间隔期间的变化速率,即,收缩速度(正速度)或扩张速度(负速度)。瞳孔直径呈现迅速、基本上随机的波动。然而,速度反应具有随仍然明显的较大时间标度变化的总体结构。
[0234] 图5C示出被平滑的图2C所示速度曲线,通过以大到足以消除波动而小到足以保持该总体结构的窗口取速度曲线的窗口平均值,均化该迅速波动。
[0235] 在图5C中能够看出,在时间T2,速度是0。在T1与T2之间,在时间g_max,速度达到其局部峰值(即,局部最高)。在分别紧接在时间g_max的左侧和右侧的时间g_maxL和g_maxR,平滑速度曲线具有局部最小值。从时间最接近的意义上讲,这些是最接近的,即,使得在g_max与g_minL之间或在g_max与g_minR之间,不存在其他局部最小值。
[0236] 时间g_minL接近施加刺激的时间T1。时间g_minR在时间T2(在时间T2,瞳孔停止收缩并且开始扩张)之后而在时间T3之前(扩张拐点,瞳孔扩张突然缓慢下来)。即,g_minR发生于T2与T3之间严格定义的时间范围内。
[0237] 实际人瞳孔对刺激的生理反应是预期g_max、g_minL和g_minR满足特定关系-具体地说,g_max-g_minL不大于第一已知值Δt1,并且g_minR-g_max不大于第二已知值Δt2。第二间隔Δt2是秒数量级的,而第一间隔Δt1至少低一个数量级。
[0238] 在时间g_max、g_minL和g_minR,瞳孔的加速度是0。
[0239] 如上所述,在记录视频时,发出至少两个具有随机时域分隔(temporal separation)的光脉冲。图5D示出对时间分隔为间隔δt的两个光脉冲的瞳孔反应。作为对第一脉冲的反应,瞳孔区走出图5A的反应曲线,直到施加第二脉冲,导致眼第二次重新走出图5A的反应曲线。第二脉冲的强度大于第一脉冲的强度的数量使得第二脉冲与第一脉冲基本上产生相同的收缩水平。即,图5D所示的曲线即时间分隔为δt的图5A所示曲线的两个例子。
[0240] 提供图5A-5D仅为了有助于说明-应当明白,图5A-5D是非常原理性的,并且未按比例。由实际肉眼的测量值计算的速度曲线可呈现更复杂的结构,但是预期满足上述关系。
[0241] 通过如下,对不同的时间间隔估计瞳孔直径D_t的微分dD:
[0242] ●将时间t时的瞳孔直径D_t与时间t-1时的虹膜直径D_(t-1)进行比较(S208a),以计算D_t与D_(t-1)之间的微分“dD1_t”-例如dD1=D_t-D_(t-1)(S206a);
[0243] ●将时间t时的瞳孔直径D_t与时间t-3时的虹膜直径D_(t-3)进行比较,以计算D_t与D_(t-3)之差“dD3_t”(S206b);
[0244] ●将时间t时的瞳孔直径D_t与时间t-6时的虹膜直径D_(t-6)进行比较,以计算与D_t与D_(t-6)之差“dD6_t”(S206c)。
[0245] 图4示出时间t与时间t+n(n=1、3或6)之间的微分dD的示例。
[0246] 在步骤S208a、S208b、S208c,分别随时间累加每个直径微分dD_t,以形成微分值的时间序列形式的各自的速度分布:
[0247] (......,dD_T,dD_(T+1),dD_(T+2),......)
[0248] 对其进行移动平均以使其平滑。在下面和图中,被平滑的每个时间序列被分别表示为TS1、TS3和TS6,并且描述瞳孔的大小正在不同的时间点发生变化的速率(即,瞳孔速度)。
[0249] 活性检测模块212a分析每个时间序列TS1、TS3、TS6,以识别其是否与韦伯(Weibull)概率密度函数(PDF)密切拟合,有时将韦伯概率密度函数称为Frechet PDF。通过计算时间序列的拟合度量进行该分析。
[0250] 韦伯PDF表示对两个光脉冲的预期瞳孔反应,如图5D所示,并且将预定系数设定得与肉眼作为对两个光脉冲的反应的预期行为匹配,如图5A-5D所示。在人群中可有效预测肉眼的行为,大多数肉眼瞳孔对每个光脉冲呈现生理反应,该生理反应与韦伯PDF的拟合在特定误差界限内。不需要机器学习技术来设定参数-基于给定值的δt的闭型方程,能够有效(即,利用最少处理资源)计算给定δt的韦伯PDF。
[0251] 适当拟合度量的示例是平方误差R2的加权和,定义为:
[0252]
[0253] 其中o是平滑时间序列TS的项(对TS内的全部项求和),eo是PDF预测的o的值,并且2 2
σ是时间序列TS的方差。分别计算三个R量度-每个平滑时间序列TS1、TS3、TS6各一个。
[0254] 对于至少两个光脉冲中的每个,如下计算每个时间序列的局部最大g_max:
[0255] g_max=arg_max_t(dD_t)
[0256] 即,g_max是作为对可施加的光脉冲的反应的收缩速率最高时的时间t(请参见图5C,及上面的附文)。还对每个光脉冲和每个时间序列TS1、TS3、TS6分别计算紧接在g_max之前和之后的时间g_minL和g_minR。
[0257] 为了确定该用户是人还是不是人,判定模块238对每个时间序列TS1、TS3、TS6分别执行下面的操作。
[0258] 将该时间序列的加权误差度量R2与阈值进行比较。
[0259] 对于每个光脉冲,计算g_minL与g_max之间的时间差g_max-g_minL,并且将其与第一时间阈值dtthreshold1进行比较。还计算g_max与g_minR之间的时间差g_minL-g_max,并且将其与dtthreshold2进行比较。设定第一和第二阈值dtthreshold1、dtthreshold2,以分别与预期时间差Δt1和Δt1一致(请参见附图6C上面的文本)。
[0260] 例如,通过测量dD_t=0时的峰值收缩时间之间的,即,对应于图5D中的时间t1和t2之间的时间分隔,对每个时间序列测量两个反应曲线之间的时间分隔。对于超过两个使用的附加光脉冲中的每个,测量等效时域分隔,并且将该等效时域分隔与该光脉冲与其他光脉冲中的一个的已知(随机)分隔进行比较。
[0261] 当且仅当:
[0262] ●R2低于阈值(指时间序列TS与每个时间序列的韦伯曲线良好拟合);
[0263] ●对于每个时间序列和光脉冲,两个时间差都在其各自的时间阈值dtthreshold1、dtthreshold2内;
[0264] ●对于每个时间序列(并且在三个或更多个光脉冲的情况下,对于每个δt),测量的时间t1与t2之间的分隔与随机时间间隔δt的匹配,即,t2-t1=δt,在预定的误差界限内,时,则判定模块256断定用户102是活的。即,当且仅当所有这些判据都满足时,活性检测系统200a才断定用户102是人。如果乔装为人的实体假装用户102,诸如用户102的照片或细致模型,而不表现满足这些判据的必要瞳孔反应,则该系统将其正确地识别为不是活的。
[0265] 尽管上面使用了韦伯PDF,但是更一般地说,能够利用任意适当极值理论概率分布函数代替韦伯PDF对图5A所示肉眼瞳孔的预期反应建模,从而实现相同的效果。
[0266] 两个光脉冲之间的随机分隔δt是一秒数量级的,对应于低频调制。为了提供额外的鲁棒性,还能够引入对光脉冲的随机化高频调制。在这种情况下,将高频调制与眼的反射进行比较,并且对于要识别为活的的实体,也要求该反射与高频调制一致。
[0267] 第一实施例的技术还能够利用单个光脉冲在相对于视频的开始的随机时间实现。将视频中的瞳孔反应与随机定时(random timing)进行比较,以检验其是否一致。
[0268] 已公布的英国专利申请GB2501362公开了采用调制照明的活性检测技术。GB2501362涉及一种鉴认法,在该鉴认法中,将代码从服务器发送到用户设备,该用户设备装备有照明源和能够捕获在线用户的视频图像的摄像头。用户设备根据该代码调制照明源,并且同时捕获用户的视频图像。
[0269] 在GB2501362中,提取并且分析用户的脸部上的照明模式,以推断出用于控制其的代码。然后,将提取的代码与发送的代码进行比较。然而,GB2501362未认识到将预期的人对随机光脉冲照明的生理反应用作活性检测的基础的可能性。
[0270] 图6B示出第二实施例中的活性检测系统200b的方框图。系统200b实现基于通过在屏幕的随机位置显示要素来跟踪虹膜运动的防骗技术。
[0271] 在第二实施例中,在根据Rn执行的活性测试中,活性检测控制器控制用户设备的显示器106和摄像头108。在第二实施例中,在活性检测测试中,活性检测控制器利用随机数据发生器219产生的随机数据Rn在显示器106上的随机点位显示随机显示要素。随机数据Rn是限定显示点位的一个或者多个参数形式的,被称为在第二实施例的情境下设定的眼跟踪(“ET”)参数。
[0272] 与第一实施例中相同,连接角检测器202、图像稳定器204和虹膜检测器205,并且执行相同的操作。此外,系统200b包括下面的功能模块:空间窗口化模块207,该空间窗口化模块207具有连接到虹膜检测模块205的输出的输入;以及图案分析模块209,该图案分析模块209具有连接到空间窗口模块207的输出的第一输入和连接成从图像稳定器204接收稳定视频帧的第二输入;和第二活性检测模块212b。
[0273] 图6B示出模式分析模块和活性检测模块207、212b的额外细节。模式分析模块包括多个直方图确定模块h1、......、h9(在该示例中是9个),每个分别连接成接收当前稳定视频帧SF_t,并且各自具有连接到活性检测模块212b的相应第一输入的输出。
[0274] 回到图6A,与第一实施例中相同,活性检测模块212b具有连接成接收随机数据Rn的第二输入,并且输出经受测试的实体(在该示例中是用户102)是活的还是不是活的二元分类。
[0275] 现在参考图6C描述第二实施例的系统200b实现的活性检测技术,图6C是该方法的流程图。该方法基于通过在屏幕的随机位置显示要素来跟踪虹膜运动。
[0276] 设备将“跟随要素”显示于其屏幕上,其移动到对应于预定大小的方形网格中的一格的预定位置(随机指定的)。这些位置不由用户设定,而旨在引导用户跟踪其眼的运动。请求用户用眼跟踪随机运动。在整个过程中,该设备记录用户的眼的运动。
[0277] 下面是该技术的步骤:
[0278] 在步骤S602,活性检测控制器218控制用户设备104的显示器106,以将显示元素显示于其屏幕上,该显示元素在随机数据Rn限定的随机显示点位之间运动。
[0279] 这示于图7A中,图7A示出从网格中的一个底部格(“9”)中的随机选择点位移动到该网格的顶部中间格(“2”)的显示要素。可能的显示点位即相对于显示器106限定的3×3网格的格(在此同样被称为“区”或“区段”),该3×3网格由系统200b预定(例如,在用户设备104),而不由用户102预定。请求用户102用眼跟踪随机运动。在用户追踪运动的显示要素时,摄像头108捕获用户的脸部的高清晰度运动图像(S604)。
[0280] 与第一实施例中的方法中完全相同,记录的每个视频帧具有时间戳,以对于每个时间间隔确切知道虹膜的行为和位置。
[0281] 对于用户眼中的至少一个眼(或者分别对于两个眼),对运动图像的每个帧F_t执行下面的操作。
[0282] 在步骤S606,对帧F_t应用角检测算法和图像稳定算法,以使点A和B位于同一个平面P上,从而得出虹膜的运动和大小。步骤S606与图2C所示的步骤S202完全对应,并且该描述在该例子中同样适用。利用机器学习和斑点检测技术(S608,与图2所示的步骤S204完全对应),检测帧F_t中的虹膜。
[0283] 随着显示要素E遍布显示器运动,眼追踪其,导致瞳孔相对于平面P可辨别地运动。这示于图7C中(请注意,图7C所示的眼的运动与图7A所示的显示要素的运动不对应)。
[0284] 在步骤S610,空间窗口化模块207基于步骤S608的虹膜检测识别虹膜周围的窗口区(“虹膜窗口”)。窗口W示于图8中。得出的虹膜窗口被分割为3×3块的区域,图8中标为“1”至“9”,对应于相对于显示器限定的网格的3×3块。即,窗口W分割为N个块,其中在该示例中,N=9。
[0285] 在步骤S612,对应每个块,基于像素值产生各自的直方图。图10A图示用于产生各自的直方图的技术。图10A示出像素阵列形成的示例性块b。每个像素能够取不同阴影表示的三个值中的一个(请注意,这是为了有助于理解示出的示例性简化示例)。
[0286] 产生块b的直方图H(b)。直方图H(b)对每个可能像素值具有一个方柱(bin)(因此,在该示例性简化示例中有三个方柱),并且该方柱定义具有该值的块b中的像素数(即,该方柱的像素数目)。
[0287] 实际上,可以存在成千个不同像素值,但是在某些情况下,可以利用适当量化缩小该区间,即,直方图的每个方柱对应于多个像素值的区间-在下面描述的优选技术中,应用极量化,从而将每个像素量化为表示亮和暗的两个值中的一个。
[0288] 以这种方式对虹膜窗口中的9个块中的每个产生单独直方图(H1、......、H9),如图10B所示。这组直方图被表示为H。
[0289] 暗像素为主的块b的直方图-当瞳孔在视频中出现于该块中时发生的-与眼的虹膜和/或巩膜的较亮色彩为主的块b的直方图的不同到可测量的程度。因此,随着眼在窗口W(请参见图9)的不同块b之间运动,直方图H以可预测的方式相应地发生变化。这样使得该运动被研究,而不必依赖机器学习技术。
[0290] 每当显示器106上的要素发生运动时,就预期直方图H发生变化。因此,对于显示要素在显示器106上的每次运动,将虹膜运动的直方图的变化与显示要素的点位的变化进行比较,以估计虹膜是否移动到正确的块,即,正如所预期的该眼是否是跟踪显示要素的真实肉眼。如果该眼是真实肉眼,则跟踪显示要素。如果经过预定数量的运动之后,该系统认为该用户未正确追踪要素,则将该用户划分为试图欺骗系统。
[0291] 图10A和10B图示直接利用像素值产生块b的直方图的情况。然而,在优选技术中,首先将块b分割为子块,并且基于子块指定块值。
[0292] 在该优选技术中,在对帧F_t产生直方图之前,将帧F_t转换为灰度级,即,将每个像素转换为仅承载强度信息的单值。
[0293] 如图13所示,对灰度级图像进行二进制阈值化,使得如果像素值小于预定阈值,则将其值设定到等于黑(值“1”);否则,将其设定到等于白(值“0”)。这样可以完全分离出瞳孔。阈值化去除虹膜纹理(在该示例中,仅利用瞳孔的运动跟踪眼运动)。
[0294] 对量化图像应用高圆度的斑点检测,以识别并且提取眼的瞳孔,如下所述。利用新型局部二进制模式确定瞳孔的点位,在此将局部二进制模式称为运动二进制模式(MBP)。运动二进制模式由下面的构成构建。
[0295] 如图14A所示,建立区域分裂,从而将每个块b分割为预定数量的较小块“sb”(“子块”),将预定数量的较小块“sb”(“子块”)排列成方形一在该示例中,每个块b有8×8个子块sb,因此,每个块b总共有M=64个子块。每个子块sb分别包括一个或者多个像素一在该示例中,包括多个像素。
[0296] 如果子块sb具有其等于0的像素的三分之一(约33%)的最小值,则对子块指定值“1”;反之,则对其指定值“0”。用这样的方式,对每个块b指定一序列“SEQ(b)”的M个二进制值(每个子块一个二进制值)-每个子块一个。换句话说,每个块b(例如,3×3块中的每个)分别具有m个子块,并且每个子块分别由方形区域的像素构成。对每个子块指定值1或0(基于>=阈值)。
[0297] 通过使其组成子块的全部二进制值连续,这样使得块可以由单个数字(“块值”)表示。对于每个块的8x8(=64)个子块,单个数字在0至2∧64的范围内。整个虹膜窗口W由N个这种值表示-每个块一个(其中N是块的数量,例如,N=9)。
[0298] 如图14B所示,瞳孔运动导致预期序号的每个块的值发生变化。图14B图示当检测到运动的边缘时(图14B所示的“1”值子块对应于暗瞳孔的边缘区域),MBP块b的值发生变化的情况。
[0299] 通过基于MBP方法分析各序列的处理眼运动并且将其与预期序列的MBP值进行比较,系统可确定该用户是否是活的。对于一组给定的随机点位,能够再次利用闭型方程经济地产生用于对预期的眼运动建模的概率密度函数(而不需要机器学习),并且将其与看到的直方图进行比较。
[0300] 如果无论采用哪种惯例都一致性地应用,则对方柱排序和标记都不重要的。
[0301] 为了进一步提高鲁棒性水平,在某些情况下,显示要素是随机选择的单词。当显示要素运动时,该单词发生变化。在测试进行中,还要求用户读该单词。处理该运动图像,以识别用户的嘴唇,并且利用唇读技术确定用户是否在读正确单词。
[0302] 现在将参考图15A-15G描述这种测试形式的一个特定示例以及通常能够进行该测试的上下文。
[0303] 在其他实施例中,随机选择的单词显示于显示器上的相同点位,并且仅唇读用于活性检测(即,没有眼跟踪)。对于该测试,对用户显示许多单词。每个单词以上述方式在相同的位置并且以相同的随机时间序列出现于显示设备上。在该测试中,与每个单词第一次出现的时间戳和位置一起记录视频。该测试的目的是检验用户是否说出了对其显示预期时间的正确单词。
[0304] 图15A示出图示通过捕获用户追踪显示于显示器上的随机位置的随机数据的自拍视频图像(self-video image),以随机选择用词方式,引入了本发明的示例性实施例的登陆过程的步骤的流程图,该随机位置是从一组预定显示位置中选择的。
[0305] 在步骤S1502,用户102启动在其设备104处登陆。作为对用户开始登陆的响应,或者作为其他用户输入的响应,可自动起动验证过程。在步骤S1504,利用该设备104的前置摄像头108F,用户设备104捕获自拍视频图像1502。在用户设备104的显示器106上捕获了图像1502时,对用户显示前置摄像头108F捕获的图像1502。这样使得用户使其脸部正确地位于摄像头108F的视场内,因此,用户的眼和嘴位于摄像头捕获的图像内,并且正确地位于显示器106中的显示区内。在步骤S1506,通过显示随机选择单词1504,该过程继续。单词1504不但被随机地选择,而且显示于显示器106上从一组预定显示点位中随机选择的点位处(例如,左上、左下、右上、右下)。作为另一个示例,其可以是3×3网格图案内的方形中的一组9个点位中的一个。重复其,直到示出足够长的单词序列,例如,4至6个单词,此时,该处理结束S1508。这可取决于已经产生的特定数量的单词、已经在显示随动要素的不同点位的特定数量、或者取决于在特定时长或时间内捕获的自拍视频图像。在步骤S1510,通过既验证用户102的眼正确地追踪随动要素并且眼运动与显示器上已知正在显示随机选择单词的位置关系,又验证嘴形对应于预期说出随机单词的嘴形,验证记录的脸部运动,并且利用对应于国际音标(IPA)的嘴运动数据库验证记录的脸部运动(图15C-参加下面)。通过将自己的视频图像优选地用作从用户设备104处的捕获视频图像中提取的并且发送到服务器的信息,诸如“嘴形描述符”,在服务器130执行步骤S1510。
[0306] 下面基于在嘴唇上识别的界标点(landmark point)相对于诸如鼻尖或嘴边的基准点的相对点位,描述示例性嘴形描述符。
[0307] 除了嘴形分析,唇读系统还可以采用对应于时间序列、不存在唇运动活动的可视信息。这些可与对用户显示单词的随机选择的已知时间序列关联。
[0308] 图15B是图示为了实现图15A所示方法,服务器120与用户设备104之间的交互的原理图。包括要显示的随机选择单词、要显示其的显示点位的指示、以及显示其的时间和时长的指示的信息1506在服务器120处产生并且由服务器120送到用户设备104。在某些实施中,还可以随机选择该时间和/或时长。对应于显示的一序列单词要素和显示点位的捕获自拍视频图像1502的图像数据1508由用户设备104返回服务器120供验证。该图像数据可以包括关联时间戳,以限定该运动是何时捕获的。请注意,该上下文中的术语“图像数据”能够指自己的视频图像的帧图像或从用户设备104处的这些帧图像中提取的信息。
[0309] 基于国际音标的唇读:
[0310] 图15C图示诸如嘴的运动的脸部运动如何能够用于验证捕获的视频图像的活性的一个示例。
[0311] 在步骤S1512,在收到的图像数据1508中识别嘴上的一组基准点(例如,4至6个)。特征识别技术能够用于检测图15C所示帧中的嘴或嘴唇的基准点并且标为“1510a”、“1510b”、“1510c”、和“1510d”。然后,在步骤S1514,在随机选择的单词被显示时,在用户说出这些随机选择的单词时,这些点能够用于跟踪用户的嘴的运动。然后,在步骤S1516,将跟踪的基准点的运动与保存于对服务器120可访问的数据存储器1512中的电子存储音标中的符号进行比较和比对,以产生对应于唇运动的一序列IPA符号。然后,服务器120将这些IPA符号与其送到用户设备104的单词的一序列预期IPA符号进行比较。这样,能够确认用户正在正确的时间观察正确点位的正确单词,而不仅仅观察正确点位的单词。因此,提高了活性检测的鲁棒性。
[0312] 国际音标是构成口语的发音的标准表示的一组音符。使用IPA的好处是能够对任何语言的单词应用该测试,并且甚至不要求知晓该语言。
[0313] 为了将活性测试的有效性提高到最高,最好选择用户的母语中的单词,因为用户102很可能正确地读出它们。
[0314] 用户的语言能够由例如诸如口令的现实世界的身份文本确定。在作为数字身份创建过程的一部分执行活性检测测试的情况下,这尤其方便,在该数字身份创建过程中,用户能够创建包括从这种文档中提取的信息的电子存储数字身份,其中创建数字身份取决于通过该测试的用户102。下面描述确定适当语言设置的方法。
[0315] 基于视位的唇读
[0316] 实现该测试的替换方式采用基于视位单词匹配的一种方式的自动唇读。图15D示出基于视位实现基于唇读的活性测试的方法的流程图。
[0317] 在本技术领域内公知,视位是对应于特定语音的嘴的位置。下面的表1列出十四种视位(V1-V14)中的每种视位如何对应于各自的一个或者多个音位。能够看出,某些视位对应于多个音位。对每个视位序列分别执行配音评估(图15D中的S1542-请参见下面),其中根据表1,将显示的每个单词翻译为一序列视位。
[0318] 发明人已经认识到在活性检测测试的情境下,快速并且较简单的匹配全是需要的,其中足以将复杂的嘴位置(即,视位)显示为较小尺寸的简单向量-在下面的示例中为15个。
[0319] 基于嘴界标位置识别视位,嘴界标位置是用户的嘴上的一组16个预定基准点(M1-M16)和相对于其限定的7个附加点(S,D1-D6),如下参考图15E所述。
[0320]
[0321] 表1:将视位映射到音位。
[0322] 为了有助于匹配过程,仔细地选择具有不同视位结构的单词用于测试,以避免对用户展示具有较高相关的相对运动模式符的单词。即,考虑到视位,随机地选择单词,使得仅这15个视位能够用于使唇部运动与显示的单词匹配(虽然在所有视位与音位之间不存在一对一的映射)。
[0323] 对检测到脸部的捕获视频的每个帧F执行步骤S1532-S1534。
[0324] 在步骤S1532,删除该帧中的点M1-M16,点M1-M16是用户的嘴上围绕嘴的边缘分布的点,如图15E所示。点M1和M9位于嘴的两侧上,即,位于嘴角处。点M2-M8位于上嘴唇上,而点M16-M10位于下嘴唇上。排列点,使得当用户的头垂直向上时,点M2-M8分别垂直地位于M16-M10上面。点M5和M13与嘴的中心水平地对齐。
[0325] 此外,在该帧内确定7个附加点,其是M1与M9(M1M9)之间的线上的点。这些被确定为t
[0326] ●D1是线M1M9与M2M16的交点
[0327] ●D2是线M1M9与M3M15的交点
[0328] ●D3是线M1M9与M4M14的交点
[0329] ●S是线M1M9与M5M13的交点
[0330] ●D4是线M1M9与M6M12的交点
[0331] ●D5是线M1M9与M7M11的交点
[0332] ●D6是线M1M9与M8M10的交点
[0333] 下面采用代号,其中(P,Q)代表点P与Q之间的(标量)距离。
[0334] 距离D=(M1,M9)对应于嘴的静止位置,并且是嘴在该静止位置的水平宽度。还确定一组15个附加距离d01-d15,如下面的表2定义的,这些由嘴在静止位置的水平距离归一化。在图15D的步骤S1534,对该帧确定距离D和d01-d15。这15个距离度量构成嘴的相对运动模式符。视频帧中给定的嘴的位置能够以对该帧计算的上述距离d01-d15(即,具有15维)的形式表示为分隔度量,即:
[0335] V=(d01,......,d15)
[0336] 该向量V(嘴位置向量)承载足以确定该嘴位置的相应视位的信息,反过来,能够由该信息确定(各)相应音位。
[0337]向量V的分量: 值:
d01 (M2,D1)/D
d02 (M3,D2)/D
d03 (M4,D3)/D
d04 (M5,S)/D
d05 (M6,D4)/D
d06 (M7,D5)/D
d07 (M8,D6)/D
d08 (M16,D1)/D
d09 (M15,D2)/D
d10 (M14,D3)/D
d11 (M13,S)/D
d12 (M12,D4)/D
d13 (M11,D5)/D
d14 (M10,D6)/D
d15 (M1,S)/D
[0338] 表2:嘴位置向量V
[0339] 从而对于多个视频帧F确定这些向量V的时间序列(S5136)。这样产生15个时间序列(每个向量分量一个),分别标为TS-V01、......、TS-V15。将这些时间序列中的每个与显示的对应于该向量分量的单词的预期时间序列进行比较(S1438)。即,对于时间序列TS-V01、......、TS-V15,分别执行15次比较(每个向量分量一次),以分别产生15个相干性得分,分别标为Cor01、......、Cor15。这15次比较能够以任何顺序执行或并行执行,因为向量分量是独立处理的。
[0340] 例如,该向量V的不同“范围”-或更确切地说,向量V所在的15维向量空间的不同范围能够映射到单独视位。为了确定显示的单词实际上是否由用户读出,将从运动图像识别的一序列视位与对显示的(各)单词学到的一序列原型视位比较其似然性。
[0341] 为了考虑到具有不同读速的不同用户,能够采用动态时间弯曲(dynamic time warping)(DTW)。动态时间弯曲是用于将不同速度的序列进行比较的公知方法,并且因此在此不做进一步详细讨论。
[0342] 对于以随机时间显示的单词,该过程不仅利用检测到的基于视位的单词识别的嘴变形于,而且还利用没有嘴唇运动的部分。后者与连续随机输入之间的时间间隔(即,不同显示单词之间的随机长度的时间间隔)相关,并且有益于提供非语言的特定信息源用于活性检测。换句话说,测试条件能够是用户不仅说正确的单词,而且在正确的时间说正确的单词,其中基于没有嘴唇运动的间隔检验后者。
[0343] 基于利用麦克风捕获的音频信号的幅度,能够将用户设备104的麦克风用于检测用户102开始和停止说显示的单词的时间。例如,在用户设备104处能够产生对应于开始时间和停止时间的时间戳并且将该时间戳发送到服务器120,并且将该时间戳用于根据在此描述的技术在服务器120处的捕获视频中选择视频帧供处理。作为一种选择或此外,当用户分别开始和停止说该序列中的第一和最后一个单词时,基于音频信号,能够启动或终止视频的捕获。
[0344] 除了唇读,声音输入也能够用于活性验证。与上面描述的视位识别方法类似,能够应用语音识别来检测用户是否说出显示的单词。这样得到多模式活性验证系统。
[0345] 然后,在步骤S1542,将15个相干性得分Cor01、......、Cor15合并,以产生总得分S1,该总得分S1提供承受该测试的实体是人的概率的确切指示。
[0346] 语言确定
[0347] 图15F图示用户设备104可如何捕获身份文档。在步骤S1518,捕获用户102的身份文档的身份文档数据。这能够通过拍摄文档的照片进行,也能够通过在文档本身中检测通过近场通信(NFC)芯片或标志编码的信息进行,也能够通过这些技术的组合进行。用户设备本身装备有用于捕获身份文档的高质量图像的摄像头和用于检测并且读NFC芯片或标志的NFC阅读器。在步骤S1520,由身份文档数据确定国籍。这或者由身份文档的图像读出,或者由收到的NFC数据确定。在步骤S1522,基于确定的国籍,确定至少一个语言设置。某些国籍可以要求进一步输入在多个可能的语言设置之间进行确定的数据。例如,将国籍确定为加拿大人还可以要求包括出生地或身份文档的发出当局的数据,以在加拿大人说的英语和法语的两种语言之间选择。作为一种选择,多语言设置可以由该文档确定,并且对用户102指示该多语言设置,供在用户设备104选择。
[0348] 在步骤S1524,将确定的语言设置应用于活性检测过程。特别是,根据确定的语言设置,随机地选择上述任何一种唇读测试中对用户显示的单词,因此,对用户102显示的单词属于其自己的语言。这样能够改善测试准确性,因为用户更可能以其母语正确地说出单词。
[0349] 步骤S1520-S1524能够在用户设备104、服务器120处执行(利用在用户设备从图像中提取的图像或数据和/或NFC数据),这些步骤也可以在用户设备104与服务器120之间分配。在步骤S1526,在如上所述的活性情况下,即,在确定该用户是人的情况下,许可利用捕获的身份文档对在数据存储器132中创建的数字身份进行访问。
[0350] 基于椭圆形曲线的显示点位
[0351] 作为另一个示例,显示该显示要素的随机点位可以基于随机数据Rn并且还可以基于用户设备6与远程系统130之间的至少一个共享密钥选择。共享密钥能够例如是用户定义的形状,诸如椭圆形曲线。椭圆形曲线要求最小的储存开销,因为其能够有少量参数实现参数化。
[0352] 示例性椭圆形曲线Cv示于图12A中。例如,通过在设备的触摸屏上或者利用鼠标/轨迹板等追踪其,用户102在用户设备104上定义该曲线。曲线的几何数据既根据用户102输入的代码(例如,PIN)加密安全地存储于用户设备106处,又通过储存器所在的安全通道发送到远程系统130。因此,曲线的几何结构既存储于用户设备处又存储于远程系统130。为了改变该曲线,用户102必须输入代码,以对其解密。在每次改变该曲线时,都修改位于远程系统130的曲线,以反映该改变。
[0353] ET参数集根据一维坐标定义椭圆形上的点,定义椭圆形的长度。例如,在量化系统中,每个椭圆形构成二维空间中的N个点的有限集S={n|n=1,......,N}。每个随机选择的参数都能够由定义S中的点的索引的单个参数表示。
[0354] 在活性检测过程中,显示要素显示于用户设备104选择的、对应于曲线Cv上的随机选择点Pt的显示点位处。不显示曲线Cv本身。当采用该技术时,响应由眼图像求得的随机显示要素,用户设备104将眼图像或关于眼运动的信息传送到远程系统130。用户设备106不发送关于已经选择的点Pt的其他信息-这些信息仅通过用户的眼的运动传送到远程系统130。
[0355] ET参数Rn以判定性方式确定选择曲线上的哪个点,即,如果ET参数Rn和曲线Cv已知,则始终确定性地知道用户设备106选择哪个点。
[0356] 因此,因为曲线Cv的拷贝存储于远程系统130处,并且因为远程系统130访问随机数据Rn,所以远程系统能够构建用户设备根据该曲线的自己的拷贝选择的点Pt。
[0357] 这样处于下面的原因提供鲁棒的附加层:如果用户设备106示于不正确的曲线,即,与存储于远程系统130处的曲线不匹配的曲线,则用户的眼的运动不是服务器预期的眼运动。因此,为了使活性检测技术继续,用户设备106必须知道曲线Cv形式的共享密钥。这样防止没有访问安全保存的共享密钥的设备被用于访问远程系统130中的数据库132。换句话说,基于其知晓共享密钥,给定其知晓的共享密钥,远程系统知晓曲线Cv上用户设备应当选择的点。如果错误点被选择为试图欺骗攻击一部分,则因此,攻击将失败。
[0358] 上述两种技术都考虑到作为对特定刺激的反应的瞳孔的运动。作为一种选择或此外,虹膜这种方式的变化能够用于相同的目的。尽管虹膜的直径是恒定的,但是虹膜的结构呈现复杂的变化(虹膜图案),可看到的该复杂变化是色彩图案。因为眼对脉冲刺激或显示要素刺激做出反应,所以这些图案发生变化。例如,这能够通过响应有关刺激来跟踪虹膜上的差异点度量。可以对图像应用滤噪算法,并且基于滤噪后的图像进行跟踪。利用一组不同方程选择滤噪图像中的可视暗斑点和/或可视亮斑点来跟踪。此外,将检测到的运动与由闭型方程产生的预期数据,而无需机器学习。
[0359] 任选地,如图12B所示,随机数据也可以用于定义曲线的转换,例如,随时间缩放和/或旋转曲线,使得第二点Pt2是相对于选择第一点Pt1使用的曲线Cv的转换曲线Cv’上的点。
[0360] 作为眼跟踪的一种选择,用户可以在发觉显示要素时利用其用户设备104的某些其他输入设备,诸如,触摸屏、轨迹板、鼠标等指出显示要素的点位。在这种情况下,用户选择(例如,触摸或点击)屏幕上显示该显示要素的点,并且将其输入与(各)预期显示点位进行比较。
[0361] 在上述实施例中的任何一个中,可以将活性检测系统(例如,200a、200b)输出的二元分类传送到服务器120的访问控制模块214,使得访问控制模块214能够基于该分类判定是否许可用户102访问远程系统130。例如,仅当用户102被活性检测系统识别为人时,可以许可访问。
[0362] 在上述两个实施例中,代替产生表示用户102是活的/不是活的的二元分类,活性检测系统200a/200b可以产生表示用户是活的或不是活的的系统置信度,例如,用户102是活的的概率或用户不是活的的概率的置信度值。在这种情况下,访问控制器214接收该概率,并且能够执行其自己的分类。
[0363] 图11图示第三实施例的活性检测技术,该活性检测技术合并了第一实施例和第二实施例的技术。
[0364] 示出远程系统130的三个单独服务器120a、120b和120c-活性(控制)服务器120a、以及两个活性处理服务器:瞳孔扩张服务器120b和眼追踪服务器120c。
[0365] 活性服务器120a配合第三实施例的活性检测技术。瞳孔扩张服务器120b实现第一实施例的基于瞳孔扩张检验活性。眼跟踪服务器120实现第二实施例的基于眼跟踪的活性检验。在步骤S1102a和S1102b,活性服务器120a分别从瞳孔扩张服务器120b和眼跟踪服务器120c请求PD参数集和ET参数集。
[0366] PD参数用于实现第一实施例的过程,即,基于瞳孔对脉冲的反应,并且定义两个(或更多个)光脉冲之间的(或视频中随机时间的一个光脉冲的)的一个(或多个)随机选择时间分隔。ET参数是第二实施例使用的类型的,即,基于处于随机显示点位的显示要素,并且当与用户选择曲Cv的组合定义随机选择的显示显示要素的一组空间点。
[0367] 在第三实施例中,重要的是,在服务器侧产生该过程的随机性。
[0368] 从瞳孔扩张服务器120b收到PD参数(S1104a)和从眼跟踪服务器120c收到ET参数(S1104b)后,活性服务器120a将PD参数和ET参数发送到用户设备104。
[0369] 在步骤S1107,通过根据PD参数执行随机脉冲测试和根据ET测试执行随机显示要素测试,即,基于PD参数集以(各)随机间隔发出光脉冲和基于ET参数集在用户的曲线Cv上选择的随机点位处显示(各)显示要素,用户设备104分别利用PD参数和ET参数启动第一实施例和第二实施例的活性检测过程。这可由用户设备106请求活性检验的活性服务器120a触发,也可由从活性服务器120a请求活性检测检验的用户设备触发。在步骤S1107,可以将PD和ET集以启动消息1101的形式从活性服务器120发送到用户设备104。
[0370] 该启动消息还包括瞳孔扩张服务器120b的网络地址和眼跟踪服务器120c的网络地址。每个网络地址分别定义各自的网络端点,并且可以例如是URI(统一资源定位器)。这些网络地址与启动消息1101的源网络地址(即,发送消息1101的活性服务器120a的地址)不同。
[0371] 对用户设备104唯一地分配URI,并且每个URI分别构成用户设备104与远程系统130之间的共享密钥。
[0372] 因为在从第一过程的第一光脉冲开始的预定时间间隔内,第二过程的随机显示要素显示于ET集定义的随机点位处,所以使两个过程连。即,使各过程协调,使得在用户的眼仍在对光脉冲做出反应时的时间,即,在仍然该脉冲使用户暂时少许眩晕时,在随机点位处,对该用户显示该显示要素。当眼处于眩晕状态时(与非眩晕状态相比),眼在跟踪显示要素时的运动的差异达到可测量的程度,并且这些差异在人群中可预测,这用作第三实施例的活性检测过程的一部分。在涵盖发脉冲和显示该显示要素的时间间隔内,捕获至少一个运动图像,该至少一个运动图像构成形成第一和第二活性检测过程的基础的数据。在捕获过程中,用户的曲线Cv上的三个点与在这三个点之间运动的显示要素一起使用。
[0373] 在步骤S1108a和S1108b,用户设备104将在步骤S1107采集的信息分别以至少一个第一消息1102a和至少一个第二消息1102b的方式发送到瞳孔扩张服务器120b和眼跟踪服务器120c。
[0374] 在某些情况下,在用户设备104处不执行或执行最少的图像处理,并且将(各)运动图像或最少处理的(各)运动图像分别以第一和第二消息1102a、1102b的方式发送到服务器120b、120c,以远程系统130进行处理。在这些情况下,远程系统130执行第一实施例的活性检测过程的大多数步骤,并且特别是随时间计算瞳孔直径的变化;远程系统130还执行第二实施例的活性检测过程的大多数步骤,并且特别是随时间计算表示一段虹膜窗口的直方图。
[0375] 在其他情况下,用户设备执行大多数该处理。特别是,用户设备计算瞳孔直径和直方图的变化,其将该变化分别以第一消息1102a和第二消息1102b的方式发送到瞳孔扩张服务器120b和眼跟踪服务器120c。
[0376] 更一般地说,该处理能够以许多不同方式分布于用户设备104与服务器120b、120c之间。
[0377] 在用户设备104上提供至少一个安全执行环境,在该用户设备103中,完整地保护在安全执行环境下装载的代码和数据。在安全执行环境下执行活性检测处理,以致在用户设备104处执行活性检测处理。
[0378] 用户设备104对第一消息1102a和第二消息1102b添加签名。对于每个消息1102a、1102b,分别由用户设备基于PD参数集和ET参数集产生签名。
[0379] 将第一消息1102a和第二消息1102b发送到眼跟踪服务器120c和瞳孔扩张服务器120b的URI,如启动消息1101所指出的,而不反过来。将含有随机光脉冲测试结果的第一消息1102a发送到眼跟踪服务器120c;同样地,将含有随机显示要素测试结果的第二消息
1102b发送到瞳孔扩张服务器120b。换句话说,将每个消息发送到不是其最终预期目的地的服务器。
[0380] 请注意,服务器120a-120c的功能不需要分布于多个计算机设备之间(但是不排除)。即,其功能可以由单个设备或多个设备实现,但是在独立安全执行环境下-例如,在相同设备上,在独立安全执行环境下,由不同的处理实现该功能,甚或在独立安全执行环境下,由相同程序中的不同线程实现该功能。无论该功能如何在硬件水平上实现,关键方面还是三个服务器120a-120c构成网络118的三个独立网络端点,即:
[0381] ●将启动消息1101发送到用户设备104的端点;
[0382] ●发送第一消息1102a的端点,如启动消息1101(是用户设备104与远程系统130之间的共享密钥)所指出的;
[0383] ●将第二消息1102b发送到的端点,也如启动消息1101(也是用户设备104与远程系统130之间的共享密钥)所指出的。
[0384] 广义而言,使三个独立服务器120a一120c位于远程系统130内意味着将远程系统130配置成提供例如由三个不同URI或其他端点标识符定义的至少三个独立网络端点,并且远程系统130包括通过该端点实现与用户设备106通信的每个网络端点的关联逻辑。换句话说,服务器120a-120c是逻辑上互相相异的实体,每个实体是在后端系统130提供的独立安全环境下执行的各自代码组形式的。在URI空间内的三个URI互相不同的意义上,它们表示独立网络端点(即使它们最终对应于相同的IP地址,并且甚至对应于后端系统130的相同端口号,情况可以是这样或情况也可以不是这样)。
[0385] 将第一消息1102a的内容以及第一消息1102a的签名和收到其的URI从眼跟踪服务器120c传递到(S1110a)活性服务器120a。
[0386] 类似地,将第二消息1102b的内容以及第二消息1102b的签名和收到其的URI从瞳孔扩张服务器120b传递到(S1110a)活性服务器120a。
[0387] 通过步骤S1104a和S1104b,活性服务器120a分别访问PD参数集和ET参数集。其将这两个集与附接到第一消息1102a和第二消息1102b的签名进行比较(利用两个集,用户设备104产生对每个签名的调用)。
[0388] 活性服务器还访问第一消息1101中送到用户设备102的URI,并且将这些URI与第一消息1102a和第二消息1102b实际送到的URI进行比较。
[0389] 如果实际上使用的两个URI中的每个都不与应当使用的URI匹配,或者如果两个签名中的每个都不与参数集匹配,则将其传递到访问控制器214,从而导致用户102被拒绝访问远程系统130,例如,拒绝访问数据库132。例如,这能够通过自动将用户分类为不是活的对访问控制器214实现-即使不匹配的(各)URI和/或不匹配的(各)签名不直接表示这样。
[0390] 如果两个签名和两个URI确实匹配,则活性服务器120a将PD结果(即,眼跟踪服务器120c在步骤S110b提供的第一消息1102a的内容)送到(S1111a)瞳孔扩张服务器120b,并且将ET结果(即,瞳孔扩张服务器120b在步骤S1110a提供的第二消息1102b的内容)送到(S1111b)眼跟踪服务器120c。
[0391] 基于将第一消息1102a的内容与随机产生的PD参数集进行比较来产生例如用户102是活的的概率,瞳孔扩张服务器120b分别对每个眼执行第一实施例的活性检测技术,如上参考图2A-2D所做的详细描述。
[0392] 类似地,基于将第二消息1102b的内容与随机产生的ET参数集进行比较来产生例如用户是活的的概率,眼跟踪服务器120c分别对每个眼执行第一过程的活性检测技术,如上参考图6A-6V所做的详细描述。在此,第二过程检测眼呈现的运动何时与第一实施例的眼不久前暴露在中高强度的光脉冲中的事实不一致(即使一般地说该运动本身与随机点位一致)。显而易见,这能够通过将第二过程中使用的PDF的系数适当调整为标准设计过程的一部分实现。如果运动不一致,则这样降低用户102是人的系统概率(等同于提高用户102不是人的概率)。
[0393] 将第一过程和第二过程产生的概率合并成总概率(例如,通过均化,诸如加权均化),在步骤S112,将该总概率传递到访问控制器214,或者通过将在步骤S112传送到访问控制器214的该总概率与阈值进行比较,利用该总概率产生用户102是活的/不是活的的二元分类。然后,访问控制器214基于该信息判定是否许可访问远程系统130,例如,是否许可访问数据库132。
[0394] 通过后端系统130的界限内的同一个活性服务器120a,在服务器120b、120c之间“交换”消息(在步骤S1110-S1111),并且仅当两个签名和两个URI都正确时,活性服务器120a允许进行交换(步骤S1111)。这样使得中间人攻击(man-in-the-middle attack)更难发生。
[0395] 优选地,用户设备105与服务器120a(活性)、120b(瞳孔扩张)、120c(眼跟踪)之间的所有通信都通过安全通道。特别是,与“专用方法”相反,在具有众所周知属性(瞳孔扩张/端点)的方法中基于共享密钥的情况是这样。如果特定属性或者唯一地或者仅为少数参与者(椭圆形)知悉,则这本身很可能提供足够高的安全性,而无需安全通道。
[0396] 用户设备104与不同服务器120a-120c之间的安全通道(或适用的非安全通道)不需要通过相同的网络(尽管在上述示例中如此)。
[0397] 系统能够应用附加检验,该附加检验是从传输启动消息开始到收到第一和第二消息(无论是否是最新收到的)结束的时间间隔小于预定时间间隔(例如,3至10秒的长度)的检验。如果时间超过该预定时间间隔,则无论如何,拒绝用户102访问。在步骤S1112,能够采用例如从传输起动消息1101开始到活性服务器120a输出分类/总置信度值结束的替换时间窗口。
[0398] 在此提供的活性检测技术能够例如用作数字身份系统的注册过程的一部分。例如,申请人的共同未决美国专利申请14/622527、14/622709、14/622549、14/622737、14/622740描述了一种数字身份系统(在PCT/EP2016/053076中称为“uPass system”或“0riginal uPass system”),在该数字身份系统中,用户能够例如基于诸如护照的身份文档和其脸部的自拍图像(“自拍照(selfie)”)创建其数字身份的简档(在此称为“uPass”),通过引用这些共同未决美国专利申请并入本说明书中。当用户提交其自拍照时,能够将第三实施例的活性检测过程并入uPass注册过程。在这种情况下,访问控制器214由uPass注册模块实现,并且如果以足够高的置信度确定用户是人,则仅允许用户注册并且因此创建(各)uPass简档。
[0399] 如上所述,在第三实施例中,执行两个独立活性测试。在上述示例中,根据各自的独立的随机产生(各)参数的集,随机地执行两种测试-随机脉冲测试和随机显示要素测试。更一般地说,能够采用不同类型的两个独立活性测试,一个活性测试不是随机的。例如,一个测试可以涵盖监视移动设备104的运动,利用用户设备104的一个或者多个传感器(摄像头、陀螺仪、其他加速计、GPS等)记录移动设备104的运动。例如,当已知设备是移动设备时,预期在特定时间发生人引起的运动(例如,当用户设备执行特定动作时)并且能够将没有运动用作该设备未被人使用的指示。人具有许多由其进行中的生物过程产生的不同特征,这些生物过程的总和构成生命。上面提供的技术尤其基于可取决于生命的视觉特征,诸如,眼运动和瞳孔收缩。取决于生命的其他特征包含提供拇指印或指印的能,拇指印或指印还能够用作活性检测测试的基础(请注意,在这种情况下,正在测试的不是对指印附加的身份,即,与已知的指印图案匹配不是正在寻找的-其仅是人在特定地点提供人的指印或拇指印的能力,其正在用作生命的标示符)。
[0400] 作为又一个示例,现在将参考图16A-17描述附加示例性活性测试。与第三实施例中一样,通过执行多个基于这些生命特征中的不同生命特征的不同活性测试,测试更大范围的类生命特征,从而能够以更大的确定性进行推定。
[0401] 基于运动的活性测试
[0402] 下面的活性测试基于用户与其设备之间的相对运动,即,用户相对于设备的运动、设备相对于用户的运动(在某些情况下,更适用,如下所做的解释)、或用户和设备运动的组合。
[0403] 与上面陈述的技术不同,这些测试不取决于对随机输出的生理反应。
[0404] 运动能够由用户根据请求按照用户设备104输出的(例如显示于用户设备104上)指令执行(主动测试)。作为一种选择,能够采用被动形式的测试,相反,被动形式的测试取决于当移动设备正在呈现没有明确请求的自然运动时捕获视频。或者在某些情况下,其适合使用请求运动和自然设备运动的组合。
[0405] 图16A-B和图16C分别图示基于在用户设备104的前置摄像头108F捕获的运动图像中确定的前方基准特征相对于后方基准特征呈现的视差。视差是在该情境下当沿三维空间中对应于捕像设备的光轴的不同取向的不同视线观看时,后方物前的前方物表现相对于后方物运动。换句话说,在光轴旋转时,前方物表现以比后方物快的速度运动。在捕像设备相对于该物运动时,运动图像中处于不同景深的物呈现视差。
[0406] 此处的属于“前方”和“后方”基准特征意味着运动图像中的可识别结构,使得前方基准特征预期位于后方基准特征前面,即,如果捕像设备在运动图像中捕获的是真实三维用户,则沿着其光轴,与捕像设备分离开较小距离(与位于摄像头的视场中的用户的二维图像不同,因为捕获运动图像)。
[0407] 对后端系统的范围可根据确定的视差调控,并且特别是,如果确定的视差不超过阈值,其中根据这种情况下要求的容差,该阈值可以是零或接近零,则可以拒绝该访问(因为该阈值指出运动图像中存在平面,而非实际三维用户)。即,可以拒绝该请求,因为确定该视差基本上是零(零或接近零)。
[0408] 该视差能够例如通过确定运动图像中的前方基准特征与后方基准特征之间的相对速度(即,相对分隔的变化)来确定。
[0409] 例如,前方基准特征可以是用户的鼻子,而(各)后方基准特征是用户的嘴和/或者(各)眼(或相对于其限定的点或区)。例如,在图16A所示的示例中,活性检测基于确定的用户的鼻子尖上的点P3与相对于用户的眼和嘴限定的点之间的视差。这能够由摄像头的旋转、用户的头的旋转或二者的组合实现。然而,在优选实施例中,能够强加必要条件,使得为了通过测试,该效果必须由摄像头的旋转,而非用户的头的旋转实现,因为这样能够防止某些类型的重放攻击(参见下面)。
[0410] 作为另一个示例,与图16b所示的示例相同,前方基准特征可以是用户本身,而后方基准特征可以是用户设定的背景区。这能够例如由摄像头的旋转实现。
[0411] 在此公开的活性检测过程中的任何一种能够单独地使用,也能够互相组合地使用或与现有活性检测测试组合地使用,以以上述方式调控对远程系统130的访问。
[0412] 能够以许多方式在远程系统130处创建数字身份。例如,通过以安全方式将从捕获的身份文档获得的个体属性存储于数据存储器132中,使得用户102能够根据其选择对其他人呈现这些属性中要求的属性。例如,本申请人的共同未决PCT专利申请PCT/EP2016/053076公开了一种数字身份系统(修改的uPass系统),在该数字身份系统中,数字身份能够以这种方式基于属性创建,并且通过引用该共同未决PCT专利申请并入本说明书中。图15F所示的方法能够例如并入在此描述的注册过程中。
[0413] 基于人脸结构的防骗(图16A-16B)
[0414] 术语“基于人脸结构的防骗”在此用于指一组基于知晓脸部的二维静止图像是3D脸部在2D图像面上的投影结果的方法。这种知晓使得能够采用一种技术,在该技术中,如果给出来自同一个脸部的不同角度的少至两个视频帧图像,则能够很好地将静态列印攻击(static print attack)与真实输入区别开。下面描述用于解决当试图自动从视频流中进行帧选择时产生的问题的附加技术。还引入了适合对抗不同类型的恶意输入,诸如重放攻击的不同方法。
[0415] 帧结构防骗
[0416] 研究例如摄像头在两个帧中处于不同的角度的个体脸部的两个静止图像,如图16B所示。在此称为界标检测的技术用于很好地定位脸上的关键点。在该小节,仅采用下面的一组点:
[0417] ●P1:左眼中心
[0418] ●P2:右眼中心
[0419] ●P3:鼻子顶点
[0420] ●P4:左唇连合处(即,左嘴角)
[0421] ●P5:右唇连合处(即,右嘴角)
[0422] 附加点P6定义为P1P5与P2P4(即,点P1至P5之间的线和点P2至P4之间的线)之间的交点。该点P6定义脸部的中心。确定位移向量P=P6P3(“姿势向量”)形式的距离量度,即,点P6与P3之间的向量分隔。向量P6P3当绘制于人脸部的静态列印图片上时表现非常不同。
[0423] 图16A图示如何在上面讨论的各种基准点之间绘制向量。图16B图示沿并列图像中的两个不同视线示出的对真实脸部应用的这些技术。这样使得诸如姿势向量P的向量差用于确定捕获的运动图像中的脸部的运动是三维物的运动还是脸部的平坦二维图像。运动图像正由用户设备的摄像头108捕获。
[0424] 眼R1、R2(右眼)和L1、L2(左眼)任一侧上的基准点被识别并且跟踪,因为运动图像中的脸部呈现运动,嘴的两侧(分别是左侧和右侧)上的嘴基准点P4和P5同样如此。将每个眼的眼中心点P1、P2分别确定为R1和R2与L1和L2之间的中点。然后,将点P6确定为线P1-P5与线P2-P4的交点。即,从每个眼的近似中心到接近位于对置嘴角上的点的线。
[0425] 交点P6接近位于用户鼻子的顶点上的点P3。确定并且跟踪作为姿势向量P的向量差=P6P3=P3-P6(或P6-P3)-该选择不重要。如上所述,对于三维人脸的,即,真实脸部的运动图像,预期该向量差P以特定方式随着用户使其头部左右地运动或俯仰地运动而发生变化。这是因为点P6即鼻子上在三维空间中沿着用户的朝向位于点P1前方的点。然而,如果在运动图像中捕获的是脸部本身的图像,即,脸部在平面上的二维表示,则向量差P的任何变化都与三维脸部的向量差的变化差异达到可测量的程度。因此,通过在捕获运动图像时,在用户使其头部或(优选地)使其设备运动时,弄清楚向量差P的变化,能够将真实三维脸部图像与二维脸部图像区别开。如上所述,这是非明确请求的自然运动,或者该运动可以是通过在用户设备104输出适当指令请求的。
[0426] 图16B示出从不同角度捕获的同一个脸部的两个静态图像,这两个静态图像分别是视频帧F0和F1。点P1-P6示于每个图像中,并且由用户的摄像头的旋转(在这种情况下)导致其相对点位的变化显而易见。
[0427] 帧F0和F1中的姿势向量P被分别表示为P0和P1。
[0428] 确定附加向量S=PO-P1。向量S的向量范数被确定为该输入的得分。通过引入根据经验计算的阈值T,能够确定该输入是否是真实的,如果范数(S)>T,则该实体仅通过该测试。值范数(S)是向量P0与P1之间的标量差的量度。
[0429] 这代表极有效的防骗测试,这能够利用少至两个视频帧F0、F1和计算有效的图像处理实现。
[0430] 尺度不变性和旋转不变性
[0431] 能够产生的问题是,如果在一个帧中脸部比其他部位更显著接近摄像头,则列印静态内容可能欺骗防骗检测器。出于此目的,引入了尺度不变性的概念。
[0432] 为了实现尺度不变性,对于帧F0、F1中的每个确定眼的中心之间的相应距离,并且将该距离作为尺度因数应用于姿势向量。即,列印该因数缩放该帧P的姿势向量,以对对被摄物与摄像头之间的距离不敏感的帧产生新向量P’:
[0433] P′=P/|P1P2|
[0434] 因此,分别对于帧F0和F1,分别利用该帧中的眼之间的距离缩放P0和P1。
[0435] 能够产生的另一个问题是当输入是被摄物使其头部向一侧旋转~30度的静态列印图片时。因此,攻击者通过在两帧之间使列印图片旋转90度并且获得高于阈值的得分S可欺骗防骗系统。为了解决该问题,引入了旋转不变性,在旋转不变性中,测量线(P1P2)相对于图像的水平方向的角度,并且使姿势向量P旋转该角度:
[0436] P′=旋转(角度(P1P2),P)
[0437] 位于眼各自中心的点P1、P2是既提供尺度不变性又提供旋转不变性的适当基准点,因为尽管在用户使其头部运动时其可以运动,但是其在脸上的位置是固定的(即,与嘴角上的点P4和P5不同,点P4和P5在脸上的位置可因为脸的表情而变化)。还能够使用脸上的其他这种点(即,处于脸上的固定点位的)。
[0438] 取向归一化
[0439] 情况也可能是,如果两个帧之间的角度太大,则甚至静态列印输入可获得大到足以通过防骗测试的得分S。
[0440] 通过在阈值化之前根据两个帧之间的取向角度的实际变化归一化,能够解决该问题。
[0441] 这要求例如以某种方式估计用户的脸的取向/姿势,如在下一个小节中所做的描述。
[0442] 基于3D脸部姿态估计的帧选择
[0443] 如果两个帧F0、F1选自单个摄像头获得的连续输入流,则产生的一个主要问题是如何选择适当帧。
[0444] 正是重要的,因为如果两个选择帧之间的取向变化太小,则所有输入将被错误地分类为攻击,而非真实脸部。鲁棒的姿态估计方法允许选择一对适当帧。
[0445] 3D脸部姿态估计
[0446] 为了由单个2D图像(视频帧)估计3D脸部姿势,将类属3D脸部形状模型用作基准。利用该3D基准形状模型,通过发现2D图像中的与3D脸部模型的表明上的相同界标点之间的
2D-3D对应性,估计用于捕获2D图像的投影矩阵。
[0447] 3D-2D投影矩阵一被确定就被用于计算欧拉角(Euler angle),该欧拉角根据其滚动角、俯仰角和偏转角规定每个视频帧上的3D脸部姿态。欧拉角是已知的数学构造,该数学构造还用于将一个基准帧相对于另一个的取向描述为例如三元组的角度值(诸如,俯仰角、滚动角和偏转角)。
[0448] 获得了每个视频帧上的3D脸部姿态后,选择两个2D图像作为取向变化大到有助于实现两帧结构防骗方法。即,选择的两个帧使得脸部在这些帧中的各自取向之间的差超过适当选择的阈值而与测试本身的参数匹配。
[0449] 输入的连续性
[0450] 对防骗系统的潜在攻击可能是自两个不同角度对同一个人拍摄的两个独立静态照片并且在视频捕获时用一个代替另一个。
[0451] 这能够通过将附加检验引入图像处理中,即,确保脸部检测箱位置和界标是贯穿该输入以合理的速度移动的单个物的典型来实现。这意味着,脸部永远不能被遮挡,永远不能一个时间多于一个脸部,并且在馈送输入时,其不能从一个点“传递到”另一个点。为此,能够对视频帧F中的脸部确定速度度量(例如,标量速度或速度向量),并且将其与速度阈值进行比较。该实体不能测试是否在任何时间都超过速度阈值。
[0452] 重放攻击的延伸
[0453] 迄今为止,攻击者在摄像头的前面显示来自设备/屏幕的活体对象的视频的较廉价且简单的攻击尚没有解决。
[0454] 为了解决这种类型的攻击,能够引入附加必要条件,即,在用户正在移动握着摄像头108的手时,正在从不同视角捕获其脸部时,用户的头部几乎保持静止。即,要求用户在保持其头静止的同时旋转摄像头108。
[0455] 因此,通过测量脸部姿态随时间的变化(即,姿势向量P的变化)与用户在现实世界中正在使设备移动的方式的相关性,能够区别真实注册尝试和重放攻击。为了估计设备在现实世界中的点位和取向,使用用户设备104上的可用惯性传感器。非常大量的当代移动设备装备有这种传感器(例如,加速度计、陀螺仪和磁力计)。
[0456] 利用上述方法对每个帧估计3D脸部姿态。因此,实际上能够将对重放攻击的活性检测问题转换为时间序列似然性测量问题,在时间序列似然性测量问题中,如果似然性得分高于根据经验确定的阈值,则确定输入视频流是否显示真实登录尝试。
[0457] 最后,为了确保脸部姿态的变化是由捕像设备108的位移而非因为头部的运动导致的,确定各自的传感器数据的方差,并且为了使实体通过测试,能够引入确定的方差高于规定阈值的必要条件。
[0458] 下面描述如何通过用户界面利用给予用户的方向和图形指示采集用于姿态估计的数据。因此,用户界面设计用于帮助从移动设备采集数据,以执行姿态估计。用户界面设计的目的是引导用户执行为了执行姿态估计所需的特定运动。在记录在脸部与移动设备之间形成不同角度的脸部时,用户必须改变移动设备的取向。也就是说,移动设备必须移动,以以用户的脸部与移动设备之间的各种视角捕获图像。基于上面描述的3D建模,确定移动设备相对于用户的脸部的角度的变化。
[0459] 图21A示出移动设备在Y取向上的运动。这是当通过其Y轴移动时,移动设备经过的运动范围的示例。箭头2102示出该运动的方向和该运动的范围的示例。电话绕水平轴旋转,使得移动设备的顶缘和底缘靠近用户移动或另外的离用户移动。也就是说,Y取向上的运动导致移动设备的顶缘向握持移动设备的用户移动,而底缘离开用户移动,或者移动设备的底缘向用户移动,而顶缘离开用户移动。
[0460] 图21B示出移动设备在X取向上的运动。这是当通过其X轴移动时,移动设备经过的运动范围的示例。箭头2104示出该运动的方向和该运动的范围的示例。电话绕垂直轴旋转,使得移动设备的左缘和右缘靠近用户移动或更远离用户移动。也就是说,X取向上的运动导致移动设备的左缘向握持移动设备的用户移动,而右缘离开用户移动,或者移动设备的右缘向用户移动,而左缘离开用户移动。
[0461] 图22、23和24示出用户界面,如图用户看到的。对用户提供图形指示,以有助于用户操纵移动设备,从而满足运动必要条件。
[0462] 图22示出两个同心圆2202和2204。给予用户的任务是改变含有他们的脸部2206的圆的尺寸。要求用户使其内有用户的脸部的圆2206保持介于2202和2204所示的两个圆之间的尺寸。正是对用户显示的其内具有用户的脸部的圆必须使其缘向着或者离开所有显示圆的中心移动,直到该圆缘落入两个固定圆2202和2204的缘之间,该显示圆是同心的。圆2202和2204可用仅在短时间有固定尺寸。也就是说,圆2202和2204可以在显示器中具有固定尺寸,直到足以完成该任务。然后,在完成该任务时,可以改变圆2202和2204的尺寸。可能需要重复执行该任务,直到涵盖必要运动范围时的时间,或者直到满足某些其他规定判据。还可以随时间改变含有用户的脸部的圆2206的尺寸。也就是说,可以随时间连续地或递增地改变圆2206的尺寸,并且可以要求用户通过在Y取向上改变移动设备的角度校正圆2206的尺寸,使得其再次落入圆2202和2204设定的限制之间。作为一种选择,可以随时间连续地或递增地改变圆2202和2204的尺寸。在另一个替换例中,可以以使这两种运动组合的任意方式改变圆2202、2204和/或2206的尺寸。也就是说,在一个这种示例中,可以随着时间少量地连续改变圆2202与2204之间的目标区,并且接着,在完成该任务时,可以大量地改变其尺寸。
[0463] 通过在Y取向上使移动设备俯仰,改变圆2206的尺寸。利用箭头2208指出要求的俯仰方向。随时间改变圆2206的目标区或显示尺寸,并且然后使移动设备俯仰,以校正该变化并且将圆2206的缘重新定位于圆2202和2204所示的限制内。含有用户的脸部的圆外的背景区,即,未示出图像的地方可响应含有用户的脸部的圆2206不是满足该必要条件的正确尺寸而变成红色,如暗区2210所示。
[0464] 图23示出位于用户界面的两侧上的两组并列条。最内的一组条2302或(各)活动条对应于移动设备在Y取向上的俯仰。在该示例中,上面描述的俯仰导致一个或者多个活动条2302填充或清空或增加高度或减小高度。对用户设定的任务是在相对于相邻最外指示符条
2304上的标记测量时,保持活动条2302的高度(即,该条的最顶缘),或者对准两个边界2306内或者与特殊颜色的区段2308对齐。该任务可以是使活动条2302与限定的目标区的中部对齐。箭头2208用于指出需要改变的取向。也就是说,箭头2208指出要求用户使移动设备俯仰的方向以实现目标并且完成该任务。
[0465] 图24示出与图23中相同的并列条排列。指示符条的目标区以上面对限定图22所示目标区的同心圆的运动描述的方式类似的方式改变。也就是说,即,通过使边界2406更互相接近到一起地移动或更互相远离地移动,两个限制2406限定的目标区可随时间改变尺寸。目标区还可随时间整体地移动,以增大或缩小指示符条2404的长度。当高度或最顶缘对准指示符条2404上的目标区的外侧时,活动条2402可以是一种颜色的,而当对准指示符条
2404的目标区内时,改变颜色。例如,当正确对准时,活动条2402b可以是蓝色的,而当不正确对准时,可以变为红色2402a。
[0466] 在实施例中,活动条和指示符条可以部分地或完全覆盖,或显示为单个条,其中一个条表现为位于另一个条内或顶上的条。因此,两个条中的每个都可以部分地不透明的或不透明的,以使每个条的必要部分和指示符可见。要求用户执行上面描述的任何一个任务便于验证在移动设备的摄像头前面存在实际3D脸部。用户必须对移动设备执行相对于其脸部的校正旋转,从而被认为成功地完成了该任务。也就是说,仅当脸部是3D并且旋转与预期的匹配时,许可请求。如果用户不能完成要求的任务,则可以拒绝访问远程系统130的请求。
[0467] 附加活性测试
[0468] 图16C图示另一个示例性活性测试,该活性测试基于所捕获的运动图像中的用户相对于该运动图像中的背景的相对运动。其基于实现:对于诸如墙壁的可检测背景前面的三维空间内的真实用户,预期捕获运动图像时的用户设备的运动使捕获的运动图像内的用户和墙壁发生相对运动。
[0469] 该技术使得能够检测位于与三维脸部对着的用户设备前面的脸部的平面图像。
[0470] 图16C示出当用户设备104的特定运动能够用于确定活性时,如何检测背景BG相对于用户的运动。在图16C的左侧上,能够看到用户102握持用户设备104直到捕获自拍视频图像。其次,在同一个视频图像中,背景BG可见。在用户102移动用户设备104时,从用户设备104的观点看,对于3D空间内的真实用户,用户后面构成背景BG的物具有比用户102大的视差。用户102可以保存使其在同时使摄像头移动时捕获的自拍视频图像内的图像,如箭头
1602所示。这样做使得背景BG在捕获的运动图像内运动,如图16C的右侧所示。观察到背景BG离开用户设备的视点的运动处于与用户移动用户设备相反的方向,如箭头1606所示。对于在三维空间内位于真实背景前方的真实三维用户,因为视差现象,在用户设备在捕获运动图像的同时移动时,背景的速度与用户的速度不同。此处的术语“前方”意味着用户102与背景BG在垂直于捕获的运动图像的平面的方向上,即,当捕获运动图像时,平行于用户设备的摄像头的光轴的方向上的距离不是零。
[0471] 图16A至16C所示的活性检测技术尤其在计算复杂性方面有效,因为这些技术要求最少的图像处理。
[0472] 图17图示基于用户的眼的镜面反射的另一个示例性活性测试。用户设备104显示优选地随机产生的、例如从一序列图像中选择的、利用随机选择的图像要素产生的、或利用随机图像数据产生的图像1702。用户102观察该图像,并且用户设备104的摄像头108F捕获自拍视频图像1704。以来自用户眼的表面的观察到的图像1702R的反射也能够被捕获的足够高的分辨率和质量捕获自拍视频图像1704。这样可以确定用户在捕获自拍视频图像时看到的图像。通过确定在具有特定时间值的特定时间显示于用户设备104上的图像是自拍视频图像1704中捕获的用户的一个或两个眼的镜面反射1702R中观察到的相同图像,并且在时间戳中具有相同的时间值,这样能够检验活性。在图17中,在捕获图像1704中的来自用户的一个眼的镜面反射1702R中能够看到三角和圆的显示图像1702。反射图像在被反射时被颠倒,并且以眼的表面的曲率翘曲
[0473] 图17所示的活性测试不基于生理反应,而基于肉眼的生理特征,即,其镜面反射特性。
[0474] 此外,尽管在上述示例中,单个用户设备104执行两个活性测试,但是这两个测试可由用户可用的多个并置设备执行-例如,一个测试由用户的膝上型计算机执行,而另一个测试有其智能电话执行。如果使用上面描述的类型的签名,则在这种情况下,仍将两个参数集都发送到每个设备,使得每个设备都能够由两个参数集产生签名。
[0475] 基于活性检测的心搏检测
[0476] 图20A-B图示另一种活性检测,该活性检测基于脉冲检测。图20B示出该方法的流程图,而图20A演示如何可以分离出用户的脸部的皮肤区,从而在该方法中使用。
[0477] 用于检测摄像头108前面的人102的活性的脉冲检测方法包括通过他的或她的脸部的视频流估计人102的心率。该方法利用光学成像传感器测量皮肤颜色的微小变化,这有时被称为远程光电容积描记法(remote photoplethysmography)。光电容积描记图(PPG)是光学上获得的容积描记图(plethysmogram),传统上用于获取器官的容量量度。对于每个心动周期,心脏将血液送到身体的外围。尽管获得的压力脉冲由其到达皮肤的时间少许衰减,但是其足以使皮下组织中的动脉和小动脉膨胀。通过利用光照亮皮肤并且然后测量发出的或反射的光量,检测压力脉冲导致的容量的变化。每个心动周期的结果是在获得的光电容积描记图中或容积描记时间序列信号中形成峰。因此,利用这些技术,通过监视皮肤反射的光的颜色的变化,能够由视频流获得容积描记信号。
[0478] 光电容积描记法的原理在医学科学技术领域公知。在此,这些原理发现新应用,即,调控用户设备104通过网络118对远程系统130的访问,除非该方法能够检测到用户的皮肤发生颜色变化,否则拒绝访问,用户皮肤颜色的变化是人心搏的指示特征。
[0479] 显而易见,术语“颜色”并不局限于色彩,而且还涵盖亮度。即,亮度或色彩的变化独立地或组合地构成颜色变化。
[0480] 在图20的步骤S2004,通过标准的脸部检测算法,在视频流中检测脸部102。在步骤S2006,对全部帧或选择的帧计算脸部界标,例如,L1、P7、和P4(但是,这纯粹是示例性的)。然后,在步骤S2008,利用脸部界标位置限定大部分含有皮肤的兴趣区2002。此外,能够选择相对于所使用的脸部界标的位置呈现最小运动量的一个子序列的连续帧,以改善进一步处理。类似地,图像稳定技术能够在脸部检测之前或之后应用于视频流,以补偿握持该设备的用户产生的自然运动。
[0481] 在步骤S2010,从兴趣区提取容积标记时间序列信号。这能够利用各种方法实现。最直接的方法就是通过简单地以兴趣区内的视频流的抽样排列取强度像素值形成容积标记信号。即,特定点位处的颜色值的时间序列。为了相对补偿运动、亮度变化和噪声,优选地均化相邻像素,而非取单个像素。此外,依靠从兴趣区的不同点位提取的多个信号,而非仅一个信号用于估计心率频率通常更好。一种可能的方法是选择兴趣区内的不同点位创建一组信号。即,不同点位的多个时间序列。然后,基于某些判据,能够选择该组信号来提供可靠子集。例如,选择判据可以是与对多个时间序列确定的整个频谱中的其他频率相比,主频率在给定时间序列中有多强。在极端情况下,能够提取兴趣区内的所有点位处的所有信号,并且应用各种方法仅选择含有最关联信息的信号用于心率估计。
[0482] 由于视频流含有RGB信道,所以能够仅使用已经示出含有最强容积标记信号的绿信道(即,仅绿像素值)。然而,还能够独立地或以任意组合方式使用所有信道(R、G、和B)。例如,通过计算这些信号的线性组合提取较强信号。作为一种选择,还能够解决盲源信号分离情境下的问题,以利用标准原理或独立分量分析方法,由可能来自不同点位的R、G和/或B信道的一组混合时间序列信号求得容积标记信号。
[0483] 通常,与步骤S2012相同,对时间序列信号应用多个处理步骤也是有益的。这能够包含在人心率范围内进行平滑、消除趋势和/或带通滤波。平滑将有助于消除噪声,并且能够利用简单移动平均滤波器实现。消除趋势将有助于降低该信号中的非平稳性(因为设备的运动产生的不一致性)和其他趋势,使得集中于信号的周期性。容积标记信号的变异性能够有各种来源,包含被监视的特定情况下光突然变化。最后,带通滤波可限制对人似乎可能的脉冲频率(例如,心搏频率)。即,滤除太高或太低而不可能作人心搏的频率。因此,与步骤S2014相同,能够确定是否存在心搏,并且如果如此,则估计该人的心率。
[0484] 该方法估计与人体中的生理变化有关的频率,其是人活体的典型特征。因此,其对许多攻击强劲,诸如呈送列印脸部图片、在电子设备上显示图片、物理2D/3B面罩或2D/3D计算机产生的脸部,因为这些攻击的视频不含有容积标记信号,并且因此,没有与心率有关的主频率。
[0485] 通过更仔细分析与真实视频的频谱相比呈现差异的频谱,能够解决具体的视频重放攻击。特别是,通过利用从一组训练标准频谱或欺骗频谱中提取的特征对频谱分类,由机器学习透视解决该攻击。作为一种选择,通过在诸如时频分析中附加使用时间信息,可提取更强有力的特征。
[0486] 在此公开的不同活性测试中的任何一个都能够互相组合地或与现有测试组合地实现,也可以作为独立测试实现。所描述的测试中的一个或者多个能够作为注册过程的一部分实现,以例如,基于现实世界的身份文档,创建数字身份(例如,在原始uPass系统或修改的uPass系统中)。
[0487] 例如,在一种实现中,将5个活性检测测试组合。这图示于图18中,
[0488] 图18是图示能够将这5个测试组合的方案的高级方框图。这5个测试是:
[0489] ●图16A所示的结构/姿态估计(LT0,图19)
[0490] ●图2A所示的瞳孔反射测试(LT3)
[0491] ●图6A所示的眼跟踪测试(LT4)
[0492] ●图15C所示的视位/单词匹配测试(即,唇读),其试图识别用户是否根据请求说出(各)正确单词(LT1)
[0493] ●脸部的特定关键区域的纹理分析测试,其试图识别是否存在通常出现于重放攻击中的特定视觉效果(LT4)。
[0494] 将这5个测试组合,以以下面描述的方式产生总得分SC。
[0495] 在某些情况下,能够执行初始检验(S1800),以确保用户头部的姿态(即,取向)的任何变化都与利用该设备捕获的惯性传感器数据相关。该检验确保这些运动由该设备相对于用户的头部的运动导致,而非由用户的头部的运动导致。如上所述,这样对抗基于记录视频的重放攻击。例如,通过与3D脸部模型进行比较,能够确定用户的姿态(例如,表示脸部相对于运动图像的平面的取向的姿态向量),并且与传感器数据进行比较,改变该姿态。即,基于3D脸部姿态跟踪和跟踪的姿态与移动惯性传感器的相关性。
[0496] 如果该运动与惯性传感器数据不匹配,则该实体未通过测试(S1802);如果匹配,则该方法进入测试L0。
[0497] 首先,作为二进制通过/未通过测试,执行姿态测试LTO。如果在该测试LTO中,确定P3P6向量不呈现要求的运动特征(未通过),则通过产生零值的总分SC,拒绝承受该测试的实体(步骤S1802)。
[0498] 然而,如果该实体通过测试LTO,即,如果确定P3P6向量呈现要求的运动特征,则在步骤S1804,并行地执行剩余的4个活性检测测试LT1-LT4。独立地执行每个活性检测测试,以估计各自的得分-分别标为“S1得分”-“S4得分”。对于测试L1,得分S1是参考图15D描述的得分。
[0499] 对于测试L4(纹理分析),基于对实体的运动图像应用的网络分析函数的输出,分类器1806产生得分S4。每个测试都能够应用于同一个视频,即,承受该测试的实体的同一个运动图像。
[0500] 将每个测试的得分输出到探视得分引擎1906,通过对得分S1-S4应用得分组合函数,该探视得分引擎1906将这些得分组合,以估计该视频是攻击还是不是攻击的总概率,该总概率由总得分SC表示。例如,总得分可以取0与100之间的值,0和100分别对应于概率0(明确是攻击)和概率1(明确不是攻击)。
[0501] 图19是图示为了有助于图18所示的组合活性测试,如何能够对运动图像的每个帧F应用预处理的功能方框图。
[0502] 脸部检测块1902表示对每个帧的脸部检测过程,以检测其内用户的脸部。脸部检测模块1094具有连接到脸部界标检测模块1904的输入的输出,该脸部界标检测模块1904检测要求的脸部界标(例如,由于图19的组合测试的两个眼、嘴和鼻子的界标)。然后,提取眼区和嘴区(分别由块1906和1908表示),以在有关测试中使用。图19所示的功能块能够在用户设备104处、服务器120处实现,也能够分布于用户设备104与服务器120之间。
[0503] 为了实现在此公开的任何一种活性检测测试而执行的处理能够在服务器120处、用户设备204处实现,也能够例如基于通过网络118在用户设备104与服务器120之间进行的通信,其一部分在服务器120处执行,一部分在用户设备104处执行。因此,例如,通过经网络118将测试参数从服务器120发送到用户设备104,用户设备104能够执行必要用户设备处理,并且通过经网络118将图像数据(例如,用户设备104处捕获的图像数据或在用户设备
104处从运动图像提取的信息)发送到服务器120,服务器120能够执行必要服务器侧处理。
[0504] 尽管参考特定实施例在上面进行了描述。但是这些是示例性的,其他变型例对于技术人员显而易见。范围不由所描述的实施例限定,而仅由下面的权利要求限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈