基于预测器-校正器的位姿检测的制作方法

文档序号:16369241发布日期:2018-12-22 08:36阅读:107来源:国知局
基于预测器-校正器的位姿检测的制作方法

本申请案主张在2016年5月20日申请的标题为“基于预测器-校正器的位姿检测(predictor-correctorbasedposedetection)”的序号为15/161,055的美国专利申请案的优先权权益,所述美国专利申请案以引用的方式并入本文中。

本发明大体来说涉及基于计算机视觉的位姿检测,且更具体地涉及基于预测器-校正器的位姿检测。

背景技术

位置及定向(位姿)估计描述摄像机视角相对于可为已知或未知环境的校准或对准的任务。基于图像的位姿估计方法可用于估计六自由度(6dof)位姿。基于图像的位姿估计传统上需要场景的一些重建或3d模型。例如,slam(同时定位及映射)或sfm(运动结构)系统可从摄像机捕获的传入图像序列重建三维(3d)点,并用于实时构建场景的3d地图(即,slam地图)。从重建的地图,可能在当前图像帧中定位摄像机的6dof位姿。

相对于用户环境的准确6dof自定位有利于增强现实(ar)应用中的正确及视觉上令人愉悦的结果。由于ar应用程序的交互性质,定位时间直接影响ar应用程序的用户体验,因为其确定用户在可开始与ar应用程序交互之前必须等待多长时间。因此,期望利用移动装置中发现的有限处理能力快速定位移动装置,同时保持所要应用的6dof位姿的准确性。

然而,在某些情况下可能难以实现6dof位姿初始化。例如,在室外环境中捕获足够的摄像机基线以初始化slam算法是具有挑战性的。另外,slam可在具有未知比例的任意参考中提供相对位姿,这对于ar系统(例如地标的导航或标记)可能为不够的。将slam地图的局部参考与具有度量尺度的3d地图的全局参考对准的现有方法要求用户等待直到slam系统已获取足够数量的图像以初始化3d地图。初始化所需要的等待对于实时交互式ar应用程序来说并不理想。此外,某些ar系统需要摄像机的特定技术动作以在可准确地初始化slam地图以开始跟踪摄像机位姿之前获取一系列图像。

另外,将捕获的图像帧与2.5d或3d地图对准的方法可能受到估计摄像机位姿的移动传感器的相对较差的准确性的限制。例如,严格使用全球定位系统(gps)来估计用户的实际位置及观看方向的方法可能不足且使ar内容在实际用户视图中漂浮。因此,期望改进的方法。



技术实现要素:

本文中所论述的一些实施例提供改进的6dof位姿采集。在一个方面中,一种计算机实施的方法包含:创建输入图像的一或多个静态表示;从估计的6dof位姿及2.5d参考地图创建输入图像的动态表示;测量动态表示与一或多个静态表示之间的相关性误差;根据相关性误差调整估计的6dof位姿;根据经调整的6dof位姿更新动态表示;以及响应于满足输出阈值而输出经调整的6dof位姿。

在另一方面中,一种计算机可读媒体包含存储在其上用于确定图像的6dof位姿的程序代码。程序代码包含用以进行以下操作的指令:创建输入图像的一或多个静态表示;从估计的6dof位姿及2.5d参考地图创建输入图像的动态表示;测量动态表示与一或多个静态表示之间的相关性误差;根据相关性误差调整估计的6dof位姿;根据经调整的6dof位姿更新动态表示;以及响应于满足输出阈值而输出经调整的6dof位姿。

在又另一方面中,移动装置包含耦合到处理单元的存储器。存储器经调适以存储用于确定图像的6dof位姿的程序代码,且处理单元经配置以存取及执行包含在程序代码中的指令。在指令由处理单元执行时,处理单元指示设备:创建输入图像的一或多个静态表示;从估计的6dof位姿及2.5d参考地图创建输入图像的动态表示;测量动态表示与一或多个静态表示之间的相关性误差;根据相关性误差调整估计的6dof位姿;根据经调整的6dof位姿更新动态表示;以及响应于满足输出阈值而输出经调整的6dof位姿。

在进一步方面中,一种设备包含:用于创建输入图像的一或多个静态表示的装置;用于从估计的6dof位姿及2.5d参考地图创建输入图像的动态表示的装置;用于测量动态表示与一或多个静态表示之间的相关性误差的装置;用于根据相关性误差调整估计的6dof位姿的装置;用于根据经调整的6dof位姿更新动态表示的装置;以及用于响应于满足输出阈值而输出经调整的6dof位姿的装置。

