【EAI 013】BC-Z: Zero-Shot Task Generalization with Robotic Imitation Learning

论文标题:BC-Z: Zero-Shot Task Generalization with Robotic Imitation Learning
论文作者:Eric Jang, Alex Irpan, Mohi Khansari, Daniel Kappler, Frederik Ebert, Corey Lynch, Sergey Levine, Chelsea Finn
论文原文:https://arxiv.org/abs/2202.02005
作者单位:Robotics at Google, Everyday Robots, UC Berkeley, Stanford University
论文出处:CoRL 2021
论文被引:235(01/05/2024)
论文代码:https://www.kaggle.com/google/bc-z-robot
项目主页:https://sites.google.com/view/bc-z/home

Abstract

在本文中,我们研究了使基于视觉的机器人操作系统能够泛化到新任务的问题,这是机器人学习中一个长期存在的挑战。我们从模仿学习(Imitation Learning)的角度切入这一难题,旨在研究如何扩展和拓宽所收集的数据来促进这种泛化。为此,我们开发了一个交互式的灵活模仿学习系统,该系统既能从演示(demonstrations)中学习,也能从干预(interventions)中学习,并能以传达任务的不同形式的信息为条件,包括经过预训练的自然语言嵌入(embeddings)或人类执行任务的视频。在对真实机器人的数据收集进行扩展到 100 多个不同任务时,我们发现该系统可以执行 24 个未见过的操作任务,平均成功率为 44%,而且这些任务无需机器人演示。

1 Introduction

机器人技术面临的巨大挑战之一,是创造出一种能够在非结构化环境中根据用户任意指令执行多种任务的通用机器人(general-purpose robot)。这项工作的关键挑战在于泛化性(generalization):机器人必须处理新的环境,识别和操作它以前从未见过的物体,并理解它从未被要求执行的命令的意图。从像素开始的端到端学习是为这种通用机器人行为建模的灵活选择,因为它对世界的状态表示假设最少。只要有足够的真实世界数据,这些方法原则上就能让机器人在新的任务,物体和场景中实现泛化,而不需要手工编码的特定任务表示法。然而,实现这一目标通常仍是遥不可及的。本文研究了如何让机器人将零样本或小样本泛化到新的基于视觉的操作任务

我们利用模仿学习的框架来研究这个问题。之前关于模仿学习的研究表明了对新物体[1, 2, 3, 4, 5]和新物体目标配置[6, 7]的单样本(one-shot)或零样本(zero-shot)泛化。然而,对新任务的零样本泛化仍然是一个挑战,特别是在考虑基于视觉的操作任务时,这些任务涵盖了使用不同物体的多种技能(如擦拭,推,拾放)。要实现这种泛化,就必须解决与扩大数据收集规模和针对不同数据学习算法有关的难题

我们开发的交互式模仿学习(interactive imitation learning)系统具有两个关键特性,能够收集高质量的数据,并将其泛化到全新的任务中。

  • 首先,我们的系统将共享自主权融入远程操作中,使我们既能收集原始演示数据,又能进行人工干预以纠正机器人的当前策略。
  • 其次,我们的系统可根据不同形式的任务说明(包括语言指令或人类执行任务的视频)灵活调整策略。与离散的单样本任务标识符[8]不同,这些连续形式的任务说明原则上可以让机器人在测试时提供新任务的语言或视频指令,从而将零样本或小样本任务泛化为新任务。我们之前已经探索过这些特性;我们的目的是通过经验研究这些想法是否适用于广泛的真实世界任务。

我们的主要贡献是对大规模交互式模仿学习系统进行了实证研究,该系统可解决各种任务,包括对训练期间未见的任务进行零样本和小样本泛化。利用该系统,我们收集了 100 个机器人操作任务的大型数据集,并将专家远程操作和共享自主过程(shared autonomy process)相结合,在共享自主过程中,人类操作员通过纠正错误来 “指导” 所学策略。在 12 个机器人中,7 个不同的操作员收集了 25,877 次机器人演示,共计 125 小时的机器人操作时间,以及 18,726 次相同任务的人类操作视频。在测试阶段,该系统能够完成 24 项未见物体之间的操作任务,而这些物体之前从未在同一场景中出现过。这些闭环视觉运动策略以 10Hz 的频率执行异步推理和控制,每个 episode 决策次数远远超过 100 次。我们开源了用于训练该策略的演示:https://www.kaggle.com/google/bc-z-robot。

