基于影像和非图像传感器数据的电子设备姿态识别的制作方法

文档序号:14943311发布日期:2018-07-13 21:40阅读:334来源:国知局

本公开一般地涉及影像(imagery)捕获和处理,并且更具体地涉及使用捕获影像的机器视觉。



背景技术:

机器视觉和显示技术(诸如同步定位和映射(slam)、增强现实(ar)和虚拟现实(vr))常常依靠通过对由设备捕获的局部环境的影像的分析来识别设备的局部环境内的对象。为了支持这些技术,设备经常包括硬件来识别设备的姿态(位置和定向)。然而,用于识别设备姿态的常规技术通常花费相当多的时间,从而限制机器视觉技术的实用性和有效性。例如,在识别设备姿态时的相对较长的延迟可导致设备的实际姿态与所显示的ar或vr内容之间的不匹配。进而,此不匹配可使设备的用户经历迷失方向或不适。

附图说明

本领域的技术人员通过参考附图可以更好地理解本公开,并且其许多特征和优点对于本领域的技术人员而言变得显而易见。在不同的附图中使用相同的附图标记指示类似或相同的项。

图1是图示根据本公开的至少一个实施例的被配置成使用基于非图像传感器数据以第一速率生成的姿态信息和使用图像传感器以第二较慢的速率生成的姿态信息来估计局部环境中的电子设备的姿态的电子设备的图。

图2是图示根据本公开的至少一个实施例的基于以相对较快的速率收集的非图像传感器数据和基于图像传感器数据以较慢的速率生成的姿态信息的组合来估计电子设备的姿态的图1的电子设备的一部分的图。

图3是图示根据本公开的至少一个实施例的基于非图像传感器数据的估计姿态集合使用基于图像传感器数据生成的估计姿态的空间平滑的图。

图4是图示根据本公开的至少一个实施例的沿着选定轴线的估计姿态集合的空间平滑的图。

图5是图示通过将基于非图像传感器数据的估计姿态快照(snap)到基于图像传感器数据的对应估计姿态的估计姿态集合的空间平滑的图。

图6是图示根据本公开的至少一个实施例的用于使电子设备的估计姿态空间平滑的电子设备的处理系统的框图。

图7是图示根据本公开的至少一个实施例的电子设备基于图像传感器数据和非图像传感器数据使电子设备的估计姿态集合空间平滑的操作的流程图。

具体实施方式

以下描述旨在通过提供许多特定实施例和细节来传达对本公开的彻底理解,所述特定实施例和细节涉及基于对电子设备的局部环境中的对象的基于图像的识别来确定电子设备的相对位置或相对定向。然而,应理解的是,本公开不限于仅为示例的这些特定实施例和细节,并且本公开的范围因此旨在仅由以下权利要求及其等同物来限定。应进一步理解的是,鉴于已知系统和方法,本领域的普通技术人员将领会本公开由于其预定目的和好处在任何数目的替代实施例中的使用取决于特定设计和其它需要。

图1-7图示用于估计局部环境内的电子设备的姿态以便支持基于定位的功能性的各种技术,所述基于定位的功能性(诸如增强现实(ar)功能性、虚拟现实(vr)功能性、视觉定位/测距或其它同步定位和映射(slam)功能性等)。术语“姿态”在本文中用于指代位置(也被称为定位)和定向(也被称为视点)中的任何一个或两者。在一些实施例中,电子设备包括一个或多个成像传感器(例如,成像相机)并且包括一个或多个非图像传感器,诸如惯性测量单元(imu),所述imu可提供指示电子设备的姿态的信息。在至少一个实施例中,电子设备基于如下姿态信息的两个独立源来估计其姿态:基于由非图像传感器生成的非视觉信息以相对较高的速率生成的姿态信息(被称为“非视觉姿态信息”)以及基于由一个或多个成像传感器捕获的影像以相对较低的速率生成的姿态信息(被称为“视觉姿态信息”)(为了描述的目的被称为“视觉姿态信息”)。视觉姿态信息通常提供电子设备处的更准确或精细的姿态信息,但是一般地未被足够快地利用基于定位的功能性的生成所述视觉姿态信息以支持令人满意的用户体验。相反,非视觉姿态信息被快速地生成的但是可能不够准确以支持令人满意的用户体验。因此,为了实现高姿态估计速率和高姿态估计准确性,电子设备基于非视觉姿态信息以高速率调整姿态估计,并且以较低的速率基于视觉姿态信息使姿态估计空间平滑。