通过结合附图及附录给出的各种实施例的以下描述,本发明的上述及其它方面、目的及特征将变得显而易见。

附图说明

图1为说明在一个实施例中用于装置确定输入图像的6dof位姿的方法的流程图。

图2a说明在一个实施例中用于确定6dof位姿的操作环境。

图2b说明在一个实施例中用作创建2.5d地图的输入的地形图。

图2c说明在一个实施例中利用线特征分割的现实世界环境的静态表示。

图2d说明在一个实施例中利用平面结构分割的现实世界环境的静态表示。

图2e说明在一个实施例中利用输入图像内的像素的深度值的现实世界环境的静态表示。

图3为说明在另一实施例中用于装置确定6dof位姿的方法的流程图。

图4为能够执行本文中所论述的过程的示范性移动装置的功能框图。

图5为一个实施例中的图像处理系统的功能框图。

具体实施方式

贯穿本说明书所提及的“一个实施例”、“实施例”、“一个实例”或“实例”意指结合所述实施例或实例所描述的特定特征、结构或特性包含于本发明的至少一个实施例中。因此,在贯穿本说明书中的各种地方出现的短语“在一个实施例中”或“在实施例中”不一定全部是指相同的实施例。此外,在一或多个实施例中,可将特定特征、结构或特性以任何合适方式组合。本文中所描述之实例或实施例未必解释为比其它方面或实施例较佳或有利。

在一个实施例中,预测器-校正器位姿检测方法、模块或设备使得能够从环境的输入图像(例如,室外城市环境)进行6dof位姿检测。预测器-校正器位姿检测(例如,在移动装置处)可从输入图像及来自一或多个传感器/接收器(例如,卫星定位系统(sps)、磁力计、陀螺仪、加速度计或其它)的数据确定装置在环境/世界中的位置及定位。可在装置处检索及处理图像及传感器数据。可使用2d地图及建筑物高度数据来处理图像及传感器数据。例如,2d楼面平面图或城市地图。在一个实施例中,装置创建输入图像的一或多个静态表示及动态表示。在一个实施例中,所述装置测量一或多个静态表示与动态表示之间的相关性。响应于确定静态表示与动态表示的相关性之间的误差差异,在一系列迭代中调整所估计的6dof,直到确定精确的6dof位姿。装置的精确的6dof位姿(例如,输入图像捕获时的移动装置摄像机位姿)可用于初始化3d地图,例如slam(同时定位及映射)或sfm(来自运动的结构)的系统中的3d地图,或6dof位姿可经传递/发送到另一过程、装置或系统。

图1为说明在一个实施例中用以确定输入图像的6dof位姿的方法的流程图。在框105处,方法(方法100)获得输入图像。输入图像可为由装置的摄像机传感器捕获的照片,或可为从视频流捕获的图像帧。在一个实施例中,输入图像为来自彩色摄像机的红绿蓝(rgb)图像。在一些实施例中,输入图像可为深度图像、热图像或其它类型的图像。

在框110处,所述方法接收与输入图像相关联的传感器数据。例如,图像可用卫星定位系统坐标、加速度计数据、罗盘航向、磁力计读数、陀螺仪数据或其任何组合标记或以其它方式与其相关联。

在框115处,所述方法估计6dof位姿。所述方法可使用所捕获的图像及移动传感器(例如,用以提供上述的框110的数据的传感器)来确定粗略的初始6dof位姿估计。例如,使用融合罗盘及加速度计输入可提供相对于北/东及地球中心的完整3×3旋转矩阵,且可使用坐标中全球导航卫星系统(gnss)(例如坐标中的全球定位系统(gps))信息来增强以创建位姿矩阵(例如,3×4位姿矩阵)。在移动装置上运行的映射系统可用于估计摄像机相对于环境的初始6dof位姿。例如,可从所捕获的图像及sfm或slam定位确定图像及初始传感器位姿。

在框120处,所述方法在2d参考地图内定位(例如,输入图像的)位姿。来自框115的6dof位姿估计可用于识别城市环境的2d参考地图(例如,或google)的部分。在一些实施例中,传感器数据可用于将所估计的6dof位姿登记到2d参考地图。例如,通过利用移动装置传感器,环境中的唯一区域标识可为可能的,例如根据将装置放置在2d参考地图的区段内的gps确定的位置识别环境的各方面。装置可识别可能在图像中可见的环境的部分或对象(例如,通过确定罗盘读数/视向)。在一些实施例中,2d参考地图为由近似位置及视向构成的地图的饼状图块,以及摄像机的视野的假设(例如,对于智能手机为60°)及近似的最大距离阈值(例如,超过“x”数米远的建筑被认为是经遮挡或不可见)。

