首页 / 专利库 / 电脑图像 / 渲染 / 触觉渲染 / 眼睛跟踪校准技术

眼睛跟踪校准技术

阅读:814发布:2020-05-11

专利汇可以提供眼睛跟踪校准技术专利检索,专利查询,专利分析的服务。并且描述了用于可穿戴系统中的眼睛 跟踪 校准的系统和方法。可穿戴系统可以呈现三维(3D)虚拟内容并允许用户使用眼睛注视与3D虚拟内容交互。在眼睛跟踪校准期间,可穿戴系统可以验证在获取眼睛跟踪数据的同时用户确实看向校准目标。该验证可以基于与用户的头部姿势和前庭眼反射相关联的数据来执行。,下面是眼睛跟踪校准技术专利的具体信息内容。

1.一种用于眼睛跟踪校准的可穿戴系统,包括:
图像捕获设备,其被配置为捕获所述可穿戴系统的用户的一只或两只眼睛的眼睛图像;
非暂时性存储器,其被配置为存储所述眼睛图像;
显示系统,通过所述显示系统所述用户能够感知所述用户的环境中的眼睛校准目标和虚拟标线;
姿势传感器,其被配置为跟踪所述用户的头部姿势;
与所述非暂时性存储器和所述显示系统通信的硬件处理器,所述硬件处理器被编程为:
使所述眼睛校准目标能够经由所述显示系统感知;
使所述虚拟标线经由所述显示系统被渲染
基于从所述姿势传感器获取的数据识别所述用户的头部姿势;
基于所述用户的头部姿势计算所述虚拟标线的位置
至少部分地基于所述虚拟标线的所述位置和所述眼睛校准目标,确定所述虚拟标线是否与所述眼睛校准目标对准;以及
响应于确定所述虚拟标线与所述眼睛校准目标对准,指示所述图像捕获设备捕获所述眼睛图像,并初始化所述眼睛图像到所述非暂时性存储器的存储。
2.根据权利要求1所述的可穿戴系统,其中,所述图像捕获设备包括被配置为对所述用户的眼睛区域成像的眼睛相机。
3.根据权利要求1所述的可穿戴系统,其中,所述姿势传感器包括惯性测量单元。
4.根据权利要求1所述的可穿戴系统,其中,所述眼睛校准目标是世界空间中的对象,以及所述虚拟标线位于操纵空间中。
5.根据权利要求4所述的可穿戴系统,其中,所述世界空间包括参照所述用户的所述环境的三维(3D)坐标系,以及所述操纵空间包括参照所述显示系统的坐标系。
6.根据权利要求5所述的可穿戴系统,其中,为了确定所述虚拟标线是否与所述眼睛校准目标对准,所述硬件处理器被编程为:
确定所述操纵空间与所述世界空间之间的偏移;
计算所述虚拟标线在所述操纵空间中的第一坐标值和所述眼睛校准目标在所述世界空间中的第二坐标值;以及
基于所述第一坐标值、所述第二坐标值和所述偏移来计算校准。
7.根据权利要求6所述的可穿戴系统,其中,为了计算所述校准,所述硬件处理器被编程为:基于所述偏移来将所述操纵空间中的所述第一坐标值转换为所述世界空间中的第三坐标值,以及确定所述第三坐标值和所述第二坐标值是否在阈值范围内。
8.根据权利要求1所述的可穿戴系统,其中,所述用户的头部姿势包括所述用户的头部的位置、取向、或所述位置和所述取向的组合。
9.根据权利要求1所述的可穿戴系统,其中,为了确定所述虚拟标线是否与所述眼睛校准目标对准,所述硬件处理器被编程为:
基于所述虚拟标线的所述位置,执行光线投射;以及
确定所述光线投射中的光线的一部分是否与所述眼睛校准目标相交。
10.根据权利要求1所述的可穿戴系统,其中,为了确定所述虚拟标线是否与所述眼睛校准目标对准,所述硬件处理器被编程为:
访问目标头部姿势,其中所述目标头部姿势是所述用户在所述虚拟标线与所述眼睛校准目标对准时采取的姿势;以及
确定所述用户的头部姿势是否处于所述目标头部姿势。
11.根据权利要求1所述的可穿戴系统,其中,响应于确定所述虚拟标线与所述眼睛校准目标对准,所述硬件处理器还被编程为:提供指示所述虚拟标线与所述眼睛校准目标对准的视觉、听觉或触觉效果。
12.根据权利要求1所述的可穿戴系统,其中,响应于确定所述虚拟标线与所述眼睛校准目标对准,所述硬件处理器还被编程为指示所述显示系统呈现另一虚拟标线。
13.根据权利要求1所述的可穿戴系统,其中,所述硬件处理器还被编程为至少部分地基于上下文信息来动态地更新所述虚拟标线的外观,所述上下文信息包括以下中的至少一个:所述眼睛校准目标的尺寸、所述眼睛校准目标的颜色、或与所述眼睛跟踪校准相关联的所需精度
14.根据权利要求13所述的可穿戴系统,其中,所述虚拟标线的外观类似于所述眼睛校准目标的外观。
15.根据权利要求13所述的可穿戴系统,其中,所述硬件处理器被编程为响应于高的所需精度或小的眼睛校准目标来减小所述标线的尺寸。
16.一种用于眼睛跟踪校准的方法,包括:
在硬件处理器的控制下:
识别在与用户的环境相关联的世界空间中的眼睛校准目标;
指示所述用户的可穿戴设备在与所述用户的所述可穿戴设备相关联的操纵空间中渲染虚拟标线;
获得所述用户的头部姿势数据;
基于所获得的头部姿势数据,确定所述用户的当前头部姿势;
至少部分地基于所述用户的当前头部姿势,确定所述虚拟标线相对于所述眼睛校准目标的相对位置;
至少部分地基于所述虚拟标线相对于所述眼睛校准目标的所述相对位置,确定所述虚拟标线是否与所述眼睛校准目标对准;以及
响应于确定所述虚拟标线与所述眼睛校准目标对准,指示所述可穿戴设备的面向内的成像系统获取眼睛校准数据。
17.根据权利要求16所述的方法,其中,所述头部姿势数据从以下中的至少一个获得:
所述可穿戴设备的面向外的成像系统、所述可穿戴设备的惯性测量单元、或所述用户的所述环境中的相机。
18.根据权利要求16所述的方法,其中,所述眼睛校准数据包括所述用户的一只或两只眼睛的图像。
19.根据权利要求18所述的方法,其中,所述眼睛校准目标位于所述世界空间中的固定位置处,或者其中所述虚拟标线在所述操纵空间中的固定位置处被渲染。
20.根据权利要求19所述的方法,还包括:响应于确定所述虚拟标线与所述眼睛校准目标对准,指示所述可穿戴设备在所述操纵空间中的不同位置处渲染所述虚拟标线。
21.根据权利要求16所述的方法,其中,所述虚拟标线在所述用户的视野的中心处或其附近被渲染,其中所述视野包括所述用户的环境中所述用户在给定时间处能够感知的一部分。
22.根据权利要求16所述的方法,其中,基于所获得的头部姿势数据来确定所述用户的当前头部姿势包括:基于所述头部姿势数据来计算所述用户的头部的位置或取向。
23.根据权利要求16所述的方法,还包括:访问头部姿势的范围,并且其中,确定所述虚拟标线是否与所述眼睛校准目标对准包括:确定所述当前头部姿势是否在头部姿势的所述范围内。
24.根据权利要求16所述的方法,其中,所述眼睛校准目标是所述用户的环境中的物理对象。
25.根据权利要求16所述的方法,其中,所述眼睛校准目标是游戏应用中的虚拟对象,并且所述用于眼睛跟踪校准的方法作为所述游戏应用的一部分被执行。
26.一种用于眼睛跟踪校准的方法,包括:
在硬件处理器的控制下:
识别用户的环境中的目标区域;
识别在与所述用户的可穿戴设备相关联的操纵空间中的位置处的虚拟标线;
获得所述用户的头部姿势数据;
基于所述获得的头部姿势数据,确定所述用户的当前头部姿势;
至少部分地基于所述用户的当前头部姿势,更新所述虚拟标线相对于所述目标区域的位置;
确定所述虚拟标线是否与所述目标区域对准;以及
响应于确定所述虚拟标线与所述目标区域对准,提供已实现校准的指示。
27.根据权利要求26所述的方法,其中,所述目标区域至少包括虚拟对象,并且其中,确定所述虚拟标线是否与所述目标区域对准包括:确定所述虚拟标线是否与所述虚拟对象对准。
28.根据权利要求26所述的方法,其中,所述目标区域至少包括物理对象的一部分,并且其中,确定所述虚拟标线是否与所述目标区域对准包括:确定所述虚拟标线是否与所述物理对象的所述部分对准。
29.根据权利要求26所述的方法,其中,所述眼睛校准数据由基于电容的眼睛跟踪系统或基于电极的眼睛跟踪系统收集。
30.根据权利要求26所述的方法,其中,响应于确定所述虚拟标线与所述眼睛校准目标对准,所述方法还包括:使所述可穿戴设备的眼睛相机初始化眼睛图像的收集。
31.根据权利要求26所述的方法,其中,确定所述虚拟标线是否与所述目标区域对准包括:
至少部分地基于所述用户的当前头部姿势来投射至少一个虚拟光线;以及确定所述至少一个虚拟光线是否与所述目标区域相交。
32.根据权利要求31所述的方法,其中,至少部分地基于所述用户的当前头部姿势投射至少一个虚拟光线包括:
从所述用户或所述可穿戴设备上的位置投射至少一个虚拟光线并穿过所述虚拟标线的所述位置。
33.根据权利要求31所述的方法,其中,至少部分地基于所述用户的当前头部姿势来投射至少一个虚拟光线包括:
投射穿过所述虚拟标线的所述位置的虚拟几何锥体。
34.根据权利要求33所述的方法,其中,所述虚拟标线的形状对应于所述虚拟几何锥体在所述虚拟标线的所述位置处的截面形状。

说明书全文

眼睛跟踪校准技术

[0001] 相关申请的交叉引用
[0002] 本申请根据35 U.S.C.§119(e)要求2017年5月31日提交的名称为“EYE TRACKING CALIBRATION TECHNIQUES(眼睛跟踪校准技术)”的美国临时申请No.62/512,954的优先权,其公开内容通过引用整体并入本文。

技术领域

[0003] 本公开涉及虚拟现实增强现实成像和可视化系统,更具体地说,涉及用于眼睛跟踪校准技术。

背景技术

[0004] 现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现的图像或其部分以它们看起来是或者可以被感觉是真实的方式呈现给用户。虚拟现实或“VR”场景通常涉及数字或虚拟图像信息的呈现,而不对其它实际的真实世界的视觉输入透明;增强现实或“AR”场景通常涉及将数字或虚拟图像信息呈现为对用户周围的现实世界的可视化的增强;混合现实或“MR”涉及将真实世界和虚拟世界合并以产生物理和虚拟对象共存并实时交互的新环境。事实证明,人类视觉感知系统非常复杂,并且产生VR、AR或MR技术具有挑战性,这些技术便于在其它虚拟或真是世界的图像元素中舒适、自然、丰富地呈现虚拟图像元素。在此公开的系统和方法解决了与VR、AR和MR技术有关的各种挑战。发明内容
[0005] 公开了用于改善眼睛跟踪校准的准确度的技术的各种实施例
[0006] 描述了用于可穿戴系统中的眼睛跟踪校准的系统和方法。可穿戴系统可以呈现三维(3D)虚拟内容,并允许用户使用眼睛注视与3D虚拟内容交互。在眼睛跟踪校准期间,可穿戴系统可以验证在获取眼睛跟踪数据的同时用户确实看向校准目标。可以基于与用户的头部姿势和前庭眼反射相关联的数据来执行验证。
[0007] 在附图和以下描述中阐述了本说明书中描述的主题的一种或多种实施方式的细节。通过说明书、附图和权利要求,其它特征、方面和优点将变得显而易见。本发明内容和以下具体实施方式都并非旨在限定或限制本发明主题的范围。

附图说明

[0008] 图1示出了具有由人观看到的某些虚拟现实对象和某些物理对象的混合现实场景的图示。
[0009] 图2示意性地示出了可穿戴系统的示例。
[0010] 图3示意性地示出了使用多个深度平面模拟三维图像的方法的各方面。
[0011] 图4示意性地示出了用于将图像信息输出给用户的波导堆叠的示例。
[0012] 图5示出了可以由波导输出的示例出射光束。
[0013] 图6是示出光学系统的示意图,该光学系统包括波导装置、光学耦合器子系统以及控制子系统,其中光学耦合器子系统用于将光光学耦合到波导装置或从波导装置光学耦合光,控制子系统用于产生多焦点体积显示、图像或光场。
[0014] 图7是可穿戴系统的示例的框图
[0015] 图8是渲染与所识别的对象有关的虚拟内容的方法的示例的过程流程图
[0016] 图9是可穿戴系统的另一示例的框图。
[0017] 图10是用于确定可穿戴系统的用户输入的方法的示例的过程流程图。
[0018] 图11是用于与虚拟用户界面交互的方法的示例的过程流程图。
[0019] 图12A示出了眼睛跟踪校准过程中的示例目标。
[0020] 图12B示意性地示出了用于眼睛跟踪校准过程的示例场景。
[0021] 图12C示出了使用用户的头部姿势来验证用户是否看向目标的示例。
[0022] 图13A示出了验证眼睛注视的示例,其中标线(reticle)位于用户FOV的中心。
[0023] 图13B示出了验证眼睛注视的示例,其中标线在用户FOV中的偏心(off-center)位置被渲染。
[0024] 图14A示出了使用眼睛注视验证的示例眼跟踪校准过程的流程图。
[0025] 图14B示出了用于示例眼睛注视验证过程的流程图。
[0026] 图15A和图15B示出了基于目标与标线之间的距离来动态地调整标线的尺寸的示例。
[0027] 图16A和图16B示出了形状相似的标线和目标的示例。
[0028] 图17示出了眼睛注视验证的示例,其中,表示固定在操纵(rig)空间中的标线的虚拟对象被拖放(drag and drop)到用户的三维环境内的目标位置。
[0029] 图18示出了作为机器人攻击游戏的一部分的眼睛注视验证的示例。
[0030] 在全部附图中,参考标号可以被重复使用来指示被引用的要素之间的对应关系。提供附图是为了示例本文中描述的示例性实施例,而非旨在限制本公开的范围。另外,本公开中的附图仅用于说明目的并且未按比例绘制。

具体实施方式