为了图示,在至少一个实施例中电子设备基于视觉姿态信息、非视觉姿态信息或其组合来识别初始姿态。当设备的姿态由于例如用户移动而改变时,非图像传感器生成指示姿态变化的非视觉姿态信息。基于此非视觉姿态信息,电子设备调整估计姿态。然而,非视觉姿态信息方面的不精确性可随着时间的推移而导致估计姿态方面的错误或“漂移”,这进而导致电子设备的基于定位的功能性方面的错误。例如,视觉姿态信息方面的错误可导致vr或ar应用中显示的对象、环境或覆盖的不对准。为了减少或者消除此类错误,电子设备通过基于视觉姿态信息周期性地调整估计姿态来实现漂移校正过程。例如,视觉姿态信息可以指示如基于最近的非视觉姿态信息所生成的电子设备的最近的估计姿态沿着电子设备的参考框架的特定轴线是不正确的。作为响应,电子设备沿着此轴线调整最近的估计姿态,从而改进估计姿态的准确性。以这种方式,电子设备基于视觉姿态信息使估计姿态空间平滑,从而实现改进的姿态准确性和高速率姿态识别。

图1图示根据本公开的至少一个实施例的被配置成使用图像和非图像传感器数据来支持基于定位的功能性(诸如slam、vr或ar)的电子设备100。电子设备100可包括用户便携式移动设备,诸如平板计算机、支持计算的蜂窝电话(例如,“智能电话”)、笔记本计算机、个人数字助理(pda)、游戏系统遥控器、电视遥控器等。在其它实施例中,电子设备100可包括另一类型的移动设备,诸如汽车、遥控无人机或其它机载设备等。为了便于图示,一般地在本文中在移动设备(诸如平板计算机或智能电话)的示例场境中对电子设备100进行描述;然而,电子设备100不限于这些示例实施方式。

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

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

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

电子设备100也可以依靠非图像姿态信息以用于姿态检测。此非图像姿态信息可电子设备100经由一个或多个非图像传感器(图1中未示出)(诸如包括一个或多个陀螺仪、磁强计和加速度计的imu)来获得。在至少一个实施例中,可采用imu来生成沿着多条运动轴线(包括平移轴线,被表达为电子设备100的参考框架的x、y和z轴线)和旋转轴线(被表达为电子设备100的参考框架的横摇、俯仰和偏航轴线)的姿态信息。非图像传感器也可包括环境光传感器和定位传感器(诸如gps传感器)或可用于识别电子设备100的定位的其它传感器,诸如一个或多个无线无线电、蜂窝无线电等。非图像传感器也可包括用户接口组件,诸如键区(例如,触摸屏或键盘)、麦克风、鼠标等。

在操作中,电子设备100使用图像传感器数据和非图像传感器数据来估计电子设备100的姿态。在至少一个实施例中,在复位之后电子设备100基于地理定位数据、其它非视觉传感器数据、如在下面进一步描述的视觉传感器数据或其组合来确定初始姿态。随着电子设备100的姿态改变,非视觉传感器以相对较高的速率生成反映设备姿态变化的非视觉姿态信息。同时,视觉传感器捕获也反映设备姿态变化的图像。基于此非视觉和视觉姿态信息,电子设备100更新初始姿态以反映设备的当前姿态。

电子设备100基于对由成像相机114、116和118中的一个或多个捕获的图像数据中的空间特征的检测来生成视觉姿态信息。为了图示,在所描绘的图1的示例中,局部环境112包括包括有三个拐角124、126和128、底板130及电源插座132的办公大楼的走廊。用户110已定位和定向了电子设备100,使得面向前方成像相机114和116捕获分别包括走廊的这些空间特征的宽角成像相机图像数据134和窄角成像相机图像数据136。在此示例中,深度传感器120也捕获反映这些空间特征相对于电子设备100的当前姿态的相对距离的深度数据138。另外,面向用户成像相机118捕获表示用户110的头部122的当前姿态的头部跟踪数据140的图像数据。非图像传感器数据142(诸如来自imu的读数)也由电子设备100在其当前姿态下收集。

根据此输入数据,电子设备100可在没有来自外部源的显式绝对定位信息的情况下确定其相对姿态的估计。为了图示,电子设备100可执行对宽角成像相机图像数据134和窄角成像相机图像数据136的分析以确定电子设备100与拐角124、126、128之间的距离。可替选地,从深度传感器120获得的深度数据138可用于确定空间特征的距离。根据这些距离,电子设备100可对它在由局部环境112表示的办公室中的相对位置进行三角测量或者以其它方式推测。作为另一示例,电子设备100可识别存在于图像数据134和136的捕获的图像集合中的空间特征,确定到这些空间特征的初始距离,然后在后续捕获的影像中跟踪这些空间特征的位置和距离变化以在自由参考框架中确定电子设备100的姿态变化。在此方法中,可使用某些非图像传感器数据(诸如陀螺仪数据或加速度计数据)来使在一个图像中观察到的空间特征与在后续图像中观察到的空间特征相关联。

电子设备100为所捕获的影像中识别的空间特征生成特征描述符。所生成的特征描述符中的每一个描述经识别的空间特征中的一个或多个的定向、重力方向、尺度和其它方面。所生成的特征描述符与所存储的描述符(出于描述的目的被称为“已知特征描述符”)的集合相比较,所存储的描述符各自识别先前识别的空间特征及其对应的姿态。在至少一个实施例中,已知特征描述符中的每一个是先前已经由电子设备100或另一电子设备生成的描述符,并且其姿态由电子设备100或另一电子设备最后建立。已知特征描述符可被存储在电子设备100处、在远程服务器处或其它存储设备处,或在其组合处。因此,可在电子设备100处、在远程服务器处或在其组合处执行所生成的特征描述符的比较。

