一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

由可穿戴设备进行面部模型捕获的制作方法

2022-04-16 14:25:38 来源:中国专利 TAG:

由可穿戴设备进行面部模型捕获
1.本技术是申请号为201780072862.7的中国专利申请的分案申请,原申请的国际申请号为pct/us2017/053729,申请日为2017年09月27日,优先权日为2016年09月28日,进入中国国家阶段的日期为2019年05月24日,发明名称为“由可穿戴设备进行面部模型捕获”。
2.相关申请的交叉引用
3.本技术根据35u.s.c.
§
119(e)要求2016年9月28日提交的题为“由增强现实设备进行面部模型捕获”的美国临时申请no.62/400,907的优先权权益,其公开内容通过引用整体结合于此。
技术领域
4.本公开涉及虚拟现实和增强现实成像和可视化系统,并且更具体地涉及生成这种系统的用户的面部模型。


背景技术:

5.现代计算和显示技术促进了用于所谓的“虚拟现实”、“增强现实”或“混合现实”体验的系统的开发,其中数字再现的图像或其部分以其看起来似乎被认为是或可能被感知是真实的的方式呈现给用户。虚拟现实或“vr”场景通常涉及数字或虚拟图像信息的呈现,而不透明于其他实际的真实世界的视觉输入;增强现实或“ar”场景通常涉及将数字或虚拟图像信息呈现为对用户周围的现实世界的可视化的增强;混合现实或“mr”,涉及真实世界和虚拟世界合并在一起,以生成物理对象和虚拟对象共存并实时交互的新环境。事实证明,人类的视觉感知系统非常复杂,开发促进虚拟图像元素在其它虚拟或现实世界图像元素中的舒适的、感觉自然的、丰富的呈现的vr、ar或mr技术是有挑战性的。本文公开的系统和方法解决了与vr、ar和mr技术有关的各种挑战。


技术实现要素:

