Bootstrap

ARNOLD:现实 3D 场景中连续状态的语言落地任务学习基准

2023年CVPR来自的论文“ARNOLD: A Benchmark for Language-Grounded Task Learning With Continuous States in Realistic 3D Scenes”。

理解目标的连续状态对于现实世界中的任务学习和规划至关重要。然而,大多数现有的任务学习基准,都假设离散的(例如,二进制)物体目标(goal)状态,这对复杂任务的学习以及将学习的策略从模拟环境迁移到现实世界带来了挑战。此外,状态离散化限制了机器人根据动作和状态落地遵循人类指令的能力。为了应对这些挑战,ARNOLD,作为一个基准,用于评估现实 3D 场景中具有连续状态的语言落地任务学习。ARNOLD 由 8 个语言条件任务组成,涉及理解目标状态和学习连续目标(goal)的策略。为了促进语言指导的学习,提供带有模板生成语言描述的专家演示,利用语言为条件策略学习模型来评估任务绩效。

语言落地能力是人类历史进程中发展起来的一项重要技能,它使人们能够学习和描述概念、执行任务以及相互交流。尽管最近的发展已经使概念在图像中的落地 [67, 40, 69, 21]、与物理环境的交互 [10, 2, 84, 44, 62, 36, 35, 28, 26, 24, 87, 79, 9, 15] 以及在物理环境中的语言理解 [50, 1, 65, 89, 77, 22, 80, 64] 成为可能,但很少有研究人员研究过日常任务中动作的落地 [71, 90, 72, 81]。鉴于人类可以理解物体状态并将语言指令与物理环境联系起来,一个相关的问题出现了:如何才能使机器人系统具有同样的能力来理解和执行物理世界中的语言指令?

学习日常活动中的动作是一项具有挑战性的任务,它带来了一些不小的困难。首先,机器人任务在很大程度上依赖于对场景的详细理解才能成功执行。这包括对几何信息、布局和视觉外观的理解。场景配置的各种组合,包括新的外观、目标和空间位置,进一步加剧了这一挑战。因此,对于机器人系统来说,获得可以迁移到不同领域和环境的通用技能至关重要。

其次,人类拥有精确理解期望目标状态的精妙能力。这种能力能够毫不费力地从简单描述(例如,半满的杯子、完全打开的门等)映射到物理属性的精确状态(例如,体积减半、拉至 180 度等)。然而,对于机器人来说,从抽象的语言指令中学习精确的目标状态极具挑战性,尤其是在涉及隐含的连续目标(object)状态范围时(例如,一点咖啡、微微打开等)[42, 30, 57]。因此,机器人系统迫切需要在连续世界中保持从语言指令到精确目标状态的映射。

应对这些挑战,必要的第一步是开发能够实现基于语言学习逼真的机器人模拟系统。事实上,模拟环境方面最近的显著进展促进了基于语言的任务学习 [8, 73, 58, 90, 54]。尽管取得了令人瞩目的进展,这些基准测试仍然受到一些限制,阻碍了机器人在现实世界中的有效运行:(1)它们通常假设任务是在简单、干净的环境中执行的,而不是在空间上杂乱无章、视觉上受到各种纹理背景干扰的场景中执行的 [43, 46, 90, 72]。(2)它们假设物体状态离散(如二进制)且运动控制完美,忽略了物体的低层几何和动态特性 [76, 74, 16],因此,它们不会尝试深入理解物理状态或细粒度的操作技能。(3)这些基准测试没有将指令与精确状态联系起来 [90, 71],从而忽略了将语言与物体状态联系起来的挑战性问题。

如图所示:ARNOLD 基准,用于在现实 3D 场景中具有连续状态的语言基础任务学习。ARNOLD 提供了 8 个任务及其学习演示,以及一个测试平台,用于测试代理在 (1) 新目标状态、(2) 新对象和 (3) 新场景上的泛化能力。

请添加图片描述

ARNOLD 基准测试的动机,是智能操纵器智体应具备的能力,包括 (1) 理解并将人类指令应用于精确世界状态的能力,(2) 获取策略生成精确的行动和规划,实现精确定义的目标状态能力,以及 (3) 将这些能力迁移到现实世界的可行性。因此,在 ARNOLD 中,专注的是,位于各种照片般逼真和物理般逼真的 3D 场景中,连续目标状态所驱动的语言为条件操纵。