在至少一个实施例中,通过将所生成的特征描述符的每个方面(例如,对应特征的定向、对应特征的尺度等)与已知特征描述符的对应方面相比较并且确定指示被比较特征之间的不同的误差值来将所生成的特征描述符与已知特征描述符相比较的。因此,例如,如果通过矢量a来识别所生成的特征描述符中的特征的定向,并且通过矢量b来识别已知特征描述符中的特征的定向,则电子设备100可通过计算向量a和b之间的差异来识别特征描述符的定向方面的误差值。可根据指定的统计技术(诸如最小平方技术)来组合误差值,以识别被比较的每个已知特征描述符的组合误差值,并且匹配已知特征描述符识别为具有最小组合误差值的已知特征描述符。

已知特征描述符中的每一个包括识别对应空间特征的姿态(例如,定向或视点)的一个或多个字段。因此,已知特征描述符可包括在指定的分辨率(例如1cm)内指示空间特征在指定的坐标系统(例如,表示地球的地理坐标系统)内的定位的姿态信息、空间特征的视点的定向、视点离特征的距离等。所生成的特征描述符与已知特征描述符相比较以识别一个或多个匹配的已知特征描述符。经匹配的已知特征描述符然后用于识别电子设备100的姿态。

在一些场景中,匹配过程将识别与对应生成的特征描述符匹配的多个已知特征描述符,从而指示在电子设备100的局部环境中存在先前已被识别的多个特征。匹配已知特征描述符的对应姿态可以变化,指示电子设备100不在通过匹配已知特征描述符指示的姿态中的特定姿态中。因此,电子设备100可以通过使用常规的插值技术在通过匹配已知特征描述符指示的姿态之间对其姿态进行插值来细化其估计姿态。

在至少一个实施例中,所生成的特征描述符不与所有可用的已知特征描述符相比较,而是替代地与基于电子设备100的估计姿态而识别的可用的已知特征描述符的子集相比较。例如,可将已知特征描述符的子集识别为在所生成的特征描述符中的一个的姿态的指定距离内的那些特征描述符。这限制用于匹配的已知特征描述符的数目,从而加速匹配过程。

在至少一个实施例中,用于基于捕获的影像识别特征的处理和通信开销使得电子设备100可以相对较低的速率(诸如10hz或更少)生成视觉姿态信息,其中所述速率指示每秒生成的姿态的估计的数目。对于某个基于定位的功能性来说此速率不足以支持令人满意的用户体验。和视觉姿态信息对比,电子设备100可以相对较高的速率(诸如1khz或更大)基于imu数据和其它非视觉信息生成非视觉姿态信息。因此,为了在维持准确性度的同时实现高姿态识别率,电子设备100采用非视觉姿态信息和视觉姿态信息两者来更新其当前姿态。

为了图示,电子设备100可生成并更新信息的两个不同的数据结构(被称为帧)以估计其姿态:可视化帧和估计器帧,其中每种类型的帧基于姿态信息的不同源存储电子设备的姿态的当前估计。即,如上所述,基于由imu生成的姿态信息频繁地更新可视化帧,同时基于对捕获的影像中的特征的识别不太频繁地更新估计器帧。电子设备100周期性地将估计器帧与可视化帧相比较并且调整可视化帧,使得它与估计器帧匹配或者更接近于估计器帧,从而改进可视化帧的准确性。可视化帧因此基于频繁地更新的非视觉姿态信息和不太频繁地更新的非视觉姿态信息来反映电子设备100的估计姿态。如在此进一步描述的,通过可视化帧反映的估计姿态由电子设备100采用来支持基于定位的功能性。

为了经由示例图示,可视化帧和估计器帧可各自包括指示电子设备100沿着参考框架中的六条轴线中的每一条的估计位置的信息,所述六条轴线反映电子设备100的六个自由度(6dof),诸如x、y和z平移轴线以及横摇、俯仰和偏航旋转轴线。imu和其它非视觉传感器以相对较高的速率周期性地生成指示对设备沿着这些轴线的位置的更新的姿态信息,并且作为响应,电子设备100更新可视化帧。同时,如上所述,电子设备100基于通过在捕获的图像和对应的非图像数据中识别的特征所指示的任何姿态变化来调整估计器帧。周期性地,诸如以指定的间隔或者响应于估计器帧的变化,电子设备100将估计器帧与可视化帧相比较并且调整可视化帧以与估计器帧更紧密地匹配,从而改进可视化帧的准确性。出于描述的目的,调整可视化帧以与估计器帧更紧密地匹配被称为“将”可视化帧“吸引”到估计器帧。

