专栏名称: 计算机视觉深度学习和自动驾驶
讨论计算机视觉、深度学习和自动驾驶的技术发展和挑战
目录
相关文章推荐
钱江晚报  ·  消息传来!英雄白龙,不幸去世 ·  昨天  
钱江晚报  ·  《甄嬛传》女演员自曝!网友怒了 ·  2 天前  
钱江晚报  ·  大S妈妈首度发文,回应女儿去世 ·  2 天前  
杭州交通918  ·  大涨!还在涨!创历史新高🤯 ·  2 天前  
钱江晚报  ·  岳云鹏,传来喜讯! ·  3 天前  
51好读  ›  专栏  ›  计算机视觉深度学习和自动驾驶

VideoDex:通过互联网视频学习灵巧

计算机视觉深度学习和自动驾驶  · 公众号  ·  · 2024-12-22 00:07

正文

22年11月来自CMU的论文“VideoDex: Learning Dexterity from Internet Videos”。

为了构建可以在多种环境中运行的通用机器人智体,机器人通常必须收集现实世界的经验。然而,由于安全、时间和硬件限制,这往往是不可行的。因此,建议利用下一个最好的现实世界经验:人类使用双手的互联网视频。视觉先验,例如视觉特征,通常是从视频中学习的,但我们相信,更多来自视频的信息可以作为更强的先验。构建一个学习算法 VideoDex,它利用人类视频数据集中的视觉、动作和物理先验来指导机器人行为。神经网络中的这些动作和物理先验决定了特定机器人任务的典型人类行为。在机器人手臂和灵巧的手系统上测试该方法,并在各种操作任务中表现出色,优于各种最先进的方法。


如图所示:将人类视频重定位为动作先验,使用预训练嵌入作为视觉先验,并使用神经动态策略 (NDP) [13] 作为物理先验,以完成机械手上的许多不同任务。


NDP [13、14、51] 可产生平滑且安全的开环轨迹。当将它们用作网络主干时,它们可以扩展到任意长度的轨迹,从而可以使用不同长度的人体视频。NDP 可以用动态运动原始方程来描述 [52、53、54、55]:


NDP 使用机器人状态、场景和 NN 来输出强制函数 f/w 的目标 g 和形状参数 w。

最近,Sivakumar [56] 介绍 Robotic Telekinesis ,这是一种使用单个 RGB 摄像头遥操作 Allegro Hand [57] 的流水线。Robotic Telekinesis 利用单目人手和身体姿势估计 [36]、手和身体建模 [31、32、33] 以及人类互联网数据方面的工作,实时将人手和身体重定位到机器人手和手臂上。由于其效率高且易于使用,用 Sivakumar [56] 的方法进行演示收集。

借用 Robotic Telekinesis [56] 中的人手-到-机器人手的重定位方法,该方法手动定义人和机器人手掌和指尖之间的关键向量 v^_h/i 和 v^r/i。他们建立了一个能量函数 E/π,它最小化人手姿势(β,θ)和机器人的手姿势 q 之间距离。c/i 是一个尺度参数。因此,能量函数定义为:

Sivakumar [56]训练一个 MLP H/R(.),在了解人体姿势 (β, θ) 的条件下,隐式地最小化 公式(2)中的能量函数。

利用大规模人手动作数据作为机器人先前的经验来学习通用操作。不仅利用场景外观的视觉先验,还利用人手运动、意图和交互的重要方面。为此,将人体视频数据重定位到机器人的具身和视角的轨迹。通过使用这些人手轨迹预训练策略,可以学习机器人应如何表现的动作先验。然而,利用这些嘈杂的人体视频检测非常困难。因此,还必须采用具有物理先验的策略来学习不会过拟合噪声的平滑而强大策略。

如图所示:训练目标(左)和测试目标(右)的实验数据收集

人类活动数据的视觉先验知识

