基于上下文的深度传感器控制的制作方法

文档序号:14561093发布日期:2018-06-01 04:21阅读:187来源:国知局

技术领域

本公开总体上涉及深度感测,并且更具体地涉及用于机器视觉的深度传感器的控制。



背景技术:

机器视觉使能的设备可以采用深度传感器来确定本地环境内的对象的深度或相对距离。通常,这些深度传感器依靠由设备投射向对象的已知空间调制或时间调制光的反射的捕获。这一调制光经常实现为由红外(IR)光源生成的IR光。尽管在实现深度估算方面有效,但是反射的IR光可能干扰本地环境中操作的可见光成像相机。而且,光源用于投射调制光的传统实施方式消耗显著功率,由此限制了在电池供电设备中或者在其它有限功率实施方式中的基于调制光的深度传感器的实施方式。

附图说明

通过参照附图,本公开可以由本领域技术人员更好地理解,并且其众多特征和优点对本领域技术人员来说变得容易理解。在不同附图中的相同引用符号的使用指示相似或完全相同的项。

图1是图示依照本公开的至少一个实施例的被配置为使用图像传感器数据和非图像传感器数据来确定本地环境中的相对定位/定向的电子设备的示图。

图2是图示依照本公开的至少一个实施例的实现深度传感器和多个成像相机的电子设备的平面前视图的示图。

图3是图示依照本公开的至少一个实施例的图2的电子设备的平面后视图的示图。

图4是图示依照本公开的至少一个实施例的图2的电子设备的横截面图的示图。

图5是图示依照本公开的至少一个实施例的基于准直透镜的调制光投射器的横截面图的示图。

图6是图示依照本公开的至少一个实施例的基于竖直腔面发射激光器(VCSEL)二极管的调制光投射器的横截面图的示图。

图7是图示依照本公开的至少一个实施例的用于基于图像传感器数据和非图像传感器数据来确定本地环境中的电子设备的相对定位/定向的电子设备的操作的流程图。

图8是图示依照本公开的至少一个实施例的用于从捕获的本地环境像确定二维(2D)空间特征数据和三维(3D)空间特征数据的电子设备的处理系统的框图。

图9是图示依照本公开的至少一个实施例的用于2D空间特征提取和3D空间特征提取的图8的处理系统的操作的流程图。

图10是图示依照本公开的至少一个实施例的基于调制光的深度传感器的操作的流程图。

图11是图示依照本公开的至少一个实施例的用于控制基于调制光的深度传感器的激活配置的方法的流程图。

图12是图示依照本公开的至少一个实施例的用于基于调制光投射来控制可见图像帧的显示的方法的流程图。

具体实施方式

通过提供涉及基于电子设备的本地环境中的对象的基于图像的标识来确定电子设备的相对定位或相对定向的若干具体实施例和细节,以下描述旨在于传达对本公开的透彻理解。然而,应当理解,本公开不限于这些具体实施例和细节,它们仅是示例,并且据此本公开的范围旨在于仅由所附权利要求及其等效物来限定。应当进一步理解理解,根据已知系统和方法,本领域普通技术人员将理解出于其旨在目的和益处在任何数目的替代实施例中的本公开的使用,这依赖于具体的设计和其它需要。

图1至图12图示用于确定本地环境内的电子设备的相对定位或相对定向的各种技术,以便于支持诸如增强现实(AR)功能、视觉测程法或其它同时定位和地图构建(SLAM)功能等之类的基于位置的功能。术语“定位/定向”在本文中用于指代定位和定向中的任一者或两者。在一些实施例中,电子设备包括部署在表面的深度传感器和两个或更多成像相机。两个或更多成像相机可以用于捕获电子设备的本地环境的多视图像,并且从这一信息电子设备可以标识表示本地环境中的对象的空间特征以及它们距电子设备的距离。进一步地,作为从分析多视图像提供的深度计算的替代或增强,深度传感器可以用于确定所标识的空间特征的距离。电子设备进一步可以包括在面对用户的表面上的另一成像相机,以便于头部跟踪或者面部识别或者获得本地环境的附加像。

本地环境中的对象的相对定位/定向的标识可以用于支持电子设备的各种基于位置的功能。为了说明,在一些实施例中,本地环境中的对象的相对定位连同诸如来自陀螺仪的定向读数之类的非图像传感器数据一起用于确定本地环境中的电子设备的相对定位/定向。电子设备的相对定位/定向可以用于便于视觉测程法、室内导航或者其它SLAM功能。而且,电子设备的相对定位/定向可以用于支持增强现实(AR)功能,诸如基于电子设备的相对定位和定向的在由电子设备捕获的像的显示中的附加信息的图形覆盖,并且这还可以基于用户的头部或眼睛相对于电子设备的定位或定向。在一些实施例中,电子设备确定其相对于本地环境而不是相对于固定或限定的定位基准的定位/定向,并且从而不依靠诸如全球定位系统(GPS)信息、蜂窝三角测量信息等之类的外部定位信息。因此,电子设备可以在其中GPS信令或蜂窝信令弱或不存在的位置中提供基于位置的功能。

在至少一个实施例中,电子设备的深度传感器实现为调制光投射器和成像相机中的一个或多个成像相机。调制光投射器将经编码的、结构化的或以其它方式调制的光(通常为红外光)投射到本地环境中,并且一个或多个成像相机捕获调制光从对象的反射,并且从这一反射光可以确定对象距电子设备的距离。由于调制光投射器在投射的同时可以消耗显著的功率,本公开描述用于深度传感器的选择性启用和控制的各种技术,以便于降低功率消耗。

本文中进一步描述的是处理架构,用于分析图像传感器数据和非图像传感器数据以高效地标识电子设备的本地环境像中的2D空间特征和3D空间特征,并且用于使用这些标识的空间特征来提供基于位置的功能。在至少一个实施例中,处理架构利用至少两个处理器,包括用于从一个或多个成像相机捕获的图像数据标识2D空间特征的一个处理器以及用于从标识的2D空间特征标识3D空间特征的另一处理器。进一步地,标识2D空间特征的处理器可以被配置为在从成像相机流式传输图像数据时标识2D空间特征并且在2D空间特征被标识时向另一处理器流式传输2D空间特征,由此降低空间特征检测中的延迟,否则延迟将产生于在开始空间特征检测之前等待整个图像帧被缓冲。

图1图示依照本公开的至少一个实施例的被配置为使用图像和非图像传感器数据来支持诸如SLAM或AR之类的基于位置的功能的电子设备100。电子设备100可以包括便携式用户设备,诸如平板计算机、计算使能的蜂窝电话(例如,“智能电话”)、笔记本计算机、个人数字助理(PDA)、游戏系统远程、电视远程等。在其它实施例中,电子设备100可以包括固定设备,诸如医疗成像设备、安全成像相机系统、工业机器人控制系统、无人机控制系统等。为了便于说明,本文中的电子设备100通常在诸如平板计算机或智能电话之类的便携式用户设备的示例上下文中进行描述;然而,电子设备100不限于这些示例实施方式。

在所描绘的示例中,电子设备100包括壳体102,壳体102具有与另一表面106相反的表面104。在所描绘的示例薄矩形块外形规格中,表面104和表面106基本上平行,并且壳体102进一步包括在表面104和表面106之间的四个侧表面(顶、底、左和右)。壳体102可以以许多其它外形规格来实现,并且表面104和表面106可以具有非平行定向。对于所图示的平板实施方式,电子设备100包括部署在表面104的显示器108,用于向用户110呈现视觉信息。据此,为了便于引用,表面106在本文中称为“面对前方的”表面,并且表面104在本文中称为“面对用户的”表面,以反映电子设备100相对于用户110的这一示例定向,虽然这些表面的定向不受这些关系指定的限制。

电子设备100包括用于获得关于电子设备100的本地环境112的信息的多个传感器。经由部署在面对前方的表面106的成像相机114和成像相机116和深度传感器120以及部署在面对用户的表面104的成像相机118,电子设备100获得针对本地环境112的视觉信息(像)。在一个实施例中,成像相机114实现为广角成像相机,其具有鱼眼透镜或其它广角透镜,以提供面对表面106的本地环境112的较广角视图。成像相机116实现为窄角成像相机,其具有典型视角透镜,以提供面对表面106的本地环境112的较窄角视图。据此,成像相机114和成像相机116在本文中还分别称为“广角成像相机114”和“窄角成像相机116”。如下面更详细描述的,广角成像相机114和窄角成像相机116可以定位和定向在面对前方的表面106上,使得它们的视场从距电子设备100的指定距离处开始重叠,由此经由多视图图像分析实现对本地环境112中定位在重叠视场区域中的对象的深度感测。成像相机118可以用于捕获针对面对表面104的本地环境112的图像数据。进一步地,在一些实施例中,成像相机118被配置用于跟踪头部122的移动或者用于面部识别,并且从而提供其可以用于调整经由显示器108呈现的像的视图视角的头部跟踪信息。

除了支持定位和定向检测,成像相机114、成像相机116和成像相机118中的一个或多个可以服务于电子设备100的其它成像功能。为了说明,窄角成像相机116可以被配置或优化用于用户发起的图像捕获,诸如用于捕获消费级照片和视频,如智能电话和平板计算机中经常发现的;并且成像相机118可以被配置或优化用于视频会议或视频电话,还如智能电话和平板计算机中经常发现的;而广角成像相机114可以主要被配置用于出于位置检测目的的机器视觉图像捕获。这一机器视觉特定的配置可以使光灵敏度、透镜畸变、帧速率、全局快门性能以及从图像传感器的更快数据读出优先于其聚焦于例如像素分辨率的以用户为中心的相机配置。

在一个实施例中,深度传感器120使用调制光投射器119将调制光图案从面对前方的表面106透射到本地环境中,并且使用成像相机114和成像相机116中的一者或两者捕获调制光图案的反射(在它们从本地环境112中的对象反射回来时)。这些调制光图案可以是空间调制光图案或时间调制光图案。所捕获的调制光图案的反射在本文中称为“深度像”。然后,基于对深度像的分析,深度传感器120可以计算对象的深度,即对象距电子设备100的距离。从深度传感器120获得的所产生的深度数据可以用于校准或以其它方式增强从对成像相机114和成像相机116捕获的图像数据的多视图分析(例如,立体分析)获得的深度信息。替代地,来自深度传感器120的深度数据可以代替从多视图分析获得的深度信息而使用。为了说明,多视图分析通常更适合于明亮的照明条件并且当对象相对遥远时,而基于调制光的深度感测更好地适合于较低的光条件或者当所观察的对象相对靠近(例如,在4-5米内)时。从而,当电子设备100感测到其处于室外或者以其它方式处于相对良好的照明条件时,电子设备100可以选择使用多视图分析来确定对象的深度。相反,当电子设备100感测到其处于室内或者以其它方式处于相对差的照明条件时,电子设备100可以切换为经由深度传感器120使用基于调制光的深度感测。

