CN109074441B - 基于注视的认证 - Google Patents

基于注视的认证 Download PDF

Info

Publication number
CN109074441B
CN109074441B CN201780026364.9A CN201780026364A CN109074441B CN 109074441 B CN109074441 B CN 109074441B CN 201780026364 A CN201780026364 A CN 201780026364A CN 109074441 B CN109074441 B CN 109074441B
Authority
CN
China
Prior art keywords
gaze
user
scene
tracking data
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780026364.9A
Other languages
English (en)
Other versions
CN109074441A (zh
Inventor
J·C·戈唐
C·科斯金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109074441A publication Critical patent/CN109074441A/zh
Application granted granted Critical
Publication of CN109074441B publication Critical patent/CN109074441B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/19Sensors therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/60Static or dynamic means for assisting the user to position a body part for biometric acquisition
    • G06V40/67Static or dynamic means for assisting the user to position a body part for biometric acquisition by interactive indications to the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Abstract

可以使用注视跟踪来认证用户以访问账户、计算设备或其他资源。可以通过提示用户标识场景内的多个注视目标来建立基于注视的密码。基于注视的密码可以用于认证用户以访问资源。在一些示例中,当用户尝试访问资源时,场景可以呈现在显示器上。在一些示例中,场景可以是包括用户的真实世界环境的真实世界场景或混合现实场景。可以在用户正在查看场景时跟踪用户的注视以生成登录注视跟踪数据。可以将登录注视跟踪数据与基于注视的密码进行比较,并且如果登录注视跟踪数据满足基于注视的密码,则可以认证用户以访问资源。

Description

基于注视的认证
背景技术
经常要求用户登录以认证他们的身份以便访问在线账户、计算设备或其他计算资源。存在很多认证技术。例如,在访问计算资源之前,可能要求用户提供登录名、电子邮件地址、个人标识号码(PIN)、基于文本的密码、图片密码、数字证书、物理访问凭证(例如,智能卡)、电话号码、生物识别信息(例如,指纹、视网膜扫描等)、一个或多个安全问题的答案、和/或其他标识信息。认证已经成为用户在计算机上进行的几乎所有事情的常见要求。然而,这些现有的认证技术繁琐,耗时,容易出错并且使用户分心。很多现有的认证技术需要使用手或语音,这使得具有损害这些能力的使用的残疾的用户无法使用这些技术。更进一步,很多现有的认证技术需要多个认证因素,以便增加安全性并且避免计算机或机器人的攻击。
发明内容
本公开描述了用于使用注视跟踪来认证用户以访问账户、计算设备、位置或其他资源的技术。
在一些示例中,可以提示用户为资源建立基于注视的密码。例如,可以提示用户标识场景内的多个注视目标,并且注视目标可以用于构建可用于访问资源的基于注视的密码。场景可以包括一个或多个图像 (例如,照片、二维或三维计算机生成图像等)、真实世界场景和/ 或混合现实场景。注视目标可以是场景内的固定位置(例如,在场景中描绘的对象、或场景本身的几何特征,诸如场景的中央、角落、边缘或其他边界),或者可以对应于在场景中可重新定位或可移动的物理或数字对象。附加地或替代地,场景本身可以是静态的(即,不变的)或动态的(即,场景的一个或多个对象或部分可以是变化的或动画的)。
基于注视的密码可以用于认证用户以访问资源。在一些示例中,当用户尝试访问资源时,场景可以呈现在显示器上。在一些示例中,场景可以是包括用户的真实世界环境的真实世界场景,或者是包括用户的真实世界环境和增强真实世界环境的计算机生成图像的混合现实场景。场景可以包括一个或多个图像或对象。可以在用户正在查看场景时跟踪用户的注视以生成登录注视跟踪数据。可以将登录注视跟踪数据与基于注视的密码进行比较,并且如果登录注视跟踪数据满足基于注视的密码,则可以认证用户以访问资源。
本文中描述的基于注视的认证技术提供了一种快速且简单的方式来认证用户以访问资源,而不需要触摸或语音输入,使得它们可以被很多残疾个体使用。在一些示例中,本文中描述的基于注视的认证技术可以更安全地抵抗计算机或机器人的攻击,并且可以在不需要捕获和存储生物识别或其他个人信息(例如,指纹数据、视网膜数据等) 的情况下实现。因此,在一些情况下,使用基于注视的认证技术可以消除对多因素认证技术的需要,从而减少认证用户所需要的步骤和处理操作的数目。
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键或必要特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
参考附图来阐述“具体实施方式”,附图中的附图标记的最左边的数字标识首次出现附图标记的附图。在相同或不同附图中使用相同的附图标记表示相似或相同的项目或特征。
图1是示出用于对计算资源启用基于注视的认证的示例环境的示意图。
图2示出了可用于使用由单个图像组成的场景来建立基于注视的密码的示例用户界面。
图3示出了使用图2的场景使用基于注视的密码来认证用户以访问计算资源的示例过程。
图4示出了使用由多个图块图像组成的场景来建立基于注视的密码的示例过程。
图5示出了使用图4的场景使用基于注视的密码来认证用户以访问计算资源的示例过程。
图6示出了使用由多个图块图像组成的场景来建立基于注视的密码的另一示例过程,该密码包括跨越多个图块图像的元素和个体图像内的元素。
图7示出了使用混合现实场景来建立基于注视的密码的示例过程。
图8示出了使用图7的场景使用基于注视的密码来认证用户以访问计算资源的示例过程。
图9示出了使用包括跨越多个虚拟对象的密码的混合现实场景来建立基于注视的密码的另一示例过程。
图10示出了使用真实世界场景来建立基于注视的密码的示例过程。
图11示出了使用图10的场景使用基于注视的密码来认证用户以访问计算资源的示例过程。
图12示出了可用于实现基于注视的认证的示例头戴式计算设备的细节。
图13A-图13C示出了通过跟踪用户的注视来标识注视目标的示例细节。
图14A-图14F描述了用于获取用于注视跟踪的校准数据的示例技术。
图15A-图15F描述了用于处理校准数据和其他数据以标识注视目标的示例技术。
图16是示出用于从注视跟踪数据确定注视目标的示例过程的各方面的流程图。
图17是示出可用于实现基于注视的认证的各方面的示例计算机架构的示意图。
图18是示出能够实现基于注视的认证的各方面的示例分布式计算环境的示意图。
图19是示出可用于实现基于注视的认证的各方面的另一示例计算设备架构的示意图。
图20是示出用于建立基于注视的密码和/或基于基于注视的密码来向资源认证用户的示例过程的各方面的流程图。
具体实施方式
如上所述,认证已经成为用户在计算机上进行的几乎所有事情的常见要求。例如,用户需要认证其本身以便访问在线银行账 户,向在线商家进行支付,登录计算设备,使用本地或基于web的应用或服务,进入建筑物或房间,而这样的示例不胜枚举。然而,现有的认证技术是繁重的、耗时的、容易出错的并且使用户分心。很多现有的认证技术需要使用手或语音,这使得具有损害这些能力的使用的残疾的用户无法使用这些技术。更进一步,很多现有的认证技术需要多个认证因素,以便增加安全性并且避免计算机或机器人的攻击。
本公开描述了用于使用注视跟踪来认证用户以访问账户、计算设备、位置或其他资源的基于注视的认证技术。在一些示例中,可以由计算设备提示用户通过查看场景内的注视目标来标识用户选择的多个注视目标,来为资源建立基于注视的密码。如本文中使用的,“注视目标”是场景内的位置、在场景中描绘的对象或对象的一部分、或者用户查看阈值时间长度的场景本身的几何特征。计算设备可以指定用户要查看每个注视目标以便标识注视目标的阈值时间长度(例如, 1秒、3秒等)。计算设备还可以指定用户要标识的注视目标的数目。指定的注视目标的数目可以取决于所需要的安全级别、场景的复杂性、注视跟踪相机的准确性或其他因素。
场景可以包括一个或多个图像(例如,照片、二维或三维计算机生成图像等)、包括用户的真实世界环境的真实世界场景、和/或混合现实场景。混合现实场景是其中物理的真实世界的人和/或对象与虚拟的计算机生成人和/或对象实时共存的场景。例如,混合现实场景可以包括用看起来在物理的真实世界场景中的计算机生成图形或对象增强的物理的真实世界场景的全部或一部分。在一些示例中,可以向用户呈现多个场景并且提示用户标识所有场景或场景的子集(少于全部)中的注视目标。在完全由计算机生成的场景或包括计算机生成元素的场景(例如,混合现实场景)的情况下,计算机生成元素可以呈现在计算设备的显示器上。真实世界场景和混合现实场景的真实世界部分可以简单地对用户可见。在一些情况下,用户可以通过一个或多个透明或半透明镜头或屏幕查看真实世界场景(或其部分)。
注视目标可以是场景内的固定位置(例如,在场景中描绘的对象、或场景本身的几何特征,诸如场景的中央、角落、边缘或其他边界),或者可以对应于在场景内可重新定位或可移动的物理或数字对象。附加地或替代地,场景本身可以是静态的(即,不变的)或动态的(即,在视频的情况下,场景的一个或多个对象或部分可以是变化的或动画的)。
注视跟踪相机可以用于捕获用户的注视以在用户标识注视目标时生成与用户的注视相对应的注视跟踪数据。然后可以从注视跟踪相机捕获的注视跟踪数据中标识多个注视目标。例如,注视目标可以通过例如确定场景内用户查看超过阈值时间长度的位置来标识。计算设备可以向用户提供反馈以在视觉上指示用户何时成功标识了每个注视目标。例如,当用户查看位置超过阈值时间时,点、环或其他指示符可以覆盖在该位置上以向用户指示注视目标已经被成功标识,因此用户可以继续以标识下一注视目标。在标识注视目标之后,在一些示例中,可以提示用户将注视目标的标识重复一次或多次以确认基于注视的密码和/或计算基于注视的密码的执行误差的可接受的范围或余量。执行误差的余量(m)考虑了用户从一次密码尝试到另一次密码尝试的注视的轻微变化。执行误差的余量(m)可以通过测量在用户首次查看注视目标时的第一遍期间的注视跟踪数据与在用户确认基于注视的密码时的一个或多个后续遍期间的注视跟踪数据之间的差异来建立。
基于注视的密码可以至少部分基于注视目标来建立。基于注视的密码可以考虑注视目标在场景内的位置。例如,用户注视的每个谨慎观察可以被定义为具有表示用户的有意注视目标的测量的固有不准确性的某种不确定性(u)值的像素位置(x,y)。多个(n)注视观察可以表示为序列(x1,y1,u1)、(x2,y2,u2)、(x3,y3,u3)、…… (xn,yn,un)。将注视目标与具有等于不确定性(u)的笔划宽度的路径连接导致表示用户的眼睛在观察场景时所采用的区别路径的插值样条。注视目标之间的该路径变成可以用作基于注视的密码的字形。在一些示例中,建立基于注视的密码还可以包括扩展定义基于注视的密码的字形的路径以考虑执行误差的余量(m)。在这种情况下,注视操作的序列可以表示为(x1,y1,u1+m)、(x2,y2,u2+m)、 (x3,y3,u3+m)、……(xn,yn,un+m)。
在三维计算机生成场景、真实世界场景和混合现实场景的情况下,基于注视的密码可以附加地或替代地考虑用户相对于在场景中在与注视目标相对应的位置处的注视目标对象的相对位置和/或定向。例如,基于注视的密码可以指定用户从特定距离、方向、定向或有利位置查看场景中的特定注视目标。
在一些示例中,基于注视的密码可以附加地或替代地考虑关于在场景中在与注视目标相对应的位置处的对象的信息(例如,对象的扫描或模型、对象的名称、关于对象的上下文信息、或关于对象的其他标识信息)。例如,基于注视的密码可以存储关于在场景中在与注视目标相对应的位置处的特定的已知对象(例如,梳子、刷子和碗)的信息。然后,为了在登录期间满足基于注视的密码,用户必须注视特定的已知对象。密码可以或可以不要求用户以特定顺序查看对象,用户位于相对于对象的特定位置,或者对象位于场景内的任何特定位置。
一旦建立,基于注视的密码可以用于认证用户以访问计算资源。在一些示例中,当用户请求或尝试访问计算资源时,包括场景的认证界面可以呈现在显示器上。在其他示例中,场景可以是包括用户的真实世界环境的真实世界场景,或者是包括用户的真实世界环境和增强真实世界环境的计算机生成图像的混合现实场景。场景可以包括一个或多个图像或对象。可以在用户正在查看场景时跟踪用户的注视以获取登录注视跟踪数据。可以将登录注视跟踪数据与基于注视的密码进行比较,以确定登录注视跟踪数据是否满足基于注视的密码。
在一些示例中,确定登录注视跟踪数据满足基于注视的密码包括使用回归分析计算登录注视跟踪数据的注视路径与基于注视的密码的路径之间的相关性。在一些示例中,确定登录注视跟踪数据满足基于注视的密码包括:针对基于注视的密码的每个注视目标,确定用户注视相应注视目标的概率。至少部分基于用户注视多个注视目标中的每个注视目标的所确定的概率,计算设备可以计算登录注视跟踪数据与基于注视的密码的相似性。下面提供计算登录注视跟踪数据与基于注视的密码的相似性的若干示例。
在一个示例中,可以应用几何方法来将登录注视跟踪数据与基于注视的密码进行比较。在该示例中,在密码建立阶段期间生成的原始注视跟踪数据可以用最佳拟合样条(S)和不确定性值进行插值。不确定性值可以考虑测量不确定性(u)和/或执行误差的余量(m)。在密码建立阶段期间生成的原始注视跟踪数据可以包括在单遍(例如,用户第一次标识注视目标)或多遍(例如,第一次和一次或多次重复以确认密码和/或建立执行误差的余量)期间查看多个注视目标时的用户注视的数据。登录注视跟踪数据包括一组离散点样本RT=(x1, y1,z1)、(x2,y2,z2)、……(xn,yn,zn)。对于观察集RT 中的每个注视目标或点t,可以计算t与RS之间的距离(me)。有关如何计算距离me的附加细节在International Journalof Mathematical, Computational,Physical,Electrical and Computer EngineeringVol:4, No:5,2010的Wen-Haw Chen的“The Distance between a Point and a BezierCurve on a Bezier Surface”中有描述。如果对于观察集RT中的所有点me≤u(或u+m),则基于注视的密码满足。另外,如果对于观察集RT中的任何点me>u(或u+m),则基于注视的密码不满足并且可以提示用户再次尝试基于注视的密码。备选地,在一些示例中,如果对于观察集RT中的至少阈值量的点(例如,预定百分比的点、统计上显著的数目的点等)me≤u(或u+m),则基于注视的密码可以满足。
在另一示例中,可以通过将在登录期间用户的注视路径与在密码创建时用户的注视路径进行比较来进行比较。当密码创建和认证两者期间的注视跟踪数据的采样率高得多(例如,接近无穷大)时,该示例类似于前一示例。在该示例中,基于注视的密码被视为具有带有不确定性值的近似轨迹的(多个)样本集合RS。同样,不确定性可以包括测量不确定性(u)和/或执行误差的余量(m)。在认证期间,登录注视跟踪数据被视为轨迹的另一样本集合RT。对于集合RT中的每个样本t,将me初始化为大数。对于RS中的每个样本s,计算e=dist(t, s),其中e是L2范数或欧几里德范数。t与RS之间的距离me可以计算为min(e,me)。如在前面的示例中,如果对于观察集RT中的所有点me≤u(或u+m),则基于注视的密码满足。另外,如果对于观察集RT中的任何点me>u(或u+m),则基于注视的密码不满足并且可以提示用户再次尝试基于注视的密码。备选地,在一些示例中,如果对于观察集RT中的至少阈值量的点(例如,预定百分比的点、统计上显著的数目的点等)me≤u(或u+m),则基于注视的密码可以满足。
在另一示例中,可以通过使用倒置模型从用户的角度将所有内容投射回2D平面进行比较。在该示例中,透视投影的观察可以以诸如红色等令人难忘的颜色被绘制到用户不可见的背景缓冲器中。在相同的背景缓冲器中,基于注视的密码样条(S)可以用不同颜色(诸如绿色)用表示不确定性(例如,测量不确定性u和/或执行误差的余量 m)的指定笔划宽度来绘制。所需要的投影可以直接实现,或者可以使用例如内置于OpenGL或DirectX中的透视变换。在获取渲染的2D 像素图像之后,如果渲染图像中不存在红色像素,则可以发现基于注视的密码满足。否则,基于注视的密码不满足,并且可以提示用户再次尝试基于注视的密码。备选地,在一些示例中,如果2D图像中的某个比率的像素是绿色而不是红色(例如,预定百分比的像素、统计上显著的数目的像素等),则基于注视的密码可以满足。
在又一示例中,可以连续更新基于注视的密码的点集。在这种情况下,可以将每个新样本集S添加到训练样本点集RS以及新的最佳拟合曲线RS'和残差(集合的RMSD)。对于每次登录尝试,如果平方误差的总和减小或保持相同,则可以发现基于注视的密码满足并且RS被更新为RS'。否则,基于注视的密码不满足,丢弃RS',并且可以提示用户再次尝试基于注视的密码。
在一些示例中,可以应用机器学习技术,诸如动态时间扭曲、隐马尔可夫模型、或用于将采样点集与具有良好定义的不确定性的近似样条进行比较的任何其他已知技术,以随着时间的推移改进比较技术。如果登录注视跟踪数据与基于注视的密码的相似性高于从数据学习的阈值相似性,则可以发现登录注视跟踪数据满足基于注视的密码。所需要的相似性阈值可以取决于所需要的安全级别、密码中包括的注视目标的数目、场景的复杂性、执行误差的余量、测量不确定性或其他因素。在某些情况下,阈值可以不是固定的标量,而是可以是自动使其自身适应序列的复杂性的估计(例如,使用数据集训练的隐马尔可夫模型的阈值模型)。
如果登录注视跟踪数据满足基于注视的密码,则可以认证用户以访问计算资源。在一些示例中,可以基于登录注视跟踪数据来更新基于注视的密码,以调节(例如,扩展或收缩)执行误差的余量和/或调节一个或多个注视目标的位置以考虑用户注视的随着时间的推移的轻微变化。
在一些示例中,本文中描述的基于注视的认证技术可以使用具有注视跟踪相机的头戴式计算设备(例如,Occulus VR的Occulus
Figure BDA0001843916710000101
Google公司的Google Glass或微软公司的HoloLens)来整体或部分实现。头戴式计算设备还可以包括显示器和/或环境相机以捕获用户的周围环境或环境。当用户希望登录以使用头戴式显示器或经由头戴式显示器可访问的其他计算资源时,用户可以简单地注视由头戴式显示设备显示的场景、他或她的真实世界环境中的真实世界场景或者混合现实场景,用户的注视可以由注视跟踪相机跟踪。在其他示例中,本文中描述的基于注视的认证技术可以使用具有面向用户的web相机的个人计算机(例如,膝上型或台式)来实现以捕获用户的注视。在其他示例中,本文中描述的基于注视的认证技术可以使用与深度相机通信的游戏控制台或其他计算设备作为用户输入(例如,微软公司的
Figure BDA0001843916710000102
索尼公司的
Figure BDA0001843916710000103
Camera)来实现。
虽然描述了涉及各种硬件和软件配置的某些特定示例,但是本文中描述的技术不限于这些示例,并且可以使用能够在用户查看场景时跟踪用户的注视的任何计算设备或计算设备的组合来实现。可用于实现本文中描述的技术的其他计算设备的示例包括但不限于台式计算机、膝上型计算机、平板计算机、移动设备、智能电话、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、网络电视、薄客户端、终端、游戏控制台、游戏设备、工作站、媒体播放器、数字视频录像机(DVR)、机顶盒、相机、建筑物或其他设施的接入点、包含在计算设备中的集成组件、设备或者包括或能够访问能够跟踪用户注视的相机或其他传感器的任何其他种类的计算设备。
虽然本文中描述的主题主要在用于向计算资源进行基于注视的认证的技术的一般上下文中呈现,但是本文中描述的技术可以应用于采用基于注视的认证的任何类型的场景,诸如访问物理站点(例如,建筑物、房间、储物柜等)、对象(例如,车辆、设备等)或资源。此外,虽然基于注视的认证技术描述了通过跟踪用户的注视来建立基于注视的密码和基于基于注视的密码来认证用户,但是在其他示例中,可以使用其他技术执行密码建立阶段或认证阶段。例如,可以使用触摸输入(例如,触摸屏上的触摸输入)或手势(例如,被执行以指向或“触摸”虚拟对象的手势)来建立基于注视的密码以设置注视目标,并且可以通过跟踪用户对注视目标的注视来认证用户。
本文中描述的基于注视的认证技术提供了一种快速且简单的方式来认证用户以访问资源,而无需触摸或语音输入。因为认证可以是“免提”,即使具有对使用他们的手和语音的损伤的用户也可以向资源进行认证。在一些示例中,本文中描述的基于注视的认证技术可以包括特定于用户的真实世界位置的注视目标(例如,用户周围的特征或对象),使得该技术更安全以抵抗计算机和机器人的攻击。而且,因为本文中描述的技术可以在不使用生物识别或其他个人信息(例如,指纹数据、视网膜数据等)的情况下实现,所以该技术降低了个人信息被盗用的风险。在一些示例中,使用基于注视的认证技术可以消除对多因素认证技术的需要,从而减少了认证用户所需要的步骤和处理操作的数目。
通过阅读以下描述和对相关附图的回顾,这些和各种其他示例特征将是很清楚的。然而,所要求保护的主题不限于解决任何或所有缺点或者提供本公开的任何部分中提到的任何益处的实现。
示例环境
图1是示出其中可以实现基于注视的密码的示例环境100的示意图。示例环境100可以包括服务提供者102、一个或多个网络104、用户106、以及用户106可用于访问经由(多个)网络104从服务提供者102可获取的服务或资源的一个或多个计算设备108。该图中示出的(多个)示例计算设备108包括头戴式计算设备108A、膝上型计算机108B、平板计算机108C和游戏设备108P。然而,如上所述,本文中描述的技术还可以使用包括或者能够访问能够跟踪用户注视的相机或其他传感器的任何其他计算设备来实现。
在该示例中,用户106试图经由(多个)网络104访问由服务提供者102提供的资源。在一些示例中,(多个)网络104可以是本领域已知的任何类型的有线和/或无线网络。此外,计算设备108可以以任何方式通信地耦合到(多个)网络104,诸如通过有线或无线连接 (例如,以太网、WiFi、蓝牙、蜂窝数据连接等)。(多个)网络104 可以支持服务提供者102与计算设备108之间的通信。
服务提供者102可以包括可以布置在数据中心或服务器群中的一个或多个服务器110。附加地或替代地,服务提供者102可以在分布式计算环境中实现,其中服务的一部分在一个或多个其他设备(例如,计算设备108或其他远程设备)上运行。服务提供者102的(多个) 服务器110或其他计算设备可以包括一个或多个处理单元(例如,(多个)处理器112)和计算机可读介质114,诸如存储器。计算机可读介质114包括基于注视的密码模块116和一个或多个资源118。(多个)资源118可以包括由服务提供者102提供的应用或服务。例如,在一个特定示例中,服务提供者102可以包括金融机构,并且资源可以包括用户106的在线银行账户。然而,如上所述,服务提供者102 提供的资源可以是通常由在线服务提供者提供的任何服务,诸如例如,购物服务、游戏服务、邮件服务、社交网络服务等。
当用户106尝试访问资源118时,提示用户输入他或她的基于注视的密码。在一些示例中,提示可以包括服务提供者102供应认证界面用于经由计算设备108的显示器呈现给用户106。在这种情况下,认证界面可以包括要呈现的场景112。附加地或替代地,提示可以包括服务提供者发送声音或视觉提示,以指示用户执行他或她的基于注视的密码(具有或没有发送场景)。如上所述,场景112可以是计算机生成场景、真实世界场景或混合现实场景。在接收到提示时,用户 106可以执行基于注视的密码。
计算设备108可以包括一个或多个处理单元(例如,(多个)处理器120)、诸如存储器等计算机可读介质122、以及一个或多个传感器124(例如,注视跟踪相机、环境相机等)。计算机可读介质122 可以包括一个或多个应用126,诸如操作系统、浏览器等。计算设备108可以在用户106执行基于注视的密码时使用计算设备108的(多个)传感器124或其他传感器捕获注视跟踪数据,并且可以经由网络 104将注视跟踪数据传输到服务提供者102。服务提供者102可以确定注视跟踪数据是否与可用于访问资源118的基于注视的密码相匹配,并且如果是,则可以认证用户以访问资源118。
在其他示例中,代替由服务提供者102提供,用户106要访问的资源可以是计算设备108本身或本地存储在计算设备上的应用126之一,或者要访问的资源可以是用户试图访问的物理资源(例如,建筑物、房间、储物柜等)。在这种情况下,计算设备108还可以包括存储在计算机可读介质122中的用于执行基于注视的密码认证的基于注视的密码模块128。虽然基于注视的密码模块116和128被示出为其相应设备(服务器110和计算设备108)的计算机可读介质中的单独模块,但是在其他示例中,基于注视的密码功能可以合并到操作系统或在相应设备上运行的其他应用中。
示例基于注视的认证
图2-11在各种不同的示例计算机生成、真实世界和混合现实场景的上下文中示出了基于注视的认证技术。
图2示出了使用由单个图像组成的场景200建立基于注视的密码的示例过程。当用户第一次尝试访问资源时,可以提示用户设置基于注视的密码。可以选择场景200以用于基于注视的认证。在一些示例中,用户可以从计算设备可用的场景库(例如,在线照片库、社交网站等)上载场景或指定场景以用于基于注视的认证。在一些示例中,与要访问的资源相关联的计算设备可以选择要用于基于注视的认证的场景,或者可以向用户呈现多个场景,用户可以从多个场景中选择要用于基于注视的认证的场景。在该示例中,场景200包括静态照片或其他二维计算机生成场景。然而,在其他示例中,场景可以是动态的(即,在视频的情况下,场景的一个或多个对象或部分可以是变化的或动画的)。
如202A所示,场景呈现在计算设备的显示器上。该示例中的场景200描绘了具有多个对象的房间。然后提示用户查看在场景中描绘的一个或多个事物。在一些情况下,可以提示用户查看场景中的指定数目(n)的事物以用作用户的基于注视的密码的注视目标。在该示例中,n=4。然而,在其他示例中,(n)可以是大于或等于1的任何整数,这取决于例如期望的安全级别、场景的复杂性等。
在202B,用户查看场景200中的指定数目的事物。用户在该密码建立阶段期间查看的“事物”被称为“注视目标”并且可以包括场景内的固定位置(例如,在场景中描绘的对象、或场景本身的几何特征,诸如场景的中央、角落、边缘或其他边界)。当用户注视场景200时,可以使用注视跟踪相机或其他传感器来捕获用户的注视,以生成与在用户标识注视目标时的用户的注视相对应的注视跟踪数据。然后,可以从注视跟踪相机捕获的注视跟踪数据中标识多个注视目标 204A、204B、204C和204D(统称为“注视目标204”)。例如,可以通过例如确定场景200内用户查看超过阈值时间长度(例如,大于 1秒)的位置来标识注视目标204。在所示示例中,注视目标204A对应于窗口的右上角,注视目标204B对应于椅子的右上角,注视目标 204C对应于沙发的第一扶手,并且注视目标204D对应于沙发的第二扶手。
在该示例中,计算设备向用户提供反馈以指示用户何时已经成功标识每个注视目标。在所示示例中,反馈被示出为覆盖在以注视目标的位置为中心的场景200上的黑点。然而,在其他示例中,反馈可以采用不同的形式,诸如围绕注视目标的形状(例如,环、正方形、三角形等)、指向注视目标的箭头、注视目标周围的照明或发光、可听见的音调或消息、振动或其他触觉反馈、或者当在场景中成功标识注视目标时和/或在场景中成功标识注视目标的情况下给用户的任何其他反馈。反馈可以被保持在显示器上直到密码已经完成,或者每个注视目标的反馈可以是短暂的(例如,在成功标识注视目标之后仅在短时间内呈现)。在一些示例中,除了或代替注视目标204,用户注视的路径206可以由注视跟踪相机或其他传感器捕获。注视跟踪数据包括由于用户的有意注视目标的测量中的固有不准确性而引起的某种测量不确定性(u)。注视目标204的大小和注视路径206的宽度表示该测量不确定性(u)。
在标识注视目标204和/或路径206之后,在一些示例中,可以提示用户将注视目标的标识重复一次或多次以确认基于注视的密码和/ 或计算基于注视的密码的执行误差的可接受的范围或余量。基于密码的重复,可以建立执行误差的余量(m),其考虑用户从一次密码尝试到下一次密码尝试的注视的轻微变化。执行误差的余量(m)可以通过测量在用户首次查看注视目标时的第一遍期间的注视跟踪数据与在用户确认基于注视的密码时的一个或多个后续遍期间的注视跟踪数据之间的差异来建立。因此,如果用户在每次重复期间查看场景200中的略微不同的位置和/或注视路径轻微改变,则可以使用这些差异来扩大注视目标204和/或注视路径206的可接受区域。
如202C所示,可以建立基于注视的密码208。该示例中的基于注视的密码208基于注视目标204和注视路径206,并且考虑测量不确定性(u)和执行误差的余量(m)。也就是说,基于注视的密码 208由注视目标204距用户的一个或多个输入的位置来定义。例如,用户注视的每个谨慎观察可以被定义为具有表示用户的有意注视目标的测量的固有不准确性的某种不确定性(u)值的像素位置(x,y)。多个(n)注视目标204可以表示为序列(x1,y1,u1)、(x2,y2, u2)、(x3,y3,u3)、……(xn,yn,un)。将注视目标204与具有等于不确定性(u)的笔划宽度的路径206连接导致表示用户的眼睛在观察场景200时所采用的区别路径的插值样条。注视目标之间的这条路径表示可以用作基于注视的密码的字形。基于注视的密码208还可以基于密码的一次或多次重复来扩展,以考虑执行误差的余量 (m)。这具有增加路径206的笔划宽度的实际效果。在所示示例中,执行误差的余量(m)被示出为沿着路径206的长度是恒定的。在这种情况下,注视操作的序列可以表示为(x1,y1,u1+m)、(x2, y2,u2+m)、(x3,y3,u3+m)、……(xn,yn,un+m)。然而,在其他示例中,执行误差的余量(m)可以在路径206的长度上变化。在一些示例中,基于注视的密码208可以表示为场景200内的区域或有界区域。一旦建立,基于注视的密码208可以用于认证用户以访问资源。
图3示出了使用基于注视的密码来认证用户以访问计算资源的示例过程。继续图2的示例,当用户下一次尝试访问资源时,可以在302A 向用户呈现包括场景200的认证界面300。认证界面300可以包括指示用户执行他们的基于注视的密码的提示304。
如302B所示,可以在用户正在查看场景时跟踪用户的注视以获取登录注视跟踪数据。登录注视跟踪数据在图3中用登录路径306表示。虽然在该图中未示出视觉反馈,但是在一些示例中,可以在认证阶段期间向用户提供示出用户在显示器上的注视的反馈(或听觉或触觉反馈)。然后将登录注视跟踪数据与基于注视的密码208进行比较,以确定登录注视跟踪数据是否满足基于注视的密码。该比较在302C 处示意性地示出。如图所示,该示例中的整个登录路径306(包括所有注视目标)落在注视跟踪密码208的范围内。因此,在该示例中满足基于注视的密码208。如下所述,在一些示例中,即使登录路径306 的部分和/或一个或多个注视目标落在由基于注视的密码所定义的区域之外,或者离开基于注视的密码字形超过执行误差的余量(m)和测量不确定性(u),基于注视的密码也可以满足。
实际上,可以使用各种技术来执行比较。在一个示例中,比较可以包括确定沿着登录路径306的点是否落在注视跟踪密码208的有界区域内。在另一示例中,比较可以包括使用例如回归分析计算登录路径306与基于注视的密码208之间的相关性。在另一示例中,比较可以包括通过针对基于注视的密码的每个注视目标确定用户注视相应注视目标的概率来进行统计分析。至少部分基于用户注视多个注视目标中的每个注视目标的所确定的概率,计算设备可以计算登录注视跟踪数据与基于注视的密码的相似性。登录注视跟踪数据与基于注视的密码的相似性可以使用本文中描述的任何比较技术来计算。
如果登录注视跟踪数据满足基于注视的密码,则可以认证用户以访问计算资源。在一些示例中,认证界面300可以呈现向用户指示密码已经满足或认证成功的消息308。
在一些示例中,可以基于登录注视跟踪数据来更新基于注视的密码,以调节(例如,扩展或收缩)执行误差的余量(m)和/或调节一个或多个注视目标的位置以解释用户注视随时间的轻微变化。例如,在图3的示例中,如果登录路径306的一部分偏离由基于注视的密码 208界定的区域之外,但总体上登录路径306足够类似以满足基于注视的密码208,则可以修改或扩展基于注视的密码208以包括登录路径306偏离由基于注视的密码208界定的先前区域之外的场景区域。
在一些示例中,多个场景可以用于基于注视的密码。可以同时呈现多个场景(例如,如下面参考图4-6进一步描述的多个图块图像),或者顺序地呈现多个场景。在由多个顺序场景组成的基于注视的密码的情况下,参考图2描述的过程可以进行重复以便为形成基于注视的密码的一部分的每个场景建立基于注视的密码元素(例如,字形、样条、区域等)。然后,在认证期间,可以向用户呈现多个顺序场景,并且用户可以针对形成基于注视的密码的一部分的每个场景执行基于注视的密码元素。在这种情况下,参考图3描述的过程可以针对形成基于注视的密码的一部分的每个场景进行重复。附加地或替代地,在认证阶段期间,可以以与密码建立阶段期间相同的顺序或以不同的顺序顺序地向用户呈现多个图像。此外,在一些示例中,在认证阶段期间,可以向用户呈现形成基于注视的密码的一部分的显著场景,其中散布有没有形成基于注视的密码的一部分的填充场景。
图4示出了使用由多个图块图像404(1)-404(12)(统称为“图像404”)组成的场景400建立基于注视的密码的示例过程。当用户第一次尝试访问资源时,可以提示用户设置基于注视的密码。可以选择场景400以用于基于注视的认证。在一些示例中,场景400可以包括由用户上载的图像或者由用户从可用于计算设备的场景库(例如,在线照片库、社交网站等)指定的图像以用于基于注视的认证。在一些示例中,与要访问的资源相关联的计算设备可以选择要用于基于注视的认证的场景,或者可以向用户呈现多个图像,用户可以从多个图像中选择用于要用于基于注视的认证的场景的图像。在该示例中,场景400包括多个静态照片或其他二维计算机生成图像404。然而,在其他示例中,场景400可以是动态的(即,在视频的情况下,场景的一个或多个对象或部分可能正在改变或是动画)。
如402A所示,场景400呈现在计算设备的显示器上。该示例中的场景400以网格格式描绘了具有3列和4行的12个二维图像404 (1)-404(12)。然而,场景可以在水平和/或垂直方向上进一步延伸,以包括以任何数目的列(Q)和行(R)布置的任何数目的图像,其中Q和R是正整数,并且Q或R或两者都大于或等于2。
然后提示用户查看在场景400中描绘的一个或多个事物。在一些情况下,可以提示用户查看场景中指定数目(n)的事物以用作用户的基于注视的密码的注视目标。在该示例中,n=4。然而,在其他示例中,(n)可以是大于或等于1的任何整数,这取决于例如期望的安全级别、场景的复杂性等。
在402B,用户查看场景400中的指定数目的事物。用户在该密码建立阶段期间查看的“事物”被称为“注视目标”406(A)-406 (D)(统称“注视目标406”)。注视目标406可以对应于多个图块图像(例如,图像404(2)、图像404(6)、图像404(7)和图像404(11))的个体图像,而在其他示例中,注视目标406可以对应于多个图块图像内的特定点(例如,图像404(2)中的棕榈树的基部、图像404(6)中的蝴蝶的腹部、图像404(7)中的公园的中心、以及图像404(11)中的土鸡的喙)。
当用户查看场景400时,可以使用注视跟踪相机或其他传感器来捕获用户的注视,以生成与在用户标识注视目标406时的用户的注视相对应的注视跟踪数据。然后,可以从注视跟踪相机捕获的注视跟踪数据中标识多个注视目标406A、406B、406C和406D。例如,可以通过例如确定场景400内用户查看超过阈值时间长度(例如,大于1 秒)的位置来标识注视目标406。
如上面参考图2所述,计算设备在某些情况下可以向用户提供反馈(例如,视觉、音频、触觉/触知等)以指示用户何时已经成功标识每个注视目标。反馈可以包括整个申请中描述的任何类型的反馈。在一些示例中,除了或代替注视目标406,用户注视的路径408可以由注视跟踪相机或其他传感器捕获。如参考图2所述,注视跟踪数据包括由于用户的有意注视目标的测量的固有不准确性而引起的某种测量不确定性(u)。注视目标406的大小和注视路径408的宽度表示该测量不确定性(u)。
在标识注视目标406和/或路径408之后,在一些示例中,可以提示用户将注视目标的标识重复一次或多次以确认基于注视的密码和/ 或计算基于注视的密码的执行误差的可接受的范围或余量。基于密码的重复,可以使用参考图2描述的一种或多种技术来建立执行误差的余量(m)。
如402C所示,可以建立基于注视的密码410。该示例中的基于注视的密码410基于注视目标406和注视路径408,并且考虑测量不确定性(u)和执行误差的余量(m)。也就是说,基于注视的密码 410由注视目标406距用户的一个或多个输入的位置来定义。例如,用户注视的每个谨慎观察可以被定义为具有表示用户的有意注视目标的测量的固有不准确性的某种不确定性(u)值的像素位置(x,y)。多个(n)注视目标406可以表示为序列(x1,y1,u1)、(x2,y2, u2)、(x3,y3,u3)、……(xn,yn,un)。将注视目标406与具有等于不确定性(u)的笔划宽度的路径408连接导致表示用户的眼睛在观察场景400时所采用的区别路径的插值样条。注视目标之间的这条路径表示可以用作基于注视的密码的字形。基于注视的密码410也可以如参考图2所述进行扩展。在一些示例中,基于注视的密码410 可以被表示为场景400内的区域或有界区域。备选地,在一些示例中,基于注视的密码可以被表示为行和列条目的矩阵。在这种情况下,图 4的基于注视的密码可以表示为(第1行,第2列)、(第2行,第 3列)、(第3行,第1列)和(第4行,第2列)。一旦建立,基于注视的密码410可以用于认证用户以访问资源。
图5示出了使用场景400使用基于注视的密码来认证用户以访问计算资源的示例过程。继续图4的示例,当用户下一次尝试访问资源时,如502A所示,可以向用户呈现包括认证场景504的认证界面500。在一些示例中,认证场景504可以与用于建立基于注视的密码的场景 400相同。然而,在所示示例中,认证场景504与用于建立基于注视的密码的场景400不同。在该示例中,认证场景502包括来自场景400 的图像404(1)-404(12),但是它们被(例如,随机地)重新布置成不同的行和列。另外,在其他示例中,认证场景502可以包括与用于建立密码的场景400中的图像不同的至少一些图像。例如,认证场景502可以包括来自场景400的对应于形成基于注视的密码的注视目标的图像(即,显著图像),但是来自场景400的一些或所有其他图像(即,不对应于注视目标的图像)可以在认证场景502中用没有形成基于注视的密码的一部分的其他填充图像替换。认证界面500可以包括指示用户执行他们的基于注视的密码的提示506。
如502B所示,可以在用户正在查看认证场景502时跟踪用户的注视以获取登录注视跟踪数据。登录注视跟踪数据在图5中用登录路径508表示。虽然在该图中未示出视觉反馈,但是在一些示例中,可以在认证阶段期间向用户提供示出用户在显示器上的注视的反馈(或听觉或触觉反馈)。
如上所述,认证界面502包括作为基于注视的密码的一部分的多个显著图像(例如,404(2)、404(6)、404(7)和404(11)) 以及不是基于注视的密码的一部分的多个填充图像(例如,404(1)、 404(3)、404(4)、404(5)、404(8)、404(9)、404(10) 和404(12))。并且,在其他示例中,认证场景可以附加地或替代地包括散布有显著图像的其他填充图像。在一些示例中,认证阶段可以包括多遍以收集登录注视跟踪数据。例如,获取登录注视跟踪数据可以包括在用户从图块布置中定位显著图像时执行第一扫描,然后在用户有意地注视多个注视目标时执行第二扫描。
在图5的示例中,由于认证场景502与用于建立基于注视的密码 410的场景400不同,因此可以调节基于注视的密码410以适合认证场景502。例如,可以通过将注视目标406(A)-406(D)的坐标重新寻址到在认证场景502中示出与注视目标406(A)-406(D)相对应的相应图像的对应坐标来调节基于注视的密码410以生成经调节的基于注视的密码510。然后,使用参考图2描述的任何技术,将登录注视跟踪数据与经调节的基于注视的密码510进行比较,以确定登录注视跟踪数据(由登录路径508表示)是否满足经调节的基于注视的密码510。附加地或替代地,在图5的上下文中,在一些示例中,如果登录路径508通过与注视目标406相对应的每个图像404的至少一部分,则满足经调节的基于注视的密码510可能就足够了。换言之,经调节的基于注视的密码510可以扩展为具有近似等于与注视目标406相对应的图像的宽度。
如果登录注视跟踪数据满足基于注视的密码,则可以认证用户以访问计算资源。在一些示例中,认证界面500可以呈现向用户指示密码已经满足或认证成功的消息512。
可以基于登录注视跟踪数据来更新基于注视的密码,以调节(例如,扩展或收缩)执行误差的余量(m)和/或调节一个或多个注视目标的位置以解释用户注视随时间的轻微变化,通常如参考图3所述。
图6示出了采用具有多个图块图像602的场景600的基于注视的密码认证的另一示例。图6的示例类似于参考图4和5描述的示例,除了在这种情况下,基于注视的密码包括多个不同级别的粒度或分辨率的注视跟踪。也就是说,基于注视的密码包括粗粒度级别和细粒度级别,粗粒度级别包括跨越场景600的多个不同图像602(2)、602 (6)、602(7)和602(11)的注视目标604(A)、604(B)、604 (C)和604(D),细粒度级别包括与图块图像的特定图像602(1) 内的多个对象或位置(例如,在该示例中,头发、眼睛、下巴)相对应的多个注视目标604(E)、604(F)、604(G)。基于注视的密码的粗略和精细级别是顺序的(例如,粗略然后是精细的,反之亦然),或者它们可以是散布的(例如,一个或多个粗略注视目标,之后是图像内的多个精细注视目标,之后是一个或多个附加的粗略注视目标)。在所示示例中,基于注视的密码的粗略和精细部分是不连续的,没有连接粗略注视目标604(A)、604(B)、604(C)和604(D)和精细注视目标604(E)、604(F)、604(G)的路径。然而,在其他示例中,注视路径可以将一个或多个粗略注视目标与一个或多个精细注视目标连接。
在所示示例中,基于注视的密码的粗略和精细部分都在包括多个图块图像602的场景600内示出,并且基于注视的密码的粗略和精细部分都可以在查看场景600时执行。然而,在其他示例中,在完成基于注视的密码的粗略部分时,可以放大图像602(1)以完成基于注视的密码的精细部分。在这种情况下,图像602(1)可以覆盖在场景 600之上,或者可以完全替换场景600。
除非另外指出,否则使用场景600建立基于注视的密码和向资源认证用户的过程与关于图2-5描述的技术相同或相似。
图7示出了使用混合现实场景700建立基于注视的密码的示例过程。混合现实场景700包括由计算机生成场景704(由粗线宽框表示) 增强或覆盖的用户的真实世界环境702(由虚线框表示)。在该示例中,计算机生成场景704的粗线宽框表示用户佩戴的头戴式计算设备 706的全息显示器的视场。
与先前的示例不同,场景700部分地由用户的真实世界环境702 组成。可以选择用于增强用户的真实世界环境702的计算机生成场景 704以用于基于注视的认证。在一些示例中,计算机生成场景704可以包括由用户上载或者由用户从计算设备可用的对象或模型库(例如,在线模型库、虚拟世界、游戏等)中指定的虚拟对象或模型以用于基于注视的认证。在一些示例中,与要访问的资源相关联的计算设备可以选择计算机生成场景704以用于基于注视的认证,或者可以向用户呈现多个计算机生成场景,用户可以从多个计算机生成场景中选择用于基于注视的认证的计算机生成场景704。在该示例中,计算机生成场景704包括多个三维虚拟对象,包括行星708、烛台710和信息窗格712。三维虚拟对象设置在整个计算机生成场景704中的各个位置处,使得用户看起来在用户的真实世界环境702内。当用户在真实世界环境702中移动时,可以渲染计算机生成场景704,使得虚拟对象看起来相对于真实世界场景702保持静止,使得用户对虚拟对象的视角如同它们是物理对象那样改变。在一些示例中,虚拟对象是交互式的,使得用户可以移动、旋转或以其他方式操纵虚拟对象。
当用户第一次尝试访问资源时,可以提示用户设置基于注视的密码。在该示例中,信息窗格712指示用户查看行星708虚拟对象上的四个位置。然而,在其他示例中,可以指示用户查看不同数目的位置。当用户查看场景400中的指定数目的事物时,用户查看的事物被建立为注视目标714(A)-714(D)(统称为“注视目标714”)。该示例中的注视目标714对应于特定虚拟对象上的位置(在这种情况下,在行星708虚拟对象的表面上)。然而,在其他示例中,注视目标714 可以对应于计算机生成场景704中的多个虚拟对象的位置(如图9所示)、真实世界环境702中的真实对象(如图10和11所示)或虚拟对象和真实对象。
当用户查看场景700时,可以使用注视跟踪相机或头戴式计算设备706的其他传感器来捕获用户的注视以生成与在用户标识注视目标714时的用户的注视相对应的注视跟踪数据。然后,可以从注视跟踪相机捕获的注视跟踪数据中标识多个注视目标714A、714B、714C和 714D。例如,可以通过例如确定场景700内用户查看超过阈值时间长度(例如,大于1秒)的位置来标识注视目标714。附加地或替代地,在一些示例中,注视目标714可以通过指向或“触摸”虚拟对象上的注视目标714的用户手势来建立。
如上面参考图2所述,计算设备可以在某些情况下向用户提供反馈(例如,视觉、音频、触觉/触知等)以指示用户何时已经成功标识每个注视目标。反馈可以包括整个申请中描述的任何类型的反馈。在一些示例中,除了或代替注视目标714,用户注视的路径716可以由注视跟踪相机或其他传感器捕获。如参考图2所述,注视跟踪数据包括由于用户的有意注视目标的测量的固有不准确性而引起的某种测量不确定性(u)。注视目标714的大小和注视路径716的横截面积表示该测量不确定性(u)。
在标识注视目标714和/或路径716之后,在一些示例中,可以提示用户将注视目标的标识重复一次或多次以确认基于注视的密码和/ 或计算基于注视的密码的执行误差的可接受的范围或余量。基于密码的重复,可以使用参考图2描述的一种或多种技术来建立执行误差的余量(m)。
基于注视的密码714可以基于注视目标714和/或注视路径716 建立,并且可以考虑测量不确定性(u)和/或执行误差的余量(m)。在这种情况下,基于注视的密码714由注视目标714相对于参考原点或系(例如,头戴式计算设备的注视跟踪相机)在三维空间中的位置来定义。例如,用户注视的每个谨慎观察可以被定义为具有表示用户的有意注视目标的测量的固有不准确性的某种不确定性(u)值的坐标位置(x,y,z)。多个(n)注视目标406可以表示为序列(x1, y1,z1,u1)、(x2,y2,z2,u2)、(x3,y3,z3,u3)、……(xn, yn,zn,un)。将注视目标714与具有等于不确定性(u)的横截面笔划区域的路径716连接导致表示用户的眼睛在观察场景700时所采用的区别路径的插值样条。注视目标之间的该路径表示可以用作基于注视的密码的三维字形。基于注视的密码也可以如参考图2所述进行扩展(例如,可以扩展横截面笔划区域)。在一些示例中,基于注视的密码可以被表示为场景700内的虚拟体积或有界区域。备选地,在一些示例中,基于注视的密码可以被表示为矢量矩阵。一旦建立,基于注视的密码可以用于认证用户以访问资源。
图8示出了使用基于注视的密码来认证用户以访问计算资源的示例过程。继续图7的示例,当用户下一次尝试访问资源时,可以向用户呈现包括场景800的认证界面。在该示例中,场景800包括与在基于注视的密码建立阶段使用的相同的真实世界环境702和计算机生成场景704。然而,在其他示例中,用户可以访问其他真实世界环境中的资源(例如,在不同的房间或建筑物中),或者从真实世界环境中的不同位置访问资源。附加地或替代地,计算机生成场景可以相对于密码建立阶段在认证阶段期间被改变,以在相对于彼此和/或用户的不同位置和/或定向中示出虚拟对象。在一些示例中,基于注视的密码可以是位置和/或定向特定的(表示对象的位置和/或定向形成密码的一部分)。在这种情况下,用户必须首先操纵对象以在执行基于注视的密码之前将它们放置在适当的位置(即,在密码建立阶段期间它们被定位的位置)。在其他示例中,基于注视的密码可以是位置和/或定向不可知的(表示对象的位置和/或定向没有形成密码的一部分)。在这种情况下,用户可以通过注视与注视目标相对应的事物来执行基于注视的密码,而不考虑事物的位置或定向。
信息窗格712可以包括指示用户执行他们的基于注视的密码的提示。可以在用户正在查看场景时跟踪用户的注视以获取登录注视跟踪数据。登录注视跟踪数据在图8中用登录路径802表示。虽然在该图中未示出视觉反馈,但是在一些示例中,可以在认证阶段期间向用户提供示出用户在显示器上的注视的反馈(或听觉或触觉反馈)。然后将登录注视跟踪数据与基于注视的密码进行比较,以确定登录注视跟踪数据是否满足基于注视的密码。该比较可以使用针对前述示例描述的任何技术来执行,唯一的区别在于登录路径802和基于注视的密码的比较是针对三维而不是二维而进行的。
图9示出了使用混合现实场景900的示例基于注视的密码技术。图9的示例类似于图7和8的示例,除了场景900包括多个三维虚拟对象并且用户选择形成基于注视的密码的一部分的对象。也就是说,该示例中的基于注视的密码跨越多个虚拟对象,即虚拟对象902、904、 906和908,而不是如图7和8所示由单个虚拟对象内或上的多个位置组成。在一些示例中,基于注视的密码可以包括多个粒度级别的注视目标,类似于图6的示例,但在三维混合现实环境中。在这种情况下,基于注视的密码可以包括其中注视目标对应于多个虚拟对象(例如,如图9所示)的具有粗粒度的密码的一部分以及其中多个注视目标对应于特定虚拟对象中或上的位置(例如,如图7和8中所示)的具有细粒度的密码的一部分。在图9的示例中,基于注视的密码可以使用位于场景900内的第一位置的虚拟对象902、904、906和908来建立,而对象可以在认证阶段期间在场景中的不同位置和/或定向中重新定位(或相对于彼此或注视跟踪相机)。如上所述,基于注视的密码可以是位置和/或定向特定的,或者可以与对应于注视目标的对象的位置的位置和/或定向无关。
图10示出了建立基于注视的密码的示例,其中真实世界对象定义基于注视的密码。在该示例中,场景1000包括用户的真实世界环境1002(通常由虚线框示出)。在其他示例中,场景1000可以用计算机生成图形来增强,计算机生成图形可以形成或不形成基于注视的密码的一部分。在图10的示例中,场景1000包括多个物理的真实世界对象1004(A)-1004(G)。
当用户第一次尝试访问资源时,可以提示用户(例如,可听地或经由覆盖在真实世界环境1002上的计算机生成提示)来设置基于注视的密码。例如,可以提示用户查看场景1000中的指定数目(例如,三、四、五、十等)的事物(例如,位置或对象)。当用户查看场景1000中的指定数目的事物时,用户查看的事物被建立为注视目标1006 (A)-1006(D)(统称为“注视目标1006”)。在该示例中,注视目标1006对应于用户选择的物理真实世界对象1004(A)、1004(B)、 1004(C)和1004(D)。用户不将场景中的其他物理对象(例如, 1004E、1004(F)和1004(G)等)选择为注视目标。在其他示例中,增强真实世界环境1002的一个或多个虚拟对象可以附加地或替代地用作注视目标。也就是说,在一些示例中,基于注视的密码可以由真实世界对象和虚拟对象的组合组成。
当用户查看场景1000时,可以使用注视跟踪相机或头戴式计算设备1008的其他传感器来捕获用户的注视以生成与在用户标识注视目标1006时的用户的注视相对应的注视跟踪数据。该示例的头戴式计算设备1008不需要包括显示器,因为该示例不包括用于增强真实世界环境1002的计算机生成图形。然而,在其他示例中,头戴式计算设备1008可以包括显示器,在该显示器上呈现计算机生成图形以增强真实世界环境1002。在一些示例中,登录注视跟踪数据附加地或替代地包括关于与注视目标1006(A)-1006(D)中的每个相对应的真实世界对象1004(A)-1004(D)的信息。例如,关于真实世界环境1002中的真实世界对象的信息可以包括真实世界对象的二维或三维扫描、模型或其他标识符。关于真实世界对象的信息可以通过头戴式计算设备1006的环境相机、扫描仪或其他传感器获取。
然后,可以从注视跟踪相机捕获的注视跟踪数据中标识多个注视目标1006(A)、1006(B)、1006(C)和1006(D),并且将其与关于与注视目标1006(A)-1006(D)中的每个相对应的真实世界对象1004(A)-1004(D)的信息一起存储。例如,可以通过例如确定场景1000内用户查看超过阈值时间长度(例如,大于1秒)的位置来标识注视目标1006。附加地或替代地,在一些示例中,注视目标1006可以由用户手势或触摸与注视目标1006相对应的位置或真实世界对象来建立。
如上面参考图2所述,计算设备1008在某些情况下可以向用户提供反馈(例如,视觉,音频,触觉/触知等)以指示用户何时已经成功标识每个注视目标。反馈可以包括整个申请中描述的任何类型的反馈。在一些示例中,除了或代替注视目标1006,用户注视的路径1010 可以由注视跟踪相机或其他传感器捕获。如参考图2所述,注视跟踪数据包括由于用户的有意注视目标的测量的固有不准确性而引起的某种测量不确定性(u)。注视目标1006的大小和注视路径1010的横截面积表示该测量不确定性(u)。
在标识注视目标1006、路径1010和/或对象信息之后,在一些示例中,可以提示用户将注视目标的标识重复一次或多次以确认基于注视的密码和/或计算基于注视的密码的执行误差的可接受的范围或余量。基于密码的重复,可以使用参考图2描述的一种或多种技术来建立执行误差的余量(m)。
可以基于注视目标1006、注视路径1010和/或对象信息建立基于注视的密码,并且基于注视的密码可以考虑测量不确定性(u)和/或执行误差的余量(m)。在一些示例中,可以使用以上关于图7和8 或本公开中的其他地方描述的技术来建立基于注视的密码。附加地或替代地,在一些示例中,该示例中的基于注视的密码可以全部或部分地基于对象信息。在这种情况下,将真实世界场景中用户在登录期间查看的对象与在密码建立阶段期间存储的与注视目标相对应的对象信息进行比较。基于注视的密码可以要求真实世界场景中用户在登录期间查看的对象与在密码建立阶段期间存储的与注视目标相对应的对象信息基本上相同(或在阈值相似性内)。可以使用任何合适的对象识别/比较技术来执行在登录期间查看的对象与在密码建立期间存储的对象信息的比较。该示例中的基于注视的密码可以是位置和/或定向特定的(表示真实世界对象的位置和/或定向形成密码的一部分),或者它可以是位置和/或定向无关的(表示对象的位置和/或定向没有形成密码的一部分。密码可能要求在认证期间以特定顺序查看对象,或者可以与在认证期间查看对象的顺序无关。一旦建立,基于注视的密码可以用于认证用户以访问资源。
图11示出了使用基于注视的密码来认证用户以访问资源的示例,其中真实世界对象定义基于注视的密码。图11包括场景1100,场景 1100包括用户的真实世界环境1102,其可以与在建立基于注视的密码时用户的真实世界环境1002相同或不同。用户可以使用根据图10 建立的基于注视的密码来寻求访问资源。此外,即使用户在认证时与在创建密码时位置相同,基于注视的密码所基于的真实世界对象可能位于或不位于相对于彼此或相对于用户的与在密码建立期间的相同位置。在图11的示例中,自密码建立阶段以来已经移动了基于注视的密码所基于的真实世界对象1004(A)-1004(D)。
在接收到来自用户的访问资源的请求时,头戴式计算设备1008 可以从注视跟踪相机获取表示用户在登录期间的注视的登录注视跟踪数据。登录注视跟踪数据在图11中用登录注视路径1104表示。可以使用在本申请的该部分或任何前述部分中描述的任何技术,将登录注视跟踪数据与基于注视的密码进行比较。在所示示例中,基于注视的密码基于真实世界场景中用户在登录期间查看的对象与对应于在密码建立阶段期间存储的注视目标的对象信息的比较。在该示例中的基于注视的密码是位置和方向无关的,使得可以通过查看对应于注视目标1006(A)-1006(D)的真实世界对象1004(A)-1004(D)来认证用户,而无论对象相对于彼此和/或相对于头戴式计算设备1006 的位置如何。密码可能要求在认证期间以特定顺序查看对象(例如,与他们在密码建立期间被查看的相同的顺序),或者可以与在认证期间查看对象的顺序无关。
在一些示例中,基于注视的密码也可以是位置特定的,使得密码要求头戴式计算设备1008与密码建立期间在相同位置以进行认证。该位置要求在实现时增加额外的安全级别,以防止头戴式计算设备 1008在密码所需要的位置之外被使用。,可以基于全球定位系统 (GPS)数据或其他位置数据(当可用时)和/或基于在认证期间的真实世界环境1102与在密码建立期间存储的关于真实世界环境1002的信息的比较来确定头戴式计算设备1008是否处于相同位置。
基于该比较,可以确定登录注视跟踪数据是否满足基于注视的密码。并且,如果是,则可以认证用户以访问资源。
示例计算设备
图12示出了可以用于实现本文中描述的基于注视的密码技术的示例计算设备1200的细节。计算设备1200可以表示图12中的任何计算设备108。该示例中的计算设备1200包括(多个)处理器1202、计算机可读介质1204、(多个)传感器1206、(多个)输入接口1208和(多个)输出接口1210。在图12中,设备1200被示出为头戴式设备。然而,设备1200可以是被配置为能够检测用户的注视跟踪的任何类型的设备。该示例是出于说明的目的而提供的,而不应当被解释为限制。下面参考图17-19描述附加细节和示例计算环境和计算设备。
(多个)处理器1202可以表示例如CPU类型处理单元、GPU类型处理单元、现场可编程门阵列(FPGA)、另一类数字信号处理器 (DSP)或者在某些情况下可以由CPU驱动的其他硬件逻辑组件。例如而非限制,可以使用的说明性类型的硬件逻辑组件包括专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。在各种示例中,(多个)处理器1202可以执行一个或多个指令、模块和/或过程以引起设备1202执行各种功能,诸如描述为由本文中的计算设备执行的功能。另外,(多个)处理器1202中的每个可以拥有其自己的本地存储器,其也可以存储程序模块、程序数据和/或一个或多个操作系统。下面参考图17和19 描述可以用作(多个)处理器1202的示例处理器的附加细节。
在至少一种配置中,设备1200的计算机可读介质1204可以存储支持用户与计算设备1200之间的交互的组件。例如,计算机可读介质1204可以包括操作系统1212、(多个)传感器数据收集模块1214、基于注视的密码模块1216、反馈模块1218和一个或多个应用1220。操作系统1212可以被配置为管理设备1200内和耦合到设备1200的硬件和服务以获取其他组件和/或模块的益处。(多个)传感器数据收集模块1214收集、存储和/或处理从计算设备的(多个)传感器1206 收集的传感器数据。基于注视的密码模块1216包括用于为用户建立基于注视的密码以访问资源和/或认证用户以访问资源的程序指令。具体地,基于注视的密码模块1216可以被配置为基于注视跟踪数据和用户的其他输入来建立基于注视的密码,并且将基于注视的密码与账户、计算设备或其他资源相关联地存储。基于注视的密码可以本地存储在计算设备1200的存储器中,或者远程存储在诸如服务提供者(例如,服务提供者102)的存储器中。反馈模块1218可以被配置为经由显示器、扬声器、触觉设备或计算设备1200的其他输出生成反馈和引起反馈到用户的输出。作为示例而非限制,反馈模块1218可以在用户在建立基于注视的密码期间成功选择注视目标时生成和输出反馈以通知用户。(多个)应用1220可以对应于全部或部分地存储在计算设备1200上的任何其他应用。作为示例而非限制,应用1220可以包括游戏应用、文件共享应用、浏览器应用、搜索应用、生产力应用(例如,文字处理应用、电子表格应用、计算机辅助设计应用等)、通信应用(例如,电子邮件、即时消息、音频和/或视频会议、社交网络应用等)。(多个)应用1220可以存储在计算机可读介质1204中或者可以由设备1200以其他方式访问(例如,经由网络,诸如网络 104)。下面参考图17-19描述可以表示(多个)应用1220的示例应用的附加细节。
虽然图12将基于注视的密码模块1216和反馈模块1218示出为与操作系统1212和(多个)应用1220分离,但是在替代示例中,基于注视的密码模块1216和/或反馈模块1218可以被包括在操作系统 1212和/或一个或多个应用1220中或者与其集成。在这样的示例中,具有集成的基于注视的密码功能的操作系统1212和/或(多个)应用 1220可以执行与针对基于注视的密码模块1216和/或反馈模块1218 所描述的相同或相似的功能。
模块可以表示在计算设备(例如,设备102)上执行的代码片段。在一些示例中,个体模块可以包括诸如应用程序接口(API)等接口,以执行其一些或全部功能(例如,操作)。在附加和/或替代示例中,组件可以实现为由至少一个处理单元(例如,(多个)处理器1202)可执行以将设备1200配置为执行包括本文中描述的基于注视的认证技术在内的操作的计算机可读指令、数据结构等。用于执行这些操作的功能可以由单个设备实现或分布在多个设备上。参考图18描述示例分布式计算场景的附加细节。下面参考图17-19提供可以用于计算机可读介质106的示例类型的计算机可读介质的附加细节。
在至少一个示例中,(多个)传感器1206可以是被配置为感测用户的条件或用户的周围环境的任何设备或设备的组合。(多个)传感器1206包括一个或多个面向用户的相机1206A或其他传感器,用于跟踪用户的眼睛移动或注视、面部表情、瞳孔扩张和/或收缩、手势和/或其他特征。在一些示例中,(多个)传感器1206还包括一个或多个面向外的或环境相机1206B,用于捕获真实世界对象和用户的周围环境的图像。(多个)传感器1206可以附加地或替代地包括一个或多个生物识别传感器(例如,用于测量皮肤电反应的皮肤电反应传感器、心率监测器、用于测量皮肤表面温度的皮肤温度传感器、用于测量大脑电活动的脑电图(EEG)设备、用于测量心脏电活动的心电图(ECG或EKG)设备、一个或多个其他相机(例如,web相机、红外相机、深度相机等)、用于测量语音音量、语音速率等的麦克风或其他声音传感器、光传感器、光学扫描仪等。(多个)个体传感器 1206可以将传感器数据输出到(多个)对应的传感器数据收集模块 1214以进行适当的处理。例如,面向用户的相机1206A可以捕获注视跟踪数据,该注视跟踪数据可以由对应的传感器数据收集模块1214 处理以确定用户的一个或多个注视目标和/或注视路径。然后,传感器数据收集模块1214可以将注视目标和/或注视路径输出到基于注视的密码模块1216,以用于为用户建立基于注视的密码或者用于认证用户。
在附加和/或替代示例中,(多个)传感器1206可以是被配置为检测设备102和其他对象的位置或移动的任何设备或设备的组合。例如,(多个)传感器1206可以附加地和/或替代地包括深度图传感器、光场传感器、陀螺仪、声纳传感器、红外传感器、罗盘、加速度计、全球定位系统(GPS)传感器和/或用于检测设备1200和/或其他对象的位置或移动的任何其他设备或组件。(多个)传感器1206还可以使得能够生成表征与设备1200的交互(诸如用户手势)的数据。出于说明的目的,(多个)传感器1206和/或输入接口1208可以实现定义一个或多个对象的移动的位置和方面(例如,速度、方向、加速度) 的数据的生成,其可以包括设备1200、在设备1200附近的物理项目和/或用户。
图12示出了其中(多个)传感器1206中的至少一些是设备1200 的一部分或内置于设备1200中的示例。更具体地,图12示出了非限制性示例,其中设备1200包括面向用户的相机传感器126(A)和设置在头戴式显示器1200的鼻梁组件中或与其集成的环境相机126(B)。如上所述,每个设备1200可以包括可以是设备1200的一部分或内置于设备1200中的一个或多个传感器1206的任何配置。然而,在一些示例中,一个或多个传感器1206可以可移除地耦合到设备 1200,或者与设备1200分离并且在通信上耦合到设备1200。在后一种情况下,传感器数据可以从一个或多个传感器1206传送到设备 1200,例如,经由有线和/或无线网络,诸如网络104。
如上所述,设备1200可以包括(多个)输入接口1208和(多个) 输出接口1210。作为示例而非限制,(多个)输入接口1208可以包括键盘、小键盘、鼠标、麦克风、触摸传感器、触摸屏、操纵杆、控制按钮、滚动按钮、相机、神经接口或适于生成定义与设备1200的用户交互的信号和/或数据的任何其他设备。作为示例而非限制,(多个)输出接口1210可以包括显示器(例如,全息显示器、平视显示器、保护器、触摸屏、液晶显示器(LCD)等)、扬声器、触觉接口等。
在至少一个示例中,输出接口1210可以是硬件显示表面1222,其可以被配置为允许通过硬件显示表面1222的对象的真实世界视图,同时还提供计算机生成内容或场景的渲染显示。硬件显示表面1222 可以包括用于产生对象和/或数据的显示的一个或多个组件,诸如投影仪、屏幕或其他合适的组件。在一些配置中,硬件显示表面1222可以被配置为覆盖用户的至少一只眼睛。在一个说明性示例中,硬件显示表面1222可以包括被配置为覆盖用户的双眼的屏幕。硬件显示表面1222可以渲染或引起一个或多个图像的显示,以生成一个或多个计算机生成虚拟对象的视图或立体图像。出于说明的目的,对象可以是项目、数据、设备、人、地点或任何类型的实体。在至少一个示例中,对象可以与和应用相关联的功能或特征相关联。如下面将更详细描述的,一些配置使得设备1200能够在图形上将全息用户界面和其他图形元素与通过硬件显示表面1222看到的对象或显示在硬件显示表面1222上的渲染对象相关联。
硬件显示表面1222可以被配置为允许用户查看来自不同环境的对象。在一些配置中,硬件显示表面1222可以显示计算机生成虚拟对象的渲染。另外,硬件显示表面1222的一些配置可以允许用户透过具有可控透明度级别的硬件显示表面1222的可选择部分,使得用户能够查看在他或她的周围环境中的对象。出于说明的目的,用户通过硬件显示表面1222查看对象的视角在本文中被称为对象的“真实世界视图”或“物理对象的真实世界视图”。如将在下面更详细地描述的,对象和/或数据的计算机生成渲染可以显示在硬件显示表面1222的所选择的部分中、周围或附近,使得用户能够查看计算机生成渲染以及通过硬件显示表面1222的所选择的部分观察到的对象的真实世界视图。
本文中描述的一些配置提供“透视显示”和“增强现实显示”。出于说明的目的,“透视显示”可以包括可以在其上显示内容的透明镜头。“增强现实显示器”可以包括被配置为在图像的渲染上显示内容的不透明显示器,该图像可以来自任何源,诸如来自用于捕获环境的图像的相机的视频馈送。出于说明的目的,本文中描述的一些示例描述了在图像的显示器上的渲染内容的显示。另外,本文中描述的一些示例描述了在“透视显示器”上显示渲染内容,使得用户能够看到具有该内容的对象的真实世界视图的技术。可以理解,本文中描述的技术的示例可以应用于“透视显示器”、“增强现实显示器”或其变型和组合。出于说明的目的,被配置为实现“透视显示”、“增强现实显示”或其组合的设备在本文中被称为能够提供“混合环境”或“混合现实场景”的设备。
下面参考图13A-13C、14A-14F、15A-15F描述与硬件显示表面 1222相关联的附加细节。下面参考图17和19描述与(多个)输入接口1208和/或(多个)输出接口1210相关联的附加细节。
示例注视跟踪
现在参考图13A-13C、14A-14F、15A-15F和16,以下部分描述用于标识注视目标的技术,诸如在前面的示例中描述的(例如,注视目标204、406、604、714、106等)。这些技术在具有面向用户的注视跟踪相机的头戴式计算设备的上下文中描述。然而,本部分中描述的技术也可以应用于具有面向用户的用于注视跟踪的相机的其他类型的计算设备(例如,具有web相机108B的计算机、具有面向用户的相机108C的平板计算机或智能电话、具有面向用户的相机108D 的游戏控制台等)。图13A是具有硬件显示表面1302(例如,硬件显示表面1222)和一个或多个传感器1304和1304'(诸如分别是计算设备1200的相机1206B和1206A)的设备1300(例如,设备108,设备1200等)的后视图。为了支持本文中描述的功能,在至少一个示例中,(多个)传感器1304'是面向用户的(诸如面向用户的相机 1206A)并且可以被配置为跟踪用户的至少一只眼睛的位置。另外,至少一个其他传感器1304是面向环境的(诸如环境相机1206B)并且可以指向真实世界对象以生成真实世界对象的图像数据。如下面将更详细描述的,示例可以处理眼睛位置数据、图像数据和其他数据以标识注视目标,该注视目标是在硬件显示表面1302上显示的渲染对象或通过硬件显示表面1302的透明部分查看的真实世界对象。如下面还将描述的,本文中描述的示例还可以确定用户是否正在查看硬件显示表面1302的特定部分、真实世界对象的特定部分或渲染对象的特定部分。这样的信息可以用于从注视跟踪数据确定注视目标以建立基于注视的密码和/或在认证期间用于确定用户的登录注视跟踪数据是否满足基于注视的密码。
在图13A中,设备1300包括两个面向用户的传感器1304',用于生成指示用户的至少一只眼睛的位置或移动的数据或信号。传感器 1304'可以是相机或用于跟踪用户的至少一只眼睛的位置或移动的其他合适的设备的形式。设备1300还包括至少一个硬件显示表面1302 (诸如计算设备1200的硬件显示器1222或与计算设备108B、108C 或108D之一相关联的显示屏),用于允许用户查看一个或多个对象。硬件显示表面1302可以通过硬件显示表面1302提供真实世界对象的视图以及可以在硬件显示表面1302上显示的渲染对象的图像,如上所述。
图13B是图13A所示的设备1300的侧剖视图1306。图13B包括用户通过硬件显示表面1302查看的眼睛1308。硬件显示表面1302 被配置为创建透明部分,以使得用户能够通过硬件显示表面1302查看对象。图13B示出了真实世界对象1310与硬件显示表面1302的透明部分对准以允许用户通过硬件显示表面1302查看真实世界对象 1310的示例布置。硬件显示表面1302可以显示一个或更多渲染对象。设备102还包括指向用户的至少一只眼睛1308的至少一个传感器 1304'。
图13C示出了用户可以经由硬件显示表面1302查看的示例场景或视图1312。粗双线1314示出了硬件显示表面1302的边界。在该说明性示例中,场景或视图1312包括显示在硬件显示表面1302上的第一渲染对象1316、第二渲染对象1318和第三渲染对象1320。真实世界对象1310通过硬件显示表面1302来查看。
在上述非限制性示例中,用户可以尝试访问资源(例如,(多个) 资源118)。例如,为了访问资源,可以要求用户使用基于注视的密码来认证他或她自己。该示例中的基于注视的密码包括与第一渲染对象1316、第二渲染对象1318和真实世界对象1310相对应的注视目标。实际上,其他填充对象(即,不与基于注视的密码的注视目标相对应的渲染对象和/或真实世界对象)也可以被包括在场景或视图1312中。基于注视的密码模块(例如,116、128或1216)可以引起第三渲染对象1320呈现在显示器上以指示用户执行他或她的基于注视的密码,以便被认证以访问资源。例如,第三渲染对象1320可以是在渲染信息窗格中呈现的提示。然后,当用户执行他或她的基于注视的密码时,基于注视的密码模块(例如,116、128或1216)可以从计算设备的一个或多个传感器(例如,(多个)传感器124、1208或1304)接收传感器数据。基于注视的密码模块和/或反馈模块(例如,1218)可以引起呈现反馈(例如,音频、视觉、触觉等)以通知用户已经标识了注视目标。
为了支持这样的示例的各方面,设备1300可以利用一种或多种技术来校准设备1300。以下部分结合图14A-14F描述用于获取校准数据的技术的各方面。随后的部分结合图15A-图15F描述其中设备 1300处理校准数据和其他数据以标识注视目标的示例场景的各方面。
可以以多种方式校准设备1300。在一个示例中,设备1300可以利用多个图形元素在预定位置处的显示。当显示图形元素时,设备 1300可以提示用户查看特定图形元素并且提供输入以验证用户正在查看特定图形元素。当用户验证他或她正在查看特定图形元素时,(多个)传感器1304'可以生成定义至少一只眼睛的位置的眼睛位置数据。眼睛位置数据可以响应于从用户接收验证而存储在存储器中的数据结构中。
图14A示出了可以由设备1300的传感器1304'捕获的示例视图 1400。从这样的角度来看,设备1300可以确定定义用户的至少一只眼睛1308的位置的一个或多个值。在一个说明性示例中,值可以包括指示用户眼睛之间的距离的第二值(D2)以及指示用户的至少一只眼睛与参考点1402之间的距离的第三值(D3)、第四值(D4)和第五值(D5)。可以理解,通过使用一种或多种图像处理技术,可以标识并且利用眼睛的一个或多个方面(诸如瞳孔)来确定眼睛位置。
另外,通过使用一种或多种合适的技术,可以选择参考点1402。参考点1402可以基于用户的特征,例如,鼻尖、眉毛、美人痣,或者参考点1402可以在任意位置。在图14A的示例中,用户眼睛之间的点用作参考点1402。该示例参考点1402是出于说明的目的而提供的,而不应当被解释为限制。可以理解,参考点1402可以位于任何合适的位置,其可以基于用户或任何对象的可标识的特征或特性。
如上所述,设备1300可以在硬件显示表面1302的预定位置处生成多个图形元素。当图形元素显示在硬件显示表面1302上时,设备 1300可以提示用户查看图形元素并且提供输入以验证用户正在查看图形元素。图14B示出了可以由设备1300生成以支持校准过程的图形元素1406的示例视图1404。在该示例中,设备1300在查看区域的中心生成图形元素1406的渲染。在显示图形元素1406时,设备1300 可以为用户生成提示以验证他或她正在查看图形元素1406。提示以及用户对提示的响应可以包括手势、语音命令或其他合适类型的输入。
当设备1300验证用户正在查看图形元素1406时,设备1300可以记录指示用户的至少一只眼睛1308的位置和/或移动的一个或多个值。例如,上面描述并且在图13B和图14A中示出的一个或多个值可以存储在存储器中的数据结构中。可以理解,可以存储和利用任何合适的值或值的组合,包括但不限于指示传感器1304'与用户的至少一只眼睛1308之间的距离的第一值(D1)、指示用户眼睛之间的距离的第二值(D2)和指示至少一只眼睛1308与参考点1402之间的距离的其他值(D3、D4和D5)。这些值是出于说明目的而提供的,并且不应当被解释为限制。可以理解,这样的值、这样的值的子集以及其他测量的其他值可以用于确定用户的一只或多只眼睛的移动和/或位置。
可以在显示在各种位置中的其他图形元素的显示期间测量其他组值。例如,如图14C所示,当显示第二图形元素1408时,可以测量第二组值(D2'、D3'、D4'和D5'),如图14D所示。如图14E所示,当显示第三图形元素1410时,可以测量第三组值(D2”、D3”、D4”和D5”),如图14F所示。
这些示例性测量和图形元素的位置是出于说明的目的而提供的。可以理解,可以将任何数目的图形元素放置在不同的位置以获取可以用于校准设备1300的测量。例如,设备1300可以在视图1404的预定位置(诸如视图1404的每个角落)处顺序地显示图形元素。可以理解,可以在校准过程中使用更多或更少的图形元素。
指示每个预定位置处的至少一只眼睛1308的位置的值可以用于生成校准数据。校准数据可以被配置为将眼睛位置数据集与标识图形元素的位置的数据相关联。
可以使用适合于生成校准数据的任何已知技术。可以理解,校准数据的生成可以包括可以投射多组眼睛位置数据与硬件显示表面 1302的各个部分和/或硬件显示表面1302的像素之间的相关性的外推、投影和/或估计技术。这些示例是出于说明的目的而提供的,并且不应当被解释为限制,并且值和/或校准数据可以以其他方式获取,包括从一个或多个远程资源接收这样的校准数据。
一旦生成或获取校准数据,就可以由设备1300利用这样的数据和其他数据来确定用户是否正在查看特定的注视目标,其可以包括硬件显示表面1302的一部分、渲染对象、渲染对象的一部分、真实世界对象或真实世界对象的一部分。图15A-15F描述了其中具有至少一个传感器1304'的设备1300用于跟踪用户的至少一只眼睛1308的移动以标识注视目标的示例场景的各方面。
现在参考图15A和图15B,示出并且描述了示出注视目标的标识的示例场景。在该示例中,用户正在查看示例视图1312。如上面参考图13C所概述的,示例视图1312包括硬件显示表面1302上的渲染对象(例如,第一渲染对象1316、第二渲染对象1318和第三渲染对象1320)的视图以及通过硬件显示表面1302的真实世界对象1310的视图。当用户正在查看视图1312时,(多个)传感器1304'可以引起生成一个或多个测量值,诸如图15A所示的值。在一些示例中,使用合适技术的任何组合,可以将这样的值与校准数据和/或其他数据进行比较以标识注视目标。在该示例中,在图15A中描绘的场景中测量的一个或多个值可以利用校准数据进行处理,以确定用户正在查看第一渲染对象1316。在这样的示例中,图15A所示的一个或多个测量值也可以用于确定用户正在查看界面的预定部分,诸如图15B中的硬件显示表面1302的第一部分1500。
在继续本示例中,在图15C中描绘的场景中测量的一个或多个值可以利用校准数据进行处理,以确定用户正在查看第二渲染对象 1318。在这样的示例中,图15C所示的一个或多个测量值还可以用于确定用户正在查看图15D中的硬件显示表面1302的第二部分1502。
在继续本示例中,在图15E中描绘的场景中测量的一个或多个值可以利用校准数据进行处理,以确定用户正在查看真实世界对象 1310。在这样的示例中,图15E所示的一个或多个测量值可以利用校准数据进行处理,以确定用户正在查看图15F中的硬件显示表面1302 的第三部分1504。
在一些示例中,设备1300可以利用来自资源组合的数据来确定用户是否正在通过硬件显示表面1302查看真实世界对象1310。如上所述,相机或安装到设备1300的其他类型的传感器1304(图13A) 可以指向用户的视场。可以分析从相机生成的图像数据以确定视场中的对象是否处于图像数据的图像的预定位置。如果对象位于图像的预定区域内,诸如图像的中心,则设备可以确定注视目标用眼睛位置数据处理这种数据。这样的数据可以用于补充其他类型的数据,诸如来自GPS的位置数据和/或从罗盘或加速度计生成的数据,以帮助设备 1300确定注视方向(例如,左、右、上或下)和/或注视目标。
图16是示出用于确定注视目标的示例过程1600的各方面的流程图。在图16中,为方便起见,在设备1200的上下文中描述操作。然而,这些操作也适用于其他设备,包括但不限于计算设备108和1300。
框1602示出了获取校准数据。在至少一个示例中,操作系统 1212、应用1220或与计算机可读介质1204相关联的另一模块可以获取校准数据。校准数据可以存储在计算机可读介质1204或任何计算机可读存储介质中的数据结构中以便稍后访问。校准数据可以由设备 1200生成,或者校准数据可以从远程资源接收。在一些示例中,计算设备1200的传感器1206A可以被定位成跟踪用户的至少一只眼睛的位置。传感器1206A可以引起生成将用户的至少一只眼睛的位置与硬件显示表面1222的特定部分或位置相关联的一个或多个值。这样的示例可以利用初始化过程,其中设备1200在预定位置处显示一个或多个图形元素。在显示一个或多个图形元素期间,来自用户的一个或多个输入可以指示它们正在查看一个或多个图形元素。响应于该输入,设备可以生成校准数据,该校准数据包括将用户的至少一只眼睛的位置与标识硬件显示表面1222的特定位置或部分的数据相关联的值。
框1604示出了获取指示用户的至少一只眼睛的位置的传感器数据。在至少一个示例中,操作系统1212、应用1220或与计算机可读介质1204相关联的另一模块可以从(多个)传感器1206A获取传感器数据。传感器数据可以存储在(多个)传感器数据收集模块1214 中或计算机可读介质106中的其他地方或任何计算机可读存储介质中的数据结构中以便稍后访问。如上所述,指向用户的至少一只眼睛的 (多个)传感器1206A可以引起生成指示用户的至少一只眼睛的位置的传感器数据(例如,注视跟踪数据)。可以处理传感器数据以生成指示用户的注视方向的数据。如下面将描述的,可以利用校准数据处理指示用户的注视方向的数据,以确定用户是否正在注视注视目标,注视目标可以包括显示在硬件显示表面1222上的渲染对象。
框1606示出了获取对象的图像数据。在至少一个示例中,操作系统1212、应用1220或与计算机可读介质1204相关联的另一模块可以获取传感器数据。关于对象的图像数据或其他信息可以存储在(多个)传感器数据收集模块1214、基于注视的密码模块1216或计算机可读介质106中的其他地方或任何计算机可读存储介质中的数据结构中以便稍后访问。在一些示例中,安装到计算设备1200或以其他方式与计算设备1200通信的相机或其他类型的传感器1206B可以指向用户的视场。相机或其他类型的传感器1206B可以引起生成图像数据,该图像数据可以包括在用户的视场中的对象的一个或多个图像。图像数据可以是任何合适的格式并且由任何合适的传感器1206B生成,其可以包括使用深度图传感器、相机等。
框1608示出了利用图像数据或传感器数据确定注视目标。在至少一个示例中,操作系统1212、应用1220、基于注视的密码模块1216 或与计算机可读介质1204相关联的另一模块可以确定注视目标。例如,如果用户通过硬件显示表面1222查看对象的真实世界视图,并且指向用户的视场的传感器1206B生成对象的图像数据,则可以分析图像数据以确定视场中的对象是否处于图像数据的图像的预定位置。例如,如果对象位于图像的预定区域内,诸如图像的中心,则计算设备1200可以确定对象是注视目标。在另一示例中,可以利用校准数据和/或图像数据来处理指示用户的至少一只眼睛的位置的传感器数据(例如,注视跟踪数据),以确定用户是否正在查看显示在硬件显示表面1222上的渲染对象。这样的示例可以用于确定显示在硬件显示表面1222上的渲染对象是注视目标。
附加示例计算架构
图17示出了用于能够执行上述用于建立基于注视的密码和/或在基于注视的密码的基础上向资源认证用户的程序组件的诸如计算设备108、计算设备1200、设备1300和/或(多个)服务器110等计算机的示例计算机架构1700的附加细节。因此,图17所示的计算机架构1700示出了用于服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、膝上型计算机和/或可穿戴计算机的架构。计算机架构1700是可以用于全部或部分地执行本文中呈现的软件组件的各方面的示例架构。
图17所示的计算机架构1700包括中央处理单元1702(“CPU”)、系统存储器1704(包括随机存取存储器1706(“RAM”)和只读存储器(“ROM”)1708)以及将存储器1704耦合到CPU1702的系统总线1710。ROM 1708中存储有基本输入/输出系统(“BIOS”),其包含有助于诸如在启动期间在计算机架构1700内的元件之间传送信息的基本例程。计算机架构1700还包括用于存储操作系统1714(例如,操作系统1212)、(多个)应用1716(例如,(多个)资源118、(多个)应用126、(多个)应用1220等)程序、(多个)模块1718 (例如,基于注视的密码模块116、128和1216、(多个)传感器数据收集模块1216、(多个)反馈模块1218等)等的大容量存储设备 1712,如上面参考图1和12所述。附加地和/或替代地,大容量存储设备1712可以存储传感器数据1720(例如,来自传感器124、1206、 1304等)、图像数据1722(例如,照片、计算机生成图像、关于场景中的真实和/或虚拟对象的对象信息、关于任何前述内容的元数据等)、校准数据1724、基于注视的密码数据1726(例如,注视目标、注视路径、字形、向量、坐标或定义基于注视的密码的其他信息)、内容数据1728(例如,计算机生成图像、视频、场景等)、呈现数据 1730(例如,指令、提示等)等,如本文所述。
大容量存储设备1712通过连接到总线1710的大容量存储控制器 (未示出)连接到CPU 1702。大容量存储设备1712及其相关的计算机可读介质为计算机架构1700提供非易失性存储。大容量存储设备 1712、计算机可读介质114、计算机可读介质122和计算机可读介质 1204是根据本公开的计算机可读介质的示例。虽然本文中包含的计算机可读介质的描述是指大容量存储设备,诸如固态驱动器、硬盘或 CD-ROM驱动器,但是本领域技术人员应当理解,计算机可读介质可以是可以由计算机架构1700访问的任何可用计算机存储介质或通信介质。
通信介质包括计算机可读指令、数据结构、程序模块或诸如载波或其他传输机制等调制数据信号中的其他数据,并且包括任何传送介质。术语“调制数据信号”表示以能够在信号中对信息进行编码的方式改变或设置其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质以及诸如声学、RF、红外和其他无线介质等无线介质。上述的任何组合也应当被包括在通信介质的范围内。
作为示例而非限制,计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性的可移除和不可移除介质。例如,计算机存储介质包括但不限于RAM、ROM、可擦除可编程只读存储器 (“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存或其他固态存储器技术、光盘只读存储器(“CD-ROM”)、数字通用盘(“DVD”)、高清晰度/密度数字通用/视频盘(“HD-DVD”)、 BLU-RAY盘或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储所需信息并且可以由计算机架构 1700访问的任何其他介质。为了权利要求的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变体不包括通信介质。
根据各种配置,计算机架构1700可以使用通过网络1732和/或另一网络(未示出)到远程计算机的逻辑连接在联网环境中操作。计算机架构1700可以通过连接到总线1710的网络接口单元1734连接到网络1732。应当理解,网络接口单元1734也可以用于连接到其他类型的网络和远程计算机系统。计算机架构1700还可以包括输入/输出控制器1736,用于接收和处理来自(多个)输入设备或(多个)输入接口的输入并且向输出设备或输出接口提供输出。在整个申请中提供了很多输入和输出设备和接口的示例。例如,输入/输出控制器1736 可以从(多个)输入接口1208接收和处理数据,和/或向上面参考图 12描述的(多个)输出接口1210提供输出。
应当理解,本文中描述的软件组件在被加载到CPU 1702中并且被执行时可以将CPU 1702和整个计算机架构1700从通用计算系统变换为被定制为支持本文中呈现的功能的专用计算系统。CPU 1702可以由可以单独地或共同地呈现任何数目的状态的任何数目的晶体管或其他分立电路元件构成。更具体地,响应于包含在本文中描述的软件模块内的可执行指令,CPU 1702可以作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU 1702如何在状态之间转换来变换CPU 1702,从而变换构成CPU 1702的晶体管或其他分立硬件元件。在一些示例中,(多个)处理器112、(多个)处理器120、和/或(多个)处理器1202可以对应于CPU 1702。
对本文中呈现的软件模块进行编码还可以转换本文中呈现的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的特定变换可以取决于各种因素。这些因素的示例可以包括但不限于用于实现计算机可读介质的技术、计算机可读介质是否被表征为主存储装置或辅存储装置等。例如,如果计算机可读介质被实现为基于半导体的存储器,则可以通过变换半导体存储器的物理状态来在计算机可读介质上编码本文中描述的软件。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可以转换这样的组件的物理状态,以便在其上存储数据。
作为另一示例,本文中描述的计算机可读介质可以使用磁或光技术来实现。在这样的实现中,当在其中编码软件时,本文中呈现的软件可以转换磁或光介质的物理状态。这些转换可以包括改变给定磁介质内的特定位置的磁特性。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在不脱离本说明书的范围和精神的情况下,物理介质的其他转换是可能的,前述示例仅用于支持该讨论。
鉴于以上内容,应当理解,在计算机架构1700中发生很多类型的物理转换,以便存储和执行本文中呈现的软件组件。还应当理解,计算机架构1700可以包括其他类型的计算实体,包括手持计算机、嵌入式计算机系统、个人数字助理以及本领域技术人员已知的其他类型的计算实体。还预期计算机架构1700可以并非包括图17所示的所有组件,可以包括未在图17中明确示出的其他组件,或者可以使用与图17所示的架构完全不同的架构。
图18描绘了能够执行本文中描述的用于实现基于注视的认证技术的软件组件的示例分布式计算环境1800。因此,图18所示的分布式计算环境1800可以用于执行本文中呈现的软件组件的任何方面以实现本文中描述的技术的各方面。
根据各种实现,分布式计算环境1800包括在网络1804上操作、与网络1804通信或作为网络1804的一部分的计算环境1802。在至少一个示例中,计算环境1802中的至少一些可以对应于服务提供者102 的一个或多个服务器110、计算设备108、计算设备1200和/或计算设备1300。网络1804可以是或可以包括(多个)网络104和/或网络1732,如上面分别参考图1和17所述。网络1804还可以包括各种接入网络。一个或多个客户端设备1806A-1806N(下文中统称和/或总称为“客户端1806”)可以经由网络1804和/或其他连接(图18中未示出)与计算环境1802通信。作为示例,图1中的计算设备108和服务器 110、图12中的计算设备1200和图13A中的设备1300可以对应于客户端设备1806A-1806Q(统称为“客户端1806”)中的一个或多个,其中Q可以是大于或等于1的任何整数,这取决于期望的架构。在一个示出的配置中,客户端1806包括计算设备1806A(诸如膝上型计算机、台式计算机或其他计算设备)、平板或平板计算设备(“平板计算设备”)1806B、移动计算设备1806C(诸如移动电话、智能电话或其他移动计算设备)、服务器计算机1806D、可穿戴计算机1806E 和/或其他设备1806N。应当理解,任何数目的客户端1806可以与计算环境1802通信。本文中参考图17和19示出和描述客户端1806的两个示例计算架构。应当理解,本文中示出和描述的所示的客户端 1806和计算架构是说明性的,并且不应当被解释为以任何方式受到限制。
在所示配置中,计算环境1802包括应用服务器1808、数据存储装置1810和一个或多个网络接口1812。根据各种实现,应用服务器 1808的功能可以由作为网络1804的一部分而执行或者与网络1804 通信的一个或多个服务器计算机来提供。在一些示例中,计算环境1802可以对应于或者表示经由(多个)网络104/1804与一个或多个计算设备108通信并且由其可访问的图1中的一个或多个服务器110。在这种情况下,应用服务器1808是在服务提供者102的服务器110 处可用的(多个)资源118的示例。在一些情况下,(多个)资源118 可以仅由授权用户可访问。在这种情况下,可以提示一个或多个计算设备108的用户完成他或她的基于注视的密码以认证他或她自己,以便访问从应用服务器1808可获取的一个或多个服务或资源。应当理解,该示例是说明性的,并且不应当被解释为以任何方式受到限制。
在至少一个示例中,应用服务器1808可以托管各种服务、虚拟机、门户和/或其他资源。在所示配置中,应用服务器1808可以托管用于执行应用或其他功能的一个或多个虚拟机1814。根据各种实现,虚拟机1814可以执行用于实现基于注视的认证技术的一个或多个应用和/或软件模块,和/或虚拟机1814可以使用这样的基于注视的认证技术来保护。应用服务器1808还托管或提供对一个或多个门户、链接页面、web站点和/或其他信息(“web门户”)1816的访问。web 门户1816可以用于与一个或多个客户端计算机通信。应用服务器1808可以包括一个或多个娱乐服务1818。娱乐服务1818可以包括一个或多个用户114的各种游戏体验。
根据各种实现,应用服务器1808还包括一个或多个邮箱和/或消息服务1820。邮箱和/或消息服务1820可以包括电子邮件(“电子邮件”)服务、各种个人信息管理(“PIM“)服务(例如,日历服务、联系人管理服务、协作服务等)、即时消息服务、聊天服务、论坛服务和/或其他通信服务。
应用服务器1808还可以包括一个或多个社交网络服务1822。社交网络服务1822可以包括各种社交网络服务,包括但不限于用于共享或发布状态更新、即时消息、链接、照片、视频和/或其他信息的服务;用于评论或显示对文章、产品、博客或其他资源的兴趣的服务;和/或其他服务。在一些配置中,社交网络服务1822由
Figure BDA0001843916710000471
社交网络服务、
Figure BDA0001843916710000472
专业网络服务、
Figure BDA0001843916710000473
社交网络服务、
Figure BDA0001843916710000474
地理网络服务、
Figure BDA0001843916710000475
办公室同事网络服务等提供或包括其。在其他配置中,社交网络服务1822由可以或可以不明确地称为社交网络提供商的其他服务、站点和/或提供商提供。例如,一些web站点允许用户在各种活动和/或上下文期间经由电子邮件、聊天服务和/或其他方式彼此交互,诸如阅读发布的文章、评论商品或服务、发布、协作、游戏等。这样的服务的示例包括但不限于来自华盛顿州雷蒙德市的微软公司的
Figure BDA0001843916710000476
服务和
Figure BDA0001843916710000477
服务。其他服务是可能的并且是预期的。
社交网络服务1822还可以包括评论、博客和/或微博服务。这样的服务的示例包括但不限于
Figure BDA0001843916710000478
评论服务、
Figure BDA0001843916710000479
评论服务、
Figure BDA0001843916710000481
企业微博服务、
Figure BDA0001843916710000482
消息服务、GOOGLE
Figure BDA0001843916710000483
服务和/或其他服务。应当理解,上述服务列表并非是穷举的,并且为了简洁起见,本文中未提及很多附加和/或替代的社交网络服务1822。因此,以上配置是说明性的,并且不应当被解释为以任何方式受到限制。根据各种实现,社交网络服务1822可以托管一个或多个应用和/或软件模块,用于提供本文中描述的功能,用于为计算设备提供上下文感知的位置共享服务。例如,应用服务器1808中的任何一个可以传送或支持本文中描述的功能和特征。例如,社交网络应用、邮件客户端、消息客户端、在电话上运行的浏览器或任何其他客户端 1806可以与社交网络服务1822通信。
如图18所示,应用服务器1808还可以托管其他服务、应用、门户和/或其他资源(“其他资源”)1824。其他资源1824可以部署面向服务的架构或任何其他客户端服务器管理软件。因此可以理解,计算环境1802可以提供本文中描述的基于注视的认证概念和技术与各种邮箱、消息传递、社交网络和/或其他服务或资源的集成。
如上所述,计算环境1802可以包括数据存储装置1810。根据各种实现,数据存储装置1810的功能由在网络1804上操作或与网络 1804通信的一个或多个数据库提供。数据存储装置1810的功能也可以由被配置为为计算环境1802托管数据的一个或多个服务器计算机提供。数据存储装置1810可以包括、托管或提供一个或多个真实或虚拟容器1826A-1826N(统称和/或总称为“容器1826”)。尽管在图18中未示出,但是容器1826还可以托管或存储数据结构和/或算法,以由远程计算设备的一个或多个模块(例如,计算设备108之一的基于注视的密码模块128、或者计算设备1200的基于注视的密码模块 1216或(多个)传感器数据收集模块1214)执行。容器1826的各方面可以与数据库程序、文件系统和/或存储具有安全访问特征的数据的任何程序相关联。容器1826的各方面也可以使用诸如ACTIVE
Figure BDA0001843916710000484
Figure BDA0001843916710000485
等产品或服务来实现。
计算环境1802可以与网络接口1812通信或者由网络接口1812 访问。网络接口1812可以包括用于支持两个或更多个计算实体之间的通信的各种类型的网络硬件和软件,包括但不限于客户端1806和应用服务器1808。应当理解,网络接口1812也可以用于连接到其他类型的网络和/或计算机系统。
应当理解,本文中描述的分布式计算环境1800可以提供具有可以被配置为执行本文中描述的软件组件的任何方面的任何数目的虚拟计算资源和/或其他分布式计算功能的本文中描述的软件元素的任何方面。根据本文中描述的概念和技术的各种实现,分布式计算环境 1800将本文中描述的软件功能作为服务提供给客户端1806。应当理解,客户端1806可以包括真实或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、平板计算机、游戏控制台、智能电视、移动计算实体、智能电话和/或其他设备。这样,本文中描述的概念和技术的各种配置使得被配置为访问分布式计算环境1800的任何设备能够利用本文中描述的功能来提供基于注视的认证以及其他方面。在一个特定示例中,如上所述,本文中描述的技术可以至少部分由可以与图18的应用服务器1808一起工作的web浏览器应用来实现。
图19是用于能够执行所描述的各种软件组件的计算设备的说明性计算设备架构1900,其在一些示例中适用于实现基于注视的认证的各方面。计算设备架构1900可应用于部分地由于形状因子、无线连接和/或电池供电操作而支持移动计算的计算实体。在一些配置中,计算实体包括但不限于移动电话、平板(tablet)设备、板式(slate)设备、可穿戴设备、便携式视频游戏设备等。此外,计算设备架构1900 的各方面可以适用于传统台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携式计算机和上网本)、服务器计算机和其他计算机系统。作为示例而非限制,计算设备架构1900适用于图1、12、13、17和18所示的任何客户端(例如,服务提供者102、计算设备108、计算设备1200、设备1300和/或设备1806的服务器 110)。
图19所示的计算设备架构1900包括处理器1902、存储器组件 1904、网络连接组件1906、传感器组件1908、输入/输出组件1910 和电源组件1912。在所示配置中,处理器1902与存储器组件1904、网络连接组件1906、传感器组件1908、输入/输出(“I/O”)组件 1910和电源组件1912通信。尽管在图19中示出的个体组件之间没有示出连接,但是组件可以交互以执行设备功能。在一些配置中,组件被布置为经由一个或多个总线(未示出)进行通信。
处理器1902包括中央处理单元(“CPU”),其被配置为处理数据,执行一个或多个应用程序的计算机可执行指令,以及与计算设备架构1900的其他组件通信以执行本文中描述的各种功能。处理器 1902可以用于执行本文中呈现的软件组件的各方面。在一些示例中,处理器1902可以对应于(多个)处理器112、(多个)处理器120、 (多个)处理器1202和/或CPU1702,如上面参考图1、12和17所述。
在一些配置中,处理器1902包括图形处理单元(“GPU”),其被配置为加速由CPU执行的操作,包括但不限于通过执行通用科学和/或工程计算应用而执行的操作以及图形密集型计算应用,诸如高分辨率视频(例如,1080i、1080p和更高分辨率)、视频游戏、三维(“3D”)建模应用等。在一些配置中,处理器1902被配置为与离散GPU(未示出)通信。在一些示例中,处理器1902可以附加地或替代地包括全息处理单元(HPU),其专门被设计用于处理和集成来自头戴式计算设备的多个传感器的数据并且处理诸如空间映射、手势识别和声音和语音识别等任务。在任何情况下,CPU、GPU和/或HPU 可以根据协同处理CPU/GPU/HPU计算模型来配置,其中处理任务根据它们相应的强项在CPU、GPU和/或HPU之间划分。例如,应用的顺序部分可以在CPU上执行,计算密集型部分由GPU加速,并且某些专用功能(例如,空间映射、手势识别以及声音和语音识别)可以由HPU执行。
在一些配置中,处理器1902是或者被包括在片上系统(“SoC”) 以及下文中描述的一个或多个其他组件中。例如,SoC可以包括处理器1902、GPU、一个或多个网络连接组件1906以及一个或多个传感器组件1908。在一些配置中,处理器1902部分地利用封装叠加(“PoP”)集成电路封装技术来制造。处理器1902可以是单核或多核处理器。
处理器1902可以根据ARM架构来创建,该架构从英国剑桥的 ARM HOLDINGS可获取许可。备选地,处理器1902可以根据x86 架构来创建,诸如从加利福尼亚州山景城的INTEL公司和其他公司可获取。在一些配置中,处理器1902是从加利福尼亚州圣地亚哥的QUALCOMM可获取的SNAPDRAGON SoC、从加利福尼亚州圣克拉拉的NVIDIA可获取的TEGRASoC、从韩国首尔的SAMSUNG可获取的HUMMINGBIRD SoC、从德克萨斯州达拉斯的TEXASINSTRUMENTS可获取的开放式多媒体应用平台(“OMAP”)SoC、上述任何SoC的定制版本或专有SoC。
存储器组件1904包括随机存取存储器(“RAM”)1914、只读存储器(“ROM”)1916、集成存储存储器(“集成存储装置”)1918 和可移除存储器(“可移除存储装置”)1920。在一些配置中,RAM 1914或其一部分、ROM 1916或其一部分、和/或RAM 1914和ROM 1916的某种组合集成在处理器1902中。在一些配置中,ROM 1916 被配置为存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储装置1918和/或可移除存储装置1920加载操作系统内核的引导加载程序。例如,存储器组件1904可以对应于分别如上面参考图1、12和17所述的计算机可读介质114、计算机可读介质 122、计算机可读介质1204、存储器1704。
集成存储装置1918可以包括固态存储器、硬盘或固态存储器和硬盘的组合。集成存储装置1918可以焊接或以其他方式连接到处理器1902和本文所述的其他组件也可以连接在其上的逻辑板。这样,集成存储装置1918集成在计算设备中。集成存储装置1918被配置为存储操作系统或其部分、应用程序、数据和本文中描述的其他软件组件。
可移除存储装置1920可以包括固态存储器、硬盘或固态存储器和硬盘的组合。在一些配置中,提供可移除存储装置1920来代替集成存储装置1918。在其他配置中,可移除存储装置1920被提供作为附加的可选存储装置。在一些配置中,可移除存储装置1920在逻辑上与集成存储装置1918组合,使得总可用存储装置可用作总组合存储容量。在一些配置中,向用户示出了集成存储装置1918和可移除存储装置1920的总组合容量,而不是集成存储装置1918和可移除存储装置1920的单独存储容量。
可移除存储装置1920被配置为插入可移除存储存储器插槽(未示出)或其他机制,通过该机制插入并且固定可移除存储装置1920 以支持可移除存储装置1920可以与计算设备的其他组件(诸如处理器1902)通信的连接。可移除存储装置1920可以实施为各种存储卡格式,包括但不限于PC卡、CompactFlash卡、记忆棒、安全数字 (“SD”)、miniSD、microSD、通用集成电路卡(“UICC”)(例如,用户标识模块(“SIM”)或通用SIM(“USIM”))、专有格式等。
可以理解,存储器组件1904中的一个或多个可以存储操作系统。根据各种配置,操作系统包括但不限于来自SYMBIAN LIMITED的 SYMBIAN OS、来自华盛顿州雷蒙德市的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自加利福尼亚州帕洛阿尔托的Hewlett Packard 公司的PALM WEBOS、来自加拿大安大略省滑铁卢的Research In Motion Limited的BLACKBERRY OS、来自加利福尼亚州库比蒂诺的 Apple公司的IOS和来自加利福尼亚州山景城的Google公司的 ANDROID OS。还构想了其他操作系统。
网络连接组件1906包括无线广域网组件(“WWAN组件”)1922、无线局域网组件(“WLAN组件”)1924和无线个域网组件(“WPAN 组件”)1926。网络连接组件1906支持与网络1927或另一网络的通信,该网络可以是WWAN、WLAN或WPAN。尽管仅示出了网络1927,但是网络连接组件1906可以支持与多个网络的同时通信,包括图9 的网络1927。例如,网络连接组件1906可以支持经由WWAN、WLAN 或WPAN中的一个或多个与多个网络的同时通信。在一些示例中,网络1927可以对应于如图1、17和18所示的(多个)网络104、网络1732和/或网络1804的全部或部分。
网络1927可以是或可以包括WWAN,诸如利用一种或多种移动电信技术以经由WWAN组件1922向利用计算设备架构1900的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可以包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”) ONE、CDMA2000、通用移动电信系统(“UMTS”)、长期演进(“LTE”) 和全球微波接入互操作性(“WiMAX”)。此外,网络1927可以利用各种信道接入方法(其可以或不能由前述标准使用),包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分复用(“OFDM”)、空分多址(“SDMA”)等。数据通信可以使用通用分组无线服务(“GPRS”)、全球演进的增强数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)的高速分组接入(“HSPA”)协议族、增强型上行链路(“EUL”)或以其他方式称为高速上行链路分组接入(“HSUPA”)、演进的HSPA(“HSPA+”)、LTE以及各种其他当前和未来的无线数据接入标准来提供。网络1927可以被配置为利用上述技术的任何组合来提供语音和/或数据通信。网络1927可以被配置为或适于根据下一代技术提供语音和/或数据通信。
在一些配置中,WWAN组件1922被配置为向网络1927提供双模多模连接。例如,WWAN组件1922可以被配置为提供到网络1927 的连接,其中网络1927经由GSM和UMTS技术或经由某种其他技术组合来提供服务。备选地,多个WWAN组件1922可以用来执行这样的功能,和/或提供附加功能以支持其他不兼容的技术(即,不能由单个WWAN组件支持)。WWAN组件1922可以支持与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络1927可以是根据一个或多个电气和电子工程师协会 (“IEEE”)802.15标准操作的WLAN,诸如IEEE 802.15a、802.15b、 802.15g、802.15n和/或未来802.15标准(本文中统称为WI-FI)。还考虑了草案802.15标准。在一些配置中,WLAN利用一个或多个无线WI-FI接入点来实现。在一些配置中,无线WI-FI接入点中的一个或多个是具有到用作WI-FI热点的WWAN的连接的另一计算设备。 WLAN组件1924被配置为经由WI-FI接入点连接到网络1927。这种连接可以经由各种加密技术来保护,包括但不限于WI-FI保护访问 (“WPA”)、WPA2、有线等效保密(“WEP”)等。
网络1927可以是根据红外数据协会(“IrDA”)、蓝牙、无线通用串行总线(“USB”)、Z-Wave、ZIGBEE或某种其他短程无线技术进行操作的WPAN。在一些配置中,WPAN组件1926被配置为支持经由WPAN与诸如外围设备、计算机或其他计算实体等其他设备的通信。
在至少一个示例中,传感器组件1908可以包括磁力计1928、环境光传感器1930、接近传感器1932、加速度计1934、陀螺仪1936 和全球定位系统传感器(“GPS传感器”)。另外,传感器组件1908 可以包括如上面参考图12所述的任何或所有(多个)传感器1206。预期其他传感器(诸如但不限于温度传感器或冲击检测传感器、应变传感器、湿度传感器)也可以被合并在计算设备架构1900中。
磁力计1928被配置为测量磁场的强度和方向。在一些配置中,磁力计1928向存储在存储器组件1904之一内的罗盘应用程序提供测量,以便向用户提供包括基本方向(北、南、东和西)的参考系中的准确方向。可以向包括罗盘组件的导航应用程序提供类似的测量。预期由磁力计1928获取的测量的其他用途。
环境光传感器1930被配置为测量环境光。在一些配置中,环境光传感器1930向存储在一个存储器组件1904内的应用程序提供测量,以便自动调节显示器的亮度(下面描述)以补偿低光和高光环境。预期由环境光传感器1930获取的测量的其他用途。
接近传感器1932被配置为在没有直接接触的情况下检测计算设备附近的对象或事务的存在。在一些配置中,接近传感器1932检测用户身体(例如,用户的面部)的存在,并且将该信息提供给存储在存储器组件1904之一内的应用程序,该应用程序利用接近信息来启用或禁用计算设备的某种功能。例如,电话应用程序可以响应于接收到接近信息而自动禁用触摸屏(下面描述),使得用户的面部在呼叫期间不会无意中结束呼叫或启用/禁用电话应用程序内的其他功能。预期由接近传感器1928检测到的接近的其他用途。
加速度计1934被配置为测量适当的加速度。在一些配置中,来自加速度计1934的输出被应用程序用作输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计1934接收的输入而移动或以其他方式操纵角色、其一部分或对象。在一些配置中,来自加速度计1934的输出被提供给应用程序用于在横向和纵向模式之间切换,计算坐标加速度或检测降落。预期加速度计1934的其他用途。
陀螺仪1936被配置成测量和保持定向。在一些配置中,来自陀螺仪1936的输出被应用程序用作输入机制以控制应用程序的某种功能。例如,陀螺仪1936可以用于准确识别视频游戏应用或某种其他应用的3D环境内的移动。在一些配置中,应用程序利用来自陀螺仪 1936和加速度计1934的输出来增强对应用程序的某种功能的控制。预期陀螺仪1936的其他用途。
GPS传感器1938被配置为从GPS卫星接收信号以用于计算位置。由GPS传感器1938计算的位置可以由需要或受益于位置信息的任何应用程序使用。例如,由GPS传感器1938计算的位置可以与导航应用程序一起使用以提供从该位置到目的地的方向或从目的地到该位置的方向。此外,GPS传感器1938可以用于向基于外部位置的服务 (诸如E1515服务)提供位置信息。GPS传感器1938可以利用网络连接组件1906中的一个或多个来获取经由WI-FI、WIMAX和/或蜂窝三角测量技术生成的位置信息,以帮助GPS传感器1938获取定位。 GPS传感器1938还可以用在辅助GPS(“A-GPS”)系统中。
在至少一个示例中,I/O组件1910可以对应于上面参考图12描述的(多个)输入接口1208和/或(多个)输出接口1210。附加地和 /或替代地,I/O组件可以包括显示器1940、触摸屏1942、数据I/O接口组件(“数据I/O”)1944、音频I/O接口组件(“音频I/O”)1946、视频I/O接口组件(“视频I/O”)1948和相机1950。在一些配置中,组合显示器1940和触摸屏1942。在一些配置中,组合数据I/O组件 1944、音频I/O组件1946和视频I/O组件1948中的两个或更多个。 I/O组件1910可以包括被配置为支持下面描述的各种接口的离散处理器,或者可以包括内置于处理器1902的处理功能。
显示器1940是被配置为以视觉形式呈现信息的输出设备。特别地,显示器1940可以呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息以及能够以视觉形式呈现的任何其他信息。在一些配置中,显示器1940是利用任何有源或无源矩阵技术和任何背光技术(如果使用的话)的液晶显示器(“LCD”)。在一些配置中,显示器1940是有机发光二极管(“OLED”)显示器。在一些配置中,显示器1940是全息显示器。预期其他显示器类型。
在至少一个示例中,显示器1940可以对应于硬件显示表面1222 和/或硬件显示表面1302。如上所述,硬件显示表面1222和硬件显示表面1302可以被配置为以图形方式将全息用户界面和其他图形元素与通过硬件显示表面看到的对象或显示在硬件显示表面上的渲染对象相关联。以上分别参考图12和13描述了与硬件显示设备1222和硬件显示表面1302相关联的附加特征。
触摸屏1942(本文中也称为“触摸屏幕”)是被配置为检测触摸的存在和位置的输入设备。触摸屏1942可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声脉冲识别触摸屏,或者可以利用任何其他触摸屏技术。在一些配置中,触摸屏1942被合并在显示器1940之上作为透明层,以使得用户能够使用一个或多个触摸来与在显示器1940上呈现的对象或其他信息交互。在其他配置中,触摸屏1942是合并在计算设备的不包括显示器1940的表面上的触摸板。例如,计算设备可以具有合并在显示器1940之上的触摸屏和在与显示器1940相对的表面上的触摸板。
在一些配置中,触摸屏1942是单点触摸触摸屏。在其他配置中,触摸屏1942是多点触摸触摸屏。在一些配置中,触摸屏1942被配置为检测离散触摸、单触摸手势和/或多触摸手势。为方便起见,这些在本文中统称为手势。现在将描述几个手势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求的范围。此外,所描述的手势、附加手势和/或替代手势可以在软件中实现以与触摸屏1942一起使用。这样,开发者可以创建特定于特定应用程序的手势。
在一些配置中,触摸屏1942支持轻击手势,其中用户在呈现在显示器1940上的项目上轻击触摸屏1942一次。轻击手势可以用于执行各种功能,包括但不限于打开或启动用户轻击的任何内容。在一些配置中,触摸屏1942支持双击手势,其中用户在呈现在显示器1940 上的项目上轻击触摸屏1942两次。双击手势可以用于执行各种功能,包括但不限于放大或逐步缩小。在一些配置中,触摸屏1942支持轻击并且保持手势,其中用户轻敲触摸屏1942并且保持接触至少预定义的时间。点击并且保持手势可以用于执行各种功能,包括但不限于打开特定于上下文的菜单。
在一些配置中,触摸屏1942支持平移手势,其中用户将手指放在触摸屏1942上并且在触摸屏1942上移动手指的同时保持与触摸屏 1942的接触。平移手势可以用于执行各种功能,包括但不限于以受控速率移动通过屏幕、图像或菜单。还考虑了多个手指平移手势。在一些配置中,触摸屏1942支持轻弹手势,其中用户在用户想要屏幕移动的方向上滑动手指。轻弹手势可以用于执行各种功能,包括但不限于水平或垂直滚动通过菜单或页面。在一些配置中,触摸屏1942支持捏合和伸展手势,其中用户利用两个手指(例如,拇指和食指)在触摸屏1942上进行捏合动作或者将两个手指分开。捏合和伸展手势可以用于执行各种功能,包括但不限于逐渐放大或缩小网站、地图或图片。
尽管已经参考使用一个或多个手指执行手势描述了上述手势,但是诸如脚趾等其他附属物或诸如指示笔等物体可以用于与触摸屏 1942交互。因此,上述手势应当被理解为是说明性的,并且不应当被解释为以任何方式进行限制。
数据I/O接口组件1944被配置为支持数据到计算设备的输入和数据从计算设备的输出。在一些配置中,数据I/O接口组件1944包括被配置为在计算设备与计算机系统之间提供有线连接例如用于同步操作目的连接器。连接器可以是专用连接器或标准化连接器,诸如 USB、微型USB、迷你USB等。在一些配置中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)或视频设备等另一设备对接的对接连接器。
音频I/O接口组件1946被配置为向计算设备提供音频输入和/或输出能力。在一些配置中,音频I/O接口组件1946包括被配置为收集音频信号的麦克风。在一些配置中,音频I/O接口组件1946包括被配置为为耳机或其他外部扬声器提供连接的耳机插孔。在一些配置中,音频I/O接口组件1946包括用于音频信号的输出的扬声器。在一些配置中,音频I/O接口组件1946包括光学音频电缆输出。
视频I/O接口组件1948被配置为向计算设备提供视频输入和/或输出能力。在一些配置中,视频I/O接口组件1948包括被配置为从另一设备(例如,诸如DVD或BLURAY播放器等视频媒体播放器) 接收视频作为输入或者向另一设备(例如,显示器、电视或某种其他外部显示器)发送视频作为输出的视频连接器。在一些配置中,视频 I/O接口组件1948包括高清晰度多媒体接口(“HDMI”)、迷你HDMI、微型HDMI、DisplayPort、或用于输入/输出视频内容的专用连接器。在一些配置中,视频I/O接口组件1948或其部分与音频I/O接口组件 1946或其部分组合。
相机1950可以被配置为捕获静止图像和/或视频。相机1950可以利用电荷耦合器件(“CCD”)或互补金属氧化物半导体(“CMOS”) 图像传感器来捕获图像。在一些配置中,相机1950包括闪光灯以帮助在低光环境下拍摄照片。相机1950的设置可以实现为硬件或软件按钮。由相机1950捕获的图像和/或视频可以附加地或替代地用于检测用户的非触摸手势、面部表情、眼睛移动或其他移动和/或特性。
尽管未示出,但是一个或多个硬件按钮也可以被包括在计算设备架构1900中。硬件按钮可以用于控制计算设备的某种操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械的或基于传感器的。
所示的电源组件1912包括可以连接到电池量表1954的一个或多个电池1952。电池1952可以是可再充电的或一次性的。可再充电电池类型包括但不限于锂聚合物、锂离子、镍镉和镍金属氢化物。每个电池1952可以由一个或多个电池制成。
电池量表1954可以被配置为测量电池参数,诸如电流、电压和温度。在一些配置中,电池量表1954被配置为测量电池的放电速率、温度、年龄和其他因素的影响,以在一定百分比的误差内预测剩余寿命。在一些配置中,电池量表1954向应用程序提供测量值,该应用程序被配置为利用测量值向用户呈现有用的电力管理数据。电力管理数据可以包括使用电池百分比、剩余电池百分比、电池状况、剩余时间、剩余容量(例如,以瓦时为单位)、电流消耗和电压中的一个或多个。
电源组件1912还可以包括可以与前述I/O组件1910中的一个或多个组合的电源连接器。电源组件1912可以经由电源I/O组件与外部电源系统或充电设备接口。
示例基于注视的认证技术
图20是示出可以使用本文中描述的一个或多个设备和/或计算架构来实现的示例基于注视的认证技术的流程图。为方便起见,这些技术在图1的环境100的上下文中描述,但这些技术不限于在图1中所示的环境中使用或与图1所示的设备一起使用。而是图20和21的技术适用于其他环境和设备,包括图12、13、17、18和19所示的环境和设备以及其他环境和计算设备。
以下参考图20描述的过程被示出为逻辑流程图中的框的集合,其表示可以以硬件、软件或其组合实现的操作序列。在软件的上下文中,框表示存储在一个或多个计算机可读存储介质上的在由一个或多个处理器执行时执行所述操作的计算机可执行指令。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数目的所描述的框可以以任何顺序和/或并行地组合以实现过程。
图20示出了用于实现基于注视的认证的示例过程2000。框2002 示出了接收用户访问资源的请求。在一些示例中,资源可以包括计算资源,诸如从远程服务提供者(例如,服务提供者102)可获取的资源、诸如对计算设备(例如,计算设备108之一)的访问等本地计算资源、或者从本地和/或远程计算设备或服务可获取的应用或其他资源。在其他示例中,资源可以包括物理资源,诸如对建筑物、房间、对象或其他物理物品的访问。无论资源是计算资源还是物理资源,对资源的访问都可以至少部分通过计算设备来控制。例如,用户可以寻求访问计算设备108的资源。备选地,用户可以寻求使用计算设备108 之一来访问从服务提供者102和/或一个或多个其他计算设备可获取的资源。
在框2004,计算设备(例如,计算设备108之一、服务提供者 102的服务器110或另一计算设备)确定用户是否先前已经建立基于注视的密码以用于访问资源。如果是,则计算设备继续到下面参考框 2020-2028描述的认证阶段。如果在框2004,先前没有为用户建立基于注视的密码以访问资源,则计算设备可以发起参考框2006-2018描述的密码建立阶段。
在框2006,可以提示用户通过查看场景内的注视目标标识用户的选择的多个注视目标来为资源建立基于注视的密码。如上所述,注视目标可以是场景内的位置、在场景中描绘的对象或对象的一部分、或者是用户查看阈值时间长度的场景本身的几何特征。计算设备可以指定用户要查看每个注视目标以便标识注视目标的阈值时间长度(例如,1秒、3秒等)。计算设备还可以指定用户要标识的注视目标的数目(或最小数目)。指定的注视目标的数目可以取决于所需要的安全级别、场景的复杂性、注视跟踪相机的准确性或其他因素。场景可以是计算机生成场景、真实世界场景和/或混合现实场景。这些类型场景中的每个的示例参考图2-11详细描述。提示可以是呈现在计算机生成信息窗格中的视觉指令的形式(例如,如图2、7和9所示)、可听指令的形式(例如,如在图10的示例中)(听觉和视觉)或通过其他方式。
在框2008,计算设备响应于提示而获取与用户的注视相对应的注视跟踪数据。注视跟踪数据可以从计算设备的注视跟踪相机(例如,(多个)传感器124或注视跟踪相机1206A)获取。在一些示例中,在框2010,可以输出表示注视跟踪数据的反馈,以向用户标识已经建立了多个注视目标。在一些示例中,反馈可以包括在计算设备的显示器上输出的视觉反馈,如图2、4、6和7的示例中。附加地或替代地,反馈可以包括听觉、触觉或其他反馈,以向用户指示已经建立了多个注视目标。
在框2012,计算设备可以至少部分基于注视跟踪数据来标识场景内的多个注视目标。在一些示例中,注视目标可以使用诸如参考图13、 14A-14F和15A-15D描述的那些技术来标识。在一些示例中,诸如参考图10和11描述的示例,注视跟踪数据还可以标识场景中的一个或多个对象,并且可以获取关于对象的信息(例如,图像、扫描、模型或其他标识符)。注视目标的标识和/或获取对象信息可以基本上实时地执行,并且可以在向用户输出反馈之前、同时或之后执行(在提供反馈的示例中)。
在框2014,在标识注视目标之后,在一些示例中,计算设备可以提示用户将注视目标的标识重复一次或多次以确认基于注视的密码和/或计算基于注视的密码的执行误差的可接受的范围或余量。执行误差的余量(m)考虑了用户从一次密码尝试到下一次密码尝试的注视的轻微变化,并且可以通过例如测量在用户首次查看注视目标时的第一遍期间的注视跟踪数据与在用户确认基于注视的密码时的一个或多个后续遍期间的注视跟踪数据之间的差异来建立。
在框2018,计算设备可以建立基于注视的密码。基于注视的密码可以使用本文中描述的任何技术来建立。在一些示例中,基于注视的密码可以至少部分基于注视目标来建立。基于注视的密码可以或可以不考虑注视目标在场景内的位置和/或用户标识注视目标的顺序。基于注视的密码可以附加地或替代地至少部分基于关于场景中的对象的对象信息。
一旦已经建立了基于注视的密码,该过程就返回到框2002。现在,由于已经建立了密码,所以该过程在框2020处继续到认证阶段。在框2020,计算设备引起包括场景的认证界面的呈现。引起认证界面的呈现可以包括显示计算设备的显示器的认证界面。备选地,引起认证界面的呈现可以包括将认证界面输出或传输到另一设备以进行呈现,诸如在服务提供者102的服务器110将认证界面传输到客户端设备108之一以便呈现给用户(例如,通过客户端设备108的浏览器或其他应用)的情况下。在一些示例中,认证界面可以简单地是计算机生成场景、真实世界场景或混合现实场景。认证界面可以附加地或替代地包括伴随场景的听觉、视觉或其他提示,以指示用户执行他或她的基于注视的密码。作为示例而非限制,包括视觉提示的认证界面在图 3、5和8中示出。在其中场景包括真实世界场景的图11的示例中,认证界面可以完全省略,或者可以由听觉或其他非视觉提示组成。
在框2022,可以在用户执行他们的基于注视的密码时跟踪用户的注视,以获取表示查看场景的用户的注视的登录注视跟踪数据。同样,例如,注视跟踪数据可以使用诸如参考图13、14A-14F和15A-15D 描述的技术生成。在框2024,计算设备可以将登录注视跟踪数据与基于注视的密码进行比较。比较可以使用本文中描述的任何比较技术 (例如,空间比较、统计比较等)来执行。
在框2026,计算设备可以至少部分基于比较来确定登录注视跟踪数据是否满足基于注视的密码。如果登录注视跟踪数据不满足基于注视的密码,则可以将用户返回到认证界面以再次尝试他们的基于注视的密码。如果登录注视跟踪数据确实满足基于注视的密码,则计算设备在框2028继续认证用户以访问资源。认证可以包括一个或多个其他传统的认证操作,诸如握手、共享证书、密钥或其他凭证等。
示例条款
可以鉴于以下条款来考虑本文中提供的公开内容。
A.在一些示例中,一种计算设备包括:一个或多个处理器;以及其上存储有计算机可执行指令的存储器,指令在由一个或多个处理器执行时引起计算设备执行包括以下各项的操作:提示用户通过查看场景内的多个注视目标来选择;响应于提示而从注视跟踪相机获取与用户的注视相对应的注视跟踪数据;至少部分基于注视跟踪数据标识场景内的多个注视目标;以及至少部分基于多个注视目标建立可用于访问资源的基于注视的密码。
B.根据段落A的计算设备,操作还包括输出反馈以在显示器上在视觉上标识多个注视目标。
C.根据段落A或B的计算设备,该操作还包括:提示用户在视觉上确认对多个注视目标的选择;从注视跟踪相机获取在视觉上确认对多个注视目标的选择的确认注视跟踪数据;以及至少部分基于注视跟踪数据与确认注视跟踪数据之间的差异来建立执行误差的余量;其中建立基于注视的密码还至少部分基于执行误差的余量。
D.根据段落A至C中任一项的计算设备,其中基于注视的密码包括注视字形,注视字形由多个注视目标和多个注视目标之间的一个或多个注视路径组成。
E.根据段落A至D中任一项的计算设备,其中场景包括静态图像,并且多个注视目标对应于在静态图像中描绘的对象。
F.根据段落A至E中任一项的计算设备,其中场景包括计算机生成场景,并且多个注视目标对应于在计算机生成场景中描绘的对象。
G.根据段落A至D和F中任一项的计算设备,其中对象在计算机生成场景内可移动。
H.根据段落A至G中任一项的计算设备,其中场景包括二维计算机生成场景。
I.根据段落A至G中任一项的计算设备,其中场景包括三维(3D) 计算机生成场景。
J.根据段落A至I中任一项的计算设备,其中场景包括多个图块图像,并且多个注视目标中的至少一些注视目标包括多个图块图像中的个体图像。
K.根据段落A至J中任一项的计算设备,其中多个注视目标还包括在多个图块图像中的个体图像内描绘的多个对象。
L.根据段落A至E和G中任一项的计算设备,其中场景包括用户的真实世界环境,并且多个注视目标包括用户的真实世界环境的物理对象。
M.根据段落A至E和G中任一项的计算设备,其中场景包括用户的真实世界环境,并且多个注视目标包括在真实世界场景中描绘的计算机生成对象。
N.根据段落A至M中任一项的计算设备,操作还包括:接收访问资源的请求;引起包括场景的认证界面的呈现;获取表示查看认证界面的场景的用户的注视的登录注视跟踪数据;将登录注视跟踪数据与可用于访问资源的基于注视的密码进行比较;至少部分基于比较来确定登录注视跟踪数据满足基于注视的密码;以及至少部分基于确定登录注视跟踪数据满足基于注视的密码来认证用户以访问资源。
O.根据段落A至N中任一项的计算设备,操作还包括至少部分基于登录注视跟踪数据来更新基于注视的密码。
P.在一些示例中,一种计算设备包括:一个或多个处理器;以及其上存储有计算机可执行指令的存储器。指令在由一个或多个处理器执行时引起计算设备执行包括以下各项的操作:引起多个图像在显示器上的呈现;获取表示查看多个图像的用户的注视的登录注视跟踪数据;将登录注视跟踪数据与和账 户关联的基于注视的密码进行比较;至少部分基于比较来确定登录注视跟踪数据满足基于注视的密码;以及至少部分基于确定登录注视跟踪数据满足基于注视的密码来认证用户以访问账户。
Q.根据段落P的计算设备,其中确定登录注视跟踪数据满足基于注视的密码包括:针对基于注视的密码的多个注视目标中的每个注视目标,确定用户注视相应的注视目标的概率;至少部分基于用户注视多个注视目标中的每个注视目标的所确定的概率来计算登录注视跟踪数据与基于注视的密码的相似性;以及基于登录注视跟踪数据与基于注视的密码的相似性高于阈值相似性来确定登录注视跟踪数据满足基于注视的密码。
R.根据段落P或Q中任一项的计算设备,其中:引起多个图像的呈现包括引起多个图像以图块布置同时呈现;以及获取登录注视跟踪数据包括获取表示查看多个图像中的第一图像中的至少第一注视目标和多个图像中的第二图像中的第二注视目标的用户的注视的注视跟踪数据。
S.根据段落P至R中任一项的计算设备,其中获取登录注视跟踪数据还包括获取表示至少查看多个图像中的第一图像或多个图像中的第二图像中的至少一个图像中的第三注视目标的用户的注视的注视跟踪数据。
T.根据段落P至S中任一项的计算设备,其中多个图像随机布置在图块布置内。
U.根据段落P至T中任一项的计算设备,其中:引起多个图像的呈现包括引起多个图像同时呈现在场景内;以及获取登录注视跟踪数据包括获取表示至少查看多个图像的第一图像和多个图像中的第二图像的用户的注视的注视跟踪数据。
V.根据段落P至U中任一项的计算设备,其中多个图像随机地布置在场景内。
W.根据段落P至V中任一项的计算设备,其中多个图像包括作为基于注视的密码的一部分的至少一个显著图像以及不是基于注视的密码的一部分的至少一个填充图像。
X.根据段落P至V中任一项的计算设备,其中:多个图像包括作为基于注视的密码的一部分的多个显著图像以及不是基于注视的密码的一部分的多个填充图像;以及获取登录注视跟踪数据包括执行:当用户从图块布置中定位显著图像时的第一扫描;以及当用户有意地注视第一注视目标和第二注视目标时的第二扫描。
Y.根据段落P的计算设备,其中:引起多个图像的呈现包括:引起第一图像的呈现;以及引起第二图像的呈现;以及获取登录注视跟踪数据包括:获取表示查看第一图像的用户的注视的注视跟踪数据;以及获取表示查看第二图像的用户的注视的注视跟踪数据。
Z.根据段落P或Y中任一项的计算设备,其中:第一图像和第二图像包括作为基于注视的密码的一部分的显著图像;并且引起多个图像的呈现还包括引起不是基于注视的密码的一部分的一个或多个填充图像的呈现。
AA.根据段落P至Z中任一项的计算设备,操作还包括至少部分基于登录注视跟踪数据来更新基于注视的密码。
BB.根据段落A至Z或AA中任一项的计算设备,其中计算设备包括头戴式计算设备、个人计算机、平板计算机或游戏控制台。
CC.根据段落A至Z、AA或BB中任一项的计算设备,其中显示器与计算设备是一体的。
DD.根据段落A至Z或AA至CC中任一项的计算设备,其中注视跟踪相机与计算设备是一体的。
EE.在一些示例中,一种计算机实现的方法,包括:从环境相机获取真实世界场景的图像;从注视跟踪相机获取指示真实世界场景内用户已经注视的多个注视目标的注视跟踪数据;获取关于真实世界场景中与多个注视目标相对应的对象的信息;以及至少部分基于关于与多个注视目标相对应的对象的信息来建立可用于访问资源的基于注视的密码。
FF.根据段落EE的方法,其中关于真实世界场景中的对象的信息包括对象的标识符。
GG.根据段落EE或FF中任一项的方法,还包括:接收访问资源的请求;获取表示用户在登录期间的注视的登录注视跟踪数据;将登录注视跟踪数据与可用于访问资源的基于注视的密码进行比较;至少部分基于比较来确定登录注视跟踪数据满足基于注视的密码;以及至少部分基于确定登录注视跟踪数据满足基于注视的密码来认证用户以访问资源。
HH.根据段落EE至GG中任一项的方法,其中:登录注视跟踪数据包括关于真实世界场景中用户在登录期间查看的对象的信息;以及确定登录注视跟踪数据满足基于注视的密码包括:将关于真实世界场景中用户在登录期间查看的对象的信息与关于与注视目标相对应的对象的信息进行比较;以及确定真实世界场景中用户在登录期间查看的对象与和注视目标相对应的对象基本上相同。
II.根据段落EE至HH中任一项的方法,其中确定登录注视跟踪数据满足基于注视的密码与真实世界场景中用户在登录期间查看的对象的位置无关。
JJ.根据段落EE至II中任一项的方法,其由计算设备实现,计算设备包括头戴式计算设备、个人计算机、平板计算机或游戏控制台。
KK.根据段落EE至JJ中任一项的方法,其中环境相机与执行方法的计算设备是一体的。
LL.根据段落EE至KK中任一项的方法,其中注视跟踪相机与执行方法的计算设备是一体的。
尽管用结构特征和/或方法动作特定的语言描述了本主题,但是应当理解,所附权利要求书中定义的主题不必限于所描述的具体特征或动作。而是,具体特征和动作被描述作为实现权利要求的说明性形式。
除非另有明确说明,否则诸如“可以(can)”、“可以(could)”、“可以(might)”或“可以(can)”等条件语言在上下文中被理解为表示某些示例包括而其他示例不一定包括某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示某些特征、元素和/或步骤是一个或多个示例以任何方式所必需的,也不旨在暗示一个或多个示例必然包括用于在具有或没有输入或提示的情况下做出决定的逻辑,而不管在任何特定示例中是否包括或将要执行某些特征、元素和/或步骤。除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”等连接语言应当被理解为表示项目、术语等可以是X、Y或Z或其组合。

Claims (19)

1.一种计算设备,包括:
一个或多个处理器;以及
存储器,其上存储有计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时引起所述计算设备执行操作,所述操作包括:
提示用户通过查看场景内的多个注视目标来选择;
响应于所述提示而从注视跟踪相机获取与所述用户的注视相对应的注视跟踪数据;
至少部分基于所述注视跟踪数据标识所述场景内的所述多个注视目标;
提示所述用户在视觉上确认对所述多个注视目标的选择;
从所述注视跟踪相机获取在视觉上确认对所述多个注视目标的选择的确认注视跟踪数据;
至少部分基于所述注视跟踪数据与所述确认注视跟踪数据之间的差异来建立执行误差的余量,所述执行误差的余量定义所述用户的所述多个注视目标之间的注视路径区域;以及
至少部分基于所述多个注视目标和所述执行误差的余量,来建立可用于访问资源的基于注视的密码,其中所述注视路径区域的宽度随着与所述基于注视的密码关联的注视路径的长度变化。
2.根据权利要求1所述的计算设备,所述操作还包括输出反馈以在显示器上在视觉上标识所述多个注视目标。
3.根据权利要求1所述的计算设备,其中所述基于注视的密码包括注视字形,所述注视字形由所述多个注视目标和所述多个注视目标之间的所述注视路径组成。
4.根据权利要求1所述的计算设备,其中所述场景包括静态图像,并且所述多个注视目标对应于在所述静态图像中描绘的对象。
5.根据权利要求1所述的计算设备,其中所述场景包括计算机生成场景,并且所述多个注视目标对应于在所述计算机生成场景中描绘的对象。
6.根据权利要求1所述的计算设备,其中所述场景包括多个图块图像,并且所述多个注视目标中的至少一些注视目标包括所述多个图块图像中的个体图像。
7.根据权利要求1所述的计算设备,其中所述场景包括所述用户的真实世界环境,并且所述多个注视目标包括所述用户的所述真实世界环境中的物理对象。
8.根据权利要求1所述的计算设备,其中所述场景包括所述用户的真实世界环境,并且所述多个注视目标包括在所述真实世界场景中描绘的计算机生成对象。
9.根据权利要求1所述的计算设备,所述操作还包括:
接收访问所述资源的请求;
引起包括所述场景的认证界面的呈现;
获取登录注视跟踪数据,所述登录注视跟踪数据表示查看所述认证界面的所述场景的所述用户的注视;
将所述登录注视跟踪数据与可用于访问所述资源的所述基于注视的密码进行比较;
至少部分基于所述比较来确定所述登录注视跟踪数据满足所述基于注视的密码;以及
至少部分基于所述确定所述登录注视跟踪数据满足所述基于注视的密码来认证所述用户以访问所述资源。
10.一种计算设备,包括:
一个或多个处理器;以及
存储器,其上存储有计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时引起所述计算设备执行操作,所述操作包括:
引起多个图像在显示器上的呈现;
获取登录注视跟踪数据,所述登录注视跟踪数据表示查看所述多个图像的用户的注视;
将所述登录注视跟踪数据和与账 户关联的基于注视的密码进行比较,所述基于注视的密码包括执行误差的余量,所述执行误差的余量定义注视路径区域,所述注视路径区域考虑在用户尝试满足所述基于注视的密码时所述用户的注视的变化,其中所述注视路径区域的宽度随着与所述基于注视的密码关联的注视路径的长度变化;
至少部分基于所述比较来确定所述登录注视跟踪数据满足所述基于注视的密码;以及
至少部分基于所述确定所述登录注视跟踪数据满足所述基于注视的密码来认证所述用户以访问所述账户。
11.根据权利要求10所述的计算设备,其中:
所述引起所述多个图像的呈现包括引起所述多个图像以图块布置同时呈现;以及
所述获取登录注视跟踪数据包括获取表示至少查看所述多个图像中的第一图像中的第一注视目标和所述多个图像中的第二图像中的第二注视目标的所述用户的注视的注视跟踪数据。
12.根据权利要求11所述的计算设备,其中所述获取登录注视跟踪数据还包括获取表示至少查看所述多个图像中的所述第一图像或所述多个图像中的所述第二图像中的至少一个图像中的第三注视目标的所述用户的注视的注视跟踪数据。
13.根据权利要求10所述的计算设备,其中:
所述引起所述多个图像的呈现包括引起所述多个图像同时呈现在场景内;以及
所述获取登录注视跟踪数据包括获取表示至少查看所述多个图像中的第一图像和所述多个图像中的第二图像的所述用户的注视的注视跟踪数据。
14.根据权利要求10所述的计算设备,其中:
所述引起所述多个图像的呈现包括:
引起第一图像的呈现;以及
引起第二图像的呈现;以及
所述获取登录注视跟踪数据包括:
获取表示查看所述第一图像的所述用户的注视的注视跟踪数据;以及
获取表示查看所述第二图像的所述用户的注视的注视跟踪数据。
15.一种计算机实现的方法,包括:
从环境相机获取真实世界场景的图像;
从注视跟踪相机获取指示所述真实世界场景内用户已经注视的多个注视目标的注视跟踪数据;
获取关于所述真实世界场景中与所述多个注视目标相对应的对象的信息;
提示所述用户在视觉上确认对所述多个注视目标的选择;
从所述注视跟踪相机获取在视觉上确认对所述多个注视目标的选择的确认注视跟踪数据;
至少部分基于所述注视跟踪数据与所述确认注视跟踪数据之间的差异来建立执行误差的余量,所述执行误差的余量定义所述用户的所述多个注视目标之间的注视路径区域;以及
至少部分基于关于与所述多个注视目标相对应的所述对象的所述信息和所述执行误差的余量,来建立可用于访问资源的基于注视的密码,其中所述注视路径区域的宽度随着与所述基于注视的密码关联的注视路径的长度变化。
16.根据权利要求15所述的计算机实现的方法,其中关于所述真实世界场景中的所述对象的所述信息包括所述对象的标识符。
17.根据权利要求15所述的计算机实现的方法,还包括:
接收访问所述资源的请求;
获取表示所述用户在登录期间的注视的登录注视跟踪数据;
将所述登录注视跟踪数据与可用于访问所述资源的所述基于注视的密码进行比较;
至少部分基于所述比较来确定所述登录注视跟踪数据满足所述基于注视的密码;以及
至少部分基于所述确定所述登录注视跟踪数据满足所述基于注视的密码来认证所述用户以访问所述资源。
18.根据权利要求17所述的计算机实现的方法,其中:
所述登录注视跟踪数据包括关于所述真实世界场景中所述用户在登录期间查看的对象的信息;以及
所述确定所述登录注视跟踪数据满足所述基于注视的密码包括:
将关于所述真实世界场景中所述用户在登录期间查看的对象的所述信息与关于与所述多个注视目标相对应的所述对象的所述信息进行比较;以及
确定所述真实世界场景中所述用户在登录期间查看的所述对象和与所述多个注视目标相对应的所述对象基本上相同。
19.根据权利要求18所述的计算机实现的方法,其中所述确定所述登录注视跟踪数据满足所述基于注视的密码与所述真实世界场景中所述用户在登录期间查看的所述对象的位置无关。
CN201780026364.9A 2016-04-29 2017-04-28 基于注视的认证 Active CN109074441B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/143,295 US10063560B2 (en) 2016-04-29 2016-04-29 Gaze-based authentication
US15/143,295 2016-04-29
PCT/US2017/029985 WO2017189935A1 (en) 2016-04-29 2017-04-28 Gaze-based authentication