在框125处,所述方法获得2.5d或3d地图。在一些实施例中,方法100外推/创建2d参考地图中的对象/建筑物的高度信息以创建2.5d地图(例如,包括建筑物高度数据的2d地图)。在一些实施例中,方法100可通过使用关于周围建筑物的高度的特定假设外推地面图来生成2.5d环境模型。环境对象的高度可为纯粹猜测的,或可从其它来源获知,例如航空光检测及测距(lidar)。在一个实施例中,可从例如或其它地图数据源的源检索2d及建筑物高度数据。在一些实施例中,装置可从具有建筑物外观高度的路线估计的地图数据集中延伸处周围环境的2d地图。例如,数据由定向线条组成,其可将其转换为包含面法线的三角形网格。每一建筑外观平面可经建模为具有四个顶点、两个地平面顶点及两个顶部顶点的2d四边形。顶点的高度可从例如航空激光扫描数据的源获取。垂直建筑物轮廓可与全局垂直向上矢量对准。

在其它实施例中,装置将输入图像登记到先前创建的无纹理2.5d地图(例如,2d建筑物覆盖区及近似建筑物高度)。替代地,如果完整的3d地图可用(例如,检索计算机辅助设计图或区域的其它更详细的模型),那么可从输入图像识别3d地图的部分以便登记到3d地图。

在框130处,方法处理输入图像以创建输入图像的一或多个静态(例如,替代或新的)表示。如本文中所使用,静态表示在框130处创建之后不会改变。相反,如下面在框160处所描述的输入图像的动态表示将通过预测器-校正器循环140迭代地改变。输入图像可用于生成多个单独/不同的静态表示。在一些实施例中,框130处的每一静态表示可在先前描述的块中的一或多者之前或之后并行地创建(例如,框110到125)。举数例但并非全部可能表示,一些实例静态表示可包含以下中的一或多者:将图像的部分分割成类别段(例如,框131)、将图像分割成平面结构(例如,框135),估计每一像素的深度(例如,框139)。要创建的表示的数量或类型可根据用户配置来确定,及/或根据移动装置上的可用处理能力自动配置。

在框131处,所述方法可将图像分割成属于建筑物的类别(例如,段或部分)以及属于其它类别的那些。在一个实施例中,将图像分割成部分的装置可使用卷积神经网络(cnn)或支持向量机(svm)。在一个实施例中,可根据输入图像的简单像素方式分割来确定类别,例如通过将分类器应用于具有给定大小的图像的片段并将类别标签分配给片段的中心位置。在一些实施例中,类别分割过程可使用在手动分割图像的数据集上训练的多类svm。在一个实施例中,装置使用整体特征且分别考虑外观、天空、顶部、植被及地面的五个不同类别c={cf,cs,cr,cv,cg}中的一或多个。在其它实施例中,所考虑的类别的数量及类型可与此说明性实例不同。例如,一些实施方案可具有用于窗口、汽车、门、整个房屋或其它用户可配置类别的类别。

在框135处,所述方法将图像分割成平面结构。可通过识别平面结构内的像素的法向矢量来确定平面结构分割(例如,如下面图2d中所说明及所描述)。平面结构的分割可基于输入图像来完成,或任选地作为处理从相同近似视点获取的多个后续帧的结果(例如,通过使用光流或意外运动)。

在框137处,所述方法从输入图像中提取多个线特征。可根据以下中的一或多个来筛选所提取的线特征或段(例如,如下面图2c中所说明及所描述):长度、与地平线的关系、投影角度或其任何组合。在一些实施例中,线段用于创建线检测直方图,其通过将在y及x方向上检测为线的个别像素相加来总结沿着图像的垂直轴及水平轴的线的存在。在一些实施例中,线检测例程基于霍夫(hough)变换及阈值处理。在其它实施例中,线检测例程基于lsd(线段检测器)。