电子设备100可以各种方式将可视化帧吸引到估计器帧。例如,在至少一个实施例中电子设备100调整可视化帧,使得它沿着参考框架中的所有六条轴线与估计器帧匹配(也就是说,使得可视化帧的x、y、z、俯仰、横摇和偏航值与估计器帧的对应值匹配)。特别地,可视化帧和估计器帧各自利用六条轴线中的每一条的坐标值来表示电子设备100的估计姿态,并且电子设备100确保可视化帧的值与估计器帧的对应值匹配。出于描述的目的,这种调整被称为“将”可视化帧“快照(snap)”到估计器帧。然而,在一些场景中将可视化帧快照到估计器帧可在采用设备姿态的基于定位的功能性中导致可感知的不连续,诸如vr环境中的对象似乎从一个定位“跳”到另一定位。因此,在一些实施例中不是将可视化帧快照到估计器帧,而是电子设备100通过沿着不同的轴线缩放可视化帧来将可视化帧吸引到估计器帧。这使得可视化帧的值更接近于估计帧的对应值,而不必使那些值相等。例如,响应于确定可视化帧沿着y轴线与估计器帧不同(也就是说,可视化帧的y坐标与估计器帧的y坐标不同),电子设备100将可视化帧的y坐标调整指定的百分比,诸如百分之五,这不可能对电子设备100的用户导致可感知的不连续。在一些实施例中电子设备100将可视化帧的调整量固定住到指定的最大值以降低调整对用户而言将可感知的似然率。例如,响应于识别估计器帧沿着横摇轴线与可视化帧相差超过指定的最大阈值,电子设备100可沿着横摇轴线将可视化帧调整所指定的最大值。

在至少一个实施例中,电子设备100不沿着参考框架的所有六条轴线将可视化帧吸引到估计器帧,而是替代地选择那些轴线的子集以用于吸引。可基于各种准则中的任一个或全部(诸如电子设备100的用户将沿着轴线的子集感知到姿态错误的预测似然率)来选择轴线的子集。例如,在一些场景中用户很可能对沿着z轴线的不准确更敏感,因为这代表用户感知的视野中的不准确。因此,电子设备100可沿着z轴线将可视化帧吸引到估计器帧并且避免沿着另一轴线(诸如x轴线或俯仰轴线)将可视化帧吸引到估计器帧。这允许电子设备100简单地执行吸引过程,既加速吸引又减少可被用户感知的姿态变化量,从而改进用户体验。在一些实施例中,电子设备100基于沿着每条轴线的可视化帧与估计器帧之间的差异量来选择一条或多条轴线以用于吸引。因此,例如,电子设备100可选择在帧之间具有最大差异的那些轴线以用于吸引以便为可视化帧提供准确性的最大改进。

在一些场景中,姿态错误对基于定位的功能性的影响可取决于电子设备100的运动程度。因此,例如,电子设备的姿态沿着电子设备100的参考框架的给定轴线移动得越快,沿着该轴线的姿态错误将对基于定位的功能性具有有害影响的似然率越大。因此,在一些实施例中,电子设备100选择它沿着来检测超过阈值的运动程度的那些轴线以用于将可视化帧吸引到估计器帧。例如,连续的估计姿态可以指示电子设备100沿着x轴线和俯仰轴线的运动程度超过阈值量,但是沿着其它轴线的运动程度小于阈值量。作为响应,电子设备100仅沿着x轴线和俯仰轴线而不是其它轴线将可视化帧吸引到估计器帧。

即便当设备是固定的时,由imu提供的非视觉姿态信息也可指示电子设备100的姿态的小变化。基于此类变化来更新可视化帧能导致通过设备姿态所支持的基于定位的功能性中的错误。因此,电子设备100可“固定住”可视化帧,使得它仅在由imu指示的位置变化超过阈值时才更新。也就是说,如果由imu指示的可视化帧与估计姿态之间的差异小于阈值量,则电子设备100可避免更新可视化帧。另外,响应于确定imu姿态信息或视觉姿态信息指示电子设备100是固定的,电子设备100可抑制或者防止将可视化帧吸引到估计器帧。这防止吸引导致可视化帧中的变化,所述变化能被感知为电子设备100的基于定位的功能性中的运动。

电子设备100基于可视化帧识别其姿态,并且使用该姿态来启用或者增强其基于定位的功能性。例如,可采用姿态来识别表示已知接近于精细姿态的空间特征的简化表示的网格或图像。可将网格或图像馈送给在电子设备100处执行的应用,以使得能实现增强现实或其它基于定位的功能性。

图2是根据本公开的至少一个实施例的基于视觉姿态信息和非视觉姿态信息来识别设备的姿态的电子设备100的一部分的框图。在所图示的示例中,电子设备100包括imu230,所述imu230包括周期性地(例如,根据管理imu230的操作的时钟信号)生成指示电子设备100的姿态的姿态信息的一个或多个陀螺仪、磁强计和加速度计。在至少一个实施例中,imu230是诸如boschsensortecbmx055imu的设备,所述设备可生成指示沿着电子设备100的6dof参考框架的6条不同的轴线中的任一条的位置和定向的姿态信息。在所图示的示例中,imu230以如下2种不同的速率生成姿态信息:1khz速率和10hz速率。在至少一个实施例中,在较慢的速率下的姿态估计是通过电子设备以较快的速率十中抽一或以其它方式周期性地选择姿态估计来生成的。

在所描绘的图2的示例中,电子设备100也包括两个姿态估计模块:基于图像的姿态估计器232和基于空间平滑的姿态估计器235。在至少一个实施例中,这些模块表示在电子设备100的一个或多个处理器处执行的软件模块以及在这些软件模块的执行中支持的硬件。基于图像的姿态估计器232基于影像数据(诸如地理定位数据(例如,gps)的地图数据)和由imu230以10hz速率生成的姿态信息来生成指示电子设备100的估计姿态的姿态信息。在至少一个实施例中,基于图像的姿态估计器232通过像上面关于图1所描述的那样识别所捕获的图像中的空间特征来生成基于视觉的姿态信息。由于识别空间特征所需要的相对高的开销量,基于图像的姿态估计器232以10hz的相对较慢的速率生成基于视觉的姿态信息。

空间平滑姿态估计器235生成在图2处作为可视化帧240和估计器帧241图示的至少两个估计姿态。在至少一个实施例中,空间平滑姿态估计器235响应于正由imu230提供的新的非视觉姿态信息而更新可视化帧。因此,空间平滑姿态估计器235相对频繁地(多达imu230提供非视觉姿态信息的1khz速率)更新可视化帧。由于更新的频率,可视化帧随着时间的推移而为电子设备100提供空间平滑估计姿态。为了改进可视化帧的准确性,空间平滑姿态估计器235采用估计器帧241。特别地,空间平滑姿态估计器235基于由基于图像的姿态估计器232生成的基于视觉的姿态信息来更新估计器帧241,并且周期性地将可视化帧240吸引到估计器帧241。

空间平滑姿态估计器235的示例操作通过图3来图示,图3描绘与电子设备100处的复位或其它初始化事件相对应的电子设备100的姿态301,并且进一步图示与电子设备100在姿态301之后随着设备随着时间的推移而移动的姿态的序列相对应的姿态302-304。另外图示的是电子设备100的姿态的参考框架320。为了描述的简单,参考框架320被图示并描述为二维参考框架。然而,将领会的是,在其它实施例中参考框架320可以是三维参考框架,或指示位置和定向两者的更高维参考框架,诸如六自由度(dof)参考框架。

在所描绘的示例中,响应于复位事件空间平滑姿态估计器235识别与设备的姿态301相对应的估计姿态321。在至少一个实施例中,此初始估计姿态321是由基于图像的姿态估计器232(图2)基于由电子设备100捕获的影像、由imu230捕获的位置信息以及诸如gps数据的地图信息的组合来生成的。空间平滑姿态估计器235将此初始估计姿态记录为可视化帧240的初始状态。当电子设备100被从姿态301移动到姿态302时,imu230提供指示姿态变化的非视觉姿态信息,并且电子设备100基于该姿态信息来更新可视化帧240,使得可视化帧240反映与姿态302相对应的估计姿态322。

类似地,当电子设备100被从姿态302移动到姿态303时,空间平滑姿态估计器235基于由imu230提供的对应姿态信息来更新可视化帧240,使得可视化帧240反映估计姿态323。此外,如上所述,基于图像的姿态估计器232根据捕获的影像、由imu提供的姿态信息和地图信息的组合来基于对特征的识别同步生成基于视觉的姿态信息。基于此基于视觉的姿态信息,空间平滑姿态估计器235更新估计器帧241,使得它反映估计姿态330。如图3中所图示,估计姿态330与估计姿态323不同,指示可视化帧很可能不正确地反映电子设备100的姿态303。因此,空间平滑姿态估计器235将可视化帧240吸引到估计器帧241,使得可视化帧240对应于与姿态303更紧密地匹配的估计姿态331。在所图示的示例中,可视化帧240未被快照到估计器帧241,而是替代地被沿着参考框架320的两个轴线朝向估计器帧241缩放。此缩放降低将可视化帧240吸引到估计器帧241将在电子设备100处对于基于定位的功能性的用户而言可感知的似然率。

当电子设备100移动到姿态304和305时,空间平滑姿态估计器235基于从imu230接收到的姿态信息将可视化帧240分别从估计姿态331更新到估计姿态324和325。因此,在所图示的示例中,空间平滑姿态估计器235基于由imu230以相对较高的速率提供的姿态信息相对频繁地更新如通过可视化帧240所反映的设备的估计姿态。不太频繁地,当估计器帧241由基于图像的姿态估计器232以相对较低的速率更新时,空间平滑姿态估计器235通过将帧240吸引到估计器帧241来使可视化帧240空间平滑。空间平滑姿态估计器235因此频繁地更新设备的估计姿态,同时仍维持估计姿态的高准确性。

在至少一个实施例中,空间平滑姿态估计器235仅沿着参考框架320的轴线的子集而非全部将可视化帧240吸引到估计器帧241。一个示例被图示在图4处,图4描绘根据本公开的至少一个实施例沿着参考框架320的y轴线将可视化帧240吸引到估计器帧241。在所图示的示例中,当可视化帧240反映估计姿态323并且估计器帧241反映估计姿态330时,空间平滑姿态估计器235仅沿着y轴线将可视化帧240吸引到估计器帧241,使得可视化帧240反映估计的姿态433。在图4的实施例中,可视化帧240未被沿着y轴线快照到估计器帧241,而是被沿着该轴线缩放。通过沿着参考框架320的轴线的仅一子集而非全部将可视化帧240吸引到估计器帧241,空间平滑姿态估计器235降低处理开销,使得可快速地实现吸引从而利用电子设备100的基于定位的功能性提供更好的用户体验。

在图5处图示的至少一个实施例中,空间平滑姿态估计器235通过将帧240快照到帧241来将可视化帧240吸引到估计器帧241。在所图示的示例中,当可视化帧240反映估计姿态323并且估计器帧241反映估计姿态330时,空间平滑姿态估计器235通过快照帧来将可视化帧240吸引到估计器帧241,使得在参考框架320中反映估计姿态的可视化帧240的值被设定为等于估计器帧241的对应值。因此,在可视化帧240已被吸引到估计器帧241之后,可视化帧240与估计姿态331相对应。将可视化帧240快照到估计器帧241改进通过可视化帧240所反映的估计姿态的准确性,并且因此为电子设备100的基于定位的功能性中的至少一些提供更好的用户体验。

图6图示根据本公开的至少一个实施例的由电子设备100实现的示例处理系统600。处理系统600包括宽角成像相机114、窄角成像相机116、面向用户成像相机118和深度传感器120。处理系统600进一步包括2d处理器602、应用处理器604、显示器控制器606、电源608、非图像传感器集合610和用户接口612。

在诸如平板计算机或智能电话的便携式用户设备实施方式中,电源608可包括电池、太阳能阵列或用于给电子设备的电子组件供电的其它便携式电源。用户接口612包括由用户操纵来向电子设备100提供用户输入的一个或多个组件,诸如触摸屏614、鼠标、键盘、麦克风616、各种按钮或开关以及各种触觉致动器618。非图像传感器集合610可包括用于提供电子设备100的非图像场境或状态的各种传感器中的任一个。此类传感器的示例包括imu和环境光传感器626,所述imu包括陀螺仪620、磁强计622和加速度计624。非图像传感器进一步可包括各种基于无线接收或传输的传感器,诸如gps接收器628、无线局域网(wlan)接口630、蜂窝接口632、对等(p2p)无线接口634和近场通信(nfc)接口636。非图像传感器也可包括用户接口612的用户输入组件,诸如触摸屏614或麦克风616。

电子设备100进一步能够访问存储与其图像处理、定位映射和定位利用过程相结合地使用的信息或元数据的各种数据储存器(datastores)。这些数据储存器可包括用于存储从由电子设备100的成像相机捕获的影像所识别的2d空间特征的元数据的2d特征数据储存器638以及用于存储使用分析或基于调制光的深度感测来从针对2d空间特征的深度感测所识别的3d特征的元数据的3d空间特征数据储存器640。为2d和3d特征而存储的元数据可包括例如用于同步目的的时间戳、空间特征被识别了的图像的图像标识符、所使用的捕获设备的标识符、校准信息等。此元数据进一步可包括同步与包含经识别的空间特征的图像一起的非图像传感器数据,诸如gps、wi-fi或其它无线电信息、时刻信息、天气状况信息(其影响照明)等。数据储存器进一步可包括存储基于slam的信息或ar信息的slam/ar数据储存器642,所述基于slam的信息诸如已经由电子设备100探索的局部环境112(图1)的区域的映射信息,所述ar信息诸如感兴趣对象在局部环境112中的相对定位的基于cad的表示。数据储存器638和640也可存储已知特征描述符和基于在电子设备100处捕获的影像而生成的特征描述符。数据储存器可以在电子设备100本地,诸如在硬盘驱动器、固态存储器或可移动存储介质(未图示)上,数据储存器可以位于远程并且可以经由例如电子设备100的无线接口中的一个或多个访问,或者数据储存器可以作为本地和远程数据存储部的组合被实现。

在所描绘的实施方式中,处理系统600采用两个处理器:被配置成从由电子设备100的成像相机捕获的可见光影像和深度传感器影像中高效地识别2d空间特征的2d处理器602;以及被配置成从2d空间特征中高效地识别3d空间特征并且高效地提供基于定位的功能性(诸如视觉测距或其它slam功能性、ar功能性等)的应用处理器604。然而,在其它实施例中,可以在单个处理器中实现所描述的2d处理器602和应用处理器604的功能性,或者多于两个处理器一起可以实现所描述的功能性。2d处理器602可作为例如单核或多核图形处理单元(gpu)被实现,并且应用处理器604可作为例如gpu或者单核或多核中央处理单元(cpu)被实现。