许多先前的研究 [6、7、8] 已经解决了机器人学习的视觉先验和表示问题。这些网络通常将某种形式的语义视觉先验编码到来自人类视频互联网数据集的预训练网络中。用 Nair 的编码器 [6] 作为策略的有用视觉初始化。Nair  [6] 接受了视觉语言对齐以及时间一致性损失的训练。网络获取人类视频帧并使用公开发布的 ResNet18 [58] 编码器(来自 R3M [6] 的 E/φ)对其进行处理。该网络的输出是学习的视觉表示。

人类活动数据的动作先验知识

虽然视觉预训练有助于语义理解,但人类数据包含更多关于如何与世界互动的信息。VideoDex 使用动作信息来预训练动作先验,这是一种网络初始化,它对特定任务的典型动作信息进行编码。

然而,训练机器人关于人类动作的策略很困难,因为人类和机器人之间存在很大的具身差距,如 Handa [40] 和 Sivakumar [56] 所述。因此,必须将人类的运动重定位到机器人具身中,以便在训练中使用它。这个问题使用三个主要组件来解决。首先,在视频中检测人手。其次,将手部姿势 H 投射到机器人手指关节 H/r。最后,将人类手腕姿势 P 转换为机器人手臂姿势 P/r。H/r 和 P/r 定义人类在机器人框架中的轨迹,可以从中提取动作,使用动作先验预训练策略网络。

首先,必须检测人类正在完成的正确动作。为了加快开发速度,使用 EpicKitchens 数据集 [2] 中的动作注释,但也可以使用动作检测网络(例如 [60])。现在,必须检测手。VideoDex 首先使用 OpenPose [61] 计算操作员手周围的裁剪 c,并将结果传递给 FrankMocap [36] 以获取 3D MANO 模型 [31] 的手形 (β) 和姿势参数 (θ)。这些参数通过低通滤波器传递,随后用于重定位机器人。

接着计算描述机器人框架中手腕姿势的变换,表示为 M^Wrist/Robot。首先,为了计算 M^Wrist/C/t,其中 C/t 是时间步 t 处的机器人相机框架,利用 PnP 算法 [62]。这将获取手部检测模型的 2D 关键点输出 (u/i、v/i) 和手部模型的 3D 关键点 (x/i、y/i、z/i),并计算 M^Wrist/C/t。为了准确获得 PnP 的相机内参,使用 COLMAP [63]。

如图所示:为了将互联网视频用作伪机器人体验,将人手检测从 3D MANO 模型 [31] 重定位到 16 DoF 机械手 (LEAP) 具身,并将手腕从移动摄像机重定位到 xArm6 [59] 具身。


在以人类自我为中心的视频数据集中,相机的位置不是固定的,必须补偿这种移动。具体来说,计算第一帧 C/1 中的相机姿势与轨迹中所有其他帧 C/t 之间的变换。将此变换称为 M^Ct/C/1。为了估计这一点,运行单目 SLAM,特别是 ORBSLAM 3 [64]。

在第一个相机坐标系中计算手腕姿势很重要,但这仍然不在机器人坐标系中,因为机器人始终是直立的。为了能够在机器人的坐标系中变换人体轨迹,必须找到与相机坐标系中重力平行的矢量 α/p。因此,使用最先进的目标检测器 (Detic [65]) 恢复与地板平行的表面(如桌子、地板、柜台和类似的同义词)的物体分割。然后仅使用 Adabins [66] 从 RGB 帧计算估计的深度图。这样,该方法不像大多数 SLAM 方法那样依赖于视频的长期连续性。然后,用与相关目标相对应的深度图部分并计算表面法向量。

在 SLAM 中,还通过假设缩放因子为 1.0 来消除对陀螺仪数据的依赖。这是可以接受的,因为轨迹稍后会重缩放到机器人框架。因此,这种手腕重定位方法仅使用来自人类视频的 2D 图像。

由于机器人有工作空间限制,而且还想将机器人的起始姿势置于中心,启发式地计算 T^World/Robot,它将世界框架 τ^wrist/W 中的人类轨迹重缩放并旋转到机器人轨迹 τ^wrist/R 中。获得 M^Wrist/Robot 的最终函数可以描述为:







请到「今天看啥」查看全文