仿真环境

模拟平台。ARNOLD 基于 NVIDIA 的 Isaac Sim [56] 构建,这是一个机器人模拟应用程序,可为机器人研究和开发提供照片般逼真和物理精确的模拟。在 ARNOLD 中,照片般逼真的渲染由支持 GPU 的光线追踪提供支持,物理模拟基于 PhysX 5.0。如图提供了模拟和渲染的示例。

请添加图片描述

物理模拟。为了确保物理逼真的模拟,为目标分配物理参数,包括刚体目标的重量和摩擦力,以及流体的内聚力、表面张力和粘度。这些参数的选择与先前的工作 [60] 相同,并通过人工操作员的反馈进行调整。通过 NVIDIA 的 Omniverse 平台,使用 GPU 加速基于位置的动力学 (PBD) 方法 [55] 模拟流体。根据渲染速度,用行进立方体 (marching cubes)[49] 执行可选的表面构造过程,实现最终的流体渲染效果。

场景配置。ARNOLD 中有 40 个不同的目标和 20 个不同的场景。这些场景是从 [18](一个大型室内场景合成数据集)中精选出来的。这为 ARNOLD 提供了专业设计的布局和高质量的 3D 模型。除了 Isaac Sim 提供的目标外,还从开源数据集 [41, 85] 中收集了目标。修改了目标网格以增强视觉真实感,例如,通过修改材料并为橱柜和抽屉添加顶盖。为了实现更稳定的基于物理抓取,执行凸分解以为每个目标创建精确的碰撞智体。

机器人。在 ARNOLD 中,用带有并联夹持器的 7 自由度 Franka Emika Panda 机械手来执行任务。智体可以直接控制其七个关节和夹持器。用三个空间坐标表示平移,用四元数表示旋转,因为这更利于策略学习 [47]。利用 Isaac Sim 的内置运动规划器,将末端执行器动作转换回机器人关节空间以进行执行。目前,任务不涉及导航,即机器人底座在任务执行期间保持固定。

视觉输入。在 ARNOLD 中,机器人周围布置五个摄像头进行视觉输入。如上图所示,摄像头提供各种视图,包括正面、左侧、机器人底座和手腕。虽然每个摄像头默认以 128 × 128 的分辨率提供 RGB-D 输入,但用户可以以任意分辨率渲染。值得注意的是,与先前研究 [72, 90] 中确定性渲染不同,ARNOLD 中的渲染由于光线追踪采样过程 [70] 而具有随机性,这使得 ARNOLD 更加逼真且更具挑战性。除了视觉观察之外,还可以访问其他辅助观察,例如相机参数、机器人基本姿态和部件级语义掩码。这里排除其他 Omniverse 传感器(例如触觉),因为它们不是任务和模型所必需的。如果需要,它们都可以使用。

任务设计

在 ARNOLD 中包括 8 个具有各种目标状态变化的任务。具体来说,关注连续的目标状态,并围绕它们定义成功范围,其中机器人应保持物体状态 2 秒才能成功。执行这些任务需要语言落地、基于摩擦的抓取、连续状态理解和机器人运动规划方面的能力。其他任务详细信息如下:
• 在 PICKUPOBJECT 和 REORIENTOBJECT 中,指示机器人操纵瓶子以实现不同的目标(goal)。对于前者,目标的初始状态是在地面上,目标指定离地面的高度。对于后者,目标的初始状态是在地面上,水平放置(状态值等于 90°),目标指定物体的方向和直立方向之间的角度。
• 在四个任务 {OPEN、CLOSE} {DRAWER、CABINET} 中,目标(goal)值指定铰接关节的几何状态,可以是距离(对于DRAWER 中的棱柱关节)或角度(对于 CABINET 中的旋转关节)。初始状态是小于 OPEN 目标的任何值,大于CLOSE 目标的任何值。
• 在POURWATER和TRANSFERWATER中,操作目标是盛有水的杯子,目标(goal)指定要倒出(POUR)或倒入另一个杯子(TRANSFER)的水的百分比。在这两个任务中,目标值被指定为相对于杯子中初始水量的水的百分比。