2 Related Work

模仿学习在从低维状态学习抓取和拾放(pick-place)任务方面取得了成功[9, 10, 11, 12, 13, 14, 15]。深度学习可以直接从原始图像观测结果中进行模仿学习 [8,16,17]。在这项工作中,我们的重点是在模仿学习框架中实现对新任务的零样本和小样本泛化。

先前的多项模仿学习工作已经实现了不同形式的泛化,包括对新物体[1, 2, 3, 4, 18],新物体配置[19]和新目标配置[6, 7, 20]的一次泛化,以及对新物体[5],场景[21]和目标配置[22]的零样本泛化。其中许多作品都是以机器人演示 [1, 2],人类视频 [3, 4],语言指令 [23, 24] 或目标图像 [21] 为条件来适应新场景的。我们的系统可以灵活地以人类视频或语言指令为条件,并专注于实现零样本(语言)和小样本(视频)泛化,以便在真实机器人上完成全新的 7-DoF 操作任务,包括没有目标图像的场景,以及在训练数据中从未同时遇到任务相关物体的场景

通过远程操作(teleoperation)[25]或动觉教学(kinesthetic teaching)[10]收集演示是标准做法,而 DAgger [26]等主动学习(active learning)方法有助于减少学习者的分布漂移(distribution shift)。遗憾的是,DAgger 及其一些变体 [27, 28]很难应用于机器人操作,因为它们需要一个接口(interface),专家必须在不控制机器人策略的情况下注释正确的操作。受最近自动驾驶领域的 HG-DAgger [29] 和 EIL [30] 的启发,我们的系统只要求专家在认为策略可能出错时进行干预,并允许专家暂时完全控制,使策略回到正轨。由此产生的数据收集方案易于使用,并有助于解决分配偏移问题。此外,专家在数据收集过程中的干预率可作为现场评估指标,我们通过经验发现,这与策略成功与否息息相关。

除了模仿学习,许多其他机器人学习作品也对泛化进行了研究。其中包括将技能泛化到新物体 [31, 32, 33, 34, 35],新环境 [36] ,从模拟到现实 [37, 38, 39, 40, 41],以及新操作技能和物体 [42, 43, 44, 45]。我们的研究重点是最后一种情况,即对新任务的泛化,但与之前的这些研究不同,我们处理的是一大套 100 个具有挑战性的任务,这些任务涉及 10 Hz 频率下的 7 DoF 控制,并且在一个 episode 中需要做出 100 多项决定才能完成任务。

3 Problem Setup and Method Overview

在这里插入图片描述

我们的模仿学习系统概览如图 1 所示。我们的目标是训练一种条件策略,它可以解释 RGB 图像(表示为 s ∈ S s \in \mathcal{S} sS)和任务指令 w ∈ W w \in \mathcal{W} wW(可能对应于语言字符串或人物视频)。不同的任务对应完成不同的目标;图 2 显示了一些任务和相应指令的示例。策略是从图像和命令到动作的映射,可以写成 μ : S × W → A μ : \mathcal{S} × \mathcal{W} → \mathcal{A} μ:S×WA,其中动作空间 A 包括末端操纵装置的 6 个自由度(DoF)姿态,以及用于平行钳口夹爪连续控制的第 7 个自由度

在这里插入图片描述

通过基于虚拟现实的远程操作(VR-based teleoperation rig)平台(见图 1 左侧)收集的大规模数据集,结合直接演示和人在回路中共享自主权(human-in-the-loop shared autonomy),对策略进行训练。在后者中,经过训练的策略被部署到机器人上,当机器人犯错时,人类操作员会进行干预,提供纠正。这一过程类似于人类导向的 DAgger(HG-DAgger)算法 [26,29],可对所学策略进行迭代改进,并提供可用于跟踪策略性能的连续信号。