电子设备100还可以依靠非图像信息以用于定位/定向检测。这一非图像信息可以由电子设备100经由诸如陀螺仪或环境光传感器之类的一个或多个非图像传感器(图1中未示出)来获得。非图像传感器还可以包括诸如小键盘(例如,触摸屏或键盘)、麦克风、鼠标等之类的用户接口部件。表示电子设备100在给定时间点的状态的非图像传感器信息称为对于该时间点的电子设备的“当前上下文”。这一当前上下文可以包括显式上下文,诸如电子设备100的相对旋转定向或者从本地环境112入射在电子设备100上的环境光。当前上下文还可以包括隐式上下文信息,诸如从日历信息或时钟信息推断的信息、或者从用户与电子设备100的交互推断的信息。用户的交互可以包括用户的观察的过去行为(例如,对用户的工作日通勤路径和时间的确定)、最近由用户进行的搜索查询、对电子邮件、文本消息、或者其它用户通信或用户发起的操作的关键项搜索或其它分析等。

在操作中,电子设备100使用图像传感器数据和非图像传感器数据来确定电子设备100的相对定位/定向,即相对于本地环境112的定位/定向。在至少一个实施例中,相对定位/定向的确定基于成像相机114、成像相机116和成像相机118中的一个或多个捕获的图像数据中的空间特征的检测以及电子设备100相对于所检测的空间特征的定位/定向的确定。为了说明,在所描绘的图1的示例中,本地环境112包括办公楼的门厅,办公楼的门厅包括三个拐角124、126和128、护壁板130、以及电插座132。用户110已经定位和定向电子设备100,使得面对前方的成像相机114和成像相机116分别捕获其包括门厅的这些空间特征的广角成像相机图像数据134和窄角成像相机图像数据136。在这一示例中,深度传感器120还捕获深度数据138,深度数据138反映这些空间特征相对于电子设备100的当前定位/定向的相对距离。进一步地,面对用户的成像相机118捕获表示针对用户110的头部122的当前定位/定向的头部跟踪数据140的图像数据。诸如来自陀螺仪、磁强计、环境光传感器、小键盘、麦克风等的读数之类的非图像传感器数据142也由处于其当前定位/定向的电子设备100收集。

从这一输入数据,电子设备100可以确定其相对定位/定向,而无需来自外部源的显式绝对定位信息。为了说明,电子设备100可以执行对广角成像相机图像数据134和窄角成像相机图像数据136的多视图分析,以确定在电子设备100和拐角124、拐角126、拐角128之间的距离。替代地,从深度传感器120获得的深度数据138可以用于确定空间特征的距离。从这些距离,电子设备100可以三角测量或以其它方式推断其在由本地环境112表示的办公室中的相对定位。作为另一示例,电子设备100可以标识在捕获的图像数据134和图像数据136的图像帧的一个集中存在的空间特征、确定到这些空间特征的初始距离、以及然后跟踪这些空间特征在随后捕获的像中的定位和距离的改变以确定电子设备100的定位/定向的改变。在这一方法中,诸如陀螺仪数据或加速计数据之类的某些非图像传感器数据可以用于关联一个图像帧中观察到的空间特征与随后图像帧中观察到的空间特征。

由电子设备100从成像相机114、成像相机116和成像相机118捕获的图像数据获得的相对定位/定向信息可以用于支持各种基于位置的功能中的任何一种。相对定位/定向信息可以由电子设备100用于支持视觉测程法或其它SLAM功能。作为示例,电子设备100可以为本地环境112构建地图,并且然后使用这一地图构建来便于通过本地环境112的用户的导航,诸如通过向用户显示从地图构建信息生成的楼层平面图以及如从电子设备100的当前相对定位确定的用户相对于楼层平面图的当前位置的指示符。

而且,由电子设备100获得的相对定位/定向信息可以与补充信息144组合,以经由电子设备100的显示器108向用户110呈现本地环境112的增强现实(AR)视图。这一补充信息144可以包括本地存储在电子设备100的或者可由电子设备100经由有线或无线网络远程访问的一个或多个AR数据库。

为了说明,在所描绘的图1的示例中,本地数据库存储针对嵌入在由本地环境112表示的办公室的墙壁内的电布线的定位/定向计算机辅助绘图(CAD)信息。据此,电子设备100可以经由成像相机116捕获本地环境112的视图的视频像、如上面和本文中描述的确定电子设备100的相对定向/定位、以及确定电布线位于本地环境的视图中存在的墙壁内的定位和定向。然后,电子设备100可以用相对于视频像中标识的对应空间特征(例如,拐角124、拐角126和拐角128)定位和定向的电布线的视觉表示来生成图形覆盖。如图1所示,图形覆盖可以包括表示当前视图中的电布线的彩色虚线152和彩色虚线154以及用于提供诸如布线类型、与布线相关联的标识符、以及由对应布线供电的楼部件之类的对电布线的描述的描述气球(description balloon)156和描述气球158。然后,电子设备100在显示器108共同呈现图形覆盖和视频像,以便于向用户110呈现电布线在如由窄角成像相机116捕获的本地环境112的当前视图内的位置的图形表示160。在电子设备100相对于先前视图移动时,电子设备100更新图形覆盖以便于反映改变的视角。而且,头部跟踪数据140可以用于检测用户110的头部122相对于显示器108的定位的改变,响应于此电子设备100可以调整所显示的图形表示160,以便于反映用户110相对于显示器108的改变的查看角度。

作为另一示例,本地或远程AR数据库可以用于便于经由电子设备100的室内导航。为了说明,本地环境112可以表示大型购物中心的内部,并且响应于接收到指示期望定位某个商店的用户输入,电子设备100可以访问AR数据库以确定相对于其当前位置的商店的位置。利用这一信息,电子设备100可以在由成像相机114、成像相机116或成像相机118中的一个或多个当前捕获的视频像的顶部上显示其标识相对于电子设备100指向的当前方向的商店方向(例如,经由显示“右转”、“左转”、“继续向前直行”或“转身”箭头图形)的图形覆盖。

相对定位/定向确定处理的另一示例应用可以包括例如缺失对象/新对象检测,由此新对象的出现或者先前标识对象的消失可以基于给定相对定位和定向的电子设备100的预期本地环境视图与相同定位/定向中的电子设备100捕获的实际本地环境视图的比较来确定。如下面描述的,由预期环境和实际遇到的环境之间的差异引入的几何不确定性可以触发各种操作,包括刷新操作,由此电子设备100发起展现改变的本地环境112的部分的地图重建。

图2和图3图示依照本公开的至少一个实施例的平板外形规格的电子设备100的示例实施方式的示例平面前视图和平面后视图。电子设备100可以以诸如智能电话外形规格、医疗成像设备外形规格等之类的其它外形规格来实现,它们实现与图示的那些类似的配置。

如由图2的平面前视图200图示的,电子设备100可以包括显示器108、成像相机118、以及诸如部署在面对用户的表面104的小键盘的触摸键202、触摸键204和触摸键206之类的一个或多个用户接口部件。而且,显示器108可以被实现为触摸屏显示器,以便于经由用户与显示器108的交互的用户输入和控制。

如由图3的平面后视图300图示的,电子设备100可以包括部署在面对前方的表面106的广视图成像相机114、窄视图成像相机116和调制光投射器119。虽然为了图4中的示例横截面图,图2和图3图示沿直线对齐的成像相机114、成像相机116和成像相机118以及调制光投射器119,但是成像相机114、成像相机116和成像相机118以及调制光投射器119可以相对于彼此偏移。例如,调制光投射器119可以定位成从延伸在成像相机114和成像相机116之间的线偏移,或者调制光投射器119和广角成像相机114可以沿与电子设备100的顶部边缘平行的线部署,并且窄角成像相机116可以部署在从该线偏移的位置处。而且,虽然调制光投射器119被图示为定位在成像相机114和成像相机116之间,但是在其它实施方式中,调制光投射器119可以定位到成像相机114和成像相机116之一的外侧。

图4图示依照本公开的至少一个实施例的沿在图2和图3的平面图中描绘的线210的电子设备100的示例横截面图400。如图示的,电子设备100包括部署在面对用户的表面104的壳体102中的孔径402或其它开口中的面对用户的成像相机118,并且包括部署在面对前方的表面106的壳体102中的分别在孔径404和孔径406或其它开口中的广角成像相机114和窄角成像相机116。广角成像相机114包括图像传感器408以及部署在图像传感器408的感测表面之上的一个或多个透镜410。窄角成像相机116包括图像传感器412以及部署在图像传感器412的感测表面之上的一个或多个透镜414。相似地,面对用户的成像相机118包括图像传感器416以及部署在图像传感器416的感测表面之上的一个或多个透镜418。

针对每个成像相机实现的透镜类型依赖于成像相机所旨在的功能。因为面对前方的成像相机114在一个实施例中旨在于用于分析本地环境112的机器视觉特定的像,所以透镜410可以被实现为具有例如在160-180度之间的视角的广角透镜或鱼眼透镜(具有已知高畸变)。面对前方的成像相机116在一个实施例中支持用户发起的图像捕获,并且从而面对前方的成像相机116的透镜414可以被实现为具有例如水平地在80-90度之间的视角的窄角透镜。注意,这些视角仅是示例性的。同样地,面对用户的成像相机118可以具有除了支持本地环境成像或头部跟踪之外的其它用途。例如,面对用户的成像相机118还可以用于支持电子设备100的视频会议功能。据此,根据应用,面对用户的成像相机118的透镜418可以被实现为窄角透镜、广角透镜或鱼眼透镜。

成像相机114的相应图像传感器408、成像相机116的相应图像传感器412和成像相机118的相应图像传感器416可以被实现为基于电荷耦合器件(CCD)的传感器、互补金属氧化物半导体(CMOS)有源像素传感器等。在基于CMOS的实施方式中,图像传感器可以包括滚动快门传感器,由此在传感器上的所有其它行继续曝光的同时读出图像传感器的一个或多个行像素传感器的组。由于更长的曝光时间或者更多有用的光敏感区域,这一方法有益于提供增加的灵敏度,但是由于帧中捕获的高速对象,具有经受畸变的缺点。畸变效应可以通过以下方式来最小化:实现滚动快门中的全局重置机制,使得传感器上的所有像素同时开始收集电荷,而不是在逐行的基础上。在基于CCD的实施方式中,图像传感器可以被实现为全局快门传感器,由此传感器的所有像素在同一时间曝光并且然后转移到遮蔽区域,这然后可以在下一图像帧曝光的同时读出。这一方法有益于较不易受到畸变的影响,而由于每个像素要求的附加电子器件,具有总体上降低的灵敏度的不利之处。

在一些实施例中,广角成像相机114和窄角成像相机116的视场在区域420中重叠,使得区域420中的本地环境112(图1)中的对象呈现在由广角成像相机114捕获的图像帧和由窄角成像相机116并发捕获的图像帧两者中,由此允许由电子设备100通过对两个并发图像帧的多视图分析来确定区域420中的对象的深度。因此,面对前方的成像相机114和成像相机116被定位在面对前方的表面106,使得区域420覆盖所旨在的相对于电子设备100的距离范围和扫程。而且,由于多视图分析依靠视差现象,所以面对前方的成像相机114和成像相机116充分分开以提供用于多视图分析的足够视差。

还在横截面图400中图示的是调制光投射器119的各种示例定位。调制光投射器119在总体上垂直于表面106的方向上投射红外调制光图案424,并且利用面对前方的成像相机114和成像相机116中的一者或两者来捕获所投射的光图案424的反射。在所描绘的示例中,调制光投射器119部署在面对前方的表面106在成像相机114和116之间的位置处。在其它实施例中,调制光投射器119可以部署在成像相机之一和壳体102边缘之间的位置处,诸如在广角成像相机114和壳体102的侧面之间的位置422处,或者在窄角成像相机116和壳体102的侧面之间的位置(未示出)处。

图5和图6图示依照本公开的各种实施例的调制光投射器119的示例实施方式。在两个实例中,调制光投射器119操作为投射由红外光(或者在一些实例中,具有指定颜色或颜色集或者指定频率的可见光)构成的调制光图案500。在一些实施例中,调制光图案500包括空间调制光图案,诸如DeBruijn序列、光特征的M阵列(诸如,图示的点502的矩阵,由此点502是高光强度区域)等的投射。可以实现的其它空间调制光图案包括例如同心环图案或同心矩形图案、平行线、或者平行和垂直线(即,网格)等。在其它实施例中,调制光图案500包括时间调制(时间复用)光图案序列,诸如二进制码图案序列、n元码图案序列等。在时间调制光应用中,通过反射光图案的对应序列的分析,而不是单独通过任何反射图案,深度传感器120确定深度数据。

调制光图案500向电子设备100的本地环境中的投射导致光从本地环境中的对象的反射。因为对象的表面离调制光投射器119的深度或距离影响入射在表面上的投射光的反射,所以电子设备100可以使用调制光图案500的反射中存在的图案畸变,来使用各种熟知调制光深度估算技术中的任何一种确定对象表面的深度。替代地,面对前方的成像相机114和成像相机116两者都可以用于捕获投射的调制光图案500的反射,并且可以对并行捕获的深度像执行多视图图像分析以确定本地环境中的对象的深度。在其它实施例中,电子设备100可以使用面对前方的成像相机114和成像相机116中的一者或两者作为与调制光图案500的投射同步的飞行时间成像相机,由此电子设备100使用各种熟知飞行时间深度算法中的任何一种来计算捕获反射中的对象的深度。作为又一示例,电子设备100可以采用其捕获来自调制光投射器119的红外光或近红外光的脉冲的反射光的高速曝光快门成像相机(作为面对前方的成像相机114和成像相机116之一或者作为分立的面对前方的成像相机),由此针对传感器的每个像素收集的反射脉冲信号量对应于深度范围内的从其反射脉冲的地方,并且从而可以用于计算到主观对象上的对应点的距离。从3DV Systems公司可获得的ZCam(商标)成像相机是这一类型的基于成像的深度传感器的商业实施方式的示例。

在图5的示例中,调制光投射器119实现为其朝向准直透镜506发射发散IR激光的边缘发射激光二极管504,准直透镜506使发散激光准直并且将准直激光引导向衍射光学元件(DOE)508(还频繁称为“相息图”),衍射光学元件(DOE)508从准直激光生成调制光图案500。在一个实施例中,DOE 508可以实际上作为分束器起作用,以生成诸如图5中图示的点502的阵列之类的图案。

在图6的示例中,调制光投射器119使用其发射发散激光的一个或多个竖直腔面发射激光器(VCSEL)二极管604的阵列来实现。微透镜的阵列606部署在一个或多个VCSEL二极管604的发射表面以用于准直和聚焦来自VCSEL二极管604的激光。DOE 608部署在微透镜的阵列606之上,以将产生的准直激光投射作为调制光图案500。图6的示例实施方式具有如下益处:通常更薄,并且相比于可比拟输出的边缘发射激光二极管实施方式具有更低的功耗。在一些实施例中,调制光投射器119进一步可以包括部署在DOE 608之上的聚焦透镜(未示出)。

图7图示依照本公开的至少一个实施例的用于提供基于位置的功能的电子设备100的操作的示例方法700。为了便于说明,方法700被描绘和通常描述为其可以重复循环的操作的单个回路。然而,如下面详细描述的,并非所有的操作必须以相同的速率循环。应当理解,所描绘的图7的流程图的步骤可以以任何顺序来执行,并且依赖于实施方式,某些步骤可以省略,和/或某些其它步骤可以添加或重复。

方法700的迭代发起于各种图像传感器数据和非图像传感器数据的捕获。在一个实施例中,传感器数据的捕获触发于或者以其它方式同步于由电子设备100的成像相机114、成像相机116和成像相机118(图1)中的一个或多个捕获并发图像帧。在其它实施例中,各种传感器数据可以周期性地或以其它方式重复获得,并且然后使用时间戳或其它同步元数据同步于捕获的图像数据。这一传感器数据的捕获可以包括在块702处经由广角成像相机114(图1)捕获本地环境112(图1)的广角视图(WAV)图像数据以及在块704处经由窄角成像相机116捕获本地环境112的窄角视图(NAV)图像数据。进一步地,在深度传感器120激活的情况下,本地环境的深度数据可以在块706处经由深度传感器120捕获。此外,表示用户的头部122的当前定位的头部跟踪数据可以在块708处从面对用户的成像相机118获得。

在块710处,电子设备100捕获来自一个或多个非图像传感器的传感器数据。为此目的,电子设备100可以实现各种非图像传感器中的任何一种以便于确定电子设备100的相对定位/定向。这样的非图像传感器可以包括其提供与电子设备100的相对定位、定向或速度有关的显式信息的陀螺仪、加速计、磁强计、高度计和重力梯度仪中的一个或多个。非图像传感器还可以包括用于提供本地环境112的上下文的传感器,诸如用于感测入射在电子设备上的环境光的程度的环境光传感器以及用于感测本地环境的当前温度的温度计。进一步地,由电子设备100获得的非图像传感器数据可以包括隐式上下文信息,诸如关键词、搜索项、或者从用户对电子设备100的键盘或触摸屏的操纵辨别出来的或者从如由电子设备100的麦克风捕获的用户的语音辨别出来的位置标记。用户的使用历史同样可以用作隐式上下文信息。

应当注意,可以以不同速率或频率读取不同传感器。例如,环境光读数可以针对成像相机114、成像相机116和成像相机118的每N个图像帧捕获仅被采集一次,而来自陀螺仪的六自由度(6DoF)读数可以每个图像帧捕获被采集以便于使得当捕获对应图像帧时能够检测电子设备100的相对定向。再进一步地,可以以比图像帧捕获速率大得多的速率来获得加速计读数,以便于通过电子设备100的更准确的内部导航确定。

在块712处,电子设备100使用捕获的非图像传感器数据来确定电子设备100的当前上下文。当前上下文集体表示电子设备100的非定位状态信息,其可以便于确定电子设备100的相对定位,或者其可以便于基于所确定的电子设备的相对定位来呈现增强信息。这一状态信息可以包括显式状态信息,诸如从各种非图像传感器搜集的状态信息。可以以当前上下文表示的显式状态信息的示例可以包括:电子设备100的当前6DoF定向;电子设备100的当前相对速度;入射在电子设备100上的当前环境光;当前时间、星期几或日历日期;各种无线信令(例如,来自蜂窝基站或无线局域网接入点的信令)的可用性或信号强度等。以当前上下文表示的状态信息还可以包括隐式状态信息;即,电子设备100可用的其它信息所暗指的信息。隐式状态信息的示例可以包括:对最近由用户经由键盘或触摸屏输入的文本的关键词搜索或关键项分析;最近由用户经由电子设备100执行的web搜索;用户的位置相关的习惯的历史(例如,用户往返工作的通勤历史);从对存储在电子设备100或远程位置的电子邮件或其它记录的分析的用户所旨在的目的地的暗示等。

在块714处,电子设备100分析所捕获的图像传感器数据和深度数据,以标识其以捕获像表示的本地环境112的空间特征。可以如此标识的空间特征可以包括诸如边缘和拐角或其它兴趣点之类的捕获像中的简单结构,或者可以包括诸如曲线、平面、斑点或整个对象之类的更复杂的结构。电子设备100可以利用各种熟知数字图像处理技术中的任何一种来从捕获的图像帧提取空间特征,诸如用于检测边缘的Canny边缘检测器或Sobel算子、用于检测拐角的快速(FAST)拐角检测器或者Harris和Stephens拐角检测器、或者用于检测拐角或斑点对象的高斯-拉普拉斯(LoG)或高斯差分(DoG)检测器。

电子设备100可以执行针对以下项中的一个或多个的空间特征检测处理:由广角成像相机114捕获的广角视图(WAV)图像帧、由窄角成像相机捕获的窄角视图(NAV)图像帧、由面对用户的成像相机118捕获的图像帧、以及由深度传感器120捕获的反射调制光图像帧(其可以包括由面对前方的成像相机114和成像相机116之一捕获的图像帧)。

图像中的空间特征的标识提供那些空间特征在二维空间中的相对位置,即“2D空间特征”。为了将2D空间特征地图构建至第三维度(即,距电子设备100的距离或“深度”),即,以确定对应“3D图像特征”,电子设备100使用多视图图像分析或使用深度传感器数据的分析中的一者或两者来确定2D特征相对于电子设备100的深度。

对于多视图图像分析,通过使用各种特征匹配技术中的任何一种来匹配WAV图像帧中标识的空间特征与对应NAV图像帧中标识的空间特征,并且然后基于两个图像帧之间的空间特征定位的位移并且基于广角成像相机114的光轴和窄角成像相机116的光轴之间的距离来计算每个空间特征的相对深度,电子设备100依靠视差现象。为了使用深度传感器数据标识2D特征的深度,电子设备100匹配可见光图像帧中的至少一个(即,NAV图像帧或WAV图像帧之一)中标识的空间特征与深度传感器数据中标识的空间特征,并且电子设备100可以将标识的可见光空间特征确定为具有由来自深度传感器数据的匹配空间特征指示的深度-距离。不是或除了使用WAV图像帧或NAV图像帧,在一些实施例中,电子设备100可以使用从WAV图像帧和NAV图像帧的对齐和组合(或“缝合”)生成的对齐(或“缝合”)图像帧,如下面参照块720描述的。

利用本地环境112的当前捕获像中标识的3D空间特征,在块716处,电子设备100基于对3D空间特征的分析来确定或更新其当前相对定位/定向。在一个实施例中,电子设备100实现基于视觉测程法的定位/定向检测处理,由此在常称为“光流估算”的处理中,基于当前捕获像和先前捕获像之间的相同空间特征定位的位移,电子设备100确定其相对于其先前确定的定位/定向的新定位/定向。用于光流估算的算法的示例包括熟知的Lucas–Kanade方法、以及基于模板的方法或基于特征描述符匹配的方法。

在一些实施例中,电子设备100利用在块712确定的当前上下文来帮助确定当前定位/定向。在一些实施方式中,当前上下文用于验证或精炼原本通过像分析确定的定位/定向读数。为了说明,电子设备100可以从像分析确定定向读数,并且然后使用最近的来自陀螺仪传感器的6DoF读数验证基于图像的定向读数的准确性。作为另一示例,电子设备100可以从像分析确定当前定位,确定电子设备100从先前确定的定位过渡到当前定位将必需行进的平均速度,并且然后验证这一估算速度与来自加速计的一个或多个读数以便于验证估算的当前定位与测量的速度读数一致。在一些实施例中,电子设备100利用在块712确定的当前上下文来过滤在执行针对定位/定向检测的像分析中要利用的图像数据。作为一个示例,电子设备100可以使用来自陀螺仪的6DoF读数或者来自重力梯度仪的重力定向读数来确定电子设备100的当前重力定向,并且使用这一信息避免其将不可能给出电子设备100的重力定向的针对潜在空间特征匹配的空间特征关联努力。

进一步地,电子设备100可以使用用户提供的位置上下文来更精确地标识电子设备100的大体位置或区域。作为示例,电子设备100可以检测用户最近的电子邮件、音频或文本消息通信中对特定大型购物中心的引用,并且从而假定用户位于大型购物中心。由此,电子设备100可以例如访问具有大型购物中心的位置/地图构建信息的数据库,并且基于这一位置/地图构建信息来聚焦基于像的定位。

移动机器人经常实现同时定位和地图构建(SLAM)算法,以不仅为本地环境构建地图而且确定它们在地图构建环境内的相对位置,而无需本地环境的先验知识。电子设备100可以使用块716的定位/定向确定处理随时间的多次迭代来利用这些相同的SLAM技术,以便于在每个适当时间点并发确定和更新电子设备100的定位/定向的同时生成本地环境112的地图。这一本地地图构建信息可以由电子设备100用于支持各种基于位置的功能中的任何一种,诸如在确定针对用户的到指定目的地的路径以及根据这一路径向用户提供视觉导航帮助中使用的,如下面更详细描述的。

在一些实施例中,电子设备100可以保持本地环境112中标识的空间特征的全局或绝对定位/定向的估算。为此目的,在块717处,电子设备100可以使用表示全局定位/定向信息的非图像传感器数据(诸如,在块710处从GPS接收器、磁强计、回转罗盘等捕获的传感器数据)来更新在块714处标识的空间特征的全局位置估算。这一全局定位/定向信息可以用于确定电子设备100的全局定位/定向,并且从这一信息,电子设备100可以估算标识的空间特征的全局定位/定向(基于它们相对于电子设备100的定位/定向)。然后,电子设备100可以存储或更新空间特征的这一估算的全局定位/定向,作为与空间特征相关联的元数据。

而且,电子设备100可以使用空间特征的全局定位/定向的这些估算来选择性地放弃在块710的迭代处获得对某些非图像传感器数据的更新的处理。例如,如果电子设备100标识到重复的空间特征(其是还从块714的先前迭代标识的空间特征),则电子设备100可以使用这一重复空间特征的全局定位/定向估算代替诸如来自GPS接收器的GPS数据之类的某些其它非图像传感器数据。在相似的方法中,电子设备100还可以使用一个或多个空间特征的先前确定的估算全局定位/定向,来向新遇到的空间特征指派估算全局定位/定向(基于它们相对于先前地图构建的空间特征的估算定位/定向)。

利用电子设备100的当前定位/定向的确定以及从在当前定位/定向捕获的图像数据标识的各种空间特征,在块718处,电子设备100可以基于当前定位/定向访问网络内容,以便于支持电子设备100的某个基于位置的功能或者支持与电子设备100通信的联网系统的某个基于位置的功能。作为示例,电子设备100可以支持其基于电子设备100的本地区域而提供虚拟现实的联网多玩家视频游戏。利用当前定位/定向,电子设备100可以访问玩家状态信息,以便于显示其他玩家相对于电子设备100的当前定位的定位。作为另一示例,电子设备100可以支持其为朋友、同事和用户感兴趣的其他人的位置构建地图的朋友地图构建应用。电子设备100可以向中央服务器提供其当前定位,中央服务器不仅更新其他用户的账户以反映当前定位而且使电子设备100更新有在当前位置的指定距离内的其他用户。

除了或代替下载网络内容,在块718处,电子设备100可以向网络上传设备内容。上传的设备内容可以包括例如图像数据、与标识的空间特征和它们的对应元数据有关的信息、相对定位/定向信息、估算的绝对定位/定向信息等。这一上传的设备内容可以被同化入来自大批相似设备的这种信息的数据库,并且然后这一数据库可以用于提供各种基于位置的服务。例如,来自电子设备100的内容数据可以与相似内容整合,以提供用于网络连接的导航/地图构建软件应用的像、位置和路由信息。

如上所述,电子设备100可以包括显示器108(图1),以显示使用面对前方的成像相机114和成像相机116中的一者或两者捕获的本地环境112的像。显示的像还可以包括增强现实图形信息,诸如上面参照图1描述的示例,由此办公室的墙壁中的电布线的定位被注释在与所显示的墙壁像同步的图形覆盖中。为此目的,在块720处,电子设备100执行图像对齐处理,以组合在块702和块704的一次或多次迭代捕获的一个或多个WAV图像和一个或多个NAV图像,以形成单个组合图像帧。图像对齐处理可以将来自NAV图像的细节添加至WAV图像,以提供WAV图像的更详细版本,或者反之亦然。替代地,可以对齐和组合多个NAV图像,以形成其描绘比任何单个单独NAV图像更大区域(例如,全景)的单个图像帧。在其它实施例中,电子设备100可以代之选择呈现WAV图像或NAV图像而无修改。

在块722处,电子设备100确定要向用户以图形呈现的作为在块720处生成或选择的图像帧的图形覆盖的AR信息,并且在块724处提供图像帧和图形覆盖以用于在电子设备100显示。AR信息可以本地存储在电子设备100,诸如在硬盘驱动器或可移除介质存储设备中。如上面参照块718讨论的,AR信息可以远程存储在诸如由电子设备100经由WLAN或蜂窝数据连接访问的因特网连接的服务器,并且AR信息可以响应于当前定位/定向的确定而被访问。结合图像帧向用户呈现的特定AR信息可以基于显式用户信息来选择,诸如由用户选择本地环境112的墙壁、地板和天花板内的采暖、通风和空调(HVAC)管道的定位的虚拟显示。被选择用于呈现的AR信息还可以基于隐式选择准则来选择。例如,响应于检测到用户正在朝向在用户的文本消息通信中标识的指定目的地行进,电子设备100可以生成其给出与用户朝向目的地的进程有关的各种度量的AR信息,诸如从用户的当前定位到达目的地所需的估算时间、目的地相对于用户的当前定位的罗盘方向等。

图形覆盖中呈现的AR信息的视图视角经常会依赖于如在块716处确定的电子设备100的特定定位/定向。例如,用户可以与电子设备100的GUI通过接口接合,以引导电子设备100帮助用户找到出口门。假设电子设备100已经通过在块716处的SLAM处理为本地环境112构建地图,并且已经通过这一地图构建标识了出口门,则电子设备100可以使用电子设备100相对于这一地图构建的当前定位来确定通过本地环境到出口门的路线,并且然后使用电子设备100的定向来指示其将用户导航到出口门的导航箭头图形。在用户(和电子设备100)沿着路径移动到出口门时,电子设备100可以更新所呈现的导航箭头图形,以反映将路径继续导航到出口门所必要的任何方向改变。在更复杂的应用中,办公室的电布线和HVAC管道位置信息可以以计算机辅助绘图(CAD)形式存储,使得电子设备100可以以与所呈现的图像中存在的对应墙壁、地板和天花板的相对定位/定向关联的三维形式来呈现面对电子设备100后方的办公室区域的所呈现图像帧中存出的电布线和HVAC管道位置的图形表示。在用户在办公室到处移动电子设备100时,所呈现的本地环境112的图像改变,并且从而电子设备100更新电布线和HVAC管道覆盖,以反映在显示器108呈现为像的办公室区域的改变。

由图形覆盖呈现的视图视角还可以基于用户的头部(或者用户的眼睛)相对于显示器108的定位的改变来修改。为此目的,电子设备100可以对如在块708处捕获的头部跟踪或眼睛跟踪信息中表示的头部/眼睛定位改变做出反应,以改变在显示器108呈现的图像和图形覆盖的视图视角。

如上所述,电子设备100循环通过方法700的迭代,以提供实时、更新的定位、地图构建和增强现实显示。然而,这些子处理不必要以相同的速率循环。为了说明,图像对齐和AR处理可以以与成像相机114、成像相机116和成像相机118相同的帧速率更新/循环,因为这些处理直接绑定到捕获像。然而,非图像传感器捕获和当前上下文确定可以以不同的循环速率进行。为了说明,可能适当的是,比帧速率更频繁地捕获陀螺仪或惯性传感器状态,以便具有足够准确的惯性导航估算。相反,电子设备100的位置有关的特征可能不要求高的定位分辨率,并且从而用于确定电子设备100的当前定位/定向的图像分析处理可以以比成像相机的帧速率更慢的循环速率发生。

图8图示依照本公开的至少一个实施例的由电子设备100实现的示例处理系统800。处理系统800包括广角成像相机114、窄角成像相机116、面对用户的成像相机118和深度传感器120。处理系统800进一步包括2D处理器802、应用处理器804、显示控制器806、电源808、非图像传感器的集810、以及用户接口812。

在诸如平板计算机或智能电话实施方式之类的便携式用户设备实施方式中,电源808可以包括电池、太阳能电池阵列、或者用于给电子设备的电部件供电的其它便携式功率源。在非便携式设备实施方式中,电源808可以包括用于将外部电压供应转换为对于电子设备100的部件来说适当的电压电平的功率转换器。用户接口812包括由用户操纵为向电子设备100提供用户输入的一个或多个部件,诸如触摸屏814、鼠标、键盘、麦克风816、各种按钮或开关、以及各种触觉致动器818。非图像传感器的集810可以包括用于提供电子设备100的非图像上下文或状态的各种传感器中的任何一种。这样的传感器的示例包括陀螺仪820、磁强计822、加速计824和环境光传感器826。非图像传感器可以进一步包括各种基于无线接收或传送的传感器,诸如GPS接收器828、无线局域网(WLAN)接口830、蜂窝接口832、对等(P2P)无线接口834、以及近场通信(NFC)接口836。非图像传感器还可以包括诸如触摸屏814或麦克风816之类的用户接口812的用户输入部件。

