自动校准穿戴式眼睛跟踪系统的独特反射镜片转让专利

申请号 : CN201680035346.2

文献号 : CN107787473B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : H.S.拉夫尔S.R.普拉卡什

申请人 : 谷歌有限责任公司

摘要 :

示例实施例包括具有选择性施加来在镜片上形成可变红外(IR)交互图案的IR反射涂层的镜片。可变IR交互图案可以以其与IR波长交互的方式变化,以便当镜片被IR光照射时提供机器可读代码。因此,可变IR交互图案可以被用来标识特定镜片。因此,眼镜式、模块化、可头戴设备(HMD)可以标识若干不同的可能的镜片中的哪些镜片当前被附接到HMD,并且根据被附接的一个或多个镜片来更新某些过程。例如,HMD可以根据被附接的特定镜片来校准眼睛跟踪过程。

权利要求 :

1.一种图像和视觉处理方法,包括:

由计算系统接收可头戴设备(HMD)的镜片的内表面的红外(IR)图像数据,其中在用红外光照射所述镜片的内表面时捕获所述图像数据;

由所述计算系统在所述镜片的内表面的IR图像数据中检测眼睛区域在所述镜片的内表面上的反射;

由所述计算系统在所述镜片的内表面的IR图像数据中检测所述镜片的可变IR交互图案,其中所述可变IR交互图案形成IR可检测的机器可读代码;

由所述计算系统确定与检测到的可变IR交互图案相对应的镜片;

由所述计算系统基于所确定的镜片来校准眼睛分析过程;以及在校准所述眼睛分析过程之后,将所述眼睛分析过程应用于所述眼睛区域的反射以确定与眼睛相对应的位置和/或方向数据、或眼睛是否睁开或闭合。

2.根据权利要求1所述的方法,其中基于所确定的镜片来校准所述眼睛分析过程包括基于所确定的镜片的一个或多个特性来调整所述眼睛分析过程。

3.根据权利要求1所述的方法,其中所确定的镜片的一个或多个特性包括以下中的一个或多个:(a)广角倾斜,(b)包覆,和(c)曲率半径。

4.根据权利要求1所述的方法,其中所述镜片的可变IR交互图案由所述镜片的至少一个表面上的反射涂层形成。

5.根据权利要求4所述的方法,其中所述反射涂层包括选择性施加以形成所述可变IR交互图案的红外反射涂层。

6.根据权利要求1所述的方法,其中将红外反射涂层选择性施加到所述镜片,来以所述机器可读代码的形状反射IR光。

7.根据权利要求1所述的方法,其中将红外反射涂层选择性施加到所述镜片,以允许IR光以所述机器可读代码的形状穿过所述镜片的一部分。

8.根据权利要求1所述的方法,其中所述眼睛分析过程包括用于至少部分地基于所述眼睛区域从所述镜片的内表面的反射来确定所述眼睛的位置的过程。

9.根据权利要求1所述的方法,其中所述眼睛分析过程包括用于至少部分地基于所述眼睛区域从所述镜片的内表面的多个反射来确定所述眼睛的移动的过程,所述多个反射在所述眼睛区域的多个IR图像中被检测。

10.根据权利要求1所述的方法,其中所述镜片是第一镜片,并且其中所述可变IR交互图案包括第一机器可读代码,所述方法还包括:在所述镜片的内表面的随后的IR图像数据中检测从所述镜片的IR吸收图案产生的第二机器可读代码,其中所述第二机器可读代码不同于所述第一机器可读代码;以及响应于检测到与所述第一机器可读代码不同的所述第二机器可读代码:(i)确定与所述第二机器可读代码相对应的第二镜片;以及(ii)基于所述第二镜片来重新校准所述眼睛分析过程。

11.一种可头戴设备(HMD),包括:

镜片,其包括与所述镜片相对应的可变红外(IR)交互图案,其中可变IR交互图案形成IR可检测的机器可读代码;

IR光源,其被布置在所述HMD的框架上,以朝向至少一个镜片发射IR光;

IR相机,其被布置在所述HMD的框架上,并且可操作来在所述IR光源照射所述至少一个镜片时捕获IR图像数据;

板上计算系统,可操作来:

在所述IR图像数据中检测眼睛区域从所述镜片的内表面的反射;

在所述IR图像数据中检测所述镜片上的可变IR交互图案;

确定与所述可变IR交互图案相对应的镜片;

基于所确定的镜片来校准眼睛分析过程;以及

将经校准的眼睛分析过程应用于从所述眼睛区域的反射以确定与眼睛相对应的位置和/或方向数据、或眼睛是否睁开或闭合。

12.根据权利要求11所述的设备,其中所述HMD包括模块化HMD。

13.根据权利要求12所述的设备,其中所述模块化HMD还包括:框架组件,其包括所述镜片;以及

壳体组件,其包括用于附接框架组件以及将框架组件从壳体组件分离的附接特征。

14.根据权利要求13所述的设备,其中所述板上计算系统还可操作来检测所述框架组件何时最初附接并且响应地检测所述镜片的可变IR交互图案,确定与检测到的机器可读代码相对应的镜片,基于所确定的镜片来校准眼睛分析过程,应用经校准的眼睛分析过程来确定与所述眼睛相对应的数据。

15.如权利要求11所述的设备,其中对所述眼睛分析过程的校准包括基于所确定的镜片的一个或多个特性对所述眼睛分析过程的一个或多个调整。

16.根据权利要求15所述的设备,其中所确定的镜片的一个或多个特性包括以下中的一个或多个:(a)广角倾斜,(b)包覆,和(c)曲率半径。

17.根据权利要求11所述的设备,其中所述镜片的可变IR交互图案由所述镜片的至少一个表面上的红外反射涂层形成。

18.根据权利要求17所述的设备,其中所述红外反射涂层以机器可读代码的形状被选择性施加到所述镜片。

19.根据权利要求17所述的设备,其中所述红外反射涂层以机器可读代码的形状的轮廓被选择性施加到所述镜片。

20.一种光学镜片,包括:

内表面,具有由选择性施加的光学涂层在所述内表面上形成的可变红外(IR)交互图案;

其中所述可变红外(IR)交互图案形成IR可检测的机器可读代码,并且其中所述机器可读代码标识所述光学镜片。

说明书 :

自动校准穿戴式眼睛跟踪系统的独特反射镜片

背景技术

[0001] 除非本文另外指示,否则本节中描述的材料不是本申请中的权利要求的现有技术,并且不被认为是在本节中包括的现有技术。
[0002] 诸如个人计算机、膝上型计算机、平板计算机、蜂窝电话的计算设备以及无数类型的支持互联网的设备在现代生活的许多方面日益普遍。随着时间的推移,这些设备向用户提供信息的方式变得更加智能化、更高效、更直观和/或更不突出。
[0003] 计算机硬件、外围设备的小型化趋势以及除了其他技术以外的传感器、检测器、图像和音频处理器的小型化趋势已经帮助打开了有时被称为“穿戴式计算”的领域。在图像和视觉处理和生产的领域,具体地,考虑将图形显示器放置得足够接近穿戴者的(或用户的)(多个)眼睛使得所显示的图像显现为正常大小的图像(诸如可能在传统图像显示设备上显示的那样)的穿戴式显示器已经变得有可能,。相关技术可以被称为“近眼显示器”。
[0004] 具有近眼显示器的穿戴式计算设备也可以被称为“可头戴显示器”(Head-Mountable Display,HMD)、“头戴式(head-mounted)显示器”、“头戴式设备”或“可头戴设备”。可头戴显示器将一个或多个图形显示器放置在穿戴者的一只或两只眼睛附近。为了在显示器上生成图像,可以使用计算机处理系统。这种显示器可以占据穿戴者的整个视场,或者仅占据穿戴者视场的部分。此外,头戴式显示器的大小可以变化,例如,可以采取诸如眼镜式显示器的较小形式或诸如头盔的较大形式。
[0005] 穿戴式显示器的新兴和预期的用途包括用户与增强或虚拟现实实时交互的应用程序。这种应用程序可以是诸如在公共安全或航空设置中任务关键的或安全关键的。应用程序也可以是娱乐性的,诸如交互式游戏。许多其他应用程序也是可能的。

发明内容