策略架构分为编码器 q ( z ∣ w ) q(z|w) q(zw) 和控制层 π π π,编码器将命令 w w w 处理为嵌入 z ∈ Z z∈\mathcal{Z} zZ,控制层 π π π 处理 ( s , z ) (s, z) (s,z) 以产生动作 a a a,即 π : S × Z → A π : \mathcal{S} × \mathcal{Z} → \mathcal{A} π:S×ZA。它使我们的方法能够纳入辅助监督,例如预训练的语言嵌入,这有助于构建潜在任务空间并促进泛化。在我们的实验中,我们将证明这种方法可以泛化到训练过程中没有出现过的任务,包括动词和宾语的新组合

4 Data Collection and Workflow

为了让模仿学习系统在零演示的情况下泛化到新任务,我们必须能够轻松地收集各种数据集,提供纠正反馈,并对许多任务进行大规模评估

System Setup.

我们的远程操控系统使用 Oculus VR 头显,该头显通过 USB 连接到机器人的机载计算机,并跟踪两个手持控制器。远程操作员站在机器人后面,使用控制器以第三人称视角操作机器人。机器人在 10 Hz 非实时控制环路中对操作员的动作做出响应。相对较快的闭环控制使操作员能够轻松地演示各种任务,并在自主执行过程中机器人即将进入不安全状态时迅速进行干预。有关用户界面和数据收集的更多详情,请参阅附录 A 和 B。

Environment and Tasks.

我们将每个机器人放置在一张桌子前,桌子上摆放着 6 到 15 件姿态随机的家用物品。我们收集了人类执行 100 项预先指定任务的演示和视频(见表 7 和表 8),这些任务涵盖 9 种基本技能,如 pushing 和 pick-and-place。然后,我们使用新的语言描述或任务视频,在 29 个新任务上对模型进行了评估。该方法要想在这些未完成的任务中表现出色,就必须既能正确解释新的任务指令,又能输出与该任务相符的动作。

在这里插入图片描述

在这里插入图片描述

Shared Autonomy Data Collection.

数据收集从最初的专家专用阶段开始,由人类从头到尾演示任务。从专家专用数据中学习到初始多任务策略后,我们继续在共享自主(shared autonomy)模式下收集演示数据,即当前策略在人类监督下尝试执行任务。在任何时候,人类都可以通过握住 override 开关来接管机器人,这样当策略即将进入不安全状态,或者人类认为当前策略无法成功完成任务时,人类就可以短暂地完全控制机器人,并进行必要的修正。通过这种设置,可以使用 HGDAgger [29],然后将干预数据与现有数据汇总,用于重新训练策略。对于多任务操作任务,我们为初始策略收集了 11,108 次专家演示,然后又收集了 14,769 次 HG-DAgger 演示,涵盖了 16 次策略部署迭代,其中每次迭代都部署了在聚合数据集上训练的最新策略。这样,总共有 25,877 次机器人演示。我们在表 4 中发现,在控制相同的总 episode 时,HG-DAgger 能大幅提高性能。

在这里插入图片描述

Shared Autonomy Evaluation.

当成功率较低时,最好将资源用于收集更多数据以改进策略;但评估对于调试工作流程中的问题也很重要。随着预期泛化程度的提高,我们需要更多的试验来评估策略泛化的程度。这就产生了一个资源权衡问题:如何在测量策略成功率和收集更多示范数据以改进策略之间分配机器人时间?幸运的是,共享自主数据收集还带来了额外的好处:干预率(以每个 episode 所需的平均干预次数来衡量)可作为策略效率的指标。在图 5 中,我们发现干预率与总体策略成功率呈负相关。

在这里插入图片描述

5 Learning Algorithm

上述数据收集过程会产生一个大型多任务数据集。对于每个任务 i i i,该数据集包含专家数据 ( s , a ) ∈ D e i (s, a) \in \mathcal{D}^i_e (s,a)Dei,人类视频数据 w h ∈ D h i w_h \in \mathcal{D}^i_h whDhi 和一条语言指令 w l i w^i_{\mathscr{l}} wli。下面我们将讨论如何使用这些数据来训练编码器 q ( z ∣ w ) q(z|w) q(zw) 和控制层 π ( a ∣ s , z ) π(a|s,z) π(as,z)

5.1 Language and Video Encoders

我们的编码器 q ( z ∣ w ) q(z|w) q(zw) 将语言命令 w l i w^i_{\mathscr{l}} wli 或人类视频 w h w_h wh 作为输入,并生成任务嵌入 z z z。如果命令是语言命令,我们使用预训练的多语言句子编码器 [46] 作为编码器,为每个任务生成 512 维语言向量。尽管简单,但我们发现这些编码器在我们的实验中运行良好。