2d处理器602耦合到宽角成像相机114、窄角成像相机116和面向用户成像相机118,以便在一个或多个像素行缓冲器644中接收由成像相机捕获的图像数据。在一个实施例中,2d处理器602包括用于每个成像相机的接口和像素行缓冲器644以便能够并行地从每个成像相机接收图像数据。在另一实施例中,2d处理器602包括单个接口和像素行缓冲器644,并且因此2d处理器602在成像相机之间多路复用。

2d处理器602被配置成处理来自成像相机的所捕获的图像数据以识别存在于图像数据中的2d空间特征。在一些实施例中,2d处理器602实现为此任务专门地设计的硬件配置。在其它实施例中,2d处理器602包括通过执行被配置成实现2d空间特征检测过程的软件程序来提供2d空间特征检测的更通用的处理器架构。2d处理器602也可以实现用于此目的的专门硬件和专门软件的组合。如上所述,各种众所周知的2d空间特征检测或提取算法中的任一种均可以2d处理器602来实现。2d处理器602将和经识别的2d空间特征有关的元数据和其它信息存储到2d特征数据储存器638。

在一个实施例中,2d处理器602被配置成实现基于图像的姿态估计器232以使用各种众所周知的头部跟踪算法中的任一种来分析由面向用户成像相机118捕获的影像以跟踪用户的头部的当前姿态(例如,当前定位)。在所描绘的示例中,2d处理器602将头部跟踪信息提供给显示器控制器606,所述显示器控制器606进而被配置成调整所显示的影像以对用户的如在用户的头部的姿态变化中所反映的视图透视的变化起反应。在另一实施例中,2d处理器602将头部跟踪信息提供给应用处理器604,所述应用处理器604进而在显示数据被提供给显示器控制器606之前修改显示数据以反映更新的视图透视。

2d处理器602也作为控制器,所述控制器在其在确定在所捕获的局部环境112的影像中识别的空间特征的深度数据时的使用中操作调制光投影仪119。在某些条件(诸如相对明亮设定(如使用环境光传感器626感测的))下,2d处理器602可以使用对由宽角成像相机114和窄角成像相机116同步捕获的影像的图像分析来确定存在于所捕获的图像中的空间特征的深度数据。在诸如相对较低照明条件的其它条件下,2d处理器602可以切换到使用深度传感器120(图1)来确定此深度数据。在其它实施例中,处理系统600实现与2d处理器602分离的控制器(未图示)以控制调制光投影仪119的操作。

如上所述,深度传感器120依靠由调制光投影仪119将调制光图案投影到局部环境中并且依靠由成像相机中的一个或多个从其捕获调制光图案的反射。因此,2d处理器602可以使用面向前方成像相机114和116中的一个或两个来捕获调制光图案的投影的反射并且处理所反射的调制光图案的作为结果的影像以确定所反射的调制光图案中表示的对应空间特征的深度。为了使深度读数与对应的2d空间特征匹配,2d处理器602可对深度影像执行2d空间特征分析以确定2d空间特征及其相对深度,然后试图使2d空间特征与在所反射的调制光影像被捕获的同时或接近同时捕获的可见光影像中识别的对应空间特征相匹配。在另一实施例中,2d处理器602可捕获可见光图像,并且此后快速地控制调制光投影仪119以投影调制光图案并捕获反射的调制光图像。2d处理器602然后可从所反射的调制光图像开发可见光图像的深度图,因为它们由于可见光图像和所反射的调制光图像的同时捕获而有效地表示在相同坐标处具有相同空间特征的相同场景。

应用处理器604被配置成使用在2d特征数据储存器638中表示的2d空间特征并且使用来自非图像传感器集合610的非图像传感器信息来识别在所捕获的影像中表示的空间特征。与2d处理器602一样,应用处理器604可以被配置成通过专门硬件配置、通过执行为此过程而配置的软件或专门硬件和软件的组合来执行此过程。经识别的3d空间特征的元数据和其它信息被存储在3d特征数据储存器640中。在至少一个实施例中,应用处理器604实现空间平滑姿态估计器235(图2)(例如,执行当被执行时操纵应用处理器604以执行空间平滑姿态估计器235(图2)的操作的指令)。因此,应用处理器604可以相对较快的速率生成可视化帧240并且基于从非图像传感器集合610(例如,imu230的非图像传感器)接收到的非视觉位置信息来更新帧。此外,应用处理器604可基于通过经识别的空间特征所指示的估计姿态来以相对较慢的速率生成和更新估计器帧241,并且可像上面所描述的那样周期性地将可视化帧240吸引到估计器帧241。

应用处理器604进一步被配置成使用在3d特征数据储存器640中表示的3d空间特征并且使用如通过非图像传感器数据所表示的电子设备100的当前场境来提供slam、ar、vr和其它基于定位的功能性。当前场境可包括从例如用户接口612或经由对用户交互的分析而获得的显式或隐式用户输入。此功能性可包括基于可视化帧240来确定电子设备100的当前相对姿态。类似地,应用处理器604可使用电子设备100的位置/定向的历史以及在那些位置/定向中观察到的空间特征的历史来创建局部环境112的地图。