在框139处,所述方法为输入图像中的每一像素创建深度图或矢量场。深度图(例如,如下面图2e中所说明及所描述)可为包括来自视点的对象表面的距离数据的图像或图像通道。深度图中的深度的测量可与用于摄像机的视图的摄像机轴(即,z轴)相关(与场景的绝对z轴相比)。在一个实施例中,根据从多个图像视点估计深度来创建深度图或矢量场。在另一实施例中,深度可来自学习或训练模型,其可检索额外信息以估计每一像素的深度。在另一实施例中,可从深度图像确定框139处的深度数据,例如,如果输入图像为深度图像,那么可直接从输入图像直接参考深度数据。

可根据光流或意外运动来确定每一像素的估计深度。在一些实施例中,可通过推断连续帧之间的意外运动的深度估计及描述关于所观察到的3d结构的此运动的统计模型来创建深度估计。在一些实施例中,可根据估计连续帧中的个别像素的光流以及使用来自光流的推断运动来估计深度来生成深度图像。

在框140处,所述方法启动预测器-校正器循环。预测器-校正器循环可利用块130、来自125的2.5d或3d模型以及位姿115的一或多个静态表示作为起始点。

在框160处,所述方法根据来自框115的输入图像的摄像机位姿估计及来自框125的2.5d或3d地图/模型来确定动态表示。在一个实施例中,动态表示与块130的所选择的一或多个静态表示兼容。例如,如果静态表示为深度图(例如,深度图139),那么动态表示可经创建作为表示在框125的模型中的物体到框115的摄像机位姿的距离的深度值的矩阵。在一个实施例中,当与静态表示深度图或法向矢量图相关时,动态表示还可为深度图或法向矢量图,使得深度与深度相关,或法线矢量与法向矢量相关。在其它实施例中,动态表示为可与图像类别131、平面结构135、线特征137或可在框130中确定的其它静态表示相关的表示。在一些实施例中,出于视觉化目的(例如,为在装置上显示或输出到应用程序或程序),装置从模型及6dof位姿创建动态表示。

在框170处,所述方法测量一或多个静态表示与动态表示之间的相关性。例如,卷积神经网络可用于确定动态表示与输入图像的一或多个静态表示之间的相关性。在一些实施例中,如果确定或提供两个或多于两个静态表示,那么每一静态表示可具有与其到动态表示的相关性误差结果相关联的输出权重。在一些实施例中,响应于将可用静态表示与动态表示相关,递增迭代计数器。迭代计数器可用于设置最大迭代次数以在提供6dof位姿输出之前执行相关性。

在框175处,所述方法根据框170的结果测量相关性误差。在一些实施例中,相关性结果可表示为相关性或相关性测量值。在一些实施例中,相关性误差越低,静态表示与动态表示之间的相关性越高,且所得到的精确6dof位姿将更准确。在其它实施例中,相关性误差越低,静态表示与动态表示之间的相关性越低,且所得到的精确6dof位姿将更准确。

在框180处,所述方法确定相关性误差是否小于阈值(例如,可配置的相关性误差阈值),然后所述方法在框190处输出精确位姿。否则,如果相关性误差大于阈值,那么装置在框185处,确定在框170处引入的迭代计数器是否满足迭代阈值。如果满足迭代阈值,那么装置将在195处输出精确位姿。如果不满足迭代阈值,那么装置创建框190处更新/调整的位姿,且在框140处执行另一预测器-校正器迭代。在一些实施例中,满足相关性误差阈值的相关性误差及/或满足迭代计数阈值导致在框190处输出精确位姿。在一些实施例中,相关性误差及迭代计数器的组合包括:输出阈值,确定是否应触发预测器-校正器循环140的额外迭代。

图2a说明在一个实施例中用于确定6dof位姿的操作环境。场景201表示从移动装置206的角度来看的城市室外场景。在一些实施例中,移动装置206可显示环境的表示(例如,城市室外场景)。例如,移动装置可显示实时视图211,其可包含与场景相关的图形覆盖图或信息。

图2b说明在一个实施例中移动装置的参考2d地图及视点。在一些实施例中,2d地图(例如,地图216、特征217及视点221)为地形图且用作输入以创建2.5d地图。地形图可为无纹理2d地图。在一些实施例中,移动装置可使用lidar或其它方法来近似2d环境中的一或多个对象(例如,建筑物或结构)的高度。参考2d地图可为所检索到的城市地图,且可任选地具有建筑物外观轮廓。2.5d地图中的每一建筑物外观可能具有所附接/相关联的高度值。在一些实施例中,代替2.5d地图或除了2.5d地图之外还获得3d地图。例如,来自多个地图的方面可组合成单个参考地图。