Publications (2)

Publication Number Publication Date
CN109074441A CN109074441A (zh) 2018-12-21
CN109074441B true CN109074441B (zh) 2021-06-04

Family

ID=58692651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780026364.9A Active CN109074441B (zh) 2016-04-29 2017-04-28 基于注视的认证

Country Status (4)

Country Link
US (1) US10063560B2 (zh)
EP (1) EP3449412B1 (zh)
CN (1) CN109074441B (zh)
WO (1) WO2017189935A1 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10379709B2 (en) * 2016-04-08 2019-08-13 Paypal, Inc. Electronically analyzing user activity on a graphical user interface
JP6668942B2 (ja) * 2016-05-23 2020-03-18 富士通株式会社 撮影制御装置、プログラム及び方法
US10044712B2 (en) * 2016-05-31 2018-08-07 Microsoft Technology Licensing, Llc Authentication based on gaze and physiological response to stimuli
JP6201024B1 (ja) * 2016-10-12 2017-09-20 株式会社コロプラ ヘッドマウントデバイスを用いてコンテンツを提供するアプリケーションへの入力を支援するための方法、当該方法をコンピュータに実行させるためのプログラム、およびコンテンツ表示装置
EP3312751B1 (en) * 2016-10-18 2020-10-07 Tata Consultancy Services Limited Systems and methods for generating multi-dimensional password and authenticating thereof
CN108111475B (zh) * 2016-11-25 2020-05-05 阿里巴巴集团控股有限公司 身份验证方法及装置
US10747859B2 (en) * 2017-01-06 2020-08-18 International Business Machines Corporation System, method and computer program product for stateful instruction-based dynamic man-machine interactions for humanness validation
US10417410B2 (en) * 2017-03-27 2019-09-17 International Business Machines Corporation Access control to protected resource based on images at changing locations identifiable by their type
CN108733203A (zh) * 2017-04-20 2018-11-02 上海耕岩智能科技有限公司 一种眼球追踪操作的方法和装置
US11416600B2 (en) * 2017-04-24 2022-08-16 Siemens Aktiengesellschaft Unlocking passwords in augmented reality based on look
US10387632B2 (en) * 2017-05-17 2019-08-20 Bank Of America Corporation System for provisioning and allowing secure access to a virtual credential
US10839064B2 (en) * 2017-06-20 2020-11-17 Citrix Systems, Inc. Securely entering credentials via head-mounted display device
US10579788B2 (en) * 2017-08-17 2020-03-03 Waymo Llc Recognizing assigned passengers for autonomous vehicles
EP3451259A1 (en) * 2017-09-01 2019-03-06 Unify Patente GmbH & Co. KG Computer-implemented method of performing a real-time collaboration session, collaborative platform for performing real-time collaboration sessions, and collaborative chat post object
MX2020002941A (es) 2017-09-18 2022-05-31 Element Inc Métodos, sistemas y medios para la detección de suplantación de identidad en la autenticación móvil.
CN107609391B (zh) * 2017-09-27 2023-01-17 歌尔科技有限公司 一种解锁方法及虚拟现实设备
CN111052042B (zh) 2017-09-29 2022-06-07 苹果公司 基于注视的用户交互
US11151440B2 (en) * 2017-11-08 2021-10-19 International Business Machines Corporation Neural response human detector
WO2019116078A1 (en) * 2017-12-13 2019-06-20 Medical Diagnostech (Pty) Ltd System and method for obtaining a pupil response profile
KR20190089627A (ko) * 2018-01-23 2019-07-31 삼성전자주식회사 Ar 서비스를 제공하는 디바이스 및 그 동작 방법
GB2571106A (en) * 2018-02-16 2019-08-21 Sony Corp Image processing apparatuses and methods
CN112041788B (zh) 2018-05-09 2024-05-03 苹果公司 使用眼睛注视来选择文本输入字段
US11481920B2 (en) * 2018-05-21 2022-10-25 Sony Corporation Information processing apparatus, server, movable object device, and information processing method
US10157504B1 (en) * 2018-06-05 2018-12-18 Capital One Services, Llc Visual display systems and method for manipulating images of a real scene using augmented reality
JP7073937B2 (ja) * 2018-06-25 2022-05-24 京セラドキュメントソリューションズ株式会社 パスワード認証装置
EP3769246A4 (en) * 2018-07-18 2021-05-19 Samsung Electronics Co., Ltd. METHOD AND DEVICE FOR USER AUTHENTICATION
US10996748B2 (en) 2018-09-10 2021-05-04 Apple Inc. Gaze-dependent display encryption
CN110891045A (zh) * 2018-09-11 2020-03-17 珠海格力电器股份有限公司 密码的设置方法、验证方法和相关设备
US10855978B2 (en) 2018-09-14 2020-12-01 The Toronto-Dominion Bank System and method for receiving user input in virtual/augmented reality
US10949524B2 (en) * 2018-10-31 2021-03-16 Rsa Security Llc User authentication using scene composed of selected objects
US11196740B2 (en) 2018-12-21 2021-12-07 Verizon Patent And Licensing Inc. Method and system for secure information validation
US11182608B2 (en) 2018-12-21 2021-11-23 Verizon Patent And Licensing Inc. Biometric based self-sovereign information management
US11288386B2 (en) 2018-12-21 2022-03-29 Verizon Patent And Licensing Inc. Method and system for self-sovereign information management
US11281754B2 (en) * 2018-12-21 2022-03-22 Verizon Patent And Licensing Inc. Biometric based self-sovereign information management
US11062006B2 (en) 2018-12-21 2021-07-13 Verizon Media Inc. Biometric based self-sovereign information management
US11514177B2 (en) 2018-12-21 2022-11-29 Verizon Patent And Licensing Inc. Method and system for self-sovereign information management
US10860874B2 (en) 2018-12-21 2020-12-08 Oath Inc. Biometric based self-sovereign information management
US11288387B2 (en) 2018-12-21 2022-03-29 Verizon Patent And Licensing Inc. Method and system for self-sovereign information management
EP3938953A4 (en) 2019-03-12 2022-12-28 Element, Inc. FACIAL RECOGNITION SPOOFING DETECTION WITH MOBILE DEVICES
EP3751812B1 (en) 2019-06-10 2022-10-26 Nokia Technologies Oy Resource access
CN110210869B (zh) * 2019-06-11 2023-07-07 Oppo广东移动通信有限公司 支付方法及相关设备
US11475117B2 (en) * 2019-06-18 2022-10-18 Citrix Systems, Inc. Eye and head tracking authentication
CN110286771A (zh) * 2019-06-28 2019-09-27 北京金山安全软件有限公司 交互方法、装置、智能机器人、电子设备及存储介质
US11496458B1 (en) * 2019-07-03 2022-11-08 Wells Fargo Bank, N.A. Apparatuses and methods for improved session authentication
US11093262B2 (en) 2019-07-29 2021-08-17 Motorola Mobility Llc Electronic devices and corresponding methods for switching between normal and privacy modes of operation
US11113375B2 (en) * 2019-09-09 2021-09-07 Motorola Mobility Llc Electronic devices with proximity authentication and gaze actuation of companion electronic devices and corresponding methods
US11328047B2 (en) * 2019-10-31 2022-05-10 Microsoft Technology Licensing, Llc. Gamified challenge to detect a non-human user
JP7339604B2 (ja) * 2019-11-12 2023-09-06 オムロン株式会社 動作認識装置、動作認識方法、動作認識プログラム及び動作認識システム
US11269181B2 (en) 2019-12-09 2022-03-08 Magic Leap, Inc. Systems and methods for operating a head-mounted display system based on user identity
US11507248B2 (en) 2019-12-16 2022-11-22 Element Inc. Methods, systems, and media for anti-spoofing using eye-tracking
US20210264007A1 (en) * 2020-02-25 2021-08-26 Lenovo (Singapore) Pte. Ltd. Authentication method for head-mounted display
US11599612B2 (en) * 2020-02-26 2023-03-07 Mastercard International Incorporated Method, apparatus and system for authenticating a user based on eye data and/or facial data
WO2021216044A1 (en) * 2020-04-21 2021-10-28 Hewlett-Packard Development Company, L.P. Authentication and calibration via gaze tracking
US11789554B2 (en) * 2020-07-29 2023-10-17 Motorola Mobility Llc Task invocation based on control actuation, fingerprint detection, and gaze detection
CN112214749B (zh) * 2020-09-21 2023-01-24 暨南大学 一种基于移动vr设备的无接触式用户安全认证方法
CN112199657B (zh) * 2020-09-21 2023-01-24 暨南大学 一种基于虚拟现实环境的身份认证方法和vr装置
WO2022240907A1 (en) * 2021-05-13 2022-11-17 Visa International Service Association Multi-factor authentication system and method
US20230308505A1 (en) * 2022-03-22 2023-09-28 Microsoft Technology Licensing, Llc Multi-device gaze tracking
WO2024029720A1 (ko) * 2022-08-03 2024-02-08 삼성전자주식회사 증강 현실에서 사용자를 인증하는 장치 및 방법

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725687A (zh) * 2005-01-26 2006-01-25 杭州华为三康技术有限公司 一种安全认证方法
CN103077338A (zh) * 2011-10-26 2013-05-01 由田新技股份有限公司 视线追踪密码输入方法和装置
CN103927014A (zh) * 2014-04-21 2014-07-16 广州杰赛科技股份有限公司 一种字符输入方法及装置
CN104123161A (zh) * 2014-07-25 2014-10-29 西安交通大学 一种利用人眼注视点的屏幕解锁和应用启动的方法
CN104156643A (zh) * 2014-07-25 2014-11-19 中山大学 一种利用眼睛视线来实现密码输入的方法及其硬件装置
CN104656885A (zh) * 2013-11-15 2015-05-27 由田新技股份有限公司 手持式眼控接目装置及其密码输入装置、方法以及计算机可读取记录媒体
CN104685541A (zh) * 2012-09-17 2015-06-03 感官运动仪器创新传感器有限公司 用于确定三维对象上注视点的方法和装置
CN105184277A (zh) * 2015-09-29 2015-12-23 杨晴虹 活体人脸识别方法以及装置
CN105279409A (zh) * 2014-05-30 2016-01-27 由田新技股份有限公司 手持式身份验证装置、身份验证方法与身份验证系统
WO2016061505A1 (en) * 2014-10-16 2016-04-21 The Curators Of The University Of Missouri Visual storytelling authentication

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050129286A1 (en) 2003-12-16 2005-06-16 Hekimian Christopher D. Technique using eye position and state of closure for increasing the effectiveness of iris recognition authentication systems
US7986816B1 (en) 2006-09-27 2011-07-26 University Of Alaska Methods and systems for multiple factor authentication using gaze tracking and iris scanning
US8625847B2 (en) 2011-03-21 2014-01-07 Blackberry Limited Login method based on direction of gaze
EP2503479B1 (en) 2011-03-21 2015-08-05 BlackBerry Limited Login method based on direction of gaze
US8594374B1 (en) 2011-03-30 2013-11-26 Amazon Technologies, Inc. Secure device unlock with gaze calibration
US8988350B2 (en) 2011-08-20 2015-03-24 Buckyball Mobile, Inc Method and system of user authentication with bioresponse data
US20150135309A1 (en) 2011-08-20 2015-05-14 Amit Vishram Karmarkar Method and system of user authentication with eye-tracking data
US9164580B2 (en) * 2012-08-24 2015-10-20 Microsoft Technology Licensing, Llc Calibration of eye tracking system
US9697649B1 (en) * 2012-09-04 2017-07-04 Amazon Technologies, Inc. Controlling access to a device
JP2014092940A (ja) 2012-11-02 2014-05-19 Sony Corp 画像表示装置及び画像表示方法、並びにコンピューター・プログラム
US9092600B2 (en) 2012-11-05 2015-07-28 Microsoft Technology Licensing, Llc User authentication on augmented reality display device
US9424411B2 (en) 2013-05-23 2016-08-23 Honeywell International Inc. Athentication of device users by gaze
US9189095B2 (en) * 2013-06-06 2015-11-17 Microsoft Technology Licensing, Llc Calibrating eye tracking system by touch input
US20150227735A1 (en) 2014-02-13 2015-08-13 Robert Chappell System and method for eye tracking authentication
US20150302252A1 (en) 2014-04-16 2015-10-22 Lucas A. Herrera Authentication method using multi-factor eye gaze
WO2015164807A1 (en) * 2014-04-25 2015-10-29 Texas State University Detection of brain injury and subject state with eye movement biometrics
CN104036169B (zh) * 2014-06-06 2017-10-10 北京智谷睿拓技术服务有限公司 生物认证方法及生物认证装置
US10678897B2 (en) * 2015-04-16 2020-06-09 Tobii Ab Identification, authentication, and/or guiding of a user using gaze information
KR102402829B1 (ko) * 2015-11-10 2022-05-30 삼성전자 주식회사 사용자 인증 방법 및 이를 지원하는 전자 장치
CN107016270A (zh) * 2015-12-01 2017-08-04 由田新技股份有限公司 结合脸部认证或手部认证的动态图形眼动认证系统、方法
US20170263017A1 (en) * 2016-03-11 2017-09-14 Quan Wang System and method for tracking gaze position

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725687A (zh) * 2005-01-26 2006-01-25 杭州华为三康技术有限公司 一种安全认证方法
CN103077338A (zh) * 2011-10-26 2013-05-01 由田新技股份有限公司 视线追踪密码输入方法和装置
CN104685541A (zh) * 2012-09-17 2015-06-03 感官运动仪器创新传感器有限公司 用于确定三维对象上注视点的方法和装置
CN104656885A (zh) * 2013-11-15 2015-05-27 由田新技股份有限公司 手持式眼控接目装置及其密码输入装置、方法以及计算机可读取记录媒体
CN103927014A (zh) * 2014-04-21 2014-07-16 广州杰赛科技股份有限公司 一种字符输入方法及装置
CN105279409A (zh) * 2014-05-30 2016-01-27 由田新技股份有限公司 手持式身份验证装置、身份验证方法与身份验证系统
CN104123161A (zh) * 2014-07-25 2014-10-29 西安交通大学 一种利用人眼注视点的屏幕解锁和应用启动的方法
CN104156643A (zh) * 2014-07-25 2014-11-19 中山大学 一种利用眼睛视线来实现密码输入的方法及其硬件装置
WO2016061505A1 (en) * 2014-10-16 2016-04-21 The Curators Of The University Of Missouri Visual storytelling authentication
CN105184277A (zh) * 2015-09-29 2015-12-23 杨晴虹 活体人脸识别方法以及装置

Also Published As

Publication number Publication date
WO2017189935A1 (en) 2017-11-02
CN109074441A (zh) 2018-12-21
US10063560B2 (en) 2018-08-28
EP3449412A1 (en) 2019-03-06
EP3449412B1 (en) 2020-10-28
US20170318019A1 (en) 2017-11-02

Similar Documents

Publication Publication Date Title
CN109074441B (zh) 基于注视的认证
CN109416580B (zh) 用于选择场景中的对象的系统、方法和可穿戴计算设备
US10484597B2 (en) Emotional/cognative state-triggered recording
CN109074164B (zh) 使用视线追踪技术标识场景中的对象
EP3469459B1 (en) Altering properties of rendered objects via control points
US10044712B2 (en) Authentication based on gaze and physiological response to stimuli
EP3479200B1 (en) Interaction with virtual objects based on determined restrictions
US10762429B2 (en) Emotional/cognitive state presentation
US20170315825A1 (en) Presenting Contextual Content Based On Detected User Confusion
US20170351330A1 (en) Communicating Information Via A Computer-Implemented Agent

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant