CN110770758B - 确定可移动的设备的位置 - Google Patents

确定可移动的设备的位置 Download PDF

Info

Publication number
CN110770758B
CN110770758B CN201880020559.7A CN201880020559A CN110770758B CN 110770758 B CN110770758 B CN 110770758B CN 201880020559 A CN201880020559 A CN 201880020559A CN 110770758 B CN110770758 B CN 110770758B
Authority
CN
China
Prior art keywords
neural network
determined
images
image
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880020559.7A
Other languages
English (en)
Other versions
CN110770758A (zh
Inventor
罗纳德·克拉克
王森
尼基·特里戈尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oxford University Innovation Ltd
Original Assignee
Oxford University Innovation Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB1703006.5A external-priority patent/GB201703006D0/en
Application filed by Oxford University Innovation Ltd filed Critical Oxford University Innovation Ltd
Publication of CN110770758A publication Critical patent/CN110770758A/zh
Application granted granted Critical
Publication of CN110770758B publication Critical patent/CN110770758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0253Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/027Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Image Analysis (AREA)

Abstract

一种确定包括摄像头和至少一个惯性传感器的可移动的设备的位置的计算机执行的方法。在一段时间内捕获图像序列,并且第一神经网络从连续图像对确定表明设备的运动的特征。捕获表明设备的运动的数据,并且第二神经网络从数据确定表明设备的运动的特征。然后,第三神经网络从由第一神经网络确定的特征和第二神经网络确定的特征确定表明设备的位置的特征。设备的位置是从由第三神经网络确定的特征确定的。

Description

确定可移动的设备的位置
技术领域
本发明涉及确定可移动的设备的位置。更具体地但非排他地,本发明涉及使用神经网络从由可移动的设备的摄像头捕获的图像和由可移动的设备的惯性传感器捕获的运动信息的组合确定可移动的设备的位置。
本发明特别地但非排他地适用于可移动的设备是自主机器人的情况。然而,本发明还适用于其他类型的可移动的设备和可穿戴的设备,例如移动电话、智能手表等。
这里讨论的“位置”可以指绝对位置,例如可移动的设备位于由纬度和经度定义的地球上的位置,并且还可以指相对于另一位置的相对位置(例如,可移动的设备距离初始起始位置的距离和方向)。位置的确定还经常包括方向的确定,例如相对于地球磁场的绝对值,以及相对于初始方向一定量的旋转的相对值。
背景技术
期望能够在GPS信号不可用的情况下确定可移动的设备的位置。这对于自主机器人来说尤其如此,以允许精确的导航。已知的方法是使用来自摄像头的图像以便确定位置。然而,如果要可靠地确定位置,则这种系统往往需要非常精确的摄像头的校准。传统的视觉测程技术包括稀疏方法(包括若干步骤,该几个步骤包括特征的检测和匹配、运动估计和优化),以及直接方法(包括运动估计和优化的步骤)。这种技术倾向于需要精确的摄像头校准,并且通常在纹理不良的环境中(即,具有很少特征的地方)或者当正在捕获图像的摄像头快速旋转时失败。另外,虽然这种系统通常能够确定行进的路径的形状,但是它们通常不能估计尺度,即行进的实际距离。
替代性地,已知使用神经网络来处理来自摄像头的图像以便确定位置。Mohanty等人的“DeepVO:A Deep Learning approach for Monocular Visual Odometry(用于单目视觉测程的深度学习方法)”(2016年11月18日发布于预印本网站(arXiv:1611.06069))公开了这样的系统。然而,使用神经网络的已知系统存在各种问题。它们往往需要针对将要使用它们的特定环境进行训练,因此无法在没有首先进行适当的训练的新环境中使用。
已知使用神经网络来学习摄像头姿势和惯性数据之间的关系。“Learning toFuse:A Deep Learning Approach to Visual-Inertial Camera Pose Estimation(视觉惯性摄像头姿势估计的深度学习方法)”(2016年12月15日发布于IEEE ISMAR)公开了这样的系统。然而,使用神经网络的已知方法存在各种问题。不利的是,它们需要使用传统方法处理摄像头数据以获得准确的姿势估计,并且需要标记来操作。此外,它们无法使用原始数据作为输入进行端到端的训练。
组合图像数据和运动数据以确定位置的系统是已知的。然而,这种系统的问题是图像数据和运动数据需要是时间同步的,使得这种系统难以建立,因为惯性传感器没有设计成以与摄像头捕获图像相同的间隔提供运动数据。此外,摄像头或惯性传感器的任何误校准都可能导致严重错误。
本发明寻求缓解上述问题。可选择地和/或附加地,本发明寻求提供确定可移动的设备的位置的改进方法。
发明内容
根据本发明的第一方面,提供了一种确定包括摄像头和至少一个惯性传感器的可移动的设备的位置的计算机执行的方法,该方法包括以下步骤:
使用摄像头捕获一段时间内的图像序列;
对于来自图像序列的连续图像对,使用第一神经网络确定表明设备的运动的特征,该设备的运动在捕获该图像对的第一图像的时间与捕获该图像对的第二图像的时间之间;
使用至少一个惯性传感器捕获表明设备的运动的数据;
使用第二神经网络从来自至少一个惯性传感器的表明设备的运动的数据确定表明设备的运动的特征;
对于连续图像序列,使用第三神经网络从由第一神经网络确定的特征和由第二神经网络确定的特征确定表明设备的位置的特征;以及
对于连续图像序列,从由第三神经网络确定的特征确定设备的位置。
通过使用第一神经网络和第二神经网络从图像和运动数据二者确定特征,然后使用第三神经网络从这些特征确定位置,已经发现更加稳健得多和更加可靠得多的位置确定是可能的。特别地,不需要单独地仔细校准摄像头和惯性传感器,特别是相互之间的校准,以及两者之间的时间同步。此外,通过训练整个系统,可以同时训练所有神经网络。这意味着特别地可以训练第一神经网络和第二神经网络以确定对于整个系统的操作是最好的任何运动特征,而不是训练第一神经网络和第二神经网络以确定具有预选属性的运动特征,这些具有预选属性的运动特征实际上可能不是要使用的最佳特征类型。此外,将训练第一神经网络和第二神经网络以确定最好彼此组合的特征,即,期望的来自第一神经网络的特征和来自第二神经网络的特征的任何同步将作为训练的部分被自动地处理。此外,当第三神经网络采用来自第一神经网络的特征和来自第二神经网络的特征时,第三神经网络将在同一时间被训练以最佳地处理可能存在的任何校准或同步的缺乏(第三神经网络将在多大程度上被训练以处理任何同步的缺乏将从训练自动产生;通常,如果同步导致更好的位置确定,那么第一神经网络和第二神经网络将被训练为同步,然而如果第三神经网络可以有效地处理同步的缺乏,那么第三神经网络将被训练这样做)。
优选地,除了确定设备的位置外,还确定设备的方向。因此,确定了设备的“姿势”。
优选地,图像序列的图像是单目图像。
至少一个惯性传感器包括加速度计和/或陀螺仪。至少一个惯性传感器可以可选择地或附加地包括磁力计或任何其他适当的惯性传感器。
有利地,第一神经网络是卷积神经网络。这种类型的神经网络特别适用于对具有大量参数的数据(例如图像数据)进行操作。
有利地,第二神经网络是递归神经网络。在这种情况下,优选地,第二神经网络是长短期记忆神经网络。
有利地,第三神经网络是递归神经网络。在这种情况下,优选地,第三神经网络是长短期记忆神经网络。递归神经网络,特别是长短期记忆类型,特别适合于对时间依赖性的数据进行操作。
优选地,该方法还包括针对每对连续捕获的图像,从由第二神经网络确定的特征确定设备的相对位置信息和方向信息的步骤。在这种情况下,优选地,确定设备的位置的步骤包括整合从由第二神经网络确定的特征确定的相对位置信息和方向信息。换句话说,从连续运动估计在测量上确定设备的位置。
有利地,该方法还包括针对每对连续捕获的图像,确定相对位置信息和方向信息的相应不确定性信息的步骤。不确定性信息可以与姿势信息一起用作即时定位与地图构建(Simultaneous Localisation And Mapping,SLAM)算法的输入。
图像序列的每个图像可以已经与其相应的位置信息相关联,并且该方法还可以包括使用相应的位置信息训练第一神经网络和第二神经网络的步骤。优选地,每个图像还已经与其方向信息相关联。
有利地,该方法还包括训练第一神经网络、第二神经网络和第三神经网络以最大化由第一神经网络确定的特征和由第二神经网络确定的特征之间的相关性的步骤。由于第一神经网络的特征和第二神经网络的特征二者都表明可移动的设备的运动,因此通常应该预期特征之间的相关性,并且因此最大化这种相关性的训练是有利的。
该设备可以是自主机器人。该设备可以替代性地是移动电话、可穿戴设备或任何其他合适的可移动的设备。
根据本发明的第二方面,提供了一种可移动的设备,该可移动的设备包括:
存储器;
处理器;
摄像头;
至少一个惯性传感器;
其中,该设备被布置为:
使用摄像头捕获一段时间内的图像序列;
使用由处理器提供的第一神经网络从来自图像序列的连续图像对确定表明设备的运动的特征,该设备的运动在捕获该图像对的第一图像的时间与捕获该图像对的第二图像的时间之间;
使用至少一个惯性传感器捕获表明设备的运动的数据;
使用第二神经网络从来自至少一个惯性传感器的表明设备的运动的数据确定表明设备的运动的特征;
对于连续图像序列,使用由处理器提供的第三神经网络从由第一神经网络确定的特征和由第二神经网络确定的特征确定表明设备的位置的特征;以及
对于连续图像序列,从由第二神经网络确定的特征确定设备的位置。
优选地,该设备被布置为除了确定设备的位置之外还确定设备的方向。
优选地,图像序列的图像是单目图像。
至少一个惯性传感器包括加速度计和/或陀螺仪。
有利地,第一神经网络是卷积神经网络。
有利地,第二神经网络是递归神经网络。在这种情况下,优选地,第二神经网络是长短期记忆神经网络。
有利地,第三神经网络是递归神经网络。在这种情况下,优选地,第三神经网络是长短期记忆神经网络。
优选地,该设备还被布置为针对每对连续捕获的图像,从由第二神经网络确定的特征确定设备的相对位置信息和方向信息。在这种情况下,优选地,该设备被布置为通过整合从由第二神经网络确定的特征确定的相对位置信息和方向信息确定设备的位置。
有利地,该设备还被布置为针对每对连续捕获的图像,确定相对位置信息和方向信息的相应不确定性信息。
根据本发明的第三方面,提供了一种计算机程序产品,该计算机程序产品被布置为当在可移动的设备上执行时,实施上述任何方法。
根据本发明的第四方面,提供了一种计算机程序产品,该计算机程序产品被布置为当在可移动的设备上执行时,提供上述任何可移动的设备。
当然可以理解,关于本发明的一个方面描述的特征可以结合到本发明的其他方面中。例如,本发明的方法可以结合参考本发明的可移动的设备描述的任何特征,反之亦然。
附图说明
现在将通过示例的方式仅参考所附的示意图来描述本发明的实施例,其中:
图1是根据本发明的实施例的自主机器人的示意图;
图2是示出图1的自主机器人估计其位置的操作的流程图;
图3是表示图2的过程的原理图;以及
图4是在图2和图3的过程中使用的LSTM的原理图。
具体实施方式
在图1中示出了根据本发明的实施例的自主机器人的示意图。自主机器人1包括处理器2。应当理解,在不同的实施例中,处理器2可以是单处理器系统、双处理器系统或任何其他合适的处理器系统。处理器2与摄像头3、惯性传感器5和存储器4通信,存储器4存储由摄像头3捕获的图像(以及其他内容)和由惯性传感器5捕获的运动数据。
惯性传感器5可以是陀螺仪、加速度计、磁力计或任何其他合适的惯性传感器,或实际上是这些装置的组合。
现在参考图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层。层配置如下:
感受野尺寸 补白(padding) 步幅 通道的数量
Conv1 7×7 3 2 64
Conv2 5×5 2 2 128
Conv3 5×5 2 2 256
Conv3_1 3×3 1 1 256
Conv4 3×3 1 2 512
Conv4_1 3×3 1 1 512
Conv5 3×3 1 2 512
Conv5_1 3×3 1 1 512
Conv6 3×3 1 2 1024
网络中感受野的尺寸逐渐从7×7缩小到5×5,然后逐渐缩小到3×3,以捕捉小的感兴趣的特征。引入零补白要么以适应感受野的配置,要么以在卷积之后保持张量的空间维度。增加通道的数量(即用于特征检测的滤波器的数量),以学习各种特征。
在本实施例中,CNN具有5500万可训练的权重,但是应当理解,在其他实施例中,可以使用不同数量的权重。
然后来自最终层(即Conv6)的特征是CNN的输出。
同时,第一递归神经网络(Recurrent Neural Network,RNN)从惯性传感器5获取运动数据,并使用运动数据来确定特征(步骤24,图3的部分34)。与CNN类似,第一RNN根据第一RNN的训练确定特征,该训练已经如以下所述执行。
RNN是各层对输入进行操作,但也对隐藏层和/或输出的延迟版本进行操作的一种神经网络。通过这种方式,RNN具有它们可以用作“记忆”的内部状态,以跟踪过去的输入和相应的决定。
在本实施例中,使用具有长短期记忆(Long Short-Term Memory,LTSM)架构的RNN(其中存在各种变化),如图4所示,其中⊙表示逐个元素的乘积,并且⊕表示两个向量的加法。记忆单元的内容存储在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具有拥有2000个单元的细胞的两层,但是应当理解,在其他实施例中,可以使用不同数量的层和单元。
然后,由CNN确定的特征和由第一RNN确定的特征被传递到第二RNN,第二RNN使用它们来确定运动特征(步骤25,图3的部分35)。在本实施例中,将第二RNN以及从前一时间步延续的隐藏状态作为输入,前一时间步确定的姿势被直接馈送到RNN。这可以在图3中看到,其中时间步的姿势被馈送到LSTM框以用于下一个时间步。这样做的原因是,对于位置估计,输出本质上是在每个时间步处的连续替代的积分。所以,所确定的前一时间步的姿势是特别重要的。
接着,由(高维度的)RNN所确定的运动特征被传递到完全连接层(步骤26),该完全连接层输出低维度的特征(对于姿势至少6个特征,对于不确定性至少6个特征,并且如果使用混合高斯模型来估计姿势和不确定性则对于每个可能有更多特征)。
接着,来自完全连接层的低维特征被传递到SE(3)层(步骤27,图3的部分34的SE3框)。SE(3)为每个时间步整合连续的运动特征,以便在每个时间步处确定自主机器人1的位置(实际上是姿势,例如时间步t的Poset)。
SE3是特殊的欧几里得群,其元素是变换矩阵,该变换矩阵由来自特殊正交群SO3的旋转和平移向量组成:
产生属于SE3的变换估计并不简单,因为SO3分量需要是正交矩阵。然而,SE3的李代数(Lie Algebra)se3可以由不受制于正交约束的分量来描述:
然后可以使用指数映射完成se3和SE3之间的转换:
exp:se3→SE3。
在替代实施例中,使用旋转的四元数表示来代替矩阵表示。特别地,ω分量被转换为向量:
ωt=[0,ωx,ωy,ωz]
然后可以仅使用简单的线性代数运算来计算这些量的梯度。此外,避免了计算指数映射所需的昂贵的特征值失代偿(Eigenvalue Decompensation)。
因此,通过这种方式,自主机器人1使用来自摄像头3的图像来估计其位置,特别是估计其姿势。
从连续的传感器测量值估计位置(即测程法)不可避免地受制于漂移。因此,通常将其与环形闭合、地图匹配或姿势图优化方法结合使用以创建即时定位与地图构建(Simultaneous Localisation and Mapping,SLAM)系统。将测程法测量值集成到这样的系统中的关键方面是不确定性估计的可用性。
为了提供这样的估计,(在SE(3)层之前)使用完全连接层的输出。将由完全连接层产生的估计值与来自训练数据的地面实况姿势信息进行比较,从而导致姿势(位置和方向)中的误差分布。然后使用最大似然法来训练代表不确定性的高斯分布的混合的预测。
为了操作,当然需要训练神经网络,这通过提供测试数据和将要最小化的成本函数来完成。如现在描述的自主机器人1的CNN、第一RNN和第二RNN的训练,实际上,全部同时训练。
如上所述,本实施例的系统估计姿势和不确定性二者。测试数据将是图像序列,这些图像具有“地面实况”姿势(即正确的姿势)。训练的成本函数由两部分组成,第一部分涉及姿势估计,第二部分涉及不确定性估计。对于姿势估计,成本函数的第一部分训练系统以最小化估计的姿势和地面实况姿势之间的差异。对于不确定性估计,成本函数的第二部分通过将神经网络的输出与姿势标签进行比较来训练系统。然后由通过时间的反向传播来完成训练,以调整CNN的权重、第一RNN的权重和第二RNN的权重以最佳地最小化成本函数的结果。
通过这种方式,可以看出训练CNN和第一RNN二者以提供用于输入到第二RNN的最合适的特征,并且同时训练第二RNN以从这些特征(和先前的确定)中最准确地确定自主机器人1的姿势(及其不确定性)。特别地没有训练CNN和第一RNN以最好地提供任何特别的类型的特征或具有任何特定属性的特征;相反地,只是简单地训练它们以提供对整个系统的操作最好的特征。然而,在某些实施例中,为了加速初始训练过程,CNN最初被隔离地训练(或以其他方式提供有具有这种训练效果的权重)以提供表明连续图像之间的移动的特征。这为CNN提供了初始状态,然后CNN在系统作为整体训练时进一步优化训练。
在特别有利的实施例中,使用相关性来执行神经网络的无监督训练。特别地,由于来自摄像头3的图像和来自惯性传感器5的运动数据二者都应表明自主机器人1的相同移动,因此可以进行训练以最大化由CNN从图像确定的特征和由第一RNN从运动数据确定的特征之间的相关性。换句话说,在图像暗示大的移动的情况下,运动数据也是如此(反之亦然),并且相反地,在图像暗示小的移动的情况下,运动数据也是如此(反之亦然),因此通常在来自CNN和第一RNN的特征之间应该存在相关性,并且因此通过训练将相关性最大化是有利的。
虽然已经参考特定实施例描述和说明了本发明,但是本领域普通技术人员将理解,本发明本身有许多不同的变化,在此没有具体说明。
在前面的描述中,提及了具有已知的、明显的或可预见的等同物的整体或元素,则这些等同物在此并入,如同单独阐述一样。应该参考用于确定本发明的真实范围的权利要求,应当解释本发明的实际范围以包含任何这样的等同物。读者还将理解,被描述为优选的、有利的、方便的等的本发明的整体或特征是可选的,并且不限制独立权利要求的范围。此外,应当理解,在本发明的一些实施例中虽然可能有益的这些可选的整体或特征可能是不期望的,并且因此可能在其他实施例中不存在。

Claims (23)

1.一种确定包括摄像头和至少一个惯性传感器的可移动的设备的位置的计算机执行的方法,包括以下步骤:
使用所述摄像头捕获一段时间内的图像序列;
对于来自所述图像序列的连续图像对,使用第一神经网络确定表明所述设备的运动的特征,所述设备的运动在捕获所述图像对的第一图像的时间与捕获所述图像对的第二图像的时间之间;
使用所述至少一个惯性传感器捕获表明所述设备的运动的数据;
使用第二神经网络从来自所述至少一个惯性传感器的表明所述设备的运动的数据确定表明所述设备的运动的特征;
使用第三神经网络从由所述第一神经网络确定的特征和由所述第二神经网络确定的特征确定表明所述设备的位置的特征;以及
从由所述第三神经网络确定的特征确定所述设备的位置,
其中,所述第一神经网络是卷积神经网络,所述第二神经网络是第一递归神经网络,所述第三神经网络是第二递归神经网络。
2.根据权利要求1所述的方法,其特征在于,除了确定所述设备的位置之外还确定所述设备的方向。
3.根据权利要求1所述的方法,其特征在于,所述图像序列的图像是单目图像。
4.根据权利要求1所述的方法,其特征在于,所述至少一个惯性传感器包括加速度计和/或陀螺仪。
5.根据权利要求1所述的方法,其特征在于,所述第二神经网络是长短期记忆神经网络。
6.根据权利要求1所述的方法,其特征在于,所述第三神经网络是长短期记忆神经网络。
7.根据权利要求1所述的方法,其特征在于,还包括以下步骤:针对每对连续捕获的图像,从由所述第二神经网络确定的特征确定所述设备的相对位置信息和方向信息。
8.根据权利要求7所述的方法,其特征在于,所述确定所述设备的位置的步骤包括:整合从由所述第三神经网络确定的特征确定的所述相对位置信息和所述方向信息。
9.根据权利要求7所述的方法,其特征在于,还包括:针对每对连续捕获的图像,确定所述相对位置信息和所述方向信息的相应不确定性信息。
10.根据权利要求1所述的方法,其特征在于,所述图像序列的每个图像已经与其相应的位置信息相关联,并且所述方法还包括以下步骤:使用所述相应的位置信息训练所述第一神经网络、所述第二神经网络和所述第三神经网络。
11.根据权利要求1所述的方法,其特征在于,还包括以下步骤:训练所述第一神经网络、所述第二神经网络和所述第三神经网络以最大化由所述第一神经网络确定的特征和由所述第二神经网络确定的特征之间的相关性。
12.根据权利要求1所述的方法,其特征在于,所述设备是自主机器人。
13.一种可移动的设备,其特征在于,包括:
存储器;
处理器;
摄像头;
至少一个惯性传感器;
其中所述设备被布置为:
使用摄像头捕获一段时间内的图像序列;
使用由所述处理器提供的第一神经网络从来自所述图像序列的连续图像对确定表明所述设备的运动的特征,所述设备的运动在捕获所述图像对的第一图像的时间与捕获所述图像对的第二图像的时间之间;
使用所述至少一个惯性传感器捕获表明所述设备的运动的数据;
使用第二神经网络从来自所述至少一个惯性传感器的表明所述设备的运动的数据确定表明所述设备的运动的特征;
使用由所述处理器提供的第三神经网络从由所述第一神经网络确定的特征和由所述第二神经网络确定的特征确定表明所述设备的位置的特征;以及
从由所述第二神经网络确定的特征确定所述设备的位置,
其中,所述第一神经网络是卷积神经网络,所述第二神经网络是第一递归神经网络,所述第三神经网络是第二递归神经网络。
14.根据权利要求13所述的设备,其特征在于,所述设备被布置为除了确定所述设备的位置之外还确定所述设备的方向。
15.根据权利要求13所述的设备,其特征在于,所述图像序列的图像是单目图像。
16.根据权利要求13所述的设备,其特征在于,所述至少一个惯性传感器包括加速度计和/或陀螺仪。
17.根据权利要求13所述的设备,其特征在于,所述第二神经网络是长短期记忆神经网络。
18.根据权利要求13所述的设备,其特征在于,所述第三神经网络是长短期记忆神经网络。
19.根据权利要求13所述的设备,其特征在于,还被布置为:针对每对连续捕获的图像,从由所述第二神经网络确定的特征确定所述设备的相对位置信息和方向信息。
20.根据权利要求19所述的设备,其特征在于,还被布置为:通过整合从由所述第二神经网络确定的特征确定的所述相对位置信息和所述方向信息确定所述设备的位置。
21.根据权利要求19所述的设备,其特征在于,还被布置为:针对每对连续捕获的图像,确定所述相对位置信息和所述方向信息的相应不确定性信息。
22.一种计算机程序产品,其被布置为当在可移动的设备上执行时,实施根据权利要求1所述的方法。
23.一种计算机程序产品,其被布置为当在可移动的设备上执行时提供根据权利要求13所述的可移动的设备。
CN201880020559.7A 2017-01-23 2018-01-17 确定可移动的设备的位置 Active CN110770758B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GR20170100023 2017-01-23
GR20170100023 2017-01-23
GB1703006.5 2017-02-24
GBGB1703006.5A GB201703006D0 (en) 2017-02-24 2017-02-24 Determining the location of a mobile device
PCT/GB2018/050132 WO2018134587A1 (en) 2017-01-23 2018-01-17 Determining the location of a mobile device

Publications (2)

Publication Number Publication Date
CN110770758A CN110770758A (zh) 2020-02-07
CN110770758B true CN110770758B (zh) 2024-06-04

Family

ID=61022369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880020559.7A Active CN110770758B (zh) 2017-01-23 2018-01-17 确定可移动的设备的位置

Country Status (6)

Country Link
US (1) US11348274B2 (zh)
EP (1) EP3571664B1 (zh)
JP (1) JP7121017B2 (zh)
CN (1) CN110770758B (zh)
AU (1) AU2018209336B2 (zh)
WO (1) WO2018134587A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201804079D0 (en) 2018-01-10 2018-04-25 Univ Oxford Innovation Ltd Determining the location of a mobile device
US11254002B1 (en) * 2018-03-19 2022-02-22 AI Incorporated Autonomous robotic device
CN110706194B (zh) * 2018-06-21 2021-07-06 北京三快在线科技有限公司 一种定位方法、装置及移动设备
US20210213973A1 (en) * 2018-08-29 2021-07-15 Movidius Ltd. Computer vision system
EP3966742A1 (en) * 2019-05-06 2022-03-16 Zenuity AB Automated map making and positioning
CN112001968B (zh) * 2019-05-27 2022-07-15 浙江商汤科技开发有限公司 相机定位方法及装置、存储介质
US10989916B2 (en) * 2019-08-20 2021-04-27 Google Llc Pose prediction with recurrent neural networks
WO2021050061A1 (en) * 2019-09-11 2021-03-18 Visa International Service Association Method, system, and computer program product for managing model updates
US11032665B1 (en) * 2020-02-25 2021-06-08 At&T Intellectual Property I, L.P. User equipment geolocation
CN111428116B (zh) * 2020-06-08 2021-01-12 四川大学 一种基于深度神经网络的微博社交机器人检测方法
US20220075378A1 (en) * 2020-06-23 2022-03-10 California Institute Of Technology Aircraft-based visual-inertial odometry with range measurement for drift reduction
CN112212867B (zh) * 2020-10-19 2024-05-28 中国科学技术大学 一种机器人自定位与导航的方法及系统
CN112561947A (zh) * 2020-12-10 2021-03-26 中国科学院深圳先进技术研究院 一种图像自适应运动估计方法及应用

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0763712A1 (en) * 1995-09-18 1997-03-19 UNION SWITCH & SIGNAL Inc. Vehicle navigator system
CA2442950A1 (en) * 2003-09-26 2005-03-26 Chahe Nerguizian Method and system for indoor geolocation using an impulse response fingerprinting technique
CN102042835A (zh) * 2010-11-05 2011-05-04 中国海洋大学 自主式水下机器人组合导航系统
CN103119611A (zh) * 2010-06-25 2013-05-22 天宝导航有限公司 基于图像的定位的方法和设备
CA2953335A1 (en) * 2014-06-14 2015-12-17 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4419925A1 (de) 1994-06-08 1995-12-14 Bodenseewerk Geraetetech Inertialsensor-Einheit
JP3655033B2 (ja) * 1996-12-10 2005-06-02 株式会社リコー 携帯型情報処理装置及び携帯型情報処理装置の場所識別方法
JPH11110542A (ja) * 1997-09-30 1999-04-23 Toshiba Corp パターン抽出方法および装置、そのプログラムを記録した媒体
US6704621B1 (en) 1999-11-26 2004-03-09 Gideon P. Stein System and method for estimating ego-motion of a moving vehicle using successive images recorded along the vehicle's path of motion
US7774158B2 (en) * 2002-12-17 2010-08-10 Evolution Robotics, Inc. Systems and methods for landmark generation for visual simultaneous localization and mapping
WO2006084385A1 (en) 2005-02-11 2006-08-17 Macdonald Dettwiler & Associates Inc. 3d imaging system
US7925049B2 (en) 2006-08-15 2011-04-12 Sri International Stereo-based visual odometry method and system
US20080195316A1 (en) 2007-02-12 2008-08-14 Honeywell International Inc. System and method for motion estimation using vision sensors
US9766074B2 (en) 2008-03-28 2017-09-19 Regents Of The University Of Minnesota Vision-aided inertial navigation
US8213706B2 (en) 2008-04-22 2012-07-03 Honeywell International Inc. Method and system for real-time visual odometry
US8259994B1 (en) 2010-09-14 2012-09-04 Google Inc. Using image and laser constraints to obtain consistent and improved pose estimates in vehicle pose databases
US8761439B1 (en) 2011-08-24 2014-06-24 Sri International Method and apparatus for generating three-dimensional pose using monocular visual sensor and inertial measurement unit
US20140139635A1 (en) 2012-09-17 2014-05-22 Nec Laboratories America, Inc. Real-time monocular structure from motion
US9576183B2 (en) 2012-11-02 2017-02-21 Qualcomm Incorporated Fast initialization for monocular visual SLAM
US9243916B2 (en) 2013-02-21 2016-01-26 Regents Of The University Of Minnesota Observability-constrained vision-aided inertial navigation
US9674507B2 (en) 2013-04-30 2017-06-06 Qualcomm Incorporated Monocular visual SLAM with general and panorama camera movements
US20140341465A1 (en) 2013-05-16 2014-11-20 The Regents Of The University Of California Real-time pose estimation system using inertial and feature measurements
US10306206B2 (en) 2013-07-23 2019-05-28 The Regents Of The University Of California 3-D motion estimation and online temporal calibration for camera-IMU systems
WO2015013418A2 (en) 2013-07-23 2015-01-29 The Regents Of The University Of California Method for processing feature measurements in vision-aided inertial navigation
US9967463B2 (en) 2013-07-24 2018-05-08 The Regents Of The University Of California Method for camera motion estimation and correction
EP2854104A1 (en) 2013-09-25 2015-04-01 Technische Universität München Semi-dense simultaneous localization and mapping
US9243915B2 (en) 2013-10-16 2016-01-26 Physical Devices, Llc Devices and methods for passive navigation
WO2015066560A1 (en) * 2013-11-01 2015-05-07 InvenSense, Incorporated Systems and methods for optical sensor navigation
US9390344B2 (en) 2014-01-09 2016-07-12 Qualcomm Incorporated Sensor-based camera motion detection for unconstrained slam
CN103983263A (zh) 2014-05-30 2014-08-13 东南大学 一种采用迭代扩展卡尔曼滤波与神经网络的惯性/视觉组合导航方法
US9430847B2 (en) 2014-06-12 2016-08-30 Mitsubishi Electric Research Laboratories, Inc. Method for stereo visual odometry using points, lines and planes
US9798322B2 (en) * 2014-06-19 2017-10-24 Skydio, Inc. Virtual camera interface and other user interaction paradigms for a flying digital assistant
US10113910B2 (en) 2014-08-26 2018-10-30 Digimarc Corporation Sensor-synchronized spectrally-structured-light imaging
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9709404B2 (en) 2015-04-17 2017-07-18 Regents Of The University Of Minnesota Iterative Kalman Smoother for robust 3D localization for vision-aided inertial navigation
EP3295422B1 (en) 2015-05-10 2020-01-01 Mobileye Vision Technologies Ltd. Road profile along a predicted path
US9811734B2 (en) * 2015-05-11 2017-11-07 Google Inc. Crowd-sourced creation and updating of area description file for mobile device localization
EP3158293B1 (en) 2015-05-23 2019-01-23 SZ DJI Technology Co., Ltd. Sensor fusion using inertial and image sensors
EP3182373B1 (en) 2015-12-17 2019-06-19 STMicroelectronics S.A. Improvements in determination of an ego-motion of a video apparatus in a slam type algorithm
CN106017458B (zh) 2016-05-18 2019-08-27 宁波华狮智能科技有限公司 移动机器人组合式导航方法及装置
US10395117B1 (en) * 2016-08-29 2019-08-27 Trifo, Inc. Visual-inertial positional awareness for autonomous and non-autonomous tracking
US10453213B2 (en) * 2016-08-29 2019-10-22 Trifo, Inc. Mapping optimization in autonomous and non-autonomous platforms
US20180293756A1 (en) * 2016-11-18 2018-10-11 Intel Corporation Enhanced localization method and apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0763712A1 (en) * 1995-09-18 1997-03-19 UNION SWITCH & SIGNAL Inc. Vehicle navigator system
CA2442950A1 (en) * 2003-09-26 2005-03-26 Chahe Nerguizian Method and system for indoor geolocation using an impulse response fingerprinting technique
CN103119611A (zh) * 2010-06-25 2013-05-22 天宝导航有限公司 基于图像的定位的方法和设备
CN102042835A (zh) * 2010-11-05 2011-05-04 中国海洋大学 自主式水下机器人组合导航系统
CA2953335A1 (en) * 2014-06-14 2015-12-17 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Jason R. Rambach 等.Learning to Fuse: A Deep Learning Approach to Visual-Inertial Camera Pose Estimation.《2016 IEEE International Symposium on Mixed and Augmented Reality(ISMAR)》.2016,1-6. *
Vikram Mohanty 等.DeepVO: A Deep Learning approach for Monocular Visual Odometry.《arXiv:1611.06069v1》.2016,1-9. *
陶重犇.未知环境探测及三维室内语义建图研究.中国优秀博士学位论文全文数据库 信息科技辑》.2014,I140-66. *

Also Published As

Publication number Publication date
CN110770758A (zh) 2020-02-07
US11348274B2 (en) 2022-05-31
AU2018209336B2 (en) 2021-11-18
US20210407122A1 (en) 2021-12-30
EP3571664A1 (en) 2019-11-27
JP7121017B2 (ja) 2022-08-17
JP2020505695A (ja) 2020-02-20
WO2018134587A1 (en) 2018-07-26
EP3571664B1 (en) 2021-05-12
AU2018209336A1 (en) 2019-08-15

Similar Documents

Publication Publication Date Title
CN110770758B (zh) 确定可移动的设备的位置
Clark et al. Vinet: Visual-inertial odometry as a sequence-to-sequence learning problem
CN111819568B (zh) 人脸旋转图像的生成方法及装置
Iyer et al. Geometric consistency for self-supervised end-to-end visual odometry
CN109341703B (zh) 一种全周期采用CNNs特征检测的视觉SLAM算法
US11138742B2 (en) Event-based feature tracking
CN110717927A (zh) 基于深度学习和视惯融合的室内机器人运动估计方法
JP6850399B2 (ja) 単眼画像の深度回復方法及び装置、コンピュータ機器
US10943352B2 (en) Object shape regression using wasserstein distance
CN116205947B (zh) 基于相机运动状态的双目-惯性融合的位姿估计方法、电子设备及存储介质
Shamwell et al. Vision-aided absolute trajectory estimation using an unsupervised deep network with online error correction
JP2020524355A5 (zh)
CN114612556A (zh) 视觉惯性里程计模型的训练方法、位姿估计方法及装置
CN110785777B (zh) 确定可移动的设备的位置
CN111833400B (zh) 一种相机位姿定位方法
Zhou et al. Learned monocular depth priors in visual-inertial initialization
Gao et al. Gyro-net: IMU gyroscopes random errors compensation method based on deep learning
CN113916223B (zh) 定位方法及装置、设备、存储介质
CN113673313B (zh) 一种基于分层卷积神经网络的手势姿态识别方法
CN113744301A (zh) 移动机器人的运动轨迹估计方法、装置和存储介质
Friedel Event-based visual-inertial odometry using smart features
CN114693988B (zh) 卫星自主位姿的判定方法、系统及存储介质
CN107895164A (zh) 基于单样本人耳图像的识别方法及装置
Zeng et al. SF-VIO: a visual-inertial odometry based on selective feature sample using attention mechanism
Qing et al. Camera pose estimation method based on deep neural network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant