论文:SE3-Pose-Nets: Structured Deep Dynamics Models for Visuomotor Planning and Control

题目:
SE3-Pose-Nets:用于视觉运动规划和控制的结构化深度动力学模型

摘要:
  在这项工作中,我们提出了一种使用结构化深层动力学模型进行深度视觉运动控制的方法。我们的深度动力学模型是SE3-Nets的变体,通过编码器 - 解码器结构学习了一个用于视觉控制的低维姿态嵌入。与以前的工作不同,我们的动态模型是结构化的:在给定输入场景的情况下,我们的网络明确地学习分割突出部分并预测它们的姿态嵌入以及由于应用动作而被建模为姿态空间的变化。我们使用由动作分开的一对点云来训练我们的模型,并且显示只有以帧之间的逐点数据关联的形式给予监督,我们的网络才能够学习场景的有意义的分割以及一致的姿势。我们进一步表明,我们的模型可以直接用于学习的低维姿态空间中的闭环控制,其中通过使用基于梯度的方法使姿态空间中的误差最小化来计算动作,类似于传统的基于模型的控制。我们从模拟和现实世界中的原始深度数据中控制一个Baxter机器人的结果,并与两个基线深度网络进行比较。我们的方法实时运行,实现场景动态的良好预测,并且胜过多个控制运行中的基准方法。我们的结果可以在该网站上显示:https://rse-lab.cs.washington.edu/se3-structured-deep-ctrl/

1.引言

  想象一下,我们正在接收来自相机观察的场景,并且我们想要控制我们的机器人到达目标场景。传统的视觉伺服方法将这个问题分解为两部分:将当前场景与目标相数据关联(通常通过使用特征),并将应用动作的效果建模为场景变化的效果,将这些效果组合在一个紧密的环路中,以伺服到目标。最近在深度学习方面的工作着眼于直接在观察空间中学习相似的预测模型,将像素或3D点的变化直接与所应用的动作联系起来。给定一个目标场景,我们可以使用这个预测模型来生成合适的控制,使用模型预测控制对目标进行视觉伺服。遗憾的是,为了使这条流程工作,我们需要一个外部系统(如[6], [7])能够提供长距离数据关联来衡量进展情况。
  
  正如我们在之前的工作[4]中所展示的,我们可以通过将场景分解为对象并预测对象动态来预测场景动态,而不是对原始像素进行推理。虽然这显着改善了预测结果,但它仍不能提供清晰的我们在控制过程中遇到的数据关联问题的解决方案,我们仍然缺乏跨场景明确关联对象/部分的功能。 我们观察到三个关键点:1)我们可以通过学习预测场景中检测到的对象/部分的姿势(该姿势隐含地提供跟踪)来跨数据关联数据,2)我们可以直接在预测低维姿态空间中对对象的动态进行建模,以及3)我们可以通过组合每个检测部分的动态预测来预测场景动态。
  
  我们在这项工作中结合这些想法来提出SE3-POSE-NETS,这是一种用于高效视觉控制的深层网络架构,可以同時学习长期序列中的数据关联。 我们做出以下贡献:
  
  •我们展示如何通过学习预测模型来检测场景的各个部分,并在最小的监督下同時学习这些部分的一致姿势空间。
  
  •我们演示了如何使用简单梯度反向传播和更复杂的高斯 - 牛顿优化,使人们联想到逆向运动学中的方法,从而可以将深度预测模型用于反应性视觉运动控制[8]。
  
  •我们使用原始深度图像和速度控制实时反应Baxter手臂的结果,包括仿真和实际数据。图1显示了一个示例场景,其中我们提出的方法可用于控制机器人从初始状态(左)到达目标状态(右)。
  
这里写图片描述  
  图1:显示初始(左)和目标点云(右)的示例场景.SE3-POSE-NETS可用于控制机器人仅基于原始深度数据达到目标状态。显示彩色的图像仅用于显示目的。

