首页 / 定位、建图和网络训练

定位、建图和网络训练无效专利 发明

技术内容

定位、建图和网络训练 [0001] 本发明涉及一种用于目标环境中的同步定位与建图(simultaneous  localization and mapping,SLAM)的系统和方法。特别地但非排外地,本发明涉及预训练无监督神经网络的用途,利用目标环境的非立体图像序列,这些预训练无监督神经网络可 提供用于SLAM。 [0002] 视觉SLAM技术利用环境的图像序列(通常获得自相机)来生成环境的3维深度表示 并且确定当前视点的姿态(pose)。视觉SLAM技术广泛地用于其中代理(诸如机器人或交通 工具)在环境内移动的应用中,诸如机器人、自主交通工具、虚拟/增强现实(VR/AR)和绘制地图。环境可为现实或虚拟环境。 [0003] 开发准确且可靠的视觉SLAM技术已为机器人和计算机视觉领域中大量工作的焦 点。许多常规视觉SLAM系统利用基于模型的技术。这些技术通过识别序列图像中对应特征 的变化和将该变化输入至数学模型以确定深度和姿态而工作。 [0004] 尽管一些基于模型的技术已示出在视觉SLAM应用中的可能性,但是这些技术的准 确度和可靠性可遭受挑战性条件,诸如当遇到低光水平、高对比度和不熟悉环境时。基于模型的技术还不能够随着时间改变或改善其性能。 [0005] 近期工作已示出,人工神经网络中已知的深度学习算法可解决某些现有技术的一 些问题。人工神经网络为由连接“神经元”的层组成的可训练大脑状模型。根据它们如何进行训练,人工神经网络可分类为监督或无监督神经网络。 [0006] 近期工作已证实,监督神经网络在视觉SLAM系统中可为有用的。然而,监督神经网络的主要缺点在于,它们必须利用标记数据进行训练。在视觉SLAM系统中,此类标记数据通常由一个或多个图像序列组成(其深度和姿态为已知的)。生成此类数据通常为困难的和昂 贵的。实际上,这通常意味着监督神经网络必须利用较少量的数据进行训练并且这可减小 其准确度和可靠性,特别是在挑战性或不熟悉条件下。 [0007] 其它工作已证实,无监督神经网络可用于计算机视觉应用中。无监督神经网络的 益处之一在于,它们可利用未标记数据进行训练。这消除了生成标记训练数据的问题,并且意味着这些神经网络通常可利用较大数据集进行训练。然而,迄今为止,在计算机视觉应用中,无监督神经网络已限于视觉里程计(而非SLAM)并且已不能够减小或消除累积漂移。这 对于其更广泛用途已成为显著障碍。 [0008] 本发明的目的是至少部分地缓解上述问题。 [0009] 本发明的某些实施例的目的是提供目标环境利用该目标环境的非立体图像序列 的同时定位和建图。 [0010] 本发明的某些实施例的目的是提供场景的姿态和深度估计,该姿态和深度估计由 此甚至在挑战性或不熟悉环境中为准确的和可靠的。 [0011] 本发明的某些实施例的目的是利用一个或多个无监督神经网络而提供同时定位 和建图,该一个或多个无监督神经网络由此利用未标记数据进行预训练。 [0012] 本发明的某些实施例的目的是提供一种利用未标记数据而训练基于深度学习的 SLAM系统的方法。 [0013] 根据本发明的第一方面,提供了一种响应于目标环境的非立体图像序列的目标环 境同时定位和建图的方法,该方法包括:将该非立体图像序列提供至第一和另一神经网络,其中第一和另一神经网络为无监督神经网络,该无监督神经网络利用立体图像对序列和限 定立体图像对的几何性质的一个或多个损失函数进行预训练;将该非立体图像序列提供至 又一神经网络中,其中该又一神经网络经预训练以检测环路闭合;和提供响应于第一、另一和又一神经网络的输出的目标环境同时定位和建图。 [0014] 适当地,该方法还包括一个或多个损失函数,该一个或多个损失函数包括空间约 束和时间约束,该空间约束限定立体图像对的对应特征之间的关系,该时间约束限定立体 图像对序列的序列图像的对应特征之间的关系。 [0015] 适当地,该方法还包括第一和另一神经网络的每一者,该第一和另一神经网络通 过将多个批次的三个或更多个立体图像对输入至第一和另一神经网络中进行预训练。 [0016] 适当地,该方法还包括第一神经网络和另一神经网络,该第一神经网络提供目标 环境的深度表示,并且该另一神经网络提供目标环境内的姿态表示。 [0017] 适当地,该方法还包括另一神经网络,该另一神经网络提供与姿态表示相关联的 测量不确定度。 [0018] 适当地,该方法还包括第一神经网络,该第一神经网络为编码器-解码器类型的神 经网络。 [0019] 适当地,该方法还包括另一神经网络,该另一神经网络为包括长短期记忆类型的 递归卷积神经网络的神经网络。 [0020] 适当地,该方法还包括又一神经网络,该又一神经网络提供目标环境的稀疏特征 表示。 [0021] 适当地,该方法还包括又一神经网络,该又一神经网络为基于ResNet的DNN类型的 神经网络。 [0022] 适当地,提供响应于第一、另一和又一神经网络的输出的目标环境同时定位和建 图的步骤还包括:响应于另一神经网络的输出和又一神经网络的输出而提供姿态输出。 [0023] 适当地,该方法还包括基于局部和全局姿态联系而提供所述姿态输出。 [0024] 适当地,该方法还包括响应于所述姿态输出而利用姿态图形优化器来提供精修姿 态输出。 [0025] 根据本发明的第二方面,提供了一种响应于目标环境的非立体图像序列而提供目 标环境的同时定位和建图的系统,该系统包括:第一神经网络;另一神经网络;和又一神经网络;其中:该第一和另一神经网络为无监督神经网络,该无监督神经网络利用立体图像对序列和限定立体图像对的几何性质的一个或多个损失函数进行预训练,并且其中该又一神 经网络经预训练以检测环路闭合。 [0026] 适当地,该系统还包括:一个或多个损失函数,该一个或多个损失函数包括空间约束和时间约束,该空间约束限定立体图像对的对应特征之间的关系,该时间约束限定立体 图像对序列的序列图像的对应特征之间的关系。 [0027] 适当地,该系统还包括第一和另一神经网络的每一者,该第一和另一神经网络通 过将多个批次的三个或更多个立体图像对输入至第一和另一神经网络中进行预训练。适当 地,该系统还包括第一神经网络和另一神经网络,该第一神经网络提供目标环境的深度表 示,并且该另一神经网络提供目标环境内的姿态表示。 [0028] 适当地,该系统还包括另一神经网络,该另一神经网络提供与姿态表示相关联的 测量不确定度。 [0029] 适当地,该系统还包括立体图像对序列的每个图像对,该每个图像对包括训练环 境的第一图像和训练环境的另一图像,所述另一图像具有相对于第一图像的预定偏移量, 并且所述第一和另一图像已大体同时捕获。 [0030] 适当地,该系统还包括第一神经网络,该第一神经网络为编码器-解码器类型神经 网络的神经网络。 [0031] 适当地,该系统还包括另一神经网络,该另一神经网络为包括长短期存储器类型 的递归卷积神经网络的神经网络。 [0032] 适当地,该系统还包括又一神经网络,该又一神经网络提供目标环境的稀疏特征 表示。 [0033] 适当地,该系统还包括又一神经网络,该又一神经网络为基于ResNet的DNN类型的 神经网络。 [0034] 根据本发明的第三方面,提供了一种训练一个或多个无监督神经网络以响应于目 标环境的非立体图像序列而提供该目标环境的同时定位和建图的方法,该方法包括:提供 立体图像对序列;提供第一和另一神经网络,其中该第一和另一神经网络为无监督神经网 络,该无监督神经网络与限定立体图像对的几何性质的一个或多个损失函数相关联;和将 立体图像对序列提供至第一和另一神经网络。 [0035] 适当地,该方法还包括第一和另一神经网络,该第一和另一神经网络通过将多个 批次的三个或更多个立体图像对输入至第一和另一神经网络中进行训练。 [0036] 适当地,该方法还包括立体图像对序列的每个图像对,该每个图像对包括训练环 境的第一图像和训练环境的另一图像,所述另一图像具有相对于第一图像的预定偏移量, 并且所述第一和另一图像已大体同时捕获。 [0037] 根据本发明的第四方面,提供了一种包括指令的计算机程序,该指令在该程序由 计算机执行时引起该计算机执行第一或第三方面的方法。 [0038] 根据本发明的第五方面,提供了一种包括指令的计算机可读介质,该指令当由计 算机执行时引起该计算机执行第一或第三方面的方法。 [0039] 根据本发明的第六方面,提供了一种响应于目标环境的非立体图像序列而提供该 目标环境的同时定位和建图的系统,该系统包括:第一神经网络;另一神经网络;和环路闭合检测器;其中:该第一和另一神经网络为无监督神经网络,该无监督神经网络利用立体图像对序列和限定立体图像对的几何性质的一个或多个损失函数进行预训练。 [0040] 根据本发明的第七方面,提供了一种包括第二方面的系统的交通工具。 [0041] 适当地,交通工具为机动交通工具、有轨交通工具、船舶、飞行器、无人飞机或航天器。 [0042] 根据本发明的第八方面,提供了一种用于提供虚拟和/或增强现实的设备,该设备 包括第二方面的系统。 [0043] 根据本发明的另一方面,提供了一种利用无监督深度学习方法的单目视觉SLAM系 统。 [0044] 根据本发明的又一方面,提供了一种无监督深度学习架构以用于基于由单目相机 所捕获的图像数据而估计姿态和深度以及任选地点云。 [0045] 本发明的某些实施例提供了利用非立体图像的目标环境同时定位和建图。 [0046] 本发明的某些实施例提供了一种用于训练一个或多个神经网络的方法,该一个或 多个神经网络随后可用于代理在目标环境内的同时定位和建图。 [0047] 本发明的某些实施例使得能够推断目标环境的地图的参数和该环境内的代理的 姿态。 [0048] 本发明的某些实施例使得拓扑图创建为环境的表示。 [0049] 本发明的某些实施例利用无监督深度学习技术来估计姿态、深度图和3D点云。 [0050] 本发明的某些实施例不需要带标记训练数据,从而意味着训练数据易于收集。 [0051] 本发明的某些实施例将标度用于从单目图像序列所确定的估计姿态和深度上。这 样,绝对标度在训练阶段操作模式期间得以学习。 [0052] 本发明的某些实施例检测环路闭合。如果检测到环路闭合,那么姿态图形可构建 并且图形优化算法可运行。这有助于减小姿态估计的累积漂移,并且当与无监督深度学习 方法组合时可有助于改善估计准确度。 [0053] 本发明的某些实施例利用无监督深度学习来训练网络。因此,可使用更易于收集 的未标记数据组,而非标记数据组。 [0054] 本发明的某些实施例同时估计姿态、深度和点云。在某些实施例中,这可对于每个输入图像而产生。 [0055] 本发明的某些实施例可在挑战性场景中稳健地执行。例如,被迫利用失真图像和/ 或过度曝光的一些图像和/或在夜晚或在下雨期间所收集的一些图像。 [0056] 本发明的某些实施例现将参考附图,通过仅作为实例的方式在下文进行描述,其 中: [0057] 图1示出了一种训练系统和一种训练第一和至少一个另一神经网络的方法; [0058] 图2提供了示出第一神经网络的配置的示意图; [0059] 图3提供了示出另一神经网络的配置的示意图; [0060] 图4提供了示出一种用于响应于目标环境的非立体图像序列而提供该目标环境的 同时定位与建图的系统和方法的示意图;和 [0061] 图5提供了示出姿态图形构建技术的示意图。 [0062] 在附图中,类似附图标号指代类似部件。 [0063] 图1提供了一种训练系统和一种训练第一和另一无监督神经网络的方法的图示。 此类无监督神经网络可用作代理(诸如机器人或交通工具)在目标环境中的定位与建图的 系统的一部分。如图1所示,训练系统100包括第一无监督神经网络110和另一无监督神经网络120。第一无监督神经网络在本文中可称作建图网110,而另一无监督神经网络在本文中 可称作追踪网120。 [0064] 如下文将更详细地描述,在训练之后,建图网110和追踪网120可响应于该目标环 境的非立体图像序列而协助提供目标环境的同时定位和建图。建图网110可提供目标环境 的深度表示(深度),并且追踪网120可提供目标环境内的姿态表示(姿态)。 [0065] 由建图网110所提供的深度表示可为目标环境的物理结构的表示。深度表示可提 供为建图网110的输出,作为具有与输入图像相同比例的阵列。这样,阵列中的每个元素将与输入图像中的像素相对应。阵列中的每种元素可包括表示至最近物理结构的距离的数 值。 [0066] 姿态表示可为视点的当前位置和取向的表示。姿态表示可提供为位置/取向的六 自由度(6DOF)表示。在笛卡尔坐标系统中,6DOF姿态表示可对应于沿着x轴、y轴和z轴的位置以及绕着x轴、y轴和z轴的旋转的指示。姿态表示可用于构建姿态图(姿态图形),该姿态图示出视点随着时间的运动。 [0067] 姿态表示和深度表示两者可提供为绝对值(而非相对值),即,对应于现实世界物 理尺寸的数值。 [0068] 追踪网120还可提供与姿态表示相关联的测量不确定度。测量不确定度可为表示 从追踪网所输出的姿态表示的估计准确度的统计值。 [0069] 训练系统和训练方法还包括一个或多个损失函数130。损失函数用于利用未标记 训练数据而训练建图网110和追踪网120。损失函数130提供有未标记训练数据并且利用其 来计算建图网110和追踪网120的期望输出(即,深度和姿态)。在训练期间,将建图网110和追踪网120的实际输出连续地与其期望输出相比较,并且计算当前误差。当前误差然后用于通过已知的反向传播过程来训练建图网110和追踪网120。该过程涉及通过调整建图网110 和追踪网120的可训练参数而尝试使当前误差最小化。用于调整参数以减小误差的此类技 术可涉及本领域已知的一个或多个过程,诸如梯度下降算法。 [0070] 如本文下文将更详细地描述,在训练期间,将立体图像对序列1400,1…n提供至建图网和追踪网。该序列可包括多个批次的三个或更多个立体图像对。该序列可为训练环境。该序列可从立体相机获得,该立体相机移动通过训练环境。在其它实施例中,该序列可为虚拟训练环境。图像可为彩色图像。 [0071] 该立体图像对序列的每个立体图像对可包括训练环境的第一图像1500,1......n和 训练环境的另一图像1550,1......n。所提供的第一立体图像对与初始时间t相关联。下一图像对在t+1提供,其中1指示预设时间间隔。另一图像可具有相对于第一图像的预定偏移量。 第一和另一图像可大体同时(即,在大体相同时间点)捕获。对于图1所示的系统训练方案,对建图网和追踪网的输入因此为立体图像序列,表示为当前时间步长t的左图像序列 (Il,t+n,…,Il,t+1,Il,t)和右图像序列(Ir,t+n,…,Ir,t+1,Ir,t)。在每个时间步长,新图像对被添加至输入序列的起始端并且将最后对从输入序列中移除。输入序列的尺寸保持恒定。将立 体图像序列而不是非立体图像序列用于训练的目的是恢复姿态和深度估计的绝对标度。 [0072] 如本文所描述,图1所示的损失函数130经由反向传播过程用于训练建图网110和 追踪网120。损失函数包括关于在训练期间将使用的特定立体图像对序列的立体图像对的 几何性质的信息。这样,损失函数包括特定于在训练期间将使用的图像序列的几何信息。例如,如果立体图像序列通过特定立体相机设置来生成,那么损失函数将包括有关于该设置 的几何信息。这意味着,损失函数可从立体训练图像提取关于物理环境的信息。适当地,损失函数可包括空间损失函数和时间损失函数。 [0073] 空间损失函数(在本文还称为空间约束)可限定在训练期间将使用的立体图像对 序列的立体图像对的对应特征之间的关系。空间损失函数可表示左右图像对中的对应点之 间的几何投影约束。 [0074] 空间损失函数可自身包括三个子组损失函数。这些子组损失函数将称为空间光度 一致性损失函数、视差一致性损失函数和姿态一致性损失函数。 [0075] 1.空间光度一致性损失函数 [0076] 对于立体图像对140,一个图像中的每个重叠像素i具有另一图像中的对应像素。 为从原始右图像Ir合成左图像I′l,图像Ir中的每个重叠像素i应找出其在图像Il中具有水平距离Hi的对应像素。给定其根据建图网的估计深度数值 距离Hi可通过下式进行计算 [0077] [0078] 其中B为立体相机的基线并且f为焦距。 [0079] 基于所计算Hi,I′l可通过经由空间转换器从图像Ir变换图像Il进行合成。相同过程可适用于合成右图像I′r。 [0080] 假设I′l和I′r分别为从原始右图像Ir和左图像Il合成的左图像和右图像。空间光度一致性损失函数定义为 [0081] [0082] [0083] 其中λs为权重,‖·‖1为L1范数,fs(·)=(1-SSIM(·))/2,且SSIM(·)为用以评估合成图像的质量的结构相似性(Structural SIMilarity,SSIM)量度。 [0084] 2.视差一致性损失函数 [0085] 视差图可由下式限定 [0086] Q=H×W [0087] 其中W为图像宽度。 [0088] 假设Ql和Qr为左视差图和右视差图。视差图根据估计深度图进行计算。Q′l和Q′r可分别从Qr和Qi进行合成。视差一致性损失函数定义为 [0089] [0090] [0091] 3.姿态一致性损失函数 [0092] 如果左和右图像序列用于利用追踪网来单独地估计六自由度转换,那么可期望的 是这些相对转换为精确相同的。两组姿态估计值之间的差值可引入为左右姿态一致性损 失。假设 和 为左和右图像序列通过追踪网估计的姿态,并且λp和λr为平移权重 和旋转权重。两个估计值之间的差值定义为姿态一致性损失: [0093] [0094] 时间损失函数(在本文还称为时间约束)限定在训练期间将使用的立体图像对序 列的序列图像的对应特征之间的关系。这样,时间损失函数表示两个连续非立体图像中的 对应点之间的几何投影约束。 [0095] 时间损失函数自身可包括两个子组损失函数。这些子组损失函数将称为时间光度 一致性损失函数和3D几何配准损失函数。 [0096] 1.时间光度一致性损失函数 [0097] 假设Ik和Ik+1为在时刻k和k+1的两个图像。I′k和I′k+1分别从Ik+1和Ik合成。光度误差图为 和 时间光度损失函数定义为 [0098] [0099] [0100] 其中 和 为对应光度误差图的掩模。 [0101] 图像合成过程利用几何模型和空间转换器进行。为从图像Ik+1合成图像I′k,图像Ik中的每个重叠像素pk应通过下式找出其在图像Ik+1中的对应像素p′k+1 [0102] [0103] 其中K为已知相机固有矩阵, 为由建图网所估计的像素深度, 为由追踪网 所估计的从图像Ik至图像Ik+1的相机坐标转换矩阵。基于该公式,I′k可通过经由空间转换器使图像Ik从图像Ik+1变换进行合成。 [0104] 相同过程可适用于合成图像I′k+1。 [0105] 2.3D几何配准损失函数 [0106] 假设Pk和Pk+1为在时刻k和k+1的两个3D点云。P′k和P′k+1分别由Pk+1和Pk合成。几何误差图为 和 3D几何配准损失函数定义为 [0107] [0108] [0109] 其中 和 为对应几何误差图的掩模。 [0110] 如上文所描述,时间图像损失函数利用掩模 掩模用于移除 或减少在图像中出现的移动物体,并且从而减少视觉SLAM技术的主要误差源之一。掩模根 据从追踪网所输出的姿态的估计不确定度而计算。该过程在下文更详细地描述。 [0111] 不确定度损失函数 [0112] 光度误差图 和几何误差图 和 根据原始图像Ik,、Ik+1和估计点云Pk、 Pk+1进行计算。假设 分别为 的均值。姿态估计的不确 定度定义为 [0113] [0114] 其中S(·)为Sigmoid函数,并且λe为几何误差和光度误差之间的规范化因数。 Sigmoid为使0和1之间的不确定度规范化以表示姿态估计值的准确度置信的函数。 [0115] 不确定度损失函数定义为 [0116] [0117] 表示估计姿态和深度图的不确定度。当估计姿态和深度图足够准确以减少 光度误差和几何误差时, 为小的。 通过以 所训练的追踪网进行估计。 [0118] 掩模 [0119] 场景中的移动物体在SLAM系统中可为有问题的,因为它们未提供用于深度和姿态 估计的、关于该场景的底层物理结构的可靠信息。因此,期望的是尽可能地移除这种噪声。 在某些实施例中,图像的噪声像素可在该图像进入神经网络之前进行移除。这可利用如本 文所描述的掩模来实现。 [0120] 除了提供姿态表示之外,另一神经网络还提供估计不确定度。当估计不确定度数 值高时,姿态表示将通常具有较低准确度。 [0121] 追踪网和建图网的输出用于基于立体图像对的几何性质和立体图像对序列的时 间约束而计算误差图。误差图为这样的阵列:其中该阵列中的每个元素对应于输入图像的 像素。 [0122] 掩模图为数值“1”或“0”的阵列。每个元素对应于输入图像的像素。当元素的数值为“0”时,输入图像中的对应像素应移除,因为数值“0”表示噪声像素。噪声像素为相关于图像中的移动物体的像素,该移动物体应从图像移除使得仅静态特征用于估计。 [0123] 估计不确定度和误差图用于构建掩模图。当对应像素具有大估计误差和高估计不 确定度时,掩模图中元素的数值为“0”。否则,其数值为“1”。 [0124] 当输入图像到来时,其首先利用掩模图进行过滤。在该过滤步骤之后,输入图像中的其余像素用作对神经网络的输入。 [0125] 掩模构建为1的像素百分比为qth和0的像素百分比为(100-qth)。基于不确定度 σk,k+1,像素的百分比qth通过下式来确定 [0126] qth=q0+(100-q0)(1-σk,k+1) [0127] 其中q0∈(0,100)为基本常数百分比。掩模 通过过滤掉(100- qth)对应误差图中的大误差(作为异常值)进行计算。所生成掩模不仅自动地适于不同百分 率的异常值,而且可用于推断场景中的动态物体。 [0128] 在某些实施例中,追踪网和建图网以TensorFlow框架来实施,并且在具有Tesla  P100架构的NVIDIA DGX-1上进行训练。所需GPU存储器可小于400MB,实时性能为40Hz。Adam优化器可用于训练追踪网和建图网至多20至30代(epoch)。起始学习速率为0.001,并且每 1/5的总迭代降低一半。参数β_1为0.9并且β_1为0.99。进给至追踪网的图像的序列长度为 5。图像尺寸为416×128。 [0129] 训练数据可为KITTI数据集,该数据集包括11个立体视频序列。公共智能汽车 (RobotCar)数据集也可用于训练网络。 [0130] 图2根据本发明的某些实施例更详细地示出了追踪网200架构。如本文所描述,追 踪网200可利用立体图像序列进行训练,并且在训练之后可用于提供响应于非立体图像序 列的SLAM。 [0131] 追踪网200可为递归卷积神经网络(recurrent convolutional neural network, RCNN)。递归卷积神经网络可包括卷积神经网络和长短期记忆(long short term memory, LSTM)架构。网络的卷积神经网络部分可用于特征提取,并且网络的LSTM部分可用于学习连续图像之间的时间动态。卷积神经网络可基于开源架构,诸如可得自牛津大学的Visual  Geometry Group的VGGnet架构。 [0132] 追踪网200可包括多个层。在图2所示的实例架构中,追踪网200包括11个层 (2201-11),但应当理解,可使用其它架构和其它数目的层。 [0133] 前7层为卷积层。如图2所示,每个卷积层包括多个特定尺寸的过滤器。过滤器用于从图像提取特征(随着这些图像移动通过网络的多个层)。第一层(2201)包括用于每对输入 图像的16个7×7像素过滤器。第二层(2202)包括32个5×5像素过滤器。第三层(2203)包括64 个3×3像素过滤器。第四层((2204)包括128个3×3像素过滤器。第五层(2205)和第六层 (2206)各自包括256个3×3像素过滤器。第七层(2207)包括512个3×3像素过滤器。 [0134] 在卷积层之后,存在长短期记忆层。在图2所示的实例架构中,该层为第八层 (2208)。LSTM层用于学习连续图像之间的时间动态。这样,LSTM层可基于一些连续图像所包含的信息而学习。LSTM层可包括输入门、遗忘门、存储器门和输出门。 [0135] 在长短期记忆层之后,存在三个全连接层(2209-11)。如图2所示,独立的全连接层可提供用于估计旋转和平移。已发现,这种布置可改善姿态估计的准确度,因为旋转相比于平移具有较高程度的非线性。使旋转和平移的估计分离可允许对旋转和平移所给定的相应 权重的规范化。第一和第二全连接层(2209,10)包括512个神经元,并且第三全连接层(22011)包括6个神经元。第三全连接层输出6DOF姿态表示(230)。如果旋转和平移已分离,那么该姿态表示可输出为3DOF平移和3DOF旋转姿态表示。追踪网还可输出与姿态表示相关联的不确 定度。 [0136] 在训练期间,追踪网可提供立体图像对序列(210)。图像可为彩色图像。该序列可 包括多个批次的立体图像对,例如,多个批次的3个、4个、5个或更多个立体图像对。在所示实例中,每个图像具有416×256像素的分辨率。这些图像提供至第一层并且移动通过后续 层,直至从最后层得到6DOF姿态表示。如本文所描述,将从追踪网所输出的6DOF姿态与通过损失函数所计算的6DOF姿态相比较,并且建图网经由反向传播训练以使该误差最小化。训 练过程可涉及根据本领域已知的技术修改追踪网的权重和过滤器以尝试使误差最小化。 [0137] 在使用期间,向训练追踪网提供非立体图像序列。非立体图像序列可实时地从视 觉相机获得。这些非立体图像提供至网络的第一层并且移动通过网络的后续层,直至得到 最终6DOF姿态表示。 [0138] 图3根据本发明的某些实施例更详细地示出了建图网300架构。如本文所描述,建 图网300可利用立体图像序列进行训练,并且在训练之后可用于提供响应于非立体图像序 列的SLAM。 [0139] 建图网300可为编码器-解码器(或自动编码器)类型架构。建图网300可包括多个 层。在图3所示的实例架构中,建图网300包括13个层(3201-13),但应当理解,可使用其它架构。 [0140] 建图网300的前7层为卷积层。如图3所示,每个卷积层包括多个特定像素尺寸的过 滤器。过滤器用于从图像提取特征(随着这些图像移动通过网络的多个层)。第一层(3201) 包括32个7×7像素过滤器。第二层(3202)包括64个5×5像素过滤器。第三层(3203)包括128 个3×3像素过滤器。第四层(3204)包括256个3×3像素过滤器。第五层(3205)、第六层(3206)和第七层(3207)各自包括512个3×3像素过滤器。 [0141] 在卷积层之后,存在6个反卷积层。在图3的实例架构中,反卷积层包括第八层至第十三层(3208-13)。类似于上文所描述的卷积层,每个反卷积层包括多个特定像素尺寸的过滤器。第八层(3208)和第九层(3209)各自包括512个3×3像素过滤器。第十层(32010)包括 256个3×3过滤器。第十一层(32011)包括128个3×3像素过滤器。第十二层(32012)包括64个 5×5过滤器。第十三层(32013)包括32个7×7像素过滤器。 [0142] 建图网300的最后层(32013)输出深度图(深度表示)330。该深度图可为稠密深度 图。深度图可在尺寸上对应于输入图像。深度图提供了直接(而非反相或视差)深度图。已发现,提供直接深度图可通过改善系统在训练期间的收敛性而改善训练。深度图提供了深度 的绝对测量结果。 [0143] 在训练期间,向建图网300提供立体图像对序列(310)。图像可为彩色图像。该序列可包括多个批次的立体图像对,例如,多个批次的3个、4个、5个或更多个立体图像对。在所示实例中,每个图像具有416×256像素的分辨率。这些图像提供至第一层并且移动通过后 续层,直至从最后层得到最终深度表示。如本文所描述,将从建图网所输出的深度与通过损失函数所计算的深度相比较以识别误差(空间损失),并且建图网经由反向传播训练使该误 差最小化。训练过程可涉及修改建图网的权重和过滤器以尝试使误差最小化。 [0144] 在使用期间,向训练建图网提供非立体图像序列。非立体图像序列可实时地从视 觉相机获得。这些非立体图像提供至网络的第一层并且移动通过网络的后续层,直至从最 后层输出深度表示。 [0145] 图4示出了用于响应于该目标环境的非立体图像序列而提供目标环境的同时定位 和建图的系统400和方法。该系统可提供为交通工具的一部分,诸如机动交通工具、有轨交通工具、船舶、飞行器、无人飞机或航天器。该系统可包括前视相机,该前视相机将非立体图像序列提供至系统。在其它实施例中,该系统可为用于提供虚拟现实和/或增强现实的系 统。 [0146] 系统400包括建图网420和追踪网450。建图网420和追踪网450可如本文参考图1至 图3所描述进行配置和预训练。建图网和追踪网可如参考图1至图3所描述进行操作,不同的是,向建图网和追踪网提供非立体图像序列(而不是立体图像序列)并且建图网和追踪网无 需与任何损失函数相关联。 [0147] 系统400还包括又一神经网络480。该又一神经网络可在本文称为环路网。 [0148] 返回至图4所示的系统和方法,在使用期间,目标环境的非立体图像序列(4100、 4101、410n)提供至预训练建图网420、追踪网450和环路网480。图像可为彩色图像。该图像序列可实时地从视觉相机获得。该图像序列可另选地为视频记录。在任一种情况下,图像的每一者可以规则时间间隔进行分离。 [0149] 建图网420利用非立体图像序列来提供目标环境的深度表示430。如本文所描述, 深度表示430可提供为深度图,该深度图在尺寸上对应于输入图像并且表示至深度图中的 每个点的绝对距离。 [0150] 追踪网450利用非立体图像序列来提供姿态表示460。如本文所描述,姿态表示460 可为6DOF表示。累积姿态表示可用于构建姿态图。姿态图可从追踪网输出,并且可提供相对(或局部)而非全局姿态一致性。因此,从追踪网所输出的姿态图可包括累积漂移。 [0151] 环路网480为已预训练以检测环路闭合的神经网络。环路闭合可指代识别图像序 列中当前图像的特征至少部分地对应于先前图像的特征的时间。实际上,当前图像和先前 图像的特征之间的特定对应程度通常表明执行SLAM的代理已返回至其已经过的位置。当检 测到环路闭合时,姿态图可调整以消除如下文所描述已累积的任何偏移。因此,环路闭合可有助于提供具有全局而非仅局部一致性的姿态的准确量度。 [0152] 在某些实施例中,环路网480可为Inception-Res-Net V2架构。该架构为具有预训 练权重参数的开源架构。输入可为具有416×256像素尺寸的图像。 [0153] 环路网480可计算每个输入图像的特征矢量。然后,环路闭合可通过计算两个图像 的特征矢量之间的相似性进行检测。该相似性可称为矢量对之间的距离,并且可计算为两 个矢量之间的余弦距离: [0154] dcos=cos(v1,v2) [0155] 其中v1、v2为两个图像的特征矢量。当dcos小于阈值时,环路闭合被检测到并且两个对应节点通过全局联系进行连接。 [0156] 利用基于神经网络的方式检测环路闭合为有益的,因为整个系统可制成不再依赖 于基于几何模型的技术。 [0157] 如图4所示,系统还可包括姿态图形构建算法和姿态图形优化算法。姿态图形构建 算法用于通过减少累积漂移而构建全局一致的姿态图形。姿态图形优化算法用于进一步精 修从姿态图形构建算法所输出的姿态图形。 [0158] 姿态图形构建算法的操作更详细地示于图5中。如图所示,姿态图形构建算法由节 点序列(X1、X2、X3、X4、X5、X6、X7…、Xk-3、Xk-2、Xk-1、Xk、Xk+1、Xk+2、Xk+3…)和其联系组成。每个节点对应于特定姿态。实线表示局部联系并且虚线表示全局联系。局部联系指示两种姿态为连 续的。换句话讲,两种姿态与在相邻点及时捕获的图像相对应。全局联系指示环路闭合。如上文所描述,当两个图像的特征(由其特征矢量指示)之间存在大于阈值的相似性时,环路 闭合通常被检测到。姿态图形构建算法响应于另一神经网络和又一神经网络的输出而提供 姿态输出。该输出可基于局部和全局姿态联系。 [0159] 一旦姿态图形已构建,则姿态图形优化算法(姿态图形优化器)495可用于通过精 细调谐姿态估计值和进一步减少任何累积漂移而改善姿态图的准确度。姿态图形优化算法 495示意性地示于图4中。姿态图形优化算法可为用于优化基于图形的非线性误差函数的开 源框架,诸如“g2o”框架。姿态图形优化算法可提供精修姿态输出470。 [0160] 尽管姿态图形构建算法490在图4中示为独立模块,但是在某些实施例中,姿态图 形构建算法的功能可由环路网来提供。 [0161] 从姿态图形构建算法所输出的姿态图形或从姿态图形优化算法所输出的精修姿 态图形可与从建图网所输出的深度图相结合以产生3D点云440。3D点云可包括点组,该点组表示其估计3D坐标。每个点还可具有相关彩色信息。在某些实施例中,该功能可用于从视频序列产生3D点云。 [0162] 在使用期间,数据要求和计算时间远远少于训练期间的。不需要GPU。 [0163] 与训练模式相比,在使用模式中,系统可具有显著较低的存储器和计算需求。系统可在无GPU的计算机上操作。可使用配备有NVIDIA GeForce GTX 980M和Intel Core i7  2.7GHz CPU的膝上型电脑。 [0164] 重要的是注意由上文所描述的、根据本发明的某些实施例所提供的视觉SLAM技术 相比于其它计算机视觉技术(诸如视觉里程计)的优点。 [0165] 通过组合前述帧的每一者之间的估计运动,视觉里程计技术力求识别视点的当前 姿态。然而,视觉里程计技术无法检测环路闭合,这意味着它们不可减少或消除累积漂移。 这还意味着,甚至帧之间的估计运动的小误差可累积并且可导致估计姿态的大尺度不准确 度。这使得此类技术在期望准确和绝对姿态取向的应用(诸如自主交通工具和机器人、建 图、VR/AR)中存在问题。 [0166] 相比之下,根据本发明的某些实施例的视觉SLAM技术包括用以减少或消除累积漂 移和提供更新姿态图形的步骤。这可改善SLAM的可靠性和准确度。适当地,根据本发明的某些实施例的视觉SLAM技术提供了深度的绝对量度。 [0167] 在本说明的说明书和权利要求书中,词语“包括”和“包含”和他们的变型意指“包括但不限于”并且他们不旨在(并且未)排除其它部分、添加物、部件、整合件或步骤。在本说明的说明书和权利要求书中,单数涵盖复数,除非上下文另行要求。特别地,在使用不定冠词的情况下,说明书应理解为设想出复数以及单数,除非上下文另行要求。 [0168] 结合本发明的特定方面、实施例或实例所描述的特征、整合件、特性或组应理解为适用于本文所描述的任何其它方面、实施例或实例,除非与之不相容。本说明书(包括任何附属权利要求书、摘要和附图)所公开的所有特征和/或所公开的任何方法或过程的所有步 骤可以任何组合进行组合,其中至少一些的特征和/或步骤为互相排斥的组合除外。本发明不限于任何前述实施例的任何细节。本发明延伸至在本说明(包括附属权利要求书、摘要和附图)中所公开特征的任何新特征或任何新特征组合,或者延伸至所公开的任何方法或过 程的步骤的任何新步骤或任何新步骤组合。 [0169] 读者的注意力所指向的所有论文和文献与结合本申请的本说明书同时归档或事 先归档并且开放以便本说明书的公众查阅,并且所有此类论文和文献的内容以引用方式并 入本文。

相关技术
定位建相关技术
建图相关技术
D·古发明人的其他相关专利技术