由应用处理器604提供的基于定位的功能性进一步可包括ar相关或vr相关功能性,所述ar相关或vr相关功能性包括基于由应用处理器604确定的当前姿态来识别并从slam/ar数据储存器642访问要作为显示器108上的图形覆盖提供的图形信息。可与由成像相机在当前姿态下捕获的影像相关联地提供此图形覆盖以用于经由显示器控制器606在显示器108处显示。显示器控制器606操作来控制显示器108(图1)以显示通过从应用处理器604接收到的显示数据所表示的影像。此外,在一些实施例中,显示器控制器606可从2d处理器602接收头部跟踪信息并且基于在所接收到的头部跟踪信息中表示的用户头部位置或眼睛位置来调整被显示的影像的视图透视。

图7图示根据本公开的至少一个实施例的估计电子设备的姿态的方法700的流程图。出于描述的目的,相对于图1-6的电子设备100处的示例实施方式对方法700进行描述。在块702处,响应于复位或其它初始化事件,电子设备100基于由诸如gps设备的地理定位设备提供的地图数据、从在电子设备处捕获的影像中识别的特征以及由imu230提供的基于非图像的位置信息中的一个或多个来识别初始设备姿态。空间平滑姿态估计器235(图2)设定可视化帧240的初始状态以反映此初始设备姿态。在块704处,空间平滑姿态估计器235从imu230接收姿态信息。信息被以相对较高的速率(诸如1至2khz)接收。在块706处,空间平滑姿态估计器235将所接收到的位置数据与可视化帧240相比较,并且识别所接收到的位置数据与可视化帧240之间的差异是否超过阈值。如果否,则空间平滑姿态估计器235确定电子设备240自接收到前一个位置数据以来尚未移动,并且方法流程移动到在下面描述的块710。

返回到块706,如果所接收到的位置数据与可视化帧240之间的差异超过阈值,则空间平滑姿态估计器235确定电子设备100已移动到新姿态。因此,方法流程进行到块708并且空间平滑姿态估计器235基于从imu230接收到的姿态信息来更新可视化帧以反映新姿态。方法流程进行到块710并且空间平滑姿态估计器235识别基于图像的姿态估计器232是否已基于从捕获的影像中识别的特征更新了估计器帧241。对估计器帧241的这些更新以相对较低的速率(诸如小于10hz)发生。如果估计器帧241尚未被更新,则空间平滑姿态估计器235避免将可视化帧240吸引到估计器帧241并且方法流程移动到在下面描述的块714。

返回块710,如上所述,如果基于图像的姿态估计器235已更新了估计器帧241,则方法流程移动到块712并且空间平滑姿态估计器235将可视化帧240吸引到估计器帧241。方法流程进行到块714并且电子设备100采用通过将可视化帧所指示的估计姿态用于基于定位的功能性,诸如支持一个或多个vr或ar应用。方法流程返回到块704,并且电子设备100继续随着电子设备100的姿态随着时间的推移而改变来随着时间的推移而更新可视化帧240和估计器帧241。

上面所描述的大部分发明功能性和许多发明原理非常适于利用或者用软件程序或指令和集成电路(ic)(诸如专用ic(asic))加以实现。预期不管通过例如可用时间、当前技术和经济考虑事项所推动的可能显著的努力和许多设计选择,普通技术人员当通过本文中所公开的构思和原理引导时,将容易地能够以最小试验生成此类软件指令和程序及ic。因此,为了简洁以及使根据本公开的原理和构思混淆的任何风险的最小化,对此类软件和ic的进一步讨论(若有的话)将限于关于优选实施例内的原理和构思的基本要素。

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

本说明书和附图仅应该被认为是示例,并且本公开的范围因此旨在仅由以下权利要求及其等同物来限定。注意的是,并非上面在一般描述中描述的所有的活动或元件都是必需的,特定活动或设备的一部分可以不是必需的,并且可以执行一个或多个另外的活动,或者包括除所描述的那些元件之外的元件。更进一步地,活动被列举的顺序不一定是它们被执行的顺序。除非另外指定否则上面所描绘的流程图的步骤可以是按照任何顺序,并且可以取决于实施方式消除、重复和/或添加步骤。另外,已经参考特定实施例对构思进行了描述。然而,本领域的普通技术人员应领会的是,可在不脱离如下面的权利要求中所阐述的本公开的范围的情况下作出各种修改和改变。

因此,本说明书和附图将在说明性而不是限制性意义上考虑,并且所有此类修改旨在被包括在本公开的范围内。

已经在上面关于特定实施例描述了有益效果、其它优点和对问题的解决方案。然而,有益效果、优点、对问题的解决方案以及可以使任何有益效果、优点或对问题的解决方案发生或者变得更明显的任何特征将不被解释为任一或所有权利要求的关键的、必需的或必要的特征。

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