英伟达&斯坦福大学发布GRS:从真实世界观测中生成机器人仿真任务 精华
文章链接:https://arxiv.org/pdf/2410.15536
亮点直击
- 提出了一种实现真实到模拟仿真生成的新颖系统;
- 在一系列真实和模拟测试中展示了该方法的高效性。
总结速览
解决的问题:GRS系统旨在解决机器人、计算机视觉和AR/VR中的“真实到模拟”(real-to-sim)转换问题。具体来说,通过单次RGBD观测生成数字孪生模拟环境,并生成适合虚拟agent训练的多样化、可解任务。
提出的方案:GRS系统分为三个阶段:1)使用SAM2进行场景理解与目标分割,并结合视觉语言模型(VLMs)对目标进行描述;2)将识别出的目标匹配为可用于仿真的资产;3)生成与上下文相关的机器人任务。此外,GRS通过引入一个迭代优化的router,逐步完善仿真和测试代码,确保仿真环境符合任务规格且机器人策略可解。
应用的技术:GRS依赖于最先进的视觉语言模型和SAM2模型实现场景理解和目标识别,并使用一个迭代优化的router来精确匹配输入环境中的目标。其核心技术包括:目标分割、VLMs描述匹配、仿真资产匹配以及仿真环境与任务验证测试集生成。
达到的效果:实验结果表明,GRS系统能够精确识别目标对应关系,生成与输入环境高度匹配的任务环境,并通过router机制有效提升自动仿真任务的生成质量,使得生成的仿真任务在符合任务规格的前提下对机器人策略可解。
方法
用于生成真实到模拟任务的方法分为两个阶段:1)场景理解;2)仿真生成与评估。首先,处理输入的RGBD图像以提取场景信息,包括边界框和分割掩码。接下来,我们在提取的元素与可用于仿真的资产之间建立对应关系。
利用这些场景数据,为机器人系统制定要执行的任务。提取的3D资产和场景信息是生成初始仿真和相关测试用例的关键输入。我们引入了一个称为router的创新迭代优化过程,该过程逐步改进仿真和测试用例,直到策略成功完成指定任务。参考GenSim,将任务(指机器人系统要执行的目标和/或动作的文本描述)与仿真(指系统生成以模拟该任务的代码)区分开来。在本文的框架中,这种区分将概念指令与其具体实现分开。
A. 场景理解
我们采用两阶段的方法进行场景描述,将图像分割与图像描述结合起来,如下图2的第一个条目所示。该过程确保对场景的详细理解,有助于生成准确的仿真和任务。
图像分割。在初始阶段,我们使用SAM2(Segment Anything Model 2)对输入图像进行全面分割。该最新模型在识别和描绘场景中的各个元素方面表现出色。该过程通常会导致过分割,即较大目标的各个组件(如机器人的部分或背景元素)被识别为独立的段。虽然这种细节级别似乎过于繁琐,但它为我们后续的分析提供了细致的基础,使我们能够更细腻地理解场景的组成。
目标对应关系。目标对应关系过程旨在将候选目标与适合的3D资产进行匹配,以用于仿真。本文的方法包括三个步骤:1)资产数据库创建:通过提示VLM分析每个资产的多个渲染图像,生成资产库中每个3D目标的丰富多角度描述。2)候选目标描述:我们使用相同的VLM来描述从分割过程中获得的候选目标裁剪图像。这一描述仅基于它们的视觉信息,确保与资产数据库具有一致的比较基础。3)描述比较:我们利用VLM对这些描述进行比较,结合先前的文本描述和裁剪的真实图像,将每个候选目标匹配到一个3D资产或识别为非目标。此步骤确保仅将相关目标纳入仿真。
此过程的结果是一个场景资产的完整列表,每个资产都关联了初始图像分析期间获得的特定边界框信息。此详细映射构成了在仿真环境中准确重建场景的基础。
B. 仿真生成与评估
仿真生成的挑战在于将现实世界的目标转化为机器人可执行的仿真程序。该代码必须精确定义仿真的初始配置和预期结束状态,同时通过测试来确认这些条件。至关重要的是,生成的仿真应优化为可行,使机器人策略能够在可接受的时间内顺利完成任务。
GRS的仿真生成过程以场景图像和场景描述为输入,概述见下算法1。受GenSim 的启发,我们将仿真生成分为两个阶段:1)制定抽象任务定义并选择合适的资产;2)为任务编写仿真程序。本文的方法通过结合场景图像并使用VLM进行输入处理,增强了这两个步骤,有别于GenSim的LLM方法。与GenSim不同,我们不使用预定义的资产,而是利用目标对应过程中识别的候选目标。这使我们的任务生成受益于场景的视觉上下文和可用资产的文本描述。
任务定义生成。在获得场景描述和选定的视觉资产后,系统首先生成任务定义,如图2的第二项所示。我们提供场景信息、图像和资产描述,以生成符合上下文的机器人任务。为适应多种潜在任务,我们允许任务使用观测到的部分资产。我们专注于生成对机器人系统既实用又具有挑战性的任务,这些任务通常涉及特定方式操作场景中的目标,例如堆叠特定物品或按类别分组目标。例如,系统可能生成如下任务:“将所有红色方块堆叠在蓝色圆柱上”或“按大小顺序从左到右在桌子上排列目标。”
这种方法允许创建广泛的任务,从简单的目标操作到更复杂的空间推理和组织挑战,所有任务都根据给定场景中的特定目标和布局进行定制。通过利用分割和目标对应过程实现的详细场景理解,我们确保生成的任务不仅多样且符合实际场景上下文,同时在模拟环境中也是可行的。
仿真程序生成。接下来,我们使用VLM生成仿真代码,VLM接收场景图像、任务定义和资产描述,如图2的第三项所示。为了确保生成的仿真有效地完成机器人任务,我们还生成了由一系列测试组成的测试程序。测试程序的生成是通过将仿真程序和任务描述作为输入提供给LLM来完成的。
为使任务描述与生成的仿真一致,我们引入了一种新颖的LLM路由系统,该系统动态迭代仿真程序和测试。算法遵循一个简洁而有效的步骤:1)运行测试:在仿真程序上执行测试并收集错误信息。2)路由:根据任务描述和错误信息确定是更新生成的测试程序还是仿真程序。3)修复:使用VLM修复仿真代码或使用LLM修复测试代码,参考输入的场景图像、错误信息和任务定义。4)重复此循环,直到执行过程中不再出现错误。该算法在图2的最后一项中可视化展示。尽管此过程简单,但其表现出了显著的效果,使系统能够在多个组件及其相互关系上进行推理。通过使用任务定义作为指导来优化仿真和关联的测试,我们的路由系统确保概念任务描述与其在模拟环境中的实际实现一致。
专注于适合策略执行或训练的机器人仿真。为此,在测试生成过程中促使任务由oracle agent完成。提示包括调用模拟器中oracle agent的API信息以及用于环境观察和行动的简化执行循环。oracle agent成功执行的标准十分严格,但也非常有价值,要求代码无错误并在模拟器的物理约束内指定可实现的目标。尽管另一种替代方法可以只使用单元测试来检查场景定义的有效性,但我们选择使用预言机器人策略进行测试。尽管这种选择可能会导致更高的生成成本,但它增加了后续任务生成成功的可能性。通过使用LLM编写测试,我们确保预言行为具有与任务细节和场景一致的测试辅助。
实验
本文的方法旨在提高资产检索的准确性和任务仿真的一致性。由于真实到仿真转换这一特定领域缺乏基准数据,引入了一项新的实验,灵感源自桌面机器人任务。捕获了10个不同的场景,每个场景平均包含15个物体。这些物体来自HOPE数据集,包括常见的杂货物品,其3D模型适合用于物理仿真。同时,还添加了彩色立方体和容器。对于每个场景,使用ZED 2相机录制了一幅1080p的RGB图像以及点云数据。每个目标都有其对应的掩码、2D和3D边界框以及文本描述。图3展示了我们数据集中的示例。基于此数据集,对生成适当对应关系的能力进行了详细评估。实验表明,使用视觉语言模型(VLM)结合文本描述能获得最高的准确性。此外,将GRS的仿真生成能力与先前提出的方法进行了比较,生成结果的定性分析显示其在生成用于机器人执行的仿真时更高效且性能更优。
A. 目标对应
本文设计了一个目标对应实验来评估模型在捕获场景中检索正确资产的能力。对于数据集中的每个3D模型,我们生成了三个视图,通过随机调整摄像机位置同时保持焦点在目标上。接着,我们使用VLM基于这些渲染图像生成详细的目标描述,描述包含形状、颜色、品牌或图案等特征。此外,还为每个裁剪的真实场景图像生成了VLM生成的文本描述。
这种设置允许我们评估以下场景:
- 将图像的文本描述与资产描述匹配(文本);
- 将图像与资产描述匹配(图像);
- 将图像和文本描述与资产描述匹配(本文的方法)。
对于每种方法,分别测试了GPT4o和Claude-3.5-Sonnet。
下表I展示了目标检索结果。使用F1分数作为精度和召回率的平衡指标(更高的分数表示更好的性能),并对每项任务进行10次实验取平均值。每次实验生成资产描述和文本描述(如果适用)后再进行目标对应。GPT4o在所有任务中表现出更优异的性能。
此外,包含了一个基于CLIP嵌入距离的基准方法。将资产图像嵌入到数据库中,比较每个资产的三张图像的嵌入平均值与裁剪图像的嵌入,找出最小CLIP嵌入距离的匹配资产。如果一个真实场景图像裁剪的CLIP相似度低于0.5,则视为“不是目标”。
本文的方法优于基准方法,因为单纯基于CLIP嵌入距离匹配资产对于遮挡、物体姿态和光照条件的变化并不具有鲁棒性。进行了Kruskal-Wallis显著性检验,因为数据不符合正态性假设,无法使用ANOVA检验。Kruskal-Wallis检验发现任务类型、模型及其交互作用存在统计显著性差异(p < 0.05),表明我们的结果具有统计显著性差异。
B. 机器人任务生成
本文设计了仿真生成实验来评估GRS在生成可用于机器人策略的有效仿真器方面的能力。仿真任务基于CLIPort框架,并在GenSim的提示基础上进行了轻微修改,以指示VLM使用输入图像。通过评估oracle策略完成生成任务的效果来衡量任务生成系统的表现。具体来说,执行GenSim的oracle策略三次,并对这些运行结果取平均值。
将本文的方法与以下三种对照组进行比较:
- 移除router,仅修复仿真代码(无router),
- 移除测试,仅生成一次仿真代码(无修复),
- 移除图像输入,仅使用LLM生成一次仿真代码(LLM)。
最后一种对照方法与原始GenSim最为接近。仿真生成仅使用GPT4o,因为其在目标对应方面表现出更优异的性能。对于每个场景,我们进行了30次生成,并在每次运行中最多允许10次修复代码(无论是仿真代码还是测试代码)。所有对照组均采用相同的流程,其中无router限制为10次测试修复,本文的方法限制为仿真和测试总计10次修复。
本文的仿真生成方法使得oracle策略能够比其他方法获得更高的奖励,详见下表II。
本文报告了oracle策略在所有10个场景中生成的仿真任务的平均奖励。由于我们的重点是将这些环境用于机器人训练,因此排除了运行时错误的情况。所有结果都进行了归一化,其中奖励为1表示完成任务的所有目标。我们发现,本文的方法生成的仿真对于策略执行是有效的,且移除测试反馈(无修复和LLM)显著降低了策略执行的成功率。下图3展示了我们方法生成的仿真任务的定性结果。
此外,还研究了仿真和测试修复的行为,以理解router的工作方式。router平均每个任务执行0.52次测试修复,表明最初生成的测试需要频繁修复。此外,与无router相比,router平均减少了1.08次仿真修复(5.81次对6.89次),表明router在进行更改时更高效,每次生成净减少了0.56次总更改。这支持了router能够更高效地自动生成仿真的观点。
C. 代码生成定性分析
为深入理解GRS的行为,对router的行为以及在修复仿真和测试时所做的更改进行定性分析。
Router:router展示了在测试反馈过于稀疏、难以诊断oracle失败原因时,优先更改测试的有用行为。当错误发生时,router能够适当地解析错误反馈,以识别出需要修复测试的情况,如缺少导入或测试错误地使用仿真目标(例如,假设一个目标是列表而实际不是)。这种能力使router能够更有效地处理测试中遇到的常见错误。
仿真修复:仿真任务有时过于复杂,oracle无法成功执行。为了解决这一问题,我们观察到以下行为:1)通过减少使用的目标数量来简化仿真(从而简化任务目标),2)增加oracle在结束尝试前可执行的最大步数,或3)扩大放置目标的目标区域尺寸。这些修复通常是针对测试过程中oracle只取得部分成功的情况。这表明我们的系统能够正确解析细微的测试结果,即便没有明确的错误提示,仅报告oracle的奖励较低。然而,这有时会导致偏离预期结果,例如移除预设的目标空间位置,只保留资产。
测试修复:在测试执行过程中,即使oracle未能完成任务,但没有产生有意义的错误,因而测试修复会加入关于oracle执行的诊断信息。这些包括关键性能指标的监控,例如步数、中间目标完成情况和奖励累积,从而在测试过程中提供反馈信号。除此之外,测试修复还解决了与仿真环境组件的交互错误和目标误解等基本问题。测试修复还注重验证仿真环境的正确初始化和重置功能,确保目标设置正确并生成有效的观测数据。值得注意的是,这些改进是在使用通用提示的前提下完成的,旨在指导系统测试oracle的成功,这体现了我们优化的测试协议在不改变核心测试范式的前提下,增强了系统评估的有效性。此外,这一方法有望随着更好的基础语言模型的改进而提升,无需对我们的框架做出修改。
常见失败案例:在实验中,发现仿真代码在1200次生成中大约30次包含了可能无法终止的while循环,例如,在试图在受限区域内找到有效位置放置资产时无限循环。这种行为并不总是导致失败,因为大多数情况下其行为是正确的。此外,非终止循环的条件可能导致仿真执行无法退出,从而挂起生成过程。可以通过在代码生成和修复过程中显式提示避免使用此类循环来解决该问题,并鼓励避免非终止问题,或在基线生成和测试框架中实现超时机制。
在修复过程中,LLM偶尔会误判测试失败的原因,从而编写新的代码作为替代方案。在简单情况下,LLM会编写几何操作或其他基础函数,而不是使用提供的API,例如在四元数和欧拉角之间转换3D旋转、从概率分布中采样、反转姿势等。在少数情况下,这甚至导致完全重新实现底层奖励函数或oracle代理。另一种失败情况是LLM模拟仿真环境的创建或关键仿真行为,从而绕过了预期的行为。我们预计随着LLM能力的提升,其错误诊断和代码修复能力将逐步改进。
D. 场景级扩展
为展示本文方法的灵活性,将生成管道扩展至场景级任务,使用了约15万个来自Objaverse的资产。从单个RGB观测开始,采用背景估计,拟合一个MLP来估计背景表面SDF,接着应用marching cubes算法生成背景网格,流程参考了Dogaru等人的工作。在背景重建完成后,利用GRS的真实到仿真流程,将目标分割与基于视觉-语言模型的目标匹配相结合,构建出3D任务环境(详见下图4)。这一工作是生成更复杂场景级任务的初步步骤,未来工作将继续探索这一方向。
结论
本文提出了GRS,一个从真实世界观测中生成机器人仿真任务的新系统。本文的方法无缝整合了场景理解、资产填充和任务生成,解决了真实到仿真的挑战。引入了一个鲁棒的场景获取系统,利用了SAM2和视觉-语言模型,集成了基于LLM的任务生成框架,并提出了采用双重生成过程和router系统的创新迭代技术。实验结果显示,GRS能够从单个RGB-D观测中实现准确的真实到仿真转换,展示了VLMs在弥合真实场景与仿真任务之间差距方面的强大能力。还展示了该方法在更广泛且多样的资产库中的潜在应用。
本研究的影响超越了机器人仿真领域,可能加速机器人操作、虚拟与增强现实、自主系统训练和计算机视觉方面的研究与开发。尽管当前的实现效果良好,未来的工作可以着重于处理更复杂的场景、提升资产匹配的可扩展性、集成基于物理的推理,以及探索迁移学习技术。随着我们不断改进和扩展该方法,预期GRS将在弥合真实世界观测与仿真环境之间的差距方面发挥重要作用,最终推动机器人系统的能力和适应性进一步提升。
本文转自AI生成未来 ,作者:AI生成未来