电子设备100进一步访问存储与其图像处理、位置地图构建和位置利用处理结合使用的信息或元数据的各种数据存储。这些数据存储可以包括用于存储从由电子设备100的成像相机捕获的像标识的2D空间特征的元数据的2D特征数据存储838以及用于存储从使用多视图分析或基于调制光的深度感测的2D空间特征深度感测标识的3D特征的元数据的3D空间特征数据存储840。针对2D特征和3D特征存储的元数据可以包括例如用于同步目的的时间戳、其中标识空间特征的图像帧的图像帧标识符、所使用的捕获设备的标识符、校准信息等。这一元数据可以进一步包括与含有标识的空间特征的图像帧同时期的非图像传感器数据,诸如GPS、wifi或其它无线电信息、当日时间信息、天气条件信息(其影响照明)等。数据存储可以进一步包括其存储基于SLAM的信息(诸如已经由电子设备100探测的本地环境112(图1)的区域的地图构建信息)或AR信息(诸如,本地环境112中的兴趣对象的相对位置的基于CAD的表示)的SLAM/AR数据存储842。数据存储可以是电子设备100本地的,诸如在硬盘驱动器、固态存储器或可移除存储介质(未示出)上,数据存储可以远程定位并且经由例如电子设备100的无线接口中的一个或多个可访问,或者数据存储可被实现为本地和远程数据存储的组合。

在所描绘的实施方式中,处理系统800采用两个处理器:2D处理器802,被配置为从电子设备100的成像相机捕获的可见光像和深度传感器像高效地标识2D空间特征;以及应用处理器804,被配置为从2D空间特征高效地标识3D空间特征并且高效地提供诸如视觉测程法或其它SLAM功能、AR功能等之类的基于位置的功能。然而,在其它实施例中,所描述的2D处理器802和应用处理器804的功能可以实现在单个处理器中,或者两个以上的处理器一起可以实现所描述的功能。2D处理器802可以被实现为例如单核或多核图形处理单元(GPU),并且应用处理器804可以被实现为例如GPU或者单核或多核中央处理单元(CPU)。

2D处理器802耦合到广角成像相机114、窄角成像相机116和面对用户的成像相机118,以便于将由成像相机捕获的图像数据接收在一个或多个像素行缓冲区844中。在一个实施例中,2D处理器802包括用于每个成像相机的接口和像素行缓冲区844,以便于能够并行地从每个成像相机接收图像数据。在另一实施例中,2D处理器802包括单个接口和像素行缓冲区844,并且从而2D处理器802在成像相机之间复用。像素行缓冲区844可以包括足够用于由对应成像相机捕获的图像帧的一个或多个像素行的存储(高达全帧缓冲)。为了说明,成像相机中的一个或多个可以包括滚动快门成像相机,由此成像相机的图像传感器每次被扫描一行或者每次行子集。在每个行或行子集被扫描时,其像素数据临时缓冲在像素行缓冲区844。缓冲的像素行然后可以转移至诸如分立的帧缓冲区(未示出)之类的更大存储区域,以用于全帧处理。

2D处理器802被配置为处理从成像相机捕获的图像数据以标识图像数据中存在的2D空间特征。在一些实施例中,2D处理器802实现特别设计用于这一任务的硬件配置。在其它实施例中,2D处理器802包括更通用的处理器架构,其通过执行被配置为实现2D空间特征检测处理的软件程序来提供2D空间特征检测。2D处理器802还可以实现专用硬件和专用软件的组合以用于这一目的。如上面描述的,各种熟知2D空间特征检测或提取算法中的任何一种可以由2D处理器802来实现。2D处理器802将与标识的2D空间特征有关的元数据和其它信息存储到2D特征数据存储838。

在一个实施例中,2D处理器802被配置为使用各种熟知头部跟踪算法中的任何一种来分析由面对用户的成像相机118捕获的像,以跟踪用户的头部的当前定位/定向。在所描绘的示例中,2D处理器802向显示控制器806提供头部跟踪信息,显示控制器806转而被配置为调整所显示的像,以对如用户的头部的定位/定向改变中反映的用户的视图视角的改变做出反应。在另一实施例中,2D处理器802向应用处理器804提供头部跟踪信息,应用处理器804转而在向显示控制器806提供显示数据之前修改显示数据以反映更新的视图视角。

在其用于确定本地环境112的捕获像中标识的空间特征的深度数据中,2D处理器802还充当其操作调制光投射器119的控制器。在诸如相对明亮的设置(如使用环境光传感器826感测的)之类的某些条件下,2D处理器802可以使用由广角成像相机114和窄角成像相机116并发捕获的像的多视图图像分析来确定捕获像中存在的空间特征的深度数据。在诸如相对低照明条件之类的其它条件下,2D处理器802可以切换为使用深度传感器120(图1)来确定这一深度数据。在其它实施例中,处理系统800实现与2D处理器802分立的控制器(未示出)以控制调制光投射器119的操作。

如上面描述的,深度传感器120依靠由调制光投射器119向本地环境中的调制光图案的投射,并且依靠由成像相机中的一个或多个对调制光图案从那里的反射的捕获。从而,2D处理器802可以使用面对前方的成像相机114和成像相机116中的一者或两者来捕获调制光图案的投射的反射,并且处理所产生的反射调制光图案的像,以确定反射调制光图案中表示的对应空间特征的深度。为了匹配深度读数与对应2D空间特征,2D处理器802可以执行针对深度像的2D空间特征分析以确定2D空间特征及其相对深度,并且然后尝试匹配2D空间特征与在捕获反射调制光像的相同或几乎相同的时间捕获的可见光像中标识的对应空间特征。在另一实施例中,2D处理器802可以捕获可见光图像,并且此后迅速地控制调制光投射器119投射调制光图案并且捕获反射的调制光图像。然后2D处理器802可以从反射调制光图像获取针对可见光图像的深度图,因为反射调制光图像有效地表示具有在相同坐标的相同空间特征的相同场景,这是由于可见光图像和反射调制光图像的同时期捕获。

尽管在帮助感测捕获像中存在的空间特征的相对深度方面有效,但是调制光图案的投射可能干扰电子设备100的其它操作。举个例子,尽管调制光投射器119可以被配置为投射红外或近红外光图案,但是如果成像相机碰巧在投射调制光图案的同时激活它们的快门,则这一红外或近红外光的发射可能将干扰引入到成像相机捕获的可见光像中。这一干扰不仅会减损用户对捕获的可见光像的查看体验,而且会对2D处理器802执行的图像处理准确性或效力造成负面影响。而且,调制光投射器119的激活会消耗显著量的功率,这会影响电子设备100在电池充电之间的运行时间。通过处理系统800可实现用于减少干扰和调制光投射器119功耗的各种技术下面参照图10至图12进行描述。

应用处理器804被配置为使用2D特征数据存储838中表示的2D空间特征并且使用来自非图像传感器的集810的非图像传感器信息,来标识捕获像中表示的3D空间特征。正如2D处理器802,应用处理器804可以被配置为通过专用硬件配置、通过执行被配置用于这一处理的软件、或者专用硬件和软件的组合来执行这一处理。所标识的3D空间特征的元数据和其它信息被存储在3D特征数据存储840中。2D到3D空间特征提取处理下面参照图9进行描述。

应用处理器804进一步被配置为使用3D特征数据存储840中表示的3D空间特征并且使用如由非图像传感器数据表示的电子设备100的当前上下文,来提供SLAM、AR、VR和其它基于位置的功能。当前上下文可以包括从例如用户接口812或经由分析用户交互而获得的显式或隐式用户输入。这一功能可以包括基于视觉测程法处理来确定电子设备100的当前相对定位/定向,视觉测程法处理使用3D空间特征以及诸如来自陀螺仪820的6DoF读数、使用加速计824保持的航位推算历史、使用GPS接收器828确定的或经由蜂窝接口832使用无线电遥测确定的无线信号接收器绝对位置指示符等之类的各种位置有关的非图像传感器数据。相似地,应用处理器804可以使用电子设备100的定位/定向历史和那些定位/定向中观察到的空间特征历史来创建本地环境112的地图。

由应用处理器804提供的基于位置的功能可以进一步包括AR有关或VR有关的功能,其包括基于由应用处理器804确定的当前定位/定向,从SLAM/AR数据存储842标识和访问要作为图形覆盖提供在显示器108上的图形信息。这一图形覆盖可以经由显示控制器806与当前定位/定向中的成像相机捕获的像相关联地提供用于在显示器108显示。显示控制器806操作为控制显示器108(图1)显示由从应用处理器804接收的显示数据所表示的像。进一步地,在一些实施例中,显示控制器806可以从2D处理器802接收头部跟踪信息,并且基于接收的头部跟踪信息中表示的用户头部定位或眼睛定位来调整正被显示的像的视图视角。

在传统2D空间特征检测应用中,整个图像帧被捕获,并且然后在GPU或其它处理器发起针对图像帧的空间特征提取之前,被缓冲在帧缓冲区。由于在将图像数据转移到帧缓冲区以准备其由GPU访问中招致的延迟,这一方法可以引入空间特征检测的显著延迟或滞后,并且从而引入定位/定向检测的显著延迟或滞后。为了减少或消除这一滞后,在一些实施例中,2D处理器802被配置为在捕获的图像数据从对应成像相机被流式传输向2D处理器时执行2D空间特征提取。在像素行缓冲区844从成像相机接收一个或多个像素行的子集时,2D处理器802处理由缓冲像素的子集表示的图像部分,以标识该图像部分中存在的2D空间特征。然后,在从图像部分标识2D空间特征时,2D处理器802可以将2D空间特征流式传输向2D特征数据存储838或者直接流式传输向应用处理器804的输入。在图像数据流式传入时标识2D空间特征时,并且在标识的2D空间特征在它们被标识时被流式传输向应用处理器804时,相比于其依靠整个图像帧分析的传统图像处理技术,2D空间特征检测处理和3D空间特征检测处理可以以更快的速率进行。

图9图示依照至少一个实施例的用于使用处理系统800的两处理器架构进行2D空间特征提取和3D空间特征提取的示例方法900。方法900的迭代开始于在块902处由面对前方的成像相机114和成像相机116之一捕获图像的发起。在块904处,2D处理器802将正在成像相机的图像传感器捕获的图像的一部分扫描到像素行缓冲区844中,并且分析来自像素行缓冲区844的图像部分以标识图像部分中存在的任何2D空间特征。响应于检测到2D特征(块906),在块908处2D处理器802提供表示2D特征的2D空间特征数据以用于存储在2D特征数据库838中。这一2D空间特征数据可以包括例如空间特征标识符、其中发现空间特征的图像的指示符或者与这样的图像相关联的时间戳、空间特征在图像内的定位的指示符、空间特征的类型(例如,边缘、拐角等)的指示符等。2D处理器802重复块904、块906和块908的处理直到针对图像部分的空间特征提取完成(块910),在该点处方法900返回到块904,于是下一图像部分从成像相机的图像传感器被扫描到像素行缓冲区844,并且对于该下一图像部分重复块904至块910的2D空间特征提取处理。当图像帧的最后图像部分的2D空间特征提取已经完成时(块912),方法900返回到块902,并且对于电子设备100的成像相机捕获的下一图像重复处理。