[0006] 在一个方面中,一种示例性方法涉及一种计算系统:(a)接收可头戴设备(HMD)的镜片的内表面的红外(InFrared,IR)图像数据,其中在用红外光照射的镜片的内表面时捕获图像数据;(b)在镜片的内表面的IR图像数据中检测眼睛区域从镜片的内表面的反射;(c)在镜片的内表面的IR图像数据中检测从镜片的可变IR交互图案产生的机器可读代码;
(d)确定与检测到的机器可读代码相对应的镜片;(e)基于所确定的镜片来校准眼睛分析(eye-analysis)过程;(f)在校准眼睛分析过程之后,将眼睛分析过程应用于眼睛区域的反射以确定与眼睛相对应的数据。
[0007] 在另一方面,示例性HMD包括:(i)镜片,包括定义机器可读代码的可变红外(IR)交互图案;(ii)IR光源,被布置在HMD的框架上,以朝着至少一个镜片发射IR光;(iii)IR相机,被布置在HMD的框架上,并且可操作来在IR光源照射至少一个镜片时捕获IR图像数据;以及(iv)板上计算机系统,可操作来:(a)在IR图像数据中检测眼睛区域从镜片的内表面的反射;(b)在IR图像数据中检测从镜片上的可变IR交互图案产生的机器可读代码;(c)确定与检测到的机器可读代码相对应的镜片;(d)基于所确定的镜片来校准眼睛分析过程;(e)将经校准的眼睛分析过程应用于从眼睛区域的反射以确定与眼睛相对应的数据。
[0008] 在又一方面中,示例性镜片包括具有由选择性施加的光学涂层形成的可变红外(IR)交互的内表面。可变IR交互图案定义了机器可读代码,其反过来标识光学镜片。
[0009] 通过在适当时参考附图阅读下面的详细描述,这些以及其他方面、优点和替代方案对于本领域普通技术人员将变得显而易见。

附图说明

[0010] 图1A示出了根据示例实施例的穿戴式计算系统。
[0011] 图1B示出了图1A中所示的穿戴式计算设备的替代视图。
[0012] 图1C示出了根据示例实施例的另一穿戴式计算系统。
[0013] 图1D示出了根据示例实施例的另一穿戴式计算系统。
[0014] 图1E至图1G是正由穿戴者穿戴的图1D中所示的穿戴式计算系统的简化图示。
[0015] 图2是根据示例实施例的计算设备的简化框图。
[0016] 图3是根据示例实施例的模块化HMD系统的图示。
[0017] 图4A是示出根据示例实施例的具有编码镜片的HMD的图示。
[0018] 图4B是根据示例实施例的由IR相机捕获的IR图像的图示。
[0019] 图5A是根据示例实施例的由IR相机捕获并包括镜片上的另一可变IR交互图案的IR图像的图示。
[0020] 图5B是根据示例实施例的由IR相机捕获并包括镜片上的又一可变IR交互图案的另一IR图像的图示。
[0021] 图6是示出根据示例性实施例的方法的流程图。
[0022] 图7是示出根据示例性实施例的用于使用受控闪光(glint)进行眼睛跟踪的方法的流程图。
[0023] 图8A是根据示例性实施例的光源组合的预定序列的简化图示。
[0024] 图8B是根据示例性实施例的来自在图8A中所示的光源组合的序列期间捕获的眼睛的视频的帧的简化图示。
[0025] 图9是根据示例性实施例的光源组合的预定序列的简化图示。

具体实施方式