2.相關工作

  建模场景和动态:我们的工作建立在先前关于学习场景动态结构化模型的工作之上[4]。与SE3-NETS不同,我们现在通过低维姿势嵌入来明确地建立数据关联模型,我们训练它们在长序列中保持一致。与Boots等人[2]类似,我们的模型学习基于应用动作预测点云,但是通过更加结构化的中间表示来描述物体及其运动的原因。与Finn等人[3]不同,我们使用深度数据並且使用掩模和SE(3)轉換方式在3D空間中推理运动,同时以监督的方式训练我们的网络,给出跨越帧对的逐点数据关联。
    
  视觉运动控制:最近,在视觉运动控制方面进行了大量工作,主要是通过使用深度网络[5],[9] - [13]。这些方法要么从视觉数据直接回归到控制[10],[11],要麼通过规划学习的前向动力学模型[5],[9],通过逆动力学模型[12]或强化学习[13]生成控制。类似于这些方法中的一些,我们通过使用学习动力学模型进行规划来生成控制,尽管在学习的低维空间中。具体来说,與芬恩等人的工作 [5]密切相关,但在两个主要方面有所不同:与通过采样动作(≈5Hz)控制观察空间的方法不同,我们的控制器在实时嵌入的学习低维姿态上运行基于梯度的优化(> 30Hz)。此外,他们的方法需要外部跟踪器来衡量进展,而我们明确地学习了跨大运动的数据关联。我们的工作借鉴了Watter等人[9]以前的工作中的几个想法,它从对学习潜在的低维嵌入来快速反应控制我们使用结构化的潜在表示(对象姿势),预测对象遮罩,并使用物理接地的3D损失,这只能模拟观察中的变化,而不是限制性的图像重建损失。最后,我们损失的物理动机类似于针对训练位置 - 速度编码器提出的那些[13],但是我们学习的姿势嵌入结构明显更加结构化,并且我们直接为了控制而端对端地训练我们的网络。
  
  数据关联:计算机视觉文献中的相关工作着眼于解决数据关联问题,主要是通过匹配视觉描述符,无论是手工调整[14],还是最近使用深度网络学习[15],[16]。 在之前的工作中,Schmidt等人 [15]使用短训练序列上的对应关系学习长程关联的强健视觉描述符。 与这项工作不同,我们仅使用帧对之间的对应关系来学习一致的姿态空间,从而使我们可以在长序列中关联数据。
  
  视觉伺服:最后,多年来有多种视觉伺服方法[1],[17],[18],包括一些使用深入学习功能和强化学习的新方法[19]。 虽然这些方法依赖于外部系统进行数据关联或预先指定的功能,但我们的系统是端对端培训的,可以直接从原始深度数据进行控制。  

3.SE3-POSE-NETS

  我们的深层动力学模型SE3-POSE-NETS将场景动力学建模问题分解为三个子问题:a)通过识别明显移动的场景部分并将其潜在状态编码为6D姿态来建模场景结构; b)建模动态作为潜在姿态空间的变化(参数化为SE(3)变换); c)结合这些局部姿态变化来模拟整个场景的动态。每个子问题都由SE3-POSE-NET的一个独立组件建模:
  
  建模场景结构:一个编码器(h enc),将输入点云(x1)分解成一组K个刚体部分,根据每个部分预测6D姿态(pk,k = 1 … K)和密集分割掩模 mk),突出显示属于该部分的点。
  
  建模部分动态:在姿态空间構建姿态转移网络(h trans)生成动态的模型,同时在当前的姿势(PT)和行动(UT)来预测姿势的变化(Δpt) 。
  
  预测场景动态:一个变换层(h tfm),通过显式应用预测给定当前点云(xt),预测对象蒙版(mt)和预测姿态变化量(Δpt)的下一个点云(xt + 1) 3D刚体SE(3)在输入点云上变换。

猜你喜欢

转载自blog.csdn.net/weixin_37251044/article/details/80761794