图2c说明在一个实施例中利用线特征的真实世界环境的静态表示(例如,如上文参考地图1所描述,至少关于框137)。例如,线段228可根据以下中的一或多者来确定:长度、与地平线的关系、投影角度或其任何组合。场景201在图2c的顶部处经说明为具有作为覆盖图的线段228的参考。为了比较,线段228在229处经隔离,而在229处在图2c的底部处无场景201参考。

图2d说明在一个实施例中利用平面结构的真实世界环境的静态表示(例如,如上文参考地图1所描述,至少关于框135)。例如,可通过识别平面结构内的像素的法向矢量(例如,法线矢量231)来确定平面结构段230。场景201在图2d的顶部处经说明为具有作为覆盖图的平面段230的参考。为了比较,平面段230在232处经隔离,而在图2d的底部处无场景201参考。

图2e说明在一个实施例中利用输入图像内的像素的深度值的真实世界环境的静态表示(例如,如上文参考地图1所描述,至少关于框139)。例如,较接近摄像机视点的像素值由更接近白色的值(较接近建筑物区段240)表示,且距离摄像机视点较远的像素值由较接近黑色的值(较远建筑物区段245)表示。

图3为说明在另一实施例中用以确定6dof位姿的方法的流程图。在框305处,方法300(例如,由移动装置或6dof位姿检测模块/引擎实施)创建输入图像的一或多个静态表示。在一些实施例中,装置捕获图像(例如,从可为rgb、深度、热或其它图像摄像机的摄像机传感器)且将一或多种类型的移动装置传感器数据与图像捕获的时间相关联。例如,图像可用卫星定位系统坐标、加速度计数据、罗盘航向、磁力计读数、陀螺仪数据或其任何组合标记。在一个实施例中,一或多个静态表示是从以下中的一或多者创建:将图像的部分分割成相应类别,将图像分割成平面结构,通过将输入图像分割成线所确定的线特征,估计图像内每一像素的深度,或其任何组合。在一些实施例中,如果方法300正与多个不同的静态表示相关,那么每一静态表示可经配置有静态表示相关权重(例如,由预先配置的配置设置或通过启发式确定)。

在框310处,所述方法从所估计的6dof位姿及2.5d参考地图创建输入图像的动态表示。所估计的6dof位姿可从以下中的一或多者计算:卫星定位系统、加速度计、罗盘、磁力计、陀螺仪或其任何组合。可根据估计2d地图内的摄像机位置并确定或接收环境内的一或多个对象的物体高度数据来确定2.5d参考地图。在一些实施例中,参考地图可为3d参考地图,例如cad(计算机辅助绘图)绘制地图或单独或独立于方法300创建的其它地图。

可创建输入图像的动态表示,使得其与来自框305的一或多个静态表示兼容(即,能够或经赋能与其相关)。例如,如果静态表示包含深度数据,那么与静态表示相关的动态表示可包含深度数据。因此,在一些实施例中,如果欲使多个静态表示相关,那么动态表示可包含多种不同类型的数据。在其它实施例中,不同且单独的动态表示经分配或与每一不同类型的静态表示相关联。然而,在任一状况下,无论是否存在一或多个静态表示,将在框305处设置/定义每一静态表示。相反,动态表示可根据动态表示所基于的特定所估计6dof位姿而改变。

在框315处,所述方法测量动态表示与一或多个静态表示之间的相关性误差。例如,如果深度图经创建为用于方法300中的静态表示,那么动态表示可包含深度数据,使得动态表示的深度图与静态表示的深度图之间的相关性产生相关性测量结果。相关性测量结果可经解释为表示理想或目标结果与相关性测量结果之间的误差差异的相关性误差。在一些实施例中,理想或目标结果是用于较大的相关性,但在一些实施例中也可能期望较少的相关性。在一些实施例中,每一类型的静态表示可具有不同的相关性误差阈值配置。例如,当“a”与动态表示高度相关时,静态表示“a”可能具有相对低的相关性误差。相反,当静态表示“b”与动态表示高度相关时,“b”可能具有相对高的相关性误差。此外,可对每一静态表示进行单独加权,使得多个静态表示与动态表示的相关性为可能的。在一个实施例中,卷积神经网络用于确定动态表示与输入图像的一或多个静态表示之间的相关性。

