掌桥专利:专业的专利平台
掌桥专利
首页

全局定位方法和装置

文献发布时间:2023-06-19 19:28:50


全局定位方法和装置

相关申请的交叉引用

本申请要求于2021年10月7日在韩国知识产权局递交的韩国专利申请No.10-2021-0133117的优先权,其全部公开内容通过引用合并于此以用于所有目的。

技术领域

以下公开涉及一种全局定位装置和方法。

背景技术

全局定位技术是指在预先知道地图信息时,基于与目标空间相关联的地图信息来估计设备的六自由度(6DoF)姿态的技术。通过全局定位技术,可以基于确定的地图的坐标来估计设备的绝对位置。全局定位技术可以用于初始地估计设备在目标空间中的姿态,或者用于在初始估计姿态之后丢失了对设备位置的跟踪的情况。使用由设备捕获或感测的图像的全局定位技术可以包括例如:图像检索方案,其搜索匹配查询图像的至少一张图像,并估计与找到的图像相对应的姿态信息;直接姿态回归方案,其使用姿态回归深度网络直接地从查询图像回归姿态;稀疏特征匹配方案,其将特征信息存储在构成三维(3D)地图的点云中,将特征信息匹配到查询图像的二维(2D)特征,并搜索2D-3D匹配关系;以及场景坐标回归方案,其从回归方面获得2D-3D匹配关系。

发明内容

提供了本发明内容以便以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不意在标识所请求保护的主题的关键特征或基本特征,也不意在帮助确定所请求保护的主题的范围。

在一个总体方面,一种全局定位方法包括:通过将输入图像应用于第一网络来提取特征;通过将提取的特征应用于第二网络来估计与输入图像相对应的坐标地图;以及基于估计的坐标地图来估计与输入图像相对应的姿态,其中,第一网络和第二网络中的一个或二者基于以下项中的一个或二者进行训练:基于第一特征和第二特征确定的第一生成对抗网络(GAN)损失,其中第一特征是由第一网络基于通过三维(3D)地图数据确定的合成图像所提取的,第二特征是由第一网络基于真实图像所提取的;以及基于第一坐标地图和第二坐标地图确定的第二GAN损失,其中第一坐标地图是由第二网络基于第一特征所估计的,第二坐标地图是由第二网络基于第二特征所估计的。

第一网络和第二网络中的一个或二者可以基于以下项中的一个或二者进行训练:基于第一坐标地图和与合成图像相对应的真实数据确定的第一损失;以及基于第一姿态和与合成图像相对应的真实数据确定的第二损失,其中第一姿态是基于第一坐标地图所估计的。

真实数据可以包括捕获合成图像的虚拟相机的姿态和与合成图像的每个像素相对应的3D坐标数据。

姿态可以包括捕获输入图像的设备的六自由度(6DoF)姿态。

在另一个总体方面,一个或多个实施例包括一种存储指令的非暂时性计算机可读存储介质,当由一个或多个处理器执行时,该指令将一个或多个处理器配置为执行在此描述的操作和方法中的任何一个、任何组合或全部。

在另一总体方面,一种全局定位方法包括:基于三维(3D)地图数据来确定合成数据集,合成数据集包括由与任意姿态相对应的虚拟相机捕获的合成图像和与合成图像的每个像素相对应的3D坐标数据;基于第一特征和第二特征来确定第一生成对抗网络(GAN)损失,其中第一特征是通过将合成图像应用于第一网络而确定的,第二特征是通过将由真实相机捕获的真实图像应用于第一网络而确定的;基于第一坐标地图和第二坐标地图来确定第二(GAN)损失,其中第一坐标地图是通过将第一特征应用于第二网络而确定的,第二坐标地图是通过将第二特征应用于第二网络而确定的;基于第一坐标地图和与合成图像相对应的3D坐标数据来确定第一损失;基于第一姿态和虚拟相机的姿态来确定第二损失,其中第一姿态是基于第一坐标地图所估计的;以及基于第一损失、第二损失、第一GAN损失和第二GAN损失中的任何一个或任何两个或更多个的任何组合来训练第一网络和第二网络中的一个或二者。

确定合成数据集还可以包括:通过将合成图像应用于第一网络来提取第一特征;通过将提取的第一特征应用于第二网络来估计与合成图像的每个像素相对应的第一坐标地图;基于估计的第一坐标地图来估计与合成图像相对应的第一姿态;通过将真实图像应用于第一网络来提取第二特征;以及通过将提取的第二特征应用于第二网络来估计与合成图像的每个像素相对应的第二坐标地图。

训练第一网络和第二网络中的一个或二者可以包括:基于第一GAN损失来训练第一网络和第一辨别器,其中第一辨别器被配置为在从合成图像提取的第一特征与从真实图像提取的第二特征之间进行辨别。

训练第一网络和第二网络中的一个或二者可以包括:基于第二GAN损失来训练第二网络和第二辨别器,其中第二辨别器被配置为在从合成图像估计的第一坐标地图与从真实图像估计的第二坐标地图之间进行辩别。

训练第一网络和第二网络中的一个或二者可以包括:将基于第一损失确定的梯度迭代地反向传播到第一网络和第二网络。

训练第一网络和第二网络中的一个或二者可以包括:将基于第二损失确定的梯度迭代地反向传播到第一网络和第二网络。

该方法可以包括响应于训练第一网络和第二网络中的一个或二者而进行如下操作:通过将输入图像应用于第一网络来提取特征;通过将提取的特征应用于第二网络来估计与输入图像相对应的坐标地图;以及基于估计的坐标地图来估计与输入图像相对应的姿态。

在另一总体方面,一种全局定位装置包括:一个或多个处理器,被配置为:通过将输入图像应用于全局定位模型的第一网络来提取特征;通过将提取的特征应用于全局定位模型的第二网络来估计输入图像的坐标地图;以及通过将估计的坐标地图应用于全局定位模型的姿态估计器来估计与全局定位结果相对应的姿态,其中,全局定位模型由以下操作生成:基于三维(3D)地图数据来确定合成数据集,合成数据集包括由与任意姿态相对应的虚拟相机捕获的合成图像和与合成图像的每个像素相对应的3D坐标数据;以及迭代地反向传播基于与全局定位模型相关联的一个或多个损失确定的梯度,以更新第一网络和第二网络的参数;并且其中,与全局定位模型相关联的损失可以包括以下项中的一个或二者:基于第一特征和第二特征确定的第一生成对抗网络(GAN)损失,其中第一特征是由第一网络基于合成图像所提取的,第二特征是由第一网络基于真实图像所提取的;以及基于第一坐标地图和第二坐标地图确定的第二GAN损失,其中第一坐标地图是由第二网络基于第一特征所估计的,第二坐标地图是由第二网络基于第二特征所估计的。

与全局定位模型相关联的损失还可以包括:基于第一坐标地图和与合成图像相对应的真实数据确定的第一损失;以及基于第一姿态和与合成图像相对应的真实数据确定的第二损失,其中第一姿态是由姿态估计器基于第一坐标地图所估计的。

迭代地反向传播梯度可以包括:基于第一GAN损失,将通过将第一特征输入到第一辨别器而确定的梯度迭代地反向传播到第一辨别器和第一网络;以及基于第一GAN损失,将通过将第二特征输入到第一辨别器而确定的梯度迭代地反向传播到第一辨别器和第一网络,并且第一辨别器可以包括神经网络,神经网络被配置为基于从合成图像提取的第一特征输出指示合成图像的值,并且基于从真实图像提取的第二特征输出指示真实图像的值。

迭代地反向传播梯度可以包括:基于第二GAN损失,将通过将第一坐标地图输入到第二辨别器而确定的梯度迭代地反向传播到第二辨别器和第二网络;以及基于第二GAN损失,将通过将第二坐标地图输入到第二辨别器而确定的梯度迭代地反向传播到第二辨别器和第二网络,并且第二辨别器可以包括神经网络,神经网络被配置为基于从合成图像估计的第一坐标地图输出指示合成图像的值,并且基于从真实图像估计的第二坐标地图输出指示真实图像的值。

该装置还可以包括存储指令的存储器,该指令在由一个或多个处理器执行时,配置一个或多个处理器执行特征的提取、坐标地图的估计和姿态的估计。

在另一总体方面,一种可以存储全局定位模型的非暂时性计算机可读存储介质,其中,全局定位模型由以下操作生成:基于三维(3D)地图数据,确定由与任意姿态相对应的虚拟相机捕获的合成图像和与合成图像的每个像素相对应的3D坐标数据;迭代地反向传播基于与全局定位模型相关联的一个或多个损失确定的梯度,以更新在全局定位模型中包括的神经网络的参数;以及将神经网络的参数存储在非暂时性计算机可读存储介质中,其中,在全局定位模型中包括的神经网络包括:第一网络,被配置为提取输入图像的特征;以及第二网络,被配置为基于第一网络的输出来估计输入图像的坐标地图,并且其中,与全局定位模型相关联的一个或多个损失可以包括以下项中的一个或二者:基于第一特征和第二特征确定的第一生成对抗网络(GAN)损失,其中第一特征是由第一网络基于合成图像所提取的,第二特征是由第一网络基于真实图像所提取的;以及基于第一坐标地图和第二坐标地图确定的第二GAN损失,其中第一坐标地图是由第二网络基于第一特征所估计的,第二坐标地图是由第二网络基于第二特征所估计的。

与全局定位模型相关联的一个或多个损失还可以包括:基于第一坐标地图和与合成图像相对应的真实数据确定的第一损失;以及基于第一姿态和与合成图像相对应的真实数据确定的第二损失,其中第一姿态是基于第一坐标地图所估计的。

迭代地反向传播梯度可以包括:基于第一GAN损失,将通过将第一特征输入到第一辨别器而确定的梯度迭代地反向传播到第一辨别器和第一网络;以及基于第一GAN损失,将通过将第二特征输入到第一辨别器而确定的梯度迭代地反向传播到第一辨别器和第一网络,并且第一辨别器可以包括神经网络,神经网络被配置为基于从合成图像提取的第一特征输出指示合成图像的值,并且基于从真实图像提取的第二特征输出指示真实图像的值。

迭代地反向传播梯度可以包括:基于第二GAN损失,将通过将第一坐标地图输入到第二辨别器而确定的梯度迭代地反向传播到第二辨别器和第二网络;以及基于第二GAN损失,将通过将第二坐标地图输入到第二辨别器而确定的梯度迭代地反向传播到第二辨别器和第二网络,并且第二辨别器可以包括神经网络,神经网络被配置为基于从合成图像估计的第一坐标地图输出指示合成图像的值,并且基于从真实图像估计的第二坐标地图输出指示真实图像的值。

在另一总体方面,一种全局定位方法包括:基于由一个或多个网络基于合成图像和与合成图像相对应的真实数据提取的一个或多个特征来确定一个或多个真实损失;基于由一个或多个网络基于合成图像提取的一个或多个特征和由一个或多个网络基于真实图像提取的一个或多个特征来确定一个或多个生成对抗网络(GAN)损失;以及基于一个或多个真实损失和一个或多个GAN损失中的任何一个或任何两个或更多个的任何组合来训练一个或多个网络中的任何一个或任何两个或更多个的任何组合。

确定一个或多个GAN损失可以包括以下操作中的一个或二者:基于第一特征和第二特征确定第一生成对抗网络(GAN)损失,其中第一特征是由第一网络基于合成图像所提取的,第二特征是由第一网络基于真实图像所提取的;以及基于第一坐标地图和第二坐标地图确定第二GAN损失,其中第一坐标地图是由第二网络基于第一特征所估计的,第二坐标地图是由第二网络基于第二特征所估计的。

确定一个或多个真实损失可以包括以下操作中的一个或二者:基于由一个或多个网络中的第二网络基于第一特征估计的第一坐标地图和真实数据确定第一损失,其中第一特征是由第一网络基于合成图像所提取的;以及基于第一姿态和真实数据来确定第二损失,其中第一姿态是基于第一坐标地图所估计的。

其他特征和方面将通过以下详细描述、附图和权利要求变得清楚明白。

附图说明

图1示出了全局定位模型的框架的示例。

图2示出了作为全局定位模型的输入数据的图像的示例。

图3示出了坐标地图的示例。

图4示出了与根据全局定位模型的全局定位结果相对应的姿态的示例。

图5示出了训练全局定位模型的方法的框架的示例。

图6A和图6B示出了三维(3D)地图数据的示例。

图7是示出了训练全局定位模型的方法的示例的流程图。

图8示出了全局定位模型的框架的示例。

图9示出了训练全局定位模型的方法的框架的示例。

图10示出了全局定位装置的配置的示例。

在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标记应被理解为指代相同的元件、特征以及结构。附图可以不按比例绘制,并且为了清楚、说明和方便,可以扩大附图中元件的相对尺寸、比例和描绘。

具体实施方式

提供以下详细描述以帮助读者获得对本文描述的方法、装置和/或系统的全面理解。然而,在理解了本申请的公开之后,本文中描述的方法、装置和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中描述的操作顺序仅仅是示例,并且不限于在本文中阐述的那些操作顺序,而是可以在理解本申请的公开之后明显改变,除了必须以一定顺序进行的操作之外。此外,为了更加清楚和简洁,在理解本申请的公开之后,可以省略已知的特征的描述。

本文描述的特征可以以不同形式来实施,并且不被解释为限于本文描述的示例。相反,提供本文中描述的示例仅仅是为了说明实现本文中描述的方法、装置和/或系统的许多可行方式中的一些,在理解本申请的公开之后这些方式将显而易见。

本文中使用的术语仅仅是为了描述具体示例的目的,而不是用于限制本公开。如本文中所使用的,单数形式“一”、“一个”和“该”意在还包括复数形式,除非上下文另外明确指出。如本文中所使用的,术语“和/或”包括关联列出的项目中的任何一个和任何两个或更多个的任何组合。如在本文中所使用的,术语“包括”、“包含”和“具有”表示存在所阐述的特征、数目、操作、元件、组件和/或其组合,但并不排除存在或添加一个或多个其他特征、数目、操作、元件、组件和/或其组合。在本文中,关于示例或实施例(例如,关于示例或实施例可以包括或实现什么)的术语“可以”的使用意味着存在至少一个示例或实施例,其中这样的特征是被包括或实现的,而所有示例不限于此。

虽然本文中使用了“第一”或“第二”的术语来描述各构件、组件、区域、层或部,但是这些构件、组件、区域、层或部不应被这些术语限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一构件、组件、区域、层或部分加以区分。因此,在不脱离示例的教导的情况下,本文中描述的示例中提及的第一构件、组件、区域、层或部分也可以被称为第二构件、组件、区域、层或部分。

贯穿说明书,当诸如层、区域或基板之类的元件被描述为在另一元件“上”、“连接到”或“耦接到”另一元件时,它可以直接在该另一元件“上”、“连接到”或“耦接到”该另一元件,或者可以存在介于其间的一个或多个其他元件。相反,当元件被描述为“直接在另一元件上”、“直接连接到”或“直接耦接到”另一元件时,可以不存在介于其间的其他元件。同样地,也应以如前面描述的表述来解释例如“在...之间”和“直接在......之间”以及“与......相邻”和“与......紧邻”的表述。

除非另外定义,否则这里使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员在理解本公开之后对本公开的理解一致的通常所理解的含义相同的含义。诸如在常用词典中定义的术语应被解释为其含义与在相关技术和本公开的上下文中的含义一致,而不应将被解释为理想的或过于正式的含义,除非本文明确如此定义。

在下文中,将参考附图来详细描述示例。当参考附图描述示例时,相同的附图标记表示相同的元件,并且将省略与其相关的重复描述。

图1示出了全局定位模型100的框架的示例。

参考图1,全局定位模型100(或全局定位设备)可以对应于执行全局定位方法的模型,所述全局定位方法包括接收图像101(例如,一个或多个图像)并输出与全局定位结果相对应的姿态102。全局定位模型100可以包括第一网络110、第二网络120和姿态估计器130。第一网络110和第二网络120可以是经训练的神经网络。在下文中,全局定位模型100可以被简称为“模型”。

图像101可以是通过将位于三维(3D)空间中的对象投影到二维(2D)平面上而获得(例如,确定)的图像,并且图像中的经投影的对象的形状可以根据对象被捕获的位置和角度而变化。

例如,参考图2,可以通过在预定位置和预定角度捕获位于3D空间中的对象201来获得投影到2D平面上的图像202。当对象被捕获201的位置和/或角度改变时,在图像202中包括的对象201的形状可能改变。图像202中的对象201的形状可以对应于通过根据对象被捕获201的位置和角度(即,根据捕获或感测对象201的设备203的姿态)对对象201的实际形状进行投影变换所得到的形状。

返回参考图1,模型100可以知道与输入图像101上的经投影的对象的3D空间相对应的3D坐标。在该示例中,可以估计对象被捕获的位置和角度(例如,捕获或感测对象的设备的姿态)。模型100可以基于经训练的第一网络110和第二网络120来估计与包括对象的投影的图像的每个像素相对应的3D坐标(在下文中称为坐标地图)。基于姿态估计器130,模型100可以基于图像101中的像素的2D坐标和与像素相对应的3D坐标之间的关系来估计获得输入图像101的设备的姿态102。

全局定位模型100中的第一网络110和第二网络120可以是例如各自包括至少一个具有通过训练确定的参数的层的神经网络。

基于全局定位模型100的全局定位方法可以包括以下操作:通过将输入图像101应用于第一网络110来提取特征;通过将提取的特征应用于第二网络120来估计与输入图像101相对应的坐标地图;以及通过将估计的坐标地图应用于姿态估计器130来估计与输入图像101相对应的姿态102。

根据示例,第一网络110可以对应于被训练为从输入图像中提取特征的神经网络。

根据示例,第二网络120可以对应于被训练为基于由第一网络110提取的特征来估计与输入图像101相对应的坐标地图的神经网络。坐标地图可以对应于与图像的每个像素相对应的3D空间中的区域的3D坐标。

例如,参考图3,图像310中包括的像素311可以与3D空间中的点321相对应,并且3D空间中的与像素311相对应的点321可以位于坐标(x

返回参考图1,姿态估计器130可以基于在第二网络120处估计的坐标地图来估计与输入图像101相对应的姿态102。例如,姿态估计器130可以包括通过接收坐标地图来输出姿态102的solvePnP(或透视n点)函数。从姿态估计器130输出的姿态102可以包括捕获或感测输入图像101的设备的位置信息和方向信息。该设备可以包括例如相机、包括相机的设备和/或包括图像传感器的设备。

姿态102可以包括六自由度(6DoF)姿态。6DoF姿态可以包括关于在竖直、水平和深度方向上的彼此正交的三个轴的3D位置信息、以及关于相对于三个轴的倾斜度的方向信息。

例如,参考图4,全局定位模型可以基于图像中的像素的2D坐标和与该像素相对应的3D坐标之间的关系来估计设备402(例如,相机)的包括位置信息和方向信息在内的6DoF姿态,该设备402捕获包括对象401在对象401所位于的空间中的投影的图像。

根据示例,全局定位模型100可以包括作为经训练的神经网络的第一网络110和第二网络120,并且第一网络110和第二网络120可以包括通过根据反向传播算法的训练过程确定的参数。

换句话说,全局定位模型100可以通过全局定位模型的训练过程来生成。训练过程可以包括以下操作:基于3D地图数据,获得由虚拟相机捕获的与任意姿态相对应的合成图像和与合成图像的每个像素相对应的3D坐标数据;迭代地反向传播基于与全局定位模型相关联的至少一个损失获得的梯度,以更新作为包括在全局定位模型中的神经网络的第一网络110和第二网络120的参数;以及存储第一网络110和第二网络120的参数。

在示例中,可以训练第一网络110和/或第二网络120以输出与在训练数据中包括的图像相对应的真实(ground truth)数据。在训练数据中包括的图像可以包括与该图像相对应的准确的坐标地图以及标记有与该图像相对应的准确的姿态的合成图像。合成图像可以是通过假设由虚拟相机捕获的图像基于3D地图数据而生成的图像,并且可以与在真实空间中由真实相机捕获的真实图像区分开。下面将描述包括合成图像在内的训练数据的非限制性示例。

根据示例,可以基于第一损失和第二损失中的至少一个来训练第一网络110和第二网络120中的至少一个。可以基于与在训练数据中包括的合成图像相对应的真实数据以及由第二网络120基于在训练数据中包括的合成图像估计的坐标地图来获得第一损失,并且可以基于由姿态估计器130基于在训练数据中包括的合成图像和与合成图像相对应的真实数据估计的姿态来获得第二损失。与训练数据中包括的合成图像相对应的真实数据可以包括与合成图像相对应的坐标地图的真实(ground truth,GT)、以及与合成图像相对应的姿态的GT。下面将详细描述基于第一损失和/或第二损失来训练全局定位模型的方法的非限制性示例。

在另一示例中,第一网络110和/或第二网络120可以基于根据辨别器的生成对抗网络(GAN)损失被对抗地训练为辨别器,该辨别器被配置为在真实图像和合成图像之间进行辨别。例如,可以基于第一GAN损失和第二GAN损失中的至少一个来训练第一网络110和第二网络120中的至少一个。第一GAN损失可以对应于基于由第一网络110基于由3D地图数据获得的合成图像提取的第一特征和由第一网络110基于真实图像提取的第二特征而获得的损失。第二GAN损失可以对应于基于由第二神经网络120基于第一特征估计的第一坐标地图和由第二神经网络120基于第二特征估计的第二坐标地图而获得的损失。下面将详细描述基于第一GAN损失和/或第二GAN损失来训练全局定位模型的方法的示例。

图5示出了训练全局定位模型的方法的框架的示例。

参考图5,全局定位模型的训练数据可以包括合成数据集501和真实图像505。合成数据集501可以包括由与任意姿态相对应的虚拟相机捕获的合成图像504、以及与合成图像504的每个像素相对应的3D坐标数据。与合成图像504的每个像素相对应的3D坐标数据可以对应于与合成图像504相对应的坐标地图的真实数据503(在下文中称为“GT坐标地图503”)。根据示例,在合成数据集501中包括的合成图像504可以包括捕获合成图像504的虚拟相机的姿态信息。换句话说,合成数据集501还可以包括与合成图像504相对应的姿态的真实数据502(在下文中称为“GT姿态502”)。换句话说,合成数据集501中包括的合成图像504可以标记有GT姿态502和GT坐标地图503。

根据示例,可以基于3D地图数据来获得合成数据集501。例如,参考图6A,3D地图数据610可以包括与任意空间相对应的点云611。换句话说,3D地图数据610可以对应于通过将在任意空间中包括的至少一个对象建模为点云611(其是3D虚拟空间中的点集)而获得的数据。例如,参考图6B,在点云中包括的点可以表示在3D坐标系620中(其中,预定位置621是D虚拟空间中的原点),并且与每个点相对应的3D坐标可以被解释为指示对应的点在3D空间中的位置。在点云中包括的点可以包括指示位置的3D坐标和指示颜色的RGB值。

返回参考图5,可以基于3D地图数据来获得由与任意姿态相对应的虚拟相机捕获的合成图像504。合成图像504可以对应于通过以下方式获得的对象的合成投影图像,其中该对象是通过假设包括在3D地图数据中的对象由设置在与3D地图数据相对应的空间中的预定角度和预定位置处的虚拟相机捕获而获得的。换句话说,合成图像504可以是通过对在3D地图数据中包括的一些点进行投影变换而生成的图像,并且可以与通过真实相机捕获真实空间而获得的真实图像505区分开。可以基于虚拟相机的位置和角度来确定投影变换。根据示例,合成图像504还可以包括基于投影在合成图像504上的点的RGB值的颜色信息。

可以准确地识别出与合成图像504中的每个像素相对应的区域的3D地图数据中的3D坐标,并且因此可以获得与合成图像504相对应的GT坐标地图503。此外,由于合成图像504对应于通过假设虚拟相机的布置而基于3D地图数据生成的图像,因此可以准确地知道捕获合成图像504的虚拟设备的姿态。因此,也可以获得与合成图像504相对应的GT姿态502。

根据示例,当合成数据集501包括合成图像504以及与合成图像504相对应的GT姿态502和GT坐标地图503时,可以在训练过程中计算与由第二网络520估计的坐标地图相关联的第一损失506和与由姿态估计器530估计的姿态相关联的第二损失507。

根据示例,可以基于从第二网络520基于合成图像504输出的第一坐标地图和与合成图像504相对应的GT坐标地图503来获得第一损失506。第一坐标地图可以被输出为通过将从第一网络510基于合成图像504输出的第一特征应用于第二网络520而获得的结果。在示例中,可以将基于第一损失506获得的梯度迭代地反向传播到第一网络510和第二网络520,使得第一网络510和第二网络520的权重可以被更新。基于第一损失506获得的梯度可以对应于通过从第二网络基于合成图像504输出的第一坐标地图和与合成图像504相对应的GT坐标地图503之间的差而获得的梯度。

根据示例,可以基于从姿态估计器530基于合成图像504输出的第一姿态和与合成图像504相对应的GT姿态502来获得第二损失507。第一姿态可以被输出为通过将从第二网络520基于合成图像504输出的第一坐标地图输入到姿态估计器530而获得的结果。例如,可以将基于第二损失507获得的梯度迭代地反向传播到第一网络510和第二网络520,使得第一网络510和第二网络520的权重可以被更新。基于第二损失507获得的梯度可以对应于通过从姿态估计器530基于合成图像504输出的第一姿态和与合成图像504相对应的GT姿态502之间的差而获得的梯度。

例如,当第二网络520的权重由w

等式1:

等式2:

L

在等式1中,f表示第一网络510的输出,S表示第二网络520,s=S(f;w)可以对应于通过第二网络520的权重w从f输出的坐标地图,s*表示GT坐标地图,以及L

在等式2中,P表示姿态估计器,p=P(S(f;w))可以对应于从姿态估计器530基于从第二网络520输出的坐标地图s=S(f;w)输出的姿态,并且L

根据示例,当仅基于合成数据集501来执行全局定位模型的训练时,相对于与合成图像504的域不同的域相对应的真实图像505,全局定位的性能可能降低。为了减少全局定位模型中合成图像504和真实图像505之间的域差距,一个或多个实施例的训练过程可以附加地使用第一辨别器540和第二辨别器550来执行。

根据示例,第一辨别器540可以执行从第一网络510输出的特征的域分类,并且第二辨别器550可以执行从第二网络520输出的坐标地图的域分类。域分类可以对应于确定输入数据是对应于合成图像504还是真实图像505的操作。

例如,第一辨别器540可以包括神经网络,该神经网络被配置为基于从合成图像504提取的特征来输出指示合成图像504的值,并且基于从真实图像505提取的特征来输出指示真实图像505的值。第一辨别器540可以被训练为:当输入特征被确定为是从合成图像504提取的特征时,输出指示合成图像504的值(例如,值“1”),并且当输入特征被确定为是从真实图像505提取的特征时,输出指示真实图像505的值(例如,值“0”)。

此外,第二辨别器550可以包括神经网络,该神经网络被配置为基于从合成图像504估计的坐标地图输出指示合成图像504的值,并且基于从真实图像505估计的坐标地图输出指示真实图像505的值。第二辨别器550可以被训练为:当输入坐标地图被确定为是基于合成图像504估计的坐标地图时,输出指示合成图像504的值(例如,值“1”),并且当输入坐标地图被确定为是基于真实图像505估计的坐标地图时,输出指示真实图像505的值(例如,值“0”)。

根据示例,第一网络510可以基于第一GAN损失508被对抗地训练为第一辨别器540。可以基于由第一网络510基于合成图像504提取的第一特征和由第一网络510基于真实图像505提取的第二特征来获得第一GAN损失508。例如,当合成图像504被输入到全局定位模型时,可以基于从第一辨别器540基于第一特征输出的结果和指示合成图像504的值之间的差来计算第一GAN损失508,其中指示合成图像504的值是与第一特征相对应的域分类的真实数据。当真实图像505被输入到全局定位模型时,可以基于从第一辨别器540基于第二特征输出的结果和指示真实图像505的值之间的差来计算第一GAN损失508,其中指示真实图像505的值是与第二特征相对应的域分类的真实数据。

例如,可以将基于第一GAN损失508获得的梯度迭代地反向传播到第一辨别器540和第一网络510,使得第一辨别器540和第一网络510的权重可以被更新。基于第一GAN损失508获得的梯度可以对应于通过从第一辨别器540基于输入特征输出的域分类结果和与输入特征相对应的域分类的真实数据之间的差而获得的梯度。例如,基于第一GAN损失508,第一辨别器540可以被训练为基于输入特征输出域分类的真实数据,并且第一网络510可以被训练为提取第一辨别器540难以执行域分类的特征(例如,第一网络510可以被训练为提取特征,使得由第一辨别器540基于该提取的特征执行的域分类的准确度低于预定阈值)。

根据示例,在训练过程中,合成图像504和真实图像505可以交替地输入到全局定位模型中。在示例中,可以交替地执行以下过程:响应于输入了合成图像504,将通过输入第一特征获得的梯度反向传播到基于第一GAN损失508的第一辨别器540;以及响应于输入了真实图像505,将通过输入第二特征获得的梯度反向传播到基于第一GAN损失508的第一辨别器540。在另一示例中,可以交替地执行以下过程:响应于输入了合成图像504,将通过输入第一坐标地图获得的梯度反向传播到基于第二GAN损失509的第二辨别器550;以及响应于输入了真实图像505,将通过输入第二坐标地图获得的梯度反向传播到基于第二GAN损失509的第二辨别器550。

根据示例,第二网络520可以基于第二GAN损失509被对抗地训练为第二辨别器550。第二GAN损失509可以基于由第二网络520基于第一特征估计的第一坐标地图和由第二网络520基于第二特征估计的第二坐标地图来获得。如上所述,第一特征可以对应于从第一网络510基于合成图像504输出的特征,并且第二特征可以对应于从第一网络510基于真实图像505输出的特征。例如,当合成图像504被输入到全局定位模型时,可以基于从第二辨别器550基于第一坐标地图输出的结果和指示合成图像504的值之间的差来计算第二GAN损失509,其中指示合成图像504的值是与第一坐标地图相对应的域分类的真实数据。当真实图像505被输入到全局定位模型时,可以基于从第二辨别器550基于第二坐标地图输出的结果和指示真实图像505的值之间的差来计算第二GAN损失509,其中指示真实图像505的值是与第二坐标地图相对应的域分类的真实数据。

在示例中,可以将基于第二GAN损失509获得的梯度迭代地反向传播到第二辨别器550和第二网络520,使得第二辨别器550和第二网络520的权重可以被更新。基于第二GAN损失509获得的梯度可以对应于通过从第二辨别器550基于输入坐标地图输出的域分类结果和与输入坐标地图相对应的域分类的真实数据之间的差而获得的梯度。例如,基于第二GAN损失509,第二辨别器550可以被训练为基于输入坐标地图输出域分类的真实数据,并且第二网络520可以被训练为提取第二辨别器550难以执行域分类的坐标地图(例如,第二网络520可以被训练为提取坐标地图,使得由第二辨别器550基于该提取的坐标地图执行的域分类的准确度低于预定阈值)。

根据示例,除了第二辨别器550和第二网络520之外,第二GAN损失509的梯度还可以被反向传播到第一网络510,并且因此第一网络510的权重可以被更新。

根据示例,反向传播基于第一GAN损失508获得的梯度的过程可以包括以下过程:将与通过将第一特征输入到第一辨别器540而获得的输出相对应的误差的梯度反向传播到基于第一GAN损失508的第一辨别器540和第一网络510;以及将与通过将第二特征输入到第一辨别器540而获得的输出相对应的误差的梯度迭代地反向传播到基于第一GAN损失508的第一辨别器540和第一网络510。例如,可以交替地反向传播与通过将第一特征输入到第一辨别器540而获得的输出相对应的误差的梯度、以及与通过将第二特征输入到第一辨别器540而获得的输出相对应的误差的梯度。

根据示例,训练第一网络510和第二网络520中的至少一个的操作可以包括基于第二GAN损失509来训练第二网络520和第二辨别器550。第二辨别器550可以被配置为在从合成图像504估计的坐标地图和从真实图像505估计的坐标地图之间进行辨别。第二GAN损失509可以包括基于由第二网络520基于第一特征估计的第一坐标地图和由第二网络520基于第二特征估计的第二坐标地图获得的损失。例如,合成图像504和真实图像505可以交替地输入到全局定位模型,并且基于第二GAN损失509获得的误差的梯度可以迭代地反向传播到第二辨别器550和第二网络520。

根据示例,反向传播基于第二GAN损失509获得的误差的梯度的过程可以包括以下过程:将与通过将第一特征输入到第二辨别器550而获得的输出相对应的误差的梯度反向传播到基于第二GAN损失509的第二辨别器550和第二网络520;以及将与通过将第二特征输入到第二辨别器550而获得的输出相对应的误差的梯度迭代地反向传播到基于第二GAN损失509的第二辨别器550和第二网络520。例如,可以将合成图像504和真实图像505交替地输入到全局定位模型,并且可以交替地反向传播与通过将第一特征输入到第二辨别器550而获得的输出相对应的误差的梯度、以及与通过将第二特征输入到第二辨别器550而获得的输出相对应的误差的梯度。

例如,当第一辨别器540的权重和第二辨别器550的权重分别由w

等式3:

等式4:

在等式3和4中,d*∈{0,1}表示域分类的真实数据,并且可以使用指示合成图像504或真实图像505的二进制变量,D

如上所述,第一网络510可以基于第一GAN损失508被对抗地训练为第一辨别器540,并且可以基于第一损失506和第二损失507进行训练。在示例中,可以将训练第一网络510的过程定义为两个操作,即,基于第一GAN损失508和第一损失506来更新第一网络510的权重的训练操作,以及基于第一GAN损失508和第二损失507来更新第一网络510的权重的训练操作,例如分别如下面的等式5和6所示。

等式5:

等式6:

如上所述,第二网络520可以基于第二GAN损失509被对抗地训练为第二辨别器550,并且可以基于第一损失506和第二损失507进行训练。在示例中,可以将训练第二网络520的过程定义为两个过程,即,基于第二GAN损失509和第一损失506来更新第二网络520的权重的训练过程,以及基于第二GAN损失509和第二损失507来更新第二网络520的权重的训练过程,例如分别如下面的等式7和8所示。

等式7:

等式8:

如上所述,除了第二辨别器550和第二网络520之外,第二GAN损失509的梯度还可以被反向传播到第一网络510,并且因此可以训练第一网络510以基于第二GAN损失509来更新第一网络510的权重。

图7是示出了训练全局定位模型的方法的示例的流程图。

参考图7,训练全局定位模型的方法可以包括:基于3D地图数据获得合成数据集的操作710,获得第一GAN损失的操作720,获得第二GAN损失的操作730,获得第一损失的操作740,获得第二损失的操作750,以及训练第一网络和第二网络中的至少一个的操作760。训练全局定位模型的方法的操作710至760可以由至少一个处理器来执行。

操作710可以包括获得合成数据集,该合成数据集包括由与任意姿态相对应的虚拟相机捕获的合成图像和与合成图像的每个像素相对应的3D坐标数据。如上所述,与合成图像的每个像素相对应的3D坐标数据可以与GT坐标地图相对应,并且合成数据集还可以包括与合成图像相对应的GT姿态。

在操作710之后,训练全局定位模型的方法还可以包括以下操作:通过将合成图像应用于第一网络来提取第一特征;通过将提取的第一特征应用于第二网络来估计与合成图像的每个像素相对应的第一坐标地图;以及基于估计的第一坐标地图估计与合成图像相对应的第一姿态。此外,该方法还可以包括以下操作:通过将由真实相机捕获的真实图像应用于第一网络来提取第二特征;以及通过将提取的第二特征应用于第二网络来估计与真实图像的每个像素相对应的第二坐标地图。

操作720可以包括基于通过将合成图像应用于第一网络而获得的第一特征和通过将真实图像应用于第一网络而获得的第二特征来获得第一GAN损失的操作。

操作730可以包括基于通过将第一特征应用于第二网络而获得的第一坐标地图和通过将第二特征应用于第二网络而获得的第二坐标地图来获得第二GAN损失。

操作740可以包括基于第一坐标地图和与合成图像相对应的3D坐标数据获得第一损失的操作。

操作750可以包括基于第一姿态和虚拟相机的姿态来获得第二损失,该第一姿态是基于第一坐标地图估计的。

操作760可以包括基于第一损失、第二损失、第一GAN损失和第二GAN损失中的任何一个或任何组合来训练第一网络和第二网络中的至少一个(例如,一个或二者)。例如,操作760可以包括以下操作:迭代地反向传播基于与全局定位模型相关联的至少一个损失(例如,第一损失、第二损失、第一GAN损失和第二GAN损失中的至少一个)而获得的梯度,以更新全局定位模型中包括的神经网络(例如,第一网络和第二网络中的至少一个)的参数;以及存储神经网络的参数。神经网络的参数可以存储在存储全局定位模型的记录介质或存储器中。

根据示例,操作760可以包括训练第一网络和第一辨别器的操作,第一辨别器被配置为基于第一GAN损失,在从合成图像提取的特征和从真实图像提取的特征之间进行辨别。例如,操作760可以包括以下操作:基于第一GAN损失,将通过将第一特征输入到第一辨别器而获得的梯度迭代地反向传播到第一辨别器和第一网络;以及基于第一GAN损失,将通过将第二特征输入到第一辨别器而获得的梯度迭代地反向传播到第一辨别器和第一网络。如上所述,第一辨别器可以包括神经网络,该神经网络被配置为基于从合成图像提取的特征输出指示合成图像的值,并且基于从真实图像提取的特征输出指示真实图像的值。

根据示例,操作760可以包括训练第二网络和第二辨别器的操作,第二辨别器被配置为基于第二GAN损失,在从合成图像估计的坐标地图和从真实图像估计的坐标地图之间进行辨别。例如,操作760可以包括以下操作:基于第二GAN损失,将通过将第一坐标地图输入到第二辨别器而获得的梯度迭代地反向传播到第二辨别器和第二网络;以及基于第二GAN损失,将通过将第二坐标地图输入到第二辨别器而获得的梯度迭代地反向传播到第二辨别器和第二网络。如上所述,第二辨别器可以包括神经网络,该神经网络被配置为基于从合成图像估计的坐标地图输出指示合成图像的值,并且基于从真实图像估计的坐标地图输出指示真实图像的值。

在示例中,操作760可以包括将基于第一损失获得的梯度迭代地反向传播到第一网络和第二网络。在另一示例中,操作760可以包括将基于第二损失获得的梯度迭代地反向传播到第一网络和第二网络。

图8示出了全局定位模型800的框架的示例。

参考图8,全局定位模型800可以对应于被配置为执行接收图像801并输出与全局定位结果相对应的姿态802的全局定位方法的模型。全局定位模型800可以包括经训练的神经网络,并且神经网络可以包括第一网络810和第三网络820。

根据示例,分别作为全局定位模型800的输入数据和输出数据的图像801和姿态802可以分别对应于分别作为图1的全局定位模型100的输入数据和输出数据的图像101和姿态102。

第一网络810可以是例如被训练以从输入图像提取特征的网络,并且可以对应于图1的神经网络110。

第三网络820可以对应于例如被训练以基于由第一网络810提取的特征来估计与输入图像801相对应的姿态的神经网络。图1的姿态估计器130可以是通过接收第二网络120输出的坐标地图作为输入、并且使用例如PnP算法来估计与输入图像101相对应的姿态102的模块,而第三网络820可以是通过接收第一网络810输出的特征作为输入来估计与输入图像801相对应的姿态802的神经网络。因此,全局定位模型800可以不同于图1的全局定位模型100。

根据示例,在全局定位模型800中包括的第一网络810和第三网络820可以包括由基于反向传播算法的训练过程确定的参数。换句话说,全局定位模型800可以通过全局定位模型的训练过程来生成。训练过程可以包括以下操作:基于3D地图数据获得由与任意姿态相对应的虚拟相机捕获的合成图像;迭代地反向传播基于与全局定位模型相关联的至少一个损失而获得的梯度,以更新在全局定位模型800中包括的第一网络810和第三网络820的参数;以及存储第一网络810和第三网络820的参数。

在示例中,可以训练第一网络810和/或第三网络820以输出与在训练数据中包括的图像相对应的真实数据。例如,第一网络810和第三网络820可以基于第二损失来训练,其中第二损失是基于由第三网络820基于在训练数据中包括的合成图像和与在训练数据中包括的合成图像相对应的真实数据估计的姿态而获得的。与训练数据中包括的合成图像相对应的真实数据可以包括与合成图像相对应的姿态的真实。第二损失可以对应于以上参考图1至图7所描述的第二损失。下面将详细描述基于第二损失训练全局定位模型的方法的示例。

在另一示例中,第一网络810和第三网络820可以基于根据辨别器的GAN损失被对抗地训练为辨别器,该辨别器被配置为在真实图像和合成图像之间进行辨别。例如,可以基于第一GAN损失来训练第一网络810。第一GAN损失可以对应于以上参考图1至图7所描述的第一GAN损失。换言之,第一GAN损失可以对应于基于由第一网络810基于根据3D地图数据获得的合成图像提取的第一特征和由第一网络810基于真实图像提取的第二特征而获得的损失。下面将详细描述基于第一GAN损失训练全局定位模型的方法的示例。

图9示出了训练全局定位模型的方法的框架的另一示例。

参考图9,全局定位模型的训练数据可以包括合成数据集901和真实图像904。合成数据集901可以包括由与任意姿态相对应的虚拟相机捕获的合成图像903、以及与合成图像903相对应的姿态的真实数据902(在下文中称为“GT姿态902”)。如上所述,合成数据集901中包括的合成图像903可以包括捕获合成图像903的虚拟相机的姿态信息。因此,合成图像903可以被标记有GT姿态902。

根据示例,第二损失905可以对应于上面参考图5所描述的第二损失507。换句话说,第二损失905可以基于在第三网络920中基于合成图像903估计的姿态和与合成图像903相对应的GT姿态902来获得。例如,可以将基于第二损失905获得的梯度迭代地反向传播到第一网络910和第三网络920,使得第一网络910和第三网络920的权重可以被更新。

根据示例,第一网络910可以基于第一GAN损失906被对抗地训练为第一辨别器930。第一辨别器930可以对应于以上参考图5所描述的第一辨别器540。换言之,第一辨别器930可以被训练为:如果输入特征被确定为是从合成图像903提取的特征,则输出指示合成图像903的值(例如,值“1”),并且如果输入特征被确定为是从真实图像904提取的特征,则输出指示真实图像904的值(例如,值“0”)。

根据示例,第一GAN损失906可以对应于以上参考图5所描述的第一GAN损失508。基于第一GAN损失906获得的梯度可以被迭代地反向传播到第一辨别器930和第一网络910,使得第一辨别器930和第一网络910的权重可以被更新。例如,基于第一GAN损失906,第一辨别器930可以被训练为基于输入特征输出域分类的真实数据,并且第一网络910可以被训练为提取第一辨别器930难以执行域分类的特征(例如,第一网络910可以被训练为提取特征,使得由第一辨别器930基于该提取的特征执行的域分类的准确度低于预定阈值)。

图10示出了全局定位装置的配置的示例。

参考图10,全局定位装置1000可以包括处理器1001(例如,一个或多个处理器)、存储器1003(例如,一个或多个存储器)和输入/输出(I/O)设备1005。全局定位装置1000可以包括例如用户设备(例如,智能电话、个人计算机(PC)、平板PC等)、AR眼镜和服务器。

全局定位装置1000中的存储器1003可以记录全局定位模型。全局定位模型可以包括例如以上参考图1至图7所描述的全局定位模型、或者以上参考图8和图9所描述的全局定位模型。例如,存储器1003可以是易失性存储器或非易失性存储器。

在下文中,将描述记录在存储器1003中的全局定位模型作为以上参考图1至图7所描述的全局定位模型的示例。换句话说,全局定位模型可以包括:第一网络,被配置为提取输入图像的特征;第二网络,被配置为基于第一网络的输出来估计输入图像的坐标地图;以及姿态估计器,被配置为基于第二网络的输出来估计与全局定位结果相对应的姿态。

如上所述,可以通过训练全局定位模型的方法来生成全局定位模型。例如,全局定位模型可以通过以下操作生成:基于3D地图数据获得合成数据集;迭代地反向传播基于与全局定位模型相关联的至少一个损失获得的梯度,以更新在全局定位模型中包括的神经网络的参数;以及将神经网络的参数存储在存储器1003中。在示例中,如以上参考图1所描述的,在全局定位模型中包括的神经网络可以包括第一网络和第二网络。在另一示例中,如以上参考图8所描述的,在全局定位模型中包括的神经网络可以包括第一网络和第三网络。

根据示例,存储器1003可以存储实现上述全局定位模型的程序,并且处理器1001可以执行存储器1003中存储的程序并控制全局定位装置1000。例如,处理器1001可以通过将输入图像应用于第一网络来获得从第一网络输出的输入图像的特征,可以通过将该特征应用于第二网络来获得从第二网络输出的与输入图像相对应的坐标地图,并且可以获得从姿态估计器基于坐标地图输出的与输入图像相对应的姿态。处理器1001可以执行以上参考图1至图9所描述的任何或全部操作。

全局定位装置1000可以通过I/O设备1005连接到外部设备(例如,PC、服务器或网络)以与外部设备交换数据。例如,全局定位装置1000可以通过I/O设备1005接收图像,并且可以输出基于作为全局定位模型的结果的图像而估计的姿态。

全局定位装置、处理器、存储器、I/O设备、全局定位装置1000、处理器1001、存储器1003、I/O设备1005以及本文关于图1至图10所描述的其他设备、装置、单元、模块和组件由硬件组件实现,或表示硬件组件。在适当的情况下可用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本申请所述的操作的任何其他电子组件。在其他示例中,用于执行本申请中所描述的操作的一个或多个硬件组件由计算硬件(例如,由一个或多个处理器或计算机)实现。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其他设备或设备的组合)来实现。在一个示例中,处理器或计算机包括(或连接到)存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如,操作系统(OS)和在OS上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件还可以响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,在本申请中描述的示例的描述中可以使用单数术语“处理器”或“计算机”,但是在其他示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其他硬件组件可以由一个或多个其他处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可以具有不同的处理配置中的任一种或多种,所述处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理、和多指令多数据(MIMD)多处理。