当任务指令是人类执行任务的视频时,我们使用卷积神经网络生成 z z z,特别是基于 ResNet-18 的模型。受近期研究成果 [2, 3] 的启发,我们以端到端的方式对该网络进行了训练。我们收集了 18,726 个视频数据集,这些视频是人类在各种家庭和办公室地点,摄像机视角和物体配置下完成每一项训练任务的视频。我们使用成对的人类视频 w h i w^i_h whi 和相应的演示 d e m o { ( s , a ) } i demo\{(s,a)\}^i demo{(s,a)}i,对人类视频 z i ∼ q ( − ∣ w h i ) z^i ∼ q(-|w^i_h) ziq(whi) 进行编码,然后将嵌入传递到控制层 π ( a ∣ s , z i ) π(a|s, z_i) π(as,zi),再将行为克隆损失的梯度反向传播到策略和编码器参数中。

附录 E 中对所学嵌入的可视化显示,这种端到端方法本身往往会过拟合初始物体场景,学习到较差的嵌入,并显示出较差的任务泛化能力。因此,为了使视频嵌入更符合语义,我们进一步引入了辅助语言回归损失。具体来说,这种辅助损失训练视频编码器以余弦损失预测任务语言命令的嵌入。由此得出的视频编码器目标如下:

在这里插入图片描述

其中 Dcos 表示余弦距离。由于机器人演示同时也是任务视频,我们还训练编码后的机器人视频与语言向量相匹配。这种语言损失对于学习更有组织的嵌入空间至关重要。其他架构和训练细节见附录 E。

5.2 Policy Training

在任务嵌入固定的情况下,我们通过对 XYZ 和轴角度预测的 Huber 损失以及对抓取角度的对数损失来训练 π ( a ∣ s , z ) π(a|s,z) π(as,z)。在训练过程中,图像会被随机裁剪,降采样,并进行标准的光度增强。下面我们将介绍两个额外的设计选择,我们发现它们很有帮助。其他训练细节,如学习率,批量大小,伪代码和更多超参数,将在附录 D 中讨论。

Open-Loop Auxiliary Predictions.

该策略预测了机器人将采取的行动,以及如果以开环方式运行,该策略将采取的下 10 个行动的开环轨迹。在推理时,策略闭环运行,只根据当前图像执行第一个动作。开环预测赋予了一个辅助训练目标,并提供了一种以离线方式直观检查闭环规划质量的方法(见图 1 右侧)。

State Differences as Actions.

在标准的模仿学习实现中,演示时的动作被直接用作目标标签,以便从状态中进行预测。然而,以 10Hz 的频率克隆专家动作会导致策略学习到非常小的动作以及抖动行为。为了解决这个问题,我们将动作定义为未来 N > 1 步目标姿势的状态差异,并使用自适应算法根据手臂和抓手的移动程度来选择 N。我们将在第 6.3 节中对这一设计选择进行消融研究,并在附录 C 中提供更多细节。

5.3 Network Architecture

在这里插入图片描述

我们使用深度神经网络对策略进行建模,如图 3 所示。策略网络通过 ResNet18 “torso” [48] 处理摄像头图像,“torso” 从最后一个均值池化层分支到多个 “action heads”。每个 “action heads” 都是一个多层感知器,有两个大小各为 256 的隐藏层和 ReLU 激活,并对末端执行器的部分动作进行建模,特别是 delta XYZ,delta axis-angle 和 normalized gripper angle。通过 FiLM 层[47],该策略以 512 维任务嵌入 z 为条件。按照 Perez 等人的研究[47],任务条件被线性地投射到 4 个 ResNet 块中每个块的每个通道的通道尺度和移位上。

6 Experimental Results

我们的实验旨在评估 BC-Z 在大规模模仿学习环境中的作用。我们首先在单任务视觉模仿学习中对 BC-Z 进行初步验证。然后,我们的实验将旨在回答以下问题:

  • (1) BC-Z能否从语言形式的命令或人类视频中实现零次和少量泛化到新任务?
  • (2) BC-Z 的性能瓶颈在于任务嵌入还是策略?
  • (3) BC-Z 的不同组成部分(包括 HG-DAgger 数据收集和自适应状态差异)的重要性如何?