[0026] 本文描述了示例方法和系统。应该理解的是,本文使用词语“示例”、“示例性”和“说明性”来表示“用作示例、实例或说明”。本文中描述为“示例”、“示例性”或者“说明性”的任何实施例或特征不一定被解释为比其他实施例或特征优选或有利。本文描述的示例实施例并不意味着限制。将容易理解的是,如本文一般性描述的并且在附图中示出的本公开的方面可以以各种各样的不同配置进行布置、替换、组合、分离和设计,所有这些都在本文中明确地考虑。
[0027] I.概述
[0028] 眼镜式可头戴设备(HMD)可以包括用于确定穿戴者的眼睛的位置和/或检测挤眼(wink)和眨眼(blink)的各种系统。这种系统可以允许用户使用眼睛动作(eye gesture)来与他们的HMD交互。在一些实施方式中,可以使用检测眼睛区域的反射的系统来获得眼睛数据,该反射是从HMD的眼镜镜片的内表面反射的。从某种意义上说,这种技术是使用镜片的内表面作为镜子来获得眼睛的图像数据。提供(i)相机、眼镜镜片和眼睛的已知的或近似的布置,以及(ii)眼镜镜片和相机镜片的某些光学特性、眼睛区域从镜片的反射的图像数据可以被用来确定例如眼睛的位置和/或移动,和/或眼睛是否睁开或闭合。此外,通过分析这种反射图像的序列,眼睛跟踪系统可以确定眼睛如何随时间移动。
[0029] 在另一方面,具有模块化框架和镜片的HMD是期望的,因为它们允许用户出于美观的原因并且也有可能出于功能原因(例如,交换为具有着色镜片(即太阳镜)的框架,或者在穿戴者决定不穿戴他们的隐形眼镜的那一天切换成具有传统镜片的镜框)而交换出镜片和框架。然而,由于系统依赖于知道镜片的某些特性(例如,曲率半径、广角倾斜、以及包覆(wrap)),切换到不同的镜片可以降低依赖于眼睛从眼镜片的反射的眼睛跟踪系统的准确性,。因此,示例性实施例可以提供离散地且自动地检测具有不同镜片的框架何时已经附接到HMD以及基于新镜片的特性来响应地重新校准眼睛跟踪(eye-tracking)过程的系统和方法,。
[0030] 因此,示例性实施例可以提供具有由通过选择性施加的镜片涂层形成的可变IR交互图案定义的机器可读图案的一个或多个镜片。具体地,可以将具有针对IR波长的某种反射或吸收性质的涂层以机器可读代码的形状施加到镜片的表面。涂层可以使得机器可读代码对人眼不可见(或难以从正前视角看到),但是在红外光源照射镜片时,在由IR相机捕获的、镜片的图像中可见。
[0031] 在再一方面,HMD可以包括具有选择性地涂层可变IR-交互图案的至少一个镜片的可拆卸(例如,模块化)框架,该可变IR-交互图案定义机器可读代码(例如,条形码或QR码)。此外,由于机器可读代码可以标识镜片(或至少特定类型或型号的镜片),所以HMD可以包括被布置为检测机器可读代码并且基于由机器可读代码标识的、镜片的特征响应地重新校准眼睛跟踪过程的IR光源和IR相机。
[0032] 注意的是,在HMD的情况下,示例镜片可以具有超出HMD的其他应用,和/或其他目的。例如,这种IR机器可读代码可以在可以以这种方式涂层的包括HMD镜片的任何表面上提供防伪措施,因为售后镜片将需要复制真实的框架和镜片形状和构造,以及具有机器可读代码的涂层。
[0033] II.示例穿戴式计算设备
[0034] 现在将更详细地描述在其中可以实施示例实施例的系统和设备。通常,示例系统可以以穿戴式计算机(也被称为穿戴式计算设备)的形式来实施或者可以采取穿戴式计算机(也被称为穿戴式计算设备)的形式。在示例实施例中,穿戴式计算机采取可头戴设备(HMD)的形式或包括可头戴设备(HMD)。
[0035] 示例系统除了其他可能性以外还可以以其他设备(诸如移动电话)的形式或者采取其他设备(诸如移动电话)的形式来实施。此外,示例系统可以采取非暂时性计算机可读介质的形式,该非暂时性计算机可读介质具有存储在其上的程序指令,该程序指令可由处理器执行以提供本文描述的功能。示例系统还可以采取诸如穿戴式计算机或移动电话的设备或者这种设备的子系统的形式,该设备包括具有存储在其上的这种程序指令的这种非暂时性计算机可读介质。
[0036] HMD通常可以是能够穿戴在头上并将显示器放置在穿戴者的一只或两只眼睛的前方的任何显示设备。HMD可以采取各种形式(诸如头盔或眼镜)。如此以来,对“眼镜”或“眼镜式”HMD的引用应该理解为指具有类似眼镜的框架以使其可以被穿戴在头上的HMD。此外,示例实施例可以通过具有单一显示器或者具有两个显示器的HMD来实施或者与具有单一显示器或者具有两个显示器的HMD相关联地来实施,该具有单一显示器或者具有两个显示器的HMD可以分别被称为“单目”HMD或者“双目”HMD。
[0037] 图1A示出了根据示例实施例的穿戴式计算系统。在图1A中,穿戴式计算系统采取可头戴设备(HMD)102(其也可以被称为头戴式显示器)的形式。然而,应该理解的是,在不脱离本发明的范围的情况下,示例系统和设备可以采取其他类型的设备的形式或者在其他类型的设备内或者与其他类型的设备相关联地来实施。如图1A中所示,HMD 102包括框架元件、镜片元件110、112以及延伸侧臂114、116,其中框架元件包括镜片框架104、106和中心框架支撑件108。中心框架支撑件108和延伸侧臂114、116被配置为分别经由用户的鼻子和耳朵将HMD 102缚牢(secure)到用户的脸部。
[0038] 框架元件104、106和108以及延伸侧臂114、116中的每一个可以由塑料和/或金属的实心结构形成,或者可以由类似材料的中空结构形成,以便允许布线和组件互连来内部路由通过HMD 102。其他材料也是可能的。
[0039] 镜片元件110、112中的每一个中的一个或多个可以由可以适当地显示投影图像或图形的任何材料形成。镜片元件110、112中的每一个也可以足够透明以允许用户透视镜片元件。结合镜片元件的这两个特征可以有助于增强现实(augmented reality)或抬头显示器(heads-up display),其中投影图像或图形被叠加在用户通过镜片元件感知到的真实世界视图上。
[0040] 延伸侧臂114、116可以各自是分别从镜片框架104、106延伸出的突起,并且可以位于用户的耳朵后面以将HMD 102缚牢到用户。延伸侧臂114、116可以通过围绕使用者头部的后部延伸而进一步将HMD 102缚牢到用户。额外地或可替换地,例如,HMD 102可以连接到头戴式头盔结构上或者被固定在头戴式头盔结构内。HMD的其他配置也是可能的。
[0041] HMD 102还可以包括板上计算系统118、图像捕获设备120、传感器122和手指可操作触摸板124。板上计算系统118被示出为安置在HMD 102的延伸侧臂114上;然而,板上计算系统118可以被提供在HMD 102的其他部分上或者可以安置得远离HMD 102(例如,板上计算系统118可以有线或无线地连接到HMD 102)。例如,板上计算系统118可以包括处理器和存储器。板上计算系统118可以被配置为接收和分析来自图像捕获设备120和手指可操作触摸板124(以及可能来自其他传感设备、用户界面或两者)的数据并且生成用于由镜片元件110和112输出的图像。
[0042] 图像捕获设备120可以是例如被配置为捕获静止图像和/或捕获视频的相机。在所示的配置中,图像捕获设备120被安置在HMD 102的延伸侧臂114上;然而,图像捕获设备120可以被提供在HMD 102的其他部分上。图像捕获设备120可以被配置为以各种分辨率或以不同的帧速率捕获图像。例如,具有小形状因子的许多图像捕获设备(诸如移动电话或网络摄像头中使用的相机)可以被并入到HMD 102的示例中。
[0043] 此外,虽然图1A示出了一个图像捕获设备120,但是可以使用更多的图像捕获设备,并且每个图像捕获设备可以被配置为捕获相同的视图或捕获不同的视图。例如,图像捕获设备120可以面向前方以捕获用户感知到的真实世界视图的至少一部分。由图像捕获设备120捕获的这个面向前方的图像然后可以被用来生成增强现实,其中计算机生成的图像显现为与用户感知到的真实世界视图交互或覆盖用户感知到的真实世界视图。
[0044] 传感器122被示出在HMD 102的延伸侧臂116上;然而,传感器122可以被安置在HMD 102的其他部分上。为了说明性目的,仅示出了一个传感器122。然而,在示例实施例中,HMD 
102可以包括多个传感器。例如,HMD 102可以包括诸如一个或多个陀螺仪、一个或多个加速度计、一个或多个磁力计、一个或多个光传感器、一个或多个红外传感器和/或一个或多个麦克风的传感器102。除了或者代替在本文明确标识的传感器,可以包括其他传感设备。
[0045] 手指可操作触摸板124被示出在HMD 102的延伸侧臂114上。然而,手指可操作触摸板124可以被安置在HMD 102的其他部分上。并且,多于一个手指可操作触摸板可以存在于HMD 102上。手指可操作触摸板124可以被用户用来输入命令。手指可操作触摸板124除了其他可能性以外还可以经由电容感测、电阻感测或表面声波处理来感测一个或多个手指的压力、位置和/或移动中的至少一个。除了感测在与平板表面平行或平面的方向上、在垂直于平板表面的方向上或两个方向上的移动,手指可操作触摸板124可以能够同时感测一个或多个手指的移动,并且还可以能够感测施加到触摸板表面的压力的水平。在一些实施例中,手指可操作触摸板124可以由一个或多个半透明或透明绝缘层以及一个或多个半透明或透明导电层形成。手指可操作触摸板124的边缘可以形成为具有凸起的、凹陷的或粗糙的表面,以便当用户的手指到达手指可操作触摸板124的边缘或其他区域时向用户提供触觉反馈。如果存在多于一个手指可操作触摸板,则每个手指可操作触摸板可以独立操作,并且可以提供不同的功能。
[0046] 在再一方面,除了或者代替经由手指可操作触摸板124接收的用户输入,HMD 102可以被配置为以各种方式接收用户输入。例如,板上计算系统118可以实施语音到文本过程,并利用将某些口头命令映射到某些动作的文法。另外,HMD 102可以包括一个或多个麦克风,经由其可以捕获穿戴者的语音。如此配置,HMD 102可以可操作来检测口头命令并实现与口头命令相对应的各种计算功能。
[0047] 作为另一示例,HMD 102可以将某些头部移动解释为用户输入。例如,当穿戴HMD 102时,HMD 102可以使用一个或多个陀螺仪和/或一个或多个加速度计来检测头部移动。然后,HMD 102可以将某些头部移动(诸如点头、或者上看、下看、左看或者右看)解释为用户输入。HMD 102也可以根据移动在显示器中平移或滚动图形。其他类型的动作也可以被映射到头部移动。
[0048] 作为又一示例,HMD 102可以将(例如,穿戴者的手或双手的)某些手势解释为用户输入。例如,HMD 102可以通过分析来自图像捕获设备120的图像数据来捕获手部移动,并且发起被定义为与某些手部移动相对应的动作。
[0049] 作为再一示例,HMD 102可以将眼睛移动解释为用户输入。具体地,HMD102可以包括一个或多个面向内部的图像捕获设备和/或感测用户的眼睛移动和/或定位的一个或多个其他面向内部的传感器(未示出)。如此以来,某些眼睛移动可以被映射到某些动作。例如,某些动作除了其他可能性以外还可以被定义为对应于在特定方向上的眼睛的移动、眨眼和/或挤眼。
[0050] HMD 102还包括用于生成音频输出的扬声器125。在一个示例中,扬声器可以是骨传导扬声器的形式,也被称为骨传导换能器(Bone Conduction Transducer,BCT)。扬声器125可以是例如响应于电音频信号输入而产生声音的振动换能器或电声换能器。HMD 102的框架可以被设计为使得当用户穿戴HMD 102时,扬声器125与穿戴者接触。可替换地,扬声器
125可以被嵌入在HMD 102的框架内并且被安置为使得当穿戴HMD 102时,扬声器125使接触穿戴者的框架的一部分振动。在任一情况下,HMD 102可以被配置为向扬声器125发送音频信号,使得扬声器的振动可以直接或间接地传递到穿戴者的骨结构。当振动穿过骨结构到达穿戴者中耳的骨头时,穿戴者可以将由BCT 125提供的振动解释为声音。
[0051] 取决于具体的实施方式,可以实施各种类型的骨传导换能器(BCT)。通常,被布置为使HMD 102振动的任何组件可以被并入为振动换能器。还应该理解,HMD 102可以包括单一扬声器125或多个扬声器。另外,取决于实施方式,(多个)讲话者在HMD上的(多个)位置可以变化。例如,扬声器可以位于接近穿戴者的太阳穴(如图所示)、穿戴者的耳朵后面、接近穿戴者的鼻子、和/或在扬声器125可以使穿戴者的骨结构振动的任何其他位置处。
[0052] 图1B示出了图1A中所示的穿戴式计算设备的替代视图。如图1B中所示,镜片元件110、112可以用作显示元件。HMD 102可以包括耦合到延伸侧臂116的内表面并且被配置为将显示130投影到镜片元件112的内表面上的第一投影仪128。额外地或可替换地,第二投影仪132可以被耦合到延伸侧臂114的内表面并且被配置为将显示134投影到镜片元件110的内表面上。
[0053] 镜片元件110、112可以用作光投影系统中的组合器并且可以包括反射从投影仪128、132投影到其上的光的涂层。在一些实施例中,(例如,当投影仪128、132正在扫描激光设备时)可以不使用反射涂层。
[0054] 在替代实施例中,也可以使用其他类型的显示元件。例如,镜片元件110、112本身可以包括:透明或半透明的矩阵显示器(诸如电致发光显示器或液晶显示器),用于将图像递送到用户的眼睛的一个或多个波导或有能力向用户递送聚焦于眼睛附近的图像的其他光学元件。对应的显示驱动器可以被安放在框架元件104、106内,用于驱动这样的矩阵显示器。额外地或可替换地,可以使用激光或LED源和扫描系统来将光栅显像直接绘制在用户的一只或多只眼睛的视网膜上。也存在其他可能性。
[0055] 在再一方面,镜片元件110、112可以各自是编码镜片。例如,在图1A和图1B中,每个镜片元件110、112被示出为具有相应的可变红外(“IR”)交互图案111、113。每个可变IR交互111、113可以由在相应的镜片上的光学涂层或者光学涂层的组合来形成。这样的一个或多个涂层可以是不同程度的IR反射、IR透射和/或IR吸收,并且可以施加在图案中以形成可变IR交互图案。此外,可变IR交互图案可能对肉眼不可见,并且可能仅当由IR辐射(例如,来自IR光源)照射和/或通过IR滤光片观察时才会显着。
[0056] 此外,每个可变IR交互图案111、113可以用来标识其相应的镜片。例如,在图1A和图1B中,每个可变IR交互图案111、113是QR码,其可以标识对应的镜片元件110、112。其他类型的编码也可以提供可变IR交互图案。
[0057] 注意的是,在一些实施例中,HMD可以包括两个镜片元件,但是仅具有这样的可变IR交互图案的一个镜片元件。在这种情况下,单一可变IR交互图案可以标识一个或两个镜片(以及耦合到一个或多个镜片的、HMD的可能的其他组件)。
[0058] 此外,注意的是,这样的可变IR交互图案可以在也用作图形显示器的镜片上来实施;例如,在其中投影图像或图形叠加在用户通过镜片元件感知到的真实世界视图上的增强现实或抬头显示器中。然而,也可以在不包括显示器的HMD的镜片上实施可变IR交互图案;例如,其中一个或多个镜片否则以与传统眼镜或太阳镜上的镜片相同的方式起作用。例如,HMD可以主要用作支持语音交互的设备,使得用户可以使用(多个)麦克风、(多个)扬声器和集成在眼镜式HMD中的板上计算系统来参与对话交互。这样的HMD可以是专用语音交互设备,并且因此可以不包括任何类型的相机或图形显示器。这样的HMD还可以连线到用户的移动电话或具有显示器的其他计算设备,使得非语音相关的反馈和输入将变得有可能。
[0059] 图1C示出了根据示例实施例的另一穿戴式计算系统,其采取HMD 152的形式。HMD 152可以包括框架元件和侧臂,诸如关于图1A和图1B所述的那些。HMD 152可以额外地包括板上计算系统154和图像捕获设备156,诸如关于图1A和图1B所述的那些。图像捕获设备156被示出为安装在HMD152的框架上。然而,图像捕获设备156也可以被安装在其他位置。
[0060] 如图1C中所示,HMD 152可以包括可以耦合到设备的单一显示器158。显示器158可以在HMD 152的镜片元件中的一个(诸如关于图1A和1B所述的镜片元件)上形成,并且可以被配置为在用户的物理世界的视图中覆盖计算机生成的图形。显示器158被示出为提供在HMD 152的镜片的中心,然而,显示器158可以被提供在其他位置,诸如例如,朝向穿戴者的视场的上部或下部。显示器158经由计算系统154是可控制的,该计算系统154经由光学波导160而被耦合到显示器158。
[0061] 图1D示出了根据示例性实施例的另一穿戴式计算系统,其采取单目HMD 172的形式。HMD 172可以包括侧臂173、中心框架支撑件174和具有鼻梁架(nosepiece)175的桥部分。在图1D中所示的示例中,中心框架支撑件174连接侧臂173。HMD 172不包括包含镜片元件的镜片框架。HMD 172可以额外地包括组件壳体,其可以包括板上计算系统(未示出)、图像捕获设备178和用于操作图像捕获设备178(和/或可用于其他目的)的按钮179。组件壳体176还可以包括其他电子组件和/或可以在HMD内或在其上的其他位置处被电连接到电子组件。HMD 172还包括BCT 186。
[0062] HMD 172可以包括单一显示器180,该单一显示器180可以经由组件壳体176被耦合到侧臂173中的一个。在示例实施例中,显示器180可以是透视显示器,该透视显示器用玻璃和/或另一透明或半透明材料制成,使得穿戴者可以通过显示器180看到他们的环境。此外,组件壳体176可以包括用于显示器180的光源(未示出)和/或光学元件(未示出)以将来自光源的光引导到显示器180。如此以来,当穿戴HMD 172时,显示器180可以包括光学特征,该光学特征将由这样的光源生成的光引导向穿戴者的眼睛。
[0063] 在再一方面,HMD 172可以包括滑动特征(sliding feature)184,该滑动特征184可以被用来调整侧臂173的长度。因此,滑动特征184可以被用来调整HMD 172的适合度(fit)。此外,在不脱离本发明的范围的情况下,HMD可以包括允许穿戴者调整HMD的适合度的其他特征(feature)。
[0064] 此外,虽然未在图1A至图1D中明确示出,但是HMD(诸如HMD 102、HMD 152和/或HMD 172)可以包括眼睛跟踪系统或这样的系统的一部分。在示例实施例中,HMD可以包括面向内部或面向后方(即面向眼睛)的(多个)光源和/或(多个)相机以促进眼睛跟踪功能。例如,HMD可以包括在相对于彼此和/或相对于观察中的眼睛的通常已知的(多个)位置处的面向内部的光源,诸如(多个)LED。面向内部的相机因此可以捕获包括(多个)光源从眼睛的反射的图像;或者换句话说,捕获该捕获与面向内部的光源相对应的受控闪光的图像。如此以来,在给定图像中的受控闪光的定位可以指示图像被捕获时的眼睛的位置。
[0065] 在再一方面,利用上述配置,随着一只或多只眼睛移动,连续的视频帧可以捕获图像平面中受控的移动。因此,在受控光源和一个或多个眼睛的相对几何形状已知的情况下,可以分析观察到的在图像平面中的受控闪光的移动,以便测量眼睛的移动。
[0066] 图1E至图1G是正由穿戴者190穿戴的图1D中所示的HMD 172的简化图示。如图1F中所示,BCT 186被布置为使得当穿戴HMD172时,BCT 186位于穿戴者190的耳朵的后面。如此以来,从图1E中所示的视角看,BCT 186是不可见的。
[0067] 在所示的示例中,显示器180可以被布置为使得当穿戴HMD 172时,显示器180可以在用户穿戴HMD 172时被安置在用户的眼睛的前面或者接近用户的眼睛。例如,如图1E中所示,显示器180可以被安置在中心框架支撑件的下方并且在穿戴者的眼睛的中心的上方。此外,在所示的配置中,显示器180可以偏离于穿戴者的眼睛的中心(例如,使得从穿戴者的视角来看,显示器180的中心被安置于穿戴者的眼睛的中心的右方和上方)。
[0068] 如图1E至图1G中所示而配置的,当穿戴HMD 172时,显示器180可以位于穿戴者190的视场的外围。因此,如图1F所示,当穿戴者190向前看时,穿戴者190可以用他们的外围视觉看到显示器180。作为结果,当他们的眼睛面向前方时,显示器180可以在穿戴者的视场的中心部分之外,如其对于许多日常活动通常那样。这样的定位可以促进与其他人的无障碍的眼对眼的对话,以及通常在穿戴者的视场的中心部分内提供对世界的无障碍的观察和感知。此外,当显示器180位于如图所示的位置时,穿戴者190可以通过例如仅用他们的眼睛(可能不用移动他们的头部)向上看来观看显示器180。这如图1G中所示,其中穿戴者已经移动了他们的眼睛来向上看并将他们的视线与显示器180对准。穿戴者还可以通过使他们的头向下倾斜并且使他们的眼睛与显示器180对准来使用显示器。
[0069] 图2是根据示例实施例的计算设备210的简化框图。在示例实施例中,设备210使用到远程设备230的通信链路220(例如,有线或无线连接)来通信。设备210可以是可以接收数据并显示与数据相对应或相关联的信息的任何类型的设备。例如,设备210可以采取可头戴显示器的形式或包括可头戴显示器,诸如关于图1A至图1G所述的头戴式设备102、152或172。
[0070] 设备210可以包括处理器214和显示器216。显示器216可以是例如光学透视显示器、光学环视显示器或视频透视显示器。处理器214可以从远程设备230接收数据,并配置该数据用于在显示器216上显示。例如,处理器214可以是任何类型的处理器,诸如微处理器或数字信号处理器。
[0071] 设备210还可以包括板上数据存储装置,诸如耦合到处理器214的存储器218。例如,存储器218可以存储可由处理器214访问和执行的软件。
[0072] 远程设备230可以是被配置为向设备210发送数据的任何类型的计算设备或发送器,包括膝上型计算机、移动电话、可头戴显示器、平板计算设备等。远程设备230和设备210可以包含硬件(诸如处理器、发送器、接收器、天线等)以使能通信链路220。
[0073] 此外,远程设备230可以采取计算系统的形式或者在计算系统中实施,该计算系统与客户端设备(诸如计算设备210)通信并被配置为代表该客户端设备执行功能。这种远程设备230可以从另一个计算设备210(例如,HMD102、HMD 152或HMD 172或移动电话)接收数据,代表设备210执行某些处理功能,然后将产生的数据发送回设备210。该功能可以被称作为“云”计算。
[0074] 在图2中,通信链路220被示出为无线连接;然而,也可以使用有线连接。例如,通信链路220可以是有线串行总线(诸如通用串行总线)或并行总线。有线连接也可以是专有连接。通信链路220除了其他可能性以外也可以是使用例如 无线电技术、IEEE 802.11(包括任何IEEE 802.11修订版)中描述的通信协议、蜂窝技术(诸如GSM、CDMA、UMTS、EV-DO、WiMAX、或LTE)或 技术的无线连接远程设备230可以经由互联网访问,并且可以包括与特定网络服务(例如,社交网络、照片共享、地址簿等)相关联的计算集群。
[0075] 在一些实施例中,HMD可以是模块化的,使得模块化HMD系统的各种组件可以彼此换入换出。模块化HMD系统包括可以附接在一起以形成完整功能的HMD的组件。例如,可以通过从某些组件类别中的每一个选择至少一个组件并将所选组件彼此附接以形成HMD而从模块化HMD系统形成HMD。此外,模块化HMD系统可以通过将多个组件包括在至少一个核心组件类别中来提供模块性,这些组件可以各自与相同类别的其他组件互换(例如,使得用户可以通过将一个组件交换成在相同类别中的另一个组件来容易地改变他们的HMD的外观和/或功能)。此外,模块化HMD系统可以包括可选组件,其可以被集成到模块化HMD中,但不需要形成完整功能的HMD。这种组件类别的示例除了其他可能性以外还可以包括但不限于框架(具有或不具有镜片)、镜片、显示器、相机、芯片组、处理器、存储器、美观的附件、输入设备以及前述的组合。
[0076] 图3是根据示例实施例的模块化HMD系统300的图示。模块化HMD系统300包括核心组件302,核心组件302可以为模块化HMD提供核心电子组件以及可能所有电子组件。例如,核心组件302除了其他可能性以外还提供HMD的一个侧臂303、透视显示器304、相机、各种传感器、电池、板上计算系统、(多个)有线和/或无线通信接口、和/或(多个)通信端口。
[0077] 在一些实施例中,模块化HMD系统可以包括两个或更多个不同且可互换的核心组件。例如,模块化HMD系统可以包括核心组件302和可以由用户与核心组件302交换的一个或多个其他核心组件。其他核心组件中的每一个可以因为以下而与核心组件302不同:例如除了其他可能性以外还(a)包括不同类型的侧臂,(b)包括不同类型的显示器,(c)包括不同相机和/或不同数量的相机(以及可能没相机),(d)包括不同传感器、更多或更少的相同的传感器,和/或在核心组件上的传感器的不同布置,(e)包括不同电池,(f)包括不同板上计算系统,(g)包括(多个)不同有线和/或无线通信接口,和/或(h)包括(多个)不同通信端口。
[0078] 模块化HMD系统300还包括具有前侧312和侧臂314的框架组件310。此外,框架组件310包括与核心组件302上的凹形(female)附接特征(attachment feature)308相对应的凸形(male)附接特征316,使得框架组件310可以被附接到核心组件302。因此,当附接组件316被插入到附接特征308中时,核心组件302使得框架组件310可以共同地形成具有完整的支撑结构的HMD(例如,两个侧臂和具有鼻托320的前部)。此外,框架组件310可以与其他类型的框架组件互换,其他类型的框架组件可以包括不同类型的镜片(例如,太阳镜镜片或传统镜片)。
[0079] III.具有编码镜片的示例系统
[0080] 如上所述,在其中不同类型的镜片可由用户使用和交换的模块化HMD系统中,可能期望提供一种机制,系统的其他组件可以通过该机制快速且离散地明确当前哪个镜片被附接到HMD(例如,在用户很少干预或几乎没有干预的情况下)。提供这样的信息,模块化系统的其它组件(例如,核心组件302)可以被配置为检测新镜片何时被附接到HMD,并且响应地更新可以根据被附接的特定镜片而变化的过程。如上面进一步指出的,这样的过程可以依赖于从镜片的内表面的反射用于确定眼睛位置和/或移动。这样的过程的一个示例将在下面的章节IV中详细描述。
[0081] 图4A是示出根据示例实施例的具有编码镜片406的HMD 400的图示。在图4A中,HMD 400被示出为正由穿戴者401穿戴。注意的是,虽然HMD400在下面单独描述,但是应当理解的是,HMD400可以与参考图1A至图3所述的任何HMD相同或相似。此外,HMD 400的组件可以以与参考图1A至图3所述的HMD的对应类型的组件相同或相似的方式起作用。当然,应当理解的是,HMD 400和/或其组件可以不同于参考图1A至图3所述的HMD和HMD组件。
[0082] 更详细地参考图4A,HMD 400包括:(a)具有包括镜片406的视场的IR相机402,(b)用于照射镜片406的第一IR光源404,(c)第二IR光源405,该第二IR光源405面向内部并且被布置成用红外“闪光”(例如,可以从眼睛反射出然后从镜片406的内表面反射出使得他们可以由IR相机402检测的点)来照射穿戴者的眼睛。该系统可以通过用来自第二IR光源405的闪光照射眼睛并且分析由IR相机402捕获的镜片406的IR图像数据中的闪光的形状和位置来提供眼睛跟踪。
[0083] 此外,镜片406包括IR可检测的机器可读代码410,其由镜片406的内表面上的涂层中的可变IR交互图案形成。因此,当镜片406被IR光源404照射时,机器可读代码410可以在由IR相机402捕获的图像数据中可见。如此以来,HMD中的板上计算机可以检测由IR相机402捕获的图像数据中的机器可读代码410,并且响应地执行过程以基于由机器可读代码410指示的镜片的特性来重新校准眼睛分析过程(诸如眼睛跟踪过程)。此外,注意的是,镜片406可以被配置为用作图形显示器,但也可以是在其他方面与传统眼镜或太阳镜类似的镜片。
[0084] 在示例实施例中,HMD的片上计算系统可以包括存储在非暂时性计算机可读介质中的程序指令,其可执行以:(a)接收HMD的镜片的内表面的红外(IR)图像数据,其中图像数据在用红外光照射镜片的内表面时被捕获,(b)在IR图像数据中检测从镜片的内表面反射的眼睛区域的反射;(c)在IR图像数据中检测从镜片的表面上的可变IR交互图案产生的机器可读代码;(d)基于所确定的镜片类型来校准眼睛分析过程;(e)将眼睛分析过程应用于眼睛的反射以确定与眼睛相对应的位置数据。可替换地,可以(例如,在“云”计算布置中)代表HMD在远程计算设备处执行这样的程序逻辑中的一些或全部。
[0085] HMD上的IR相机402和IR光源404的各种布置是可能的。例如,为了捕获包括HMD镜片106的内表面的图像,将IR相机402布置在HMD 100的侧臂的内表面上。如此配置,当穿戴HMD 400时,相机402的镜片通常被引导向且具有基本上包括HMD镜片106的视场409。类似地,IR光源104被布置在HMD 400的侧臂的内表面上,使得当穿戴HMD 400时,从光源404发射的IR光照射包括机器可读代码410的镜片406的至少一部分。
[0086] 注意的是,相机402的视场402可以被认为基本上包括HMD镜片406,只要视场包括从其可以明确机器可读代码410的镜片106的一部分。此外,在来自相机402的图像数据也被用来检测受控闪光(例如,用于眼睛跟踪过程的目的)的实施例中,如果视场402包括从其可以明确机器可读代码410和受控闪光两者的镜片406的一部分,则视场402可以被认为基本上包括HMD镜片406。
[0087] 可以利用各种类型的IR相机。通常,IR相机402可以是可操作来(例如,通过感测或检测黑体辐射)检测红外光谱中的波长的任何相机。此外,IR相机402可以可操作来创建表示可见光谱(诸如热谱图)中的IR波长的图像数据。注意的是,IR相机也可以被称为热图形相机(thermographic camera)或热成像相机(thermal imaging camera)。在HMD中,虽然理论上可以利用任何类型的IR相机,但是可能期望使用非制冷(uncooled)IR相机。
[0088] 注意的是,可以利用IR光源404和/或IR相机402的各种布置来照射和捕获由镜片上的选择性施加的光学涂层形成的可变IR交互图案的图像数据。通常,IR相机和IR光源可以被放置在HMD上的任何布置中,只要当穿戴HMD时,IR光源照射机器可读代码,并且IR相机包括在其视场中的机器可读代码(也可能是眼睛的反射和受控闪光)。另外,在一些实施例中,可以使用多于一个的IR相机来捕获镜片的IR图像数据,和/或可以使用多于一个的IR光源来照射在镜片上形成机器可读代码410的可变IR交互图案。在其他实施例中,单一IR光源或光源的集群可以被布置在HMD上使得单一光源可以照射机器可读代码410并且朝向眼睛发射提供受控闪光的光的聚焦点或波束。
[0089] 图4B是根据示例实施例的由IR相机402捕获的IR图像的图示。如图所示,图像可以包括在眼睛区域408(或者更准确地说,眼睛区域在镜片上的反射)中的若干闪光,其从由第二IR光源405发射的闪光图案产生,然后从穿戴者的眼睛区域反射并反射到镜片406的内表面上,使得IR相机402可以捕获镜片406的图像数据中的闪光的反射。(注意的是,在图4B中,闪光示出为在眼睛区域408上的黑点,但是没有明确标记。)此外,在图4B中示出的图像包括机器可读代码410。在图4B中所示的示例中,机器可读代码410是条形码。(当然,其他类型的代码或信息也可以通过镜片上的可变IR交互图案来提供。)
[0090] 镜片406可以被选择性涂层以形成机器可读代码410。例如,条形码410的黑暗部分可以从涂有IR反射材料的镜片406的区域产生,而条形码的明亮部分可以从没涂有IR反射材料的镜片406的区域产生。此外,镜片406可以由具有高IR透射率或吸收率的材料构成,这可以导致机器可读代码410的明亮部分和黑暗部分之间的对比度更加明显。注意的是,构成机器可读代码的图案可以由IR图像中的黑暗部分形成(意味着具有反射涂层的镜片的部分定义了代码的形状),或者可以由IR图像中的明亮部分形成(意味着没有反射涂层的镜片部分定义了代码的形状)。
[0091] 形成机器可读代码410的可变IR交互图案可以通过将各种类型的光学涂层施加到镜片来提供。特定光学涂层或光学涂层的特定组合可以在不同的实施例中变化。例如,各种金属涂层和/或各种介电涂层可以被施加到镜片406以在镜片上形成可变IR交互图案,该镜片以机器可读代码410的形状(或以描绘机器可读代码410轮廓的形状)反射IR波长。此外,被施加来在镜片上形成可变IR交互图案的光学涂层或光学涂层的组合可以是部分或完全透明的,使得图案不会使具有这种镜片的HMD的穿戴者分心。
[0092] 注意的是,镜片可以包括各种类型的机器可读代码和/或其他机器可读信息,其可以是或者可以不是人类可读的。例如,机器可读代码可以是标准的QR码或条形码格式。然而,可以利用其他代码格式。此外,在一些实施方式中,代码可以在明确特性方面提供一些帮助。例如,IR反射涂层可以形成镜片的轮廓,其可以提供镜片的大小和形状的指示。作为另一示例,IR反射材料可以在镜片的表面上形成垂直的直线,(例如,当直线的图像由具有直线镜片的相机捕获时)其可以提供镜片的方向的指示和其基础曲率的指示。
[0093] 图5A是根据示例实施例的由IR相机402捕获的IR图像500的图示。图5A包括根据示例实施例的镜片上的另一可变IR交互图案。如图所示,图像500可以包括眼睛区域在镜片上的反射中的若干受控闪光510。受控闪光510形成闪光图案,其可以促进根据示例实施例的眼睛跟踪过程。此外,在图5A中,光学涂层被选择性施加来以QR码502的形状形成可变IR交互图案。注意的是,QR码502的黑暗部分可以由涂有高度反射IR波长的光学涂层的区域形成,而QR码502的明亮部分可以由缺少任何涂层或具有不同涂层(例如,其是可检测地较少反射IR波长和/或IR吸收)的区域形成。
[0094] 图5B是根据示例实施例的由IR相机402捕获的另一IR图像550的图示,该IR图像550包括在镜片上的又一可变IR交互图案。如图所示,图像550可以包括眼睛区域在镜片上的反射中的若干受控闪光560。受控闪光560形成闪光图案,其可以促进根据示例实施例的眼睛跟踪过程。此外,在图5A中,光学涂层被选择性施加来形成包括十字552和线554的可变IR交互图案。该相对简单的图案(如与例如QR码相比)仍然可以被用来标识特定类型的镜片。在这种类型的简单编码系统中,可以通过例如改变线的数量和/或各种线相对于十字
552的方向来标识不同类型的镜片。
[0095] 此外,十字552和/或线554可以提供使得更易于标识镜片和/或确定镜片的一个或多个特性的信息。如此以来,当用户改变他们的模块化HMD上的镜片(或者多个镜片)时,十字552和/或线554可以提高HMD标识新镜片和/或自动调节眼睛跟踪过程和/或其他依赖镜片的过程的能力。例如,线554可以遵循框架的形状,并且因此可以提供镜片的形状和/或大小的指示,其可以反过来用来帮助标识特定镜片,或者至少镜片的类型。额外地或可替换地,十字552可以由镜片表面上的垂直线形成,该垂直线沿镜片的两个轴施加。此外,在一些实施例中,形成十字552的垂直线可以在镜片的中心点处相交。如此以来,十字552可以被用来帮助标识穿戴者上的方向(例如,相对于穿戴者的眼睛区域)和/或帮助确定镜片的形状。
[0096] 此外,如果形成十字552的线沿着镜片的两个轴的平面施加,则线将在这些平面中遵循镜片的曲率。另外,IR相机的镜片(例如,直线镜片)可以具有已知的光学特性,这可能导致形成十字552的线在二维图像数据中出现弯曲。如此以来,十字552的IR图像中的明显曲率的量可以被用来帮助确定特定镜片的基础曲率。
[0097] 在一些实施方式中,RFID标签可以被嵌入在眼镜镜片或框架中。RFID标签可以标识特定镜片(或至少镜片的类型或型号)。如此以来,示例方法可以使用RFID标签来标识特定镜片(以及因此其特性),而不是使用由镜片上的可变IR交互图案形成的机器可读代码。作为又一替代方案,示例方法可以通过RFID标签和可变IR交互图案(以及可能的其他标识信息)的特定组合来标识镜片。在其他实施方式中,可以利用计算机视觉技术来标识特定镜片,而不是利用形成机器可读代码的可变IR交互图案或与其组合。
[0098] IV.示例方法
[0099] 图6是示出根据示例实施例的方法600的流程图。诸如方法600的示例性方法可以整体地或部分地由具有可头戴显示器的穿戴式计算系统(例如,由可头戴设备的组件和/或系统)来实现。为了说明性目的,下面的描述可以简单地参考由计算系统实现的方法600。然而,应该理解的是,在不脱离本发明的范围的情况下,方法600或其部分可以由包括但不限于HMD的各种类型的设备实现,并且还可以由HMD和/或其他计算设备的各种组合来实现。
[0100] 此外,应当理解的是,诸如方法600的示例性方法也可以整体或部分地由设备或系统或者由一个或多个设备和/或一个或多个系统的组合来实现,该一个或多个设备和/或一个或多个系统与捕获(例如,来自HMD的)IR图像数据的设备或系统通信并且可以从该捕获IR图像数据的设备或系统接收数据。例如,示例性方法可以整体或部分地由服务器系统(例如,云服务器)来实施,该服务器系统从诸如HMD的计算系统接收数据。
[0101] 如框602所示,方法600涉及接收HMD的镜片的内表面的IR图像数据的计算系统,其中在用IR光(即红外光谱中的电磁波)照射镜片的内表面时捕获图像数据。因此,在一些实施例中,示例方法还可以涉及操作被布置成照射HMD镜片的内表面的IR光源的计算系统,并且在照射HMD镜片的内表面时,操作IR相机以捕获镜片的IR图像数据。
[0102] 在框604处,计算系统在镜片的内表面的IR图像数据中检测眼睛区域在镜片的内表面上的反射。此外,如框606所示,计算系统在镜片的内表面的IR图像数据中检测从对镜片上的可变IR交互图案的照射产生的机器可读代码。如框608所示,计算系统然后确定与检测到的机器可读代码相对应的镜片。如框610所示,计算系统可以基于所确定的镜片来校准眼睛分析过程。在示例实施例中,眼睛分析过程可以是眼睛跟踪或眼睛定位过程,或者是检测或确定眼睛的眼睛动作、眼睛移动、位置和/或方向的任何其它过程。然后,如框612所示,在校准眼睛分析过程之后,可以将眼睛分析过程应用于眼睛区域的反射,以确定与眼睛相对应的眼睛数据(例如,位置或方向数据)。
[0103] 如上所述,框608涉及计算系统确定与在镜片上检测到的机器可读代码相对应的镜片。在一些情况下,制造的每个镜片可以通过其自己独特的机器可读代码来标识。在其它情况下,独特的机器可读代码可以标识多种类型的镜片中的每一种(例如,使得相同类型的所有镜片将具有相同的机器可读代码)。此外,在一些实施例中,镜片上的机器可读代码可以标识包括镜片和HMD框架的至少一部分的组件(例如,图3中所示的框架组件310)。镜片上的机器可读代码也可以被用来标识包括镜片的其他类型的组件和结构。
[0104] 如上所述,框610涉及计算系统基于所确定的镜片来校准眼睛分析过程。在示例实施例中,该功能可以涉及基于所确定的镜片类型的一个或多个特性对眼睛分析过程进行一个或多个调整。具体地,可以调整眼睛分析过程以说明特定镜片(或特定类型的镜片)的一个或多个特性,诸如除了其他可能性以外还有以下中的一个或多个:(a)镜片的广角倾斜,(b)镜片的包覆,和(c)镜片的曲率(例如,基础曲率)。
[0105] 作为特定示例,当在眼睛区域的IR图像数据中检测到受控闪光时,来自相同闪光图案的闪光的间隔可以在来自不同类型的镜片的反射之间不同(例如,由于不同镜片的曲率不同)。因此,通过调整闪光的所确定的位置和/或间隔以说明在给定的时间点附接到模块化HMD的特定镜片的曲率和/或其他特性,可以使用所确定的镜片的特性来基于受控闪光来校准眼睛跟踪过程。
[0106] 此外,在镜片上的机器可读代码标识包括镜片的框架组件的实施例中,也可以使用框架的一个或多个特性(诸如框架保持镜片的与眼睛的距离和/或框架保持镜片的相对于眼睛的角度)来校准眼睛分析过程。例如,当在眼睛区域的IR图像数据中检测到受控闪光时,来自相同闪光图案的闪光的间隔可以根据框架组件如何相对于眼睛安放和定向镜片而变化。因此,框架组件的一个或多个特征可以被用在基于受控闪光的对眼睛跟踪过程的校准;例如,调整闪光的(多个)所确定的位置和/或间距以说明框架保持检测到的镜片的相对于穿戴者的眼睛区域的位置和/或方向。
[0107] 在再一方面,每当计算系统检测到新镜片已经附接到模块化HMD时,可以自动发起诸如方法600的示例方法。例如,返回参考图3,当框架组件310的凸形附接特征316被附接到核心组件302上的凹形附接特征308时,凸形附接特征316上的电引线可以完成电路以指示框架组件(并且因此作为框架组件的一部分的任何镜片)被附接。因此,然后HMD检测到框架组件脱离事件,随后是框架组件附接事件,其可被解释为意味着新镜片被附接到HMD。如此以来,HMD可以响应地实施方法600(或其至少一部分)来校准眼睛分析过程。具体地,HMD可以在镜片的内表面的随后的IR图像数据中检测从不同IR交互图案产生的第二机器可读代码,并且响应地:(i)确定与第二机器可读代码相对应的第二镜片类型,以及(ii)基于第二镜片类型来重新校准眼睛分析过程。
[0108] V.基于受控闪光的说明性眼睛跟踪
[0109] 一些眼睛跟踪技术利用“受控闪光”来确定眼睛移动。促进基于受控闪光的眼睛跟踪的系统可以包括引导向眼睛区域的若干光源,使得这些光源从眼睛(即受控闪光)的反射可以由也引导向眼睛(或者引导向重新引导从眼睛的反射的另一表面,诸如图4A和图4B中所示的镜片402)的摄像机来记录。然后可以分析受控闪光以确定眼睛的通常位置。
[0110] 作为特定示例,四个光源可以被配置为在眼睛上提供闪光的正方形或矩形布置。然而,由于眼睛的形状,闪光的通常正方形布置将根据眼睛的位置而扭曲。因此,可以其中分析闪光的布置从帧到帧扭曲的方式,以确定眼睛在帧之间如何移动。
[0111] 更具体地,为了从受控闪光中确定眼睛移动,视频图像的帧可以被平坦化。平坦化过程将眼睛的角膜表面的椭圆形状映射到二维图像,使得角膜表面上的闪光之间的实际距离被表示在二维图像中。然后,示例性系统可以确定平坦化帧之间的光流,其指示闪光在帧之间如何移动。然后可以将光流重新映射到角膜表面以确定眼睛已经如何移动。
[0112] 虽然上述示例在某些场景下可以是用于眼睛跟踪的有效技术,但是环境光(ambient light)可能经常干扰受控闪光。更具体地,环境光也可以反射眼睛并创建“环境闪光”,其也可以由眼睛的视频捕获。在一些实例中,环境光反射可以使得难以或者甚至不可能确定闪光是受控闪光还是环境闪光。因此,环境光可以使基于受控闪光的眼睛跟踪数据不准确。
[0113] 为了帮助将受控闪光与环境闪光区分开,示例性实施例可以在每一帧中断开一个光源,并旋转断开的光源。例如,考虑上面的示例,其中四个光源被配置为提供受控闪光的通常正方形的布置。在该配置中,示例性系统可以在视频的每一帧期间断开一个光源,旋转关闭的光源使得每个光源在每第四帧被断开。如此以来,受控闪光的通常结构将在每一帧中是已知的,这可以帮助区分受控闪光与环境闪光。
[0114] 在示例性实施例的再一方面,捕获闪光的光源和摄像机可以在具有可头戴显示器(HMD)的穿戴式计算机上来实施。特别地,眼镜式HMD的镜片框架可以包括均引导向眼睛的面向内部的光源(例如,LED)和面向内部的摄像机的阵列。
[0115] A.示例性HMD实施的方法
[0116] 图7是示出根据示例性实施例的用于使用受控闪光的眼睛跟踪的方法700的流程图。诸如方法700的示例性方法可以整体或部分地由具有可头戴显示器(取决于特定实施方式,其还可以具有面向内部的相机)的穿戴计算机来实现。
[0117] 如图7的框702所示,示例性方法700涉及HMD,其使得附接到HMD的相机记录眼睛的视频(或者换句话说,捕获眼睛的图像的序列)。在正在记录眼睛的视频时,HMD使得可以附接到HMD的若干(例如,三个或更多个)面向眼睛的光源根据预定模式接通和断开,其中预定模式为在正在记录眼睛的视频时在任何给定时间接通至少两个光源,如框704所示。然后,HMD可以分析眼睛的视频以检测与多个光源相对应的受控闪光,如框706所示。然后,HMD可以基于受控闪光来确定对眼睛位置的测量,如框708所示。
[0118] i.根据预定模式接通和断开光源
[0119] 如上所述,在框704处,根据其中在任何给定的时间点接通至少两个光源的预定模式来接通和断开光源。作为通常的示例,这样的预定模式可以涉及根据预定的时间表,在正在记录眼睛的视频时在给定的时间仅断开光源中的一个,并且将断开的光源改变一次或多次。其他通常的示例也是可能的。
[0120] 在一些实施例中,预定模式可以是光源组合的预定序列,其中每个组合具有被接通的某些光源。此外,在这样的实施例中,可以重复光源组合的序列。
[0121] 图8A是根据示例性实施例的光源组合的预定序列的简化图示。具体地,图8A示出了经过四个光源组合804A至804D的序列的HMD 802。为此,HMD 802包括四个光源806A至806D,其被附接到HMD 802的框架并且彼此之间具有基本上矩形的空间关系。如此配置,HMD 
802可以根据预定模式单独地接通和断开光源806A至806D。(注意的是,出于图8A中的说明的目的,断开的光源是黑色的,并且接通的光源是白色的。)
[0122] 在所示的实施例中,预定模式可以是光源组合804A至804D的序列。如此以来,HMD 802可以最初接通光源806A和806B以形成光源组合804A。然后,在预定的时间段之后,HMD可以接通光源806A、806C和806D以形成光源组合804B。在再次等待预定时间段之后,HMD 802可以接通所有光源806A至806D以形成光源组合804C。接下来,并且在再次等待预定时间段之后,HMD 802可以接通光源806A至806C以形成光源组合804D。此外,HMD 802可以重复光源组合804A至804D的上述循环一次或多次。
[0123] ii.分析视频以检测受控闪光
[0124] 由于光源组合的序列的定时通常是已知的,所以HMD可以知道在分析眼睛的视频来检测受控闪光时搜索哪个闪光。更具体地,在方法700的框706处,HMD可以为在每一帧中捕获的受控闪光分析视频的各个帧。为此,HMD可以首先确定当记录帧时(例如,通过确定在帧被记录时在该序列中形成了什么组合)哪些光源被接通。如此以来,HMD可以通过仅搜索与在帧被记录时接通的光源相对应的受控闪光来更有效地分析帧。
[0125] 图8B是根据示例性实施例的来自在图8A中所示的光源组合的序列期间捕获的眼睛的视频的帧的简化图示。具体地,帧810A至810D分别捕获与光源组合804A至804D相对应的受控闪光。
[0126] 更具体地,帧810A捕获与光源组合804A相对应的受控闪光812(即从该从眼睛反射的光源806A和806B产生的受控闪光)。类似地,帧810B捕获与光源组合804B相对应的受控闪光814(即与光源806A、806C和806D相对应的受控闪光),帧810C捕获与光源组合804C相对应的受控闪光816(即与所有光源806A至到806D相对应的受控闪光),并且帧810D捕获与光源组合804D相对应的受控闪光818(即与光源806A至806C相对应的受控闪光)。
[0127] 注意的是,在一些实施例中,形成序列中的一个光源组合的光源可以保持打开,直到应该是序列中的下一个光源组合。在这样的实施例中,当HMD从连续组合的第一个切换到第二个时,可以简单地保持打开光源,该光源在预定序列中的连续光源组合中接通。例如,在这样的实施例中,从光源组合804A切换到光源组合804B可以涉及断开光源806B、接通光源806C和806D、以及简单地保持光源806A接通。其他示例也是可能的。
[0128] 在其他实施例中,HMD可以断开序列中的光源组合之间的所有光源。例如,HMD可以接通给定的组合的光源某一时间段,然后在接通形成序列中的下一个组合的光源之前将所有光源断开某一时间段。
[0129] 注意的是,取决于具体实施方式,每个组合形成的时段和/或HMD断开序列中的组合之间的所有光源的时段可以变化。例如,在一些实施方式中,HMD 802可以使光源组合闪烁,使得每个光源组合形成短时间段,否则断开光源。通过断开中序列组合之间的光源,这样的实施方式可以帮助节省电力和/或可以提供其他好处。
[0130] 此外,在这样的实施方式中,HMD使光源组合闪烁的定时可以与捕获眼睛的视频的帧基本上相位同步。例如,可以使光源组合闪烁,使得在每个视频帧中捕获与所接通的光源相对应的闪光。为此,可以根据视频的帧速率对光源组合的序列进行定时,使得HMD在捕获到眼睛的视频中的下一帧之前形成序列中的下一个组合。因此,对于眼睛的视频中的任何两个连续的帧,当两个连续帧中的第一帧被记录时形成的光源组合将不同于当连续帧中第二帧被记录时形成的光源组合。
[0131] 在一些实施例中,光源接通和断开的预定图案可以使得在任何给定的光源组合中断开不超过一个光源。由于具有更多光源通常导致具有可用来确定眼睛位置的更多受控闪光,所以当捕获眼睛的给定图像时增加接通的光源的数量可以提高可以基于对应的闪光而测量的眼睛位置的准确度。因此,在任何给定的组合中断开不超过一个光源的光源组合的序列可以促进比包括断开多于一个的光源的组合的序列更准确的眼睛跟踪。
[0132] 图9是根据示例性实施例的光源组合的预定序列的简化图示。具体地,图9示出了光源组合904A至904D的序列,其中在任何给定的组合中断开不多于一个的光源。更具体地,在序列的第一光源组合904A中,光源906A被断开,而光源906B、906C和906D被接通。在序列中的第二光源组合904B中,光源906B被断开,而光源906A、906C和906D被接通。在序列中的第三光源组合904C中,光源906C被断开,而光源906A、906B和906D被接通。最后,在序列中的第四光源组合904D中,光源906D被断开,而光源906A、906B和906C被接通。
[0133] 应当理解的是,图8A、图8B和图9中的示例是为了说明性目的而提供的,并且对所示示例的许多变化和其他示例是可能的。例如,虽然图8A、图8B和图9示出了具有布置成矩形关系的四个光源的HMD,但是HMD上的光源的数量和光源的布置可以变化。此外,虽然图8A、图8B和图9示出了其中预定图案采取四个光源组合的序列的形式的示例,在不脱离本发明的范围的情况下,在这样的序列中的光源组合的数量可以变化。其他示例和对上述示例的变化也是可能的。
[0134] iii.基于受控闪光确定眼睛位置
[0135] 返回参考图7的框706和708,HMD可以使用各种技术来基于检测到的闪光来确定对眼睛位置的测量。具体地,HMD可以逐帧确定眼睛位置。因此,当评估每一帧时,HMD可以确定在帧被记录的时间处的眼睛位置。
[0136] 例如,在方法700的框706处,当给定帧(例如,与该帧相对应的光源组合)被记录时,HMD可能已经确定了哪些光源被接通,并且如果对帧的分析成功,则HMD将已经检测到与特定光源组合相对应的受控闪光。如此以来,为了在框708处确定眼睛位置,HMD可以确定在给定帧中检测到的受控闪光之间的空间关系,然后基于该空间关系确定眼睛位置。
[0137] 具体地,帧中的受控闪光之间的空间关系可以根据眼睛的位置而变化。更具体地,由于光源通常是固定的,但是眼睛表面的曲率使得从眼睛表面到固定光源的距离通常会随着眼睛在眼眶内旋转而变化。因此,光源从眼睛的表面(例如,从角膜和/或巩膜)反射的角度可以根据眼睛的位置而变化。因此,当多个固定光源引导向眼睛时,与光源相对应的闪光之间的空间关系可以根据从当前眼睛位置产生的各个反射的角度而变化。在Hammoud的PassiveEye Monitoring的第136-141、202-204页中描述了这种方法的更多细节(尽管没有其中光源被接通和断开的任何变化)。
[0138] 在再一方面,通过确定具有多个帧的视频的过程中的眼睛位置,HMD可以在视频被记录的时间期间评估眼睛移动。例如,为了确定眼睛移动,HMD可以确定视频的两个或多个帧上的眼睛位置的改变。然后,HMD可以通过例如确定与视频的两个或多个帧上的眼睛位置的改变相对应的眼睛移动值(例如,眼睛在眼框中的角度移动),来量化位置的变化。其他示例也是可能的。
[0139] 应该理解的是,虽然诸如方法700的示例性方法通过示例被描述为由HMD来实施,但是示例性方法也可以整体或部分地由其他类型的计算设备来实施。例如,示例性方法可以整体或部分地由移动电话、平板计算机、配备有相机的膝上型计算机或台式计算机、和/或网络使能的相机来实施。可以实施示例性方法的计算设备或计算设备的组合的其他示例是可能的。通常,示例性方法可以由被配置为提供与本文所述相同或类似的功能的任何计算设备、计算系统或(多个)计算设备和/或(多个)计算系统的组合来实施。
[0140] 如上所述,诸如方法700的示例性方法也可以整体部或部分地由设备或系统或者由一个或多个设备和/或一个或多个系统的组合来实现,该一个或多个设备和/或一个或多个系统的组合与捕获眼睛跟踪数据的设备或系统(例如,HMD)通信并且可以从该捕获眼睛跟踪数据的设备或系统接收眼睛跟踪数据。例如,示例性方法可以整体或部分地由从诸如HMD的设备接收数据的服务器系统来实施。
[0141] VI.结论
[0142] 以上的详细描述参考附图描述了本公开的系统、设备和方法的各种特征和功能。
[0143] 在附图中,除非上下文另外指示,否则类似的符号通常指示类似的组件。在详细描述、附图和权利要求书中描述的说明性实施例并不意味着限制。在不脱离本文呈现的主题的范围的情况下,可以使用其他实施例,并且可以做出其他改变。将容易理解的是,如本文通常描述的以及在附图中示出的本公开的方面可以以各种各样的不同配置进行布置、替换、组合、分离和设计,所有这些都在本文中被明确地考虑。
[0144] 关于附图中以及如本文所讨论的消息流图、场景和流程图中的任何或全部,每个步骤、框和/或通信可以根据示例实施例表示信息的处理和/或信息的传输。替代实施例被包括在这些示例性实施例的范围内。在这些替代实施例中,例如,基于涉及的功能,被描述为步骤、框、传输、通信、请求、响应和/或消息的功能可以与所示出或讨论的顺序无关地(包括以基本上同时或以相反的顺序)执行。此外,更多或更少的步骤、框和/或功能可以与本文讨论的任何消息流图、场景和流程图一起使用,并且这些消息流图、场景和流程图可以部分或整体地相互组合。
[0145] 表示信息处理的步骤或框可以与可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路相对应。可替换地或额外地,表示信息处理的步骤或框可以与程序代码(包括相关数据)的模块、段、或一部分相对应。程序代码可以包括可由计算系统运行的一个或多个指令。这样的计算系统可以包括各种计算设备或其组件,诸如用于实施该方法或技术中的特定逻辑功能或动作的处理器或微处理器。
[0146] 程序代码和/或相关数据可以被存储在任何类型的计算机可读介质上,包括诸如存储设备(包括磁盘驱动器、硬盘驱动器或其他存储介质)的非暂时性计算机可读介质。计算机可读介质可以包括诸如像寄存器存储器、处理器高速缓存和/或随机存取存储器(Random Access Memory,RAM)那样的短时间存储数据的计算机可读介质的非暂时性计算机可读介质。例如,计算机可读介质还可以包括存储程序代码和/或数据更长时间段的非暂时性计算机可读介质,诸如辅助或持久长期存储装置,如只读存储器(Read Only Memory,ROM)、光盘或磁盘、和/或光盘只读存储器(Compact-Disc Read Only Memory,CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质或者有形存储设备。
[0147] 此外,表示一个或多个信息传输的步骤或框可以与同一物理设备中的软件和/或硬件模块之间的信息传输相对应。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间。