确定可移动的设备的位置

文档序号:1525397 发布日期:2020-02-11 浏览:6次 >En<

阅读说明:本技术 确定可移动的设备的位置 (Determining the position of a mobile device ) 是由 王森 罗纳德·克拉克 尼基·特里戈尼 于 2018-01-17 设计创作,主要内容包括:一种确定包括摄像头的可移动的设备的位置的计算机执行的方法。该方法包括以下步骤:使用摄像头捕获一段时间内的图像序列;对于来自图像序列的连续图像对,使用第一神经网络确定表明设备的运动的特征,该设备的运动在捕获该图像对的第一图像的时间与捕获该图像对的第二图像的时间之间;对于连续图像序列,使用第二神经网络从由第一神经网络确定的特征确定表明设备的位置的特征;以及对于连续图像序列,从由第二神经网络确定的特征确定设备的位置。(A computer-implemented method of determining a position of a movable device including a camera. The method comprises the following steps: capturing a sequence of images over a period of time using a camera; for successive pairs of images from the sequence of images, determining features indicative of motion of the device using a first neural network, the motion of the device being between a time of capturing a first image of the pair of images and a time of capturing a second image of the pair of images; for a sequence of consecutive images, determining features indicative of a location of the device from the features determined by the first neural network using the second neural network; and for a sequence of consecutive images, determining a location of the device from the features determined by the second neural network.)

确定可移动的设备的位置

技术领域

本发明涉及确定可移动的设备的位置。更具体地但非排他地,本发明涉及使用神经网络从由可移动的设备的摄像头捕获的图像确定可移动的设备的位置。

本发明特别地但非排他地适用于可移动的设备是自主机器人的情况。然而,本发明还适用于其他类型的可移动的设备和可穿戴的设备,例如移动电话、智能手表等。

这里讨论的“位置”可以指绝对位置,例如可移动的设备位于由纬度和经度定义的地球上的位置,并且还可以指相对于另一位置的相对位置(例如,可移动的设备距离初始起始位置的距离和方向)。位置的确定还经常包括方向的确定,例如相对于地球磁场的绝对值,以及相对于初始方向一定量的旋转的相对值。

背景技术

期望能够在GPS信号不可用的情况下确定可移动的设备的位置。这对于自主机器人来说尤其如此,以允许精确的导航。已知的方法是使用来自摄像头的图像以便确定位置。然而,如果要可靠地确定位置,则这种系统往往需要非常精确的摄像头的校准。传统的视觉测程技术包括稀疏方法(包括若干步骤,该几个步骤包括特征的检测和匹配、运动估计和优化),以及直接方法(包括运动估计和优化的步骤)。这种技术倾向于需要精确的摄像头校准,并且通常在纹理不良的环境中(即,具有很少特征的地方)或者当正在捕获图像的摄像头快速旋转时失败。另外,虽然这种系统通常能够确定行进的路径的形状,但是它们通常不能估计尺度,即行进的实际距离。

替代性地,已知使用神经网络来处理来自摄像头的图像以便确定位置。Mohanty等人的“DeepVO:A Deep Learning approach for Monocular Visual Odometry(用于单目视觉测程的深度学习方法)”(2016年11月18日发布于预印本网站(arXiv:1611.06069))公开了这样的系统。然而,使用神经网络的已知系统存在各种问题。它们往往需要针对将要使用它们的特定环境进行训练,因此无法在没有首先进行适当的训练的新环境中使用。

本发明寻求缓解上述问题。可选择地和/或附加地,本发明寻求提供确定可移动的设备的位置的改进方法。

发明内容

根据本发明的第一方面,提供了一种确定包括摄像头的可移动的设备的位置的计算机执行的方法,该方法包括以下步骤:

使用摄像头捕获一段时间内的图像序列;

对于来自图像序列的连续图像对,使用第一神经网络确定表明设备的运动的特征,该设备的运动在捕获该图像对的第一图像的时间与捕获该图像对的第二图像的时间之间;

对于连续图像序列,使用第二神经网络从由第一神经网络确定的特征确定表明设备的位置的特征;以及

对于连续图像序列,从由第二神经网络确定的特征确定设备的位置。

