用于深度感测系统的动态结构化光的制作方法

文档序号:23476000发布日期:2020-12-29 13:32阅读:113来源:国知局
用于深度感测系统的动态结构化光的制作方法

相关申请的交叉引用

本申请要求于2018年5月21日提交的美国临时申请系列号62/674,430,以及于2019年5月17日提交的美国申请系列号16/415,202的权益,这两个申请在此通过引用以其整体并入。

背景

本公开总体上涉及深度照相机组件,并且具体涉及用于深度照相机组件的动态结构化光(structuredlight)。

非常一般地,结构化光感测是使用结构化光投影仪将已知的结构化光图案(例如,条)投射到场景上的过程。场景的深度信息可以使用用结构化光图案照明的场景的图像来计算。结构化光图案的有效性部分基于图案特征的密度。传统的结构化光投影仪通常具有非动态调整的固定图案。因此,传统的结构化光投影仪通常针对特定范围的距离或对比度进行优化,但是在这些参数之外,图案或者变得太密集(例如,使得功耗不必要地高和/或特征无法彼此分辨)或者太稀疏(例如,导致非常低的分辨率)。

概述

深度照相机组件(dca)确定深度信息。本公开的实施例支持用于提供用于确定深度信息的结构化光的方法、计算机可读介质和装置。在一些实施例中,基于存储在经由网络与头戴装置(headset)连接的映射服务器处的物理位置的虚拟模型来确定动态结构化光图案。虚拟模型描述了多个空间和这些空间的属性,其中虚拟模型中的位置对应于头戴装置的物理位置。映射服务器基于从头戴装置接收的描述局部区域的至少一部分的信息来确定头戴装置在虚拟模型中的位置。映射服务器部分地基于虚拟模型中的确定位置和与确定位置相关联的任何参数来确定与头戴装置的物理位置相关联的参数集合。头戴装置使用从映射服务器接收的参数集合来生成动态结构化光图案。

dca可以确定感兴趣区域,在该感兴趣区域中,增加或减少使用动态结构化光图案添加到感兴趣区域的纹理量可能是有益的。例如,dca可以基于使用对比度算法计算的对比度值,或者基于从映射服务器接收的参数来识别感兴趣区域。dca可以选择性地增加或减少在局部区域的一些部分中由动态结构化光图案添加的纹理的量。通过选择性地控制动态结构化光图案的一些部分,dca可以降低功耗和/或提高深度感测测量的精度。

在一些实施例中,dca包括结构化光(sl)投影仪、照相机组件和控制器。sl投影仪被配置成根据照明指令将一个或更多个sl图案投射到局部区域中。照相机组件被配置成捕获包括一个或更多个sl图案的局部区域的一部分的图像。控制器被配置成部分基于所捕获的图像来确定局部区域中的对比度的量。控制器还识别局部区域中的第一感兴趣区域和局部区域中的第二感兴趣区域。第一感兴趣区域具有第一对比度的量,第二感兴趣区域具有大于第一量的第二对比度的量。控制器部分基于第一感兴趣区域内的第一对比度的量和第二感兴趣区域内的第二对比度的量来更新照明指令。控制器向sl投影仪提供更新的照明指令。更新的照明指令使得sl投影仪将第一sl图案投射到第一感兴趣区域中,并将第二sl图案投射到第二感兴趣区域中。并且第二sl图案不同于第一sl图案。

附图简述

图1a是根据一个或更多个实施例的包括深度照相机组件的头戴装置的透视图。

图1b是根据一个或更多个实施例的图1a中头戴装置的dca的示意图。

图2示出了根据一个或更多个实施例的在房间中佩戴头戴装置的用户的示意图。

图3是根据一个或更多个实施例的dca的框图。

图4是根据一个或更多个实施例的映射服务器的框图。

图5是根据一个或更多个实施例的描述局部区域的虚拟模型和描述局部区域的配置的参数的示例。

图6是示出根据一个或更多个实施例的用于生成动态结构化光图案的过程的流程图。

图7是示出根据一个或更多个实施例的用于确定局部区域中对比度的量的过程的流程图。

图8是示出根据一个或更多个实施例的基于对象位置识别感兴趣区域的过程的流程图。

图9是根据一个或更多个实施例的包括头戴装置和映射服务器的系统环境的框图。

附图仅为了说明的目的而描绘本公开的实施例。本领域中的技术人员从下面的描述中将容易认识到本文示出的结构和方法的替代实施例可以被采用而不偏离本文所述的本公开的原理或者所推崇的益处。

详细描述

深度照相机组件(dca)确定深度信息。dca将动态结构化光图案投射到局部区域,并捕获包括动态结构化光图案的一部分的图像。由局部区域中的三维对象引起的动态结构化光图案的失真允许dca计算三维深度信息。dca可以使用动态结构化光图案向局部区域内的对象施加一定量的纹理。dca可以确定感兴趣区域,在该感兴趣区域中,改变使用动态结构化光图案添加到感兴趣区域的纹理可能是有益的。使用动态结构化光图案添加的纹理量会影响深度测量的精度(例如,更多的纹理可以提高精度)。纹理受到动态结构化光图案的属性(例如强度、密度、图案形状(例如,点、条、网格)、偏振、闪烁速率等)的影响。改变动态结构化光图案的一个属性可以改变由动态结构化光图案添加到局部区域的纹理。例如,dca可以基于使用对比度算法计算的对比度值,或者基于从包括局部区域的虚拟模型的映射服务器接收的参数来识别感兴趣区域。dca可以选择性地增加或减少局部区域的一些部分中由动态结构化光图案添加的纹理的量。

dca可以独立地改变局部区域的不同部分中的动态结构化光图案。例如,响应于给定时刻的条件变化,dca可以增大第一感兴趣区域中动态结构化光图案的强度,并且dca可以同时减小第二感兴趣区域中动态结构化光图案的强度。对于局部区域的每个部分,dca可以调整动态结构化光图案的任何合适的属性,例如强度、密度、图案形状(例如,点、条、网格)、偏振、闪烁速率等。在一些实施例中,动态结构化光图案可以是时间复用的,使得不同的图案在不同的时间投射到不同的区域上。

传统系统可以投射静态结构化光图案,以便确定深度信息。然而,静态结构化光图案可能在局部区域的某些区域中提供比所需更多的纹理,这消耗了过多的功率。另外,静态结构化光图案可能在局部区域的某些区域中例如在低对比度区域中没有提供足够的纹理来获得精确的深度信息。相反,通过从映射服务器获得关于局部区域的信息,并且通过选择性地控制动态结构化光图案的部分,dca可以降低功耗和/或提高深度感测测量的精度。