任务池涵盖了各种操作技能和基础方面。PICKUPOBJECT和REORIENTOBJECT被选为移动和旋转目标的基本技能以及距离和角度的基础。这些能力随后在四项任务中组合和强化 {OPEN, CLOSE}{DRAWER, CABINET},其中目标状态基于所操纵的抽屉或橱柜接头的状态。除了刚体目标之外,两项任务{POUR, TRANSFER} WATER中的流体操纵挑战了机器人操纵容器和移动流体的能力,将目标状态值落地于流体容量。

数据收集

演示生成。为每个任务设计一个运动规划器来生成演示。将每个任务划分为规划器的子任务阶段。对于每个阶段,采用 RMPflow 控制器 [7] 来规划朝向关键点的运动。与模拟环境中的其他数据管理方法不同,这种基于关键点的运动规划器方法具有很高的采样效率并有助于模仿学习。虽然运动规划在某些任务上似乎具有挑战性,如 [60, 29] 所示,但引入了一些先前的设计和实用技术([27] )来产生令人满意的结果。例如,用球面线性插值 (Slerp) 来适应 CABINET 和 WATER 任务中的连续操作。因此,运动规划器可以有效地生成演示。

人工注释进行增强。尽管运动规划器功能强大,但产生的演示多样性在很大程度上取决于关键点。为了缓解这个问题,收集大约 2000 个任务配置(例如,目标位置)的人工注释,这相当于更加多样化和更高质量的数据。此外,还通过额外的相对位置和机器人移动来扩充数据,以扩大数据变化。最后,通过使用真值关键点运行推理并在每次执行中验证初始配置的有效性来策划演示。总的来说,为 ARNOLD 基准收集 10000 个有效演示(如表所示),每个演示包含 4-6 个关键帧。

请添加图片描述

语言指令。对于每个演示,用语言生成引擎采样基于模板的语言指令。为每个任务设计几个带有空白的指令模板,每个模板都可以用各种短语候选进行词汇化。例如,模板“拉开 [位置] [对象] [百分比]”可以词汇化为“将顶部抽屉拉开 50%”。除了用明确的数字表示之外,还准备了一个等效短语候选池(例如,“百分之五十”、“一半”、“四分之一”)以供随机替换。请注意,指令未指定初始状态,因此智体必须从观察中识别当前状态([27] 提供模板示例)。

基准

数据分割。评估和提高机器人的泛化能力是 ARNOLD 的主要关注点。为此,分别将目标、场景和目标状态随机分割为见过和未见过子集。然后,通过收集见过目标、场景和状态的数据来创建正常分割。分割进一步打乱,并分为训练/验证/测试集,比例为 70%/15%/15%。值得注意的是,除了提供有效的初始化配置外,评估分割的演示还可用于提供诊断模型性能的中间真值。此外,收集三个组件(即目标、场景和目标状态)之一的未见过数据,创建泛化分割新目标/场景/状态;例如,新目标分割包括未见过目标的数据以及见过的场景和状态。

虽然新状态分割解决了未见过目标状态的泛化问题,但基于连续状态表示应该有助于智体适应连续范围内的任意状态。因此,用见过的目标和场景进行任意状态分割,将目标状态均匀分布在连续范围内,例如 0%–100%。这种设计类似于具有任意目标状态的通用任务,并有助于评估状态泛化。

指标。当成功条件连续满足 2 秒时,任务实例被视为成功。成功条件要求当前状态在目标状态的容忍阈值内;即成功范围。容忍是根据人类行为得出的,TRANSFERWATER 施加了额外的条件,即只能溢出 10% 或更少的水。评估的执行类似于运动规划器中子任务阶段的组成( [27] )。为了避免意外触发,在智体完成最后阶段后检查成功条件。例如,在“倒出杯子中一半的水”的任务中,如果智体将杯子重新直立后 2 秒内杯子中还剩下 40% ∼ 60% 的水,则智体成功。在 ARNOLD 中采用成功率作为评估指标。

为了评估 ARNOLD 上现有的语言调节机器人操作模型,选择两个最先进的模型作为主要关注点:6D-CLIPort [90] 和 PerAct [72]。
• 6D-CLIPort 从上向下视图获取 RGB-D 图像作为输入,并预测当前物体和目标动作的末端执行器姿势。每个末端执行器姿势包含一个动作平移和一个离散欧拉角的分类预测。6D-CLIPort 包含三个分支来处理多模态输入:用于空域流的 Transporter-ResNet [88]、用于语义流的 CLIP 视觉编码器和语言编码器 [67]。
• PerAct 将 RGB-D 图像作为输入以融合 3D 体素化网格。此外,PerAct 还需要本体感受,包括夹持器状态和当前时间步长。本体感受特征平铺在体素网格上。接下来,对混合体素网格进行下采样并将其展平为一个序列。同时,语言指令被馈送到语言编码器(例如 CLIP [67]),然后附加到序列中。PerAct 使用 Perceiver-IO [34] 从多模态长序列中重采样紧凑的潜表示。解码后,PerAct 最终在原始体素网格上输出 Q 函数,用于预测动作平移。与 6D-CLIPort 类似,PerAct 还输出离散欧拉角的分类分布,用于预测动作旋转。与 [72] 中的实现不同,丢弃用于预测夹持器和碰撞的头部。相反,添加一个可选的头部进行状态预测。此外,在实验中考虑 PerAct 的三种模型变型:(1)无语言的 PerAct(PerAct w/o L),用于研究语言基础的重要性;(2)对状态值进行额外监督的 PerAct(PerAct†),以显示 ARNOLD 中任务状态建模的紧迫性;(3)鉴于 [72] 中显示的多任务学习巨大潜力,在多任务设置中训练的 PerAct(PerAct MT)。对于 PerAct†,通过添加额外的输出头来回归隐藏特征中的归一化状态值,从而提供额外的状态监督。还尝试其他操作模型;例如 BC-Z。

实施细节。根据五张渲染的 RGB-D 图像,获得模型的视觉表示,如下所示:利用相机参数,将像素投射回 3D,从而为每个视图得出一个点云。利用 3D 场景中的这些点云,应用感知边框使关键点学习更易于处理。在设置中,立方体在每个轴上的跨度为 126 厘米,立方体中心 (px、py、pz) 沿机器人前进方向距离机器人底座 50 厘米。接下来,获得以下视觉表示:

请添加图片描述

• 对于 6D-CLIPort,每个像素占据 0.56 厘米的大小,可以将 126 厘米 × 126 厘米的感知区域映射到 224 × 224 的自上而下视图图像。将点云及其颜色和距离信息投影到此图像上。请注意,距离代表高度而不是深度。如果一个像素与多个点相关(遮挡),则 RGB 值将是这些点的平均值,距离将是最大高度。
• 对于 PerAct,将体素网格的大小设置为 1203,每个体素覆盖 1.05 cm^3 体中的 3D 上下文。然后,将所有视图的点云聚合到体素网格中,包括坐标、RGB、位置嵌入和占用率。

学习。在训练分割数据上训练所有模型,并在评估分割数据上的十个检查点之间执行模型选择。按照惯例 [90, 72],在演示中使用航点来促进模型学习。具体来说,将 ARNOLD 中的任务执行统一为一个两步过程:抓取目标物体,然后将其操纵到目标状态。遵循 [90, 72] 的训练设置。此外,在多任务训练中,首先均匀采样任务,然后采样相应任务的演示,对每个训练数据进行采样。将单任务的训练迭代次数设置为 100k,将多任务设置的训练迭代次数设置为 200k。在单个 NVIDIA A100 GPU 上执行所有训练,批处理大小为 8。

评估执行。每个任务的评估执行器类似于运动规划器的流水线,但略有不同([27])。模型的预测被转换回子任务阶段的关键点,进行评估执行。通过避免在机器人运动过程中对目标(object)状态走捷径来使评估严格而适当。例如,只要运动规划器尚未执行其最终动作,即使橱柜保持 50% 左右的打开状态 2 秒,指示“将橱柜拉开 50%”的任务也不会被视为成功。为了消除第一步失败(即未能抓住目标物体或物体部分)的影响,进行了额外的评估,以提供第一步的真值。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;