[0031] 概述
[0032] 可穿戴设备可以在交互式VR/AR/MR环境中呈现虚拟内容。虚拟内容可以包括可由用户通过例如头部姿势、眼睛注视或身体姿势的各种姿势与之交互的数据元素。在使用眼睛注视的用户交互的背景下,可穿戴设备可以(例如,经由可穿戴设备的面向内的成像系统中的眼睛相机)收集诸如眼睛图像的眼睛数据。可穿戴系统可以基于映射矩阵来计算用户的眼睛注视方向,该映射矩阵提供用户的眼睛注视与注视矢量(可以指示用户的注视方向)之间的关联。为了改善用户体验,可穿戴设备可以执行眼睛跟踪校准过程,该过程可以校准映射矩阵,以考虑到每个人的眼睛的唯一性、可穿戴设备在穿戴时相对于用户的特定方向、当前环境条件(例如,照明条件、温度等)及其组合等。
[0033] 在眼睛跟踪校准过程中,可穿戴设备可以呈现各种虚拟目标,并在收集有关用户眼睛注视的信息的同时引导用户看向这些虚拟目标。然而,可穿戴设备缺少在引入目标时验证用户确实看向目标的一种机制。如果用户没有如被引导的那样看向目标,则可穿戴设备可能会收集无法准确反映用户注视方向的数据,这可能会在校准中引入不准确度,并导致将要生成错误的映射矩阵。由于校准过程中的不准确度,如果可穿戴设备将用户注视用作交互输入,则用户可能无法准确地瞄准对象并与对象交互,这可能会导致用户体验的满意度较差。
[0034] 为了提高眼睛注视校准过程的准确度,可穿戴设备可以执行眼睛注视验证,以确保或增加在收集眼睛数据时用户确实看向目标的可能性。眼睛注视验证可以使用头部姿势和前庭眼反射(该反射产生在与头部运动相反的方向上的眼睛运动,以将图像保留在视野的中心)来确保用户如被引导的那样看向目标。作为示例,可穿戴设备可以识别用户环境中的物理目标或渲染用户环境中的虚拟目标。目标的位置可以由世界空间中的位置表示,该世界空间将环境中的对象映射到三维世界坐标系中的位置。可穿戴设备还可以在操纵空间中呈现虚拟标线,该操纵空间与相对于可穿戴设备的坐标系相关联。当用户移动他或她的头部时,标线可以相应地在用户的环境中移动。当用户的头部姿势使操纵空间中的标线与世界空间中的目标对准时,可穿戴设备可以验证用户确实看向目标。有利地,在一些实施例中,为了确保用于校准过程的眼睛数据的质量,如果可穿戴设备确定用户没有看向目标,则可穿戴设备将停止收集眼睛数据。
[0035] 通过提供其中用户可以使用头部姿势和眼睛注视的组合来使标线与目标对准的过程,可穿戴系统可以提供直观的眼睛校准过程,因为许多用户熟悉使用标线瞄准对象。另外,这种方法通过利用人类视觉跟踪(例如,跟踪前庭眼反射)的自然功能来减少用户的不适并减少眼睛疲劳。此外,由于跟踪了头部和眼睛的运动,因此用户不需要具有良好的手眼协调技能就能执行眼睛跟踪校准。
[0036] 可穿戴系统的3D显示的示例
[0037] 可穿戴系统(这里也被称为增强现实(AR)系统)可以被配置为向用户呈现二维(2D)或三维(3D)虚拟图像。图像可以是静止图像、视频或视频、上述项的组合等等。可穿戴系统可以包括可穿戴设备,可穿戴设备可以单独或组合地呈现VR、AR或MR环境以用于用户交互。可穿戴设备可互换地用作AR设备(ARD),并且可穿戴设备可以是头戴式设备(HMD)。
[0038] 图1示出了具有由人观看到的某些虚拟现实对象以及某些物理对象的混合现实场景的图示。在图1中,示出了MR场景100,其中MR技术的用户看到以人、树木、背景中的建筑物以及混凝土平台120为特征的真实世界公园状设置110。除了这些项目之外,MR技术的用户还感知他“看到”站在真实世界平台120上的机器人雕像130,以及看起来像大黄蜂的化身的飞舞的卡通式的化身色140,尽管这些元素不存在于真实世界中。
[0039] 为了使3D显示器产生真实的深度感觉,更具体地,模拟的表面深度感觉,可能期望显示器的视野中的每个点产生与其虚拟深度对应的调节响应(accommodative response)。如果对显示点的调节响应不对应于该点的虚拟深度(由汇聚和立体视觉的双眼深度线索确定),则人眼可能经历调节冲突,导致成像不稳定、有害的眼部紧张、头痛,并且在没有调节信息的情况下,几乎完全缺乏表面深度。
[0040] VR、AR和MR体验可以由具有显示器的显示系统提供,在显示器中,对应于多个深度平面的图像被提供给观看者。对于每个深度平面,图像可以是不同的(例如,提供稍微不同的场景或对象呈现),并且可以由观看者的眼睛单独聚焦,从而有助于基于眼睛的调节(需要这种调节以使位于不同深度平面上的场景的不同图像特征聚焦),或者基于观察到不同深度平面上的不同图像特征脱焦,为用户提供深度线索。如本文其它地方所讨论的,这种深度线索提供了可靠的深度感。
[0041] 图2示例出可穿戴系统200的示例。可穿戴系统200包括显示器220以及支持该显示器220的功能的各种机械和电子和系统。显示器220可以被耦接到框架230,该框架可由用户、佩戴者或观看者210穿戴。显示器220可以被定位在用户210的眼睛的前方。显示器220可以向用户呈现AR/VR/MR内容。显示器220可以包括穿戴在用户头部上的头戴式显示器(HMD)。在一些实施例中,扬声器240被耦接到框架230并且被定位在用户的道附近(在一些实施例中,另一扬声器(未示出)可以被定位在用户的另一耳道附近以提供立体声/可塑形的声音控制)。
[0042] 可穿戴系统200可包括面向外的成像系统464(如图4所示),其观察用户周围环境中的世界。可穿戴系统200可以还包括面向内的成像系统462(如图4所示),其可以跟踪用户的眼睛运动。面向内的成像系统可以跟踪一只眼睛的运动或全部两只眼睛的运动。面向内的成像系统462可以被附接到框架230并且可以与处理模块260或270电通信,处理模块260或270可以处理由面向内的成像系统获取的图像信息以确定例如用户210的眼睛的瞳孔直径或取向、眼睛运动或眼睛姿势。
[0043] 作为示例,可穿戴系统200可以使用面向外的成像系统464或面向内的成像系统462来获取用户姿势的图像。图像可以是静止图像、视频帧或视频,上述项的组合等等。
[0044] 显示器220可以例如通过有线引线或无线连接可操作地耦接250到本地数据处理模块260,本地数据处理模块260可以以各种配置安装,例如固定地附接到框架230,固定地附接到用户戴的头盔或帽子,嵌入在耳机中,或以其它方式可移除地附接到用户210(例如,采取背包式配置,采取腰带耦接式配置)。
[0045] 本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,二者都可用于辅助数据的处理、缓存以及存储。数据可以包括如下数据:a)从传感器(其可以例如可操作地耦接到框架230或以其它方式附接到用户210)捕获的数据,传感器例如图像捕获设备(例如,相机、面向内的成像系统或面向外的成像系统)、麦克、惯性测量单元(IMU)、加速度计、罗盘、全球定位系统(GPS)单元、无线电设备或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取或处理的数据,可能在这样的处理或检索之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦接到远程处理模块270或远程数据储存库280,使得这些远程模块作为资源可用于本地处理和数据模块260。另外,远程处理模块280和远程数据储存库280可以可操作地相互耦接。
[0046] 在一些实施例中,远程处理模块270可以包括一个或多个处理器,其被配置为分析和处理数据和/或图像信息。在一些实施例中,远程数据储存库280可以包括数字数据存储设施,其可以通过互联网或其它网络配置以“”资源配置而可用。在一些实施例中,在本地处理和数据模块中存储全部数据,并且执行全部计算,允许从远程模块完全自主使用。
[0047] 人类视觉系统复杂,并且提供深度的逼真感知是具挑战性的。不受理论的限制,据信对象的观看者可能由于聚散度和调节的组合而将该对象感知为“三维的”。两只眼睛相对于彼此的聚散运动(例如,瞳孔朝向彼此或远离彼此的滚动运动,以会聚眼睛的眼睛注视来注视对象)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从一个对象改变到在不同距离处的另一个对象,这将会在被称为“调节-聚散度反射(accommodation-vergence reflex)”的关系下自动地导致到相同的距离的聚散度的匹配改变。同样,在正常情况下,聚散度的改变将引发调节的匹配改变。提供调节和聚散度之间的更好匹配的显示系统可以形成更逼真且舒适的三维图像模拟。
[0048] 图3示出了使用多个深度平面来模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和眼睛304的不同距离处的对象由眼睛302和眼睛304调节,以使得这些对象在焦点中。眼睛302和眼睛304采取特定的调节状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的调节状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于特定深度平面的调节状态时,该深度平面中的对象或对象的部分被聚焦。在一些实施例中,可以通过为眼睛302和304中的每一只眼睛提供图像的不同呈现,并且还通过提供与深度平面中每一个深度平面对应的图像的不同呈现,来模拟三维图像。尽管为了清楚说明而被示出为分离的,但应理解的是,例如随着沿z轴的距离增加,眼睛302和眼睛304的视野可能重叠。另外,虽然为了便于说明而被示出为平坦的,但应理解的是,深度平面的轮廓在物理空间中可以是弯曲的,使得深度平面中的所有特征在特定的调节状态下与眼睛对焦。不受理论的限制,据信人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现所感知的深度的高度可信的模拟。
[0049] 波导堆叠组件
[0050] 图4示出了用于将图像信息输出给用户的波导堆叠的示例。可穿戴系统400包括波导堆叠或堆叠波导组件480,其可用于使用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知。在一些实施例中,可穿戴系统400可以对应于图2的可穿戴系统200,图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器220中。
[0051] 继续参考图4,波导组件480可以还包括位于波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、
454、452可以不是透镜。相反,它们可以简单地是间隔物(例如,包层和/或用于形成气隙的结构)。
[0052] 波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散度向眼睛发送图像信息。每个波导级别可以与特定深度平面相关联,并且可以被配置为输出对应于该深度平面的图像信息。图像注入装置420、422、424、426、428可用于将图像信息注入到波导440b、438b、436b、434b、432b中,每个波导可以被配置为分配入射光穿过每个相应的波导以便朝着眼睛410输出。光从图像注入装置420、
422、424、426、428的输出表面射出,并且被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如准直光束)注入到每个波导中,以输出克隆的准直光束的整个场,这些克隆的准直光束以对应于与特定波导相关联的深度平面的特定角度(和发散量)朝向眼睛410定向。
[0053] 在一些实施例中,图像注入装置420、422、424、426、428是分立的显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装420、422、424、426、428是单个多路复用显示器的输出端,其可以例如经由一个或多个光导管(例如光纤电缆)将图像信息管道传输到图像注入装置420、422、424、426、428中的每一者。
[0054] 控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括编程(例如,非暂时性计算机可读介质中的指令),该编程调节到波导440b、
438b、436b、434b、432b的图像信息的定时和提供。在一些实施例中,控制器460可以是单个整体设备,或者是通过有线或无线通信信道连接的分布式系统。在一些实施例中,控制器
460可以是处理模块260或270(如图2所示)的部分。
[0055] 波导440b、438b、436b、434b、432b可以被配置为通过全内反射(TIR)在每一个相应的波导内传播光。波导440b、438b、436b、434b、432b可以各自是平面的或具有其它形状(例如,弯曲),具有顶部和底部主表面以及在这些顶部和底部主表面之间延伸的边缘。在所示的配置中,波导440b、438b、436b、434b、432b可以各自包括光提取光学元件440a、438a、436a、434a、432a,这些光提取光学元件被配置为通过将每一个相应波导内传播的光重定向而将光提取到波导外,以向眼睛410输出图像信息。提取的光也可以被称为耦出光,并且光提取光学元件也可以被称为耦出光学元件。提取的光束在波导中传播的光照射光重定向元件的位置处被波导输出。光提取光学元件(440a、438a、436a、434a、432a)可以例如是反射或衍射光学特征。虽然为了便于描述和清晰绘图起见而将其图示设置在波导440b、438b、
436b、434b、432b的底部主表面处,但是在一些实施例中,光提取光学元件440a、438a、436a、
434a、432a可以设置在顶部或底部主表面处,或可以直接设置在波导440b、438b、436b、
434b、432b的体积中。在一些实施例中,光提取光学元件440a、438a、436a、434a、432a可以形成在被附接到透明基板的材料层中以形成波导440b、438b、436b、434b、432b。在一些其它实施例中,波导440b、438b、436b、434b、432b可以是单片材料,并且光提取光学元件440a、
438a、436a、434a、432a可以形成在那片材料的表面上或那片材料的内部中。
[0056] 继续参考图4,如本文所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定渲染平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一上行波导434b可以被配置为将传输通过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自该下一上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处向内更靠近眼睛410。类似地,第三上行波导436b将输出光在到达眼睛410之前传输通过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光焦度(optical power)可被配置为产生波前曲率的另一增量,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自所述下一上行波导434b的光更向内靠近人。
[0057] 其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的总(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以被设置在堆叠的顶部处以补偿下面的透镜堆叠458、456、454、452的总焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以使用电激活特征而为动态的。
[0058] 继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向出它们各自的波导并且针对与波导相关联的特定深度平面以适当的发散量或准直度输出该光。结果,具有不同相关联深度平面的波导可具有不同的光提取光学元件配置,其取决于相关联的深度平面而输出具有不同发散量的光。在一些实施例中,如本文所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开No.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入本文中。
[0059] 在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案的衍射特征或“衍射光学元件”(本文中也称为“DOE”)。优选地,DOE具有相对较低的衍射效率,以使得仅光束的一部分通过DOE的每一个交点偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可被分成多个相关的出射光束,这些出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
[0060] 在一些实施例中,一个或多个DOE可以在它们活跃地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的DOE可以包括聚合物分散液晶层,其中微滴在基体介质中包含衍射图案,并且微滴的折射率可以被切换为基本上匹配基体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以被切换为与基体介质的折射率不匹配的折射率(在这种情况下,该图案活跃地衍射入射光)。
[0061] 在一些实施例中,深度平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或取向而动态地改变。景深可以与观看者的瞳孔大小成反比地改变。因此,随着观看者眼睛的瞳孔大小减小时,景深增加,使得由于一个平面的位置超出了眼睛的焦点深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小表现为更聚焦,而且与景深的增加相称。同样地,用于向观看者呈现不同图像的间隔开的深度平面的数量可以随着瞳孔大小的减小而减小。例如,观看者在不将眼睛的调节从一个深度平面调整到另一个深度平面的情况下,可能不能以一个瞳孔大小清楚地感知第一深度平面和第二深度平面两者的细节。然而,这两个深度平面可以在不改变调节的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
[0062] 在一些实施例中,显示系统可以基于瞳孔大小或取向的确定,或在接收到指示特定瞳孔大小或取向的电信号时,改变接收图像信息的波导的数量。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在其中用于一波导的DOE可在接通和关断状态之间切换的实施例中,当波导确实接收图像信息时,DOE可以被切换到关断状态。
[0063] 在一些实施例中,可能期望使出射光束满足直径小于观看者眼睛直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
[0064] 可穿戴系统400可包括面向外的成像系统464(例如,数字相机),其对世界470的一部分进行成像。世界470的该部分可被称为世界相机的视野(FOV),并且成像系统464有时被称为FOV相机。可供观看者观看或成像的整个区域可被称为能视域(FOR)。因为佩戴者可以移动他或她的身体、头部或眼睛以感知空间中的基本上任何方向,FOR可以包括围绕可穿戴系统400的立体角的4π球面度。在其它情况下,佩戴者的运动可能更受限制,相应地,佩戴者的FOR可以对着更小的立体角。从面向外的成像系统464获得的图像可用于跟踪用户做出的手势(例如手或手指的姿势),检测用户前方的世界470中的对象等等。
[0065] 可穿戴系统400还可以包括面向内的成像系统466(例如,数码相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像系统466可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或取向。面向内的成像系统466可以用于获得图像,用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物测定识别(例如,经由虹膜识别)。在一些实施例中,可以为每只眼睛利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,由此允许向每只眼睛呈现图像信息以动态地适合该眼睛。在一些其它实施例中,仅单个眼睛410的瞳孔直径或取向(例如,每对眼睛仅使用单个相机)被确定并假定对于用户的双眼是相似的。可以分析由面向内的成像系统466获得的图像以确定用户的眼睛姿势或情绪,其可由可穿戴系统400使用来决定应该向用户呈现哪些音频或视觉内容。可穿戴系统400还可以使用诸如IMU、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部取向)。
[0066] 可穿戴系统400可以包括用户输入设备466,通过该用户输入设备466用户可以向控制器460输入命令以与可穿戴系统400交互。例如,用户输入设备466可以包括触控板、触摸屏、操纵杆、多自由度(DOF)控制器、电容感测设备、游戏控制器、键盘鼠标、方向垫(D-pad)、魔杖、触觉设备、图腾(例如,用作虚拟用户输入设备)等等。多DOF控制器可以感测控制器的部分或全部可能的平移(例如,左/右、前/后、或上/下)或旋转(例如,偏航俯仰或翻滚)方面的用户输入。支持平移运动的多DOF控制器可以被称为3DOF,而支持平移和旋转的多DOF控制器可以被称为6DOF。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按压或轻扫以向可穿戴系统400提供输入(例如,以将用户输入提供给由可穿戴系统400提供的用户界面)。用户输入设备466可以在使用可穿戴系统400期间由用户的手保持。
用户输入设备466可以与可穿戴系统400进行有线或无线通信。
[0067] 图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过TIR在波导432b内传播。在光520照射在DOE 432a上的点处,一部分光作为出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的深度平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光耦出以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410调节到更近距离以将其聚焦在视网膜上并且将被大脑解释为来自比光学无穷远更靠近眼睛410的距离的光。
[0068] 图6是示出了包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统、以及控制子系统的光学系统的示意图,该光学系统用于生成多焦点立体显示、图像或光场。该光学系统可以包括波导装置、将光光学耦合到波导装置或从波导装置光学耦合光的光耦合器子系统,以及控制子系统。该光学系统可以用于生成多焦点立体、图像或光场。该光学系统可以包括一个或多个主平面波导632a(在图6中仅示出一个)以及与至少一些主波导632a中的每一个主波导相关联的一个或多个DOE 632b。平面波导632b可以类似于参考图4讨论的波导432b、434b、436b、438b、440b。该光学系统可以使用分布波导装置以沿着第一轴(图6的视图中的垂直轴或Y轴)中继光,并且沿着第一轴(例如,Y轴)扩展光的有效出射光瞳。分布波导装置可以例如包括分布平面波导622b和与分布平面波导622b相关联的至少一个DOE 622a(由双点划线示出)。分布平面波导622b在至少一些方面可以与主平面波导632b相似或相同,但具有与其不同的取向。类似地,至少一个DOE 622a在至少一些方面可以与DOE 632a相似或相同。例如,分布平面波导622b或DOE 622a可以分别由与主平面波导632b或DOE 632a相同的材料构成。图6中所示的光学显示系统600的实施例可以被集成到图2中所示的可穿戴显示系统200中。
[0069] 中继的和出射光瞳扩展的光可从分布波导装置被光学耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6的视图中的平轴或X轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴(例如,X轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直轴或Y轴中继和扩展光,并且将该光传递到可以沿着水平轴或X轴中继和扩展光的主平面波导632b。
[0070] 该光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以被光学耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以被在管642的外侧、外表面或外周或外径上。芯电极(未示出)也可以位于管642的芯、中心、内周或内径中。
[0071] 例如经由导线660电耦接的驱动电子器件650驱动相对的电极对以独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械共振模式。共振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械共振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
[0072] 通过激发两个轴上的共振,光纤悬臂644的顶端在遍及二维(2-D)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开No.2014/0003762中提供了这样的设置的描述,其通过引用全部并入本文中。
[0073] 光学耦合器子系统的部件可以准直从扫描光纤悬臂644出射的光。准直光可以被镜面648反射到包含至少一个衍射光学元件(DOE)622a的窄分布平面波导622b中。准直光可以通过TIR沿分布平面波导622b垂直地(相对于图6的视图)传播,并且在这样做时与DOE 622a反复相交。DOE 622a优选具有低衍射效率。这可导致一部分(例如,10%)光在与DOE 
622a的每个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过TIR在其原始轨迹上继续沿分布平面波导622b的长度向下。
[0074] 在与DOE 622a的每个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个耦出组,光的出射光瞳可以在分布平面波导622b中被DOE 4垂直地扩展。从分布平面波导622b耦出的该垂直扩展的光可以进入主平面波导632b的边缘。
[0075] 进入主波导632b的光可以经由TIR沿着主波导632b水平(相对于图6的视图)传播。由于光通过TIR沿着主波导632b的长度的至少一部分水平传播,因此光在多个点处与DOE 
632a相交。DOE 632a可以有利地被设计或构造成具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。DOE 632a可以有利地具有低衍射效率(例如,10%),使得DOE 632a的每个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由TIR通过波导632b继续传播。
[0076] 在传播光和DOE 632a之间的每个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离TIR,并且从主波导632b的面出射。在一些实施例中,DOE 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既对单独的光束的光波前(例如,赋予曲率)进行整形,也以与设计的聚焦水平相匹配的角度使光束转向。
[0077] 因此,这些不同的路径可以通过多个DOE 632a以不同的角度、聚焦水平和/或在出射光瞳处产生不同的填充图案来使光耦合出主平面波导632b。出射光瞳处的不同填充图案可以有利地被用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可被用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多个组来产生具有各种焦深的全3D或4D彩色图像光场。
[0078] 可穿戴系统的其它部件
[0079] 在许多实施方式中,可穿戴系统可以包括其它部件,作为上述可穿戴系统的部件的补充或替代。可穿戴系统例如可以包括一个或多个触觉设备或部件。触觉设备或部件可以用于向用户提供触觉。例如,触觉设备或部件可以在触摸虚拟内容(例如,虚拟对象、虚拟工具、其它虚拟构造)时提供压或纹理的触觉。触觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象的对象或角色(例如,龙)的感觉。在一些实施方式中,触觉设备或部件可由用户穿戴(例如,用户可穿戴的手套)。在一些实施方式中,触觉设备或部件可以由用户保持。
[0080] 可穿戴系统例如可以包括可由用户操纵的一个或多个物理对象以允许输入或与可穿戴系统进行交互。这些物理对象在本文中可以被称为图腾。一些图腾可采取无生命对象的形式,诸如例如金属或塑料块、墙壁、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴系统可以呈现用户界面,以便对于用户而言看起来在图腾的一个或多个表面上。例如,可穿戴系统可以使计算机键盘和触控板的图像看起来驻留在图腾的一个或多个表面上。例如,可穿戴系统可以使虚拟计算机键盘和虚拟触控板看起来在作为图腾的的薄矩形板的表面上。矩形板本身没有任何物理键或触控板或传感器。然而,可穿戴系统可以检测用户操纵或交互或触摸该矩形板作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入设备466(在图4中示出)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器或另一物理输入设备。用户可以单独或与姿势结合使用图腾,以与可穿戴系统或其它用户进行交互。
[0081] 在美国专利公开No.2015/0016777中描述了可用于本公开的可穿戴设备、HMD和显示系统的触觉设备和图腾的示例,其全部内容通过引用并入本文中。
[0082] 可穿戴系统、环境和接口的示例
[0083] 可穿戴系统可以采用各种与地图绘制相关的技术,以便在所呈现的光场中实现高景深。在绘制出虚拟世界时,了解真实世界中的所有特征和点以准确描绘与真实世界相关的虚拟对象是有利的。为此,可以通过包括传达关于真实世界的各种点和特征的信息的新图片,将从可穿戴系统的用户捕获的FOV图像添加到世界模型。例如,可穿戴系统可以收集一组地图点(诸如2D点或3D点)并找到新的地图点(map point)以呈现的世界模型的更精确版本。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传达给第二用户,使得第二用户可以体验围绕第一用户的世界。
[0084] 图7是MR环境700的示例的框图。MR环境700可以被配置为接收来自一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或固定房间系统(例如,室内相机等)的输入(例如,来自用户的可穿戴系统的视觉输入702、诸如房间相机的固定输入704、来自各种传感器的传感器输入706、来自用户输入设备466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、移动传感器、深度传感器、GPS传感器、面向内的成像系统、面向外的成像系统等)来确定用户环境的位置和各种其它属性。该信息可以进一步补充有来自房间中的固定相机的信息,该相机可以从不同的视点提供图像或各种线索。由相机(诸如房间相机和/或面向外的成像系统的相机)获取的图像数据可以被缩减为映射点组。
[0085] 一个或多个对象识别器708可以爬过(crawl through)接收到的数据(例如,点的集合)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间推移收集的各个点及其相应的对象。各种设备和地图数据库可以通过网络(例如LAN、WAN等)相互连接以访问云。
[0086] 基于该信息和地图数据库中的点集合,对象识别器708a至708n可以识别环境中的对象。例如,对象识别器可以识别面部、人、窗户、墙壁、用户输入设备、电视、用户环境中的其它对象等。一个或多个对象识别器可以专用于具有特定特性的对象。例如,对象识别器708a可用于识别面部,而另一对象识别器可用于识别图腾。
[0087] 可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外的成像系统464(如图4所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别、对象姿势估计、学习、索引、运动估计或图像恢复等。可以使用一种或多种计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)、定向FAST和旋转BRIEF(ORB)、二进制鲁棒不变可扩展关键点(BRISK)、快速视网膜关键点(FREAK)、Viola-Jones算法、特征脸方法、Lucas-Kanade算法、Horn-Schunk算法,均值漂移(Mean-shift)算法、视觉同步定位与地图构建(vSLAM)技术、序列贝叶斯估计器(例如,卡尔曼滤波器扩展卡尔曼滤波器等)、光束法平差(bundle adjustment)、自适应阈值分割(和其它阈值分割技术)、迭代最近点(ICP)、半全局匹配(SGM)、半全局块匹配(SGBM)、特征点直方图、各种机器学习算法(例如,支持向量机、k最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络)或其它有监督/无监督模型等)等等。
[0088] 附加地或替代地,对象识别可以通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由HMD存储。机器学习算法的一些示例可以包括有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归)、基于实例的算法(例如,学习向量量化)、决策树算法(例如,分类和回归树)、贝叶斯算法(例如,朴素贝叶斯)、聚类算法(例如,k均值聚类)、关联规则学习算法(例如,先验算法)、人工神经网络算法(例如,感知机)、深度学习算法(例如,深度玻尔茨曼机或深度神经网络)、降维算法(例如例如,主成分分析)、集合算法(例如,堆栈泛化)和/或其它机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴设备可以生成或存储基础模型。基础模型可以用作生成特定于数据类型(例如,远端临场会话中的特定用户)、数据集(例如,在远端临场会话中从用户处获得的附加图像集)、条件情况或其它变化的附加模型的起点。在一些实施例中,可穿戴HMD可以被配置为利用多种技术来生成用于分析聚合数据的模型。其它技术可包括使用预定义的阈值或数据值。
[0089] 基于该信息和地图数据库中的点的集合,对象识别器708a至708n可以识别对象并用语义信息补充对象以赋予对象生命。例如,如果对象识别器将一组点识别为,则系统可以附加一些语义信息(例如,该门具有铰链并且具有围绕铰链的90度移动)。如果对象识别器将一组点识别为镜子,则系统可以附加这样的语义信息:该镜子具有可以反射房间中对象的图像的反射表面。随着时间的推移,地图数据库随着系统(其可以驻留在本地或可以通过无线网络访问)累积来自世界的更多数据而增长。一旦识别出对象,就可以将该信息发送到一个或多个可穿戴系统。例如,MR环境700可以包括关于在加利福尼亚发生的场景的信息。环境700可以被发送给纽约的一个或多个用户。基于从FOV相机和其它输入接收的数据,对象识别器和其它软件组件可以映射从各种图像收集的点、识别对象等,使得该场景可以准确地“传递”给可能在世界的不同部分的第二用户。环境700也可以使用拓扑图来实现本地化目的。
[0090] 图8是呈现与所识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述了如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离该场景。例如,用户可能在纽约,但可能想要观看当前正在加利福尼亚发生的场景,或者可能想要与居住在加利福尼亚的朋友散步。
[0091] 在框810处,可穿戴系统可以从用户和其他用户接收关于用户的环境的输入。这可以通过各种输入设备和在地图数据库中已有的知识来实现。在框810处,用户的FOV相机、传感器、GPS、眼睛跟踪等向系统传送信息。在框820处,系统可以基于该信息确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手部手势),这些数据可用于显示和理解用户周围环境中各种对象的取向和位置。在框830处,对象识别器708a-708n可以爬过这些收集的点并使用地图数据库识别一个或多个对象。然后可以在框840处将该信息传送给用户的个人可穿戴系统,并且可以在框850处相应地向用户显示所期望的虚拟场景。例如,可以相对于在纽约的用户的各种对象和其它环境以适当的取向、位置等显示所期望的虚拟场景(例如,位于CA的用户)。
[0092] 图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括地图,该地图可以包括世界的地图数据。该地图可以部分地驻留在可穿戴系统本地,可以部分地驻留在可通过有线或无线网络(例如,在云系统中)访问的网络存储位置。姿势处理910可以在可穿戴计算架构(例如,处理模块260或控制器460)上被执行,并利用来自地图的数据而确定可穿戴计算硬件或用户的位置和取向。可以根据当用户正在体验系统并在世界中操作时即时收集的数据来计算姿势数据。该数据可以包括图像、来自传感器(例如惯性测量单元,其通常包括加速度计和陀螺仪部件)的数据和与真实或虚拟环境中的对象相关的表面信息。
[0093] 稀疏点表示可以是同时定位与地图构建(SLAM或V-SLAM,是指其中输入只是图像/视觉的配置)过程的输出。该系统可以被配置为不仅找出各种部件在该世界中的位置,而且还找出该世界是由什么构成的。姿势可以是实现许多目标的构建块,包括填充地图和使用来自地图的数据。
[0094] 在一个实施例中,稀疏点位置本身可能不完全足够,并且可能需要进一步的信息来产生多焦点AR、VR或MR体验。可以使用通常参考深度地图信息的密集表示来至少部分地填充该间隙。这样的信息可以根据被称为立体(Stereo)的处理940来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)模式(诸如使用有源(active)投影仪创建的红外模式)可以用作立体处理940的输入。可以将大量深度地图信息融合在一起,并且可以用表面表示来概括其中的一些。例如,数学上可定义的表面是诸如游戏引擎之类的其它处理设备的有效(例如,相对于大点云)且可消化的输入。因此,立体处理(例如,深度地图)940的输出可以在融合处理930中组合。姿势也可以是向该融合处理930的输入,并且融合930的输出变为填充(populate)地图处理920的输入。子表面可以彼此连接(例如在地形图中)以形成更大的表面,并且地图变成点和表面的大混合体。
[0095] 为了解决混合现实处理960中的各个方面,可以使用各种输入。例如,在图9所示的实施例中,可以输入游戏参数以确定系统的用户正在玩打怪兽游戏,其中一个或多个怪兽位于各个位置,怪兽在各种条件下死亡或逃跑(例如如果用户射杀怪兽),墙壁或其它对象位于各个位置等等。世界地图可以包括有关这些对象在哪些位置彼此相关的信息,作为混合现实的另一有价值的输入。相对于世界的姿势也成为一种输入,并且几乎对任何交互系统起着关键作用。
[0096] 来自用户的控制或输入是可穿戴系统900的另一输入。如本文所述,用户输入可包括视觉输入、手势、图腾、音频输入、感官输入等。为了四处移动或玩游戏,例如,用户可能需要指示可穿戴系统900关于他或她想要做什么。除了在空间中移动自己之外,存在可以利用的多种形式的用户控制。在一个实施例中,图腾(例如,用户输入设备)或诸如玩具枪之类的对象可由用户握持并由系统跟踪。该系统优选地被配置为知道用户正在握住商品并且理解用户与商品进行何种交互(例如,如果图腾或对象是枪,则系统可以被配置为了解位置和取向,以及用户是否正在点击触发器或其它可能配备有传感器的感测按钮或元件,例如IMU,其可以有助于确定正在发生的事情,即使这样的活动不在任何相机的视野内)。
[0097] 手势跟踪或识别也可以提供输入信息。可穿戴系统900可以被配置为跟踪和解释按钮按压的手势,用于向左或向右打手势、停止、抓取、保持等。例如,在一种配置中,用户可能想要在非游戏环境中翻阅电子邮件或日历,或与其他人或玩家“击拳”。可穿戴系统900可以被配置为利用最小量的手势,该手势可以是动态的,也可以不是动态的。例如,手势可以是简单的静态手势,如张开手表示停止,拇指向上表示好(ok),拇指向下表示不好;或者左右或上下翻转手来做出方向命令。
[0098] 眼睛跟踪是另一种输入(例如,跟踪用户正在看哪里以控制显示技术来在特定深度或范围进行呈现)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用为该特定人物开发的聚散度/调节模型,可以确定调节。
[0099] 关于相机系统,图9所示的示例性可穿戴系统900可包括三对相机:相对宽的FOV或被动SLAM相机对,其布置在用户面部的侧面,不同的相机对定位在用户前面以处理立体成像处理940且还捕获手势和在用户面部前面的图腾/对象跟踪。用于立体处理940的FOV相机和所述相机对可以是面向外的成像系统464(在图4中示出)的一部分。可穿戴系统900可以包括眼睛跟踪相机(其可以是图4中所示的面向内的成像系统462的一部分),眼睛跟踪相机朝向用户的眼睛取向,以便对眼睛向量和其它信息进行三角测量。可穿戴系统900可以还包括一个或多个纹理化光投影仪(例如红外(IR)投影仪)以将纹理注入到场景中。
[0100] 图10是用于确定可穿戴系统的用户输入的方法1000的示例的过程流程图。在该示例中,用户可以与图腾交互。用户可能有多个图腾。例如,用户可能已经指定了一个图腾用于社交媒体应用,另一图腾用于玩游戏,等等。在框1010处,可穿戴系统可以检测图腾的移动。图腾的移动可以通过面向外的系统识别,或者可以通过传感器(例如,触觉手套、图像传感器、手部跟踪设备、眼睛跟踪相机、头部姿势传感器等)来检测。
[0101] 在框1020处,至少部分地基于检测到的手势、眼睛姿势、头部姿势或通过图腾的输入,可穿戴系统检测图腾(或用户的眼睛或头部或手势)相对于参考系(reference frame)的位置、取向和/或移动。参考系可以是一组地图点,可穿戴系统基于该组地图点将图腾(或用户)的移动转换为动作或命令。在框1030处,映射(map)用户与图腾的交互。在框1040处,基于相对于参考系1020的用户交互的映射,系统确定用户输入。
[0102] 例如,用户可以前后移动图腾或物理对象以表示翻动虚拟页面并移动到下一页或者从一个用户界面(UI)显示屏移动到另一UI屏。作为另一示例,用户可移动他们的头部或眼睛以观看用户的FOR中的不同真实或虚拟对象。如果用户注视特定真实或虚拟对象的时间长于阈值时间,则可以选择该真实或虚拟对象作为用户输入。在一些实施方式中,可以跟踪用户眼睛的聚散度,并且可以使用调节/聚散度模型来确定用户眼睛的调节状态,其提供关于用户正在聚焦于的深度平面的信息。在一些实施方式中,可穿戴系统可以使用光线投射技术来确定哪些真实或虚拟对象沿着用户的头部姿势或眼睛姿势的方向。在各种实现方式中,光线投射技术可以包括将投射具有基本上很小的横向宽度的细铅笔光线或具有大横向宽度(例如,锥体或平截头体)的光线。
[0103] 用户界面可由本文所述的显示系统(例如图2中的显示器220)投射。它还可以使用各种其它技术显示,例如一个或多个投影仪。投影仪可以将图像投射到诸如画布或地球仪之类的物理对象上。可以使用系统外部的或作为系统一部分的一个或多个相机(例如,使用面向内的成像系统462或面向外的成像系统464)来跟踪与用户界面的交互。
[0104] 图11是用于与虚拟用户界面交互的方法1100的示例的过程流程图。方法1100可以由本文描述的可穿戴系统执行。
[0105] 在框1110处,可穿戴系统可识别特定UI。UI的类型可以由用户预先确定。可穿戴系统可以基于用户输入(例如,姿势、视觉数据、音频数据、传感数据、直接命令等)识别需要填充特定UI。在框1120处,可穿戴系统可以生成用于虚拟UI的数据。例如,可以生成与UI的界限(confine)、一般结构、形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的地图坐标,使得可穿戴系统可以显示与用户的物理位置有关的UI。例如,如果UI以身体为中心,则可穿戴系统可以确定用户的身体位置(physical stance)的坐标、头部姿势或眼睛姿势,使得可以在用户周围显示环形UI,或者可以在墙壁上或在用户前面显示平面UI。如果UI以手为中心,则可以确定用户的手的地图坐标。这些地图点可以借助通过FOV相机接收的数据、传感输入或任何其它类型的收集数据取得。
[0106] 在框1130处,可穿戴系统可以从云向显示器发送数据,或者数据可以从本地数据库发送到显示部件。在框1140处,基于发送的数据向用户显示UI。例如,光场显示器可以将虚拟UI投射到用户的一只或两只眼睛中。在框1150处,一旦创建了虚拟UI,可穿戴系统只需等待来自用户的命令以生成在虚拟UI上的更多虚拟内容。例如,UI可以是围绕用户身体的身体中心环。然后,可穿戴系统可以等待命令(姿势、头部或眼睛动作、来自用户输入设备的输入等),并且如果它被识别(框1160),可以向用户显示与该命令相关联的虚拟内容(框1170)。作为示例,可穿戴系统可以在混合多个流轨道之前等待用户的手势。
[0107] 可穿戴系统、UI和用户体验(UX)的其它示例在美国专利公开No.2015/0016777中描述,其全部内容通过引用并入本文中。
[0108] 眼睛跟踪校准的示例
[0109] 如本文所述,用户可以使用眼睛注视与可穿戴设备交互,该眼睛注视可以包括用户的眼睛指向的方向。眼睛注视(有时在本文中也称为眼睛姿势)可以从基准方向(通常是用户眼睛自然指向的前向方向)测量,并且通常以两个角度(例如,相对于基准方向的仰角和方位角)或三个角度(例如,仰角、方位角以及附加的滚动角(roll angle))测量。为了提供使用眼睛注视的与用户环境中的对象的真实且直观的交互,可穿戴系统可以使用眼睛跟踪校准来校准可穿戴设备,以结合用户眼睛特征的唯一性以及可能对眼睛测量产生一些影响的其他条件。
[0110] 眼睛跟踪校准涉及使能计算设备学习如何将用户的眼睛注视(例如,如在眼睛图像中标识的)与3D空间中的注视点相关联的过程。眼睛注视可以与3D空间中的单个点相关联。眼睛注视还可以与3D空间中的多个点相关联,这些点可以描述虚拟对象的运动(例如,描述上述参考图1描述的虚拟化身140或下面参考图12B描述的虚拟蝴蝶的运动的一系列点)。
[0111] 可穿戴系统可以基于眼睛图像来确定用户的眼睛注视。可穿戴系统可以使用面向内的成像系统462中的传感器(例如,眼睛相机)来获得眼睛图像。可穿戴系统可以在用户改变他或她的眼睛注视的同时(例如,当用户正在环顾四周以跟随移动的校准目标时)对用户的一只或两只眼睛成像。为了使用注视点映射用户的眼睛图像,可穿戴系统可以提供虚拟目标供用户观看。虚拟目标可以与3D空间中的一个或多个已知的注视点相关联。当用户看向目标时,可穿戴系统可以获取眼睛图像并将图像与注视点相关联。可穿戴系统可以基于眼睛图像和与目标相关联的注视点的关联来计算映射矩阵。映射矩阵可以提供用户的眼睛注视的测量与注视矢量(可以指示用户的注视方向)之间的关联。
[0112] 可以使用参考图7描述的各种机器学习技术来生成映射矩阵。例如,可穿戴系统的组件(例如远程处理模块270)可以接收眼睛图像和目标位置作为输入,并通过使用机器学习技术分析眼睛图像和注视点的关联来生成映射矩阵作为输出。可以使用的眼睛注视计算技术包括检测和定位图像特征(例如,虹膜特征或者瞳孔或边缘(limbic)边界的形状)的基于特征的技术或者不显式地识别特征而是计算出与获得的(多个)眼睛图像一致的最佳拟合眼睛模型的基于模型的方法。一些技术(例如,星爆(starburst))是混合方法,其包括基于特征和基于模型的眼睛注视技术的各个方面。
[0113] 一旦经过训练,可穿戴系统就可以应用映射矩阵来确定用户的注视方向。例如,可穿戴系统可以在用户与虚拟对象交互时观察眼睛注视,并将眼睛注视输入到映射矩阵中,以确定用户的注视点。注视点可用在光线投射中,以识别与用户注视方向相交的感兴趣对象。例如,可穿戴系统可以投射在用户的注视方向上的光线,以识别并选择被光线“击中”的虚拟对象。在一些情况下,光线可以是横向宽度可以忽略不计的线,而在其他情况下,光线可以是包括立体角并具有横向宽度的锥体。可穿戴系统可以相应地允许用户基于所确定的感兴趣对象来选择或执行其他用户界面操作。
[0114] 校准结果可以反映每个人眼睛的唯一性。例如,可穿戴系统可以生成针对特定个体的一只或两只眼睛定制的映射矩阵。例如,响应于特定目标,用户可能具有不同数量的眼睛运动或眼睛注视。结果,通过生成特定于单个用户的校准结果,可穿戴系统可以允许使用眼睛注视的更准确的用户交互。
[0115] 图12A示出了眼睛跟踪校准过程中的示例目标。图12A示出了用户的FOV 1200中的9个虚拟目标。用户的FOV 1200可以包括用户在给定时间处可以感知到的用户FOR的一部分。可以在不同深度渲染9个目标1202a-1202i。例如,目标1202e处于比目标1202a看起来更靠近用户的深度平面。结果,目标1202e对用户而言看起来大于目标1202a。可以在眼睛跟踪校准过程中顺序地将9个目标渲染给用户。例如,可穿戴系统可以首先渲染目标1202e,然后渲染目标1202c,然后再渲染目标1202b等等。如下面参考图12B进一步描述的,在一些实施例中,向用户显示单个目标,并且该目标在用户的视野周围移动(例如,在目标运动期间通过或暂时停在位置1202a-1202i)。当用户看向这些目标时,可穿戴系统可以获取用户眼睛的图像。例如,可穿戴系统可以在用户看向目标1202e时获取第一图像,而在用户看向目标
1202c时获取第二图像,以及当用户看向目标1202b时获取第三图像等等。可穿戴系统可以相应地将第一图像与目标1202e的位置匹配,将第二图像与目标1202c的位置匹配,将第三图像与目标1202b的位置匹配等等。尽管在图12A中示出了9个目标,但是这是为了说明,并且在其他实现方式中,可以使用更少或更多的目标(或目标位置),并且它们的位置可以与所示的不同。
[0116] 目标的位置可以由操纵空间中的位置表示。操纵空间可以包括参考可穿戴设备(例如,本文描述的HMD)固定的坐标系。坐标系可以表示为笛卡尔x-y-z坐标系。在该示例中,水平轴(x)由轴1204(也称为方位角)表示,垂直轴(y)由轴1208(也称为仰角)表示。与来自用户的深度相关联的轴(z)未在图12A中示出。
[0117] 如图所示,目标1202e在9个虚拟目标的中心。因此,目标1202e的x轴位置可以通过最左边的虚拟对象(例如,对象1202a、1202d、1202g)的x轴1204值与最右边的虚拟对象(例如,对象1202c、1202f、1202i)的x轴1204值之和的0.5倍来计算。类似地,目标1202e的y轴位置可以通过FOV顶部的虚拟对象(例如,对象1202a、1202b、1202c)的y轴1208值与FOV底部的虚拟对象(例如,对象1202g、1202h、1202i)的y轴1208值之和的0.5倍计算。
[0118] 可穿戴系统可以在显示器220的各种眼睛姿势区域中呈现目标。该目标可以被显示为图形(诸如真实的或动画的蝴蝶或大黄蜂或化身)。图形可以是出现在FOV中的位置的静态图像,也可以看上去在FOV内从位置移动到位置。
[0119] 可以在显示器220的各种眼睛姿势区域中显示目标,直到关于显示器220的一个或多个眼睛姿势区域获得具有足够眼睛图像质量的眼睛图像。例如,可以确定眼睛图像的质量并将其与图像质量阈值比较以确定眼睛图像具有可用于生物应用(例如,虹膜代码的生成)的图像质量。如果某个眼睛姿势区域中的眼睛图像未通过或不满足图像质量阈值,则显示器220可被配置为继续显示该特定区域中的一个或多个图形,直到获得具有足够眼睛图像质量的眼睛图像。在一个特定区域中显示的一个或多个图形在不同的实现方式中可以相同或不同。例如,该图形可以在该特定区域中的相同或不同位置处或者相同或不同取向上显示。
[0120] 可以使用故事模式或能够将佩戴者的一只或两只眼睛引导朝向或吸引朝向显示器220的不同区域的模式将图形显示在显示器220的各种眼睛姿势区域中。例如,在下面参照图12B描述的一个实施例中,虚拟化身(例如,蝴蝶)可以显示为在显示器220的各个区域上移动。在显示器220的各个区域中显示的图形的实例可以具有属性(例如,不同的深度、颜色或尺寸),该属性吸引或引导佩戴者的一只或两只眼睛朝向显示图形实例的一个或多个眼睛姿势区域。在一些实施例中,在显示器220的各个区域中显示的图形可以看起来具有变化的深度,使得佩戴者的一只或两只眼睛被吸引朝向其中显示图形实例的眼睛姿势区域。
[0121] 图12B示意性地示出了头戴式显示系统的显示器220上的示例场景1250。如图12B所示,显示器220可以显示具有运动的图形1205的场景1250。例如,如图所示,图形1205可以是向用户显示的在整个场景1250中飞行的蝴蝶。图形1205可以显示在背景图像或场景(图12B中未显示)之上或者显示作为背景图像或场景的一部分。在各种实施例中,图形可以是化身(例如,人、动物或诸如图1所示的蝴蝶或大黄蜂140的物品的拟人化)或者是可以被配置为在显示器220的特定眼睛姿势区域中显示的任何其他图像或动画。可以(例如,基于年龄、焦虑水平、成熟度、兴趣等)为用户定制图形1205。例如,为了避免引起儿童的焦虑,图形
1205可以是儿童友好的人物(例如蝴蝶或友好的大黄蜂140)。作为另一示例,对于作为汽车爱好者的用户,图形1205可以是诸如赛车的汽车。因此,在显示器220的各个区域中移动时,可以将图形1205显示为视频动画并看起来是视频动画显示给使用可穿戴显示系统200的佩戴者210。图形1205可以从初始位置1210a开始并沿着路径1215进行到最终位置1210b。例如,如图所示,图形1205可以以顺时针方式跨显示器(例如,沿着虚线)移动到显示器220的不同区域中。作为另一示例,图形1205可以看起来是在显示器220的不同区域上之字形运动或随机移动。一种可能的之字形图案可以是区域1220r1、1220r2、1220r4、1220r0、1220r3、
1220r5、1220r7和1220r8。
[0122] 仅用于说明,显示器220在图12B中被示出具有9个具有相同尺寸的区域1220r0-1220r8。在不同的实现方式中,显示器220的区域1220r0-1220r8的数量可以不同。当图形从区域到区域前进时,显示器的任何数量的区域都可以用来捕获眼睛图像,以将眼睛引导至相应的区域。例如,眼睛姿势区域的数量可以是2、3、4、5、6、9、12、18、24、36、49、64、128、
256、1000或更多。可以关于眼睛姿势区域中的一些或全部来捕获眼睛图像。在不同的实现方式中,显示器220的区域1220r0-1220r8的形状可以不同,例如矩形、正方形、圆形、三角形、椭圆形、菱形。在一些实施例中,显示器220的不同区域的尺寸可以是不同的。例如,更靠近显示器220的中心的区域可以小于或大于更远离显示器220的中心的区域。作为另一示例,眼睛姿势区域可以包括显示器220的一半、四分之一或任何分割。
[0123] 路径1215可以在期望获得高质量眼睛图像的眼睛姿势区域之中、之上或周围移动,并且路径1215可以避免其中眼睛图像是不期望的(例如,通常质量较差)或不需要的(例如,用于特定的生物应用)的眼镜姿势区域。例如,生物应用(例如,虹膜代码生成)可能倾向于使用用户的眼睛笔直地指向前方(例如,通过眼睛姿势区域1220r0)的眼睛图像。在这种情况下,图形1205可能倾向于主要在眼睛姿势区域1220r0内移动,而在眼睛姿势区域1220r1-1220r8中不移动(或不频繁移动)。与场景1250的外围区域相比,路径1215可能更集中在场景1250的中心。在其他生物应用(例如,眼睛的视网膜的诊断)中,可能期望获得图像,在该图像中,用户正朝着远离区域1220r0(例如,远离自然静止的眼睛姿势)的方向看的,从而获得视网膜的内侧或外侧区域(远离中央凹)的图像。在这样的应用中,与场景的中心(例如,区域1220r0)相比,图形1205可能倾向于围绕场景1250的外围(例如,区域1220r1-
1220r8)移动。路径1215可能更集中在场景的外围并且倾向于避开场景的中心(例如,类似于图12中所示的路径1215)。
[0124] 仅用于说明,显示器220的眼睛姿势区域1220r0-1220r8被描绘为由显示器220中的水平和垂直虚线隔开。为了便于描述,描绘了这样的眼睛姿势区域1220r0-1220r8,并且其可以表示佩戴者的眼睛应该指向的显示器220的区域,从而可以获得眼睛图像。在一些实现方式中,图12B中所示的水平虚线和垂直虚线对用户不可见。在一些实现方式中,图12B中所示的水平或虚线可以对用户是可见的,以将佩戴者的一只或多只眼睛引导朝向显示器220的特定区域。
[0125] 图12B中所示的路径1215是说明性的而不是限制性的。路径1215可以具有与图12B所示的不同的形状。例如,路径1215可以交叉、重新交叉或避免眼睛姿势区域1220r0-1220r1中的一个或多个,并且可以是直线的、多边形的或弯曲的等。运动图形1215的速度可以是基本恒定的或可以是可变的。例如,图形1205可以在某些眼睛姿势区域(例如,拍摄一个或多个眼睛图像的地方)减慢或停止,或者图形1205可以在其他眼睛姿势区域(例如,不需要或不期望眼睛图像的地方)加快或跳过。路径1215可以是连续的或不连续的(例如,图形1205可以跳过某些眼睛姿势区域之上或周围)。例如,参考图12B,如果图形1205位于眼睛姿势区域1220r4中的位置1210b,并且生物应用需要其中用户的眼睛被引导朝向眼睛姿势区域1220r8的眼睛图像,则显示系统可以显示图形1205,以使其连续移动到区域1220r8(例如,蝴蝶从区域1220r4开始穿过区域1220r0且进入区域1220r8而跨场景飞行),或者显示系统可以简单地停止在区域1220r4中显示图形1205,然后开始在区域1220r8中显示图形
1205r8(例如,蝴蝶看上去已从区域1220r4跳到1220r8)。
[0126] 眼睛姿势区域可以被认为是实数二维坐标空间 或正整数二维坐标空间的连通子集,其根据佩戴者的眼睛姿势指定眼睛姿势区域。例如,在一个实施例中,眼睛姿势区域可以在方位角偏转中在特定θmin与特定θmax之间(例如,图12A中的水平轴
1204)并且在仰角偏转中在特定φmin与特定φmax之间(例如,图12A中的垂直轴1208)。另外,眼睛姿势区域可以与特定区域分配相关联。这样的区域分配可能不会出现在显示器220上给佩戴者210,而是为了说明的目的在图12B中示出。可以以任何合适的方式分配区域。例如,如图12B所示,可以为中心区域分配区域1220r0。在所描绘的实施例中,区域的编号可以以大致水平顺序的方式进行,其中为中心区域分配区域1220r0,以为底部右边区域分配区域1220r8结束。这样的区域1220r0-1220r8可以被称为眼睛姿势区域。在其他实现方式中,可以与图12B中所示的区域不同地编号或引用区域。例如,可以为上部左边区域分配区域
1220r0,为底部右边区域分配区域1220r8。
[0127] 场景1250可以由可穿戴显示系统以VR显示模式呈现,其中佩戴者210看到图形1205,但看不到外部世界。替代地,可以以AR/VR/MR显示模式来呈现场景1250,其中佩戴者
210看到叠加在外部世界上的视觉图形1205。当在眼睛姿势区域中显示图形1205时,可以通过耦接到可穿戴显示系统200的图像捕获设备(例如,图4中的面向内的成像系统462)捕获眼睛图像。作为仅一个示例,可以在显示器220的眼睛姿势区域1220r0-1220r8中的一个或多个中捕获一个或多个眼睛图像。例如,如图所示,图形1205可以在初始位置1210a开始并且在显示器220的该上部左边眼睛姿势区域(例如,区域1220r1)内移动。在图形1205在该上部左边眼睛姿势区域中移动的情况下,佩戴者210可以将他们的眼睛指向显示器220的该区域。在图形1205在显示器220的上部左边眼睛姿势区域中时,由相机捕获的一个或多个眼睛图像可以包括当沿那个方向看时处于特定眼睛姿势的眼睛。
[0128] 在该示例中继续,图形1205可以沿着路径1215移动到上部中间眼睛姿势区域(例如,区域1220r2),其中可以捕获具有指向上部中间区域的眼睛姿势的眼睛图像。图形1205可以在显示器220的各个眼睛姿势区域1220r0-1220r8中沿着移动,而在该过程期间间断地或持续地捕获眼睛图像,直到图形1205到达区域1220r4中的最终位置1210b。可以关于区域中的每一个区域捕获一个或多个眼睛图像,或者可以在比图形1205移动通过的全部区域少的区域中捕获眼睛图像。因此,捕获的眼睛图像可包括处于一种或多种不同的眼睛姿势的眼睛的至少一个图像。眼睛姿势可以表示为两个角度的表达,如将在下面进一步描述的。
[0129] 图形1205也可以保留在显示器220的眼睛姿势区域中,直到获得或捕获了特定图像质量的图像。如本文所述,各种图像质量度量可用于确定某个眼睛图像是否超过图像质量阈值(Q)。例如,图像质量阈值可以是与用于生成虹膜代码的图像度量水平对应的阈值。因此,如果在图形1205处于显示器220的某个眼睛姿势区域中时捕获的眼睛图像超过图像质量阈值,则图形1205可以保留在该眼睛姿势区域中(或返回到该眼睛姿势区域),直到获得的图像满足或通过图像质量阈值。还可以为显示器的特定眼睛姿势区域限定图像质量阈值。例如,特定生物应用可能需要使显示器220的某些区域变暗。因此,这些区域的图像质量阈值可能高于尚未变暗的区域的图像质量阈值。在此图像收集过程中,图形1205可以以故事模式或动画继续,该故事模式或动画继续将佩戴者的眼睛引导朝向该区域。
[0130] 眼睛图像收集例程也可以用于校正虹膜代码中的脆弱位(fragile bit)。脆弱位是指虹膜代码的在眼睛图像之间不一致的位(例如,大致存在以下可能性,即,对于相同虹膜的一些眼睛图像,该位为零,而对于相同虹膜的其他图像,该位为一)。更具体地,脆弱位可以是眼睛图像的虹膜代码中的弱限定的位,这可以表示测量中的经验上的不可靠性。可以例如利用关于贝努利(Bernoulli)分布的参数的不确定性的贝叶斯模型来量化脆弱位。脆弱位也可以被识别作为例如那些代表通常被眼睑覆盖或被睫毛遮挡的区域的位。眼睛图像收集例程可以利用图形1205来主动地将眼睛引导到不同的眼睛姿势,从而减少脆弱位对所得虹膜代码的影响。作为仅一个示例,图形1205可以将眼睛引导至未被眼睑或睫毛遮挡的眼睛姿势区域。附加地或替代地,可以将掩蔽应用于眼睛图像以减少脆弱位的影响。例如,可以应用掩蔽,使得关于虹膜生成可以忽略被识别为产生脆弱位的眼睛区域(例如,更容易发生遮挡的虹膜的上部或下部)。作为又一个示例,图形1205可以返回到眼睛姿势区域,该眼睛姿势区域更可能生成脆弱位以获得来自那些区域的眼睛图像,从而减少脆弱位对所得虹膜代码的影响。
[0131] 图形1205也可以保留在(或返回到)显示器220的眼睛姿势区域,直到关于特定的眼睛姿势区域捕获或获得多个图像。也就是,代替“即时”或实时地将每个眼睛图像的图像质量度量与图像质量阈值比较,从每个眼睛姿势区域获得一定数量的眼睛图像。然后,可以处理关于该眼睛姿势区域获得的眼睛图像中的每一个,以获得图像质量度量,该图像质量度量进而与相应的图像质量阈值比较。可以看出,依赖于应用需求或要求,可以并行或顺序地执行眼睛图像收集过程的眼睛姿势区域。
[0132] 在该眼睛图像收集例程期间,可以以多种模式在显示器220的一个或多个眼睛姿势区域中显示图形。例如,可以以随机模式、飞行模式、闪烁(blinking)模式、波动模式或故事模式在显示器的特定眼睛姿势区域(或跨两个或更多个眼睛姿势区域)中显示图形。故事模式可以包含图形可能参与的各种动画。作为故事模式的仅一个示例,蝴蝶可以从茧中冒出来并在显示器220的特定区域周围飞行。随着蝴蝶在周围飞行,花朵可以出现使得蝴蝶可能取回花蜜。可以看出,蝴蝶的故事可以在显示器220的特定区域中显示或跨显示器220的两个或更多个区域显示。
[0133] 在波动模式中,当蝴蝶在显示器220的特定区域中飞行时,蝴蝶的翅膀可以看上去是尺寸波动的。在随机模式中,图形1205在特定区域内的精确位置可以被随机化。例如,图形1205可以简单地出现在上部左边区域的不同位置。作为另一示例,图形1205可以从初始位置1210a开始以部分随机的方式在上部左边眼睛姿势区域内移动。在闪烁模式中,蝴蝶或蝴蝶的一部分在显示器220的特定区域内或跨两个或更多个区域可能看起来是闪烁的。在显示器220的各种眼睛姿势区域中,各种模式都是可能的。例如,在故事模式下,图形1205可以出现在初始位置1210a且在上部左边区域中;而图形1205可能会使用闪烁模式出现在最终位置1210b且在中部左边区域中。
[0134] 还可以以各种模式在显示器220的整个眼睛姿势区域1220r0-1220r8中显示图形。例如,图形可以随机或顺序方式(分别称为随机模式或顺序模式)出现。如本文所述,图形
1205可以以顺序方式穿过显示器220的各个区域移动。在该示例中继续,图形220可以使用中间动画沿着路径1215在显示器220的眼睛姿势区域之间移动。作为另一示例,图形1205可以出现在显示器220的不同区域中,而没有中间动画。作为又一示例,第一图形(例如,蝴蝶)可以出现在第一眼睛姿势区域中,而另一图形(例如,大黄蜂)可以出现在第二眼睛姿势区域中。
[0135] 不同的图形可能从一个区域到下一个区域依次出现。或者,在另一个实施例中,可以以故事模式使用各种图形,因为不同的图形出现在不同的眼睛姿势区域中以讲述故事。例如,茧可能出现在一个眼睛姿势区域中,然后蝴蝶出现在另一个眼睛姿势区域中。在各种实现方式中,由于在每个眼睛姿势区域中出现不同图形的情况下,眼睛图像收集过程可以将眼睛从一个眼睛姿势区域引导至另一个眼睛姿势区域,因此不同的图形也可能出现随机分布在整个眼睛姿势区域中。
[0136] 眼睛图像也可以以随机方式获得。因此,图形1205也可以以随机方式显示在显示器220的各个眼睛姿势区域中。例如,在图12B中,图形1205可以出现在上部中间区域中,并且一旦获得关于该区域的眼睛图像,图形1205其后可以出现在显示器220中的下部右边眼睛姿势区域(例如,分配的区域1220r8)中。作为另一示例,可以以看起来随机的方式显示图形1205,从而在每个眼睛姿势区域上显示图形1205至少一次,而在各个区域上不重复,直到图形1205已经在其他区域中显示。可能会发生这种伪随机显示方式,直到为图像质量阈值或其他应用获得足够数量的眼睛图像。因此,可以以随机的方式而不是顺序的方式获得佩戴者一只或两只眼睛的各种眼部姿势。
[0137] 在一些情况下,如果在阈值尝试次数之后无法关于某个眼睛姿势区域获得眼睛图像(例如,为眼睛姿势区域捕获的三个眼睛图像未通过图像质量阈值),则眼睛图像采集例程可以跳过或持续一段时间暂停在该眼睛姿势区域上的采集,同时首先从一个或多个其他眼睛姿势区域获得眼睛图像。在一个实施例中,如果在阈值尝试次数之后不能获得眼睛图像,则眼睛图像收集例程可以不获得关于特定眼睛姿势区域的眼睛图像。
[0138] 可以相对于自然的静止姿势(例如,其中用户的脸部和注视都朝着用户正前方的远处对象而定向的姿势)来描述眼睛姿势。眼睛的自然静止姿势可以由自然静止位置指示,该自然静止位置是处于自然静止姿势时与眼睛表面正交的方向(例如,直接位于眼睛的平面之外)。当眼睛移动以朝着不同的对象看时,眼睛的姿势会相对于自然静止位置而变化。因此,可以参考眼睛姿势方向来测量当前的眼睛姿势,该眼睛姿势方向是与眼睛的表面正交(并且在瞳孔中居中)但朝向当前眼睛被引导至的对象而定向的方向。
[0139] 参考示例坐标系,眼睛的姿势可以表示为两个角度参数,其指示眼睛的眼睛姿势方向的方位角偏转和天顶(zenithal)偏转,这两个角度参数均相对于眼睛的自然静止位置。这些角度参数可以表示为θ(方位角偏转,从基准方位角测量)和φ(仰角偏转,有时也称为极偏转)。在一些实现方式中,围绕眼睛姿势方向的眼睛的角向滚动可以被包括在眼睛姿势的测量中,并且角向滚动可以被包括在以下分析中。在其他实现方式中,可以使用用于测量眼睛姿势的其他技术,例如,俯仰、偏航和可选地滚动系统。使用用于眼睛姿势的此类表示,可以将表示为方位角偏转和天顶偏转的眼睛姿势与特定的眼睛姿势区域相关联。因此,可以从在眼睛图像收集过程期间获得的每个眼睛图像来确定眼睛姿势。眼睛图像的眼睛姿势、眼睛区域之间的这种关联可以存储在数据模块260、280中或者对于处理模块260、270是可访问的(例如,经由云存储可访问的)。
[0140] 还可以选择性地获得眼睛图像。例如,特定佩戴者的某些眼睛图像可能已经被处理模块260、270存储或是其可访问的。作为另一示例,特定佩戴者的某些眼睛图像可能已经与某些眼睛姿势区域相关联。在这样的情况下,图形1205可以出现在仅一个眼睛姿势区域或特定眼睛姿势区域中,其不具有与该眼睛姿势区域或特定眼睛姿势区域相关联的眼睛图像。示例性地,可能已经关于眼睛区域编号1、3、6和8获得了眼睛图像,但是没有获得关于其他眼睛姿势区域2、4、5和7的眼睛图像。因此,图形1205可能出现在后面的姿势区域中2、4、5和7中,直到获得关于通过图像质量度量阈值的每个相应眼睛姿势区域的眼睛图像。
[0141] 在2017年1月17日提交的名称为“Eye Image Collection(眼睛图像收集)”的美国申请No.15/408277中进一步描述了用于注视的眼睛图像收集和分析的详细示例,该申请的公开内容通过引用整体并入本文。
[0142] 验证眼睛注视的示例
[0143] 尽管在参考图12A和12B描述的眼睛跟踪校准过程期间可穿戴系统可以获取眼睛图像,但是眼睛跟踪校准过程中的一个挑战是用户可能无法按预期看向目标。例如,当可穿戴系统在操纵空间中渲染目标(例如,虚拟蝴蝶1205或目标1202a-i中的一个)时,用户可能看向另一个方向而不是图形。例如,在一项基于实验室的实验中,即使在实验室测试条件下,也有百分之十的用户没有在校准过程中看向目标中的一些。当用户独自在家中或办公室环境中时,用户对校准协议的依从性可能会大大降低。结果,可穿戴系统可能无法从校准中获得准确的眼睛跟踪结果,因此,可能会影响用户使用可穿戴系统的视觉体验。
[0144] 为了缓解这个挑战并改善为眼睛注视而获取的数据的质量,可穿戴系统可以在调整用于校准的映射矩阵之前验证用户的眼睛注视。在眼睛注视验证期间,可穿戴系统可以使用头部姿势(例如,头部位置或旋转信息)来验证用户确实看向目标。图12C示出了使用用户的头部姿势来验证用户是否看向目标的示例。图12C示出了三个场景1260a、1260b和1260c。在这三个场景中,用户可以经由显示器220感知到标线1284和目标1282。标线1284表示操纵空间中的虚拟对象,而目标1282表示位于用户环境中给定位置处的虚拟或物理对象。目标1282的位置可以由与世界坐标系相关联的世界空间中的位置表示。世界坐标系可能是相对于用户的3D空间而不是相对于用户的HMD。结果,世界坐标系中的对象可能不一定与操纵空间中的对象对准。
[0145] 在眼睛注视验证过程中,用户需要将标线1284与目标1282对准,并且可穿戴系统可以指示用户将标线1284“瞄准”目标1282。当标线1284在操纵空间中移动时,用户需要移动头部和眼球,才能使标线1284与目标再次对准。可穿戴系统可以检查标线1284是否与目标1282对准(例如,通过将测量的用户头部姿势或眼睛注视与目标的已知位置比较),并向用户提供反馈(例如,指示标线1284是否与目标1282对准或未对准)。有利地,在一些实施例中,当存在标线1284与目标1282之间的足够的对准时,可穿戴系统可以被配置为仅收集用于眼睛跟踪校准的眼睛图像。例如,当目标和标线的位置之间的偏移小于阈值量(例如,小于角度阈值,例如小于10°、小于5°、小于1°等)时,可穿戴系统可以确定存在足够的对准。
[0146] 参考图12C,在场景1260a中,头部1272最初位于位置1276a,眼睛1274沿方向1278a注视。用户可以经由显示系统220感知到标线1284位于位置1286a。如场景1260a所示,标线1284与目标1282对准。
[0147] 在校准过程中,可穿戴系统可以在用户的FOV中的不同位置渲染标线1284。在场景1260b中,标线1284移动到位置1286b。作为该移动的结果,标线1284不再与目标1282对准。
[0148] 用户可能需要旋转他或她的眼球和/或移动他或她的头部1272以使标线1284与目标1282重新对准。如场景1260c所示,用户的头部倾斜到位置1276c。在场景1260c中,可穿戴系统可以分析用户的头部姿势和眼睛注视,并确定与方向1278a相比,用户的注视方向现在处于方向1278c。由于用户的头部运动,如场景1260c所示,标线1284移动到位置1286c并与目标1282对准。
[0149] 在图12C中,标线1284的位置可以与操纵空间中的位置相关联。目标1282的位置可以与世界空间中的位置相关联。结果,即使在场景1260b和1260c中用户的头部姿势已经改变,标线1284和显示器220之间的相对位置也不会改变。可穿戴系统可以使标线和目标对准,并且可以使操纵空间中的标线的位置与世界空间中的标线的位置对准。
[0150] 有利地,在一些实施例中,可穿戴系统可以利用用户的前庭眼反射以减少由校准过程引起的不适和眼睛疲劳。可穿戴系统可以基于头部姿势自动跟踪并推断眼睛注视。例如,当用户的头部向右移动时,可穿戴系统可以跟踪并推断出在前庭眼反射下眼睛自然向左移动。
[0151] 图13A示出了验证眼睛注视的示例,其中标线位于用户的FOV 1350的中心。在图13A中,示出了三个时间顺序场景1310、1312和1314。在该示例中,用户可以感知到眼睛校准目标1354和标线1352。目标1354(例如,菱形图形)被显示为固定在用户环境的三维空间中并且远离目标虚拟标线(例如,用户的FOV中的偏心)。标线1352(例如,箍或环状图形)被显示为固定在用户的FOV 1350的中心处或附近。例如,在FOV的中心处或附近可以包括小于
10°、小于5°、小于1°等的角度偏移。
[0152] 在场景1310中,标线1352未与目标1354对准,其中标线1352略低于目标1354。如参考图12C所示,用户可以来回移动他或她的头部以将标线1352与目标1354对准。可穿戴系统可以使用参考图2描述的IMU来检测用户的头部移动。在某些实施例中,可以基于从其他来源(例如从HMD外部的传感器(例如,用户房间中的相机))或从面向外的成像系统464观察到的用户头部的反射图像)获取的数据来确定头部姿势。如场景1312所示,用户可以向上移动他或她的头部,以尝试将标线1352与目标1354对准。一旦标线到达场景1314所示的位置,可穿戴系统可确定标线1352与眼睛校准目标1354充分对准,并由此用户的头部正确地定位以观看眼睛校准目标。
[0153] 可穿戴系统可以使用多种技术来计算标线和眼睛校准目标之间的对准。作为一个示例,可穿戴系统可以确定标线和眼睛校准目标之间的相对位置。如果眼睛校准目标位于标线内,或者眼睛校准目标的一部分与标线重叠,则可穿戴系统可以确定标线已与眼睛校准目标对准。如果标线和目标的中心足够重合,则可穿戴系统还可确定标线和目标对准。在某些实施例中,因为标线位于操纵空间中而目标位于世界空间中,所以可穿戴系统可以被配置为将与操纵空间相关联的坐标系和与世界空间相关联的坐标系对准,以确定是否标线与目标对准。可穿戴系统可通过确定标线和目标之间的相对偏移小于阈值(例如,如上所述的角度阈值)来确定标线和目标是否重叠或重合。在一些示例中,该阈值可以对应于与用户头部姿势相关联的一个或多个阈值,如下面参考图14A和14B更详细描述的。
[0154] 可穿戴系统还可以识别目标头部姿势,该目标头部姿势表示在标线和眼睛校准目标之间发生对准的头部姿势。可穿戴系统可以将用户当前的头部姿势与目标头部姿势比较,以验证用户确实看向目标。目标头部姿势可特定于标线在3D空间中的位置或目标的位置。在一些实施例中,可以基于与用户或其他人(例如,可穿戴系统的前一用户、与一个或多个服务器网络通信的其他类似可穿戴系统或可穿戴系统与之通信的计算设备等的用户)相关联的数据来估计目标头部姿势。
[0155] 在某些实施例中,可穿戴系统可以使用光线投射或锥体投射技术来确定目标与标线之间的对准。例如,可穿戴系统可以投射光线或锥体(包括横向于光线的体积),并通过检测光线/锥体与目标之间的碰撞来确定对准。如果光线/锥体的一部分与目标相交,或者当目标落在锥体的体积内时,可穿戴系统可以检测到碰撞。光线/锥体的方向可基于用户的头部或眼睛注视。例如,可穿戴系统可以从用户眼睛之间的位置投射光线。标线可以反射光线/锥体的一部分。例如,标线的形状可以与锥体的远端(例如,锥体的远离用户的端部)上的形状匹配。在锥体是几何锥体的情况下,标线可具有圆形或椭圆形的形状(其可以表示锥体的一部分,例如锥体的横截面)。在某些实现方式中,由于标线是在操纵空间中渲染的,因此当用户到处移动时,即使光线与用户的HMD之间的相对位置不变,可穿戴系统也可以更新光线/锥体的方向。
[0156] 一旦可穿戴系统确定用户看向目标(例如,由于标线与目标对准),则可穿戴系统可使用例如面向内的成像系统462开始收集眼睛注视数据,以用于校准的目的。在一些示例中,可穿戴系统可以最初将一个或多个眼睛跟踪传感器或处理模块(例如,本地处理数据模块)的输出存储到常规冲洗的临时数据存储(例如,高速缓存存储器)中。响应于确定用户确实看向目标,可穿戴系统可以继续将输出数据从临时数据存储传输到另一个数据存储,例如磁盘或另一存储位置,以用于进一步分析或长期存储。
[0157] 在收集了眼睛注视数据之后,系统可以结束眼睛跟踪校准过程,或者可以继续以渲染另一眼睛校准目标或标线,使得可以收集附加的眼睛注视数据。例如,在如图13A所示的场景1314中可穿戴系统已经收集了眼睛数据之后,可穿戴系统可以在如图13B中的场景1320所示的用户的FOV 1350内的不同位置呈现标线1352。在一些实施例中,可穿戴系统可以对照一组标准来评估收集的每个帧,以便确定每个帧是否表示适合在眼睛跟踪校准过程中使用的数据。对于给定的帧,这样的评估可以例如包括确定在收集帧时用户是否眨眼、确定在收集帧时目标和标线是否彼此充分对准、确定在收集帧时是否成功检测到用户的眼睛等。在这些实施例中,可穿戴系统可以确定是否已收集满足该组标准的阈值数量的帧(例如,120帧),并且响应于确定已满足阈值数量的帧,可穿戴系统可以结束眼睛跟踪校准过程。响应于确定尚未满足阈值数量的帧,可穿戴系统可继续渲染另一个眼睛校准目标或标线。
[0158] 图13B示出了验证眼睛注视的示例,其中标线在用户的FOV 1350中的偏心位置处被渲染。图13B中的虚拟标线的位置与图13A中的虚拟标线的位置不同。例如,在图13A中,虚拟标线的位置在用户的FOV的中心处或附近,而在图13B中,虚拟标线的位置偏心于用户FOV的中心。同样地,图13A中的目标的位置(例如,朝向FOV的顶部)与图13B中的目标的位置(例如,在FOV中心处或附近)不同。在图13B中,示出了三个时间顺序场景1320、1322和1324。在该示例中,标线1352被渲染在用户的FOV 1350的右侧,目标1354被渲染在用户的FOV 1350的中心附近。可以看出,从场景1314到场景1320,已更新了在用户的FOV 1350中标线1352被渲染的位置,但是在环境中目标1354被渲染的位置却基本保持相同。为了使标线1352与目标1354对准,用户可以向左旋转他或她的头部,以使标线与眼睛校准目标对准(参见示例场景1322和1324)。一旦可穿戴系统已经确定目标1354位于标线1352内,则可穿戴系统可以以类似于上面参考图13A描述的示例的方式开始收集眼睛注视数据。如果用户的眼睛注视移动(例如,使得目标和标线不再充分对准),则可穿戴系统可能会停止收集眼睛注视数据,因为用户不再看向目标,并且任何获取的数据都将具有更低质量。
[0159] 在某些实施例中,可穿戴系统可以计算标线1352与目标1354对准的目标头部姿势。可穿戴系统可以在用户移动时跟踪用户的头部姿势。一旦可穿戴系统确定用户已采取目标头部姿势(例如,场景1314或1324中所示的头部姿势),则可穿戴系统可以确定目标1354和标线1352对准并且可穿戴系统可以收集头部处于目标头部姿势时的眼睛图像。
[0160] 使用眼睛注视验证的眼睛跟踪校准的示例过程
[0161] 图14A示出了使用眼睛注视验证的眼睛跟踪校准过程的示例流程图。示例性过程1400可以由可穿戴系统200的一个或多个组件(例如,远程处理模块270或本地处理和数据模块260)单独或组合地执行。可穿戴系统200的显示器220可以向用户呈现目标或标线,面向内的成像系统462可以获取用于眼睛注视确定的眼睛图像,以及IMU、加速度计或陀螺仪可以确定头部姿势。
[0162] 在框1410处,可穿戴系统可以渲染用户环境中的眼睛校准目标。眼睛校准目标可以在世界空间中渲染,该世界空间可以由相对于环境的坐标系表示。眼睛校准目标可以以各种图形形式表示,其可以包括1D、2D和3D图像。眼睛校准目标还可以包括静止或移动图像(例如,动画),参考图13A,眼睛校准目标由菱形示意性地表示。
[0163] 在框1420处,可穿戴系统可以识别与正被渲染的眼睛校准目标相关联的头部姿势范围。头部姿势范围可以包括多个头部姿势(例如,2、3、4、5、10或更多个)。头部姿势可以描述用户头部的位置和取向。位置可以由平移坐标值(例如,图6所示的x-y-z坐标系中的坐标值)表示。取向可以由相对于头部的自然静止状态的角度值表示。例如,角度值可以表示头部向前和向后倾斜(例如,俯仰)、向左和向右转动(例如,偏航)以及左右倾斜(例如,滚动)。可穿戴系统可以识别头部位置的范围和头部取向的范围,它们一起可以指定一定范围的头部姿势,对于这些头部姿势,标线和目标被认为是彼此充分对准的。这样的范围的界限可以被视为对应于阈值。落入该范围内的头部姿势可以对应于目标头部姿势,以便在标线出现在用户FOV的不同区域中时使用户将目标和标线对准。参考图13A和13B,头部姿势的范围可以包括头部姿势1314和1324,并且可穿戴系统可以确定分别与头部姿势1314和1324对应的头部位置和取向落入所识别的头部位置范围和头部取向范围内,并由此满足足够的标线-目标对准的一个或多个阈值或其他要求。
[0164] 可穿戴系统可以使用HMD内部的例如IMU或面向外的成像系统(例如,以跟踪用户头部的反射图像)的传感器或HMD外部的(例如,安装在用户房间墙壁上的相机)的传感器来跟踪头部姿势。在框1430处,可穿戴系统可以接收指示用户当前头部姿势的数据。数据可以包括在3D空间中的用户头部的当前位置和取向或用户头部的移动。例如,在图13A中,当用户将头部从场景1310中所示的位置移动到场景1314中所示的位置时,可穿戴系统可以跟踪和记录用户的头部移动。
[0165] 在框1440处,可穿戴系统可以基于从框1430获取的数据来确定用户是否已采取落入所标识的头部姿势范围内的头部姿势。可穿戴系统可以确定用户的头部姿势是否处于可以使标线与目标对准的位置或取向。作为示例,可穿戴系统可以确定与用户的头部姿势相关联的头部位置和头部取向两者是否都落入所识别的头部位置范围和所识别的头部取向范围内。可穿戴系统可以通过将与用户的头部姿势相关联的头部位置与限定所识别的头部位置范围的界限的阈值(例如,平移坐标值)进行比较,并通过将与用户的头部姿势相关联的头部取向与限定所识别的头部取向范围的界限的阈值(例如,角度值)进行比较来做出这样的确定。参考图13A,可穿戴系统可以确定用户是否已采取1314中所示的头部姿势。如果用户未采取落入所识别的头部姿势范围内的头部姿势,并且由此用户未采取其中标线和目标被视为彼此充分对准的头部姿势,则可穿戴系统可以如框1430所示继续获取和分析与用户的头部姿势相关联的数据。
[0166] 可选地,在1450处,可穿戴系统可以向用户提供反馈(例如,视觉的、听觉的、触觉的等),以指示用户的头部已正确地定位。例如,视觉反馈可以包括目标或标线的颜色变化或闪烁效果,其可以指示用户的头部被正确地定位,从而通过使标线和/或眼睛校准目标闪烁或改变颜色而使标线与目标对准。在一些实施例中,框1410-1450是眼睛注视验证过程的一部分。
[0167] 如果确定用户的头部处于所识别的头部姿势中的一种头部姿势,则在框1460中,可穿戴系统可以接收并存储数据,该数据指示与眼睛校准目标相关联的用户的眼睛注视。在图13A的情况下,当可穿戴系统检测到用户头部姿势处于场景1314中所示的位置和取向时,可穿戴系统可以接收并存储来自一个或多个眼睛跟踪传感器(例如,面向内的成像系统
462中的眼睛相机)的数据。
[0168] 在框1470处,可穿戴系统可以确定在眼睛跟踪校准期间是否应该收集附加数据。例如,可穿戴系统可以确定是否应该收集另一眼睛注视方向上的眼睛图像以更新或完成校准过程。如果确定应该收集附加的眼睛校准数据,则可穿戴系统可以返回到框1410以重复过程1400。参照图13A和图13B,例如,在当用户210处于场景1314中所示的位置时可穿戴系统已经收集了眼睛图像之后,可穿戴系统可以渲染如场景1352中所示的目标1354。
[0169] 在某些实施例中,即使用户确实注视目标,由可穿戴系统获取的图像也可以被认为是不令人满意的(例如,因为用户眨眼)。结果,该过程可以返回到框1460以拍摄附加图像。
[0170] 如果确定不需要收集附加的眼睛校准数据,则在框1480处,可穿戴系统可以结束过程1400,并使用所存储的眼睛注视数据用于眼睛跟踪校准。例如,所存储的数据可以用于生成上述映射矩阵。
[0171] 图14B示出了示例眼睛注视验证过程。示例过程1490可以由可穿戴系统的一个或多个组件(例如,远程处理模块270和本地处理和数据模块260)单独或组合地执行。可穿戴系统可以包括HMD。可穿戴系统200的显示器220可以向用户呈现目标或标线,面向内的成像系统462可以获取用于眼睛注视确定的眼睛图像,并且IMU、加速计或陀螺仪可以确定头部姿势。
[0172] 在框1492a处,可穿戴系统可以确定与用户环境相关联的世界空间中的目标。该目标可固定在世界空间中的给定位置。目标可以是由显示器220渲染的虚拟对象或者是用户环境中的物理对象(例如,花瓶、架子、锅、书、画等)。虚拟目标可以具有如参考图12A、12B和18照描述的各种外观。世界空间可以包括图9中示出的世界地图920。目标在世界空间中的位置可以由3D世界坐标系中的位置表示。
[0173] 在框1492b处,可穿戴系统确定与用户的HMD相关联的操纵空间中的标线。标线可以由HMD在用户FOV中的预定位置渲染。操纵空间可以与跟世界坐标系分开的坐标系相关联。
[0174] 在框1494处,可穿戴系统可以跟踪用户的头部姿势。可穿戴系统可以基于用户HMD中的IMU或面向外的成像系统跟踪头部姿势。可穿戴系统还可以使用其他设备来跟踪头部姿势,例如用户房间中的网络相机或图腾(可以将其配置为对用户环境成像)。当用户的头部姿势变化时,标线和目标之间的相对位置也会变化。
[0175] 在框1496处,可穿戴系统可以基于头部姿势来更新标线和目标之间的相对位置。例如,在目标位于标线的右侧并且用户向右转动他或她的头部的情况下,标线可能看起来变得更靠近目标。然而,如果用户向左转动他或她的头部,则标线可能会看起来更远离目标。
[0176] 在框1498a处,可穿戴系统可以确定目标和标线是否对准。可以使用光线/锥体投射来执行对准。例如,可穿戴系统可以从标线投射光线,并确定目标是否与光线相交。如果目标与光线相交,则可穿戴系统可以确定目标和标线对准。可穿戴系统还可以基于用户的头部姿势确定操纵空间中的位置与世界空间中的位置之间的偏移。可穿戴系统可以通过将偏移应用于标线(或目标),来将目标在世界空间中的位置与标线在操纵空间中的位置对准,并确定标线的位置与目标的位置一致。在一些情况下,偏移可用于将标线的位置从操纵空间转换为世界空间中的对应位置。标线和目标之间的对准可以基于标线和目标相对于世界空间的坐标值来确定。
[0177] 如果目标和标线未对准,则可穿戴系统可在框1494处继续跟踪头部姿势。如果目标和标线对准,则可穿戴系统可确定用户确实看向目标,并且在框1498b处,可穿戴系统可以提供用户的眼睛注视方向被验证的指示。该指示可以包括音频、视觉或触觉(tactical)效果。
[0178] 在一些实施例中,可穿戴系统可以呈现一系列标线(例如,每个标线位于图12B所示的不同的眼睛注视区域中)用于眼睛跟踪校准。结果,在框1498b之后,可穿戴系统可以可选地在框1492a处重新开始,并且将标线呈现在操纵空间中的新位置处。用户可以通过改变用户的头部姿势,来尝试将位于新位置处的标线与目标再次对准。
[0179] 动态可调整的标线的示例
[0180] 标线可以具有多种外观,例如,颜色、形状、尺寸、图形等。标线的外观依赖于眼睛跟踪校准过程中涉及的参数。标线的外观可以基于上下文信息被动态地调整。上下文信息可以包括目标的特征(例如,目标的尺寸或位置)、与用户相关联的信息(例如,用户的位置)或眼睛跟踪校准过程所需的对准精度。例如,如果目标大,则可穿戴系统可以使用较大的标线,而如果目标小,则可使用较小的标线。在一些实施例中,如果目标被相对地定位在用户附近,则可穿戴系统可以使用相对大的标线,以及如果目标被相对地定位远离用户,则可穿戴系统可以使用相对小的标线。
[0181] 在一些示例中,由于通过如上面参考图14A所述的执行框1420的操作而由可穿戴系统识别的头部姿势的范围的大小,标线的尺寸是被提供信息的(informative)。例如,当标线的尺寸小时,头部姿势的范围可能相对大,因为用户可能更难以精确地定位他或她的头部以将标线与目标对准。另一方面,当标线的尺寸大时,头部姿势的范围可能相对小,以减小对准中的错误率。
[0182] 尽管通常更容易将较大的标线与目标对准,但是与较小的标线相比,较大的标线可能会导致可靠性或准确度较低的校准数据。结果,如果在眼睛跟踪校准中使用的数据需要高精度,则可穿戴系统可以渲染较小的标线,而如果在眼睛跟踪校准中使用的数据要求低精度,则可以渲染较大的标线。在一些实现方式中,系统以较大的标线开始以获取第一校准数据组,然后使用较小的标线来获取第二校准数据组,依此类推,直到已经收集到足够的数据以生成用于用户或特定用户应用的具有足够的可靠性和准确度的眼睛跟踪校准为止。因此,可穿戴系统可以在眼睛校准过程期间动态地调整标线的尺寸(或校准过程中的其他方面)。
[0183] 图15A和图15B示出了基于目标与标线之间的距离来动态地调整标线的尺寸的示例。在图15A和图15B中,用户可以经由显示器220感知场景1500a中的诸如门1510的真实世界对象以及诸如目标1530和标线1520的虚拟对象。目标1530可以固定在用户的3D空间中的位置。用户可以朝向门1510移动并感知图15B所示的场景1500b。在场景1500b中,目标1530位于3D空间中的相同位置,但是因为目标1530在场景1500b中比在场景1500a中更靠近用户,所以目标1530在场景1500b中看起来更大。
[0184] 可穿戴系统可以基于用户与目标1530之间的相对位置来动态地调整标线1520的尺寸。例如,在场景1500a中的标线1520的尺寸看起来小于在场景1500b中的标线1520的尺寸,因为目标距离用户更远(且因此看起来更小)。类似地,在场景1500b中的标线1520的尺寸看起来大于在场景1500a中的标线1520的尺寸,因为目标离用户更近(且因此看起来更大)。有利地,在一些实施例中,通过基于用户与目标1530之间的距离动态地调整标线1520的尺寸,可穿戴系统可以调整对准的准确度。例如,通过在场景1500a中将标线1520呈现为相对小的尺寸,目标1530将落在标线1520内的可能性也将相对低(与场景1500b中目标15030将落在标线1520内的可能性相比),这从而要求用户更精确地定位头部/眼睛注视。
[0185] 除了标线的尺寸之外或作为标线的尺寸的替代,标线的其他特征也可以基于上下文信息来调整。例如,如下面参考图16A和16B更详细描述的,标线的形状可以与目标的形状类似。作为另一示例,标线的外观可以是几何椎体,该几何椎体指示可穿戴系统使用椎体投射技术来确定对准。作为又一示例,标线的颜色可以与目标的颜色不同,使得用户可以将标线与目标区分开,这可以辅助用户对准标线和目标。尽管在图15A和15B中目标被呈现为虚拟目标,但是目标可以是用户环境中的物理对象,例如门1510上的门把手1512。可穿戴系统可以通过使用参考图7描述的对象识别器708将物理对象识别为潜在目标。
[0186] 标线外观的示例
[0187] 如上所述,标线的外观可以采取各种不同的颜色、形状、尺寸、图形等中的任何一种。例如,标线的形状可以与目标的形状类似。这可用于降低目标将落在标线内的可能性(这可能会提高对准的准确度),因为用于确定标线和目标彼此充分对准的头部姿势将相对较少。图16A和图16B示出了形状相似的标线和目标的示例。在图16A和图16B中,用户可以经由显示器220感知场景1600a中的诸如门1610的真实世界对象以及诸如目标1630和标线1620的虚拟对象。目标1630可以固定在用户的3D空间中的位置,而标线1620可以在操纵空间中的位置处被渲染。
[0188] 可以看出,在该示例中,目标1630和标线1620均具有菱形或类菱形形状。然而,用户可以感知到场景1600a中的目标1630和标线1620看起来具有不同的取向。结果,为了对准目标1630和标线1620,用户可能需要重新定向他或她的头部,以相对于目标1630、门1610以及任何其他固定在用户的3D空间中的物理或虚拟对象来有效地旋转标线1620。可以将重新定向后的用户的头部姿势与一个或多个阈值比较,以确定目标1630和标线1620是否已对准。例如,可穿戴系统可以确定用户的头部姿势是否在可接受的头部姿势的范围内或目标1630(作为整体或者例如大于50%、大于60%、大于75%、大于90%或更多的主要部分)是否位于标线1620内。
[0189] 用户可以倾斜并转动他或她的头部以重新定向。用户可以在重新定向后感知到图16B所示的场景1600b。在场景1600b中,目标1630位于3D空间中与图16A中的目标1630相同的位置,但是因为用户已使他或她的头部重新定向,所以目标1630和标线1620看起来具有基本上彼此相似的取向,或者具有至少比场景1600a中的目标1630和标线1620彼此更相似的取向。可穿戴系统可以确定用户所采取的用于以图16B所示的方式将标线1620与目标
1630对准的头部姿势是否可以充分满足本文所述的一个或多个阈值。响应于确定满足一个或多个阈值,可穿戴系统可自动初始化眼睛注视数据的收集用于校准的目的。
[0190] 虚拟标线可以采取形状或符号的一个或多个轮廓、一个或多个实心形状或符号、一个或多个图像或其他图形及其组合等的形式。在一些实施例中,标线可以是固定在操纵空间内的虚拟对象,但也能够固定在用户的3D空间内。标线可以由虚拟对象表示,用户可以将其拖放(从操纵空间中的位置)到用户的3D空间内的特定位置。用户可以将代表性虚拟对象拖动到的用户的3D空间内的特定位置可与目标的位置对应。例如,一旦操纵空间中的虚拟对象与3D空间中的目标充分对准并且可穿戴系统已收集了此时所需眼睛注视数据,则代表性虚拟对象可以从固定在操纵空间内切换为固定在用户的3D空间内。以此方式,用户可以有效地将代表虚拟对象拖放到目标位置处的用户的3D空间中。这可以使得在用户参与各种交互式体验中的任何一种时执行眼睛注视验证过程。
[0191] 在一些实施例中,可以基于目标来确定标线的外观。例如,用户或可穿戴系统可以将用户3D环境中的花瓶识别为目标。可穿戴系统可以自动生成类似于花瓶轮廓的标线,并在用户的操纵空间中的位置处渲染标线。用户可以移动他或她的头部,以将操纵空间中的虚拟花瓶与用户3D环境中的目标花瓶对准。
[0192] 眼睛注视验证的游戏化
[0193] 使用标线和目标的眼睛注视验证过程可以作为游戏的一部分并入,以提供交互式和增强的用户体验。通过使眼睛注视校准变得有趣,用户更有可能遵守校准过程的要求并完成校准过程。在校准过程的开始,可穿戴显示系统可以呈现用户可以从中选择的校准游戏选项的选择。
[0194] 图17示出了眼睛注视验证的示例,其中,将表示固定在操纵空间中的标线的虚拟对象被拖放到用户的三维环境内的目标位置。在图17中,示出了四个时间顺序的场景1700a、1700b、1700c和1700d。用户可以经由显示器220感知诸如门1710的物理对象。用户还可以经由显示器220感知虚拟标线1720a和1720c、虚拟目标1730a和1730c以及其他虚拟对象1712和1740-1750。在图17的示例中,可穿戴系统可以提供人构建活动作为交互式体验,通过该交互式体验执行眼睛注视验证过程。
[0195] 参考场景1700a,大的虚拟雪球1712可被锚定在用户环境中的固定位置,并且在该示例中,可以意图表示雪人的基础部分。虚拟目标1730a(用虚线示出)也可被锚定在用户环境中的固定位置,并且可以对应于用户环境内的用户要使标线与之对准的目标位置。在该示例中,虚拟目标1730a的位置对应于雪人的躯干部分的位置。
[0196] 在场景1700a中,用户还可以感知中等尺寸的虚拟雪球1720a,该虚拟雪球可用作固定在操纵空间内的标线。如虚拟目标1730a在用户环境中的位置所暗示的,中等尺寸的虚拟雪球1720a可代表雪人的躯干部分。用户可以移动他或她的头部、眼睛或两者,以将中等尺寸的虚拟雪球1720a与虚拟目标1730a对准。如场景1700b中所示,当中等尺寸的虚拟雪球1720a与目标1730a对准时,中等尺寸的虚拟雪球1720a可以被放置在大虚拟雪球1712的顶部。
[0197] 在一些实施例中,可以将虚拟标线从操纵空间移动到用户的3D空间。例如,中等尺寸的虚拟雪球1720a可能被锚定在与用户环境中的目标1730a对应的目标位置。一旦当中等尺寸的虚拟雪球1720a和虚拟目标1730a对准时可穿戴系统已成功地完成收集用于眼睛注视校准的眼睛注视数据,就可发生锚定。一旦中等尺寸的虚拟雪球1720a从固定在操纵空间内切换为固定在用户的3D空间内,中等尺寸的虚拟雪球1720a就可能不再充当用于用户的标线。
[0198] 如场景1700b中所示,一旦可穿戴系统成功地完成了收集需要的眼睛注视数据并将中等尺寸的虚拟雪球1720a从操纵空间移至用户的3D空间,则可穿戴系统可以呈现视觉聚焦指示符1740(例如,从雪球1720a发出的虚拟光线或其他图形突出显示)以向用户传达中等尺寸的虚拟雪球1720a已被成功地拖放到与用户环境中的虚拟目标1730a对应的目标位置。附加地或替代地,系统可以提供可听或可触的指示,表明虚拟雪球1720a已被成功地拖放到目标位置。
[0199] 参考场景1700c,大虚拟雪球1712和中等尺寸的虚拟雪球1720a都可以锚定在用户环境中的固定位置。虚拟目标1730c也可以锚定在用户环境中位于中等尺寸的虚拟雪球1720a正上方的固定位置。虚拟目标1730c可以对应于用户环境中的用户要使小虚拟雪球
1720c与之对准的目标位置。虚拟目标1730c的位置可以对应于雪人的头部。
[0200] 在场景1700c的示例中,小虚拟雪球1720可以用作标线。小虚拟雪球1720c可以旨在代表雪人的头部。如图17所示,小虚拟雪球1720c和中等尺寸的虚拟雪球1720a可以出现在用户前方的操纵空间中的不同位置处。用户可以移动他或她的头部、眼睛或两者,以如场景1700d所示的使小虚拟雪球1720c与虚拟目标1730c对准,以将头部添加到雪人(例如,通过将小虚拟雪球1720c放置在中等尺寸的虚拟雪球1720a的顶部。
[0201] 在场景1700c中,一旦可穿戴系统成功地完成了收集需要的眼睛注视数据,则可穿戴系统可以呈现视觉聚集指示符1750(和/或听觉或触觉指示符)以向用户传达小虚拟雪球1720c已被成功地拖放到用户环境内的与虚拟目标1730c相关联的目标位置。尽管未在图17中示出,可穿戴系统可以进一步向用户呈现附加虚拟对象,该附加虚拟对象将被用作标线并且旨在代表雪人的其他部分或配件。例如,雪人可以包括多于图17所示的三个雪球,或者可穿戴系统可以向用户呈现将被放置在中等尺寸的虚拟雪球1720a的任一侧作为雪人的手臂的虚拟树枝、将被放置在小虚拟雪球1720c的脸部作为雪人的鼻子的虚拟胡萝卜、将被放置在小虚拟雪球1720c的脸上作为雪人的眼睛和嘴部特征的虚拟块、将被放置在小虚拟雪球1720c正上方的虚拟高顶礼帽、以及将被放置在中等尺寸的虚拟雪球1720a和小虚拟雪球1720c之间的虚拟围巾。
[0202] 图18示出了作为机器人攻击游戏的一部分的眼睛注视验证的示例。在图18中,示出了四个时间顺序的场景1800a、1800b、1800c和1800d。用户可能在这4个场景中都位于厨房里。用户可以经由显示器220感知诸如窗户1844和椅子1842的物理对象。用户还可以经由显示器220感知虚拟标线1820和虚拟机器人1810。虚拟机器人1810可被锚定在厨房环境中的固定位置。参考场景1800c,机器人看起来站在厨房柜台的顶部。
[0203] 虚拟机器人可以用作眼睛校准目标。用户可以移动他或她的头部和眼睛以使标线与虚拟机器人对准。参考场景1800a,用户可以最初感知到窗户1844和椅子1842的一部分。然而,如场景1800b所示,用户可以注意到虚拟机器人1810的一部分已经进入了他或她的FOV 1850a。一旦用户注意到机器人1810,用户就可以改变他或她的头部姿势(例如,通过向上倾斜他或她的头部)以如场景1800c所示瞄准虚拟机器人。因为用户已经改变了头部姿势,所以他或她的FOV可以相应地从FOV 1850a改变为FOV 1850b。在场景1800c中,在用户改变了他或她的头部姿势之后,标线1820现在围绕着机器人1820,并且用户不再能够感知到椅子1842。
[0204] 在用户维持场景1800c中所示的对准的同时,可穿戴系统可以收集眼睛跟踪数据(例如,经由面向内的成像系统462)用于校准。可穿戴系统可以确定标线是否已与机器人对准持续阈值时间量。如果标线和机器人之间的对准已经达到阈值时间段,则显示器220可以呈现视觉聚焦指示符(例如,图形1830),其指示机器人已经被破坏(例如,场景1800d)。一旦可穿戴系统完成了眼睛跟踪数据的收集,可穿戴系统还可以呈现场景1800d中示出的图形1830。在一些示例中,可穿戴系统可以响应于检测到除了已满足阈值时间段之外的条件而经由显示器220呈现图形1830。在这些示例中,代替或除了确定标线是否已经与机器人对准持续阈值量之外,可穿戴系统还可以确定是否已经接收到一种或多种特定类型的用户输入,并且可以响应于此而呈现图形1830。例如,可穿戴系统可以确定与可穿戴系统通信的图腾的触发器或其他组件是否已经被致动、是否已经接收到与特定命令对应的发声或手势输入等等。在一些实现方式中,标线1820可以进一步包括虚拟十字准线。
[0205] 在某些实施例中,显示器220可以呈现视觉指示,该视觉指示示出了标线1820已经与机器人1810对准。例如,显示器220可以呈现红色标线。一旦标线已与机器人1810对准,显示器220就可以将机器人的颜色更新为红色。当已达到阈值时间量时,机器人1810的颜色可以变为绿色,并且标线1820的颜色也可以变为绿色。然后,用户可以移动标线1820以与另一个目标对准。在一些示例中,在呈现机器人1810之后,可穿戴系统可以确定要渲染另一个机器人。该确定可以例如对应于如上述参考图14A描述的框1470的操作。响应于确定要收集用于另一眼睛校准目标的眼睛数据,可穿戴系统可以继续在不同的位置渲染下一个机器人,以便使用户保持警觉并因此提高校准准确度。类似地,该渲染任务可以对应于如上参考图14A描述的在一些示例中在框1470之后执行的框1410的操作。
[0206] 可以基于眼睛跟踪算法来预先确定标线的出现。例如,可穿戴系统可以应用默认的映射矩阵来估计用户的眼睛注视方向,并在用户的眼睛注视方向上显示标线1820。该默认的映射矩阵可以通过应用基于从其他用户获取的数据而生成的机器学习模型来生成。可穿戴系统可以在眼睛跟踪校准过程中基于特定于用户眼睛的特征来进一步定制默认的映射矩阵,其中,在用户已将标线与眼睛校准目标对准后,可穿戴系统可以获得用户的眼睛图像。
[0207] 尽管在用户可以经由显示器220看到物理对象和虚拟对象的AR背景下描述了图18中的示例,但是类似的技术也可以应用于VR/MR背景。
[0208] 作为眼睛注视验证的游戏化的另一示例,可穿戴系统可以在可穿戴系统执行眼睛注视验证时玩导弹命令游戏。在此示例中,虚拟导弹可以朝用户的位置行进。这些导弹可能充当目标,并可能显示为不动的(stuck)像素。标线可以用于瞄准导弹以击落导弹。标线的位置可以通过如参考图18描述的眼睛跟踪算法来确定。在一些实施例中,导弹命令游戏可以包括“失败”状态,其中用户不能足够快地摧毁导弹。用户可以具有面罩以保护用户免受导弹的击打。如果用户不能足够快地摧毁导弹,则可穿戴系统可经由显示器220显示虚拟裂缝,以表明导弹已经击中了面罩。
[0209] 例如,在眼睛注视验证期间,可穿戴系统可以显示导弹从用户环境的地面发射。可穿戴系统可以基于世界地图920中的网格区域来模拟深度感知(例如,显示打开的门的深度)。可穿戴系统可以呈现面罩(例如,在用户面前显示透明的外壳),并且呈现出现在面罩上的位置的标线。如本文所述,可以参考操纵空间来渲染面罩和标线。用户可以移动他或她的头部使标线与入射导弹对准。如果对准成功,则将导弹击落,将下一枚导弹朝向用户发射(例如,从不同方向),依此类推。
[0210] 尽管参考在用户的FOV中具有一个目标来描述示例,但是在某些实现方式中,在用户的FOV中可能同时出现多个目标(或多个标线)。此外,可穿戴系统可以在用户环境中的不同位置显示一系列目标(或标线),并提示用户将标线与目标对准。
[0211] 尽管在基于相机的眼睛跟踪系统的背景下进行了描述,但是应当理解,本文所述的技术可以应用于利用其他类型的眼睛跟踪系统、方案或两者的可穿戴系统中。例如,本文描述的技术可以应用于可穿戴系统,该可穿戴系统包括或至少从基于电容的或基于电极的眼睛跟踪系统收集数据。此外,尽管参考眼睛校准目标描述了示例,但是类似的技术也可以应用于目标区域。目标区域可以包括一个或多个对象(例如,物理或虚拟对象),其中一个或多个对象中的至少一些对象可以是眼睛校准目标。例如,用户可以移动他的头部以将标线与世界空间中的两个对象对准。这两个对象可以包括虚拟对象和物理对象。作为另一示例,用户可能需要在收集眼睛注视数据之前同时将两个标线与两个对象(在目标区域中)对准。作为又一示例,当标线与目标区域的周边(而不是特定目标对象)对准时,可穿戴系统可以初始化眼睛注视数据收集。
[0212] 示例用户研究
[0213] 进行了用户研究,以将从本文描述的技术的实施例获得的眼睛校准数据质量与使用传统方法获得的数据进行比较。这项研究包括18位用户,并且在没有外部干扰的实验室环境下进行的。研究发现,本文所述的校准技术与传统的眼睛校准技术相同地执行或与之相比更好地执行。18个用户中有11个使用新的校准技术比使用传统技术做得更好。该系统沿x、y和z方向测量了用户每只眼睛的瞳孔位置。研究发现,对于18个用户中的7个,标准化瞳孔位置的标准偏差得到了显著改善。使用新的交互顺序,没有用户表现得更差。研究结果的概述被包括在2017年5月31日提交的美国临时专利申请No.62/512,594的附录A中,该申请的全部内容通过引用合并于此。概述中显示的结果包括沿18个用户的左和右瞳孔的x、y、z轴的瞳孔位置的标准化测量的标准偏差的变化和统计概率值(p值)。p值小于0.05的显著性值(significance value)的测量被突出显示。
[0214] 附加方面
[0215] 在第1方面,一种用于眼睛跟踪校准的可穿戴系统,其包括:图像捕获设备,其被配置为从可穿戴显示系统的用户捕获(一只或两只眼睛的)眼睛图像;非暂时性存储器,其被配置为存储眼睛图像;显示系统,通过该显示系统,用户能够感知用户环境中的眼睛校准目标和虚拟标线;姿势传感器,其被配置为跟踪用户的头部姿势;与非暂时性存储器和显示系统通信的硬件处理器,该硬件处理器被编程为:使眼睛校准目标能够经由显示系统感知;使虚拟标线经由显示系统被渲染;基于从姿势传感器获取的数据识别用户的头部姿势;基于用户的头部姿势计算虚拟标线的位置;至少部分地基于虚拟标线的位置和眼睛校准目标来确定虚拟标线是否与眼睛校准目标对准;以及响应于确定虚拟标线与眼睛校准目标对准,指示图像捕获设备捕获眼睛图像,并初始化眼睛图像到非暂时性存储器的存储。
[0216] 在第2方面,根据方面1所述的可穿戴系统,其中,图像捕获设备包括被配置为对用户的眼睛区域成像的眼睛相机。
[0217] 在第3方面,根据方面1或方面2所述的可穿戴系统,其中,姿势传感器包括惯性测量单元。
[0218] 在第4方面,根据方面1至3中任一项所述的可穿戴系统,其中,眼睛校准目标是世界空间中的对象,以及虚拟标线位于操纵空间中。
[0219] 在第5方面,根据方面4所述的可穿戴系统,其中,世界空间包括参照用户的环境的三维(3D)坐标系,以及操纵空间包括参照显示器的坐标系。
[0220] 在第6方面,根据方面5所述的可穿戴系统,其中,为了确定虚拟标线是否与眼睛校准目标对准,硬件处理器被编程为:确定操纵空间和世界空间之间的偏移;计算在操纵空间中的虚拟标线的第一坐标值和在世界空间中的眼睛校准目标的第二坐标值;以及基于第一坐标值、第二坐标值和偏移来计算校准。
[0221] 在第7方面,根据方面5或方面6所述的可穿戴系统中,其中,为了计算校准,硬件处理器被编程为基于偏移来将操纵空间中的第一坐标值转换为世界空间中的第三坐标值,以及确定第三坐标值和第二坐标值是否在阈值范围内。
[0222] 在第8方面,根据方面1至7中任一项所述的可穿戴系统,其中,用户的头部姿势包括用户的头部的位置、取向或位置和取向的组合。
[0223] 在第9方面,根据方面1至8中任一项所述的可穿戴系统,其中,为了确定虚拟标线是否与眼睛校准目标对准,硬件处理器被编程为:基于虚拟标线的位置执行光线投射;确定光线投射中光线的一部分是否与眼睛校准目标相交。可选地,硬件处理器可以检测光线投射中的光线与眼睛校准目标之间的碰撞。
[0224] 在第10方面,根据方面1至9中任一项所述的可穿戴系统,其中,为了确定虚拟标线是否与眼睛校准目标对准,硬件处理器被编程为:访问目标头部姿势,其中该目标头部姿势是用户在虚拟标线与眼睛校准目标对准时采取的姿势;以及确定用户的头部姿势是否处于目标头部姿势。
[0225] 在第11方面,根据方面1至10中任一项所述的可穿戴系统,其中,响应于确定虚拟标线与眼睛校准目标对准,硬件处理器被进一步编程为:提供指示虚拟标线与眼睛校准目标对准的视觉、听觉或触觉效果。
[0226] 在第12方面,根据方面1至11中任一项所述的可穿戴系统,其中,响应于确定虚拟标线与眼睛校准目标对准,硬件处理器被进一步编程为指示显示系统呈现另一虚拟标线。
[0227] 在第13方面,根据方面1至12中任一项所述的可穿戴系统,其中,硬件处理器还被编程为至少部分地基于上下文信息来动态地更新虚拟标线的外观,该上下文信息包括以下中的至少一个:眼睛校准目标的尺寸、眼睛校准目标的颜色或与眼睛跟踪校准(由可穿戴系统执行)相关联的所需精度。
[0228] 在第14方面,根据方面13所述的可穿戴系统,其中,标线的外观类似于眼睛校准目标的外观。
[0229] 在第15方面,根据方面13或方面14所述的可穿戴系统,其中,硬件处理器被编程为响应于高要求的精度或小的眼睛校准目标来减小标线的尺寸。
[0230] 在第16方面,一种用于眼睛跟踪校准的方法,包括:在硬件处理器的控制下:识别与用户的环境相关联的世界空间中眼睛校准目标;指示用户的可穿戴设备在与用户的可穿戴设备相关联的操纵空间中渲染虚拟标线;获得用户的头部姿势数据;基于获得的头部姿势数据确定用户的当前头部姿势;至少部分地基于用户的当前头部姿势来确定虚拟标线相对于眼睛校准目标的相对位置;至少部分地基于虚拟标线相对于眼睛校准目标的相对位置来确定虚拟标线是否与眼睛校准目标对准;以及响应于确定虚拟标线与眼睛校准目标对准,指示可穿戴设备的面向内的成像系统获取眼睛校准数据。
[0231] 在第17方面,根据方面16所述的方法,其中,头部姿势数据是从以下中的至少一个获得的:可穿戴设备的面向外的成像系统、可穿戴设备的惯性测量单元或用户环境中的相机。
[0232] 在第18方面,根据方面16或方面17所述的方法,其中,眼睛校准数据包括用户的一只或两只眼睛的图像。
[0233] 在第19方面,根据方面16至18中任一项所述的方法,其中,眼睛校准目标位于世界空间中的固定位置处,或者其中,虚拟标线在操纵空间中的固定位置处被渲染。
[0234] 在第20方面,根据方面16至19中任一项所述的方法,还包括:响应于确定虚拟标线与眼睛校准目标对准,指示可穿戴设备在操纵空间中的不同位置处渲染虚拟标线。
[0235] 在第21方面,根据方面16至20中的任一项所述的方法,其中,虚拟标线在用户的视野的中心处或附近或者在用户的视野的偏心处被渲染,其中视野包括用户环境中用户在给定时间能够感知的的一部分。例如,在用户视野中心处或附近可以包括小于10°、小于5°、小于1°等的角度偏移。
[0236] 在第22方面,根据方面16至21中任一项所述的方法,其中,基于所获得的头部姿势数据来确定用户的当前头部姿势包括基于头部姿势数据来计算用户的头部的位置或取向。
[0237] 在第23方面,根据方面16至22中任一项所述的方法,还包括:访问头部姿势的范围,并且其中确定虚拟标线是否与眼睛校准目标对准包括确定当前头部姿势是否在头部姿势的范围内。
[0238] 在第24方面,根据方面16至23中任一项所述的方法,其中,目标是用户环境中的物理对象。
[0239] 在第25方面,根据方面16至24中任一项所述的方法,其中,目标是游戏应用中的虚拟对象,并且眼睛跟踪校准被执行作为游戏应用的一部分。
[0240] 在第26方面,一种用于眼睛跟踪校准的方法,包括:在硬件处理器的控制下:识别用户环境中的目标区域;识别位于与用户的可穿戴设备相关联的操纵空间中的位置处的虚拟标线;获得用户的头部姿势数据;基于所获得的头部姿势数据确定用户的当前头部姿势;至少部分地基于用户的当前头部姿势,更新虚拟标线相对于目标区域的位置;确定虚拟标线是否与目标区域对准;以及响应于确定虚拟标线与目标区域对准,提供已实现校准的指示。
[0241] 在第27方面,根据方面26所述的方法,其中,目标区域至少包括虚拟对象,并且其中,确定虚拟标线是否与目标区域对准包括确定虚拟标线是否与虚拟对象对准。
[0242] 在第28方面,根据方面26或方面27所述的方法,其中,目标区域至少包括物理对象的一部分,并且其中,确定虚拟标线是否与目标区域对准包括确定虚拟标线是否与物理对象的一部分对准。
[0243] 在第29方面,根据方面26至28中任一项所述的方法,其中,眼睛校准数据由基于电容的或基于电极的眼睛跟踪系统收集。
[0244] 在第30方面,根据方面26至29中任一项所述的方法,其中,响应于确定虚拟标线与眼睛校准目标对准,该方法还包括:使可穿戴设备的眼睛相机初始化眼睛图像的收集。
[0245] 在第31方面,根据方面26至30中任一项所述的方法,其中,确定虚拟标线是否与目标区域对准包括:至少部分地基于用户的当前头部姿势投射至少一个虚拟光线;以及确定至少一个虚拟光线是否与目标区域相交。
[0246] 在第32方面,根据方面31所述的方法,其中,至少部分地基于用户的当前头部姿势来投射至少一个虚拟光线包括从用户或可穿戴设备上的位置投射至少一个虚拟光线并通过虚拟标线的位置。
[0247] 在第33方面,根据方面31或方面32所述的方法,其中,至少部分地基于用户的当前头部姿势来投射至少一个虚拟光线包括投射通过虚拟标线的位置的虚拟几何锥体。
[0248] 在第34方面,根据方面33所述的方法,其中,虚拟标线的形状对应于虚拟几何锥体在虚拟标线的位置处的截面形状。
[0249] 结论
[0250] 本文描述和/或附图中描绘的过程、方法和算法中的每一个可以体现在由一个或多个物理计算系统、硬件计算机处理器、应用专用电路和/或被配置为执行特定和特殊的计算机指令的电子硬件所执行的代码模块中并且完全或部分地由该代码模块自动化。例如,计算系统可以包括用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由专用于给定功能的电路来执行。
[0251] 此外,本公开的功能的某些实施方式在数学上、计算上或技术上是足够复杂的,使得应用专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)对于执行功能可能是必需的,例如由于所涉及的计算的数量或复杂性或为了基本上实时提供结果。例如,视频可以包括许多帧,每帧具有数百万个像素,并且具体地编程的计算机硬件对于处理视频数据是必需的以在商业上合理的时间量内提供期望的图像处理任务或应用。作为另一示例,在用户佩戴头戴式显示系统的同时,本文描述的眼睛跟踪校准技术的实施例可能需要实时执行。
[0252] 代码模块或任何类型的数据可以存储在任何类型的非暂时性计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(RAM)、只读存储器(ROM)、光盘、易失性或非易失性存储器、其组合和/或类似物。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和有线/基于线缆的介质,并且可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字分组或帧)。所公开的方法或方法步骤的结果可以持久地或以其他方式存储在任何类型的非暂时性有形计算机存储器中,或者可以经由计算机可读传输介质来通信。
[0253] 在此描述的和/或在附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,代码包括一个或多个可执行指令以实现特定功能(例如,逻辑或算术)或方法中的步骤。各种方法、框、状态、步骤或功能可以与本文提供的说明性示例相组合,重新排列,添加,删除,修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行本文描述的功能中的一些或全部。本文描述的方法和过程也不限于任何特定的序列,并且与其相关的块、步骤或状态可以以适当的其他序列来执行,例如串行、并行或以某种其他方式。可以向所公开的示例性实施例添加任务或事件或者从中移除任务或事件。此外,本文描述的实现中的各种系统组件的分离是出于说明的目的,并且不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法和系统通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变化是可能的。
[0254] 过程、方法和系统可以在网络(或分布式)计算环境中实施。网络环境包括企业范围的计算机网络、内联网、局域网(LAN)、广域网(WAN)、个人区域网络(PAN)、云计算网络、众包计算网络、因特网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
[0255] 本公开的系统和方法各自具有若干创新性方面,其中没有单独一个对于本文公开的期望属性完全负责或需要。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合均旨在落入本公开的范围内。对于本公开中所描述的实施方式的各种修改对于本领域技术人员来说可能是显而易见的,并且在不脱离本公开的精神或范围的情况下,可将本文中定义的一般原理应用于其他实施方式。因此,权利要求不旨在限于本文所示的实施方式,而是应被赋予与本公开一致的最宽范围、本文公开的原理和新颖特征。
[0256] 在本说明书中在分开的实施方式的情境中描述的某些特征也可以在单个实施方式中组合实施。相反,在单个实施方式的情境中描述的各种特征也可以分开或者以任何合适的子组合在多个实施方式中实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求保护的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求保护的组合可以针对子组合或变体的子组合。没有单个特征或特征组对于每个实施例是必要或是必不可少的。
[0257] 除非另有明确说明,否则本文中使用的条件语言,诸如“能够”、“可能”“应该”、“可以”、“例如”等等,或者在情境中以其他方式理解的,为一般地意在表达某些实施例包括,而其他实施例不包括某些特征、元件和/或步骤。因此,这样的条件语言通常不旨在暗示特征、元素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或者没有作者输入或提示的情况下决定是否这些特征、元件和/或步骤包括在任何特定实施例中或将在任何特定实施例中执行。术语“包括”、“包含”、“具有”等是同义词,并且以开放式的方式包含性地使用,并且不排除附加的元件、特征、动作、操作等等。此外,术语“或”以其包含性含义(而不是其专有含义)使用,因此当用于例如连接元素列表时,术语“或”表示一个、一些或全部列表中的元素。另外,除非另有说明,否则本申请和所附权利要求中使用的冠词“一”、“一个”和“所述”应被解释为表示“一个或多个”或“至少一个”。
[0258] 如本文所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。举例来说,“A、B或C中的至少一个”旨在覆盖:A、B、C、A和B、A和C、B和C以及A、B和C。连接语言例如短语“X、Y和Z中的至少一个”,除非另有特别说明,否则在通常用于表达项目,术语等可以是X、Y或Z中的至少一个。因此,这样的连接语言通常并不意味着某些实施方案需要X中的至少一个,Y中的至少一个和Z中的至少一个存在。
[0259] 类似地,尽管可以在特定顺序中在附图中描绘操作,但应认识到,这些操作不需要以所示出的特定顺序或按顺序执行,或者所有所示操作都要执行,以实现理想的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以并入示意性说明的示例性方法和过程中。例如,可以在任何所示操作之前、之后、同时或之间执行一个或多个附加操作。另外,在其他实施中,操作可以重新安排或重新排序。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种系统组件的分离不应该被理解为在所有实施方式中都需要这种分离,并且应该理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品。另外,其他实施方式在以下权利要求的范围内。在一些情况下,权利要求中列举的动作可以以不同的顺序执行并且仍然实现期望的结果。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