通过使用两个神经网络的组合,已经发现更加稳健得多和更加可靠得多的位置确定是可能的。特别地,可以训练第一神经网络以最有效地确定来自图像的表明由图像之间的差异所暗示的运动的特征,该运动仅取决于两个图像并且不依赖于历史信息(例如先前确定的位置)。然而,可以在同一时间训练第二神经网络以最有效地从由第一神经网络确定的特征确定可移动的设备的位置,对于该位置,历史信息(例如先前确定的位置)是非常有用的。通过以这种方式将处理拆分成两个神经网络,可以有效地实现对逐步运动和整***置二者的训练。此外,通过训练整个系统可以同时训练两个神经网络,因此特别地可以训练第一神经网络以确定对于整个系统的操作是最好的任何运动特征,而不是训练第一神经网络以确定具有预选属性的运动特征,这些具有预选属性的运动特征实际上可能不是要使用的最佳特征类型。

优选地,除了确定设备的位置外,还确定设备的方向。因此,确定了设备的“姿势”。

优选地,图像序列的图像是单目图像。

有利地,第一神经网络是卷积神经网络。这种类型的神经网络特别适用于对具有大量参数的数据(例如图像数据)进行操作。

有利地,第二神经网络是递归神经网络。在这种情况下,优选地,第二神经网络是长短期记忆神经网络。递归神经网络,特别是长短期记忆类型,特别适合于对时间依赖性的数据进行操作。

优选地,该方法还包括针对每对连续捕获的图像,从由第二神经网络确定的特征确定设备的相对位置信息和方向信息的步骤。在这种情况下,优选地,确定设备的位置的步骤包括整合从由第二神经网络确定的特征确定的相对位置信息和方向信息。换句话说,从连续运动估计在测程上确定设备的位置。

有利地,该方法还包括针对每对连续捕获的图像,确定相对位置信息和方向信息的相应不确定性信息的步骤。不确定性信息可以与姿势信息一起用作即时定位与地图构建(Simultaneous Localisation And Mapping,SLAM)算法的输入。

图像序列的每个图像可以已经与其相应的位置信息相关联,并且该方法还可以包括使用相应的位置信息训练第一神经网络和第二神经网络的步骤。优选地,每个图像还已经与其方向信息相关联。

该设备可以是自主机器人。该设备可以替代性地是移动电话、可穿戴设备或任何其他合适的可移动的设备。

根据本发明的第二方面,提供了一种可移动的设备,该可移动的设备包括:

存储器;

处理器;

摄像头;

其中,该设备被布置为:

使用摄像头捕获一段时间内的图像序列;

对于来自图像序列的连续图像对,使用由处理器提供的第一神经网络确定表明设备的运动的特征,该设备的运动在捕获该图像对的第一图像的时间与捕获该图像对的第二图像的时间之间;

对于连续图像序列,使用由处理器提供的第二神经网络从由第一神经网络确定的特征确定表明位置的特征;以及

对于连续图像序列,从由第二神经网络确定的特征确定设备的位置。

优选地,该设备被布置为除了确定设备的位置之外还确定设备的方向。

优选地,图像序列的图像是单目图像。

有利地,第一神经网络是卷积神经网络。

有利地,第二神经网络是递归神经网络。在这种情况下,优选地,第二神经网络是长短期记忆神经网络。

优选地,该设备还被布置为针对每对连续捕获的图像,从由第二神经网络确定的特征确定设备的相对位置信息和方向信息。在这种情况下,优选地,该设备被布置为通过整合从由第二神经网络确定的特征确定的相对位置信息和方向信息确定设备的位置。

有利地,该设备还被布置为针对每对连续捕获的图像,确定相对位置信息和方向信息的相应不确定性信息。

根据本发明的第三方面,提供了一种计算机程序产品,该计算机程序产品被布置为当在可移动的设备上执行时,实施上述任何方法。

根据本发明的第四方面,提供了一种计算机程序产品,该计算机程序产品被布置为当在可移动的设备上执行时,提供上述任何可移动的设备。

当然可以理解,关于本发明的一个方面描述的特征可以结合到本发明的其他方面中。例如,本发明的方法可以结合参考本发明的可移动的设备描述的任何特征,反之亦然。

附图说明

现在将通过示例的方式仅参考所附的示意图来描述本发明的实施例,其中:

图1是根据本发明的实施例的自主机器人的示意图;

图2是表示图1的自主机器人估计其位置的操作的流程图;

图3是表示图2的过程的原理图;以及

图4是在图2和图3的过程中使用的LSTM的原理图。

具体实施方式

在图1中示出了根据本发明的实施例的自主机器人的示意图。自主机器人1包括处理器2。应当理解,在不同的实施例中,处理器2可以是单处理器系统、双处理器系统或任何其他合适的处理器系统。处理器2与摄像头3和存储器4通信,存储器4存储由摄像头3捕获的图像(以及其他内容)。

现在参考图2的流程图描述自主机器人1确定其位置的操作。该过程也在图3中示意性地示出。在每个时间步,自主机器人1基于当前对其可用的信息确定其位置。图3示出了三个连续的时间步t、t+1和t+2,其中对于每个时间步,确定自主机器人1的“姿势(pose)”,其分别为Poset、Poset+1和Poset+2,其中姿势是位置信息和朝向信息(即自主机器人面向的方向)的组合。

首先,获得由摄像头3连续捕获的图像对(步骤21,图3的部分31)。然后,通过从示例图像集中减去平均RGB通道值,对每个图像进行预处理(步骤22,图3的部分32)。该图像集可以是例如,如下面详细描述的训练自主机器人1的图像。此外,图像的尺寸调整为64的倍数。然而,这种预处理是可选的,并且在其他实施例中不会出现。在图3中可以看出,对于时间步t,初始图像对产生预处理图像RGBt和RGBt+1,而对于时间步t+1,预处理图像是RGBt+1和RGBt+2,对于其他时间步以此类推。

由处理器2和存储器4实现的卷积神经网络(Convolutional Neural Network,CNN)获取该预处理图像对并且使用该预处理图像对来确定特征(步骤23,图3的部分33)。CNN根据它的训练确定特征,该训练已经如以下所述执行。

CNN是一种在网络结构中结合卷积层的神经网络,因此,与在其他类型的神经网络中使用的完全连接层形成鲜明对比的是,CNN能够利用数据的空间规律性。这意味着CNN所需的参数数量显著减少,从而允许它们在高维输入(例如原始图像数据)上操作。在CNN中,在每个卷积层应用多重卷积运算,以从前一层的输出映射确定多个特征。在训练期间学习与映射进行卷积的滤波器内核,如例如在[38]中所描述的。

CNN将通过堆叠预处理的连续图像对而生成的张量作为输入。CNN由9个卷积层组成,除了最后一个卷积层以外,每个卷积层跟随有整流线性单元(Rectified Linear Unit,ReLU)非线性激活,总共给出17层。层配置如下:

Figure BDA0002211797000000041

网络中感受野的尺寸逐渐从7×7缩小到5×5,然后逐渐缩小到3×3,以捕捉小的感兴趣的特征。引入零补白要么以适应感受野的配置,要么以在卷积之后保持张量的空间维度。增加通道的数量(即用于特征检测的滤波器的数量),以学习各种特征。

在本实施例中,CNN具有5500万可训练的权重,但是应当理解,在其他实施例中,可以使用不同数量的权重。

然后来自最终层(即Conv6)的特征是CNN的输出。

下一步,递归神经网络(Recurrent Neural Network,RNN)获取由CNN生成的特征,并从它们确定运动特征(步骤24,图3的部分34的LSTM框)。与CNN类似,RNN根据它的训练来做到这一点,下面将详细描述。

RNN是各层对输入进行操作,但也对隐藏层和/或输出的延迟版本进行操作的一种神经网络。通过这种方式,RNN具有它们可以用作“记忆”的内部状态,以跟踪过去的输入和相应的决定。

在本实施例中,使用具有长短期记忆(Long Short-Term Memory,LTSM)架构的RNN(其中存在各种变化),如图4所示,其中⊙表示逐个元素的乘积,并且

Figure BDA0002211797000000052

表示两个向量的加法。记忆单元的内容存储在ct中。输入门对当前时间步输入如何进入记忆的内容进行控制。遗忘门ft通过产生控制信号0到1来确定何时应该清空记忆单元,控制信号0到1根据需要清除记忆单元。最后,输出门ot确定是否应该在当前时间步使用记忆细胞的内容。RNN的操作由以下等式描述:

it=σ(Wxixt+Whiht-1+Wcict-1+bi)

ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)

zt=tanh(Wxcxt+Whcht-1+bc)

ct=ft⊙ct-1+it⊙zt

ot=act(Wxoxt+Whoht-1+Wcoct+bo)

ht=ot⊙tanh(ct)。

参数Wi,j和bi完全参数化RNN的操作,并且在训练期间学习。递归隐藏层允许网络利用输入数据的时间规律性来改善其性能。

虽然在传统的LSTM模型中仅从前一时间步延续隐藏状态,但是在本实施例中,为前一时间步确定的姿势被直接馈送到RNN作为输入。这可以在图3中看到,其中时间步的姿势被馈送到LSTM框以用于下一个时间步。这样做的原因是,对于位置估计,输出本质上是在每个时间步处的连续移位的积分。所以,所确定的前一时间步的姿势是特别重要的。