与块902至块912的图像捕获和分析处理同时期地,2D处理器802确定要与捕获的图像相关联的电子设备100的当前上下文。为此目的,在块914处2D处理器802发起读取非图像传感器中的一个或多个,并且使用所产生的非图像传感器数据来指定电子设备100的当前上下文的一个或多个参数。这可以包括例如指定在块902处捕获图像时电子设备100的6DoF定向、指定此时入射在电子设备100上的环境光、指定用于蜂窝信令的接收信号强度指示(RSSI)、指定此时电子设备100的GPS坐标等。在块916处,2D处理器802提供这一当前上下文信息以用于存储在2D特征数据存储中,作为与并发捕获的图像帧中标识的2D空间特征相关联的元数据。然后,对于下一图像捕获循环可以重复块914和块916的当前上下文捕获处理。

如上文所述,在一些实施例中,在标识2D空间特征时,2D处理器802向应用处理器804流式传输2D空间特征和它们相关联的上下文元数据。据此,在2D空间特征的2D空间特征数据和元数据被接收时,在块918处应用处理器804通过确定2D空间特征的当前深度将2D空间特征转换为3D空间特征。如上文所述,在两个并发捕获的图像可用的情况下,空间特征的深度可以通过两个图像的多视图分析而确定。在这种情况下,应用处理器804关联来自两个帧的2D空间特征以标识很可能表示相同空间特征的2D空间特征集,并且然后,基于两个图像之间的空间特征定位之间展现的视差来确定2D空间特征的深度。在其中两个并发捕获的图像不可用的实例中,应用处理器804可以基于由深度传感器120并发捕获的深度数据来确定所接收的2D空间特征的当前深度。

在生成3D空间特征的情况下,在块920处应用处理器804可以尝试通过向这一3D空间特征应用视觉测程法算法,来确定电子设备100的当前定位/定向。在一些实例中,3D空间特征自己可能不足够独特以便于允许准确确定当前定位/定向。据此,电子设备100可以缓冲表示多个同时期的3D空间特征的3D空间特征数据,并且然后尝试从这多个3D空间特征确定当前定位/定向。

在上面描述的方法中,应用处理器804可以能够使用一个或几个3D空间特征来标识具有足够粒度的当前定位/定向。由于可以在标识对应2D空间特征之后不久确定每个3D空间特征,甚至在2D处理器802已经完成来自成像相机的图像帧的捕获和处理之前,应用处理器804就可以开始确定当前定位/定向的处理。快速确定当前定位/定向的这一能力可以转译为改善的基于位置的功能。为了说明,由于比起其要求首先填满帧缓冲区的传统方法可以更快地标识当前定位/定向,可以更快速地访问和显示AR图形覆盖信息,这可以导致电子设备100处显示的AR加强像中更少的抖动和伪影。

图10图示依照本公开的至少一个实施例的用于深度传感器120的高效操作的示例方法1000。深度传感器120的调制光投射器119的激活会消耗显著量的功率。在一些传统实施方式中,基于调制光的深度传感器采取连续操作,并且以在15-30赫兹(Hz)之间的帧速率或者与典型视频流相似的速率捕获深度数据。这可以使深度传感器成为相对高功率的设备。事实上,在这一传统方式中调制光投射器消耗的功率可以大幅大于由平板、智能电话或其它便携式用户设备中使用的典型显示器所消耗的功率。

在许多实例中,以这一连续捕获方法捕获的深度数据量大幅大于电子设备100针对准确深度分析所需要的深度数据的程度。据此,方法1000图示用于选择性激活深度传感器120的技术,以便于减少或最小化深度传感器120的总激活时间,同时捕获足够的深度数据以允许捕获像中标识的空间特征的准确深度确定。在一些实施例中,这一选择性激活可以包括响应于一个或多个触发事件类型以突发模式操作深度传感器120,由此按需捕获深度图像的单个或小的快速序列。根据这一方法,可以减小深度传感器120的总功率汲取,由此延长了对于给定电池电荷电子设备100可以操作的时间量,同时还减少了电子设备100的热要求。

为了以下目的,通过指定调制光投射器119被激活以投射调制光图案的频率以及投射调制光图案的强度和持续时间,“激活配置”控制深度传感器的操作。这一频率、强度和持续时间一起类似于占空比。当深度传感器120禁用时(例如,当正在经由多视图图像分析执行深度感测时),深度传感器120的激活配置可以解译为零频率、零强度和零持续时间。相反,当深度传感器120启用时(例如,当要经由调制光投射执行深度感测时),深度传感器的激活配置表示非零频率、非零强度和非零持续时间。

当正在执行基于调制光的深度感测时,深度图像捕获的频率通常相对于电子设备100对正被感测的极近的区域所具有的“熟悉度”。如果电子设备100已经静止一段时间,则电子设备100很可能已经有机会获得针对极近的区域的足够的深度数据。因此,电子设备100可以降低深度图像捕获处理的频率和光强度。然而,如果电子设备100是运动的,更可能的是,电子设备100遇到先前未遇到的环境,并且从而电子设备100将增加深度图像捕获的频率,以便于更快速地累积针对它行进通过的本地环境的足够的深度数据。

在一些实例中,电子设备100可以处于其先前已经获取足够深度数据的区域中,但是后来已经发生环境中的改变,并且从而使先前的深度数据不可靠。为了说明,用户与电子设备100第一次进入会议室时,电子设备100可能已经获取针对会议室中的对象的深度数据。后来,会议室中的家具和固定物已经重新布置,使得用户下一次进入会议室时,用户遇到先前未遇到的环境,并且从而针对会议室的深度数据过时。在一些实施例中,通过由定时器的推移触发的自动周期性深度数据重新捕获以便于刷新或更新针对该区域的深度数据,可以处理给定区域中的对象的布置改变的可能性。通过评估从当前区域捕获的像中存在的几何不确定性,电子设备100还可以测定其对其极近的区域的当前熟悉度。例如,这一几何不确定性反映在先前未遇到的对象或几何结构(诸如,以相同或相似定位/定向捕获的先前的像中不存在的边缘的集)的检测中或者反映在意外几何结构(诸如,拐角集的空间定位从相同或相似设备定位/定向的较早捕获的图像中的它们的先前定位的位移)的检测中。

为此目的,在一个实施例中,电子设备100为以特定定位/定向检测的空间特征编目录。这一特征目录可以包括空间特征连同诸如它们的相对定位/定向、它们的维度等之类的某些特性的列表。因为本地环境可以相对于相同位置改变(例如,对象可以被添加或移除、或者移动到新定位),当电子设备100再次返回到相同位置时,通过标识从该位置当前可观察的空间特征并且比较所标识的空间特征与针对该位置先前编目录的空间特征,电子设备100可以确定其是否处于先前未遇到的环境,如果在针对相同位置的当前遇到的空间特征和先前遇到的空间特征之间存在足够的不一致,则电子设备100断定其处于先前未遇到的环境,并且据此着手进行配置深度传感器120的激活配置。

从而,为了发起对深度传感器120的激活配置的调整,在块1002处,2D处理器监控被选择为使得重新评定深度传感器120的当前激活配置的触发事件。这一触发事件可以包括超过阈值的感测的环境光的改变(块1092)、电子设备的运动的检测(或者运动不存在的检测)(块1094)、或者当前正由成像相机114、成像相机116和/或成像相机118捕获的像中的某些几何不确定性的检测(块1096)。触发事件还可以包括其表示周期性刷新触发器的定时器的推移。

响应于检测到触发事件,在块1004处,2D处理器802基于触发事件确定用于深度传感器120的适当修订的激活配置。作为示例,如果触发事件1002、1092是感测的环境光超过一个阈值,则2D处理器802选择从基于多视图的深度感测切换至基于调制光的深度感测,并且从而激活深度传感器120和将调制光图案的投射的频率、强度和持续时间初始设置为指定的默认值。相反,如果触发事件1002、1092是感测的环境光降至较低阈值以下,则2D处理器802选择切换回到基于多视图的深度感测,并且从而通过将频率、强度和持续时间设置为零来停用深度传感器120。作为另一示例,如果触发事件1002、1094是电子设备100以高于阈值的速度行进,则2D处理器802增加调制光图案投射和对应的反射调制光图像捕获的频率。即,2D处理器802可以进入突发模式,由此进行深度图像捕获的快速序列。相反,如果触发事件1002、1094是电子设备100以低于阈值的速度行进,则2D处理器802减少调制光图案投射和对应的反射调制光图像捕获的频率。作为进一步的示例,基于所检测的几何不确定性的指示符与一个或多个阈值的比较(块1096),2D处理器802可以增加或减少调制光图案投射/反射调制光图像捕获的频率。

电子设备100的当前上下文也可以用于确定适当的激活配置。为了说明,如果当前上下文指示用户正在使用电子设备100提供其被假定为精确地标识不可见或埋藏对象的位置的AR图形覆盖,可能更加必要的是,电子设备100准确地标识空间特征的相对3D定位,以便于准确地将AR图形覆盖定位在底层捕获图像之上。因此,2D处理器802可以将调制光投射设置为与对应触发事件相关联的范围的较高端。然而,如果当前上下文指示用户正在使用电子设备100经由所显示的方向性区域提供一般的导航指引,可能不太必要准确地标识空间特征的相对3D定位,并且从而2D处理器802可以将调制光投射设置为与对应触发事件相关联的范围的较低端。

还可以基于电子设备100的触发事件类型或当前上下文来修订持续时间或强度。例如,如果有较多的环境光存在于本地环境中,并且从而有更多的机会干扰调制光图案,则2D处理器802可以将调制光投射器119配置为以更高的强度和更长的持续时间来投射调制光图案,以便于用反射的调制光图案更充分地激励图像传感器。作为另一示例,还可以基于电子设备100到视场中的对象的接近度或者视场中存在的材料的发射率,来设置调制光图案的持续时间或强度。

在设置了修订的激活配置的情况下,在块1006处,2D处理器802激活调制光投射器119,并且以在块1004处设置的激活配置指定的频率来捕获所产生的深度图像(即,反射的调制光图像)。并行地,方法1000返回到块1002,由此2D处理器802继续监控另一触发事件,以便于发起由方法1000表示的深度传感器配置处理的下一迭代。

图11图示依照本公开的至少一个实施例的其表示更一般的方法1000的具体示例实施方式的方法1100。对于方法1100,基于入射在电子设备100上的环境光并且基于电子设备100的运动,来控制深度传感器120的激活配置。据此,在块1102处,2D处理器802对环境光传感器826(图8)进行采样,以获得当前环境光读数,并且在块1104处,2D处理器802比较当前环境光读数与指定阈值。如果当前环境光读数大于阈值,则在块1106处,2D处理器802进入立体或其它多视图深度感测模式(或者如果已经处于这一模式,则停留在多视图深度感测模式中)并且禁用调制光投射器119。

如果当前环境光读数小于阈值,则在块1108处,2D处理器802进入调制光深度感测模式(或者如果其已经处于这一模式,则停留在这一模式中)并且启用调制光投射器119。进一步地,如果2D处理器802从调制光深度发送模式切换至这一模式,则2D处理器802将激活配置设置为默认非零的频率、强度和持续时间。在调制光深度感测模式中的同时,在块1110处,2D处理器802监控加速计824以确定电子设备100是否在运动。如果不在运动,在块1112处,在自运动停止后的指定时移之后,2D处理器802可以从默认速率降低深度图像捕获速率(并且对应地降低调制光投射的频率)。如果在运动,在块1114处,2D处理器802可以从默认速率增加深度图像捕获速率(并且对应地增加调制光投射的频率)。并发地,方法1100返回到块1102,由此2D处理器802捕获下一环境光读数并且开始将深度图像捕获速率调谐到电子设备100遇到的当前条件的下一迭代。注意,环境光传感器826的采样(块1104)和加速计824的采样(块1110)、以及响应于所产生的样本值所发生的处理可以以相同的速率或以不同的速率发生。

图12图示依照至少一个实施例的由电子设备100在基于调制光的深度感测期间用于可见光图像捕获的示例方法1200。诸如其可以部署在成像相机114、成像相机116和成像相机118中的那些之类的图像传感器对宽范围的电磁谱敏感,包括可见光和红外光两者。据此,由调制光投射器119投射的红外或近红外调制光图案会干扰同时尝试捕获可见光的成像相机。通常,这一干扰表现为调制光图案在捕获的可见光像中可见。

在许多实例中,尝试通过捕获后图像处理从可见光像移除调制光图案是不可行的。据此,方法1200表示用于依赖防止查看者容易检测到移除的损坏图像帧的视觉暂留现象或者在其位置使用替换图像帧而移除损坏图像帧的技术。从而,如果成像相机以例如30帧每秒(fps)或60fps运行,电子设备100可以针对每秒的单个帧使调制光投射器119闪光,并且然后跳过在调制光投射器119激活的同时捕获的可见光图像帧的显示或使用。替代地,替换图像帧可被插入视频馈送代替损坏图像帧,以便于提供稍微平滑的视频过渡。这一替换图像可以包括视频帧序列中的之前或之后图像帧的副本。替换图像还可以是插值在之前帧和之后帧之间的插值图像帧。在另一方法中,像素翘曲技术可以被应用于关联深度像,以合成丢弃图像帧的图像内容。在任何情况下,结果将是有效帧速率轻微降低到29或59fps的可接受速率,大多数时候这对大多数查看者来说将是难以察觉的改变。

为此目的,方法1200的迭代开始于块1202,由此2D处理器802(图8)操作成像相机114和成像相机116之一以捕获可见光图像帧。在块1204处,2D处理器802确定调制光投射器119在图像捕获时是否激活,并且从而很可能损坏可见光图像帧。在一个实施例中,2D处理器802可以实现滑动时间窗,使得如果它的控制历史示出调制光投射器119的激活和成像相机中快门的操作两者都发生在这一滑动时间窗内,则2D处理器802可以断定捕获的可见光图像帧被损坏。在另一实施例中,2D处理器802可以执行图像分析,以检测调制光图案的一些相似物是否存在于可见光图像帧中,以确定可见光图像帧是否被损坏。

如果可见光图像帧被认为未损坏,在块1206处,2D处理器802许可捕获的图像帧包括在向用户呈现的视频流中。否则,如果可见光图像帧被认为损坏,则在块1208处,2D处理器802阻止损坏图像帧的显示或其它使用。如上文所述,这可以包括简单地跳过整个损坏帧(块1210)、通过复制视频流中的另一图像帧来生成替换图像帧(块1212)、或者通过在视频流中的两个或更多其它图像帧之间插值或者使用诸如由另一成像相机并发捕获的深度像之类的替代图像内容以合成损坏图像帧中存在的图像内容来生成替换图像帧(块1214)

依照一个方面,电子设备包括部署在第一表面并且具有第一视角的第一成像相机、部署在第一表面并且具有大于第一视角的第二视角的第二成像相机、以及部署在第一表面的深度传感器。深度传感器可以包括用于投射调制光图案的调制光投射器、以及用于捕获调制光图案的反射的第一成像相机和第二成像相机中的至少一个。调制光投射器可以包括一个或多个竖直腔面发射激光器(VCSEL)二极管的阵列、覆在一个或多个VCSEL二极管阵列上面的一个或多个透镜的阵列、以及覆在一个或多个透镜的阵列上面的衍射光学元件。第二成像相机可以包括鱼眼透镜,并且可以被配置用于机器视觉图像捕获。第二成像相机可以包括滚动快门成像相机,并且可以被配置用于用户发起的图像捕获。

电子设备进一步可以包括部署在第二表面并且具有大于第一视角的第三视角的第三成像相机。第一成像相机可以被配置用于用户发起的图像捕获,第二成像相机可以被配置用于机器视觉图像捕获,并且第三成像相机可以被配置用于面部识别和头部跟踪中的至少一个。在一个实施例中,电子设备进一步包括部署在与第一表面相反的第二表面的显示器,并且电子设备可以被配置为经由显示器呈现经由第一成像相机和第二成像相机中的至少一个成像相机捕获的像。

依照本公开的另一方面,电子设备可以包括部署在第一表面并且具有第一视角的第一成像相机、部署在第一表面并且具有大于第一视角的第二视角的第二成像相机、以及部署在第二表面并且具有大于第一视角的第三视角的第三成像相机。第一成像相机可以被配置用于用户发起的图像捕获,第二成像相机可以被配置用于机器视觉图像捕获,并且第三成像相机可以被配置用于面部识别和头部跟踪中的至少一个。在一个实施例中,电子设备进一步包括深度传感器,深度传感器具有部署在第一表面、用于投射调制光图案的调制光投射器,并且进一步包括用于捕获调制光图案的反射的成像相机。深度传感器的成像相机可以包括第一成像相机和第二成像相机中的至少一个。调制光投射器可以包括一个或多个竖直腔面发射激光器(VCSEL)二极管的阵列、覆在一个或多个VCSEL二极管阵列上面的一个或多个透镜的阵列、以及覆在一个或多个透镜的阵列上面的衍射光学元件。在一个实施例中,电子设备包括部署在第二表面的显示器,由此电子设备被配置为经由显示器呈现经由第一成像相机、第二成像相机和第三成像相机中的至少一个成像相机捕获的图像数据。

依照又一方面,方法包括:使用部署在电子设备的第一表面的第一成像相机捕获第一图像数据,以及使用部署在电子设备的第一表面的第二成像相机捕获第二图像数据,第二图像数据表示比第一图像数据更广的视场。方法进一步包括使用部署在电子设备的第一表面的深度传感器捕获深度数据。方法还可以包括从第一图像数据、第二图像数据和深度数据中的一个或多个确定至少一个空间特征,以及基于至少一个空间特征来确定电子设备的相对定位和相对定向中的至少一个。方法还可以包括使用部署在电子设备的第二表面的第三成像相机捕获第三图像数据,第三图像数据表示比第一图像数据更广的视场,由此其中确定至少一个空间特征包括进一步基于第三图像数据来确定至少一个空间特征。

在一个实施例中,方法进一步包括基于第一图像数据、第二图像数据和深度数据在电子设备显示图像。方法还可以包括:至少部分基于深度数据来确定电子设备的当前上下文,基于当前上下文来确定增强图形覆盖,并且其中显示图像进一步包括显示具有增强图形覆盖的图像。方法可以包括使用部署在电子设备的第二表面的第三成像相机捕获第三图像数据、并且基于第三图像数据来确定用户的头部的定位。为此,显示图像可以包括进一步基于用户的头部的定位来显示图像。在一个实施例中,使用深度传感器捕获深度数据包括从电子设备的第一表面投射调制光图案、并且使用第一成像相机和第二成像相机中的至少一个捕获调制光图案的反射。

依照本公开的另一方面,电子设备包括第一处理器,用于从第一成像相机接收图像数据,并且用于确定表示从图像数据标识的一个或多个2D空间特征的二维(2D)空间特征数据。电子设备进一步包括耦合到第一处理器的第二处理器,用于确定表示基于2D空间特征数据标识的一个或多个3D空间特征的三维(3D)空间特征数据。第一处理器可以在接收整个图像帧前,发起从图像帧的一部分检测一个或多个2D空间特征。电子设备进一步可以包括部署在电子设备的第一表面并且具有第一视场的第一成像相机、以及部署在电子设备的第一表面并且具有比第一视场窄的第二视场的第二成像相机。电子设备进一步可以包括部署在电子设备的第二表面并且具有比第二视场大第三视场的第三成像相机,由此第一处理器进一步基于从第三成像相机捕获的图像数据标识的一个或多个2D空间特征来确定2D空间特征数据。

在至少一个实施例中,电子设备进一步包括用于捕获深度数据的深度传感器,由此第二处理器可以进一步基于深度数据来确定3D空间特征数据。深度传感器可以包括调制光投射器,并且深度数据可以包括由第一成像相机捕获的并且表示调制光投射器投射的调制光图案的反射的图像数据。

在至少一个实施例中,电子设备进一步可以包括耦合到第二处理器、用于提供非图像传感器数据的传感器,由此第二处理器可以进一步基于非图像传感器数据来确定3D空间特征数据。对于每个图像帧,第一处理器捕获传感器的至少一个传感器状态,并且第一处理器确定图像帧中标识的2D空间特征的2D空间特征列表并且向第二处理器发送2D空间特征列表和至少一个传感器状态的表示。传感器可以包括从以下项中选择的至少一个:加速计;陀螺仪;环境光传感器;磁强计;重力梯度仪;无线蜂窝接口;无线局域网接口;有线网络接口;近场通信接口;全球定位系统接口;麦克风;以及小键盘。

依照另一方面,方法包括:在电子设备的第一处理器接收由电子设备的第一成像相机捕获的第一图像数据,第一图像数据表示第一图像帧;以及在第一处理器从第一图像数据确定一个或多个二维(2D)空间特征的第一集。方法进一步包括:在电子设备的第二处理器使用一个或多个2D空间特征的第一集确定一个或多个三维(3D)空间特征的集。方法还可以包括:在第一处理器接收由电子设备的第二成像相机捕获的第二图像数据,第二图像数据表示第二图像帧;在第一处理器从第二图像数据确定一个或多个2D空间特征的第二集。确定一个或多个3D空间特征的集可以包括:基于一个或多个2D空间特征的第一集和一个或多个2D空间特征的第二集之间的关联,来确定一个或多个3D空间特征的集。方法还可以包括:使第一成像相机捕获的图像数据和第二成像相机捕获的图像数据对齐以生成组合图像帧,并且在电子设备显示组合图像帧。

在一个实施例中,方法包括:在第一处理器接收由电子设备的深度传感器捕获的深度数据,并且由此确定一个或多个3D空间特征的集可以包括进一步基于深度数据来确定一个或多个3D空间特征的集。方法还可以包括:在第一处理器确定与捕获第一图像数据并发的表示电子设备的至少一个非成像传感器的传感器状态的传感器数据,由此确定一个或多个3D空间特征的集包括进一步基于传感器数据来确定一个或多个3D空间特征的集。