在框320处,所述方法根据相关性误差调整所估计的6dof位姿。在一些实施例中,特定调整取决于欲相关的静态表示的类型及相关性误差。来自静态表示的数据可与动态表示的数据相关,且调整可为在单位及数量方面以最佳估计来自静态及动态表示的数据之间的6dof位姿(即,减小相关性误差)。例如,如果在框305确定的静态表示包含经分割成类别的图像(例如,如先前在图1的框131中所描述),那么动态表示可为具有数据值的场景的二进制表示以展示是否存在外观。如果静态表示包含平面结构(例如,如先前在图1的框135中所描述),那么方法300可使平面结构与动态表示的矢量场相关。如果静态表示为线特征(例如,如先前在图1的框137中所描述),那么方法300可执行动态及静态表示的线特征之间的直方图拉伸及相关性。如果静态表示为深度图(例如,如先前在图1的框139中所描述),那么方法300可使静态表示的深度数据与动态表示的深度数据相关。在其它实施例中,在方法300的框架内,静态及动态表示的不同组合及类型可能通过调整动态表示并使一或多个静态表示与动态表示相关来迭代地改进所估计的6dof位姿。

在框325处,所述方法根据所调整的6dof位姿更新动态表示。在一个实施例中,可利用最小量的全局可用输入信息(例如2d地图及一些建筑物高度信息(例如,由2.5d无纹理地图提供))来确定6dof位姿。建筑物高度信息可从输入图像场景估计或从其它源确定。在一些实施例中,方法300可利用更详细及准确的模型及语义信息来获得增强的结果。例如,在ar系统内,可以利用协同作用来使可注释的内容可视化,其可用作对方法300的反馈以改进定位性能。例如,使用窗口或门的ar注释可与窗口检测器结合使用以将另一语义类别添加到计分函数。因此,某些ar内容可用于改进方法300的框架内的定位性能。

在框330处,所述方法响应于满足输出阈值而输出经调整的6dof位姿。在一个实施例中,输出阈值包含以下中的一或多者:满足误差阈值的相关性误差,满足迭代计数或其任何组合。例如,当预测器-校正器循环已执行设定次数的迭代时,及/或当相关性误差在可接受的阈值内时,可确定最终调整/精确6dof位姿。迭代计数可确保所述方法不连续循环且最终将退出,而相关性误差阈值可在6dof经估计为在阈值精度内时提供输出。

图4为在一个实施例中能够确定6dof位姿的移动装置400的功能框图。如本文中所使用,移动装置(例如,移动装置400)指的是例如蜂窝或其它无线通信装置、个人通信系统(pcs)装置、个人导航装置(pnd)、个人信息管理器(pim)、个人数字助理(pda)、膝上型计算机或能够接收无线通信及/或导航信号(例如,导航定位信号)的其它合适的移动装置的装置。术语“移动装置”还意欲包含与个人导航装置(pnd)通信的装置,例如通过短程无线、红外线、有线连接或其它连接—无论是在装置处还是在pnd处发生卫星信号接收、辅助数据接收及/或位置相关处理。此外,“移动装置”意欲包含所有装置,包含无线通信装置、计算机、膝上型计算机,等,所述装置能够例如经由因特网、wifi或其它网络与服务器通信,且不管在装置处、在服务器处或在与网络相关联的另一装置处是否发生卫星信号接收、辅助数据接收及/或位置相关处理。另外,“移动装置”还可包含能够增强现实(ar)、虚拟现实(vr)及/或混合现实(mr)应用的所有电子装置。上述的任何可操作组合也被视为“移动装置”。

移动装置400可任选地包含摄像机402以及任选的用户界面406,其包含能够显示由摄像机402捕获的图像的显示器422。在一些实施例中,摄像机402为rgb摄像机,深度摄像机或热成像摄像机。用户界面406还可包含小键盘424或其它输入装置,用户可通过所述输入装置将信息输入到移动装置400中。如果需要,可通过用触摸传感器将虚拟小键盘集成到显示器422中来避免小键盘424。用户界面406还可包含麦克风426及扬声器428。

移动装置400还包含控制单元404,控制单元404连接到摄像机402及用户接口406(如果存在的话)并与其通信。控制单元404接受并处理从摄像机402及/或从网络适配器416接收的图像。控制单元404可由处理单元408及相关联存储器414、硬件410、软件415及固件412提供。