图1至图10所示的执行本申请中描述的操作的方法是通过计算硬件来执行的,例如,由一个或多个处理器或计算机执行,如上所述实施为执行指令或软件以执行在本申请中描述的由所述方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器执行,并且一个或多个其他操作可以由一个或多个其它处理器或者另一处理器和另一控制器执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。

用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可以被编写为计算机程序、代码段、指令或其任何组合,用于单独或共同指示或配置一个或多个处理器或计算机以作为机器或专用计算机操作从而执行由上述硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的更高级的代码。可以基于附图中所示出的框图和流程图以及说明书中的对应的描述(其公开了用于执行由硬件组件执行的操作和如上所述的方法的算法),使用任何编程语言来编写指令或软件。

用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构可以被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或其上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储设备、光学数据存储设备、硬盘、固态盘以及任何其他设备,所述任何其他设备被配置为以非暂时性方式存储指令或软件以及任何相关数据、数据文件和数据结构,并且向一个或多个处理器或计算机提供指令或软件以及任何相关数据、数据文件和数据结构,使得一个或多个处理器或计算机可以执行所述指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得一个或多个处理器或计算机以分布方式存储、访问和执行所述指令和软件以及任何相关联的数据、数据文件和数据结构。

尽管本公开包括特定示例,但是在理解了本申请的公开内容之后将显而易见的是,在不脱离权利要求及其等同物的精神和范围的情况下,可以对这些示例进行形式和细节上的各种改变。本文描述的示例应仅被认为是描述性的,而不是为了限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、设备或电路中的组件以不同的方式组合和/或被其他组件或其等同物替换或补充,则可以实现合适的结果。

相关技术
  • 一种基于近地全局视觉的高空检修机器人定位方法及装置
  • 电子部件输送装置及检查装置、定位装置及方法、部件输送装置
  • 一种用于图像定位的模型训练方法、图像定位方法及装置
  • 定位方法、装置和系统、定位系统布设方法、存储介质
  • 限制场景下辅助无人车全局定位的场端及全局定位方法
  • 一种全局定位系统、具有该全局定位系统的智能扫地机器人及其工作方法
技术分类

06120115921570