在本实施例中,LSTM具有拥有2000个单元的细胞的两层,但是应当理解,在其他实施例中,可以使用不同数量的层和单元。

接着,由(高维度的)RNN所确定的运动特征被传递到完全连接层(步骤25),该完全连接层输出低维度的特征(对于姿势至少6个特征,对于不确定性至少6个特征,并且如果使用混合高斯模型来估计姿势和不确定性则对于每个可能有更多特征)。

接着,来自完全连接层的低维特征被传递到SE(3)层(步骤26,图3的部分34的SE3框)。SE(3)为每个时间步整合连续的运动特征,以便在每个时间步处确定自主机器人1的位置(实际上是姿势,例如时间步t的Poset)。

SE3是特殊的欧几里得群,其元素是变换矩阵,该变换矩阵由来自特殊正交群SO3的旋转和平移向量组成:

Figure BDA0002211797000000061

产生属于SE3的变换估计并不简单,因为SO3分量需要是正交矩阵。然而,SE3的李代数(Lie Algebra)se3可以由不受制于正交约束的分量来描述:

然后可以使用指数映射完成se3和SE3之间的转换:

exp:se3→SE3。

在替代实施例中,使用旋转的四元数表示来代替矩阵表示。特别地,ω分量被转换为向量:

wt=[0,ωx,ωy,ωz]

Figure BDA0002211797000000063

Figure BDA0002211797000000064

然后可以仅使用简单的线性代数运算来计算这些量的梯度。此外,避免了计算指数映射所需的昂贵的特征值失代偿(Eigenvalue Decompensation)。

因此,通过这种方式,自主机器人1使用来自摄像头3的图像来估计其位置,特别是估计其姿势。

从连续的传感器测量值估计位置(即测程法)不可避免地受制于漂移。因此,通常将其与环形闭合、地图匹配或姿势图优化方法结合使用以创建即时定位与地图构建(Simultaneous Localisation and Mapping,SLAM)系统。将测程法测量值集成到这样的系统中的关键方面是不确定性估计的可用性。

为了提供这样的估计,(在SE(3)层之前)使用完全连接层的输出。将由完全连接层产生的估计值与来自训练数据的地面实况姿势信息进行比较,从而导致姿势(位置和方向)中的误差分布。然后使用最大似然法来训练代表不确定性的高斯分布的混合的预测。

为了操作,当然需要训练神经网络,这通过提供测试数据和将要最小化的成本函数来完成。如现在描述的自主机器人1的CNN和RNN的训练,实际上,二者同时训练。

如上所述,本实施例的系统估计姿势和不确定性二者。测试数据将是图像序列,这些图像具有“地面实况”姿势(即正确的姿势)。训练的成本函数由两部分组成,第一部分涉及姿势估计,第二部分涉及不确定性估计。对于姿势估计,成本函数的第一部分训练系统以最小化估计的姿势和地面实况姿势之间的差异。对于不确定性估计,成本函数的第二部分通过将神经网络的输出与姿势标签进行比较来训练系统。然后由通过时间的反向传播来完成训练,以调整CNN的权重和RNN的权重以最佳地最小化成本函数的结果。

通过这种方式,可以看出训练CNN以提供用于输入到RNN的最合适的特征,并且同时训练RNN以从这些特征(和先前的确定)中最准确地确定自主机器人1的姿势(及其不确定性)。特别地没有训练CNN以最好地提供任何特定类型的特征或具有任何特定属性的特征;相反地,只是简单地训练它以提供对整个系统的操作最好的特征。然而,在某些实施例中,为了加速初始训练过程,CNN最初被隔离地训练(或以其他方式提供有具有这种训练效果的权重)以提供表明连续图像之间的运动的特征。这为CNN提供了初始状态,然后CNN在系统作为整体被训练时进一步被优化训练。

虽然已经参考特定实施例描述和说明了本发明,但是本领域普通技术人员将理解,本发明本身有许多不同的变化,在此没有具体说明。

在前面的描述中,提及了具有已知的、明显的或可预见的等同物的整体或元素,则这些等同物在此并入,如同单独阐述一样。应该参考用于确定本发明的真实范围的权利要求,应当解释本发明的范围以便包含任何这样的等同物。读者还将理解,被描述为优选的、有利的、方便的等的本发明的整体或特征是可选的,并且不限制独立权利要求的范围。此外,应当理解,在本发明的一些实施例中虽然可能有益的可选的整体或特征可能是不期望的,并且因此可能在其他实施例中不存在。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于脉动阵列的神经网络处理装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!