6.公开了用于捕获面部图像并确定面部模型的混合现实系统的各种实施例。
7.公开了用于为头戴式设备的用户生成面部模型的系统和方法。头戴式设备可以包括一个或多个眼睛相机,其被配置为在用户穿上设备或取下设备时对用户的面部成像。可以使用立体视觉技术、单眼视觉技术或组合来分析由眼睛相机获得的图像,以为用户生成面部模型。
8.在附图和以下描述中阐述了本说明书中描述的主题的一个或多个实施方式的细节。从说明书、附图和权利要求中,其它特征、方面和优点将变得显而易见。该概述和以下详细描述都不旨在限定或限制本发明主题的范围。
附图说明
9.图1描绘了具有某些虚拟现实对象以及由人观看的某些物理对象的混合现实场景的图示。
10.图2示意性地示出了可穿戴系统的示例。
11.图3示意性地示出了使用多个深度平面模拟三维图像的方法的方面。
12.图4示意性地示出了用于将图像信息输出给用户的波导堆叠的示例。
13.图5示出了可以由波导输出的示例出射光束。
14.图6是示出光学系统的示意图,该光学系统包括:波导装置;光学耦合器子系统,其将光光学耦合到波导装置或将光从波导装置光学耦合出;以及控制子系统,其用于生成多焦点体积显示、图像或光场。
15.图7是可穿戴系统的示例的框图。
16.图8是渲染与识别的对象有关的虚拟内容的方法的示例的过程流程图。
17.图9是可穿戴系统的另一示例的框图。
18.图10是用于与虚拟用户界面交互的方法的示例的过程流程图。
19.图11示出了示例可穿戴设备,该示例可穿戴设备可以在用户穿上(或取下)可穿戴设备时获取用户面部的图像。
20.图12示出了用于生成面部模型的示例过程。
21.图13a描述了使用立体视觉技术生成面部模型的示例过程。
22.图13b描述了使用单眼视觉技术生成面部模型的示例过程。
23.在整个附图中,可以重复使用附图标记来指示所引用的元件之间的对应关系。提供附图是为了说明在此描述的示例实施例,并且不旨在限制本公开的范围。
具体实施方式
24.概述
25.增强或虚拟现实系统的用户可以使用可穿戴设备(诸如头戴式显示器(hmd))来沉浸在具有虚拟对象的替代世界中。有时,可穿戴设备可以在该替代世界中呈现用户的头像(其包括例如虚拟图像)以用于与其他用户的交互。为了为头像提供逼真的图像和运动,可穿戴设备可以基于用户的面部外观和表情来提供头像图像。可以基于由可穿戴设备的一个或多个成像系统获取的图像来构建头像图像。成像系统可以包括面向内的成像系统和面向外的成像系统,该面向内的成像系统可以包括用于跟踪用户的眼睛运动的眼睛相机,该面向外的成像系统可以包括用于对用户的环境成像的相机。然而,可穿戴设备的成像系统一旦被放置在用户的头部上就不能容易地对用户的面部成像。例如,当用户佩戴可穿戴设备以及眼睛相机可能没有足够大的视野用于对用户的整个面部成像时,面向内的成像系统可以被配置为对用户的眼周区域成像。作为另一示例,当用户佩戴可穿戴设备并且因此不能容易地获得用户的面部图像时,面向外的成像系统的相机被配置为指向远离用户。这导致用于生成用于渲染虚拟头像的可接受图像的各种困难。
26.在此描述的可穿戴设备旨在通过提供成像系统来减少这些困难,该成像系统被配置成在用户穿上或取下可穿戴设备时获得用户面部的图像。有利地,可穿戴设备可以使用面向内的成像系统来当用户穿上或取下设备时获得用户面部的图像,这提供了面向内的成像系统的非传统应用(其目的是眼睛跟踪)以获取面部图像。此外,可穿戴设备可以通过检测开始或停止触发(例如,可以基于可穿戴设备获取的图像或基于可穿戴设备的运动)来自动开始和停止对用户的面部成像。有利地,通过在用户穿上或取下设备时自动获取图像,用
户可能不需要执行附加动作(例如,围绕用户头部旋转或移动可穿戴设备)以便可穿戴设备生成面部模型。而且,通过在可穿戴设备坐在用户的面部上时停止成像,面向内的成像系统可以自动开始其(通常)跟踪用户眼睛的主要功能。
27.图像可以包括静止图像、照片、动画、来自视频的单独帧,或视频。可穿戴设备可以基于由成像系统获取的图像来构建用户面部的三维(3d)模型。例如,可穿戴设备可以具有两个眼睛相机,每个眼睛相机被配置为录制用户面部的区域。对于视频的每个帧,可穿戴设备可以合成由两个眼睛相机获取的图像以生成3d面部模型。另外地或可替代地,可穿戴设备可以单独地合成由每个眼睛相机获取的图像,并且为每个眼睛相机组合合成的图像以生成3d面部模型。
28.所得到的模型可以用于诸如生成虚拟头像,确定可穿戴设备的适配,执行用户识别,执行图像配准或调整可穿戴设备的操作参数的目的,诸如例如,基于用户眼睛的眼间分离(例如,瞳孔间距离)或用户面部的其它度量,调节虚拟图像的渲染位置、光投影仪的相对位置或取向等。
29.可穿戴系统的3d显示示例
30.可穿戴系统(在此也称为增强现实(ar)系统)可以被配置为向用户呈现2d或3d虚拟图像。图像可以是静止图像、视频的帧或视频、以组合的形式等。可穿戴系统的至少一部分可以实现在可以单独或组合地呈现vr、ar或mr环境用于用户交互的可穿戴设备上。可穿戴设备可以是头戴式设备(hmd),其能够互换地作为ar设备(ard)来使用。此外,为了本公开的目的,术语“ar”能够与术语“mr”互换使用。
31.图1描绘了具有某些虚拟现实对象以及由人看到的某些物理对象的混合现实场景的图示。在图1中,描绘了mr场景100,其中mr技术的用户看到以背景中的人、树、建筑为特征的真实世界的公园状的设置110以及实体平台120。除了这些项目,mr技术的用户还感觉他“看到”站在真实世界的平台120上的机器人雕像130,以及看起来像飞行的蜜蜂的化身的卡通式的头像角色140,尽管这些元素不存在于真实世界中。
32.为了使3d显示器产生真实的深度感觉,并且更具体地,模拟的表面深度感觉,可以期望显示器的视场中的每个点产生与其虚拟深度对应的适应响应。如果对显示点的适应响应不对应于该点的虚拟深度(由汇聚和立体视觉的双眼深度线索确定),则人眼可能经历适应冲突,导致成像不稳定、有害的眼部紧张、头痛,并且在没有适应信息的情况下,几乎完全缺乏表面深度。
33.vr、ar和mr体验可以通过具有显示器的显示系统来提供,其中与多个深度平面对应的图像被提供给观看者。对于每个深度平面,图像可以是不同的(例如,提供场景或对象的略微不同的呈现),并且可以由观看者的眼睛单独聚焦,从而有助于基于眼睛所需的适应向用户提供深度线索,为位于不同深度平面上的场景或基于观察不同深度平面上的不同图像特征失焦而聚焦不同图像特征。如在此其它地方所讨论的,这样的深度线索提供了可靠的深度感知。
34.图2示出可以配置为提供ar/vr/mr场景的可穿戴系统200的示例。可穿戴系统200还可以被称为ar系统200。可穿戴系统200包括显示器220,以及支持显示器220的功能的各种机械和电子模块和系统。显示器220可以耦合到可由用户、穿戴者或观看者210穿戴的框架230。显示器220可以定位在用户210的眼睛的前方。显示器220可以向用户呈现ar/vr/mr
内容。显示器220可以包括穿戴在用户头部上的头戴式显示器。
35.在一些实施例中,扬声器240耦合到框架230并且定位成邻近用户的耳道(在一些实施例中,未示出的另一个扬声器定位成邻近用户的另一个耳道以提供立体/可塑造声音控制)。显示器220可以包括用于从环境检测音频流并且捕获周围环境的声音的音频传感器(例如,麦克风)232。在一些实施例中,设置未示出的一个或多个其他的音频传感器来提供立体声接收。立体声接收可以用于确定声源的位置。可穿戴系统200可以对音频流执行话音或语音识别。
36.可穿戴系统200可以包括观察用户周围环境中世界的面向外的成像系统464(在图4中示出)。可穿戴系统200还可以包括可以跟踪用户的眼睛运动的面向内的成像系统462(在图4中示出)。面向内的成像系统可以跟踪一只眼睛的运动或两只眼睛的运动。面向内的成像系统462可以附接到框架230并且可以与处理模块260和/或270电通信,处理模块260或270可以处理由面向内的成像系统获取的图像信息以确定例如瞳孔直径或眼睛的方位、用户210的眼睛移动或眼睛姿势。面向内的成像系统462可包括一个或多个相机。例如,至少一个相机可用于对每只眼睛成像。由相机获取的图像可以用于分别确定每只眼睛的瞳孔大小或眼睛姿势,从而允许向每只眼睛呈现图像信息以动态地为该眼睛调整。作为另一示例,确定仅一只眼睛的瞳孔直径或取向(例如,基于针对配置为获取该眼睛的图像的相机获取的图像)并且假设针对该眼睛确定的眼睛特征对于用户210的另一只眼睛是相似的。
37.作为示例,可穿戴系统200可以使用面向外的成像系统464或面向内的成像系统462来获取用户的姿势的图像。图像可以是静止图像、视频的帧或视频。
38.显示器220诸如通过有线导线或无线连接可操作地耦合250到本地数据处理模块260,该本地数据处理模块260可以以各种配置安装,诸如固定地附接到框架230,固定地附接到由用户穿戴的头盔或帽子,嵌入到耳机中,或以其它方式可移除地附接到用户210(例如,以背包方式的配置,以带式耦合方式的配置)。
39.本地处理和数据模块260可以包括硬件处理器以及诸如非易失性存储器(例如,闪速存储器)的数字存储器,二者都可用于辅助数据的处理、缓冲以及存储。数据可以包括如下数据:a)从传感器(其可以例如可操作地耦合到框架230或以其它方式附接到用户210)捕获的数据,例如图像捕获设备(例如,面向内的成像系统或面向外的成像系统中的相机)、音频传感器(例如,麦克风)、惯性测量单元(imu)、加速度计、罗盘、全球定位系统(gps)单元、无线电设备或陀螺仪;或b)使用远程处理模块270或远程数据储存库280获取或处理的数据,可能在这样的处理或检索之后传递给显示器220。本地处理和数据模块260可以通过通信链路262或264(诸如经由有线或无线通信链路)可操作地耦合到远程处理模块270或远程数据储存库280,使得这些远程模块作为资源可用于本地处理和数据模块260。另外,远程处理模块280和远程数据储存库280可以相互可操作地耦合。
40.在一些实施例中,远程处理模块270可以包括被配置为分析和处理数据或图像信息的一个或多个处理器。在一些实施例中,远程数据储存库280可以包括数字数据存储设施,其可以通过互联网或其它网络配置以“云”资源配置而可用。在一些实施例中,在本地处理和数据模块中存储全部数据,并且执行全部计算,允许从远程模块完全自主使用。
41.人类视觉系统复杂,并且提供深度的现实感知是具挑战性的。不受理论的限制,相信由于聚散度和调节的组合,对象的观看者可以将对象感知为三维的。两只眼睛彼此相对
的聚散运动(即,光瞳孔彼此相向或远离的滚动运动,以会聚眼睛的视线来注视对象)与眼睛晶状体的聚焦(或“调节”)密切相关。在正常情况下,改变眼睛晶状体的焦点或调节眼睛,以将焦点从在不同距离处的一个对象改变到另一个对象,将会在称为“调节聚散度反射(accommodation-vergence reflex)”的关系下自动地导致在聚散度上的匹配改变达到相同的距离。同样,在正常情况下,聚散度的改变将引发调节的匹配改变。提供调节和聚散度之间的更好匹配的显示系统可以形成更逼真且舒适的三维图像模拟。
42.图3示出了使用多个深度平面来模拟三维图像的方法的方面。参考图3,在z轴上距眼睛302和眼睛304的不同距离处的对象由眼睛302和眼睛304适应,以使得那些对象在焦点中。眼睛302和眼睛304呈现特定的适应状态,以使沿着z轴的不同距离处的对象进入焦点。因此,可以说特定的适应状态与深度平面306中的特定一个深度平面相关联,该特定深度平面具有相关联的焦距,以使得当眼睛处于该深度平面的适应状态时,特定深度平面中的对象或对象的部分被聚焦。在一些实施例中,可以通过为眼睛302和304中的每一只眼睛提供图像的不同呈现来模拟三维图像,并且还通过提供与深度平面中每一个深度平面对应的图像的不同呈现来模拟三维图像。尽管为了清楚说明而示出为分离的,但应理解的是,例如,随着沿着z轴的距离增加,眼睛302和眼睛304的视场可能重叠。另外,虽然为了便于说明而示出为平坦的,但应理解的是,深度平面的轮廓可以在物理空间中是弯曲的,使得深度平面中的所有特征在特定的适应状态下与眼睛对焦。不受理论的限制,可以相信的是,人类眼睛通常可以解释有限数量的深度平面以提供深度感知。因此,通过向眼睛提供与这些有限数量的深度平面中的每一个深度平面对应的图像的不同呈现,可以实现感知深度的高度可信的模拟。
43.波导堆叠组件
44.图4示出了用于向用户输出图像信息的波导堆叠的示例。可穿戴系统400包括可以用于采用多个波导432b、434b、436b、438b、4400b向眼睛/大脑提供三维感知的波导堆叠或堆叠波导组件480。在一些实施例中,可穿戴系统400对应于图2的可穿戴系统200,图4更详细地示意性地示出了该可穿戴系统200的一些部分。例如,在一些实施例中,波导组件480可以被集成到图2的显示器220中。
45.继续参考图4,波导组件480还可以包括在波导之间的多个特征458、456、454、452。在一些实施例中,特征458、456、454、452可以是透镜。在其它实施例中,特征458、456、454、452可以不是透镜。而是它们可以简单地是间隔物(例如,用于形成空气间隙的包层或结构)。
46.波导432b、434b、436b、438b、440b或多个透镜458、456、454、452可以被配置为以各种级别的波前曲率或光线发散向眼睛发送图像信息。每个波导级别可以与特定的深度平面相关联,并且可以被配置为输出与该深度平面对应的图像信息。图像注入装置420、422、424、426、428可用于将图像信息注入到波导440b、438b、436b、434b、432b中,其中的每一个波导可以被配置为分配入射光穿过每一个相应的波导,用于朝向眼睛410(其可以对应于图3中的眼睛304)输出。光从图像注入装置420、422、424、426、428的输出表面出射并被注入到波导440b、438b、436b、434b、432b的相应输入边缘。在一些实施例中,可以将单个光束(例如,准直光束)注入到每一个波导中,以便与特定波导相关联的深度平面对应的特定角度(和发散量)输出朝向眼睛410定向的克隆准直光束的整个视场。
47.在一些实施例中,图像注入装置420、422、424、426、428是分立显示器,每个显示器产生用于分别注入到相应波导440b、438b、436b、434b、432b中的图像信息。在一些其它实施例中,图像注入装置420、422、424、426、428是单个复用显示器的输出端,其可以例如经由一个或多个光导管(诸如,光纤线缆)向图像注入装置420、422、424、426、428中的每一个图像注入装置输送图像信息。
48.控制器460控制堆叠波导组件480和图像注入装置420、422、424、426、428的操作。控制器460包括调节图像信息到波导440b、438b、436b、434b、432b的定时和提供的编程(例如,在非暂时性计算机可读介质中的指令)。在一些实施例中,控制器460可以是单个整体装置,或通过有线或无线通信通道连接的分布式系统。在一些实施例中,控制器460可以是处理模块260或270(图2所示)的部分。
49.波导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可以形成在那片材料的表面上或那片材料的内部中。
50.继续参考图4,如在此所讨论的,每一个波导440b、438b、436b、434b、432b被配置为输出光以形成与特定深度平面对应的图像。例如,最接近眼睛的波导432b可以被配置为将如注入到这种波导432b中的准直光传送到眼睛410。准直光可以代表光学无限远焦平面。下一个上行波导434b可以被配置为将穿过第一透镜452(例如,负透镜)的准直光在其可以到达眼睛410之前发出。第一透镜452可以被配置为产生轻微凸面的波前曲率,使得眼睛/大脑将来自下一个上行波导434b的光解释为来自第一焦平面,该第一焦平面从光学无限远处更靠近向内朝向眼睛410。类似地,第三上波导436b将输出光在到达眼睛410之前穿过第一透镜452和第二透镜454。第一透镜452和第二透镜454的组合光功率可被配置为产生另一增量的波前曲率,以使得眼睛/大脑将来自第三波导436b的光解释为来自第二焦平面,该第二焦平面从光学无穷远比来自下一个上行波导434b的光更靠近向内朝向人。
51.其它波导层(例如,波导438b、440b)和透镜(例如,透镜456、458)被类似地配置,其中堆叠中的最高波导440b通过它与眼睛之间的全部透镜发送其输出,用于代表最靠近人的焦平面的聚合(aggregate)焦度。当在堆叠波导组件480的另一侧上观看/解释来自世界470的光时,为了补偿透镜458、456、454、452的堆叠,补偿透镜层430可以设置在堆叠的顶部处
以补偿下面的透镜堆叠458、456、454、452的聚合焦度。这种配置提供了与可用波导/透镜配对一样多的感知焦平面。波导的光提取光学元件和透镜的聚焦方面可以是静态的(例如,不是动态的或电激活的)。在一些替代实施例中,两者之一或者两者都可以是使用电激活特征而动态的。
52.继续参考图4,光提取光学元件440a、438a、436a、434a、432a可以被配置为将光重定向到它们相应的波导之外并且针对与波导相关联的特定深度平面输出具有适当的发散量或准直量的该光。结果,具有不同相关联深度平面的波导可具有不同配置的光提取光学元件,其取决于相关联的深度平面输出具有不同发散量的光。在一些实施例中,如在此所讨论的,光提取光学元件440a、438a、436a、434a、432a可以是体积或表面特征,其可以被配置为以特定角度输出光。例如,光提取光学元件440a、438a、436a、434a、432a可以是体积全息图、表面全息图和/或衍射光栅。在2015年6月25日公开的美国专利公开no.2015/0178939中描述了诸如衍射光栅的光提取光学元件,其通过引用全部并入在此。
53.在一些实施例中,光提取光学元件440a、438a、436a、434a、432a是形成衍射图案或“衍射光学元件”(在此也称为“doe”)的衍射特征。优选地,doe具有相对较低的衍射效率,以使得仅光束的一部分通过doe的每一个交点偏转向眼睛410,而其余部分经由全内反射继续移动通过波导。携带图像信息的光因此可以被分成多个相关的出射光束,该出射光束在多个位置处离开波导,并且该结果对于在波导内反弹的该特定准直光束是朝向眼睛304的相当均匀图案的出射发射。
54.在一些实施例中,一个或多个doe可以在它们主动地衍射的“开”状态和它们不显著衍射的“关”状态之间可切换。例如,可切换的doe可以包括聚合物分散液晶层,其中微滴在主体介质中包含衍射图案,并且微滴的折射率可以切换为基本上匹配主体材料的折射率(在这种情况下,图案不明显地衍射入射光),或者微滴可以切换为与主体介质的指数不匹配的指数(在这种情况下,该图案主动地衍射入射光)。
55.在一些实施例中,深度平面的数量和分布或景深可以基于观看者的眼睛的瞳孔大小或方位而动态地改变。景深可与观看者的瞳孔大小成反比。因此,随着观看者眼睛瞳孔的大小减小,景深增加,使得由于平面的位置超出了眼睛的聚焦深度而不可辨别的该平面可能变得可辨别,并且随着瞳孔大小的减小和景深的相应增加表现为更聚焦。类似地,用于向观看者呈现不同图像的间隔开的深度平面的数量可随着瞳孔大小减小而减小。例如,观看者在不调整眼睛远离一个深度平面和到另一个深度平面的适应性的情况下,可能不能清楚地感知处于一个瞳孔大小的第一深度平面和第二深度平面的细节。然而,这两个深度平面可以在不改变适应性的情况下,对于处于另一瞳孔大小的用户同时充分地聚焦。
56.在一些实施例中,显示系统可以改变接收图像信息的波导的数量,基于瞳孔大小或方位的确定或者基于接收特定瞳孔大小或方位的电信号指示。例如,如果用户的眼睛不能区分与两个波导相关联的两个深度平面,则控制器460(其可以是本地处理和数据模块260的实施例)可以被配置或编程为停止向这些波导中的一个提供图像信息。有利地,这可以减轻系统的处理负担,从而增加系统的响应性。在其中波导的doe可在开启和关闭状态之间切换的实施例中,当波导确实接收图像信息时,doe可切换到关闭状态。
57.在一些实施例中,可能期望的是出射光束符合直径小于观看者眼睛的直径的条件。然而,考虑到观看者的瞳孔大小的可变性,满足这种条件可能是具有挑战性的。在一些
实施例中,通过响应于观看者的瞳孔大小的确定而改变出射光束的大小,该条件在宽范围的瞳孔大小上满足。例如,随着瞳孔大小减小,出射光束的大小也可以减小。在一些实施例中,可以使用可变光圈来改变出射光束大小。
58.可穿戴系统400可以包括对世界470的一部分成像的面向外的成像系统464(例如,数字相机)。世界470的这部分可以被称为世界相机的视场(fov),并且成像系统464有时被称为fov相机。世界相机的fov可以与观看者210的fov相同或者可以与其不相同,其中观看者210的fov包含观看者210在给定时间感知到的世界470的一部分。例如,在一些情况下,世界相机的fov可以比可穿戴系统400的观看者210的更大。可供观看者观看或成像的整个区域可被称为能视场(field of regard(for))。由于佩戴者可以移动他的身体、头部或眼睛以感知基本上空间中的任何方向,因此for可以包括围绕可穿戴系统400的立体角的4π球面度。在其他语境下,佩戴者的移动可能更受限制,并且因此佩戴者的for可以对向较小的立体角。从面向外的成像系统464获得的图像可以用于跟踪用户做出的姿势(例如,手或手指姿势),检测用户前方的世界470中的对象等等。
59.可穿戴系统400可以包括例如麦克风的音频传感器232以捕获周围环境的声音。如上所述,在一些实施例中,可以设置一个或多个另外的音频传感器以提供对于语音源的位置确定有用的立体声接收。音频传感器232可以包括作为另一示例的定向麦克风,该定向麦克风还可以提供与音频源所处的位置有关的有用定向信息。可穿戴系统400可以使用来自面向外的成像系统464和音频传感器230二者的信息来定位语音源,或者在特定时刻确定有源说话者(speaker)等。例如,可穿戴系统400可以单独使用语音识别或者与说话者的反射图像(例如,如镜中所示)组合使用语音识别以确定说话者的身份。作为另一示例,可穿戴系统400可基于从定向麦克风获取的声音来确定说话者在环境中的位置。可穿戴系统400可以采用语音识别算法解析来自说话者位置的声音,以确定语音的内容,并使用语音识别技术来确定说话者的身份(例如,姓名或其它人口统计信息)。
60.可穿戴系统400还可以包括面向内的成像系统466(例如,数字相机),其观察用户的运动,诸如眼睛运动和面部运动。面向内的成像系统466可以用于捕获眼睛410的图像以确定眼睛304的瞳孔的大小和/或方位。面向内的成像系统466可以用于获得图像,这些图像用于确定用户正在观看的方向(例如,眼睛姿势)或用于用户的生物识别(例如,经由虹膜识别)。在一些实施例中,每只眼睛可以利用至少一个相机,以独立地分别确定每只眼睛的瞳孔大小或眼睛姿势,从而允许向每只眼睛呈现图像信息动态地适合该眼睛。在一些其它实施例中,只确定并假定单个眼睛410的瞳孔直径或方位(例如,每对眼睛仅使用单个相机)与用户的两只眼睛类似。可以分析由面向内的成像系统466获得的图像以确定用户的眼睛姿势或情绪,其可以由可穿戴系统400用来决定应该向用户呈现哪些音频或视觉内容。可穿戴系统400还可以使用诸如imu、加速度计、陀螺仪等的传感器来确定头部姿势(例如,头部位置或头部方位)。
61.可穿戴系统400可以包括用户输入设备466,用户可以通过该用户输入设备466向控制器460输入命令以与可穿戴系统400交互。例如,用户输入设备466可以包括触控板、触摸屏、操纵杆、多自由度(dof)控制器、电容感测设备、游戏控制器、键盘、鼠标、方向板(d-pad)、棒、触觉设备、图腾(例如,用作虚拟用户输入设备)等等。多dof控制器可以感测在控制器的一些或所有可能的平移(例如,左/右、前/后、或者上/下)或旋转(例如,偏航、俯仰或
滚动)中的用户输入。支持平移运动的多dof控制器可以被称为3dof,而支持平移和旋转的多dof可以被称为6dof。在一些情况下,用户可以使用手指(例如,拇指)在触敏输入设备上按压或滑动以向可穿戴系统400提供输入(例如,向由可穿戴系统400提供的用户界面提供用户输入)。用户输入设备466可在使用可穿戴系统400期间由用户的手握持。用户输入设备466可以与可穿戴系统400进行有线或无线通信。
62.图5示出了由波导输出的出射光束的示例。示出了一个波导,但是应该理解的是,波导组件480中的其它波导可以类似地起作用,其中波导组件480包括多个波导。光520在波导432b的输入边缘432c处被注入到波导432b中,并且通过tir在波导432b内传播。在光520撞击在doe 432a上的点处,一部分光如出射光束510离开波导。出射光束510被示出为基本上平行,但是取决于与波导432b相关联的深度平面,该出射光束510也可以以一定角度(例如,形成发散的出射光束)被重定向以传播到眼睛410。应该理解的是,基本上平行的出射光束可以指示具有光提取光学元件的波导,其中光提取光学元件将光外耦合以形成看起来被设置在距眼睛410较大距离(例如,光学无穷远)处的深度平面上的图像。其它波导或者其它光提取光学元件组可以输出更加发散的出射光束图案,这将需要眼睛410适应更近距离以将其聚焦在视网膜上并且将被大脑解释为光来自比光学无穷远更接近眼睛410的距离。
63.图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中。
64.中继的和出射光瞳扩展的光可以从分布波导装置被光耦合到一个或多个主平面波导632b中。主平面波导632b可以沿着优选地与第一轴正交的第二轴(例如,图6的视图中的水平轴或x轴)中继光。值得注意的是,第二轴可以是与第一轴非正交的轴。主平面波导632b沿着该第二轴(例如,x轴)扩展光的有效出射光瞳。例如,分布平面波导622b可以沿着垂直轴或y轴中继和扩展光,并且将该光传递到可以沿着水平轴或x轴中继和扩展光的主平面波导632b。
65.光学系统可以包括一个或多个彩色光源(例如,红色、绿色和蓝色激光)610,这些彩色光源可以光耦合到单模光纤640的近端中。可以穿过压电材料的中空管642来通过或接收光纤640的远端。远端作为非固定柔性悬臂644从管642突出。压电管642可以与四个象限电极(未示出)相关联。例如,电极可以镀在管642的外侧、外表面或外周或直径上。芯电极
(未示出)也可以位于管642的芯、中心、内周或内径中。
66.例如经由导线660电耦合的驱动电子器件650驱动相对的电极对独立地在两个轴上弯曲压电管642。光纤644的突出远端顶端具有机械谐振模式。谐振的频率可以取决于光纤644的直径、长度和材料特性。通过在光纤悬臂644的第一机械谐振模式附近振动压电管642,可以使得光纤悬臂644振动,并且可以扫过大的偏转。
67.通过激发两个轴上的谐振,光纤悬臂644的顶端在遍及二维(2d)扫描的区域中双轴扫描。通过与光纤悬臂644的扫描同步地调制一个或多个光源610的强度,从光纤悬臂644出射的光可以形成图像。美国专利公开no.2014/0003762中提供了这样的设置的描述,其通过引用全部并入在此。
68.光学耦合器子系统的部件可以准直从扫描光纤悬臂644出射的光。准直光可以由镜面648反射到包含至少一个衍射光学元件(doe)622a的窄分布平面波导622b中。准直光通过tir可以沿分布平面波导622b垂直地(相对于图6的视图)传播,并且与doe 622a重复相交。doe 622a优选具有低衍射效率。这可以导致一部分光(例如,10%)在与doe 622a的每个交点处被衍射朝向较大的主平面波导632b的边缘,并且一部分光通过tir在其原始轨迹上向下分布平面波导622b的长度而继续。
69.在与doe 622a的每个交点处,附加光可以被衍射向主波导632b的入口。通过将入射光分成多个外耦合组,光的出射光瞳可以在分布平面波导622b中由doe 622a垂直地扩展。从分布平面波导622b外耦合的该垂直扩展的光可以进入主平面波导632b的边缘。
70.进入主波导632b的光可以经由tir沿着主波导632b水平传播(相对于图6的视图)。由于光通过tir沿着主波导632b的至少一部分长度水平传播,因此光在多个点处与doe 632a相交。doe 632a可以有利地被设计或构造成具有相位轮廓,该相位轮廓是线性衍射图案和径向对称衍射图案的总和,以产生光的偏转和聚焦。doe 632a可以有利地具有低衍射效率(例如,10%),使得doe 632a的每个交点只有一部分光束的光朝着视图的眼睛偏转,而其余的光经由tir通过主波导632b继续传播。
71.在传播光和doe 632a之间的每个交点处,一部分光朝着主波导632b的相邻面衍射,从而允许光脱离tir,并且从主波导632b的面出射。在一些实施例中,doe 632a的径向对称衍射图案另外向衍射光赋予聚焦水平,既整形单个光束的光波前(例如,赋予曲率)以及以与设计的聚焦水平相匹配的角度将光束转向。
72.因此,这些不同的路径可以通过多个doe 632a以不同的角度、聚焦水平或在出射光瞳处产生不同的填充图案来使光耦合到主平面波导632b外。出射光瞳处的不同填充图案可以有利地用于创建具有多个深度平面的光场显示。波导组件中的每一层或堆叠中的一组层(例如3层)可用于产生相应的颜色(例如,红色、蓝色、绿色)。因此,例如,可以采用第一组的三个相邻层在第一焦深处分别产生红光、蓝光和绿光。可以采用第二组的三个相邻层在第二焦深处分别产生红光、蓝光和绿光。可以采用多组来产生具有各种焦深的全3d或4d彩色图像光场。
73.可穿戴系统的其它组件
74.在许多实施方式中,可穿戴系统可以包括除了上述可穿戴系统的部件之外或者替代的其它部件。例如,可穿戴系统可以包括一个或多个触觉设备或部件。触觉设备或部件可以可操作以向用户提供触觉感觉。例如,触觉设备或部件可以在接触虚拟内容(例如,虚拟
对象、虚拟工具、其它虚拟构造)时提供压力或纹理的触觉感觉。触觉感觉可以复制虚拟对象表示的物理对象的感觉,或者可以复制虚拟内容表示的想象对象或角色(例如,龙)的感觉。在一些实施方式中,触觉设备或部件可以由用户穿戴(例如,用户可穿戴手套)。在一些实施方式中,触觉设备或部件可以由用户持有。
75.例如,可穿戴系统可以包括能由用户操纵以允许输入或与可穿戴系统交互的一个或多个物理对象。这些物理对象在这里可以被称为图腾(totem)。一些图腾可采取无生命对象的形式,例如一块金属或塑料、墙、桌子的表面。在某些实施方式中,图腾可能实际上不具有任何物理输入结构(例如,键、触发器、操纵杆、轨迹球、摇杆开关)。相反,图腾可以简单地提供物理表面,并且可穿戴系统可以渲染用户界面,以使用户看起来在图腾的一个或多个表面上。例如,可穿戴系统可以渲染计算机键盘和触控板的图像从而看起来驻留在图腾的一个或多个表面上。例如,可穿戴系统可以渲染虚拟计算机键盘和虚拟触控板从而看起来在用作图腾的薄铝矩形板的表面上。矩形板本身没有任何物理键或触控板或传感器。然而,可穿戴系统可以检测用户操纵或交互或者触摸矩形板,作为经由虚拟键盘或虚拟触控板进行的选择或输入。用户输入设备466(图4中所示)可以是图腾的实施例,其可以包括触控板、触摸板、触发器、操纵杆、轨迹球、摇杆或虚拟开关、鼠标、键盘、多自由度控制器,或者另一个物理输入设备。用户可以单独或与姿势一起使用图腾来与可穿戴系统或其它用户进行交互。
76.可穿戴系统、环境和接口示例
77.可穿戴系统可以采用各种映射(mapping)相关技术以便在渲染的光场中实现高景深。在映射出虚拟世界时,了解现实世界中的所有特征和点以准确描绘与现实世界相关的虚拟对象是有利的。为此,从可穿戴系统的用户捕获的fov图像可以通过包括新图片被添加到世界模型,这些新图片传达现实世界的各个点和特征的信息。例如,可穿戴系统可以收集一组地图点(例如2d点或3d点)并找到新的地图点以渲染更精确版本的世界模型。可以将第一用户的世界模型(例如,通过诸如云网络的网络)传送给第二用户,使得第二用户可以体验第一用户周围的世界。
78.图7是mr环境700的示例的框图。mr环境700可以被配置为从一个或多个用户可穿戴系统(例如,可穿戴系统200或显示系统220)或静止房间系统(例如,房间相机等)接收输入(例如,来自用户的可穿戴系统的视觉输入702,诸如房间相机的静止输入704,来自各种传感器的感测输入706,来自用户输入设备466的用户输入、手势、图腾、眼睛跟踪等)。可穿戴系统可以使用各种传感器(例如,加速度计、陀螺仪、温度传感器、运动传感器、深度传感器、gps传感器、面向内的成像系统、面向外的成像系统等)来确定用户的环境的位置以及各种其它属性。该信息可以进一步利用来自房间中的静止相机的信息进行补充,这些信息可以从不同的角度提供图像或各种线索。由相机(诸如房间相机和/或面向外的成像系统的相机)获取的图像数据可以缩减为一组映射点。
79.一个或多个对象识别器708可以浏览接收到的数据(例如,点的收集)并且借助于地图数据库710来识别或映射点、标记图像,将语义信息附加到对象。地图数据库710可以包括随时间收集的各个点及其对应的对象。各种设备和地图数据库可以通过网络(例如lan,wan等)相互连接以访问云。
80.基于该信息和地图数据库中的点的集合,对象识别器708a-708n可识别环境中的
对象。例如,对象识别器可以识别面部、人、窗、墙、用户输入设备、电视、文档(例如,本文安全示例中描述的旅行票、驾驶执照、护照)、用户环境中的其他对象等。一个或多个对象识别器可以专用于具有某些特征的对象。例如,对象识别器708a可以用于识别面部,而另一个对象识别器可以用于识别文档。
81.可以使用各种计算机视觉技术来执行对象识别。例如,可穿戴系统可以分析由面向外的成像系统464(图4中所示)获取的图像以执行场景重建、事件检测、视频跟踪、对象识别(例如,人或文档)、对象姿势估计、面部识别(例如,来自环境中的人或文档上的图像)、学习、索引、运动估计或图像分析(例如,识别文档内的标记,诸如照片、签名、识别信息、旅行信息等)等等。可以使用一个或多个计算机视觉算法来执行这些任务。计算机视觉算法的非限制性示例包括:尺度不变特征变换(sift)、加速鲁棒特征(surf)、定向fast和旋转brief(orb)、二进制鲁棒不变可缩放关键点(brisk)、快速视网膜关键点(freak)、viola-jones算法、eigenfaces方法、lucas-kanade算法、horn-schunk算法、均值平移(mean-shift)算法,视觉同时定位和地图构建(vslam)技术、顺序贝叶斯估计器(例如,卡尔曼滤波器、扩展卡尔曼滤波器等)、光束平差法、自适应阈值化(和其他阈值化技术)、迭代最近点(icp)、半全局匹配(sgm)、半全局块匹配(sgbm)、特征点直方图、各种机器学习算法(例如支持向量机、k-最近邻算法、朴素贝叶斯、神经网络(包括卷积或深度神经网络),或其它有监督/无监督模型等),等等。
82.对象识别可以附加地或替代地通过各种机器学习算法来执行。一旦经过训练,机器学习算法就可以由hmd存储。机器学习算法的一些示例可以包括:有监督或无监督机器学习算法,包括回归算法(例如,普通最小二乘回归),基于实例的算法(例如,学习矢量量化),决策树算法(例如,分类和回归树),贝叶斯算法(例如,朴素贝叶斯),聚类算法(例如,k均值聚类),关联规则学习算法(例如,先验算法),人工神经网络算法(例如,感知器),深度学习算法(例如,深度玻尔兹曼机,或深度神经网络),降维算法(例如,主成分分析),集成算法(例如,层叠泛化)和/或其他机器学习算法。在一些实施例中,可以针对各个数据集定制各个模型。例如,可穿戴设备可以生成或存储基础模型。基础模型可以用作起点以生成特定于数据类型(例如,远程呈现会话中的特定用户)、数据集(例如,在远程呈现会话中从用户获得的附加图像的集合)、条件情况或其他变化的附加模型。在一些实施例中,可穿戴hmd可以被配置为利用多种技术来生成用于分析聚合数据的模型。其他技术可包括使用预定义的阈值或数据值。
83.基于该信息和地图数据库中的点的收集,对象识别器708a-708n可识别对象并用语义信息对对象进行补充以赋予对象生命。例如,如果对象识别器识别一组点作为门,则系统可以附加一些语义信息(例如,门具有铰链并且在铰链周围具有90度的运动)。如果对象识别器识别出一组点作为镜子,则系统可以附加语义信息,即镜子具有可反射房间中对象的图像的反射表面。语义信息可以包括如本文所述的对象的功能可见性(affordance)。例如,语义信息可以包括对象的法向量(normal)。系统可以指定方向指示该对象的法向量的矢量。随着时间的推移,地图数据库会随着系统(可能驻留在本地或可能通过无线网络访问)积累更多来自世界的数据而增大。一旦对象被识别,信息就可以被传送到一个或多个可穿戴系统。例如,mr环境700可以包括关于在加利福尼亚发生的场景的信息。该环境700可以被发送到纽约的一个或多个用户。基于从fov相机和其它输入接收的数据,对象识别器和其
它软件部件可以映射从各种图像收集的点、识别对象等,使得场景可以准确地“传递”给可能在世界的不同地区的第二用户。环境700也可以使用拓扑图用于本地化目的。
84.图8是渲染与识别的对象相关的虚拟内容的方法800的示例的过程流程图。方法800描述如何将虚拟场景呈现给可穿戴系统的用户。用户可能在地理上远离场景。例如,用户可能是在纽约,但可能想要查看目前在加利福尼亚州正在进行的场景,或者可能想要与居住在加利福尼亚州的朋友散步。
85.在框810处,可穿戴系统可以从用户和其它用户接收关于用户的环境的输入。这可以通过各种输入设备和地图数据库中已有的知识来实现。在框810处,用户的fov相机、传感器、gps、眼睛跟踪等向系统传达信息。在框820处,系统可以基于该信息确定稀疏点。稀疏点可用于确定姿势数据(例如,头部姿势、眼睛姿势、身体姿势或手势),这些姿势数据可用于显示和理解用户周围环境中各种对象的方位和位置。在框830处,对象识别器708a-708n可以使用地图数据库浏览这些收集的点并识别一个或多个对象。然后在框840处,该信息可以被传达给用户的个人可穿戴系统,并且在框850处,可以将期望的虚拟场景相应地显示给用户。例如,期望的虚拟场景(例如,加州的用户)可以与纽约的用户的各种对象和其它环境的相关地显示在适当的方位、位置等。
86.图9是可穿戴系统的另一示例的框图。在该示例中,可穿戴系统900包括地图920,该地图920可以包括包含世界的地图数据的地图数据库710。地图可以部分地驻留在可穿戴系统上,并且可以部分驻留在可以通过有线或无线网络(例如,在云系统中)访问的联网存储位置处。姿势处理910可以在可穿戴计算架构(例如,处理模块260或控制器460)上执行,并且利用来自地图920的数据来确定可穿戴计算硬件或用户的位置和方位。姿势数据可以根据用户正在体验系统并在世界上操作时随时收集的数据来计算。数据可以包括图像,来自传感器(例如通常包括加速度计和陀螺仪组件的惯性测量单元)的数据以及与真实或虚拟环境中的对象有关的表面信息。
87.稀疏点表示可以是同时定位和地图构建(例如,slam或vslam,参考其中输入只是图像/视觉的配置)过程的输出。该系统可以配置为不仅可以查找各个部件在世界中的位置,而且还了解世界由什么组成。姿势可以是实现许多目标的组成部件,包括填充地图和使用来自地图的数据。
88.在一个实施例中,稀疏点位置本身可能并不完全足够,并且可能需要进一步的信息来产生多焦点ar、vr或mr体验。通常涉及深度地图信息的密集表示可以被用来至少部分地填补该缺口。这样的信息可以根据被称为立体(stereo)940的过程来计算,其中使用诸如三角测量或飞行时间感测的技术来确定深度信息。图像信息和有源(active)图案(诸如使用有源(active)投影仪创建的红外图案)、从图像相机或手部手势/图腾950获取的图像可以用作立体过程940的输入。大量的深度地图信息可以融合在一起,并且其中一些可以用表面表示来概括。例如,数学上可定义的表面可以是有效的(例如相对于大的点云)并且对诸如游戏引擎的其它处理设备是可消化输入。因此,可以在融合过程930中组合立体过程(例如,深度图)940的输出。姿势910也可以是该融合过程930的输入,并且融合过程930的输出变成填充地图过程920的输入。例如在地形绘制中,子表面可以彼此连接以形成更大的表面,并且地图变成点和表面的大混合。
89.为了解决混合现实过程960中的各个方面,可以使用各种输入。例如,在图9所示的
实施例中,游戏参数可以是输入以确定系统的用户正在与各种位置处的一个或多个怪物进行怪物作战游戏,在各种条件下死亡或逃跑的怪物(诸如如果用户射击怪物),各种位置处的墙壁或其它对象等。世界地图可以包括对象的位置相关的信息或者对象的语义信息,并且世界地图可以是到混合现实的另外的有价值输入。与世界相关的姿势也成为一种输入,并且对几乎任何交互系统都起着关键作用。
90.来自用户的控制或输入是可穿戴系统900的另一输入。如这里所述,用户输入可以包括视觉输入、手势、图腾、音频输入、感觉输入等。为了在周围移动或玩游戏,例如,用户可能需要指示可穿戴系统900关于他或她想做什么。除了仅仅在空间中移动自己之外,还存在可以使用的各种形式的用户控制。在一个实施例中,图腾(例如,用户输入设备)或诸如玩具枪的对象可由用户握持并由系统跟踪。系统优选地将被配置为知道用户正握持物品并且理解用户与物品具有什么样的交互(例如,如果图腾或对象是枪,则系统可以被配置为理解位置和方位,以及用户是否在点击触发器或可以配备有传感器(诸如imu)的其它感测按钮或元件,这可以有助于确定正在发生什么,即使当这种活动不在任何相机的视场内)。
91.手势跟踪或识别还可以提供输入信息。可穿戴系统900可以被配置成跟踪和解释按钮按压的手势,用于动作表示左或右、停止、抓住、握持等。例如,在一种配置中,用户可能想要翻阅非游戏环境中的电子邮件或日历,或与另一个人或玩家进行“拳头碰撞”。可穿戴系统900可以被配置为利用最小量的手势,其可以是动态的也可以不是动态的。例如,手势可以是简单的静态手势,如张开的手用于停止,拇指向上用于ok,拇指向下用于非ok;或者手向右或左、或上/下轻击,用于方向命令。
92.眼睛跟踪是另一输入(例如,跟踪用户正在看的地方从而控制显示技术以在特定深度或范围渲染)。在一个实施例中,可以使用三角测量来确定眼睛的聚散度,然后使用针对特定人开发的聚散度/适应性模型,可以确定适应性。眼睛跟踪可以由一个或多个眼睛相机来执行以确定眼睛注视(例如,单眼或双眼的方向或方位)。可以使用其他技术用于眼睛跟踪,例如通过位于单眼或双眼附近的电极对于电位的测量(例如,眼球运动电位测定法)。
93.语音跟踪可以是另外的输入,其可以单独使用或与其他输入(例如,图腾跟踪、眼睛跟踪、手势跟踪等)组合使用。语音跟踪可以单独或组合地包括语音识别、话音识别。系统900可以包括从环境接收音频流的音频传感器(例如,麦克风)。系统900可以结合语音识别技术以确定谁在说话(例如,语音是来自ard的佩戴者还是来自另一个人或话音(例如,由环境中的扬声器发送的记录的话音))以及语音识别技术以确定所说的内容。本地数据和处理模块260或远程处理模块270可以处理来自麦克风的音频数据(或另一流中的音频数据,例如,用户正在观看的视频流),以通过应用各种语音识别算法来识别语音的内容,各种语音识别算法例如隐马尔可夫模型、基于动态时间规整(dtw)的语音识别、神经网络、诸如深度前馈和递归神经网络的深度学习算法、端到端自动语音识别、机器学习算法(参考图7描述)、或使用声学建模或语言建模等的其他算法。
94.本地数据和处理模块260或远程处理模块270还可以应用语音识别算法,该算法可以识别说话者的身份,例如说话者是否是可穿戴系统900的用户210或该用户与其交谈的另一个人。一些示例语音识别算法可以包括频率估计、隐马尔可夫模型、高斯混合模型、模式匹配算法、神经网络、矩阵表示、矢量量化、扬声器测距(diarisation)、决策树和动态时间规整(dtw)技术。话音识别技术还可以包括反扬声器技术,例如群体(cohort)模型和世界模
型。频谱特征可用于表示说话者特征。本地数据和处理模块或远程数据处理模块270可以使用参考图7描述的各种机器学习算法来执行话音识别。
95.关于相机系统,图9中示出的示例可穿戴系统900可以包括三对相机:布置在用户脸部两侧的相对宽的fov或无源slam相机对,定向在用户前面的不同相机对,以处理立体成像过程940并且还捕获手势和用户面前的图腾/对象跟踪。用于立体过程940的fov相机或者相机对可以是面向外的成像系统464(在图4中示出)的一部分。可穿戴系统900可以包括眼睛跟踪相机(其可以是图4中所示的面向内的成像系统462的一部分),其朝向用户的眼睛定位从而对眼睛向量和其它信息进行三角测量。可穿戴系统900还可以包括一个或多个纹理光投影仪(诸如红外(ir)投影仪)以将纹理注入到场景中。
96.图10是用于与虚拟用户界面交互的方法1000的示例的过程流程图。方法1000可以由在此描述的可穿戴系统执行。方法1000可以在远程呈现会话中执行方法1000。
97.在框1010处,可穿戴系统可识别特定ui。ui的类型可以由用户预先确定。可穿戴系统可基于用户输入(例如,手势、视觉数据、音频数据、感测数据、直接命令等)识别需要填充的特定ui。ui可以特定于远程呈现会话。在框1020处,可穿戴系统可以生成用于虚拟ui的数据。例如,可以生成与ui的界限、一般结构、形状等相关联的数据。另外,可穿戴系统可以确定用户的物理位置的地图坐标,使得可穿戴系统可以显示与用户的物理位置有关的ui。例如,如果ui是以身体为中心的,则可穿戴系统可以确定用户的身体姿态、头部姿势或眼睛姿势的坐标,使得可以在用户周围显示环形ui,或者可以在墙壁上或在用户前面显示平面ui。在远程呈现上下文中,ui可以被显示为好像ui围绕用户以创建另一用户在环境中的存在的有形感觉(例如,ui可以显示用户周围的参与者的虚拟头像)。如果ui是以手为中心的,则可以确定用户的手的地图坐标。这些地图点可以通过以下导出:通过fov相机接收的数据、感测输入或任何其它类型的收集数据。
98.在框1030处,可穿戴系统可以从云向显示器发送数据,或者数据可以从本地数据库发送到显示组件。在框1040处,基于发送的数据向用户显示ui。例如,光场显示器可以将虚拟ui投影到用户眼睛中的一只或二者中。一旦创建了虚拟ui,在框1050处,可穿戴系统可以简单地等待来自用户的命令以在虚拟ui上生成更多虚拟内容。例如,ui可以是围绕用户身体或用户环境中的人(例如,旅行者)的身体的身体中心环。然后,可穿戴系统可等待命令(手势、头部或眼睛运动、语音命令、来自用户输入设备的输入等),并且如果识别出(框1060),则与该命令相关联的虚拟内容可以显示给用户(框1070)。
99.用于生成面部模型的可穿戴设备的示例
100.图11示出了示例可穿戴设备,其可以在用户穿上可穿戴设备时获取用户面部的图像。在用户穿上(或取下)可穿戴设备时获取的图像可用于生成用户的面部模型。可穿戴设备1150可以是参考图2描述的示例头戴式设备(hmd)。可穿戴设备1150可以包括成像系统1160,该成像系统1160被配置为对用户210的面部成像。例如,成像系统1160可以包括诸如眼睛相机(例如,眼睛相机1160a和眼睛相机1160b)的传感器,该眼睛相机被配置为在用户210佩戴可穿戴设备时对用户眼睛1110的眼周区域成像。在该示例中,眼睛1110b可以对应于图3中所示的眼睛302,并且眼睛1110a可以对应于图3中所示的眼睛304。在一些实施方式中,成像系统1160可以是图4中所示的面向内的成像系统462的实施例。
101.如图11中所示,成像系统1160指向用户210的头部。眼睛相机1160a可以被配置为
对眼睛1160a成像,而眼睛相机1160b可以被配置为对眼睛1110b成像。在该图中,眼睛相机1160a的光轴1140a平行于眼睛相机1160b的光轴1140b。在一些实施方式中,可以旋转一个或两个眼睛相机,使得两个眼睛相机的光轴不再平行。例如,两个眼睛相机可以略微朝向彼此指向(例如,特别是如果眼睛相机设置在设备1150的框架的外边缘附近)。该实施方式可能是有利的,因为它可以创建交叉眼睛配置,该配置可以增加两个相机之间的视野(fov)的重叠以及允许两个眼睛相机在更近的距离处对面部成像。
102.每个眼睛相机可具有fov。例如,眼睛相机1160a的fov可以包括区域1120a和区域1130。眼睛相机1160b的fov可以包括区域1120b和区域1130。眼睛相机1160a的fov和眼睛相机1160b的fov可以在区域1130处重叠。由于该重叠fov 1130,在一些实施例中,两个眼睛相机可以被视为单个立体成像系统。当面部在重叠fov内时,两个眼睛相机可以拍摄面部的图像,以便提供用户面部的3d图像。
103.在一些情况下,当可穿戴设备1150太靠近用户210时,眼睛相机可能失焦。例如,假设用户的眼周间隔是46mm(对于成年男性而言是典型的)并且两个眼睛相机中的每一个眼睛相机具有66度的水平fov(适合于眼睛跟踪),则可穿戴设备可以在面部与可穿戴设备之间的距离至少约为175mm时拍照。许多眼睛相机透镜的最小焦距约为14mm。如果透镜具有固定焦距,则其焦深需要约为65屈光度。
104.如果在没有足够的焦深时获得图像,则可穿戴设备1150可以将图像视为低分辨率图像。结果,由可穿戴设备生成的面部模型可能具有较低的保真度或者具有粗略的(gross)面部特征的稀疏表示。这种面部模型仍然可以用于推断用户的眼间间隔,这对于确定可穿戴设备是否适配用户的面部是有用的。
105.用于对用户面部进行成像的触发示例
106.可穿戴设备1150可以使用各种技术来确定用于开始和停止对用户210成像的触发。例如,可穿戴设备1150可以被配置为当其检测到用户正在穿上(或取下)可穿戴设备1150时开始对用户的面部进行成像。有利地,用于启动或停止图像采集的触发可以基于与可穿戴设备1150的运动有关的数据(例如,可以使用设备中的imu来测量这种运动)或由可穿戴设备1150的一个或多个相机(例如,面向内的成像系统462或面向外的成像系统464中的相机,例如,其检测随着设备更接近或更远离用户的面部变得更大或更小的用户的面部的区域)获取的图像。因此,可穿戴设备可以自动地启动或停止图像采集而不受用户干预。
107.可穿戴设备1150可以使用参考图2和图7描述的各种传感器,用于检测设备1150的运动。示例传感器1170a、1170b(图11中所示)设置在设备1150的框架上(例如,在耳柄上)。传感器1170a、1170b可包括惯性测量单元、压力传感器、接近传感器等。在其它实施方式中,传感器仅设置在设备1150的一侧上(例如,在一个耳柄上)。可以针对对应的阈值水平(例如,阈值加速度、阈值压力、阈值接近度)分析由传感器获取的数据。如果数据超过阈值水平,则可穿戴设备1150可以开始或停止成像过程。
108.作为示例,当用户抬起可穿戴设备1150时,可穿戴设备1150的惯性测量单元可以获取关于可穿戴设备1150的加速度的数据。如果可穿戴设备1150确定加速度超过特定阈值加速度,则可穿戴设备1150可以开始对用户的面部进行成像。一旦用户将可穿戴设备放在例如头部上,则加速度通常会降低。如果可穿戴设备1150确定加速度已降低到特定阈值,则可穿戴设备1150可停止拍摄用户面部的图像。当用户将设备从他或她的面部取下时,设备
1150还可以对用户的面部成像。当加速度超过用于设备移除的典型值时,设备可以开始成像,并且可以持续成像一段时间或者直到设备1150处于或超过远离用户的面部一定距离。
109.作为另一示例,可穿戴设备1150可具有压力传感器。压力传感器可以位于眼镜的镜腿(诸如耳机)或可穿戴设备的鼻垫处。当可穿戴设备1150被放置在用户的面部上时,压力传感器可以发送指示可穿戴设备1150在用户上的信号。结果,可穿戴设备1150可以停止获取用户面部的图像。
110.触发还可以基于由可穿戴设备1150的一个或多个成像系统获取的数据。例如,可穿戴设备1150可以使用由面向内的成像系统462获得的图像来确定是否停止对用户的面部成像。例如,当用户穿上设备时,由面向内的成像系统462获取的图像中的内容可以改变。然而,当设备坐在用户的头上时,与用户穿上(或取下)设备时相比,图像的内容不会改变太多。因此,可穿戴设备可以在观看到特定阈值持续时间内的特定阈值数量(例如,3、5、10等)的连续图像帧或图像具有基本上相同的内容时(例如,一旦可穿戴设备连续5秒检测到用户的眼睛出现在所获取的图像中,可穿戴设备就可以停止成像),停止录制。作为另一示例,当用户取下可穿戴设备时,面向内的成像系统可以最初观看眼睛,然后观看眼周区域,然后观看上部面部,然后观看下部面部,并且然后观看用户的颈部。如果用户正在穿上设备,则该图像顺序将被反转。通过检测该图像的顺序,设备可以推断它正被穿在用户的面部上(或从用户的面部取下)。在一些情况下,用户的图像可能变得小于阈值(例如,当设备与用户保持手臂的距离时)或者可能完全消失(例如,因为设备已被放置在桌子上并且成像系统不再指向用户)。一旦可穿戴设备检测到设备不再在用户上(例如,通过检测上述成像顺序,或者因为用户的面部没有出现或者小于阈值),可穿戴设备可以停止获取图像。
111.在一些情况下,可穿戴设备可以在检测到开始触发之前或者在检测到停止触发之后连续地获取图像。但是,如果在开始触发和停止触发之间获取图像,则可穿戴设备可以被配置为,将图像与面部模型的生成相关联。作为一个示例,可穿戴设备可以基于从imu获取的数据来检测开始触发(例如,检测到加速度的增加)。因此,在该开始触发之后获取的图像可以被存储或标记为与面部模型的生成相关联。然而,当可穿戴设备检测到停止触发时(例如,当不再加速或图像主要包含眼周区域时),可穿戴设备将停止将所获取的图像与面部模型的生成相关联。
112.可穿戴设备1150还可以包括用于测量可穿戴设备1150和用户210之间的距离的传感器。例如,传感器可以发射和接收信号(诸如声音或光学信号),并使用信号或信号的反馈来测量距离。可穿戴设备1150还可以通过分析由成像系统1160获取的图像来确定距离。例如,可穿戴设备1150可以基于图像中的面部的大小来确定距离,其中大的大小可以指示小的距离,而小的大小可以指示大的距离。可穿戴设备1150可以在距离超过阈值或在特定范围内时对用户的面部成像。例如,如图11中所示,当用户的面部在区域1130内部时,可穿戴设备1130的两个眼睛相机可立体地对用户的面部成像。一旦用户的面部与可穿戴设备1150之间的距离变得足够小使得用户的面部落在区域1130的外部,可穿戴设备1150可以停止对用户的面部成像。作为另一示例,当用户210和可穿戴设备1150之间的距离足够小以使图像失焦时,可穿戴设备1150可以停止对用户的面部成像。
113.在一些实施方式中,设备1150包括可沿框架设置的一个或多个接近传感器(例如,电容接近传感器)。当用户的头部接近接近传感器(或者开始在一对接近传感器之间移动)
时,可以开始面部成像,并且当设备1150在用户的面部上时,成像可以停止。
114.设备1150可以包括光发射器1175,该光发射器1175被配置为在区域1130中朝向用户的面部照明。当设备1150开始成像时,可以打开光以提供面部照明,并且当设备1150停止成像时,光可以被关掉。在一些实施方式中,光1175可以是面向内的成像系统1160的一部分。例如,一个或两个眼睛相机1160a和1160b可以能够照亮光。
115.用于获取面部图像的附加示例
116.除了使用成像系统1160对面部成像之外或作为其替代,可穿戴设备1150可以使用其它技术获得面部的图像。例如,可穿戴设备1150可以包括面向外的成像系统(参见例如图4中描述的面向外的成像系统464),该面向外的成像系统被配置为在用户佩戴可穿戴设备时对用户的环境成像。用户可以将面向外的成像系统的相机指向用户的头部,并使用面向外的成像系统获得面部的图像。
117.当用户靠近镜子时,面向外的成像系统还可以获取面部的图像。例如,面向外的成像系统可以在用户站在镜子前面时获取用户的反射图像。可穿戴系统可以使用参考图12描述的面部识别算法来检测镜子的存在和用户头部的反射图像。面部识别算法可以单独或与共同运动测试结合使用。在共同运动测试中,可穿戴系统基于由imu获取或经由面向外的成像系统观察的数据来分析用户的运动,并将这种运动与由面向外的成像系统观察到的反射图像的运动进行比较。如果这两个测量的运动基本上彼此跟踪,则设备可以假设它们是共同运动的并且反射的图像表示用户。如果反射图像的面部识别与用户的面部匹配,或者如果与反射图像相关联的共同运动与可穿戴设备观察到的用户运动相关,则可穿戴系统可以找到属于用户的反射图像。在题为“利用反射的增强现实系统和方法”的美国公开no.2017/0206691中进一步描述了检测镜子的存在和分析用户面部的反射图像的附加示例,其公开内容通过引用整体结合于此。
118.此外,尽管在此描述的示例是参考在用户穿上可穿戴设备时对用户的面部成像,但是当用户正在取下可穿戴设备时也可以成像。例如,可穿戴系统可以在用户穿上可穿戴设备之前或当用户与可穿戴设备交互时确定用户的身份。可穿戴系统可以基于用户输入的证书或通过基于用户的生物度量信息(诸如例如虹膜识别或面部识别)识别用户的身份来确定用户的身份。可穿戴系统可以将在可穿戴设备被取下时获取的图像与在可穿戴设备被移除之前用户的身份相关联。可穿戴系统还可以将在用户穿上可穿戴设备时获取的图像与在用户取下可穿戴设备时获取的图像组合以生成用户的面部模型。
119.使用立体视觉技术生成面部模型的示例
120.如图11中所示,眼睛相机1160a和眼睛相机1160b可以具有重叠的fov 1130。由于该重叠的fov,当用户的面部在区域1130内时,两个眼睛相机可以被视为用于对用户的面部成像的单个立体系统。
121.当用户的面部在区域1130内时,眼睛相机1160a和1160b可以在可穿戴设备1150接近用户210时捕获用户的该对图像。例如,一对图像可以同时包括由眼睛相机1160a拍摄的图像和由相机1160b拍摄的图像。对于一对图像,可穿戴设备1150可以使用立体视觉算法(诸如块匹配算法、半全局匹配算法、半全局块匹配算法、视差图、三角测量、深度图、神经网络算法、同时定位和映射算法(例如,slam或v-slam)等)分析面部信息。例如,可穿戴设备可以基于由相机1160a获取的图像与由相机1160b获取的图像之间的比较,将深度与图像中的
许多或所有像素相关联。
122.可穿戴设备1150可以将相同的技术应用于多对图像以提取面部的信息。可穿戴设备1150可以融合来自多对图像的信息以生成面部模型。可穿戴设备1150可以使用各种技术来合并信息。作为示例,可穿戴设备1150可以使用点云来表示面部。可以使用诸如迭代最近点(icp)算法的各种算法将与多对图像相关联的云适配在一起。可穿戴设备1150可以使用诸如聚类、平均或其它类似技术的技术来拒绝云数据中的异常值并使面部模型的表面平滑。
123.作为另一示例,可穿戴设备可以使用关键点来表示面部。关键点可以是抽象关键点,诸如由关键点检测器和描述符算法(诸如尺度不变特征变换(sift)、加速鲁棒特征(surf)、定向fast和旋转brief(orb)等)生成的值。关键点也可以是面部特有的特征,诸如眼角、嘴角、眉毛等。对于每对图像,可穿戴设备1150可以匹配由眼睛相机1160a拍摄的图像中的关键点和由眼睛相机1160b拍摄的图像中的关键点。
124.可穿戴设备1150可以例如通过分析关键点的位置变化来进一步推断在多对图像上的姿势的变化(诸如面部的位置和取向)。
125.可穿戴设备1150可以将关键点转换为与面部相关联的坐标系。可以使用坐标系将来自图像对的数据融合在一起。坐标系可用于平均、聚类和拒绝异常值数据。另外地或可替代地,可穿戴设备1150可以使用光束法平差技术来生成面部模型。例如,可穿戴设备1150可以使用单个最小化框架来重建面部模型,该框架适应来自图像对的所有数据以及在图像对上的姿势的变化。
126.使用单眼视觉技术生成面部模型的示例
127.除了使用立体视觉技术构建面部模型之外或作为其替代,可穿戴设备1150还可以通过基于单眼融合面部图像来构建面部模型。当两个相机不具有重叠的fov区域1130或者当重叠小时,单眼视觉技术可能是有利的。
128.例如,当用户穿上可穿戴设备1150时,相机1160a可以拍摄多个单眼图像。可穿戴设备1150可以使用v-slam或类似算法基于这些图像生成面部模型的一部分。可穿戴设备1150可以基于这些图像中的关键点来计算与相机1160a的运动相关联的轨迹。类似地,可穿戴设备1150可以使用相同的技术来基于由眼睛相机1160拍摄的图像生成面部模型的另一部分,并计算与相机1160b的运动相关联的轨迹。
129.因为两个相机可以刚性地耦合到可穿戴设备1150,所以两个相机的相对位置在成像过程期间不会改变。可穿戴设备可以使用两个相机的相对位置和角度和/或轨迹来将面部模型的两个部分组合成单个模型。在一些实施方式中,轨迹还可用于计算眼间距离。
130.在一些实施例中,可穿戴设备1150可以使用一个相机的图像来生成面部模型,即使该相机可能具有有限的视野。例如,可穿戴设备可以使用由眼睛相机1160a获取的图像来在面部的一部分上生成面部模型。因为用户210的面部是对称的,所以可穿戴设备可以轴向变换面部的一部分以获得面部的另一部分。面部的这两个部分可以组合在一起以生成面部模型。
131.其它示例实施例
132.可穿戴设备和其它计算系统拍摄的图像可用于生成面部的纹理图。面部的纹理图可以包括肤色、眼睛颜色、诸如雀斑或皱纹的面部特征等。可穿戴设备可以融合由两个眼睛
相机拍摄的图像以生成整个面部的图像。可以处理融合图像以提高质量。可穿戴设备可以使用诸如超分辨率、幸运成像或其它图像处理技术的技术来提高质量。另外地或可替代地,可穿戴设备可识别由两个眼睛相机之一拍摄的图像并处理该图像以创建纹理图。例如,可穿戴设备可以识别由眼睛相机1160a(图11中所示)拍摄的图像包括用户的整个面部。可穿戴设备可以处理该图像并使用该图像来提取纹理图。
133.面部模型和纹理图可以存储在可穿戴设备中或远程存储位置中。它们可以与其它可穿戴设备或计算系统共享。例如,在远程呈现会话期间,可以与第二用户共享第一用户的面部模型和纹理图,以创建第一用户在第二用户的环境中的存在的有形感觉。
134.在一些实施方式中,可以基于可穿戴设备在多个成像会话期间拍摄的图像和/或基于由其它计算系统获取的图像来生成面部模型。例如,可穿戴设备可以在用户穿上可穿戴设备以及取下可穿戴设备时获取用户面部的图像。可穿戴设备可以基于在用户穿上可穿戴设备时获取的图像和在用户正在取下可穿戴设备时获取的图像来生成面部模型。
135.可穿戴设备还可以使用所获取的图像来更新现有的面部模型。例如,可穿戴设备可以在用户穿上可穿戴设备时收集用户面部的新图像,并基于新图像更新先前为相同用户生成的面部模型。
136.可穿戴设备还可以使用新图像更新通用于一组用户的面部模型。在一些实施例中,具有不同人口统计信息(诸如年龄、性别、种族等)的人可具有不同的通用面部模型。例如,女性青少年可能与通用面部模型相关联,而男性成年人可能与另一个通用面部模型相关联。可穿戴设备可以基于用户的人口统计信息为用户选择通用面部模型,并且采用在用户穿上可穿戴设备时获取的用户特定信息来更新通用面部模型。
137.用户还可以例如通过选择不同的面部特征和纹理图来定制面部模型。作为示例,用户可以在远程呈现会话期间选择诸如科幻外星人的幻想生物的外观。
138.尽管这些示例涉及使用可穿戴设备构建面部模型,但并非需要在可穿戴设备上执行面部模型生成或更新的所有过程。可穿戴设备可以与远程计算设备通信以生成面部模型。例如,可穿戴设备可以获取用户面部的图像并将图像(单独或与用户的其它信息组合,诸如例如用户的人口统计信息)传递给远程计算设备(例如,诸如服务器)。远程计算设备可以分析图像并创建面部模型。远程计算设备还可以将面部模型传递回用户的可穿戴设备或将面部模型传递给另一用户的可穿戴设备(例如,在远程呈现会话期间)。
139.用于生成面部模型的示例过程
140.图12示出了用于生成面部模型的示例过程。过程1200可以由图11中描述的可穿戴设备1150执行。可穿戴设备1150可包括各种传感器,诸如一个或多个眼睛相机和imu(在图2和7中描述)。
141.在框1210处,可穿戴设备可以检测可穿戴设备的运动。该运动可以涉及将显示设备设置在用户的头部附近(朝向用户,用于穿上设备,或远离用户,用于取下设备)。例如,可穿戴设备可以使用由imu获取的加速度数据并确定加速度是否超过阈值加速度。如果加速度超过阈值加速度,则可穿戴设备可以确定用户正在穿上(或取下)设备。
142.在框1220处,可穿戴设备可以捕获用户面部的图像。例如,一个或多个眼睛相机可以在用户穿上或取下可穿戴设备时各自对用户的面部成像。眼睛相机可以通过视频或多张照片对用户的面部成像。
143.在框1230处,可穿戴设备可以分析由一个或多个眼睛相机拍摄的图像。在使用两个眼睛相机的一些实施方式中,当两个眼睛相机离用户足够远时,两个眼睛相机可具有重叠的fov。因此,两个眼睛相机可以被视为立体成像系统。可穿戴设备可以使用参考图11描述的立体视觉算法来分析不同深度处的图像。分析结果可以由点云表示。可穿戴设备还可以通过使用关键点检测器和描述符算法提取面部的可识别特征来分析图像。因此,面部可以由可识别特征的关键点表示。
144.在框1240处,可穿戴设备可组合在不同深度处拍摄的图像以生成面部模型。可穿戴设备还可以通过使用如参考图11所述的坐标系对准可识别特征来生成面部模型。
145.然而,一个或多个眼睛相机不需要具有重叠的fov。因此,在框1230和1240处,可穿戴设备可以使用单个眼睛相机并使用参考图11描述的单眼视觉技术来生成面部模型。例如,可穿戴设备可以分别分析由每个眼睛相机获取的图像并且组合对于每个眼睛相机的分析结果以生成面部模型,或者设备可以具有单个眼睛相机(例如,跟踪用户的一只眼睛,从被测眼睛的运动推断出另一只眼睛的运动),并使用单眼视觉技术来生成面部模型。
146.在可选框1250处,可以调节可穿戴设备的操作参数。操作参数可以包括由设备渲染的虚拟图像的位置、用于生成虚拟图像的光投影仪(例如,图像注入设备420、422、424、426、428中的一个或多个)的相对位置或取向等。可以基于图像或面部模型的分析来调节操作参数。例如,可穿戴设备可以基于用户的面部模型来测量眼间间隔。可穿戴设备可以相应地调节与每只眼睛对应的光投影仪的取向,以使虚拟图像被渲染在用户眼睛的合适位置。
147.除了调节操作参数之外或作为其替代,可穿戴设备还可以出于其它目的分析图像,诸如例如以确定可穿戴设备在用户头部上的适配,执行用户识别或认证,或执行图像配准或校准。作为确定可穿戴设备的适配的示例,可穿戴设备可以分析用户的眼周区域的外观以确定可穿戴设备是否被加标题。在题为“periocular test for glasses fit(用于眼镜适配的眼周测试)”的美国申请no.62/404,493中提供了确定可穿戴设备的适配的进一步描述,其公开内容通过引用整体结合于此。
148.作为基于图像确定用户身份的示例,可穿戴设备可以通过对获取的图像应用各种面部识别算法来分析用户的面部特征(例如,面部形状、肤色、鼻子、眼睛、脸颊的特征等)。一些示例面部识别算法包括使用特征脸的主成分分析、线性鉴别分析、使用fisherface算法的弹性束图匹配、隐马尔可夫模型、使用张量表示的多线性子空间学习,以及神经元驱动的动态链接匹配,或3d面部识别算法。该设备还可以分析图像以识别虹膜并确定生物识别签名(例如,虹膜代码),其对于每个个体是唯一的。
149.可穿戴设备还可以在将设备放在用户的面部上或从用户的面部上取下时基于可穿戴设备获取的图像执行图像配准。除了用户的面部之外或作为用户的面部的替代,从图像配准获得的结果图像可以包括用户环境的一部分(例如,用户的房间或用户附近的另一个人)。
150.图13a描述了使用立体视觉技术生成面部模型的示例过程。示例过程1300可以由可穿戴设备或远程计算设备(诸如例如,计算机或服务器)单独或组合地执行。
151.在框1310处,可以访问由可穿戴设备获取的面部图像。可以在穿上或取下设备的同时获取面部图像(例如,参见过程1200的框1210和1220)。面部图像包括由面向内的成像系统462在不同深度处拍摄的图像对。参考图11,图像对可包括由眼睛相机1160a拍摄的第
一图像和由眼睛相机1160b拍摄的第二图像。当可穿戴设备1150处于基本上相同的深度时,第一图像和第二图像可以由它们相应的相机拍摄。第一图像和第二图像也可以基本上同时由它们相应的相机拍摄。访问的面部图像还可以包括在多个会话期间拍摄的图像。例如,当用户穿上可穿戴设备时,可能在当前时间之前一周拍摄了一些面部图像,同时当用户穿上可穿戴设备时,可能在当前时间前一天拍摄了其它面部图像。面部图像可以存储在可穿戴设备1150上或远程数据储存库280中。可穿戴设备1150可以在获取面部图像时将面部图像传送到远程数据储存库280,或者可以在获取面部图像之后将面部图像上传到远程数据储存库280。
152.在框1312处,可以将立体视觉算法应用于所访问的面部图像以计算深度图像。立体视觉算法的示例包括块匹配算法、半全局匹配算法、半全局块匹配算法、视差图、三角测量、深度图、神经网络算法、同时定位和映射算法(例如,slam或v-slam)等。深度图像可以是3d模型,该3d模型包含与面部和可穿戴设备之间的距离有关的信息。例如,立体视觉算法可以应用于一对或多对图像,并且得到的输出可以包括对原始一对或多对图像中的许多或所有像素的深度分配。
153.在框1314处,可以将面部图像融合在一起以产生面部模型。许多技术可用于这种融合。作为一个示例,可以将面部视为点云(其自然地由框1312处的立体计算产生)。多个这种云(由立体视觉算法的多个应用产生)可以使用诸如icp的算法彼此适合。随后,可以拒绝异常值,并且可以通过聚类、平均或使用另一类似技术来平滑表面。由点云计算产生的面部模型可以是密集模型。
154.面部也可以被建模为关键点的集合(诸如例如,一组稀疏的不同的和视觉上显著的特征),或者可以通过识别和定位面部特有的特定特征(例如,眼角、嘴角、眉毛等)来建模。在任何一种情况下,这些特征可以与数学组合“融合”在一起,以最小化特征位置的不确定性。作为一个示例,关键点可以从一个图像帧匹配到另一个图像帧,这也可以推断出姿势变化(例如,用户头部的位置和取向的变化)。在该情况下,可以将特征或关键点转换为固定到面部的公共坐标系。此后,可以对相似的关键点进行平均或类似地聚合,可能包括某种程度的异常值拒绝。如果使用关键点技术,则面部模型可以是稀疏模型。
155.在可选框1316处,纹理图可以应用于面部模型。可以基于用户的面部图像来确定纹理图。例如,纹理图可以包括面部图像中出现的肤色。
156.在可选框1318处,可以将面部模型传送到另一个可穿戴设备。例如,当用户处于与另一用户的远程呈现会话中时,面部模型可用于创建用户的头像,并且面部模型可被传递到另一用户的可穿戴设备。在一些情况下,还可以将面部模型传送给用户。用户可以进一步诸如例如通过应用发型或改变肤色或外观来操纵面部模型。
157.图13b描述了使用单眼视觉技术生成面部模型的示例过程。示例过程1350可以由可穿戴设备或远程计算设备(诸如例如,计算机或服务器)单独或组合地执行。
158.在框1352处,可以访问第一面部图像和第二面部图像。可以在穿上或取下设备的同时获取面部图像(例如,参见过程1200的框1210和1220)。第一面部图像可以由第一眼睛相机获取,并且第二面部图像可以由第二眼睛相机获取。第一眼睛相机和第二眼睛相机可各自配置成对用户面部的一部分成像。当用户穿上可穿戴设备时,第一眼睛相机和第二眼睛相机可各自配置为拍摄一系列图像。
159.在框1354处,可以分析第一面部图像并将其融合在一起以创建面部模型的第一部分,而在框1356处,可以分析第二面部图像并将其融合在一起以创建面部模型的第二部分。可以使用各种映射技术,诸如slam、v-slam或参考对象识别器708描述的其它映射技术,分别基于第一面部图像和第二面部图像来创建面部模型的第一部分和第二部分。
160.在框1358处,可以组合面部模型的第一部分和第二部分以创建整个面部模型。可穿戴设备可以单独或者与(如从第一图像和第二图像推导出的)可穿戴设备的移动轨迹结合来使用第一和第二相机的相对位置和角度,以将面部模型的两个部分组合成单个模型。
161.尽管参考面部模型描述了示例,但是也可以应用类似的技术来生成身体的其它部分的虚拟图像(单独或与面部组合)。例如,当用户穿上可穿戴设备时,由面向内的成像系统获取的一些图像可以包括用户躯干的一部分,例如用户的颈部或上身(例如,肩部)。可穿戴系统可以使用如图11-13b中所述的类似算法结合用户颈部或上身的模型生成面部模型。作为另一示例,用户可以转动面向外的成像系统以面向用户并扫描用户的身体。从这种扫描获得的图像也可以用于生成用户身体的模型。用户身体的模型也可以用在虚拟头像中(例如,在远程呈现会话期间)。
162.使用可穿戴设备捕获面部模型的附加方面
163.在第1方面,一种用于生成用户的面部的三维(3d)模型的增强现实(ar)系统,该系统包括:增强现实设备(ard),其被配置为向用户显示3d环境;面向内的成像系统,其包括第一眼睛相机和第二眼睛相机,其中面向内的成像系统被配置为对用户的面部的一部分成像;惯性测量单元(imu),其与ard相关联并被配置为检测用户的运动;计算机处理器,其与ard相关联并被编程为:从imu接收运动的指示,其中该运动涉及将ard放在用户的头部上;当ard被放在用户的头部上时:从第一眼睛相机接收面部的第一图像;并从第二眼睛相机接收面部的第二图像;分析第一图像和第二图像;并且至少部分地基于对第一图像和第二图像的分析来生成面部的面部模型。
164.在第2方面,根据方面1所述的系统,其中,imu包括以下中的一个或多个:加速度计、指南针或陀螺仪。
165.在第3方面,根据方面1-2中任一方面所述的系统,其中,运动的指示包括ard的加速度的增加或者超过阈值加速度的ard的加速度的测量。
166.在第4方面,根据方面1-3中任一方面所述的系统,其中,为了分析第一图像和第二图像,计算机处理器被编程为使用立体视觉算法将第一图像和第二图像转换为3d空间中的点云。
167.在第5方面,根据方面4所述的系统,其中,立体视觉算法包括块匹配算法、半全局匹配算法、半全局块匹配算法或神经网络算法中的至少一个。
168.在第6方面,根据方面5所述的系统,其中,为了生成面部模型,计算机处理器进一步被编程为使用迭代最近点算法来组合点云。
169.在第7方面,根据方面1-6中任一方面所述的系统,其中,为了分析第一图像和第二图像,计算机处理器进一步被编程为使用关键点检测器和描述符算法识别第一图像和第二图像中的关键点。
170.在第8方面,根据方面1-7中任一方面所述的系统,为了分析第一图像和第二图像,计算机处理器进一步被编程为:至少部分地基于第一图像和第二图像识别面部的面部特
征;并用3d空间中的点描述所识别的面部特征。
171.在第9方面,根据方面7-8中任一方面所述的系统,其中,为了生成面部模型,计算机处理器被配置为使用光束平差法算法来组合面部特征或关键点。
172.在第10方面,根据方面1-9中任一方面的系统,其中,为了分析第一图像和第二图像并生成面部模型,计算机处理器被编程为:至少部分地基于第一图像生成面部模型的第一部分;至少部分地基于第二图像生成面部模型的第二部分;并且组合面部模型的第一部分和面部模型的第二部分以获得面部模型。
173.在第11方面,根据方面10所述的系统,其中,分析第一图像和第二图像通过视觉同时定位和映射算法来执行。
174.在第12方面,根据方面1-11中任一方面所述的系统,其中,第一图像包括由第一眼睛相机拍摄的第一视频的第一帧,并且第二图像包括由第二眼睛相机拍摄的视频的第二帧。
175.在第13方面,根据方面12所述的系统,其中,为了生成面部模型,计算机处理器被编程为将视频的第一帧与视频的第二帧组合。
176.在第14方面,根据方面1-13中任一方面所述的系统,计算机处理器进一步被配置为至少部分地基于第一图像或第二图像中的一个或多个图像来生成与面部的面部模型相关联的纹理图。
177.在第15方面,根据方面1-14中任一方面所述的系统,其中,计算机处理器进一步被配置为与另一用户共享面部的面部模型。
178.在第16方面,根据方面1-15中任一方面所述的系统,其中,第一眼睛相机被配置为对用户的左眼成像,并且第二眼睛相机被配置为对用户的右眼成像。
179.在第17方面,根据方面1-16中任一方面所述的系统,其中,第一眼睛相机和第二眼睛相机具有重叠的视野。
180.在第18方面,一种生成用户的面部的三维(3d)模型的方法,该方法包括:在包括计算机硬件的可穿戴设备的控制下,显示设备被配置为向用户显示3d环境,成像系统被配置为对用户的面部的一部分成像,以及惯性测量单元(imu)被配置为检测显示设备的运动:由imu检测用于对用户的面部成像的触发,其中触发包括涉及将显示设备设置在用户头部附近的运动;由成像系统捕获用户面部的至少一部分的图像;分析由成像系统捕获的图像;并且至少部分地基于图像的分析来生成面部模型。
181.在第19方面,根据权利要求18所述的方法,其中,检测触发包括:由imu确定显示设备的加速度;将显示设备的加速度与阈值加速度进行比较;并且响应于加速度超过阈值加速度的比较来检测触发。
182.在第20方面,根据方面18-19中任一方面所述的方法,其中,一个或多个图像包括除面部之外的用户的身体的一部分。
183.在第21方面,根据方面18-20中任一方面所述的方法,其中,图像包括由成像系统的第一眼睛相机捕获的第一图像和由成像系统的第二眼睛相机捕获的第二图像。
184.在第22方面,根据方面21所述的方法,其中,分析图像包括:使用立体视觉算法将第一图像和第二图像转换为点云。
185.在第23方面,根据方面22所述的方法,其中,立体视觉算法包括块匹配算法、半全
局匹配算法、半全局块匹配算法或神经网络算法中的至少一个。
186.在第24方面,根据方面23所述的方法,其中,生成面部的面部模型包括使用迭代最近点算法来组合点云。
187.在第25方面,根据方面22-24中任一方面所述的方法,其中,分析图像包括识别与图像中的用户的面部相关联的关键点,以及其中,生成面部的面部模型包括使用光束平差法算法生成具有关键点的面部模型。
188.在第26方面,根据方面22-25中任一方面所述的方法,其中,分析图像包括:使用视觉同时定位和映射算法分析第一图像以生成面部模型的第一部分;并且使用视觉同时定位和映射算法分析第二图像以生成面部模型的第二部分。
189.在第27方面,根据方面26所述的方法,其中,生成面部的面部模型包括:组合面部模型的第一部分和面部模型的第二部分以生成面部模型。
190.在第28方面,根据方面18-27中任一方面所述的方法,其中,图像包括由成像系统拍摄的视频的帧。
191.在第29方面,根据方面18-28中任一方面所述的方法,进一步包括:至少部分地基于图像生成与面部模型相关联的纹理图。
192.在第30方面,根据方面18-29中任一方面所述的方法,其中,生成面部模型包括:访问预先存在的面部模型;并且至少部分地基于图像的分析来更新预先存在的面部模型。
193.在第31方面,根据方面30所述的方法,其中,预先存在的面部模型包括以下中的至少一个:通用面部模型或用户面部的先前生成的面部模型。
194.在第32方面,根据方面18-31中任一方面所述的方法,其中,生成面部模型包括:访问先前由可穿戴设备或另一计算设备获取的面部的图像;并且至少部分地基于对由成像系统捕获的图像和所访问的图像的分析来生成面部模型。
195.在第33方面,根据方面18-32中任一方面所述的方法,进一步包括:将面部模型传送到另一显示设备;并且,由其它显示设备至少部分地基于面部模型显示与用户的面部相关联的图像。
196.在第34方面,一种用于生成用户的面部的三维(3d)模型的系统,该系统包括:头戴式显示器(hmd),其被配置为向用户呈现虚拟内容;面向内的成像系统,其包括至少一个眼睛相机,其中面向内的成像系统被配置为在用户佩戴hmd时对用户的面部的至少一部分成像;惯性测量单元(imu),其与hmd相关联并且被配置为检测hmd的运动;以及硬件处理器,其被编程为:检测触发以启动用户面部的成像,其中触发包括由imu检测到的运动,涉及将hmd放在用户的头部上或者将hmd从用户的头部取下;响应于检测到触发,激活至少一个眼睛相机以获取图像;基于从imu或面向内的成像系统中的至少一个获取的数据,检测用于停止成像的停止条件;采用立体视觉算法分析由至少一个眼睛相机获取的图像;并且至少部分地基于立体视觉算法的输出融合图像以生成用户面部的面部模型。
197.在第35方面,根据方面34所述的系统,其中为了检测触发,硬件处理器被编程为:确定hmd的加速度;比较hmd的加速度和阈值加速度;并且响应于加速度超过阈值加速度的比较来检测触发。
198.在第36方面,根据方面34-35中任一方面所述的系统,其中,当hmd与用户的头部之间的距离超过阈值距离时,检测到停止条件。
199.在第37方面,根据方面34-36中任一方面所述的系统,其中,立体视觉算法包括以下中的至少一个:块匹配算法、半全局匹配算法、半全局块匹配算法、视差图、深度图或神经网络算法。
200.在第38方面,根据方面34-37中任一方面所述的系统,其中,至少一个眼睛相机包括第一眼睛相机和第二眼睛相机,以及其中,第一眼睛相机和第二眼睛相机具有重叠的视野。
201.在第39方面,根据方面38所述的系统,其中,图像包括多对图像,其中,每对图像包括由第一眼睛相机获取的第一图像和由第二眼睛相机获取的第二图像。
202.在第40方面,根据方面39所述的系统,其中,一对图像与立体视觉算法一起被分析。
203.在第41方面,根据方面39-40中任一方面所述的系统,其中,立体视觉算法的输出包括对多对图像中的像素的深度分配。
204.在第42方面,根据方面39-41中任一方面所述的系统,其中,基于对由第一眼睛相机和第二眼睛相机获取的图像的分析,由多个点云表示用户的面部,以及其中,为了融合图像以生成面部模型,硬件处理器被编程为:使多个云彼此适配;拒绝多个云中的异常值;通过聚类或平均中的至少一种来平滑面部模型的表面。
205.在第43方面,根据方面42所述的系统,其中适配多个云,硬件处理器被编程为将迭代最近点算法应用于多个云。
206.在第44方面,根据方面34-43中任一方面所述的系统,其中,硬件处理器进一步被编程为:基于图像确定纹理图;并将纹理图应用于面部模型。
207.在第45方面,根据方面34-44中任一方面所述的系统,其中,硬件处理器进一步被编程为将面部模型传递给可穿戴设备。
208.在第46方面,根据方面34-45中任一方面所述的系统,其中,为了分析图像,硬件处理器被编程为至少:使用关键点检测器和描述符算法识别图像中的关键点;或者从图像中识别面部特征并且利用3d空间中的点来描述所识别的面部特征。
209.在第47方面,根据方面46所述的系统,其中,为了融合图像,硬件处理器被编程为使用光束平差法算法来组合关键点或面部特征。
210.在第48方面,一种用于生成用户的面部的三维(3d)模型的方法,该方法包括:接收用于生成用户的面部模型的请求;访问由可穿戴设备的面向内的成像系统获取的用户头部的图像,其中,面向内的成像系统包括至少一个眼睛相机;从所访问的图像中识别多对图像;通过将立体视觉算法应用于多对图像来分析图像;以及融合从所述分析步骤获得的输出以创建面部模型。
211.在第49方面,根据方面48所述的方法,其中,输出包括与用户的面部相关联的深度图,其包含与面部和可穿戴设备之间的距离有关的信息。
212.在第50方面,根据方面48-49中任一方面所述的方法,其中,当可穿戴设备被放置在用户上或从用户取下时,获取图像。
213.在第51方面,根据方面48-50中任一方面所述的方法,其中,至少一个眼睛相机包括第一眼睛相机和第二眼睛相机,并且一对图像包括分别由第一眼睛相机和第二眼睛相机基本上同时获取的第一图像和第二图像。
214.在第52方面,根据方面48-51中任一方面所述的方法,其中,分析图像包括将多对图像转换成点云。
215.在第53方面,根据方面52所述的方法,其中,融合输出包括使用迭代最近点算法组合点云。
216.其它考虑因素
217.在此描述的和/或在附图中描绘的过程、方法和算法中的每一个可以体现在由一个或多个物理计算系统、硬件计算机处理器、专用电路和/或被配置为执行具体和特定计算机指令的电子硬件执行的代码模块中,并且由以上完全或部分自动化。例如,计算系统可以包括利用特定计算机指令编程的通用计算机(例如,服务器)或专用计算机、专用电路等等。代码模块可以被编译并链接到可执行程序中,安装在动态链接库中,或者可以用解释的编程语言编写。在一些实施方式中,特定操作和方法可以由给定功能特定的电路来执行。
218.此外,本公开的功能的某些实施方式在数学上、计算上或技术上是足够复杂的,以致于可能需要专用硬件或一个或多个物理计算设备(利用适当的专用可执行指令)来执行功能,例如由于所涉及的计算的数量或复杂性或为了基本实时地提供结果。例如,动画或视频可以包括许多帧,每帧具有数百万个像素,并且专门编程的计算机硬件需要处理视频数据,从而在商业上合理的时间量内提供期望的图像处理任务或应用。
219.代码模块或任何类型的数据可以存储在任何类型的非瞬态计算机可读介质上,诸如物理计算机存储器,包括硬盘驱动器、固态存储器、随机存取存储器(ram)、只读存储器(rom)、光盘、易失性或非易失性存储器、相同和/或类似的组合。方法和模块(或数据)也可以在各种计算机可读传输介质上作为生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)传输,所述传输介质包括基于无线的和基于有线/电缆的介质,并且可以采取多种形式(例如,作为单个或多路复用模拟信号的一部分,或者作为多个离散数字数据包或帧)。所公开的过程或过程步骤的结果可以持久地或以其他方式存储在任何类型的非瞬态有形计算机存储器中,或者可以经由计算机可读传输介质来传送。
220.在此所描述和/或附图中描绘的流程图中的任何过程、框、状态、步骤或功能应当被理解为潜在地表示代码模块、代码段或代码部分,这些代码模块、代码段或代码部分包括用于实现特定功能(例如,逻辑或算术)或过程中的步骤的一个或多个可执行指令。各种过程、框、状态、步骤或功能可以与在此提供的说明性示例相组合、重新排列、添加、删除、修改或以其他方式改变。在一些实施例中,附加的或不同的计算系统或代码模块可以执行在此描述的功能中的一些或全部。在此描述的方法和过程也不限于任何特定的顺序,并且与其相关的框、步骤或状态可以以适当的其他顺序来执行,例如串行、并行或以某种其他方式。任务或事件可以添加到所公开的示例实施例或者从中删除。此外,在此描述的实施方式中的各种系统组件的分离是出于说明的目的,并且不应该被理解为在所有实施方式中都需要这种分离。应该理解,所描述的程序组件、方法和系统通常可以一起集成在单个计算机产品中或者封装到多个计算机产品中。许多实施方式变化是可能的。
221.过程、方法和系统可以实现在网络(或分布式)计算环境中。网络环境包括企业范围的计算机网络、内联网、局域网(lan)、广域网(wan)、个人局域网(pan)、云计算网络、众包(crowd-sourced)计算网络、互联网和万维网。网络可以是有线或无线网络或任何其他类型的通信网络。
222.本公开的系统和方法各自具有若干创新性方面,其中没有单独一个对在此公开的期望属性负责或需要。上述各种特征和过程可以彼此独立地使用,或者可以以各种方式组合。所有可能的组合和子组合均旨在落入本公开的范围内。对于本公开中所描述的实施方式的各种修改对于本领域技术人员来说可以是容易清楚的,并且在不脱离本公开的精神或范围的情况下,可将在此定义的一般原理应用于其他实施方式。因此,权利要求不旨在限于在此示出的实施方式,而是应被给予与本公开、在此公开的原理和新颖特征一致的最宽范围。
223.本说明书中在分开的实施方式的上下文中描述的某些特征也可以在单个实施方式中组合地实施。相反地,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中分开地或以任何合适的子组合方式来实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至最初如此要求,但是来自所要求的组合的一个或多个特征可以在一些情况下从组合中删除,并且所要求的组合可以针对子组合或子组合的变体。没有单个特征或特征组是每个实施例必需或不可缺少。
224.除非另有特别说明,或者在所使用的上下文中进行理解,在此使用的条件语言,诸如“能(can)”、“能够(could)”、“可能(might)”、“可以(may)”、“例如(e.g.)”等等,一般意在表达某些实施例包括而其他实施例不包括某些特征、要素和/或步骤。因此,这样的条件语言通常不旨在暗示特征、要素和/或步骤以任何方式对于一个或多个实施例是必需的,或者一个或多个实施例必然包括用于在有或者没有作者输入或提示的情况下决定这些特征、要素和/或步骤是否包括在或执行在任何特定实施例中。术语“包括(comprising)”、“包括(including)”、“具有(having)”等是同义词,并且以开放式的方式包含性地使用,并且不排除附加的要素、特征、动作、操作等等。此外,术语“或”以其包含性含义(而不是其排他含义)使用,因此当用于例如连接要素的列表时,术语“或”表示列表中的一个、一些或全部要素。另外,除非另有说明,否则本技术和所附权利要求书中使用的冠词“一”、“一个”和“所述”应被解释为表示“一个或多个”或“至少一个”。
225.如在此所使用的,提及项目列表中的“至少一个”的短语是指这些项目的任何组合,包括单个成员。作为例子,“a,b或c中的至少一个”旨在涵盖:a、b、c、a和b、a和c、b和c,以及a、b和c。除非另有特别说明,否则诸如短语“x、y和z中的至少一个”的连接语言如所使用的在利用上下文进行理解,通常用于表达项目、术语等可以是x、y或z中的至少一个。因此,这样的连接语言通常不旨在暗示某些实施例需要x中的至少一个、y中的至少一个和z中的至少一个各自存在。
226.类似地,虽然可以在附图中以特定顺序示出操作,但是应该认为,不需要以所示出的特定顺序或按顺次顺序执行这样的操作,或者不需要执行所有示出的操作以实现期望的结果。此外,附图可以以流程图的形式示意性地描绘一个或多个示例过程。然而,未示出的其他操作可以并入示意性说明的示例性方法和过程中。例如,一个或多个附加操作可以在任何所示操作之前、之后、同时或之间执行。另外,在其他实施方式中,操作可以重新安排或重新排序。在特定情况下,多任务和并行处理可能是有利的。而且,上述实施方式中的各种系统组件的分离不应当被理解为在所有实施方式中都需要这种分离,并且应该理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品。另外,其他的实施方式在以下权利要求的范围中。在一些情况下,权利要求中列举的动作能
够以不同的顺序执行并且仍然实现期望的结果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献