如果需要,控制单元404可进一步包含图形引擎420,其可为例如游戏引擎,以在显示器422中呈现所要数据。为清楚起见,处理单元408及图形引擎420经单独说明,但可为单个单元及/或基于在处理单元408中运行的软件415中的指令在处理单元408中实施。处理单元408以及图形引擎420可但未必包含一或多个微处理器、嵌入式处理器、控制器、专用集成电路(asic)、数字信号处理器(dsp)等。在一些实施例中,控制单元404可进一步包含传感器418(例如,装置传感器),其可包含磁力计、陀螺仪、加速度计、光传感器、卫星定位系统及其它传感器类型或接收器。术语处理器及处理单元描述由系统而不是特定硬件实施的功能。此外,如本文中所使用,术语“存储器”是指任何类型的计算机存储媒体,包含与移动装置400相关联的长期、短期或其它存储器,且并不限于任何特定类型的存储器或存储器数目或存储器存储在其上的媒体的类型。

取决于应用,可通过各种装置实施本文中所描述的过程。举例来说,这些过程可实施在硬件410、固件412,软件415或其任何组合中。针对硬件实施方案中,处理单元可实施于一或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理装置(dspd)、可编程逻辑装置(pld)、场可编程门阵列(fpga)、处理器、控制器、微控制器、微处理器、电子装置、经设计以执行本文中所描述的功能的其它电子单元,或其组合内。

对于固件及/或软件实施方案,本文中所描述的过程可以用执行本文中所描述的6dof位姿检测的方面的模块、程序或引擎来实施(例如,如图1及图3的方法中所说明及所描述)。可使用有形体现指令的任何非暂时性计算机可读媒体来实施本文中所描述的过程。例如,程序代码可存储在存储器414中并由处理单元408执行。存储器可在处理单元408内或外部实施。在一些实施例中,上文所描述的方法及过程的代码或方面(例如,至少图1及图3的方法)可在6dof检测模块421中实施。

如果以固件及/或软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上。实例包含编码有数据结构的计算机可读媒体及编码有计算机程序的非暂时性计算机可读媒体。计算机可读媒体包含物理计算机存储媒体。储存媒体可为可由计算机存取的任何可用媒体。通过实例的方式且非限制性,此些计算机可读媒体可包括ram、rom、快闪存储器、eeprom、cd-rom或其它光盘存储装置、磁盘存储装置或任何其它磁性存储装置,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体;如本文中所使用的磁盘及光盘包含:光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘以及蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各项的组合还应包括在计算机可读媒体的范围内。

图5为在一个实施例中能够确定6dof位姿的图像处理系统500的功能框图。如所说明,系统500包含实例性移动装置502,其包含能够捕获包含对象/环境514的场景的图像的摄像机(在当前视图中未展示)。数据库512可包含数据,包含地图数据(例如,2d、2.5d或3d地图数据)。

移动装置502可包含显示器以显示由摄像机捕获的图像。移动装置502还可用于基于例如使用来自卫星定位系统(sps)的信号来确定其纬度及经度的导航,所述卫星定位系统包含卫星飞行器506或用于确定包含蜂窝塔504或无线通信接入点705的位置的任何其它适当的源。移动装置502还可包含定向传感器,例如数字罗盘、加速计或陀螺仪,其可用于确定移动装置502的定向。

sps通常包含发射器系统,其经定位以使得实体能够至少部分地基于从发射器接收的信号来确定其在地球上或地球上方的位置。此发射机通常发射标记有设定数目个码片的重复伪随机噪声(pn)码的信号,且可以位于基于地面的控制站、用户设备及/或航天飞行器上。在特定实例中,此些发射器可位于地球轨道卫星飞行器(sv)506上。例如,全球导航卫星系统(gnss)星座中的sv,例如全球定位系统(gps)、伽利略、格洛纳斯或指南针可发射标记有pn码的信号,所述pn码可与星座中的其它sv发射的pn码区分开(例如,对于每个卫星使用不同的pn码,如在gps中或在与格洛纳斯中不同的频率上使用相同的码)。

根据某些方面,本文中所呈现的技术不限于sps的全球系统(例如,gnss)。例如,本文中所提供的技术可应用于或经以其它方式启用供用于各种区域系统,例如日本的准天顶卫星系统(qzss)、印度的印度区域导航卫星系统(irnss)、中国的北斗等),及/或各种可与一或多个全球及/或区域导航卫星系统相关联或以其它方式启用供一或多个全球及/或区域导航卫星系统使用的各种升推系统(例如,基于卫星的升推系统(sbas))。通过实例但非限制,sbas可包含增强系统,其提供完整性信息、差分校正等,例如,广域增强系统(waas)、欧洲地球静止导航重叠服务(egnos)、多功能卫星增强系统(msas)、gps辅助型静地增强导航或gps及静地增强导航系统(gagan),及/或其类似者。因此,如本文中所使用,sps可包含一或多个全球及/或区域导航卫星系统及/或增强系统的任何组合,且sps信号可包含sps、类sps及/或与此一或多个sps相关联的其它信号。