本公开的实施例可以包括人工现实系统或结合人工现实系统来被实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(vr)、增强现实(ar)、混合现实(mixedreality,mr)、混杂现实(hybridreality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或者与所捕获的(例如,现实世界)内容组合的所生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个通道中或在多个通道中被呈现(例如向观看者产生三维效果的立体视频)。此外,在一些实施例中,人工现实还可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合用于例如在人工现实中创建内容和/或在人工现实中以其他方式使用(例如在人工现实中执行活动)。可以在各种平台(包括头戴装置、连接到主计算机系统的头戴式显示器(hmd)、独立的hmd、近眼显示器(ned)、移动设备或计算系统或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台)上实现提供人工现实内容的人工现实系统。

头戴装置可以是例如ned、hmd或某种其他类型的头戴装置。头戴装置可以是人工现实系统的一部分。头戴装置还包括显示器和光学组件。头戴装置的显示器被配置成发射图像光。头戴装置的光学组件被配置成将图像光引导至头戴装置的对应于佩戴者眼睛位置的视窗(eyebox)。在一些实施例中,图像光可以包括头戴装置周围的局部区域的深度信息。

图1a是根据一个或更多个实施例的包括dca120的头戴装置的透视图。在一些实施例中(如图1a所示),头戴装置100被实现为近眼显示器(ned)。在替代实施例中(图1a中未示出),头戴装置100被实现为头戴式显示器(hmd)。通常,头戴装置100可以戴在用户的脸上,使得使用头戴装置100的一个或两个透镜110呈现内容(例如,媒体内容)。然而,也可以使用头戴装置100使得以不同的方式向用户呈现媒体内容。由头戴装置100呈现的媒体内容的示例包括一个或更多个图像、视频、音频、或它们的某种组合。头戴装置100可以包括框架105、透镜110、一个或更多个扬声器115、深度照相机组件(dca)120和位置传感器125以及其他部件。

dca120可以是安装在头戴装置100上的同时定位和映射(slam)传感器的一部分,用于捕获部分或整个头戴装置100周围局部区域的视觉信息。虽然图1a示出了头戴装置100的部件在头戴装置100上的示例位置中,但是这些部件可以位于头戴装置100上的其他地方、位于与头戴装置100配对的外围设备上、或者它们的某种组合。

头戴装置100可以矫正或增强用户的视觉、保护用户的眼睛、或者向用户提供图像。头戴装置100可以是矫正用户的视力缺陷的眼镜。头戴装置100可以是保护用户眼睛免受太阳照射的太阳镜。头戴装置100可以是保护用户眼睛免受冲撞的安全镜。头戴装置100可以是夜视设备或红外护目镜,以增强用户的夜间视觉。头戴装置100可以是为用户产生人工现实内容的近眼显示器。

框架105保持头戴装置100的其他部件。框架105包括保持透镜110的前部和附接到用户头部的末端件(endpiece)。框架105的前部架在用户鼻子的顶部。末端件(例如,镜腿(temples))是框架105的一部分,用户的鬓角(temples)附接到该部分。末端件的长度可以是可调的(例如,可调的镜腿长度),以适合不同的用户。末端件也可以包括在用户耳朵后面弯曲(curl)的部分(例如,镜腿套(templetip)、挂耳件(earpiece))。

透镜110向佩戴头戴装置100的用户提供(例如,生成和/或透射)光。透镜110可以是处方透镜(例如,单光透镜(singlevisionlens)、双焦点透镜和三焦点透镜或渐进透镜),以帮助矫正用户的视力缺陷。处方透镜将环境光透射给佩戴头戴装置100的用户。透射的环境光可以被处方透镜改变,以矫正用户的视力缺陷。透镜110可以是偏振透镜或有色透镜,以保护用户的眼睛免受阳光照射。透镜110可以是作为波导显示器一部分的一个或更多个波导,其中图像光通过波导的末端或边缘耦合到用户的眼睛。透镜110可以包括用于提供图像光的电子显示器,并且还可以包括用于放大来自电子显示器的图像光的光学块。

扬声器115为用户的耳朵产生声音。尽管扬声器115被示出在框架105的外部,但是扬声器115可以被封装在框架105中。在一些实施例中,代替每只耳朵的单独扬声器,头戴装置100包括集成到例如框架105的末端件中的扬声器阵列(图1a中未示出),以提高所呈现的音频内容的方向性。

dca120确定头戴装置100周围的局部区域(例如房间)的深度信息。dca120包括光投影仪(例如,结构化光投影仪和/或用于飞行时间的闪光照明)、成像设备和控制器(图1a中未示出)。结构化光投影仪可以在局部区域中生成动态结构化光图案,该动态结构化光图案可以根据各种条件进行调整,如本文进一步描述的。

dca120可以捕获数据,例如由成像设备捕获的由光投影仪投射到局部区域上的光的图像。在一个实施例中,dca120可以包括控制器和两个或更多个成像设备,成像设备被定向成以立体方式捕获局部区域的部分。捕获的数据可以是由两个或更多个成像设备以立体方式捕获的局部区域的图像。dca120的控制器使用捕获的数据和深度确定技术(例如,结构化光、飞行时间、立体成像等)来计算局部区域的深度信息。基于深度信息,dca120的控制器确定头戴装置100在局部区域内的绝对位置信息。dca120的控制器也可以生成局部区域的模型。dca120可以与头戴装置100集成在一起,或者可以位于头戴装置100外部的局部区域内。

在一些实施例中,dca120的一些照相机还可以被配置用作无源照相机组件(pca),该pca包括生成彩色(例如,rgb)图像数据的一个或更多个无源成像设备。无源成像设备捕获来自局部区域的环境的光,以生成彩色图像数据。彩色图像数据的像素值可以定义图像数据中捕获的对象的可见颜色,而不是像素值定义距成像设备的深度或距离。在一些实施例中,无源成像设备由控制器控制,该控制器基于由无源成像设备捕获的光来生成彩色图像数据。

dca120可以校正包括ir结构化光图案的图像帧中的环境ir信号。环境ir信号可以是图像帧中不由ir结构化光图案提供的任何ir信号。dca120可以在第一图像的捕获期间投射动态结构化光图案,并且dca可以在第二图像的捕获期间去激活(deactivate)动态结构化光图案。dca120可以从第一图像的像素值减去第二图像的像素值,这可以从图像中去除环境ir信号,并且增强dca120计算深度信息的能力。

位置传感器125响应于头戴装置100的运动而生成一个或更多个测量信号。位置传感器125可以位于头戴装置100的框架105的一部分上。位置传感器125可以包括位置传感器、惯性测量单元(imu)或两者。头戴装置100的一些实施例可以包括或者不包括位置传感器125,或者可以包括一个以上的位置传感器125。在位置传感器125包括imu的实施例中,imu基于来自位置传感器125的测量信号生成imu数据。位置传感器125的示例包括:一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁力计、检测运动的另一合适类型的传感器、用于imu的误差校正的一种类型的传感器、或者它们的某种组合。位置传感器125可以位于imu的外部、imu的内部或者它们的某种组合。

基于一个或更多个测量信号,位置传感器125估计头戴装置100相对于头戴装置100的初始位置的当前位置。估计的位置可以包括头戴装置100的位置和/或头戴装置100或佩戴头戴装置100的用户头部的取向,或它们的某种组合。取向可以对应于每只耳朵相对于参考点的位置。在一些实施例中,位置传感器125使用来自dca120的深度信息和/或绝对位置信息来估计头戴装置100的当前位置。位置传感器125可以包括测量平移运动(向前/向后、向上/向下、向左/向右)的多个加速度计和测量旋转运动(例如,俯仰、偏航、横滚)的多个陀螺仪。在一些实施例中,imu对测量信号进行快速采样并根据所采样的数据计算头戴装置100的所估计的位置。例如,imu对从加速度计接收到的测量信号在时间上求积分以估计速度矢量,并对速度矢量在时间上求积分以确定在头戴装置100上的参考点的所估计的位置。参考点是可以用来描述头戴装置100的位置的点。虽然参考点通常可以被定义为在空间中的点;然而,在实践中,参考点被定义为在头戴装置100内的点。

图1b是根据一个实施例的图1a中的头戴装置100的将光投射到局部区域155中的dca120的示意图150。dca120的一些实施例具有不同于这里描述的那些部件的部件。类似地,在某些情形中,功能可以以不同于这里描述的方式在部件之间分配。

dca120包括结构化光投影仪160、照相机组件165和控制器170。结构化光投影仪160用结构化光照射局部区域155。在一些实施例中,结构化光投影仪160包括光源、衍射光学单元和投影组件。光源发射光。衍射光学单元包括多个衍射光学元件(doe)。doe可以是例如一个或更多个衍射光栅、漫射器、空间光调制器、形成结构化光的某种其他元件、或它们的某种组合。衍射光学单元的每个doe将来自光源的光转换成结构化光图案。结构化光图案可以是例如点阵图案、线条图案、正弦图案、多(空间)色调图案和网格图案、漫射光(例如,用于飞行时间或有源立体深度确定)、可用于确定深度信息的某种其他光、或者它们的某种组合。动态光图案投影通过光源、doe或投影组件或其组合的动态控制来实现。在结构化光图案是漫射光的实施例中,doe可以用于为dca120生成不同的视场。dca120选择doe来调整其视场。投影组件将结构化光图案投射到局部区域155中。例如,投影组件包括收集结构化光并将结构化光图案投射到部分或整个局部区域155中的一个或更多个光学元件(例如,透镜、偏振器、光栅等)。

照相机组件165捕获局部区域155的一部分的图像,并将捕获的图像输出到控制器170。照相机组件165包括一个或更多个照相机。

在一些实施例中,控制器170被配置成使用来自照相机组件165的捕获图像来确定局部区域155中对象的深度信息。控制器170还控制结构化光投影仪160如何投射结构化光,以及控制照相机组件165如何捕获图像光。例如,控制器170指示结构化光投影仪160选择一个或更多个doe和/或控制光源并指示照相机组件165捕获图像。在一些实施例中,控制器170向控制台(未在图1b中示出)和/或头戴装置100的适当模块(例如,图1b中未示出的变焦模块)提供确定的深度信息。控制台和/或头戴装置100可以利用深度信息来例如,生成用于呈现的内容。下面参考图3详细讨论关于dca120及其部件的附加细节。

图2示出了根据一个或更多个实施例的在房间220中佩戴头戴装置200的用户210的示意图。头戴装置200包括dca(例如,dca120)。头戴装置200可以是头戴装置100的实施例。头戴装置200可以确定描述部分或整个房间220和/或房间220内对象的深度信息。dca的结构化光投影仪可以将动态结构化光图案投射到房间220中。dca的照相机组件可以获得包括动态结构化光图案的图像,并且动态结构化光图案中的失真可以提供关于房间220内的对象的信息。

头戴装置200可以确定描述房间220的至少一部分的视觉信息,并将该视觉信息提供给映射服务器230。例如,头戴装置200可以包括至少一个dca,其为房间220的至少该部分生成深度信息。头戴装置200上的dca还可以包括至少一个无源照相机组件(pca),其为房间220的至少该部分生成彩色图像数据。在一些实施例中,头戴装置200的dca和pca是安装在头戴装置200上用于确定房间220的视觉信息的同时定位和映射(slam)传感器的一部分。因此,由至少一个dca捕获的深度信息和/或由至少一个pca捕获的彩色图像数据可以被称为由头戴装置200的slam传感器确定的视觉信息。

头戴装置200可以经由网络240将视觉信息传送到映射服务器230,用于确定房间220的一个参数集合。网络240可以包括使用无线和/或有线通信系统的局域网和/或广域网的任意组合。例如,网络240可以包括互联网以及移动电话网络。在一个实施例中,网络240使用标准通信技术和/或协议。因此,网络240可以包括使用诸如以太网、802.11、全球微波接入互操作性(wimax)、2g/3g/4g移动通信协议、数字用户线路(dsl)、异步传输模式(atm)、infiniband、pciexpress高级交换等技术的链路。类似地,网络240上使用的网络协议可以包括多协议标签交换(mpls)、传输控制协议/互联网协议(tcp/ip)、用户数据报协议(udp)、超文本传输协议(http)、简单邮件传输协议(smtp)、文件传输协议(ftp)等。通过网络240交换的数据可以使用包括二进制形式的图像数据(例如,便携式网络图形(png))、超文本标记语言(html)、可扩展标记语言(xml)等的技术和/或格式来表示。此外,全部或部分链路可以使用传统的加密技术(例如安全套接字层(ssl)、传输层安全(tls)、虚拟专用网络(vpn)、互联网协议安全(ipsec)等)进行加密。网络240还可以将位于相同或不同房间的多个头戴装置连接到相同的映射服务器230。

在一些实施例中,除了用于确定参数集合的视觉信息,头戴装置200还向映射服务器230提供其位置信息(例如,房间220的全球定位系统(gps)位置)。在一些实施例中,头戴装置200向映射服务器230提供位置信息,用于确定参数集合。参数集合可用于表示房间220中特定配置的各种属性,这些属性一起定义了房间220中的深度图(depthmap)。参数可以包括房间大小、房间中对象的数量、对象位置、表面的反射率、对比度值、亮度、照明条件、是否以及何种类型的纹理(例如,sl图案的密度、sl图案的类型、sl图案的亮度等)应该被添加到房间内的位置等,用于虚拟模型中的各个位置。

房间220中的配置和相关联的条件可以基于例如头戴装置200在房间220中的位置变化、房间220中物理或虚拟对象的位置变化、房间220中对象数量的增加或减少、房间中照明的变化等中的至少一个而变化。头戴装置200可以基于头戴装置200可用的信息动态地改变全部或一部分动态结构化光图案。动态结构化光图案可以由多个片段或区块(tile)形成,每个片段或区块被投射到房间220的一部分中,一起形成整个动态结构化光图案。在一些实施例中,动态结构化光图案的每个片段可以包含不同的结构化光图案,并且可以被单独调整。例如,响应于房间220中的条件在给定时刻的变化,头戴装置200可以增大第一片段中动态结构化光图案的强度,并且头戴装置200可以同时减小第二片段中动态结构化光图案的强度。对于房间220的每个部分,头戴装置200可以调整动态结构化光图案的任何合适的属性,例如强度、密度、图案形状(例如,点、条、网格)、偏振、闪烁速率等。在一些实施例中,动态结构化光图案可以是时间复用的,使得不同的图案在不同的时间被投射到房间220的不同部分中。

头戴装置200可以调整低对比度区域260中的动态结构化光图案。例如,头戴装置可以在低对比度区域260的方向上改变动态结构化光图案的强度、密度和/或形状(例如,从条变为点),以便向低对比度区域260添加纹理。在一些实施例中,深度照相机组件可以检测低对比度区域260,并且深度照相机组件可以在低对比度区域260的方向上调整动态结构化光图案,以便提高该区域中深度估计的质量。

映射服务器230包括存储描述多个空间的虚拟模型的数据库,其中虚拟模型中的一个位置对应于房间220的当前配置。映射服务器230经由网络240从头戴装置200接收描述房间220的至少一部分的视觉信息和/或房间220的位置信息。映射服务器230基于接收到的视觉信息和/或位置信息来确定虚拟模型中与房间220的当前配置相关联的位置。映射服务器230部分地基于虚拟模型中的确定位置和与确定位置相关联的任何参数,来确定(例如,检索)与房间220的当前配置相关联的参数集合。

映射服务器230可以(例如,经由网络240)向头戴装置200提供关于该参数集合的信息,以使头戴装置200为结构化光投影仪确定适当的光图案。例如,映射服务器230可以向头戴装置200传输关于房间220内低对比度区域260的位置的信息。替代地,映射服务器230可以使用参数集合生成描述结构化光图案的信息,并将该信息提供给头戴装置200,头戴装置200然后可以使用该信息来生成结构化光图案。在一些实施例中,映射服务器230的一些部件可以与经由有线连接(图2中未示出)连接到头戴装置200的另一设备(例如,控制台)集成。

头戴装置200可以向用户210显示虚拟对象,例如虚拟对象270或虚拟对象280。如图2所示,虚拟对象280可以位于头戴装置200和物理对象290之间的视线中。头戴装置200可以经由映射服务器230或深度照相机组件获得描述物理对象290的位置的信息。

头戴装置200可能不需要获得被虚拟对象280遮挡的物理对象的深度信息。然而,可能希望头戴装置200获得可位于头戴装置200和虚拟对象280之间的任何对象的深度信息。因此,头戴装置200可以通过减小在虚拟对象280的方向上投射的结构化光的强度或密度来减少包含被遮挡对象的感兴趣区域中的纹理量,使得纹理足以确定头戴装置200和虚拟对象280之间的深度信息。

类似地,头戴装置200可能不需要获得被物理对象290遮挡的虚拟对象270区域中的深度信息。因此,头戴装置200可以减小在虚拟对象270的方向上投射的结构化光的强度或密度,而不为虚拟对象270的距离提供足够的纹理。

图3是根据一个或更多个实施例的用于头戴装置的dca300的框图。在一些实施例中,dca300可以是参照图1a和图1b描述的dca120。dca300的一些实施例具有不同于这里描述的那些部件的部件。类似地,功能可以以不同于这里描述的方式在部件之间分配。在一些实施例中,dca300的一些功能可以是不同部件的一部分(例如,一些功能可以是头戴装置的一部分,一些功能可以是控制台和/或服务器的一部分)。

dca300生成诸如房间的局部区域的深度信息。深度信息包括定义距dca300的距离的像素值,这提供在深度信息中捕获的位置的映射,例如在深度信息中捕获的位置的三维映射。dca300包括结构化光投影仪310、照相机组件320和控制器330。

结构化光投影仪310生成结构化光并将结构化光投射到局部区域中。结构化光投影仪310包括一个或更多个照明源、一个或更多个模板(patternplate)以及一个或更多个投影组件。照明源被配置成发射光(例如,作为光束),并且可以发射多种波长的光。照明源可以发射例如可见频带(大约380nm至750nm)、红外(ir)频带(大约750nm至大约1800nm)、紫外频带(大约100nm至380nm)、照相机组件320被配置成检测的电磁光谱的某个其他部分、或它们的某种组合中的光。照明源可以是例如激光二极管(例如,边缘发射器)、无机或有机led、垂直腔表面发射激光器(vcsel)、或某种其他源。在一些实施例中,结构化光发生器中的单个发射器或多个发射器可以发射具有结构化光图案的光。在一些实施例中,多个发射器可单独寻址或通过块/节/组寻址。从一个或更多个照明源发射的光可以是例如偏振的(例如线性偏振、圆偏振等)。

一个或更多个模板使用来自一个或更多个照明源的光生成sl图案。模板可以是例如一个或更多个衍射光学元件、掩模、计算机生成的全息图、声光器件(例如,被配置用作动态衍射光栅)、生成结构化光图案的某个其他元件、或它们的某种组合。

投影组件将结构化光投射到局部区域中。投影组件包括将结构化光图案引导至局部区域中的一个或更多个光学元件。例如,投影组件可以包括多个透镜。在一些实施例中,投影组件包括光束成形元件,光束成形元件改变由一个或更多个模板衍射的结构化光的轮廓或一般强度包络(generalintensityenvelope)。sl图案包括多个sl元素。每个元素都是sl图案的离散部分,例如线或点。例如,由被照亮的模板投射的每个sl元素是与模板上的特定位置相关联的点。例如,结构化光投影仪310可以将不同类型的多个sl元素(例如,线条、网格或点)投射到头戴装置周围的局部区域的一部分上。

结构化光投影仪310可以根据来自控制器330的指令来动态改变动态结构化光图案。在一些实施例中,结构化光投影仪310可以在结构化光投影仪310的整个视场上投射相同的图案,或者结构化光投影仪310可以将不同的结构化光图案投射到视场的不同部分。例如,动态结构化光图案可以由多个片段或区块形成,每个片段或区块被投射到结构化光投影仪310的视场的一部分中,一起形成整个动态结构化光图案。在一些实施例中,动态结构化光图案的每个片段可以包含不同的结构化光图案,并且可以被单独调整。例如,响应于给定时刻的条件变化,结构化光投影仪310可以增大第一片段中动态结构化光图案的强度,并且结构化光投影仪310可以同时减小第二片段中动态结构化光图案的强度。对于结构化光投影仪310的视场的每个部分,结构化光投影仪310可以调整动态结构化光图案的任何合适的属性,例如强度、密度、图案形状(例如,点、条、网格)、偏振、闪烁速率等。在一些实施例中,动态结构化光图案可以是时间复用的,使得不同的图案在不同的时间被投射到视场的不同部分中。

结构化光投影仪310可以通过使不同的发射器是有源的、使一些或全部发射器是可调的、或者通过使不同的模板用于不同的结构化光图案来改变动态结构化光图案。在一些实施例中,动态结构化光图案仅通过单独地或按子集或分节控制每个发射器来实现,其中动态属性在投射的图案中以图案形状、强度、偏振、时间调制、视场等形式来表现。在一些实施例中,诸如透镜、光栅或空间光调制器的可调光学部件用于实现动态图案。在一些实施例中,考虑到投影仪尺寸、重量、功率、成本等,可以采用使用可寻址光源和可调光学器件的组合来实现动态光图案。

照相机组件320被配置成捕获局部区域的图像。照相机组件320包括一个或更多个成像设备(例如,照相机),其可以在至少一个光波段中捕获sl图案的图像。在一些实施例中,照相机组件320的一个或更多个成像设备和/或其他成像设备也可以捕获可见光波段的光。在一些情况下,局部区域的部分或全部的捕获图像可以包括部分或全部的(例如,由局部区域中的对象反射的)sl图案。

控制器330控制dca300的部件。控制器可以包括映射模块340、对比度模块350、深度测量模块360和照明模块370。控制器330的一些实施例具有不同于这里描述的那些部件的部件。类似地,功能可以以不同于这里描述的方式在部件之间分配。在一些实施例中,控制器330的一些功能可以是不同部件的一部分(例如,一些功能可以是头戴装置的一部分,一些功能可以是控制台和/或服务器的一部分)。

映射模块340可以被配置成与映射服务器(例如,映射服务器230)通信。映射模块340可以向映射服务器传输信息,该信息包括dca300的位置和/或由dca300捕获的图像。映射模块还可以向图2的映射服务器230或某个其他部件提供深度信息。

对比度模块350可以基于由照相机组件320捕获的图像来计算局部区域中的对比度。对比度模块350可以使用各种对比度算法,例如weber对比度、michelson对比度、均方根(rms)对比度等。在一些实施例中,对比度模块350可以使用具有滑动最大值的l2对比度算法来计算对比度,如参考图7进一步描述的。对比度模块350可以为传感器的每个像素计算对应于局部区域中特定区域的对比度。

照明模块370可以生成照明指令,以提供给光投影仪310来投射动态结构化光图案。照明指令可以降低(并且在某些情况下最小化)光投影仪310的功耗,同时在局部区域中提供足够的纹理来计算深度信息。在一些实施例中,照明模块370可以基于深度测量的置信度水平来确定局部区域包含足够的纹理(例如,如果深度测量被计算为具有大于95%或大于50%的置信度水平,则纹理可以是足够的)。例如,对比度模块350可以检测局部区域的具有相对高对比度值的第一感兴趣区域,并且照明模块370可以减少由光投影仪310提供给第一感兴趣区域的纹理量,因为深度测量模块360可以在没有由光投影仪310提供的附加纹理的情况下充分计算第一感兴趣区域中的深度信息。类似地,对比度模块350可以检测局部区域的具有相对低对比度值的第二感兴趣区域,并且照明模块370可以增加由光投影仪310提供给第二感兴趣区域的纹理量,因为深度测量模块360可以利用附加纹理更好地计算第二感兴趣区域中的深度信息。

在一些实施例中,作为帧减法(framesubtraction)的一部分,照明模块370可以结合由照相机组件320捕获的图像来指示光投影仪是活动的(例如,发射光)还是非活动的(例如,不发射光)。例如,dca300可以校正包括ir结构化光图案的图像帧中的环境ir信号。环境ir信号可以是图像帧中不由ir结构化光图案提供的任何ir信号。照明模块370可以指示光投影仪310在照相机组件320捕获第一图像期间激活,并且在照相机组件320捕获第二图像期间去激活。

深度测量模块360基于由照相机组件320捕获的图像来确定图像每个像素的深度信息,并且与像素相关联地存储每个像素的深度信息以生成深度图像。深度测量模块分析包含动态结构化光图案的图像。由局部区域中的三维对象引起的动态结构化光图案的失真允许dca计算三维深度信息。

在一些实施例中,深度测量模块360使用由照明模块370捕获的多个图像帧来执行帧减法。深度测量模块360可以从在结构化光图案激活的情况下捕获的第一图像的像素值减去在结构化光图案非活动的情况下捕获的第二图像的像素值,这可以从图像中去除环境ir信号,并且提高深度测量模块360计算深度信息的能力。在一些实施例中,第一图像和第二图像的强度可以基于捕获之间的曝光时间差异来缩放。

在各种实施例中,深度测量模块360确定没有动态结构化光图案的图像中的深度信息,例如通过将一个或更多个立体成像(也称为“立体”)过程应用于由照相机组件320在共同时间捕获的一对图像来确定深度信息。示例立体过程包括全局块匹配(globalpatchmatching)和半全局匹配。当深度测量模块360应用半全局匹配过程时,深度测量模块360在由照相机组件320的第一成像设备捕获的图像的子集和由照相机组件320的第二成像设备在与图像的共同时间捕获的附加图像的子集上执行密集块匹配;例如,深度测量模块360对图像和附加图像进行矫正,并沿着矫正图像和附加图像之间的极线(epipolarlines)执行密集块匹配。当应用半全局匹配过程时,深度测量模块360还在图像上沿着有限数量的路径(例如,4、8、16条)将像素的深度信息传播到其他像素。然而,在其他实施例中,深度测量模块360实现任何合适的立体过程,例如经由卷积神经网络。在一些实施例中,照明模块370可以指示光投影仪310将结构化光图案投射到场景中,以向场景添加纹理,这可以提高深度测量的精度,即使没有预先校准的结构化光图案。

图4是根据一个或更多个实施例的映射服务器230的框图。映射服务器230确定诸如图1a的头戴装置100的头戴装置所处的物理空间(房间)的参数集合。参数可以包括房间大小、房间中对象的数量、对象位置、表面的反射率、对比度值、亮度、照明条件、是否以及什么类型的纹理应该被添加到房间内的位置等。所确定的参数集合可以被用于在头戴装置100处生成局部区域的结构化光图案。映射服务器230包括虚拟模型数据库410、通信模块420、映射模块430和分析模块440。在其他实施例中,映射服务器230可以具有列出的模块与任何附加模块的任何组合。在一些其他实施例中,映射服务器230包括结合了图4所示模块功能的一个或更多个模块。映射服务器230的处理器(图4中未示出)可以运行虚拟模型数据库410、通信模块420、映射模块430、分析模块440、一个或更多个其他模块或结合了图4中所示模块功能的模块中的部分或全部。

虚拟模型数据库410存储描述多个物理空间和这些物理空间的属性的虚拟模型。虚拟模型中的每个位置对应于头戴装置在具有特定配置的局部区域内的物理位置。条件表示具有用参数集合表示的属性集合的局部区域的条件。虚拟模型中的特定位置可以对应于头戴装置在图2的房间220内的当前物理位置。虚拟模型中的每个位置都与对应的物理空间的一个参数集合相关联,该参数集合表示局部区域的一种配置。参数集合描述了局部区域的一种特定配置的各种属性。参数可以包括房间大小、房间中对象的数量、对象位置、表面的反射率、对比度值、亮度、照明条件、是否以及何种类型的纹理应该被添加到房间内的位置等,用于虚拟模型中的各个位置。

通信模块420是经由网络(例如,图2的网络240)与头戴装置通信的模块。通信模块420从头戴装置接收描述房间220的至少一部分的视觉信息。在一个或更多个实施例中,视觉信息包括房间220的至少一部分的图像数据。例如,通信模块420接收由头戴装置的dca捕获的深度信息,该深度信息具有关于由房间220的表面(例如,房间220的墙壁、地板和天花板的表面)定义的房间220的形状的信息。通信模块420还可以接收由头戴装置的pca捕获的彩色图像数据。映射服务器230可以使用彩色图像数据将不同的位置和对比度值与房间220的表面相关联。通信模块420可以将从头戴装置接收的视觉信息(例如,深度信息和彩色图像数据)提供给映射模块430。

映射模块430将从头戴装置接收的视觉信息映射到虚拟模型的位置。映射模块430确定对应于头戴装置所处的当前物理空间的虚拟模型的位置(即局部区域的当前配置)。映射模块430搜索整个虚拟模型,以发现(i)包括至少例如关于物理空间的表面的几何形状的信息和关于表面的对比度值的信息的视觉信息与(ii)虚拟模型内物理空间的相应配置之间的映射。通过将接收到的视觉信息的几何形状和/或对比度信息与作为虚拟模型内物理空间配置的一部分存储的几何形状和/或对比度信息进行匹配来执行映射。虚拟模型内物理空间的相应配置对应于头戴装置当前所在的物理空间的模型。如果没有发现匹配,这表示物理空间的当前配置尚未在虚拟模型中建模。在这种情况下,映射模块430可以通知分析模块440没有发现匹配,并且分析模块440至少部分基于接收到的视觉信息来确定参数集合。

分析模块440部分地基于从映射模块430获得的虚拟模型中的确定位置和虚拟模型中与确定位置相关联的任何参数,来确定与头戴装置的物理位置相关联的参数集合。参数可以包括房间大小、房间中对象的数量、对象位置、表面的反射率、对比度值、亮度、照明条件、是否以及什么类型的纹理应该被添加到房间内的位置等。在一些实施例中,分析模块440从虚拟模型检索参数集合,因为该参数集合存储在虚拟模型中与特定空间配置相关联的确定位置。在一些其他实施例中,分析模块440通过至少部分基于从头戴装置接收的视觉信息调整针对虚拟模型中的特定空间配置先前确定的参数集合来确定参数集合。例如,分析模块440可以使用接收到的视觉信息来运行离线模拟,以确定参数集合。

在一些实施例中,分析模块440确定先前生成的参数与头戴装置的当前物理位置的条件不一致。检测到的不匹配可以在映射服务器230处触发新的参数集合的再生。一旦被重新计算,这个新的参数集合可以被输入到映射服务器230的虚拟模型中,作为先前参数集合的替换,或者作为相同物理空间的附加状态。分析模块440将导出的参数集合提供给通信模块420,通信模块420将参数集合从映射服务器230传送到头戴装置,头戴装置可以使用参数集合来生成结构化光图案。

在一些实施例中,由分析模块440确定的一个或更多个参数表示新的参数集合,该新的参数集合不是虚拟模型的一部分,因为房间220的当前配置和房间220的相应条件没有被虚拟模型建模。在这种情况下,虚拟模型数据库410在虚拟模型内与房间220的当前配置相关联的位置存储新的参数集合,从而对房间220的当前条件进行建模。一个或更多个参数中的部分或全部可以连同与该参数相关联的置信度(权重)和绝对时间戳一起存储在虚拟模型中,置信度(权重)和绝对时间戳可用于重新计算部分参数。

图5是描述局部区域的虚拟模型500和描述局部区域的配置的参数的示例。参数可以包括房间大小、房间中对象的数量、对象位置、表面的反射率、对比度值、亮度、照明条件、是否以及何种类型的纹理应该被添加到房间内的位置等。虚拟模型500可以存储在映射服务器230的虚拟模型数据库410中。虚拟模型500可以表示虚拟模型数据库410中的地理信息存储区域,其存储一个或更多个头戴装置周围各个局部区域的地理上捆绑的信息三元组(triplet)(即,局部区域标识符(id)510、局部区域配置id520和参数集合530)。

虚拟模型500包括可能的局部区域的列表s1、s2、…、sn,每个局部区域由局部区域id510标识。局部区域id510标识特定类型的局部区域。例如,局部区域id510标识不同类型的房间,例如会议室、浴室、走廊、办公室、卧室、餐厅、客厅、某种其他类型的物理空间或它们的某种组合。因此,每个局部区域id510对应于一种特定类型的物理空间。

每个局部区域id510与一个或更多个局部区域配置id520相关联。每个局部区域配置id510对应于由局部区域id510标识的局部区域的具有特定深度信息或对比度信息的配置。局部区域配置id510可以包括识别局部区域中对象的数量、局部区域内对象的定位、标识、局部区域的环境照明或局部区域内其他条件的信息。局部区域的不同配置影响局部区域的不同区域的深度信息或局部区域的不同区域的对比度信息。每个局部区域配置id520可以被表示为标识局部区域id510的配置的代码id(例如,二进制代码、字母数字代码)。例如,如图5所示,局部区域s1可以与p个不同的空间配置s1c1、s1c2、…、s1cp相关联,每个空间配置表示局部区域s1的不同配置;局部区域s2可以与q个不同的配置s2c1、s2c2、…、s2cq相关联,每个配置表示局部区域s2的不同配置;局部区域sn可以与r个不同的配置snc1、snc2、…、sncr相关联,每个配置表示局部区域sn的不同配置。映射模块430可以基于从头戴装置接收的局部区域的视觉信息来搜索虚拟模型500以发现适当的局部区域配置id520。

每个局部区域配置id520与存储在虚拟模型500的相应位置中的特定参数集合530相关联。如图5所示,同一局部区域s1的p个不同的空间配置s1c1、s1c2、…、s1cp与p个不同的参数集合{p11}、{p12}、…、{p1p}相关联。类似地,如图5中进一步示出的,同一局部区域s2的q个不同空间配置s2c1、s2c2、…、s2cq与q个不同的参数集合{p21}、{p22}、…、{p2q}相关联;并且同一局部区域sn的r个不同空间配置snc1、snc2、…、sncr与r个不同的参数集合{pn1}、{pn2}、…、{pnr}相关联。当映射模块430发现对应于头戴装置所在的局部区域的当前配置的局部区域配置id520时,分析模块440可以从虚拟模型500检索相应的参数集合530。参数可以被dca(例如,dca300)用来生成动态结构化光图案。

图6是示出根据一个或更多个实施例的用于生成动态结构化光图案的过程600的流程图。图6的过程600可以由dca(例如,dca300)的部件执行。在其他实施例中,其他实体(例如,图2的映射服务器230和/或图9中所示的部件)可以执行该过程的部分或全部步骤。同样,实施例可以包括不同的和/或附加的步骤,或者以不同的顺序执行这些步骤。

基于描述局部区域的至少一部分的信息,dca确定610局部区域(例如,房间220)内的头戴装置(例如,头戴装置200)在虚拟模型中的位置。dca可以向映射服务器传输信息。例如,dca可以传输gps位置、可用于确定头戴装置的位置的深度信息,或者dca可以传输由头戴装置捕获的图像。在一些实施例中,dca可以最初投射结构化光图案并捕获图像以确定深度信息,并且dca可以将深度信息传输到映射服务器以生成动态结构化光图案的参数。映射服务器可以识别头戴装置在存储的虚拟模型中的位置。存储的虚拟模型描述了多个空间和这些空间的属性,其中虚拟模型中的位置对应于头戴装置在局部区域内的物理位置,如参照图5进一步描述的。描述局部区域的至少一部分的信息可以包括深度信息,该深度信息具有关于由局部区域的表面(例如,墙壁、地板和天花板的表面)定义的局部区域的至少该部分的形状和局部区域中一个或更多个(现实和/或虚拟)对象的信息。描述局部区域的至少一部分的信息还可以包括对比度数据,用于将对比度相对高或相对低的区域与局部区域的表面以及一个或更多个对象的表面相关联。在一些实施例中,描述局部区域的至少一部分的信息可以包括局部区域的位置信息,例如,局部区域的地址、局部区域的gps位置、关于局部区域的纬度和经度的信息等。在一些其它实施例中,描述局部区域的至少一部分的信息包括:深度信息、彩色图像数据、声学数据、局部区域的位置信息、某种其它信息或它们的组合。在一些实施例中,dca可以部分基于描述局部区域的一部分的信息来生成初始结构化光图案。

dca确定620局部区域中的对比度的量。dca可以将结构化光投射到局部区域中,并且捕获包括结构化光图案的局部区域的一部分的图像。部分基于捕获的图像,头戴装置确定对比度的量。dca可以确定局部区域的每个部分的对应于像素值的对比度值。在一些实施例中,dca可以确定dca的视场中整个局部区域的平均对比度值。在一些实施例中,如参照图7进一步描述的,dca使用对比度算法来确定局部区域中的对比度的量。在一些实施例中,头戴装置基于从映射服务器接收的参数来确定局部区域中的对比度的量。

dca确定630局部区域中的第一感兴趣区域和局部区域中的第二感兴趣区域。第一感兴趣区域具有第一对比度的量,第二感兴趣区域具有第二对比度的量。在一些实施例中,dca可以基于对比度算法来选择感兴趣区域,该对比度算法识别具有相对低或相对高对比度值的区域。在各种实施例中,头戴装置从映射服务器接收描述局部区域的信息,并基于从映射服务器接收的信息来选择局部区域中的一个或更多个感兴趣区域。例如,来自映射服务器的信息识别局部区域内先前包括对象的区域。头戴装置选择图像中的感兴趣区域,该感兴趣区域对应于被来自映射服务器的信息识别为先前包括对象的区域。作为另一个示例,从映射服务器接收的信息识别先前为局部区域的不同区域确定的对比度测量值,并且dca根据从映射服务器接收的信息选择感兴趣区域作为具有至少阈值对比度测量值的区域。因此,在各种实施例中,dca选择感兴趣区域作为对应于从映射服务器接收的信息的、具有一个或更多个具体特性的图像区域。

dca部分基于局部区域中的对比度的量来更新640照明指令。dca还可以基于虚拟模型中的确定位置和与确定位置相关联的任何参数来更新照明指令。更新的照明指令可以引起动态结构化光图案的改变。改变动态结构化光图案可以增加或减少由动态结构化光图案添加到局部区域的纹理。增加局部区域的纹理有助于dca确定dca与对象之间的距离。在一些实施例中,映射服务器根据虚拟模型中与头戴装置当前所在的空间配置相关联的确定位置来从虚拟模型检索参数集合。在一些其他实施例中,映射服务器通过至少部分地基于从dca接收的描述局部区域的至少一部分的信息调整虚拟模型中先前确定的参数集合来确定该参数集合。映射服务器可以分析从dca接收的图像,以确定现有的参数集合(如果可用)是否与图像分析一致或者是否应该重新计算。如果现有参数与图像分析不一致,则映射服务器可以使用描述局部区域的至少一部分的信息(例如,房间几何形状、照明)来确定新的参数集合。

dca可以更新所识别的感兴趣区域的照明指令。例如,照明指令可以增大第一感兴趣区域中动态结构化光图案的密度或强度,并且照明指令可以减小第二感兴趣区域中的结构化光图案的密度或强度。在一些实施例中,更新的照明指令可以指示光投影仪激活或去激活一个或更多个感兴趣区域中的结构化光图案。

dca将更新的指令提供650给结构化光投影仪,其中更新的照明指令使得sl投影仪将第一sl图案投射到第一感兴趣区域中,并将第二sl图案投射到第二感兴趣区域中,其中第二sl图案不同于第一sl图案。因此,dca动态地调整用于获得局部区域中深度信息的结构化光图案。在一些实施例中,过程600可以连续地重复,或者可以响应于事件重复,例如响应于头戴装置的移动或局部区域内对象的移动而重复。因此,dca可以通过减少投射在不需要附加纹理的区域中的结构化光的量来节省电池。类似地,dca可以通过增加感兴趣区域(其中附加纹理是有益的)中的纹理来提高深度测量精度。

图7是示出根据一个或更多个实施例的用于确定局部区域中对比度的量的过程700的流程图。在一些实施例中,过程700可以作为参照图6描述的步骤620的全部或一部分来执行。过程700可以由dca(例如,dca300)的部件执行。

dca捕获710局部区域中的一个或更多个图像。dca计算全部或一部分图像的对比度。对比度是亮度、颜色、距离或使对象(或其在图像或显示器中的表示)可区分的其他可测量的量的差异。图像中的对比度与感兴趣区域内的局部深度性能相关。例如,如果图像在感兴趣区域中包含高对比度值,则dca可以对该感兴趣区域中的深度测量设置高置信度值。因此,dca可以减少由动态结构化光图案在感兴趣区域中提供的纹理量,这可以节省电池功率。相反,如果图像在感兴趣区域中包含低对比度值,则dca可以增加由动态结构化光图案提供的纹理量,以提高深度测量的精度。在一些实施例中,对比度可以被归一化为图像中的局部噪声水平。计算对比度的许多算法在本领域中是已知的,例如weber对比度、michelson对比度、rms对比度等。dca可以定义每个像素(i,j)处的对比度。在一些实施例中,dca可以使用具有滑动最大值的l2对比度算法来计算对比度。

为了执行具有滑动最大值的l2对比度算法,dca可以首先计算720像素级对比度。像素级对比度可以使用以下公式计算:

其中,ii,j是传感器像素(i,j)的数字,其中i和j是表示图像传感器中像素的第i列和第j行的整数值。

其次,dca可以计算730原始对比度的滑动窗口最大值。原始对比度的滑动窗口最大值可使用以下公式计算:

对比度i,j=max[rawcontrastk,l](2)

k∈[i-w,i+w],l∈[j-w,j+w]

其中,w控制滑动窗口的大小(窗口大小是2w+1乘2w+1像素)。k和l是表示滑动窗口内像素的第k列和第l行的整数值。具有滑动最大值的l2对比度算法显示出与深度性能的良好相关性。因此,如参照图6中的步骤640所描述的,dca可以使用对比度算法的结果来识别可能需要较高或较低照明水平的区域,并且dca可以使用该结果来更新照明指令。

图8是示出根据一个或更多个实施例的用于基于对象位置来识别感兴趣区域的过程800的流程图。在一些实施例中,该过程可以是参照图6描述的步骤630的全部或一部分。

dca可以识别810局部区域中的一个或更多个对象。在一些实施例中,dca可以从映射服务器接收对象的位置。然而,在一些实施例中,dca可以基于局部深度置信度度量来检测对象,该度量可以在头戴装置上、经由连接的设备、经由云来估计,或者基于堆叠的传感器逻辑来局部估计。

dca可以检测820对象的移动。在一些实施例中,dca可以基于局部区域的一部分中深度信息的变化来检测移动。在一些实施例中,包含dca的头戴装置可以使用头戴装置上的其他传感器来检测运动,例如可见光或红外图像传感器、用作slam的输入端的图像传感器、用于图像捕获、纹理捕获、环境重建的彩色rgb传感器、音频传感器、远程呈现(telepresence)、imu传感器数据、动态视觉传感器等,它们检测在场景中移动的对象。对象的移动可以向dca指示dca应该增加在包含对象的感兴趣区域中投射的纹理量。

dca可以检测830对象的遮挡。dca可以确定两个或更多个对象位于来自dca的同一视线中。例如,基于由映射服务器提供的信息,或者由dca确定的深度信息,dca可以确定两个或更多个对象位于同一视线中。基于两个或更多个对象的深度信息,dca确定最靠近dca的对象遮挡了同一视线中距离dca较远的任何对象。相对于来自头戴装置的视线,被遮挡的对象可能位于局部区域中另一个对象的后面。在一些实施例中,虚拟对象可以位于头戴装置和物理对象之间,遮挡物理对象。在一些实施例中,物理对象可以位于头戴装置和虚拟对象之间,遮挡虚拟对象。类似地,在一些实施例中,物理对象可以遮挡另一个物理对象,或者虚拟对象可以遮挡另一个虚拟对象。

dca可以基于对象的移动或检测到被遮挡的对象来识别840感兴趣区域。例如,响应于对象移动,dca可以将对象识别为位于感兴趣区域内。dca可以确定增加包含移动对象的感兴趣区域中的纹理量。在一些实施例中,响应于检测到对象被遮挡,dca可以将被遮挡的对象识别为位于感兴趣区域内。dca可以确定减少包含被遮挡的对象的感兴趣区域中的纹理量。例如,dca可以将纹理量减少到足以在遮挡被遮挡的对象的对象的较小距离处获得测量值的水平,而不是投射具有足够纹理的结构化光来获得在被遮挡的对象的距离处的深度测量值。如参照图6的步骤640所描述的,所识别的感兴趣区域可用于更新照明指令。

系统环境

图9是根据一个或更多个实施例的头戴装置905的系统环境900。在一些实施例中,头戴装置905可以是图1a的头戴装置905。系统900可以在人工现实环境(例如,虚拟现实环境、增强现实环境、混合现实环境或它们的某种组合)中操作。图9所示的系统900包括头戴装置905、网络935、映射服务器965和耦合到控制台945的输入/输出(i/o)接口940。尽管图9示出了示例系统900包括一个头戴装置905和一个i/o接口940,但在其他实施例中,系统900中可以包括任意数量的这些部件。例如,可以有多个头戴装置,每个头戴装置具有相关联的i/o接口940,其中每个头戴装置和i/o接口940都与控制台945通信。在替代配置中,系统900中可以包括不同的和/或附加的部件。此外,在一些实施例中,结合图9所示的一个或更多个部件描述的功能可以以与结合图9描述的方式不同的方式在部件之间分配。例如,控制台945的一些或全部功能可以由头戴装置905提供。

头戴装置905包括显示组件910、光学块915、一个或更多个位置传感器925、dca930和惯性测量单元(imu)920。头戴装置905的一些实施例具有与结合图9描述的部件不同的部件。另外,由结合图9所描述的各种部件提供的功能在其他实施例中可以不同地分布在头戴装置905的部件当中,或者可以在远离头戴装置905的单独组件中被捕获。

显示组件910可以包括根据从控制台945接收的数据来向用户显示2d或3d图像的电子显示器。图1的透镜110可以是显示组件910的实施例。在各种实施例中,显示组件910包括单个电子显示器或多个电子显示器(例如,针对用户的每只眼睛的显示器)。电子显示器的示例包括:液晶显示器(lcd)、有机发光二极管(oled)显示器、有源矩阵有机发光二极管显示器(amoled)、某种其他显示器、或它们的某种组合。透镜110是显示组件910的实施例。注意,在一些实施例中,透镜110还可以包括光学块910的部分或全部功能。

光学块915放大从电子显示器接收的图像光、校正与图像光相关联的光学误差、并将校正的图像光呈现给头戴装置905的用户。在各种实施例中,光学块915包括一个或更多个光学元件。光学块915中包括的示例光学元件包括:光圈、菲涅尔透镜、凸透镜、凹透镜、滤光器、反射表面或影响图像光的任何其他合适的光学元件。此外,光学块915可以包括不同光学元件的组合。在一些实施例中,光学块915中的一个或更多个光学元件可以具有一个或更多个涂层,例如部分反射涂层或抗反射涂层。

光学块915对图像光的放大和聚焦允许电子显示器比更大的显示器物理上更小、重量更轻并且消耗更少的功率。另外,放大可以增大电子显示器所呈现的内容的视场。例如,所显示内容的视场使得所显示内容使用用户的几乎所有视场(例如,大约110度对角线)、且在一些情况下使用所有视场来呈现。此外在一些实施例中,可以通过添加或移除光学元件来调整放大量。

在一些实施例中,光学块915可以被设计成校正一种或更多种类型的光学误差。光学误差的示例包括桶形或枕形失真、纵向色差或横向色差。其他类型的光学误差还可以包括球面像差、色差(chromaticaberrations)或由于透镜像场弯曲(lensfieldcurvature)、散光或任何其他类型的光学误差引起的误差。在一些实施例中,被提供给电子显示器用于显示的内容被预失真,并且当光学块915从电子显示器接收基于内容生成的图像光时,光学块915校正失真。

imu920是电子设备,其基于从一个或更多个位置传感器925接收的测量信号生成指示头戴装置905位置的数据。位置传感器925响应于头戴装置905的运动而生成一个或更多个测量信号。位置传感器925的示例包括:一个或更多个加速度计、一个或更多个陀螺仪、一个或更多个磁力计、检测运动的另一合适类型的传感器、用于imu920的误差校正的一种类型的传感器、或者它们的某种组合。位置传感器925可以位于imu920的外部、imu920的内部或者这两个位置的某种组合。

dca930生成诸如房间的局部区域的深度信息。dca930可以是图3的dca300的示例。深度信息包括定义距成像设备的距离的像素值,并因此提供在深度信息中捕获的位置的(例如,3d)映射。dca930包括光投影仪、一个或更多个成像设备和控制器。光投影仪可以投射动态结构化光图案或从局部区域中的对象反射离开并被成像设备捕获用来生成深度信息的其他光。

例如,光投影仪可以将不同类型的多个结构化光(sl)元素(例如线条、网格或点)投射到头戴装置905周围的局部区域的一部分上。在各种实施例中,光投影仪包括照明源和模板。照明源可以包括一个或更多个发射器,该发射器被配置成用光(例如,红外光)照射模板。被照亮的模板将包括多个sl元素的sl图案投射到局部区域中。例如,由被照亮的模板投射的每个sl元素是与模板上的特定位置相关联的点。

由dca930投射的每个sl元素包括电磁光谱的红外光部分中的光。在一些实施例中,照明源是激光器,其被配置成用红外光照射模板使得它对于人是不可见的。在一些实施例中,照明源可以是脉冲式的。在一些实施例中,照明源可以是可见的并且是脉冲式的,使得光对于眼睛是不可见的。

由dca930投射到局部区域中的sl图案在遇到局部区域中的各种表面和对象时变形。一个或更多个成像设备各自被配置成捕获局部区域的一个或更多个图像。捕获的一个或更多个图像中的每一个可以包括由光投影仪投射并由局部区域中的对象反射的多个sl元素(例如,点)。一个或更多个成像设备中的每一个可以是检测器阵列、照相机或摄像机。

dca930基于由dca930捕获的光来生成深度信息。控制器930可以进一步向控制台945、音频控制器或某个其他部件提供深度信息。

dca可以包括pca,该pca包括生成彩色(例如,rgb)图像数据的一个或更多个无源成像设备。pca捕获来自局部区域的环境的光,以生成图像数据。图像数据的像素值可以定义在成像数据中捕获的对象的可见颜色,而不是定义距离成像设备的深度或距离的像素值。在一些实施例中,pca包括控制器,该控制器基于由无源成像设备捕获的光生成彩色图像数据。在一些实施例中,dca930和pca共享公共控制器。例如,公共控制器可以将在可见光谱(例如,图像数据)和红外光谱(例如,深度信息)中捕获的一个或更多个图像中的每一个映射到彼此。在一个或更多个实施例中,公共控制器被配置成附加地或替代地向音频控制器或控制台945提供局部区域的一个或更多个图像。

i/o接口940是允许用户发送动作请求并从控制台945接收响应的设备。动作请求是执行特定动作的请求。例如,动作请求可以是开始或结束捕获图像或视频数据的指令,或者是在应用内执行特定动作的指令。i/o接口940可以包括一个或更多个输入设备。示例输入设备包括键盘、鼠标、游戏控制器、或者用于接收动作请求并将动作请求传送到控制台945的任何其他合适的设备。由i/o接口940接收的动作请求被传送到控制台945,控制台945执行对应于动作请求的动作。在一些实施例中,如上文进一步描述的,i/o接口940包括imu920,其捕获指示相对于i/o接口940的初始位置的i/o接口940的估计的位置的校准数据。在一些实施例中,i/o接口940可以根据从控制台945接收的指令来向用户提供触觉反馈。例如,当动作请求被接收到时,或者当控制台945向i/o接口940传送指令时,触觉反馈被提供,该指令使i/o接口940在控制台945执行动作时生成触觉反馈。

控制台945向头戴装置905提供内容,用于根据从dca930、头戴装置905和i/o接口940中的一个或更多个接收的信息来进行处理。在图9所示的示例中,控制台945包括应用储存器950、跟踪模块955和引擎960。控制台945的一些实施例具有与结合图9描述的模块或部件不同的模块或部件。类似地,下面进一步描述的功能可以以不同于结合图9描述的方式分布在控制台945的部件当中。在一些实施例中,本文参照控制台945讨论的功能可以在头戴装置905或远程系统中实现。

应用储存器950存储用于由控制台945执行的一个或更多个应用。应用是一组指令,该组指令当由处理器执行时生成用于呈现给用户的内容。由应用生成的内容可以响应于经由头戴装置905的移动或i/o接口940而从用户接收的输入。应用的示例包括:游戏应用、会议应用、视频回放应用或其他合适的应用。

跟踪模块955使用一个或更多个校准参数来校准系统900的局部区域,并且可以调整一个或更多个校准参数以减少头戴装置905或i/o接口940的位置确定中的误差。例如,跟踪模块955将校准参数传送到dca930来调整dca930的焦点,以更准确地确定由dca930捕获的sl元素的位置。由跟踪模块955执行的校准也考虑从头戴装置905中的imu920和/或被包括在i/o接口940中的imu920接收的信息。另外,如果丢失对头戴装置905的跟踪(例如,dca930丢失至少阈值数量的投射的sl元素的视线),则跟踪模块955可以重新校准部分或整个系统900。

跟踪模块955使用来自dca930、一个或更多个位置传感器925、imu920或其某种组合的信息来跟踪头戴装置905或i/o接口940的移动。例如,跟踪模块955基于来自头戴装置905的信息来确定头戴装置905的参考点在局部区域的映射中的位置。跟踪模块955还可以确定对象或虚拟对象的位置。另外,在一些实施例中,跟踪模块955可以使用来自imu920的指示头戴装置905位置的数据部分以及来自dca930的局部区域的表示来预测头戴装置905的未来位置。跟踪模块955向引擎960提供头戴装置905或i/o接口940的估计的或预测的未来位置。

引擎960执行应用,并从跟踪模块955接收头戴装置905的位置信息、加速度信息、速度信息、所预测的未来位置或它们的某种组合。基于接收到的信息,引擎960确定要提供给头戴装置905用于呈现给用户的内容。例如,如果接收到的信息指示用户已经向左看,则引擎960生成用于头戴装置905的内容,该内容反映用户在虚拟局部区域中或在用附加内容增强局部区域的局部区域中的移动。另外,引擎960响应于从i/o接口940接收的动作请求来执行在控制台945上执行的应用内的动作,并且向用户提供动作被执行的反馈。所提供的反馈可以是经由头戴装置905的视觉或听觉反馈,或者是经由i/o接口940的触觉反馈。

附加的配置信息

在涉及方法、装置和存储介质的所附权利要求中具体公开了根据本发明的实施例,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如装置、存储介质、系统和计算机程序产品)中被要求保护。所附权利要求中的从属关系或往回引用仅出于形式原因而选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。

