使用地理弧的3D交通工具定位的制作方法

文档序号:13935251
使用地理弧的3D交通工具定位的制作方法

以下相关专利以其整体并入本文,用于所有目的:2014年10月7日授予Yuri Owechko的美国专利号8,855,442的“使用三维地理弧的多模态数据的图像配准”(Image Registration of Multimodal Data Using 3D-Geoarcs)。

技术领域

本公开涉及用于交通工具定位的方法、系统和制品。更具体地,所公开的实施例涉及用于使用地理弧(geoarc)来定位交通工具的系统和方法,该地理弧使物理表面配置的传感器图像与物理表面配置的参考表示相关联。



背景技术:

启用全球定位系统(GPS)的设备常用于在GPS可用的区域内定位此类设备的位置。对于未启用GPS或处于GPS不可用位置的设备,需要其他方式来定位设备的位置。GPS拒绝定位的现有方法使用各种感测机构。例如,惯性测量单元(IMU)已经在从导弹到手机范围的平台中实现。它们适合于由于其定位估计误差的固有增长而需要在相对短时期内进行定位的应用。有源感测系统使用场景中的RF发射器和RF环境的空间地图来定位。虽然此类方法适合在室内使用,但有源发射器模式的这种映射在室外可能不实际,并且固有地是非隐蔽的。

基于无源相机的方法通过处理图像数据来执行相机的定位。自定位与映射(SLAM)系统创建环境的三维(3D)模型,并且通过利用相机的移动来估计相对于模型的相机位置。SLAM不提供绝对的位置信息,并且需要单独装置用于将模型与3D地图配准。相对于其他方法,特别是当仅需要二维(2D)位置信息时,它在计算上也是复杂的。

场景匹配方法将相机图像与大型数据库中的地理标记图像进行匹配,且然后推断相机的定位和姿态。通过查找相机图像和候选地图图像之间的特征与特征对应来完成图像匹配。由于需要匹配许多单个特征,所以此类方法在计算上是复杂的并且容易出错,并且对匹配误差敏感。基于相关性的方法对旋转、尺度、透视和照明变化敏感,并且不可以校正飞行路径的大的变化。语义(semantic)定位方法识别相机图像中的对象,并使用语义推理将场景与地图数据库中的对象进行匹配。这些方法受限于迄今为止跨越不同数据集和环境变化未很好地推广并具有有限的空间精确度的识别方法的精确度(特别是在3D中)。



技术实现要素:

在一些实施例中,用于空间定位的方法包括从远离物理表面配置间隔开的位置从传感器获取物理表面配置的一部分的图像并且识别获取的图像中的特征。该方法还包括将获取的图像中的识别的特征与物理表面配置的部分的三维参考表示(诸如参考地图)中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中。该方法还包括在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对。对于获取的图像中的每个选择的特征对,该方法还包括确定来自传感器的特征对之间的视角,生成将确定的视角和在参考表示中的选择的特征对相关联的三维地理弧,以及识别包括在生成的地理弧中的体素。该方法也包括对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和,以及确定识别的一个或更多个体素中的哪个或哪些被包括在最高数量的地理弧中。

在一些实施例中,交通工具包括传感器和通信地耦接到传感器的数据处理系统,该传感器被配置为从远离物理表面配置间隔开的位置产生物理表面配置的一部分的图像。该数据处理系统被配置为从远离物理表面配置间隔开的位置从传感器获取物理表面配置的一部分的图像,以及识别获取的图像中的特征。该数据处理系统还被配置为将获取的图像中的识别的特征与物理表面配置的部分的三维参考表示中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中。该数据处理系统被配置为在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对。对于获取的图像中的每个选择的特征对,数据处理系统被配置为确定来自传感器的特征对之间的视角,生成将确定的视角和在参考表示中的选择的特征对相关联的三维地理弧,以及识别包括在生成的地理弧中的体素。数据处理系统也被配置为对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和,以及确定识别的一个或更多个体素中的哪个或哪些被包括在最高数量的地理弧中。

在一些实施例中,计算机程序产品包括至少一个计算机可读存储介质,其具有与其一起体现的计算机可读程序指令。该计算机可读程序指令在由处理器执行时将处理器配置为从远离物理表面配置间隔开的位置从传感器获取物理表面配置的一部分的图像并且识别获取的图像中的特征。该计算机可读程序指令在由处理器读取时还将处理器配置为将获取的图像中的识别的特征与物理表面配置的部分的三维参考表示中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中。该计算机可读程序指令在由处理器读取时还将处理器配置为在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对。对于获取的图像中的每个选择的特征对,计算机可读程序指令在由处理器读取时还将处理器配置为确定来自传感器的特征对之间的视角,生成将确定的视角和在参考表示中的选择的特征对相关联的三维地理弧,以及识别包括在生成的地理弧中的体素。计算机可读程序指令在由处理器读取时还将处理器配置为对于每个识别的体素对其中包括有体素的生成的地理弧的数量求和;以及确定识别的一个或更多个体素中的哪个或哪些被包括在最高数量的地理弧中。

特征、功能和优点可在本公开的各种实施例中独立实现,或可在另外的实施例中组合,参考以下描述和附图可以看出其进一步的细节。

附图说明

图1是基于物理表面配置的表示的两个特征的三维地理弧的示例。

图2是相对于地平面和传感器平面的三维地理弧的示例。

图3是物理表面配置的图像的示例和传感器视角的图示。

图4是相对于物理表面配置的参考表示的地平面中和平移的(translated)传感器平面中的地理弧的部分的示例。

图5类似于图4,但是示出相对于参考表示的平移传感器平面中的三个地理弧的部分。

图6是由用于定位具有图像传感器的交通工具的实施例执行的操作的图示。

图7是由用于定位具有图像传感器的交通工具的实施例执行的操作的图示。

图8是划分为图块的参考表示的图示。

图9是图8所示的图块的地理弧的部分的图示。

图10是由用于定位具有图像传感器的交通工具的实施例执行的操作的图示。

图11是三维地理弧和相关联的变换的坐标原点的示例的图示。

图12是示出地理弧特征的地理弧的二维切片(slice)的图示。

图13是由用于生成特征参考地图的实施例执行的操作的图示。

图14是由用于定位具有图像传感器的交通工具的实施例执行的操作的图示。

图15是说明性数据处理系统的各种部件的示意图。

图16是说明性计算机网络系统的示意性表示。

图17是示出用于相对于定位获取交通工具来定位交通工具的实施例的方框图。

图18是由用于定位具有图像传感器的交通工具的实施例执行的操作的图示。

具体实施方式

综述

以下描述了并且在相关联的附图中示出了用于使用使物理表面配置的传感器图像与物理表面配置的参考表示相关的地理弧来定位具有图像传感器的交通工具或确定其位置的系统和方法的各种实施例。除非另有说明,否则交通工具定位系统和/或其各种部件可以但不要求包含本文所描述、示出和/或并入的结构、部件、功能和/或变化中的至少一个。此外,与本教导有关的描述、示出和/或并入的结构、部件、功能和/或变化可以但不要求被包括在其他交通工具定位系统中。各种实施例的以下描述本质上仅仅是示例性的,并不意图限制本公开、其应用或使用。此外,如下所述的实施例提供的优点在本质上是说明性的,并且不是所有实施例都提供相同的优点或相同程度的优点。

空间定位系统可用于其中物理表面配置(包括一个或更多个物理表面或一组物理表面元件或特征,无论是否连接)与其中传感器已经产生物理表面配置的图像的定位间隔开的环境。空间定位的示例包括室内环境、靠近地球或其他行星表面的室外环境、地球大气中的位置和太空中的位置。例如,接近空间站的太空交通工具可使用空间定位系统。因此,当GPS信号被阻碍、抑制或欺骗时,空间定位系统也可适用于需要被动地理定位方法来增加或替换GPS地理定位的空中平台。空间定位系统也可用于包括无人驾驶飞行器(UAV)、导弹和巡飞弹(loitering munition)的自主空中平台。空间定位系统也可用于室内导航,并且适用于陆、水、空和太空交通工具定位。

在一些示例中,当作为地理弧空中定位系统(geoarc aerial localization system,GALS)用于在GPS拒绝条件下使用空中相机的被动地理定位时,空间定位系统可为特别有利的。GALS通过使用相机检测地面图像中的特征并且测量它们之间的观察角度来执行定位。通过将测量的角度值分配给地图中的映射的特征对,可以在3D地图空间中绘制圆环(torus),其将三维(诸如在笛卡尔坐标系中的x、y和z维度)中的相机的可能定位约束在其表面上。也可使用其他类型的坐标系,并且该坐标系被认为等同于笛卡尔坐标系。例如,如果地面上方的空中相机的高度是已知的,那么,相机定位可以进一步限制为位于圆环表面和在相机高度处平行于地面的平面的交点(intersection)上。通过将该交点投影到地面,可以在地图上绘制2D地理弧图。由于角度测量误差导致的定位的不确定性可通过使用非零厚度的2D地理弧来表示。通过使用简单的加法积累来自多个2D地理弧的附加约束,可以以增加的精确度估计相机定位和姿态。

GALS中的地理弧的积累就像“匹配的定位过滤器”,其将由于角度特征对不匹配导致的误差的影响遍布地图,而在更多的角度被测量并分配到地图特征对时在真实定位处建立信号。这使得GALS具有对抗特征匹配中的误差的很好的稳健性,并且避免对特征对分配的所有可能角度进行穷举搜索的需要。GALS还提供定位精确度和置信度的持续更新。低比例的正确的图像到地图特征对应仍然可导致高精确度定位。此外,通过使用常规的尺度和旋转不变特征,诸如尺度不变特征变换(SIFT)或加速稳健特征(SURF),GALS定位过程也是尺度和旋转不变的,这也增加稳健性和处理速度。

GALS框架可使用图形操作,这些图形操作可以使用诸如针对手机和平板计算机开发的多核图形芯片以低尺寸、重量和功率来实现。通过将地图划分成图块(tile)并且将每个图块分配给单独的核,“插入式(dropped-in)”定位中的加速(例如,不知道先前的定位)将在核数量上是线性的,因为可以独立于其他图块处理每个地图图块。

在一些示例中,3D空间定位系统可用于使用由相机观察的对象上的特征之间测量的角度,确定相机在3D空间中相对于3D对象的定位和姿态。视觉特征可以是在3D空间中的任意定位,且不需要被限制到平面。通过将测量的角度值分配到地图中的映射的特征对,可以在3D地图空间中绘制主轴圆环,其将在x、y和z坐标空间中的相机的可能定位限制在其表面上。由于角度测量误差引起的定位不确定性可由3D地理弧的非零厚度表示。通过累积来自多个3D地理弧的附加约束(每个3D地理弧与一对特征相关联),可以以增加的精确度估计3D中的相机定位和姿态。通过将3D空间划分为体素/三维像素,并使用总体函数来表示3D地理弧的重叠,可以有效地确定相机的定位和姿态。当具有图像传感器的交通工具的海拔未知时,该解决方案特别有用。

3D地理弧的积累实现所谓的3D定位匹配过滤器,其将由于角度特征对不匹配导致的误差的影响遍布3D空间,而在更多的角度被测量并分配到对象特征对时在真实定位处建立信号。这使得3D地理弧具有对抗特征匹配中的误差的很好的稳健性,并且避免对所有可能的角度到特征对分配的穷举搜索的需要。3D地理弧的使用也提供定位精确度和置信度的持续更新。此外,通过使用诸如SIFT或SURF的尺度和旋转不变特征,完整的3D定位过程是尺度和旋转不变的,这也增加稳健性和处理速度。

3D空间定位系统可包括确定3D点是在3D地理弧内部还是外部,该确定可以以低尺寸、重量和功率且并行地使用诸如针对手机和平板计算机开发的多核图形芯片实施。此空间定位系统可用于需要在空间中围绕3D对象进行对接(dock)或导航的空间平台中,以及用于需要围绕3D对象进行导航的自主空中平台和GPS不可用或不够准确的环境,该自主空中平台包括UAV、导弹和巡飞弹。3D空间定位系统也可以使用例如手机相机用于室内或室外导航。

空间定位系统的方面可实现为计算机方法、计算机系统或计算机程序产品。因此,空间定位系统的方面可采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等),或组合软件和硬件方面的实施例的形式,所有这些实施例通常在本文中可称为“电路”、“模块”或“系统”。此外,空间定位系统的方面可采取在计算机可读介质(或多个介质)中实现的计算机程序产品的形式,该计算机可读介质具有在其上实现的计算机可读程序代码/指令。

可利用计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质和/或计算机可读存储介质。计算机可读存储介质可包括电子的、磁性的、光学的、电磁的、红外的和/或半导体系统、装置或设备,或这些的任何合适的组合。计算机可读存储介质的更具体的示例可包括以下:具有一条或更多条导线的电连接、便携式计算机软磁盘(diskette)、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备和/或这些的任何合适的组合等。在本公开的上下文中,计算机可读存储介质可包括任何合适的有形介质,其可以包含或存储由指令执行系统、装置或设备使用或与指令执行系统、装置或设备有关的程序。

计算机可读信号介质可包括具有例如在基带中或作为载波的部分实现在其中的计算机可读程序代码的传播数据信号。此传播信号可采取各种形式中的任何形式,包括但不限于电磁、光学和/或其任何合适的组合。计算机可读信号介质可包括不是计算机可读存储介质的,以及能够通信、传播或运送由指令执行系统、装置或设备使用或与指令执行系统、装置或设备有关的程序的任何计算机可读介质。

实现在计算机可读介质上的程序代码可使用包括但不限于无线、有线、光纤电缆、RF和/或类似物,和/或这些的任何合适的组合的任何适当的介质来传输。

用于实行对空间定位系统的方面的操作的计算机程序代码可以编程语言的一种或任何组合来编写,包括面向对象的编程语言,诸如Java、Smalltalk、C++和/或类似物,以及常规程序编程语言,诸如C编程语言。程序代码可完全在用户的计算机上执行,作为独立的软件包部分地在用户的计算机上执行,部分地在用户的计算机上且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到用户的计算机,和/或可连接到外部计算机(例如,通过互联网使用互联网服务提供商)。

以下参考方法、装置、系统和/或计算机程序产品的流程图和/或方框图来描述空间定位系统的方面。流程图和/或方框图中的每个方框和/或方框的组合可由计算机程序指令来实现。可将计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或方框图的一个或更多个方框中指定的功能/动作的装置。

这些计算机程序指令也可以存储在计算机可读介质中,计算机可读介质可以引导计算机、其他可编程数据处理装置和/或其他设备以特定方式运行,使得存储在计算机可读介质中的指令产生包括实现流程图和/或方框图的一个或更多个方框中指定的功能/动作的指令的制品。

计算机程序指令还可以被加载到计算机,其他可编程数据处理装置和/或其他设备上,以引起在设备上执行一系列操作步骤以产生计算机实现的过程,使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或方框图的一个或更多个方框中指定的功能/动作的处理。

附图中的任何流程图和/或方框图旨在说明根据空间定位系统的方面的系统、方法和计算机程序产品的可能实施方式的架构、功能和/或操作。在这方面,每个方框可表示代码的模块、段或部分,其包括用于实现指定的(一个或更多个)逻辑功能的一个或更多个可执行指令。在一些实施方式中,方框中记载的功能可不按照附图中记载的顺序。例如,依次示出的两个方框实际上可大致同时执行,或有时可以颠倒的顺序执行方框,这取决于所涉及的功能。每个方框和/或方框的组合可由执行特定功能或动作的专用基于硬件的系统(或专用硬件和计算机指令的组合)来实现。

定义

本文所使用的地理弧是指在物理表面配置的参考表示中使确定的视角和选择的特征对相关联的数学模型,无论物理表面配置是否在地理上相称。本文使用的示例性地理弧是具有表示点的轨迹的表面或体积的自相交或主轴圆环,该点的轨迹以共同的视角或视角范围察看空间中的两个点。

示例、部件和替代方案

以下部分描述示例性空间定位系统和/或方法的选择的方面。这些部分中的示例旨在说明,并且不应被解释为限制本公开的整个范围。每个部分可以包括一个或更多个不同的发明,和/或上下文或相关的信息、功能和/或结构。

示例1:

可在地理弧定位系统(GALS)中实现的空间定位方法的该第一示例使用图像,来使用在图像中检测的特征之间的观察角度查找具有图像传感器(诸如相机)的交通工具的位置。该角度根据相机参数确定,诸如相对于图像中的特征的位置的视场。图像中两个特征之间的距离与它们之间观察到的角度有直接关系。向映射的特征对分配测量的角度将在世界坐标中的相机的可能(x,y,z)坐标位置限制在自相交或主轴圆环100的表面上,如图1所示。从在物理表面配置106的至少一部分的参考表示上识别的两个识别的特征102,104的位置产生圆环100。参考表示可为物理表面配置的或物理表面配置的一部分的存储的参考地图或模型,或其可为物理表面配置的或物理表面配置的一部分的存储的参考图像。在该示例中,参考表示中包括的物理表面配置106的部分以及物理表面配置106的部分的传感器图像包括具有拐角形成第一特征(corner forming first feature)102的建筑物108。建筑物108被支撑在结构110上,诸如另一建筑物或地块,建筑物108具有第二特征104。此类物理结构可以是或可以不是共同物理结构的部件。

由远离物理表面配置106间隔开的交通工具116支持的相机112或其他图像传感器114产生物理表面配置106的传感器图像。物理表面配置106的参考表示以及在参考表示上识别的物理表面配置106的物理特征被存储在系统存储器中,包括相对于具有x、y和z轴的一般坐标原点118的特征的坐标。形成特征对的物理特征102,104的位置分别被识别为(x1,y1,z1)和(x2,y2,z2)。在特征102,104之间延伸的线上的中心点被识别为(xc,yc,zc)。

相机112具有视场120。在由相机112产生的传感器图像中,物理特征102,104可由视角θ分开。应当理解,圆环100具有由图1的虚线所示的连续表面122。圆环表面122上的每个点具有相同的视角θ,尽管因此形成相机112和交通工具116、物理表面配置106的所有可能的位置。

示例2:

图2中示出以主轴圆环的形式的地理弧200的第二示例。地理弧200从在传感器图像以及设置在地平面208上的物理表面配置206(诸如地球表面)的至少一部分的参考表示上识别的两个特征202,204的位置产生。这种情况对应于设置在地平面208上方已知高度H处的空中平台或其他交通工具211上的相机210。地理弧200由在特征202,204之间的线上的中心点处具有原点212的坐标系限定。对于这种基于圆环的坐标系,x'轴位于特征202,204之间的线上,与x'轴正交的y'轴在地平面208中水平延伸,并且z'轴远离地平面垂直延伸。

因此,相机和交通工具定位被限制在位于设置在高度z'=H处的传感器平面214与地理弧200的交点处。传感器平面214平行于地平面并且在相机和交通工具高度。在高度H=0时,传感器平面214与地平面208是相同平面。该交点是spiric曲线(spiric curve)216。spiric曲线216是地理弧200的一部分,并且基于在物理表面配置206的参考表示上的特征202,204的位置和由相机210察看的特征202,204之间的视角θ被分析地表达。因此,相机210和交通工具211的定位的确定被限制到spiric曲线216上的定位。

图3至图5以图形的方式示出过程。图3是传感器图像300的图示,其示出从传感器图像300上的地标识别的特征302,304。传感器图像300示出在地平面上方高度H处的交通工具上由相机306观察的视角θ。

图4示出作为图3中的传感器图像300成像的物理表面配置的参考表示400。在该示例中,参考表示400是示出也在传感器图像300中示出的特征的参考地图402。参考地图402具有对应于图3所示的特征302,304的特征404,406。包括特征404,406的地平面2D地理弧408设置在由图的平面中的参考地图402表示的地平面410中。如果支持相机412的交通工具411被布置在地平面410中的物理表面配置上,并且相机412具有视角θ,则地理弧408表示地理弧。

然而,当交通工具411和相机412被设置在高度H处时,平移到地平面410上的相机定位不一定位于地理弧408上。通过将传感器平面的spiric曲线414投影到地平面410上,如参考图2中的圆环200所述,传感器平面2D地理弧416形成在地平面410上。地理弧416的形状、尺寸和取向由参考地图402上的特征对404,406的位置、地面上方的相机高度H,以及特征404,406之间的观察角度θ确定。spiric曲线414在地平面410上的投影是以(x',y')(在地平面410上)的可能的相机定位的集合,其由此限定在参考地图402上的传感器平面2D地理弧416。视角θ被示出为地理弧416的视角θ',因为二维表示不是真实视角θ的精确表示。由于角度测量误差引起的定位不确定性由2D地理弧408,416的非零厚度表示。

图5示出具有平移的传感器平面地理弧416以及基于未识别的其他特征对生成的两个额外的平移的传感器平面地理弧418,420的参考地图402。多个地理弧的总和确定交通工具和相机的定位,如图2所示。通过积累额外的平移的2D地理弧,可以以增加的精确度和置信度来确定平移的相机/交通工具定位422。也就是说,所示的所有三个地理弧仅在定位422处同时重叠。因此,通过确定存在于最高数量的地理弧中的三个地理弧416,418,420的定位,识别平移的相机/交通工具定位422。真实的相机定位是在平移的相机/交通工具定位422上方的高度H。

因此,通过将相应的特征对角度分配给多个地图特征对,然后相机/交通工具定位422被限制在多个圆环的交点上。由于角度测量和地图特征位置的不确定性,每个圆环具有非零的表面厚度,因此交点实际上是一个小的2D体积。如果所有角度都与地图特征对正确匹配,那么由3个特征形成的3个特征对就足以定位相机。然而,由于特征定位和角度可以是非常可变的,所以通过使用更多的特征对来改善定位精确度。在现代图形处理器中,可以有效地执行查找多个圆环的3D交点,但是可以通过使用另一个传感器(诸如高度计或激光测距仪)测量地面上方的相机高度H来消除高度或z维度,从而大大降低计算负荷。然后以2D而不是3D进行处理。

通过给每个地理弧416,418,420内的参考表示400的所有像素分配固定值(诸如值1),且然后将由地理弧416,418,420所贡献的值相加,则定位信号峰值在相机/交通工具定位422处建立。也将发生意外重叠,其诸如在地理弧定位424处产生定位“噪声”,但是此类重叠的概率随重叠值快速减小。每个地理弧提供可能的相机/交通工具定位的集合的证据,并且重叠程度是定位的置信度的测量。

示例3:

图6中示出用于确定交通工具(诸如具有图像传感器(诸如传感器114或相机112,210,306或412)的交通工具116)的空间定位的方法600的示例。图6是示出由在说明性方法中的空间定位系统的一个实施例执行的操作的流程图,并且可以不列举该方法的完整过程或所有步骤。虽然方法600的各种步骤在下面描述并在图6中描绘,步骤不一定全部被执行,并且在一些情况下可以与所示顺序不同的顺序执行。当用于定位交通工具的其它技术不可用时,方法600是特别有用的。

方法600包括在步骤602中从远离物理表面配置106,206间隔开已知距离H的位置422,从诸如相机112,210,306或412的传感器114获取物理表面配置106,206的部分的图像300。在步骤604中识别获取的图像300中的特征302,304。方法还包括在步骤606中,将获取的图像300中的识别的特征302,304与物理表面配置106,206的部分的参考表示400,402中的识别的特征404,406相关联。在步骤608中,选择在参考表示中具有对应的识别的特征对404,406的获取的图像300中的多个特征对302,304。在步骤610中选择初始特征对。对于获取的图像300中的每个选择的特征对,该方法包括在步骤612中确定来自传感器(相机306)的特征对302,304之间的视角θ,在步骤614中生成将确定的视角θ和参考表示400中选择的特征对404,406相关联的三维地理弧408,并且在步骤616中确定选择的部分,诸如地理弧200的spiric曲线216或传感器平面地理弧416,418,420,该选择的部分远离物理表面配置(106,206)的部分已知距离H设置。在步骤618中确定是否存在另一个选择的特征对。如果存在,则重复步骤610,612,614和616。该方法还包括在步骤620中识别定位422,424,其中,选择的特征对的地理弧416,418,420的选择的部分重叠。

由位于针对每个像素求和的地理弧值的峰值处的像素值所表示的定位信号Sloc具有值:

Sloc=Nc=mv(mv-1)/2。

Nc是在参考表示的像素处重叠的地理弧的数量。mv是在相机图像300中检测的有效的特征302,304的数量,例如,是参考地图402中的特征404,406,并且是具有正确分配的测量特征对角度θ的特征对的元(member)。在随机定位424处Nc个地理弧意外重叠的概率是地理弧面积分数的乘积:

其中L2是L×L地图的面积,且An是地理弧n的面积。Pc随Nc快速减小,而定位信号Sloc随Nc线性增加,并且与有效特征的数量二次方地增加。

进行模拟,其中在相机图像中检测到50个随机分布的特征,然后改变与地图特征正确匹配的,并且是具有正确分配的角度测量的特征对的元的随机分布的特征的数量mc。Sloc被发现大于Snoise,即使在50个特征中只有12个被正确分配,并且存在高的所得信噪比。因此,当特征检测、匹配和角度分配中存在实质性误差时,方法600产生可靠的结果。因此,由于此类误差引起定位信号Sloc超过噪声信号Snoise,小部分地理弧是有效的,这是可接受的。

示例4:

在一些示例中,将地图特征数据库分割成分区减少计算负荷,并且使得能够使用多核处理器进行有效的平行化。图7示出作为具有图像传感器(诸如相机306、412)的空间定位交通工具(诸如交通工具116、411)的空间定位方法600(通常在600处示出)的示例的GALS方法700的示例。图7是示出由在说明性方法中的空间定位系统的一个实施例执行的操作的流程图,并且可不列举该方法的完整过程或所有步骤。虽然方法700的各种步骤在下面描述并在图7中描绘,步骤不一定全部被执行,并且在一些情况下可以与所示顺序不同的顺序执行。如方法600,当用于定位交通工具的其它技术不可用时,方法700是有用的。

方法700包括在步骤702中获取物理表面配置的一部分的相机图像300。例如,相机112,306,412可为空中相机,其产生平台(诸如载人或无人驾驶飞行器(UAV)、无人机(drone)或其他类型的飞行器)下面的地面的传感器图像300,并且使用高度计或有源测距器来确定地面上方的相机112,306,412的高度。在其他示例中,相机112,306,412可为安装在另一类型的交通工具上的相机,诸如舟、船或其他船舶,或诸如汽车、卡车、全地形交通工具(ATV)或其他陆上交通工具。

方法700还包括在步骤704中检测或识别相机图像300中的特征302,304,以及在步骤706中诸如通过测量确定特征对的视角θ。这些特征优选是尺度和旋转不变的,以在匹配特征时有助于将搜索限制到相关维度。已经开发许多此类特征检测方法,诸如上述的SIFT特征。

包括相机图像300中成像的物理表面配置的部分的物理表面配置的参考地图402被划分为分区,也称为图块。在一些示例中,分区对应于小于相机306的视场的面积。在图8中示出划分参考地图802的部分800的示例。在该示例中,地图部分800被划分成九个分区或图块804。图块804包括图块804A至图块804I,如图所示。

图块804优选地覆盖没有重叠或间隙的映射区域800。包括在每个图块中的特征列表与各自的图块804A至图块804I相关联地存储。可使用多个处理器核中的每个来执行对各自分配的图块的处理。例如,在步骤708中从存储参考地图802的数据库中选择地图图块804E。还在步骤710处从数据库选择存在于所选择的图块804E中以及延伸超过图块804E区域的延伸区域806中的相关联的特征列表。具有由图8中的虚线表示的外边界的延伸区域806可对应于例如相机306,412的视场。每个延伸区域806优选地包含从区域804E上方的相机可见的特征。在该示例中,延伸区域806包括图块804E以及图块804A至图块804D和图块804F至图块804I的部分。图块804E的区域和与其他图块区域重叠以形成延伸区域806的区域可以根据参考地图802中的特征的地形和分布变化。

然后,在步骤712,地图特征对与在相机图像300中识别的特征对匹配或以其他方式相关联。然后在步骤714中选择特征对以进行处理。各自的处理器核接收测量的特征对视角θ用于识别的特征。然后过滤掉可能不会提供良好定位的特征对角度组合。可以使用参考地图402中的特征对的角度值和定位来执行过滤,因为地理弧不确定性取决于这些值。

然后在步骤716中使用残存的地图特征对定位和角度以及相机高度来计算地理弧,诸如地图图块804E中的地理弧416,418,420。然后在步骤718中确定每个像素所在的地理弧的数量,然后确定具有最高数量的地理弧的一个或更多个像素。相机和交通工具定位由最大地理弧重叠的定位给出。图9示出对于对应于图8中的图块804A至图块804I的分区904A至分区904I中的每个生成的地理弧的段900的示例。最大数量的地理弧重叠是在地图定位906处,其对应于参考地图802上的平移的相机和交通工具定位。

使用多个处理器,GALS处理时间实质上与处理器数量成反比减少,因为可以同时且独立地处理图块。在GALS处理流程演示中,采用俄亥俄州立大学的CSUAV广域成像数据集的框架被用作相机图像。相机图像由覆盖690m×460m区域的668像素×1001像素组成,视场为23.9度,并且该相机图像从1630米的高度记录。使用旋转和尺度不变的SIFT算法检测特征,并且使用相机参数测量特征对之间的角度。共检测116个SIFT特征。来自谷歌地球(Google Earth)的相同区域的图像被用作参考地图。使用不同的相机和来自相机图像不同的取向在一天的不同时间记录参考地图图像。此外,由于图像在不同时间拍摄,一些建筑物也不同。然后从参考地图中提取SIFT特征,并与相机特征相匹配。相机图像和参考地图特征都使用相同的SIFT算法和参数。116个相机特征中的20个被分配给地图特征,但只有12个被正确分配。因此,只有约10%的特征分配有效。

假设相机直指向下,定位峰位于16m×66m的区域,并且位置误差为140m,因此图像中心对应于相机定位。尽管低比例(low fraction)的正确特征分配,但定位信号峰值12仍显著高于其他重叠值。对应于不正确定位的八个其他图块中的最大噪声信号为3,这是低的错误定位率。Matlab在台式计算机上的执行时间为3.9秒。非匹配图块的处理时间更低(1.9秒),因为匹配特征较少,这减少地理弧的数量。执行时间由在计算机屏幕上绘制地理弧所需的时间支配,这在实际的GALS系统中是不必要的。Matlab也比嵌入式实施方式慢得多。嵌入式实施方式预计会更快。

示例5:

该示例是使用在体积元素(体素)的三维空间中定义的参考表示的说明性空间定位系统和方法;见图1和图10。图10是示出由在说明性方法中的空间定位系统的一个实施例执行的操作的流程图,并且可不列举该方法的完整过程或所有步骤。虽然方法1000的各个步骤在下面描述并在图10中描绘,步骤不一定全部被执行,并且在一些情况下可以与所示顺序不同的顺序执行。当GPS或其他定位系统不可用时,可使用该方法和对应的特殊定位系统。

在该示例中,与上述系统和方法一样,用于3D空间定位的方法1000在步骤1002中从远离物理表面配置106间隔开的位置从由交通工具116支持的传感器114(诸如相机112)获取物理表面配置106的部分的传感器图像。在步骤1004中,识别获取的图像中的特征。在步骤1006中,获取的图像中的识别的特征与物理表面配置的部分的三维参考表示中的识别的特征相关联。三维参考表示在体积元素(体素)的三维空间中限定。在图1中,3D空间由在可与相机112无关的定位处具有坐标原点118的笛卡尔坐标限定。在步骤1008中选择获取的图像中的多个特征对,其在参考表示中具有对应的识别的特征对。

然后对获取的图像中的每个选择的特征对执行一系列步骤。在步骤1010中选择初始特征对或下一个特征对。在步骤1012中确定来自传感器的特征对之间的视角。在步骤1014中,生成使确定的视角和在参考表示中选择的特征对相关联的三维地理弧。如上所述,圆环100是3D地理弧的示例。在步骤1016中,识别生成的地理弧中包括的体素。

在步骤1018中确定是否存在尚未执行步骤1010,1012,1014和1016的额外的特征对。如果存在,则选择额外的特征对,并执行这些步骤。

如果没有要处理的附加的特征对,则在步骤1020中,该方法包括对于每个识别的体素对其中包括体素的生成的地理弧的数量求和。在步骤1022中,确定识别的一个或更多个体素中的哪个或哪些被包括在最高数量的地理弧中。

示例6:

该示例是使用在体积元素(体素)的三维空间中限定的参考表示和在该过程中具有表示不确定性的厚度的地理弧的说明性空间定位系统和方法;见图1,10,11和12。

如参照图10中的方法1000所述,以及上述的其他图,空间定位的该示例使用相机图像来查找相机112的定位,并且因此使用来自特征102,104(其在相机图像中检测并且与在物理表面配置106的3D参考表示上识别的特征匹配)之间的相机112的视角θ查找交通工具116,如参考方法1000的步骤1002,1004,1006和1008所描述的。当基于外部技术的定位系统(诸如GPS)不可用时,此种方法特别有利。

如已经说明的那样,视角θ由相机参数确定,因为传感器图像中两个特征之间的距离与它们之间的观察角度有直接的关系。将测量的视角θ分配给映射的特征对而将相机在3D坐标中的可能(x,y,z)位置限制到自相交或主轴圆环的表面上,如图1所示。如果将特征对的视角分配到多个地图特征对中的每个,则相机定位被限制到多个圆环的交点上,该处理包括在参考图10描述的方法1000中。

在该示例中,由于测量视角和地图特征位置的不确定性,在步骤1014中生成的每个地理弧具有非零表面厚度。基于特定视角的圆环是没有厚度的表面。因此,可由对应于不确定性的水平的视角范围来限定厚度。因此,具有厚度的地理弧可由使用最大视角或高视角生成的内圆环与使用最小视角或低视角生成的外圆环之间的空间限定。这被认为等同于使用期望的视角值和从期望的视角范围内的点生成的地理弧。因此,两个地理弧的交点是一个小的3D体积。如果所有角度都与地图特征对正确匹配,则由三个特征形成的三个特征对足以定位相机。然而,当特征定位和角度不确定时,使用更多特征对来改善定位精确度。

类似于上面针对2D地理弧所描述的方法,查找限定为主轴圆环的多个地理弧的3D交点被图形化地示出,但是使用3D地理弧并且确定每个体素而不是像素的重叠。然而,可以通过将3D地图空间划分为具有可变分辨率的体素,并使用总体函数来描述3D空间中的3D地理弧重叠区域的空间分布来减少计算负荷。

对于具有在任意3D位置中的特征的3D地图,如图1中“极(pole)”或圆环100的轴上的特征102,104所示,3D主轴圆环100形成具有表面122的3D地理弧,该表面122表示具有特征102,104的视角θ在相机112的(x,y,z)空间中的可能位置。2D地理弧可以推广到3D主轴圆环,如图1所示。

图11示出具有表面1102的3D圆环1100,其表示在物理表面配置的至少一部分的参考表示上识别的两个特征1106,1108的地理弧1104。圆环1100在以圆环为中心(x',y',z')的坐标上被限定,该坐标具有以特征1106,1108的位置之间的z'轴为中心的坐标原点1110。然后,圆环1100和地理弧1104表示相机视角θ的相对于特征1106,1108的可能定位。

如已经描述的,用于给定相机定位的多个3D地理弧可被视为3D图形对象并被相加在一起。定位信号Sloc(位于求和的地理弧的峰值处)将具有值

Sloc=Nc=mv(mv-1)/2,

其中mv是在相机图像中检测的有效的特征的数量,例如,是3D地图中的特征,并且是具有正确分配的测量特征对角度的特征对的元。在随机定位处Nc个3D地理弧意外重叠的概率是3D地理弧体积分数的乘积:

其中L3是L×L×L参考地图体积,且Vn是3D-地理弧n的体积。Pc随Nc快速减少,而定位信号随Nc线性增加,并且随有效特征的数量二次方地增加。因此,当特征检测、匹配和角度分配中存在实质性误差时,3D地理弧系统和方法产生可靠的结果。因此,由于此类误差引起定位信号Sloc超过噪声信号Snoise,所以3D地理弧的一小部分(fraction)是有效的,这是可接受的。

查找定位信号峰的一种方法是以图形方式添加3D地理弧图,然后在3D地图搜索最大重叠,如上面针对2D地理弧定位所述。在该方法中,3D空间被划分为体素。然后,代替添加3D地理弧,而测试每个体素,以如图12所示使用表示不确定性的具有厚度的3D地理弧1200的横截面确定每个体素的中心点是在3D地理弧内部还是外部。

对于给定的视角θ/特征对,可能的相机定位的体积由两个主轴圆环1202,1204的体积之间的差来给定,其由特征1206,1208的测量的视角θ的最大和最小可能值限定。相机的可能定位被限制到由外圆环1202内部和内圆环1204外部的3D点组成的图12中的区域。这在本文中被称为“内部-外部测试”。

外环1202表示视角θo=θ-Δθ,并且具有横截面半径Ro。内圆环1204表示视角θI=θ+Δθ,具有横截面半径RI,并且曲率的中心与通过特征1206,1208的相对定位的z'轴的距离是rI。视角θo小于视角θI。给定来自参考地图的特征1206,1208之间的距离c和观察角度θ以及其测量不确定性Δθ,执行由图12表示的简单内部-外部测试,以确定体素是否被3D地理弧覆盖。如果是,则体素定位的总体函数的值增加1。

对于外圆环1202内部的给定坐标(x',y',z')的内点测试是:

并且对于内圆环1204外部的给定坐标的内点测试是:

其中

并且

在循环遍历所有3D地理弧和体素之后,相机的3D定位由体素的总体函数的最大值给定。

图12中的内部-外部测试假设分离特征的线与z轴对准并以坐标原点为中心。为了处理由与圆环无关的坐标原点限定的3D空间中的任意位置(x,y,z)处的特征,将坐标变换应用于特征的坐标,以将每个3D地理弧平移并且定向到标准位置和姿态,用于如图11和图12所示的内部-外部测试。换句话说,基于远程坐标原点118的图1的圆环100的坐标(x,y,z)被变换为基于坐标原点1110的圆环1100的坐标(x',y',z')。

这可以通过首先将(x,y,z)坐标系以T=-[xC,yC,zC]进行平移来完成,其中(xC,yC,zC)是特征的定位之间的线上的中心点,如图1中针对圆环100所示。然后,圆环围绕z轴旋转α,围绕y轴旋转β,其中

并且

旋转矩阵是

并且

然后,我们可以将内部-外部测试应用于生成的(x',y',z')坐标系中的点。

在一些实施例中,使用空间体素采样(其使用凹形(foveation)或空间可变3D分辨率来适应于包含物理表面配置的场景)来减少总体函数计算。例如,最初可应用较大的角度不确定性和较粗的采样间隔。这可以例如通过使用较大的体素尺寸来实现。然后可以在第二次迭代中减小角度不确定性和采样间隔,以微调初始计算。该迭代可限制到具有较高总体函数值的区域或感兴趣的其他部分。因此,体素尺寸可至少部分地基于其中包括有体素的生成的地理弧的数量的每个体素的总和。

此外,该处理可以在多个并行处理器上进行空间分割和有效分配,以便不同区域的同时计算。例如,3D参考地图可以被划分成3D分区。因此,代替如图8所示的针对2D参考地图802所讨论的2D(x,y)图块804,图块被扩展成在z方向上也具有非零维度的空间的3D(x,y,z)区域。然后通过识别每个相应分离部分中的体素是否包括在生成的地理弧中,通过同时针对多个分离部分中的多个分离部分的每个重复该过程。

示例7:

该示例是用于生成作为物理表面配置的参考表示的示例的特征参考地图的操作的说明性示例;见图13。图13是示出由在说明性方法中的空间定位系统的一个实施例执行的操作的流程图,并且可不列举该方法的完整过程或所有步骤。虽然方法1300的各个步骤在下面描述并在图13中描绘,但步骤不一定全部被执行,并且在一些情况下可以与所示顺序不同的顺序执行。

在该示例中,生成参考表示的方法1300包括步骤1302,即,获得包括物理表面配置的场景的3D模型。对于来自与模型间隔开的位置的模型的多个视点中的每个,在步骤1304中,选择初始模型视点或下一个模型视点。在步骤1306中记录3D模型的图像,并且在步骤1308中,检测2D图像中的特征。在步骤1310中,在2D图像中检测到的特征与场景的3D模型中的特征相匹配,然后反向投影(backproject)到3D模型中的匹配特征以确定匹配特征的3D定位。在步骤1312中确定是否存在额外的选择的视点。如果是,则处理返回到步骤1304。否则,在步骤1314中,存储3D模型、特征和定位以用于相对于物理表面配置在空间上定位交通工具。

示例8:

该示例是用于相对于位于3D坐标空间中的物理表面配置来在空间上定位交通工具的说明性方法;参见图14。图14是示出由在说明性方法中的空间定位系统的一个实施例执行的操作的流程图,并且可不列举该方法的完整过程或所有步骤。虽然方法1400的各个步骤在下面描述并在图14中描绘,但步骤不一定全部被执行,并且在一些情况下可以与所示顺序不同的顺序执行。

在该示例中,空间定位的方法1400包括步骤1402,即,将方法1300中生成的3D模型的3D地图空间分割成具有任选的凹形和/或子采样的零值(zero-valued)体素。子采样的示例可包括将3D地图空间划分为用于同时并行处理和/或基于体素定位处的地理弧重叠的体素尺寸的增量修改的分区或区域。在步骤1404中,由诸如相机的传感器记录或以其他方式获取图像。在步骤1406中识别获取的图像中的特征,并且在步骤1408中将获取的图像中识别的特征与在方法1300中获得的3D参考地图特征的2D图像相匹配。特征优选地是旋转和尺度不变特征,诸如SIFT或SURF特征,在步骤1410中测量成对的匹配特征对的角度分离(视角θ)。

对于每个3D地图特征对、相关联的测量视角θ和相关联的角度测量不确定性,以及对于给定体素尺寸,执行以下步骤。在步骤1412中选择初始特征对或下一个特征对。在步骤1414中,基于选择的特征对和相关联的视角生成地理弧100。相机定位不确定性可表示为3D地理弧的非零厚度。选择的体素的坐标在步骤1416中变换成与用于特征对和测量的视角θ的3D地理弧对准的坐标系,例如针对地理弧1100,1200所描述的。

在步骤1418中针对所有选择的体素执行如针对地理弧1200描述的内部-外部测试,以确定每个体素的中心点是否在诸如外圆环1204的最小角圆环内部,并且在诸如内圆环1202的最大角圆环外部。如果是,则体素值增加1。

在步骤1420中确定是否存在要处理的另一个特征对。如果是,则处理返回到步骤1412。如果不是,则在步骤1422中确定该处理是否重复用于使用修改的体素尺寸的选择的体素。例如,一旦体素的总体函数识别具有高地理弧计数的体素,可在有限的3D空间中减少体素尺寸,以使用较小的体素区域对由较大体素占据的空间进行重新确定。可对视角不确定性水平执行类似的过程。如果选择更详细的过程,则在步骤1424中选择诸如较小体素尺寸的不同的体素尺寸,并且处理返回到步骤1412以选择初始特征对。

如果在步骤1422中确定体素尺寸不被修改,则在步骤1426中通过在3D参考地图中查找最高值体素来确定相机定位。任选地,也可在步骤1428中从属于贡献给最大相机定位信号的特征对的特征的相机图像中的定位确定相机姿态。因此,如GPS的情况那样,针对相机和不依赖于外部技术支持相机的交通工具确定定位信息。

示例9:

如图15所示,该示例是根据本公开的方面的数据处理系统1500。在该示例中,数据处理系统1500是适合于实现空间定位系统1501的方面和相关联的方法的说明性数据处理系统。更具体地,在一些示例中,作为数据处理系统(例如,智能电话、平板计算机、个人计算机)的实施例的设备可执行一些或所有上述的方法。例如,交通工具可具有驻留(resident)数据处理系统,用于使用通过驻留相机112获取的图像来确定交通工具的定位。

在该说明性示例中,数据处理系统1500包括通信框架1502。通信框架1502提供处理器单元1504、存储器1506、永久存储装置1508、通信单元1510、输入/输出(I/O)单元1512和显示器1514之间的通信。存储器1506、永久存储装置1508、通信单元1510、输入/输出(I/O)单元1512和诸如相机112的传感器1514是经由通信框架1502由处理器单元1504可访问的资源的示例。空间定位系统1501可包括传感器1514。

处理器单元1504用于运行可被加载到存储器1506的指令。根据具体实施方式,处理器单元1504可以是多个处理器、多处理器核或一些其他类型的处理器。此外,处理器单元1504可使用多个异构处理器系统来实现,在该异构处理器系统中存在具有在单个芯片上的二级处理器的主处理器。作为另一个说明性示例,处理器单元1504可为包含相同类型的多个处理器的对称多处理器系统。

存储器1506和永久存储装置1508是存储设备1516的示例。存储设备是能够暂时地或持久地存储信息(诸如例如但不限于数据、功能形式的程序代码和其他合适信息)的任何硬件块。

在这些示例中,存储设备1516也可被称为计算机可读存储设备。在这些示例中,存储器1506可以是例如随机存取存储器或任何其它合适的易失性存储设备或非易失性存储设备。永久存储装置1508可采取各种形式,这取决于具体实施方式。

例如,永久存储装置1508可包含一个或更多个部件或设备。例如,持久存储器1508可为硬盘驱动器、闪存、可重写光盘、可重写磁带或上述的一些组合。永久存储装置1508使用的介质也可为可移除的。例如,可移除硬盘驱动器可用于永久存储装置1508。

在这些示例中,通信单元1510提供与其他数据处理系统或设备的通信。在这些示例中,通信单元1510是网络接口卡。通信单元1510可通过使用物理通信链路和无线通信链路中的一个或两者来提供通信。

输入/输出(I/O)单元1512允许与可连接到数据处理系统1500的其他设备的数据的输入和输出。例如,输入/输出(I/O)单元1512可通过键盘、鼠标和/或一些其他合适的输入设备为用户输入提供连接。此外,输入/输出(I/O)单元1512可向打印机发送输出。显示器提供向用户显示信息的机构,并且如果它是触摸屏,则用作输入设备。

参考表示400(诸如参考地图402)以及相关特征、定位和相关数据可作为永久存储装置1508的部分存储在参考数据库中。可替代地,参考数据库可存储在相对于可执行程序代码1518的数据处理器远程地定位的存储设备上。处理器单元1504也可与相机或传感器1514通信,其中传感器可能够捕获一个或更多个目标图像(例如,将由本文所述的一种或更多种方法使用的传感器的视场内的场景)。传感器1514可直接耦接到数据处理系统1500中的通信框架1502,或其可经由通信单元1510远程连接,如虚线所示。传感器1514可例如驻留在交通工具上,并且数据处理系统1500驻留在基于地球的、远程的或其他站上,在这种情况下,传感器图像被传输到远程数据处理系统。

用于操作系统、应用和/或程序的指令可位于存储设备1516中,存储设备1516通过通信框架1502与处理器单元1504通信。在这些说明性示例中,指令在永久存储装置1508上是函数形式。这些指令可被加载到存储器1506中以通过处理器单元1504执行。不同实施例的处理可由处理器单元1504使用计算机实现的指令来执行,该指令可位于诸如存储器1506的存储器中。

这些指令被称为可由处理器单元1504中的处理器读取和执行的程序指令、程序代码、计算机可用程序代码或计算机可读程序代码。不同实施例中的程序代码可体现在不同的物理存储介质或计算机可读存储介质上,诸如存储器1506或永久存储装置1508。

程序代码1518以函数的形式位于计算机可读介质1520上,该计算机可读介质1520选择性地可移除并且可被加载到或传递到数据处理系统1500以供处理器单元1504执行。程序代码1518和计算机可读介质1520在这些示例中形成计算机程序产品1522。在一个示例中,计算机可读介质1520可为计算机可读存储介质1524或计算机可读信号介质1526。

计算机可读存储介质1524可包括例如插入或放入作为永久存储装置1508的部分的驱动器或其他设备中的光盘或磁盘,用于传递到永久存储装置1508的部分的存储设备(诸如硬盘驱动器)。计算机可读存储介质1524也可采取连接到数据处理系统1500的永久存储装置(诸如硬盘驱动器、拇指驱动器或闪存)的形式。在某些情况下,计算机可读存储介质1524可不能从数据处理系统1500中移除。

在这些示例中,计算机可读存储介质1524是用于存储程序代码1518的物理存储设备或有形存储设备,而不是传播或传输程序代码1518的介质。计算机可读存储介质1524也被称为计算机可读有形存储设备或计算机可读物理存储设备。换句话说,计算机可读存储介质1524是非暂时性的。

可替代地,程序代码1518可使用计算机可读信号介质1526被传递到数据处理系统1500。计算机可读信号介质1526可为例如包含程序代码1518的传播数据信号。例如,计算机可读信号介质1526可为电磁信号,光学信号和/或任何其他合适类型的信号。这些信号可通过诸如无线通信链路、光纤电缆、同轴电缆、电线和/或任何其他合适类型的通信链路的通信链路被传输。换句话说,在说明性示例中,通信链路和/或连接可以是物理的或无线的。

在一些说明性实施例中,程序代码1518可通过网络从另一设备或数据处理系统通过计算机可读信号介质1526下载到永久存储装置1508中,以在数据处理系统1500内使用。例如,存储在服务器数据处理系统中的计算机可读存储介质中的程序代码可通过网络从服务器下载到数据处理系统1500。提供程序代码1518的数据处理系统可为服务器计算机、客户端计算机或能够存储和传输程序代码1518的一些其他设备。

针对数据处理系统1500示出的不同部件并不意味着为可实现不同实施例的方式提供架构限制。不同的说明性实施例可在数据处理系统中实现,该数据处理系统包括除了为数据处理系统1500示出的部件之外的部件和/或代替示出的部件。图15所示的其他部件可以从所示的说明性实例变化。可使用能够运行程序代码的任何硬件设备或系统来实现不同的实施例。作为一个示例,数据处理系统1500可包括与无机部件集成的有机部件和/或可完全由除了人之外的有机部件组成。例如,存储设备可由有机半导体组成。

在另一个说明性示例中,处理器单元1504可采取硬件单元的形式,其具有为特定用途制造或配置的电路。这种类型的硬件可以执行操作,而不需要将程序代码从要被配置为执行操作的存储设备加载到存储器中。

例如,当处理器单元1504采取硬件单元的形式时,处理器单元1504可为电路系统、专用集成电路(ASIC)、可编程逻辑设备或被配置为执行若干操作的一些其他合适类型的硬件。在使用可编程逻辑设备时,该设备被配置为执行该若干操作。可在稍后的时间重新配置该设备,或者可永久地配置该设备来执行该若干操作。可编程逻辑设备的示例包括例如可编程逻辑阵列、现场可编程逻辑阵列、现场可编程门阵列和其他合适的硬件设备。在使用该类型的实施方式时,可省略程序代码1518,因为用于不同实施例的处理在硬件单元中实现。

在又一个说明性示例中,处理器单元1504可使用在计算机和硬件单元中发现的处理器的组合来实现。处理器单元1504可具有若干硬件单元和被配置为运行程序代码1518的若干处理器。当使用该示出的示例时,一些处理可以在该若干硬件单元中实现,而其他处理可以在该若干处理器中实现。

在另一个示例中,总线系统可用于实现通信框架1502,并且可由一个或更多个总线(诸如系统总线或输入/输出总线)构成。当然,可使用提供在附接到总线系统的不同部件或设备之间的数据传递的任何合适类型的架构来实现总线系统。

此外,通信单元1510可包括传输数据、接收数据或既传输数据又接收数据的若干设备。通信单元1510可为例如调制解调器或网络适配器、两个网络适配器或其某种组合。此外,存储器可为例如存储器1506,或高速缓存,诸如在可存在于通信框架1502中的接口和存储器控制器集线器(hub)中找到的。

本文所描述的流程图和方框图示出根据各种说明性实施例的系统、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这方面,流程图或方框图中的每个方框可表示代码的模块、段或部分,其包括用于实现指定的一个或更多个逻辑功能的一个或更多个可执行指令。还应当注意,在一些替代实施方式中,方框中记载的功能可不按照附图中记载的顺序进行。例如,依次示出的两个方框的功能可大致同时执行,或有时可以颠倒的顺序执行方框的功能,这取决于所涉及的功能。

示例10:

如图16所示,该示例是可互换地称为网络、计算机网络、网络系统或分布网络的通用网络数据处理系统1600,其各方面可包括在空间定位系统1601的一个或更多个说明性实施例中。例如,如上所述,存储在服务器数据处理系统中的计算机可读存储介质中的程序代码可通过网络从服务器下载到数据处理系统1600。可替代地,数据处理系统1600'可驻留在具有图像传感器的交通工具上。应当理解,提供图16作为一个实施方式的说明,并且不旨在暗示关于可实现不同实施例的环境的任何限制。可对所描绘的环境进行许多修改。

网络数据处理系统1600是计算机网络,每个计算机网络都是数据处理系统1500和其他部件的示例。网络数据处理系统1600可包括服务器1602、客户端设备1604、存储设备1606、交通工具1608,诸如UAV或其他类型的航空器,或陆、水或太空交通工具,以及网络1610。交通工具1608可为客户端设备1606的示例,或其可为具有驻留数据处理系统1600'的独立系统。交通工具1608还包括可连接到网络1610或驻留数据处理系统1600'的相机1614或其他成像设备,如参考图15所讨论的。网络1610是被配置为在网络数据处理系统1600内的连接在一起的各种设备和计算机之间提供通信链路的介质。网络1610可包括诸如有线或无线通信链路(诸如网络1610与交通工具1608之间的无线链路1612)的连接、光纤电缆、和/或用于在网络设备之间传输和/或通信数据的任何其他合适的介质,或其任何组合。

在所描绘的示例中,服务器1602、客户端1604和交通工具1608连接到网络1610,电子存储设备1606也连接到网络1610。网络设备1602,1604和1608各自是上述数据处理系统1500的示例。在所描绘的示例中,设备1602被示出为服务器计算机。然而,网络设备可包括但不限于一个或更多个个人计算机、诸如个人数字助理(PDA)的移动计算设备、平板计算机和智能电话、手持游戏设备、可穿戴设备、平板计算机、路由器、交换机、语音门(voice gate)、服务器、电子存储设备,成像设备和/或可执行机械或其他功能的其他网络使能的工具。这些网络设备可通过有线、无线、光学和其他适当的通信链路互相连接。

此外,诸如客户端计算机1604的客户端电子设备和交通工具1608可连接到网络1610。这些设备中的每个都是上面关于图15所述的数据处理系统1500的示例。在一些示例中,一个或更多个交通工具1608上的通信使能的(communications-enabled)数据处理系统可连接到网络1610。客户端电子设备1604可包括例如一个或更多个个人计算机、网络计算机和/或移动计算设备,诸如个人数字助理(PDA)、智能电话、手持游戏设备、可穿戴设备和/或平板计算机等。在所描绘的示例中,服务器1602将诸如启动文件、操作系统图像和应用的信息提供给客户端电子设备1604和1608中的一个或更多个。客户端电子设备1604,1608相对于诸如服务器计算机1602的服务器可被称为“客户端”。网络数据处理系统1600可包括更多或更少的服务器和客户端,或不包括服务器或客户端,以及未示出的其他设备。

位于系统1600中的程序代码可存储在计算机可记录存储介质中或在其上,诸如示例8中的永久存储装置1508,并且可被下载到数据处理系统或其他设备以供使用。例如,程序代码可存储在服务器计算机1602上的计算机可记录存储介质上,并通过网络1610下载到客户端1604,1608以供使用。

网络数据处理系统1600可被实现为若干不同类型的网络中的一个或更多个。例如,系统1600可包括内联网、局域网(LAN)、广域网(WAN)或个人区域网(PAN)。在一些示例中,网络数据处理系统1600包括因特网,其中网络1610表示使用传输控制协议/因特网协议(TCP/IP)协议套件彼此通信的网络和网关的全球集合。互联网的核心是主要节点或主机之间的高速数据通信线路的支柱。可利用数千个商业、政府、教育和其他计算机系统来路由数据和消息。图16旨在作为示例,而不是作为任何说明性实施例的架构限制。

示例11:

图17是示出用于相对于定位获取(location-acquiring)交通工具1704定位一个或更多个定位寻找(location-seeking)交通工具1702的交通工具组定位系统1700的实施例的方框图。定位获取交通工具1704包括空间定位系统1706。空间定位系统1706可为使用上述方法的空间定位系统1501,1601的示例,在这种情况下,其被配置为从图像传感器1710接收物理表面配置1708的图像。物理表面配置可为例如,如上所述的物理表面1712。任选地,可使用其他技术来定位交通工具1704,诸如GPS。

图17示出各种情况,其中由交通工具1704获取的定位信息可与一个或更多个定位寻找交通工具1702共享。定位寻找交通工具1702中的每个具有与定位获取交通工具1704的推测已知或可知的相对空间关系,诸如作为限定的相对构形(formation)的部分,通过交通工具的人类乘客,或通过诸如雷达或激光雷达的技术手段的视觉确定。此外,推测相应的交通工具具有与定位获取交通工具1704直接通信的能力,或通过包括另一个定位寻找交通工具1702或包括任何组合中的一个或更多个通信中继器(relay)1714的通信路径的间接通信的能力。

例如,诸如交通工具1718,1720,1722的定位寻找交通工具1702的组1716可基于由定位获取交通工具1704获取的定位来确定它们的定位。这样的组1716可具有关联,诸如以保持的构形行驶或距离定位获取交通工具1704足够近行驶,以认为组1716中的定位寻找交通工具1702的定位与定位获取交通工具1704的定位实际上相同。从定位获取交通工具1704到定位寻找交通工具1718,1720,1722的通信可通过直接广播或以其他方式同时发送到两个或更多个定位寻找交通工具1702,如通用信号1724所示,或可如单个信号1726所示直接传输到个体的交通工具。

定位获取交通工具1704还可使用单个直接传输信号1726与单个定位寻找交通工具1728直接通信。定位寻找交通工具1728可不将该定位中继到任何其他交通工具,或其可直接地或通过诸如通信中继器1714的中间设施来将定位信息通信到另一个定位寻找交通工具1730。

定位获取交通工具1704还可与通信中继器1714最初通信,这可进而与另一个通信中继器1714或与一个或更多个定位寻找交通工具1702(诸如定位寻找交通工具1730和1732)通信。定位寻找交通工具1702可使用接收的定位信息,并且可或可不将定位信息通信到另一个定位寻找交通工具,诸如定位寻找交通工具1734。

应当理解,图17所示的示例仅仅是可能将定位信息从定位获取交通工具1704通信到一个或更多个定位寻找交通工具1702的许多不同通信路径中的几个。定位寻找交通工具1702从而通过其空间定位系统1706的操作,间接接收由定位获取交通工具1704获得的定位信息。

示例12:

该示例是用于相对于物理表面配置来空间地定位交通工具的说明性方法;参见图18。图18是示出由在说明性方法中的空间定位系统的一个实施例执行的操作的流程图,并且可不列举该方法的完整过程或所有步骤。虽然方法1800的各种步骤在下面描述并在图18中描绘,但步骤不一定全部被执行,并且在一些情况下可以与所示顺序不同的顺序执行。

在该示例中,空间定位的方法1800包括步骤1802,即,初始化定位操作。在步骤1804处,确定来自物理表面配置1708的交通工具(诸如定位获取交通工具1704和支持的图像传感器1710)的海拔(或更通常地,距离)是否是已知的。如果已知,则在步骤1806中获取传感器/交通工具海拔。然后在步骤1808中执行二维空间定位操作。此空间定位操作的示例包括上述方法600和700。如果海拔未知或不可用,则在步骤1810中执行三维空间定位操作。此空间定位操作的示例包括上述方法1000和1400。

在步骤1808或1810中确定传感器和相关联的交通工具的空间定位之后,在步骤1812中存储定位信息。然后在步骤1814中确定是否存在定位信息将被发送到其上的其他交通工具。如果存在,则在步骤1816中,如参考图17的参考交通工具组定位系统1700所述,将定位信息适当地通信到那些交通工具。然后,过程返回到步骤1814,并且信息被再次通信,直到不再有将定位信息发送到其中的交通工具。然后,处理适当地返回到步骤1802,以在关联的定位获取交通工具已经相对于物理表面结构移动的情况下确定新的定位信息。因此,方法1800和交通工具组定位系统1700向多个交通工具提供定位信息,并且是可用的,只要至少一个交通工具能够确定其定位(诸如通过执行方法1800或方法1800中所参考的方法之一)。

示例13:

本节描述了方法、系统和装置的额外的方面和特征,这些呈现的方面、系统和装置不限于一系列段落,为了清楚和效率,其中的一些或全部可被字母数字地指定。这些段落中的每个可以与一个或更多个其他段落组合,和/或与本申请中的其他地方的公开组合,包括由相关申请的交叉引用部分中的参考以任何合适的方式并入的材料。下面的一些段落明确地提及并且进一步限制其他段落,从而非限制地提供一些合适的组合的示例。

A1.一种用于空间定位的方法,其包括:

从远离物理表面配置间隔已知距离的位置从由交通工具支持的传感器获取物理表面配置的一部分的图像;

识别获取的图像中的特征;

将获取的图像中识别的特征与物理表面配置的该部分的参考表示中的识别的特征相关联;

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对;

对于在获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和在参考表示中的选择的特征对相关联的三维地理弧,以及

确定远离物理表面配置的该部分已知距离设置的地理弧的选择的部分;以及

识别其中对于选择的特征对的地理弧的选择的部分重叠的定位。

A2.根据段落A1所述的方法,其中参考表示是沿地平面延伸的二维表示,并且其中确定地理弧的选择的部分包括确定在地平面上方已知距离处的传感器平面,并且识别传感器平面和地理弧的交点。

A3.根据段落A2所述的方法,其还包括,对于每个选择的特征对,将传感器平面与地理弧的交点平移到地平面上,并且将其中地理弧的选择的部分重叠的识别的定位与参考表示上的对应定位相关联。

A4.根据段落A3所述的方法,其还包括选择参考表示上对应于地理弧的选择的部分重叠最多的定位,作为参考表示上对应于传感器平面中的地理弧中的交通工具的定位的定位。

A5.根据段落A1至段落A4中任一项所述的方法,其还包括,对于每个选择的特征对,将地理弧的选择的部分平移到参考表示上,并且将其中地理弧的选择的部分重叠的识别的定位与参考表示上的对应定位相关联。

A6.根据段落A1至段落A5中任一项所述的方法,其中识别其中对于选择的特征对的地理弧的选择的部分重叠的定位包括将物理表面配置的部分的参考表示的具有划分为多个分区,以及对于每个分区分别识别相应分区中的其中对于选择的特征对的地理弧的选择的部分重叠的定位。

A7.根据段落A6所述的方法,其中对于每个分区分别识别相应分区中的定位其中对于选择的特征对的地理弧的选择的部分重叠的定位包括对于该多个分区中的多个,同时识别相应分区中的其中对于选择的特征对的地理弧的选择的部分重叠的定位。

A8.根据段落A7所述的方法,其中传感器具有已知的视场,并且其中将物理表面配置的部分的参考表示的区域划分为多个分区包括将物理表面配置的部分的参考表示的区域划分为多个分区,每个分区具有小于已知视场的面积。

A9.根据段落A8所述的方法,其中在获取的图像(其具有在参考表示中的对应的识别的特征对)中选择多个特征对包括针对每个分区来选择包括分区的所获取的图像的已知视场中的多个特征对。

B10.一种交通工具,其包括:

传感器,其被配置为从远离物理表面配置的部分间隔已知距离的位置产生物理表面配置的一部分的图像;以及

通信地耦接到传感器的数据处理系统,该数据处理系统被配置为:

存储物理表面配置的该部分的参考表示和参考表示中识别的特征,

识别获取的图像中的特征;

将获取的图像中的识别的特征与参考表示中的识别的特征相关联,

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对,以及

对于在获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和在参考表示中的选择的特征对相关联的三维地理弧,以及

确定远离物理表面配置的该部分已知距离设置的地理弧的选择的部分;以及

识别其中选择的特征对的地理弧的选择的部分重叠的定位。

B11.根据段落B10所述的交通工具,其中参考表示是沿地平面延伸的二维表示,并且其中数据处理系统进一步被配置为确定在地平面上方已知距离处的传感器平面,并且识别传感器平面和地理弧的交点。

B12.根据段落B11所述的交通工具,其中数据处理系统进一步被配置为,对于每个选择的特征对,将传感器平面的交点平移到地平面上,并且将其中地理弧的选择的部分重叠的识别的定位与参考表示上的对应定位相关联。

B13.根据段落B12所述的交通工具,其中数据处理系统进一步被配置为选择参考表示上对应于其中地理弧的选择的部分重叠最多的定位,作为参考表示上对应于传感器平面中的地理弧中的交通工具的定位的定位。

B14.根据段落B10至段落B13中任一项所述的交通工具,其中数据处理系统进一步被配置为,对于每个选择的特征对,将地理弧的选择的部分平移到参考表示上,并且将其中地理弧的选择的部分重叠的识别的定位与参考表示上的对应定位相关联。

B15.根据段落B10至段落B14中任一项所述的交通工具,其中数据处理系统进一步被配置为将物理表面配置的部分的参考表示的区域划分为多个分区,以及对于每个分区分别识别相应分区中的其中对于选择的特征对的地理弧的选择的部分重叠的定位。

B16.根据段落B15所述的交通工具,其中数据处理系统还被配置为对于多个分区中的多个,同时识别相应分区中的其中对于选择的特征对的地理弧的选择的部分重叠的定位。

B17.根据段落B16所述的交通工具,其中传感器具有已知的视场,并且其中数据处理系统还被配置为将物理表面配置的部分的参考表示的区域划分成多个分区,每个分区具有小于已知视场的面积。

B18.根据段落B17所述的交通工具,其中数据处理系统还被配置为对于每个分区,选择包括分区的获取的图像的已知视场中的多个特征对。

C19.一种计算机程序产品,其包括:

至少一个计算机可读存储介质,其具有体现在其中的计算机可读程序指令,当由处理器执行时,计算机可读程序指令将处理器配置为:

存储物理表面配置的部分的参考表示和参考表示中识别的特征;

从远离物理表面配置间隔已知距离的位置接收和存储由交通工具支持的传感器产生的物理表面配置的一部分的图像;

识别接收的图像中的特征;

将获取的图像中的识别的特征与参考表示中的识别的特征相关联,

在接收的图像中选择多个特征对,该多个特征对具有在参考表示中的相应的识别的特征对,

对于接收的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和参考表示中的选择的特征对相关联的三维地理弧,以及

确定远离物理表面配置的部分已知距离设置的地理弧的选择的部分;以及

识别其中对于选择的特征对的地理弧的选择的部分重叠的定位。

C20.根据段落C19所述的计算机程序产品,其中参考表示是沿地平面延伸的二维表示,并且其中计算机可读程序指令在由处理器读取时进一步将处理器配置为确定在地平面上方已知距离处的传感器平面,并且识别传感器平面和地理弧的交点。

C21.根据段落C20所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于每个选择的特征对,将传感器平面的交点平移到地平面上,并将其中地理弧的选择的部分重叠的识别的定位与参考表示上的对应定位相关联。

C22.根据段落C21所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为选择参考表示上对应于其中地理弧的选择的部分重叠最多的定位,作为参考表示上对应于传感器平面中的地理弧中的交通工具的定位的定位。

C23.根据段落C19至段落C22中任一项所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于每个所选择的特征对,将地理弧的选择的部分平移到参考表示上,并且将其中地理弧的选择的部分重叠的识别的定位与参考表示上的对应定位相关联。

C24.根据段落C19至段落C23中任一项所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为将物理表面配置的部分的参考表示的区域划分为多个分区,以及对于每个分区分别识别相应分区中的其中对于选择的特征对的地理弧的选择的部分重叠的定位。

C25.根据段落C24所述的计算机程序产品,其中计算机可读程序指令在被处理器读取时进一步将处理器配置为对于多个分区中的多个,同时识别相应分区中的其中对于选择的特征对的地理弧的选择的部分重叠的定位。

C26.根据段落C25所述的计算机程序产品,其中传感器具有已知的视场,并且其中计算机可读程序指令在由处理器读取时进一步将处理器配置为将物理表面配置的部分的参考表示的区域划分成多个分区,每个分区具有小于已知视场的面积。

C27.根据段落C26所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于每个分区,选择包括分区的接收的图像的已知视场中的多个特征对。

D1.一种用于空间定位的方法,其包括:

从远离物理表面配置间隔开的位置从由交通工具支持的传感器获取物理表面配置的一部分的图像;

识别获取的图像中的特征;

将获取的图像中的识别特征与物理表面配置的该部分的三维参考表示中的识别特征相关联,三维参考表示被限定在体积元素(体素)的三维空间中;

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对;

对于获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和在参考表示中选择的特征对相关联的三维地理弧,以及

识别包括在生成的地理弧中的体素;

对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和;以及

确定识别的一个或更多个体素中的哪个或哪些被包括在最高数量的地理弧中。

D2.根据段落D1所述的方法,其中确定来自传感器的特征对之间的视角包括确定来自传感器的特征对之间的视角范围,该视角范围在高视角和低视角之间延伸,并且生成三维地理弧包括基于高视角生成内部地理弧表面,以及基于低视角生成外部地理弧表面。

D3.根据段落D2所述的方法,其中识别包括在生成的地理弧中的体素包括确定哪些体素在由外部地理弧表面和内部地理弧表面界定(bound)的空间体积中。

D4.根据段落D3所述的方法,其中确定哪些体素在由外部地理弧表面和内部地理弧表面界定的空间体积中包括对于每个考虑的体素确定考虑的体素内的代表点是否在由外部地理弧表面和内部地理弧表面界定的空间体积中。

D5.根据段落D1至段落D4中任一项所述的方法,其中三维空间由具有第一坐标原点的第一坐标系限定,并且其中生成将确定的视角和参考表示中选择的特征对相关联的三维地理弧包括在第一坐标系中生成三维地理弧,识别包括在生成的地理弧中的体素包括将地理弧的坐标变换为具有在相关联的识别的特征对之间的中心的相应坐标原点的相应坐标系,并且将体素的坐标变换到相应的坐标系。

D6.根据段落D5所述的方法,其中将地理弧的坐标变换到相应的坐标系包括通过相关联的识别特征对之间中间(midway)的点的坐标值平移地理弧的坐标,并且旋转地理弧,使得相应坐标系的轴与第一坐标轴对准。

D7.根据段落D6所述的方法,其中识别包括在所生成的地理弧中的体素包括确定每个变换的体素是否设置在距离相应的坐标原点一距离处,该距离是在变换的内部地理弧表面的半径和变换的外部地理弧表面的半径之间。

D8.根据段落D1至段落D7中任一项所述的方法,其中识别包括在所生成的地理弧中的体素包括选择三维空间的一部分,并且对于三维空间的选择的部分中的每个体素确定该体素是否包括在生成的地理弧中。

D9.根据段落D8所述的方法,其中选择三维空间的一部分包括对于每个体素,对其中每个特征对包括有体素的生成的地理弧的数量求和,以及至少部分地基于对于每个体素对包括有体素的生成的地理弧的数量的总和校正/修正(revise)三维空间的选择的部分的尺寸。

D10.根据段落D1至段落D9中任一项所述的方法,其中对于每个体素确定该体素是否包括在生成的地理弧中包括对于三维空间的体素选择体素尺寸,以及对于选择的体素尺寸的每个体素确定该体素是否包括在生成的地理弧中。

D11.根据段落D10所述的方法,其中选择三维空间的一部分包括对于每个体素,对其中每个特征对包括有体素的生成的地理弧的数量求和,以及至少部分地基于对于每个体素对包括有体素的生成的地理弧的数量的总和校正体素尺寸。

D12.根据段落D1至段落D11中任一项所述的方法,其中对于每个体素确定该体素是否包括在生成的地理弧中包括将三维空间划分为多个分离的部分,以及对于多个分离的部分中的多个中的每个,同时识别相应分离部分中的体素是否包括在生成的地理弧中。

E1.一种交通工具,其包括:

传感器,其被配置为从远离物理表面配置间隔开的位置产生物理表面配置的一部分的图像;以及

数据处理系统,其通信地耦接到传感器,该数据处理系统被配置为:

从远离物理表面配置间隔开的位置从传感器获取物理表面配置的一部分的图像;

识别获取的图像中的特征;

将获取的图像中的识别的特征与物理表面配置的该部分的三维参考表示中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中;

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对;

对于获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和在参考表示中选择的特征对相关联的三维地理弧,以及

识别包括在生成的地理弧中的体素;

对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和;以及

确定识别的一个或更多个体素中的哪个或哪些包括在最高数量的地理弧中。

E2.根据段落E1所述的交通工具,其中数据处理系统还被配置为确定来自传感器的特征对之间的视角范围,该视角范围在高视角和低视角之间延伸,并且基于高视角生成内部地理弧表面,以及基于低视角生成外部地理弧表面。

E3.根据段落E2所述的交通工具,其中数据处理系统还被配置为确定哪些体素在由外部地理弧表面和内部地理弧表面界定的空间体积中。

E4.根据段落E3所述的交通工具,其中数据处理系统还被配置为对于每个考虑的体素,确定所考虑的体素内的代表点是否在由外部地理弧表面和内部地理弧表面界定的空间体积中。

E5.根据段落E1至段落E4中任一项所述的交通工具,其中三维空间由具有第一坐标原点的第一坐标系限定,并且其中数据处理系统被进一步配置为在第一坐标系中生成三维地理弧,将地理弧的坐标变换到具有在相关联的识别的特征对之间的中心的相应坐标原点的相应坐标系,并且将体素的坐标变换到相应的坐标系。

E6.根据段落E5所述的交通工具,其中数据处理系统被进一步配置为通过相关联的识别特征对之间中间的点的坐标值平移地理弧的坐标,并且旋转地理弧,使得相应坐标系的轴与第一坐标轴对准。

E7.根据段落E6所述的交通工具,其中数据处理系统被进一步配置为确定每个变换的体素是否设置在远离相应的坐标原点一距离处,该距离是在变换的内部地理弧表面的半径和变换的外部地理弧表面的半径之间。

E8.根据段落E1至段落E7中任一项所述的交通工具,其中数据处理系统被进一步配置为选择三维空间的一部分,以及对于三维空间的选择的部分中的每个体素确定该体素是否包括在生成的地理弧中。

E9.根据段落E8所述的交通工具,其中数据处理系统被进一步配置为对于每个体素对其中每个特征对包括有体素的生成的地理弧的数量求和,以及至少部分地基于对于每个体素对包括有体素的生成的地理弧的数量的总和校正三维空间的选择的部分的尺寸。

E10.根据段落E1至段落E9中任一项所述的交通工具,其中数据处理系统被进一步配置为对于三维空间的体素选择体素尺寸,以及对于选择的体素尺寸的每个体素确定该体素是否包括在生成的地理弧中。

E11.根据段落E10所述的交通工具,其中数据处理系统被进一步配置为对于每个体素对其中每个特征对包括有体素的生成的地理弧的数量求和,以及至少部分地基于对于每个体素对包括有体素的生成的地理弧的数量的总和校正体素尺寸。

E12.根据段落E1至段落E11中任一项所述的交通工具,其中数据处理系统被进一步配置为将三维空间划分成多个分离的部分,并且对于多个分离的部分中的多个中的每个同时识别相应分离部分中的体素是否包括在生成的地理弧中。

F1.一种计算机程序产品,其包括:

至少一个计算机可读存储介质,其具有体现在其中的计算机可读程序指令,当由处理器执行时,计算机可读程序指令将处理器配置为:

从远离物理表面配置间隔开的位置从由交通工具支持的传感器获取物理表面配置的一部分的图像;

识别接收的图像中的特征;

将获取的图像中的识别的特征与物理表面配置的部分的三维参考表示中的识别的特征相关联,三维参考表示被限定在体积元素(体素)的三维空间中;

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的相应的识别的特征对,

对于获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和参考表示中的选择的特征对相关联的三维地理弧,以及

识别包括在生成的地理弧中的体素;

对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和;以及

确定识别的一个或更多个体素中的哪个或哪些包括在最高数量的地理弧中。

F2.根据段落F1所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为确定来自传感器的特征对之间的视角范围,该视角范围在高视角和低视角之间延伸,并且基于高视角生成内部地理弧表面,以及基于低视角生成外部地理弧表面。

F3.根据段落F2所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为确定哪些体素在由外部地理弧表面和内部地理弧表面界定的空间体积中。

F4.根据段落F3所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于每个考虑的体素,确定所考虑的体素内的代表点是否在由外部地理弧表面和内部地理弧表面界定的空间体积中。

F5.根据段落F1至段落F4中任一项所述的计算机程序产品,其中三维空间由具有第一坐标原点的第一坐标系限定,并且其中计算机可读程序指令在由处理器读取时进一步将处理器配置为在第一坐标系中生成三维地理弧,将地理弧的坐标变换到具有在相关联的识别的特征对之间的中心的相应坐标原点的相应坐标系,并且将体素的坐标变换到相应坐标系。

F6.根据段落F5所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为通过相关联的识别的特征对之间中间的点的坐标值平移地理弧的坐标,并且旋转地理弧,使得相应坐标系的轴与第一坐标轴对准。

F7.根据段落F6所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为确定每个变换的体素是否设置在距离相应的坐标原点的一距离处,该距离是在变换的内部地理弧表面的半径和变换的外部地理弧表面的半径之间。

F8.根据段落F1至段落F7中任一项所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为选择三维空间的一部分,以及对于三维空间的选择的部分中的每个体素确定该体素是否包括在生成的地理弧中。

F9.根据段落F8所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于每个体素对其中每个特征对包括有体素的生成的地理弧的数量求和,以及至少部分地基于对于每个体素对包括有体素的生成的地理弧的数量的总和校正三维空间的选择的部分的尺寸。

F10.根据段落F1至段落F9中任一项所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于三维空间的体素选择体素尺寸,以及对于选择的尺寸的每个体素确定该体素是否包括在生成的地理弧中。

F11.根据段落F10所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于每个体素对其中每个特征对包括有体素的生成的地理弧的数量求和,以及至少部分地基于对于每个体素对包括有体素的生成的地理弧的数量的总和校正体素尺寸。

F12.根据段落F1至段落F11中任一项所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为将三维空间划分成多个分离的部分,并且对于多个分离的部分中的多个中的每个同时识别相应分离部分中的体素是否包括在生成的地理弧中。

此外,本公开包括根据下述条款的实施例:

条款1.一种用于空间定位的方法,其包括:

从远离物理表面配置间隔开的位置从由交通工具支持的传感器获取物理表面配置的一部分的图像;

识别获取的图像中的特征;

将获取的图像中的识别的特征与物理表面配置的该部分的三维参考表示中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中;

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对;

对于获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和在参考表示中选择的特征对相关联的三维地理弧,以及

识别包括在生成的地理弧中的体素;

对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和;以及

确定识别的一个或更多个体素中的哪个或哪些被包括在最高数量的地理弧中。

条款2.根据条款1所述的方法,其中确定来自传感器的特征对之间的视角包括确定来自传感器的特征对之间的视角范围,该视角范围在高视角和低视角之间延伸,并且生成三维地理弧包括基于高视角生成内部地理弧表面以及基于低视角生成外部地理弧表面。

条款3.根据条款2所述的方法,其中识别包括在生成的地理弧中的体素包括确定哪些体素在由外部地理弧表面和内部地理弧表面界定的空间体积中。

条款4.根据条款1至条款3中任一项所述的方法,其中三维空间由具有第一坐标原点的第一坐标系限定,并且其中生成将确定的视角和参考表示中选择的特征对相关联的三维地理弧包括在第一坐标系中生成三维地理弧,识别包括在生成的地理弧中的体素包括将地理弧的坐标转换到具有在相关联的识别的特征对之间的中心的相应坐标原点的相应坐标系,并且将体素的坐标转换到相应坐标系。

条款5.根据条款4所述的方法,其中识别包括在生成的地理弧中的体素包括确定每个变换的体素是否设置在距离相应坐标原点一距离处,该距离是在变换的内部地理弧表面的半径和变换的外部地理弧表面的半径之间。

条款6.根据条款1至条款5中任一项所述的方法,其中识别包括在生成的地理弧中的体素包括选择三维空间的一部分,以及对于三维空间的选择的部分中的每个体素确定该体素是否包括在生成的地理弧中。

条款7.根据条款1至条款6中任一项所述的方法,其中对于每个体素确定该体素是否包括在生成的地理弧中包括对于三维空间的体素选择体素尺寸,以及对于选择的体素尺寸的每个体素确定该体素是否包括在生成的地理弧中。

条款8.根据条款1至条款7中任一项所述的方法,其中对于每个体素确定该体素是否包括在生成的地理弧中包括将三维空间划分为多个分离的部分,以及对于多个分离的部分中的多个中的每个同时识别相应分离部分中的体素是否包括在生成的地理弧中。

条款9.一种交通工具,包括:

传感器,其被配置为从远离物理表面配置间隔开的位置产生物理表面配置的一部分的图像;以及

数据处理系统,其通信地耦接到传感器,该数据处理系统被配置为:

从远离物理表面配置间隔开的位置从传感器获取物理表面配置的一部分的图像;

识别获取的图像中的特征;

将获取的图像中的识别的特征与物理表面配置的部分的三维参考表示中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中;

在获取的图像中选择多个特征对,该多个特征对具有在参考表示中的对应的识别的特征对;

对于获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和在参考表示中的选择的特征对相关联的三维地理弧,以及

识别包括在生成的地理弧中的体素;

对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和;以及

确定识别的一个或更多个体素中的哪个或哪些包括在最高数量的地理弧中。

条款10.根据条款9所述的交通工具,其中数据处理系统还被配置为确定来自传感器的特征对之间的视角范围,该视角范围在高视角和低视角之间延伸,并且基于高视角生成内部地理弧表面以及基于低视角生成外部地理弧表面。

条款11.根据条款10所述的交通工具,其中数据处理系统还被配置为确定哪些体素在由外部地理弧表面和内部地理弧表面界定的空间体积中。

条款12.根据条款9至条款11中任一项所述的交通工具,其中三维空间由具有第一坐标原点的第一坐标系限定,并且其中数据处理系统被进一步配置为在第一坐标系中生成三维地理弧,将地理弧的坐标转换到具有在相关联的识别的特征对之间的中心的相应坐标原点的相应坐标系,并且将体素的坐标转换到相应坐标系。

条款13.根据条款12所述的交通工具,其中数据处理系统还被配置为确定每个转换的体素是否设置在距离相应坐标原点一距离处,该距离是在变换的内部地理弧表面的半径和变换的外部地理弧表面的半径之间。

条款14.根据条款9至条款13中任一项所述的交通工具,其中数据处理系统被进一步配置为选择三维空间的一部分,以及对于三维空间的选择的部分中的每个体素确定该体素是否包括在生成的地理弧中。

条款15.根据条款9至条款14中任一项所述的交通工具,其中数据处理系统被进一步配置为对于三维空间的体素选择体素尺寸,以及对于选择的尺寸的每个体素确定该体素是否包括在生成的地理弧中。

条款16.根据条款9至条款15中任一项所述的交通工具,其中数据处理系统被进一步配置为将三维空间划分成多个分离的部分,并且对于多个分离的部分中的多个中的每个同时识别相应分离部分中的体素是否包括在生成的地理弧中。

条款17.一种计算机程序产品,其包括:

至少一个计算机可读存储介质,其具有体现在其中的计算机可读程序指令,当由处理器执行时,计算机可读程序指令将处理器配置为:

从远离物理表面配置间隔开的位置从由交通工具支持的传感器获取物理表面配置的一部分的图像;

识别获取的图像中的特征;

将获取的图像中的识别的特征与物理表面配置的部分的三维参考表示中的识别的特征相关联,该三维参考表示被限定在体积元素(体素)的三维空间中;

在获取的图像中选择多个特征对,该多个特征对具有参考表示中的相应的识别的特征对;

对于获取的图像中的每个选择的特征对,

确定来自传感器的特征对之间的视角,

生成将确定的视角和参考表示中的选择的特征对相关联的三维地理弧,以及

识别包括在生成的地理弧中的体素;

对于每个识别的体素对其中包含有体素的生成的地理弧的数量求和;以及

确定识别的一个或更多个体素中的哪个或哪些包括在最高数量的地理弧中。

条款18.根据条款17所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为确定来自传感器的特征对之间的视角范围,该视角范围在高视角和低视角之间延伸,并且基于高视角生成内部地理弧表面以及基于低视角生成外部地理弧表面。

条款19.根据条款17至条款18中任一项所述的计算机程序产品,其中三维空间由具有第一坐标原点的第一坐标系限定,并且其中计算机可读程序指令在由处理器读取时进一步将处理器配置为在第一坐标系中生成三维地理弧,将地理弧的坐标转换到具有在相关联的识别的特征对之间的中心的相应坐标原点的相应坐标系,并且将体素的坐标转换到相应坐标系。

条款20.根据条款17至条款19中任一项所述的计算机程序产品,其中计算机可读程序指令在由处理器读取时进一步将处理器配置为对于三维空间的体素选择体素尺寸,以及对于选择的尺寸的每个体素确定该体素是否包括在生成的地理弧中。

优点,特征,益处

本文描述的空间定位系统、方法和装置的不同实施例对用于定位图像传感器和支持交通工具的已知解决方案提供若干优点。本文公开的空间定位系统、方法和装置的实施例使用基于无源相机的方法,但是与现有的无源相机方法不同,它们不需要估计3D模型、发现特征星座(constellation)的高精确度对应关系、卷曲图像、或识别场景中的对象。相反,仅需要在图像中测量简单特征(诸如边缘、角、峰等)之间的相对角度,并且只有检测的特征的小的子集需要与映射的特征的数据库匹配,用于相对于物理表面配置(诸如2D或3D对象或场景)的精确的2D或3D空间以及地理定位。空间定位系统、方法和装置的性质使其比现有的基于图像的方法更加精确、稳健(robust)和有效,这些方法尝试将图像或特征星座与地图相匹配。因此,本文描述的说明性实施例对于不是GPS启用的或处于其中GPS不可用的位置的设备特别有用。然而,不是本文所述的所有实施例都提供相同的优点或相同程度的优点。

结论

上述公开可包括具有独立效用的多个不同的发明。虽然这些发明中的每个已经以其(一个或更多个)优选形式公开,但是这里公开和示出的这些发明的具体实施例不被认为是限制意义,因为许多变化是可能的。在本公开中使用章节标题的情况下,此类标题仅用于组织目的,并且不构成任何要求保护的发明的特性。(一个或更多个)本发明的主题包括本文公开的各种元件、特征、功能和/或性质的所有新颖和非显而易见的组合和子组合。以下权利要求特别指出被认为是新颖且非显而易见的某些组合和子组合。特征、功能、元素和/或性质的其他组合和子组合中体现的(一个或更多个)发明可在从该申请或相关申请中要求优先权的申请中要求保护。此类权利要求,无论是针对不同的发明还是相同的发明,以及在范围上无论比原始权利要求更广泛、更窄、相同或不同,也被视为包括在本公开的(一个或更多个)发明的主题内。

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