我们将在本节介绍针对这些问题的实验。

6.1 BC-Z on Single-Task Imitation Learning

在考虑更具挑战性的多任务设置之前,我们首先要验证 BC-Z 能够学习单个基于视觉的任务。我们选择了两项任务:一项是垃圾桶清空任务,机器人必须从垃圾桶中抓取物品并将其丢入相邻的垃圾桶;另一项是开门任务,机器人必须在避免碰撞的同时推开一扇门。这两项任务都采用图 3 中的结构,只是开门任务涉及预测底座的前进速度和偏航速度,而不是控制手臂。垃圾桶清空数据集有 2759 次演示,而开门数据集有 24 个会议室的 12000 次演示和 5 个会议室的 36000 次模拟演示。更多任务和数据集详情见附录 I。

在这里插入图片描述

从表 1 中我们可以看到,BC-Z 模型的拾取速度达到了每分钟 3.4 次,是人类远程操作员速度的一半以上。此外,我们还可以看到,BC-Z 在 training door 场景中的成功率达到了 87%,而在 held-out door 场景中的成功率达到了 94%。这些结果验证了 BC-Z 模型和数据收集系统能够在单一任务设置中的 training 场景和 held-out 场景中取得良好的性能。其他分析见附录 H。

6.2 Evaluating Zero-Shot and Few-Shot Task Generalization

在这里插入图片描述

接下来,我们将测试 BC-Z 是否能在新任务中实现泛化。我们收集了 100 个不同操作任务的演示,包括两个不相连的物体集。使用不相邻的物体集,我们可以专门测试在训练过程中未同时出现的物体-物体对和物体-动作对组合的泛化能力。对于第一组物体,我们收集了 21 个不同任务的演示,如表 7 所示,这些任务涵盖了广泛的技能,从拾放任务到要求以特定方式放置物体的技能,如 “将瓶子竖立起来”。对于第二组物体,收集了 79 个不同任务的演示,包括拾放,擦拭表面和堆叠物体。后一种操作行为的种类较少,但定义的物体集较大,杂乱程度较高。附录 B 显示了物体集,附录 J Table 7 列出了全部训练任务句子。

我们对 BC-Z 在 29 个未完成任务中的表现进行了评估。语言条件策略给出的是一个新句子,而视频条件策略给出的是新任务中几个人类视频的平均嵌入。其中 4 个未完成任务使用了 79 个任务系列中的物体,而 25 个任务则是通过混合使用 21 个任务系列和 79 个任务系列中的物体生成的。因此,前 4 个被保留下来的任务不需要跨物体集泛化,因此更容易泛化。即便如此,我们还是发现这 4 个任务中的每一个都具有足够的挑战性,以至于使用 DAgger 干预对 300 多个保留演示进行的单任务策略训练完全失败,任务成功率为 0%。这在一定程度上校准了这些任务的难度。我们假设,造成这一挑战的一个主要因素是,在我们的设置中,技能必须泛化到广泛的地点,物体和分心物,以及训练数据中广泛的这些因素

在这里插入图片描述

在表 2 中,我们可以看到,以语言为条件的 BC-Z 能够将 "0-shot "泛化到这两种被放置的任务中,平均成功率为 32%,并且在 24 个被放置的任务中成功率不为零。在 24 个成功率不为零的暂缓任务中,BC-Z 在对其从未见过的语言嵌入进行条件化时,平均成功率为 44%。

  • 以人类视频为条件时,我们发现泛化要困难得多,但 BC-Z 仍能以非零成功率泛化到 9 个新任务,尤其是当任务不涉及新的物体组合时
  • 从定性角度来看,我们观察到语言条件策略通常会朝着正确的物体移动,这清楚地表明任务嵌入反映了正确的任务,我们在补充视频中进一步说明了这一点。
  • 最常见的失败原因是 “最后一厘米” 错误:未能关闭抓手,未能松开物体,或者在松开抓手中的物体时差点错过目标物体

Is Performance Bottlenecked on the Encoder or the Policy?