在实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来执行根据任何上面提到的实施例(或这些实施例内)的方法。

在实施例中,一种系统可以包括:一个或更多个处理器;以及耦合到处理器并包括处理器可执行的指令的至少一个存储器,处理器当执行指令时可操作来执行根据任何上面提到的实施例(或这些实施例内)的方法。

在实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品当在数据处理系统上被执行时可操作来执行根据任何上面提到的实施例(或这些实施例内)的方法。

本公开的实施例的前述描述为了说明的目的被提出;它并不意图为无遗漏的或将本公开限制到所公开的精确形式。相关领域中的技术人员可以认识到,按照上面的公开,许多修改和变化是可能的。

本描述的一些部分从对信息的操作的算法和符号表示方面描述了本公开的实施例。数据处理领域的技术人员通常使用这些算法描述和表示来向本领域的其他技术人员有效地传达他们工作的实质。这些操作虽然在功能上、计算上或逻辑上进行了描述,但应理解为将由计算机程序或等效电路、微代码等来实现。此外,将操作的这些布置称为模块有时候也被证明是方便的而不失一般性。所描述的操作和它们的相关模块可以体现在软件、固件、硬件或其任何组合中。

可以利用一个或更多个硬件或软件模块单独地或与其他设备组合地来执行或实现本文描述的任何步骤、操作或过程。在一个实施例中,利用包括包含计算机程序代码的计算机可读介质的计算机程序产品来实现软件模块,计算机程序代码可以由计算机处理器执行,用于执行所描述的任何或全部步骤、操作或过程。

本公开的实施例也可以涉及用于执行本文的操作的装置。该装置可以被特别构造成用于所需的目的,和/或它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算设备。这种计算机程序可以存储在非暂时性的、有形的计算机可读存储介质中,或者适于存储电子指令的任何类型的介质中,这些介质可以耦合到计算机系统总线。此外,说明书中提到的任何计算系统可以包括单个处理器,或者可以是采用多处理器设计来提高计算能力的架构。

本公开的实施例也可以涉及由本文所述的计算过程产生的产品。这样的产品可以包括由计算过程产生的信息,其中信息被存储在非暂时性的、有形的计算机可读存储介质上且可以包括计算机程序产品或本文所述的其他数据组合的任何实施例。

最后,在说明书中使用的语言主要为了可读性和指导目的而被选择,并且它可以不被选择来描绘或限制创造性主题。因此,意图是本公开的范围不由该详细描述限制,而是由在基于其的申请上发布的任何权利要求限制。因此,实施例的公开意图对本公开的范围是说明性的,而不是限制性的,在所附权利要求中阐述了本公开的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1