移动装置502不限于与sps一起用于位置确定,因为位置确定技术可结合各种无线通信网络(包含蜂窝塔504)及来自无线通信接入点505(例如无线广域网(wwan)、无线局域网(wlan)、无线个域网(wpan))来实施。此外,移动装置502可存取一或多个服务器508以使用经由蜂窝塔504及来自无线通信接入点505的各种无线通信网络或使用卫星飞行器506来获得数据,例如来自数据库512的在线及/或离线地图数据。术语“网络”及“系统”通常可互换使用。wwan可为码分多址存取(“cdma”)网络,时分多址存取(“tdma”)网络,频分多址存取(“fdma”)网络,正交频分多址存取(“ofdma”)系统,单波频分多址存取(“sc-fdma”)网络,长期演进(lte),等等。cdma网络可实施一或多个无线电接入技术(“rat”),例如cdma2000、宽带-cdma(“w-cdma”),等等。cdma2000包含is-95、is-2000及is-856标准。tdma网络可实施全球移动通信系统(“gsm”)、数字高级移动电话系统(d-amps),或一些其它rat。gsm及w-cdma被描述于来自名称为“第3代合作伙伴计划”(3gpp)的社团的文档中。cdma2000被描述于来自名称为“第3代合作伙伴计划2”(3gpp2)的联盟的文档中。3gpp及3gpp2文档可公开获得。wlan可为ieee(电气与电子工程师协会)802.11x网路,且wpan可为蓝牙网络、ieee802.15x或某一其它类型的网络。技术还可结合wwan、wlan及/或wpan的任何组合来实施。

如图5中所展示,系统500包含捕获对象/场景的图像并确定6dof位姿的移动装置502。如图5中所说明,移动装置502可例如经由蜂窝塔504或无线通信接入点505存取网络510,例如无线广域网(wwan),其耦合到服务器508,服务器508连接到数据库512,所述数据库存储与目标对象有关的信息且还可包含地理区域的无纹理模型(例如,2d或2.5d地图),如上文参考图1及图3所论述。虽然图5展示一个服务器508,但应理解,可使用多个服务器,以及多个数据库512。在一些实施例中,移动装置502可不利用服务器而在移动装置上完全本地执行6dof位姿确定。在一些实施例中,移动装置502从服务器508检索数据库512的至少部分,且将所下载的地图数据本地存储在移动装置502处。从服务器508获得的数据库的部分可基于移动装置的地理位置,如由移动装置的定位系统确定。此外,从服务器508获得的数据库部分可取决于需要移动装置502上的数据库的特定应用程序。通过基于移动装置的地理位置下载数据库512的小部分并对移动装置502执行对象检测,可避免网络等待时间问题,且空中(ota)带宽使用随着客户端(即,移动装置)侧的存储器要求而降低。然而,如果需要,对象检测及跟踪可能由服务器508(或其它服务器)执行,其中任一查询图像本身或从查询图像中提取的特征由移动装置502提供到服务器508。在一个实施例中,在线地图数据由移动装置502本地存储,而离线地图数据存储在数据库512中的云中。

一些或所有过程块在上面所论述的每一过程中出现的顺序不应被视为限制性。相反,受益于本发明的所属领域的技术人员将理解,处理框中的一些可以未说明的各种顺序执行。

此外,所属领域的技术人员将进一步了解,结合本文中所揭示的实施例所描述的各种说明性逻辑块、模块、引擎、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚地说明硬件及软件的此可互换性,上文通常已就其功能性方面描述了各种说明性组件、块、模块、引擎、电路及步骤。此功能性是实施为硬件还是软件取决于强加于整个系统的特定应用及设计约束。虽然所属领域的技术人员可针对每一特定应用以变化方式实施所描述功能性,但不应将此些实施方案决策解释为导致对本发明的范围的脱离。

对本文中所揭示的实施例的各种修改对所属领域的技术人员将显而易见,且本文中所定义的一般原理可适用于其它实施例而不脱离本发明的精神或范围。因此,本发明并不意欲被限制于本文中所展示的实施例,而意欲赋予其与本文中所揭示的原理及新颖特征一致的最广泛范围。

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