既然我们看到 BC-Z 可以在一定程度上泛化到相当数量的保留任务,那么我们要问的是,其性能是否更多地受到编码器 q ( z ∣ w ) q(z|w) q(zw),控制层 π ( a ∣ s , z ) π(a|s,z) π(as,z) 或两者的泛化的限制。为了将这些因素区分开来,我们从三个方面测量了训练任务的策略成功率:单样本任务标识符,训练任务命令的语言嵌入以及训练任务中被保留的人类视频的视频嵌入。比较结果见表 3。单样本和语言为条件的性能相似,这表明潜在语言空间是足够的,而对 held-out 任务进行语言条件化的性能瓶颈在于控制层而非嵌入层。视频条件策略的性能下降更为明显,这表明从视频中推断任务要困难得多,尤其是对于 held-out 任务

在这里插入图片描述

6.3 Ablation Studies and Comparisons

我们利用(训练)21 个任务系列验证了 BC-Z 设计决策的重要性。我们的第一组消融对 “将瓶子放入陶瓷碗中” 命令进行了评估,这是所有任务中演示次数最多的任务(1000 次)。我们首先测试了多任务训练是否有助于提高性能:我们比较了在所有任务的 25,877 个演示中训练的多任务系统和仅在目标任务的 1000 个演示中训练的单任务策略。在表 4(左)中,单任务基线的成功率仅为 5%。这一低成功率与第 6.2 节中 “放置任务” 的单任务低成功率是一致的:收集多个机器人和操作员的数据可能会增加任务的学习难度。只有在多个任务中汇集数据时,BC-Z 才能学会解决任务。我们消减了第 5.3 节中描述的自适应状态扩散方案,并发现该方案非常重要;当天真地选择 N = 1 个未来状态来计算专家行动时,策略会与噪声相匹配,且移动速度太慢,导致状态偏离良好轨迹。

接下来,我们在保持数据总量不变的情况下,减少了 HG-DAgger 的使用。具体来说,我们比较了使用 50% 专家演示和 50% HG-DAgger 干预所训练的策略与使用 100% 专家演示所训练的策略的性能。在表 4(右)中,我们发现在 "将瓶子放入陶瓷碗中 "任务和其他 7 个训练任务中,HG-DAgger 都比克隆专家演示显著提高了任务性能。附录 K 提供了更多比较详情。最后,在图 5 中,我们评估了衡量 HG-DAgger 干预是否能为我们提供策略性能的实时代理(live proxy)。我们发现,干预频率与策略成功率成反比,策略成功率的衡量标准是不需要干预的成功 episode 的比例。这一结果表明,我们确实可以将这一指标与 HG-DAgger 一起用于开发目的。

7 Discussion

我们介绍了一种多任务模仿学习系统,该系统将灵活的任务嵌入与在 100 个任务演示数据集上进行的大规模训练相结合,使其能够根据用户提供的语言或视频命令泛化到训练中未见的全新任务。我们的评估涵盖了 29 项未见过的基于视觉的操作任务,涉及各种物体和场景。我们的实证研究得出的主要结论是,简单的模仿学习方法可以在不增加机器人任务数据的情况下,扩展到新的任务。也就是说,我们了解到,我们不需要更复杂的方法来实现任务级的泛化。通过实验,我们还了解到,100 个训练任务足以实现对新任务的泛化,HG-DAgger 对于良好的性能非常重要,而冻结预训练的语言嵌入则无需任何额外训练即可成为出色的任务条件

我们的系统确实存在一些局限性。

  • 首先,新任务的表现差异很大。不过,即使是在不太成功的任务中,机器人的行为也常常表明它至少理解了任务的一部分,比如伸手去拿正确的物体或执行与语义相关的动作。这表明,未来工作的一个令人兴奋的方向是将我们的策略用作通用初始化,对下游任务进行微调,在此基础上进行额外的训练(也许是自主 RL),从而显著提高性能
  • 我们的语言命令结构遵循简单的 “(动词) (名词)” 结构。解决这一限制的一个方向是使用各种人类提供的注释对数据集进行重新标注[24],这样可以使系统处理语言结构中更多的变化
  • 另一个限制因素是视频条件策略的性能较低,未来在改进基于视频的任务表征的泛化和提高模仿学习算法整体性能方面的研究应该更加关注,因为低层次控制错误也是一个主要瓶颈

※ A Teleoperation Interface