依照本公开的另一方面,方法包括:在电子设备的第一处理器接收由电子设备的第一成像相机捕获的第一图像数据流,第一图像数据流表示第一图像帧。方法进一步包括:在第一处理器确定针对第一图像帧的一部分的一个或多个二维(2D)空间特征的第一集,并且在继续在第一处理器接收表示第一图像帧的下一部分的第一图像数据流的一部分的同时,向电子设备的第二处理器发送表示一个或多个2D空间特征的第一集的第一2D空间特征数据。方法进一步可以包括:在第二处理器基于第一2D空间特征数据确定一个或多个三维(3D)空间特征的第一部分集。方法还可以包括:在第一处理器接收由电子设备的深度传感器捕获的深度数据。确定一个或多个3D空间特征的第一集可以包括进一步基于深度数据来确定一个或多个3D空间特征的第一集。

方法还可以包括与接收第一图像数据流并发地接收表示电子设备的至少一个非成像传感器的传感器状态的传感器数据。确定一个或多个3D空间特征的第一集可以包括进一步基于传感器数据来确定一个或多个3D空间特征的第一集。非成像传感器可以包括陀螺仪,并且其中确定一个或多个3D空间特征的第一集可以包括进一步基于来自陀螺仪的定向读数来确定一个或多个3D空间特征的第一集。

在一个实施例中,第一成像相机包括具有多行像素传感器的滚动快门成像相机,接收第一图像数据流包括接收由滚动快门成像相机捕获的逐行图像数据流,由此第一图像帧的部分包括滚动快门成像相机的一行或多行的第一集的图像数据,并且由此图像帧的下一部分包括滚动快门成像相机的一行或多行的第二集的图像数据。方法还可以包括:在第一处理器接收由电子设备的第二成像相机捕获的第二图像数据流,第二图像数据流表示第二图像帧。方法进一步可以包括:在第一处理器确定针对第二图像帧的一个或多个2D空间特征的第二集,并且向第二处理器流式传输表示一个或多个2D空间特征的第二集的第二2D空间特征数据。

依照本公开的又一方面,电子设备包括深度传感器,深度传感器包括用于投射调制光图案的调制光投射器和用于捕获调制光图案的反射的第一成像相机。电子设备进一步包括控制器,用于响应于至少一个触发事件,选择性地修改调制光投射器投射调制光图案的频率、强度和持续时间中的至少一个。电子设备进一步可以包括环境光传感器,其中至少一个触发事件包括由环境光传感器检测的环境光的改变。响应于环境光降至第一阈值以下,控制器可以增加投射的调制光图案的频率、强度和持续时间中的至少一个,并且响应于环境光升至第二阈值以上,控制器可以减少投射的调制光图案的频率、强度和持续时间中的至少一个。至少一个触发事件可以包括定时器的推移。

至少一个触发事件可以包括电子设备位于先前未遇到的环境,其中响应于电子设备位于先前未遇到的环境,控制器可以增加调制光图案的投射的频率、强度和持续时间中的至少一个。电子设备进一步可以包括用于标识电子设备的粗定位的无线信号接收器,无线信号接收器包括全球定位系统接收器、无线蜂窝接收器和无线局域网接收器中的至少一个。基于由无线信号接收器确定的粗定位,控制器可以确定电子设备处于先前未遇到的环境。电子设备进一步可以包括用于捕获电子设备的本地环境的图像的第二成像相机。基于从图像确定的一个或多个空间特征和由调制光图案的反射表示的深度数据,控制器可以为电子设备处的当前环境编目录。控制器还可以基于编目录的当前环境来确定电子设备处于先前未遇到的环境。

在至少一个实施例中,电子设备进一步包括用于捕获电子设备的本地环境的图像的第二成像相机。基于本地环境电子设备的图像,并且基于由调制光图案的反射表示的深度数据,控制器可以确定一个或多个空间特征,并且至少一个触发事件包括确定空间特征中的一个或多个空间特征是先前未遇到的空间特征。进一步地,至少一个触发事件可以包括检测到电子设备的运动高于阈值,并且响应于检测到高于阈值的运动,控制器可以增加投射的调制光图案的频率、强度和持续时间中的至少一个。

在一个实施例中,电子设备进一步包括用于捕获电子设备的环境的图像的第二成像相机,并且至少一个触发事件包括从捕获的图像检测高于阈值的运动。响应于检测到高于阈值的运动,控制器可以增加投射的调制光图案的频率、强度和持续时间中的至少一个。在一个实施例中,第二成像相机捕获电子设备的环境的图像,并且控制器阻止显示由第二成像相机与调制光投射器投射调制光图案并发捕获的图像。

依照本公开的另一方面,方法包括:使用电子设备的调制光投射器投射调制光图案,使用成像相机捕获投射的调制光图案的反射,并且响应于至少一个触发事件,控制调制光投射器选择性地修改调制光图案的投射的频率、强度和持续时间中的至少一个。至少一个触发事件可以包括以下项中的至少一个:环境照明的改变;经由电子设备的第二成像相机检测高于阈值的运动;以及确定电子设备处于先前未遇到的环境。方法可以进一步包括:捕获电子设备的环境的至少一个图像,并且基于至少一个图像来确定至少一个空间特征,其中至少一个触发事件包括确定至少一个空间特征是先前未遇到的空间特征。方法可以进一步包括阻止在调制光投射器投射调制光图案的同时在电子设备显示由电子设备的成像相机捕获的图像。

依照本公开的又一方面,电子设备包括第一成像相机、用于至少投射调制光图案的调制光投射器、以及用于检测电子设备的环境光条件的环境光传感器。方法进一步包括控制器,用于响应于环境光条件来控制调制光投射器投射调制光图案的频率、强度和持续时间中的至少一个。在一个实施例中,响应于环境光条件小于第一阈值,控制器增加投射的调制光图案的频率、强度和持续时间中的至少一个,并且响应于环境光条件大于第二阈值,控制器减少投射的调制光图案的频率、强度和持续时间中的至少一个。第一阈值和第二阈值可以包括同一阈值。响应于确定电子设备处于先前遇到的环境,控制器可以减少调制光图案的投射的频率、强度和持续时间中的至少一个。

电子设备可以进一步包括第二成像相机和深度传感器,深度传感器包括调制光投射器以及第一成像相机和第二成像相机中的至少一个。响应于确定环境光条件大于阈值,电子设备可以使用来自第一成像相机的图像数据和来自第二成像相机的图像数据来确定针对检测的空间特征的深度数据。响应于环境光条件小于阈值,电子设备可以使用由第一成像相机或第二成像相机之一捕获的调制光图案的反射来确定针对检测的空间特征的深度数据。

依照本公开的又一方面,一种用于控制电子设备的方法,包括:使用电子设备的深度传感器的调制光投射器投射调制光图案;使用深度传感器的第一成像相机至少捕获所述调制光图案的反射;以及响应于检测到高于指定阈值的电子设备的运动,选择性地增加投射的所述调制光图案的频率、强度和持续时间中的至少一个。

依照本公开的又一方面,一种用于控制电子设备的方法,包括:使用电子设备的深度传感器的调制光投射器投射调制光图案;使用深度传感器的第一成像相机至少捕获所述调制光图案的反射;使用电子设备的第二成像相机捕获所述电子设备的环境的图像;以及响应于检测到高于指定阈值的捕获的图像中对象的运动,增加投射的所述调制光图案的频率、强度和持续时间中的至少一个。

依照本公开的又一方面,一种用于控制电子设备的方法,包括:使用电子设备的调制光投射器至少投射调制光图案;使用电子设备的环境光传感器检测所述电子设备的环境光条件;以及响应于由所述环境光传感器检测到的所述环境光的改变,控制所述调制光投射器投射所述调制光图案的频率、强度和持续时间中的至少一个,其中,响应于所述环境光下降至低于第一阈值,增加投射的所述调制光图案的所述频率、所述强度和所述持续时间中的至少一个;以及响应于所述环境光上升至高于第二阈值,减少投射的所述调制光图案的所述频率、所述强度和所述持续时间中的至少一个。

上面描述的许多发明功能和许多发明原理非常适用于具有或以软件程序或指令以及诸如专用IC(ASIC)之类的集成电路(IC)的实施方式。预期的是,当由本文中公开的概念和原理引导时,普通技术人员(尽管由例如可用时间、当前技术和经济上的考虑激励的可能显著的努力和许多设计选择)将容易地能够以最少的实验生成这样的软件指令和程序和IC。因此,为了简洁和最小化模糊根据本公开的原理和概念的任何风险,对这样的软件和IC的进一步讨论(如果有的话)将限于关于优选实施例内的原理和概念的基本要点。

在本文档中,诸如第一和第二等之类的关系术语可以仅用于区分一个实体或动作与另一实体或动作,而不一定要求或暗指在这样的实体或动作之间的任何实际的这样的关系或顺序。术语“包括”或其任何其它变型旨在于涵盖非排他性包含,使得包括元件列表的处理、方法、物品或装置不只包括那些元件,而是可以包括未明确列出或这样的处理、方法、物品或装置所固有的其它元件。在没有更多约束的情况下,在“包括…”后的元件不排除在包括该元件的处理、方法、物品或装置中存在附加的完全相同的元件。如本文中使用的术语“另一”被定义为至少第二或更多。如本文中使用的术语“包含”和/或“具有”被定义为包括。如本文中参考电光技术所使用的术语“耦合”被定义为连接,虽然不一定直接地,并且不一定机械地。如本文中使用的术语“程序”被定义为设计用于执行在计算机系统上的指令序列。“程序”或“计算机程序”可以包括子例程、函数、过程、对象方法、对象实施方式、可执行应用、小应用程序、小服务程序、源代码、目标代码、共享库/动态加载库和/或设计用于执行在计算机系统上的其它指令序列。

本说明书和附图应当被视为仅仅是示例,并且据此本公开的范围旨在于仅由所附权利要求及其等同物来限定。注意,并不要求上面在一般性描述中所描述的所有活动或元件,可以不要求特定活动或设备的一部分,并且除了所描述的那些,可以执行一个或多个其它活动,或者可以包括一个或多个其它元件。再进一步地,列出活动的顺序不一定是它们执行的顺序。除非另有规定,上面所描绘的流程图的步骤可以按任何顺序,并且根据实施方式,可以省略、重复和/或添加步骤。还有,已经参考具体实施例描述了概念。然而,本领域普通技术人员理解,可以做出各种修改和改变,而不脱离如所附权利要求中所阐述的本公开的范围。据此,说明书和附图要在说明性而非限制性的意义上来看待,并且所有这样的修改旨在于包括在本公开的范围内。

上面已经关于具体实施例描述了益处、其它优点和问题的解决方案。然而,益处、优点、问题的解决方案、以及其可以使得任何益处、优点或解决方案发生或变得更为显著的任何(多个)特征不应被解释为任何或所有权利要求的关键的、必需的或基本的特征。

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