人类遥操作器包含两个无线 Oculus Quest 控制器,并使用相同的接口对所有任务执行演示。当保留 override 按钮(右控制器上的离合器)时,机械臂跟踪控制器的位置和方向。机器人可以在自主模式和手动模式之间切换。在手动模式下,机器人仍然保持不变,除非操作员移动它。在自主模式下,机器人遵循学习策略,除非操作员覆盖它。

在这里插入图片描述

※ B Data Collection Details

在这里插入图片描述

B.1 Inter-task Variability

B.2 Robotic Teleoperation

B.3 Human Video Data Collection

C Featurization Details

D Policy Training Details

E Video Conditioning Details

E.1 Video Preprocessing and Architecture

E.2 Ablation on Video Encoder Batch

F Video Embedding Visualization

※ G Data Annotation Visualization

在数据收集期间,远程操作员偶尔会记录不成功的演示作为成功,反之亦然。为了修复这些错误,我们构建了一个数据可视化器,其中可以通过对其元数据的 SQL 查询检索演示,然后重新注释。除了修复不正确的标签外,我们还使用该工具来执行一般的数据清洗,例如标记机器人硬件故障的演示,演示中机械臂遮挡了目标物体。该界面如图 10 所示。

在这里插入图片描述

H Single-Task Validation on Bin-Emptying

I Single-Task Validation on Door Opening

J Multi-Task Manipulation Training Task

K Details on HG-DAgger Ablation

L Negative Results

M Further Video Embedding Comparisons

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/677318.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享76个表单按钮JS特效,总有一款适合您

分享76个表单按钮JS特效,总有一款适合您 76个表单按钮JS特效下载链接:https://pan.baidu.com/s/1CW9aoh23UIwj9zdJGNVb5w?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集…

会声会影绿幕抠图操作方法 会声会影绿幕抠图有绿色残边 绿幕抠图视频有绿边怎么处理 抖音怎么剪辑视频 视频剪辑软件推荐

科幻片里真的存在怪兽吗?外太空的画面是直接将演员放入太空拍摄的吗?其实这些不切实际的画面是通过绿幕拍摄实现的。你只需要在绿幕前拍一段太空漫步的视频,再利用会声会影的抠图功能就能实现!如果你还不会绿幕抠图,我今天就手把…

《杨绛传:生活不易,保持优雅》读书摘录

目录 书简介 作者成就 书中内容摘录 良好的家世背景,书香门第为求学打基础 求学相关 念大学 清华研究生 自费英国留学 法国留学自学文学 战乱时期回国 当校长 当小学老师 创造话剧 支持钱锺书写《围城》 出任震旦女子文理学院的教授 接受清华大学的…

扑克牌大小(模拟)

题目 import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String s sc.nextLine();String[] ss s.split("-");StringBuffer s1 new StringBuffer();StringBuffer s2 new StringBuffer(…

微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 目录 前言 通过代码实现限流 定义资源 通过代码定义资源 通过注解方式定义资源 定义限流规则 通过…

cximage在vs2013下使用方法

1.下载源码 Cximage源码官网 CxImage download | SourceForge.net 下载最新版本 702版本 Download cximage702_full.7z (CxImage) 2.编译 vs2013打开CxImageFull_vc10.sln 这个源码版本是vc10的版本,所以vs2013会自动更新项目 因为cximage需要在后面的项目中使…

2月7日《CS2》终于放大招,玩家激情再次被点燃

2024.2.7号,也就是昨天,V社终于放了大招,对CS2做了高达5个多G的大更新,这次更新内容还是比较多的,说几个比较有意思的点吧。 1、新武器箱:千瓦武器箱! 全新的武器箱千瓦箱,能开出全…

Netty应用(一) 之 NIO概念 基本编程

目录 第一章 概念引入 1.分布式概念引入 第二章 Netty基础 - NIO 1.引言 1.1 什么是Netty? 1.2 为什么要学习Netty? 2.NIO编程 2.1 传统网络通信中开发方式及问题(BIO) 2.1.1 多线程版网络编程 2.1.2 线程池版的网络编程…

搭建yum仓库服务器

安装 1.安装linux 1.1安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 1.2下载 cd /opt/nginx wget http://nginx.org/download/nginx-1.25.3.tar.gz 1.3解压 tar -xvf nginx-1.25.3.tar.gz 1.4配置 cd nginx-1.25.3 ./configure --pre…

FTP 文件传送协议

目录 1 文件传送协议 FTP 1.1 FTP 的基本工作原理 FTP 特点 主进程的工作步骤 两个连接 两个不同的端口号 NFS 采用另一种思路 1.2 简单文件传送协议 TFTP TFTP 的主要特点 TFTP 的工作(很像停止等待协议) 1 文件传送协议 FTP 文件传送协议 …

Redisson分布式锁 原理 + 运用 记录

Redisson 分布式锁 简单入门 pom <dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.13.6</version></dependency>配置类 package com.hmdp.config;import org.redisson.Redisson;…

NLP_引入注意力机制

文章目录 点积注意力创建两个张量x1和x2计算张量点积&#xff0c; 得到原始权重对原始权重进行归一化求出注意力分布的加权和 缩放点积注意力编码器-解码器注意力定义Attention类重构Decoder类重构Seq2Seq类可视化注意力权重 注意力机制中的 Q、K、V自注意力多头自注意力注意力…

CSS 2D转换 3D动画 3D转换

目录 2D转换(transform): 移动translate: 旋转rotate: 缩放scale&#xff1a; CSS3动画&#xff08;transform&#xff09;&#xff1a; 动画常用的属性&#xff1a; 将长图片利用盒子实现动画的效果&#xff1a; 3D转换&#xff1a; 透视perspective&#xff1a; 旋转r…

动态内存经典笔试题分析

1.代码1 void GetMemory(char *p) { p (char *)malloc(100); } void Test(void) { char *str NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); } int main&#xff08;&#xff09; { Test&#xff08;&#xff09;&#xff1b; return 0&#x…

WWW 2024 | 时间序列(Time Series)和时空数据(Spatial-Temporal)论文总结

WWW 2024已经放榜&#xff0c;本次会议共提交了2008篇文章&#xff0c;research tracks共录用约400多篇论文&#xff0c;录用率为20.2%。本次会议将于2024年5月13日-17日在新加坡举办。 本文总结了WWW 2024有关时间序列&#xff08;Time Series&#xff09;和时空数据&#xf…

使用rem单位制,实现页面适应性窗口元素

目录 REM单位&#xff1a; 媒体查询&#xff1a; 引入资源&#xff1a; REM适配方案&#xff1a; 适配方案一&#xff1a; rem媒体查询less技术 适配方案二&#xff1a; REM单位&#xff1a; rem(rootem)是一个相对单位&#xff0c;类似于em,em是父元素字体大小。 不同的…

elasticsearch下载及可视化工具下载使用

elasticsearch下载及配置、启动 一、下载 Download Elasticsearch | Elastic 二、启动 双击bat即可。 出现如下说明启动成功&#xff1a; 访问测试&#xff1a; 三、注意 &#xff08;1&#xff09;因为es启动默认端口是&#xff1a;9200,所以需要检查此端口是否被占用。…

Linux系统中HTTP代理的常见问题及解决方案

亲爱的Linux用户们&#xff0c;是不是有时候觉得HTTP代理就像是一个魔法盒子&#xff0c;让你在数字世界中自由穿梭&#xff1f;但是&#xff0c;就像所有的魔法物品一样&#xff0c;它也会偶尔出点小状况。今天&#xff0c;我们就来一起探讨一下Linux系统中HTTP代理的常见问题…

DC-9靶机渗透详细流程

信息收集&#xff1a; 1.存活扫描&#xff1a; arp-scan -I eth0 -l 发现靶机ip&#xff1a;192.168.10.132 └─# arp-scan -I eth0 -l 192.168.10.1 00:50:56:c0:00:08 (Unknown) 192.168.10.2 00:50:56:e5:b1:08 (Unknown) 192.168.10.132 //靶机 00:0c…

【漏洞复现】狮子鱼CMS某SQL注入漏洞

Nx01 产品简介 狮子鱼CMS&#xff08;Content Management System&#xff09;是一种网站管理系统&#xff0c;它旨在帮助用户更轻松地创建和管理网站。该系统拥有用户友好的界面和丰富的功能&#xff0c;包括页面管理、博客、新闻、产品展示等。通过简单直观的管理界面&#xf…