ThreeDWorld:交互式多模态物理模拟平台

21年12月来自MIT-IBM实验室、MIT、哈佛和斯坦福的论文“ThreeDWorld: A Platform for Interactive Multi-Modal Physical Simulation”。

ThreeDWorld (TDW),是一个用于交互式多模态物理模拟的平台。TDW 支持在丰富的 3D 环境中模拟高保真传感数据和移动智体与目标之间的物理交互。其独特属性包括:实时近乎照片级逼真的图像渲染;目标和环境库及其自定义例程;高效构建新环境类别的生成程序;高保真音频渲染;各种材料类型的逼真物理交互,包括布料、液体和可变形体;可定制的“智体”,具身 AI 智体;以及支持人类与 VR 设备的交互。

TDW 的 API 支持多智体在模拟中交互,并返回一系列代表世界状态的传感器和物理数据。TDW 在计算机视觉、机器学习和认知科学等研究方向中做了初步实验,包括多模态物理场景理解、物理动态预测、多智体交互、“像孩子一样学习”的模型、以及人类和神经网络的注意研究。

一些仿真环境如AI2-THOR[25]、HoME[47]、VirtualHome[36]、Habitat[38]、Gibson[49]、iGibson [48]、Sapien [50] PyBullet [11]、MuJuCo [42] 和 Deepmind Lab [7],其和TDW的比较如表所示:其中缩写 I/O -室内/室外,R/R+/S/C/F -刚体/快-和-准确的刚体/柔体/布料/液体,E/P - 环境/基于物理声音,D/A/H - 直接API/基于智体/人为中心VR,L/E -内建库/扩展库。

请添加图片描述

如图所示:TDW 的通用、灵活设计支持多种用例,且具有较高的多模式保真度:a-c) 室内和室外场景渲染;d) 高级物理 – 布料覆盖在刚体上;e) 机器人智体拾取物体;f) 多智体场景 – “父母”和“婴儿”具身互动;g) 人类用户在 VR 中与虚拟物体互动;h) 多模态场景 – 扬声器图标显示合成撞击声的播放位置。

请添加图片描述

设计原则。核心是将几个现有的实时高级物理引擎集成到一个框架中,该框架还可以生成高质量的视觉和听觉渲染。在进行这种集成时,遵循三个设计原则:
• 集成应具有灵活性。也就是说,用户应该能够轻松设置各种物理场景,将任何类型的目标放置在任何位置的任何状态,并具有可控的物理参数。这能够创建具有高度可变的物理相关基准,同时还能够生成近乎逼真的渲染。
• 物理引擎应涵盖各种目标交互。通过无缝集成 PhysX(一种良好的刚体模拟器)和 Nvdia Flex(一种用于非刚性和刚性-非刚性相互作用的多材料模拟器)来实现这一目标。
• 应该有一个大型的高质量资产库,其中包含准确的物理描述符以及逼真的刚性和非刚性材料类型,以便用户利用物理引擎的强大功能,轻松制作有趣且有用的物理场景。

系统概述。TDW 模拟由两个基本组件组成:(i) Build,在 Unity3D 引擎上运行的编译可执行文件,负责图像渲染、音频合成和物理模拟;(ii) Controller,用于构建通信的外部 Python 接口。用户可以通过它定义自己的任务,使用包含 200 多个命令的 API。运行模拟遵循以下循环:1) 控制器向构建发送命令;2) 构建执行这些命令并将模拟输出数据发送回控制器。与其他模拟平台不同,TDW 的 API 命令可以组合成列表并在单个时间步内发送到构建,从而允许模拟任意复杂的行为。研究人员可以使用这个核心 API 作为基础,构建更高级别、特定于应用程序的 API “层”,从而大大减少开发时间并实现广泛不同的用例。

TDW 使用 Unity 的底层游戏引擎技术进行图像渲染,并添加自定义照明方法以实现室内和室外场景的近乎逼真的渲染质量。
照明模型。TDW 使用两种类型的照明;单光源模拟来自太阳的直射光,而间接环境照明来自利用高动态范围 (HDRI) 图像的“skybox”。对虚拟相机应用其他后期处理,包括曝光补偿、色调映射和动态景深。

3D 模型库。为了最大限度地控制图像质量,创建了一个从高分辨率 3D 模型优化的 3D 模型“资产”库。使用基于物理的渲染 (PBR) 材料,这些模型以物理上正确的方式响应光线。该库包含约 2500 个目标,涵盖按 Wordnet 同义词集组织的 200 个类别,包括家具、家电、动物、车辆和玩具等。材料库包含 10 个类别的 500 多种材料,许多材料都是从现实世界材料扫描而来。

新环境的程序化生成。在 TDW 中,使用 3D 模型库资产创建运行时虚拟世界或“场景”。环境模型(内部或外部)以各种方式填充目标模型,从完全程序化(即基于规则)到按主题组织(即明确编写脚本)。TDW 对哪些模型可用于哪些环境没有任何限制,从而允许无限数量和类型的场景配置。

多模态渲染是 TDW 的一个独特方面,音频引擎既提供物理驱动的撞击声生成,也提供混响和空间化声音模拟。

撞击声生成。TDW 包括 PyImpact,这是一个使用模态合成生成撞击声的 Python 库 [43]。PyImpact 使用有关物理事件的信息(例如材料类型)以及碰撞物体的速度、法向矢量和质量来合成撞击时播放的声音(示例)。这个“往返”过程是实时的。合成目前正在扩展,涵盖刮擦声和滚动声 [1]。

环境音频和混响。对于放置在室内环境中的声音,TDW 结合使用 Unity 的内置音频和 Resonance Audio 的 3D 空间化,通过头部相关的传递函数提供实时音频传播、高质量模拟混响和方向提示。声音会随着距离而衰减,并可能被物体或环境几何形状所遮挡。混响会随着空间的几何形状、应用于墙壁、地板和天花板的虚拟材料以及固体(例如家具)占据的房间体积百分比而自动变化。

在 TDW 中,目标行为和交互由物理引擎处理。TDW 现在集成了两个物理引擎,支持刚体物理和更高级的软体、布料和流体模拟。

刚体物理。Unity 的刚体物理引擎 (PhysX) 处理涉及刚体之间碰撞的基本物理行为。为了实现准确而高效的碰撞,用强大的 V-HACD 算法 [31] 来计算每个库目标网格周围的“形状贴合”凸包碰撞器,用于简化碰撞计算(见图所示)。此外,导入时,会根据目标的体积和材料密度自动计算其质量。但是,使用 API 命令也可以动态调整每个目标的质量或摩擦力以及视觉材料外观,从而有可能将视觉外观与物理行为分离(例如,看起来像混凝土但像橡胶一样有弹性的目标)。

请添加图片描述

高级物理模拟。 TDW 的第二个物理引擎 Nvidia Flex 使用基于粒子的表示来管理不同目标类型之间的碰撞。TDW 支持刚体、软体(可变形)、布料和流体模拟。这种统一的表示有助于机器学习模型使用底层物理和渲染图像,通过与世界中的目标交互来学习世界的物理和视觉表示。

TDW 提供三种与 3D 目标交互的范例:1) 使用 API 命令直接控制目标行为。2) 通过 AI 智体的具身进行间接控制。3) 在虚拟现实 (VR) 中与人类用户直接交互。

直接控制。TDW 中的默认目标行为完全基于物理,通过 API 中的命令实现;不存在任何类型的脚本动画。使用基于物理的命令,用户可以通过施加给定大小和方向的冲量来移动目标。

智体。AI 智体具身有几种类型:
• 用于生成第一人称渲染图像、分割和深度图的无实体相机。
• 基本具身智体,其具身是几何基元,例如球体或胶囊,可以在环境中移动,通常用于算法原型设计。
• 更复杂的具身avatar,具有用户定义的物理结构和相关的物理映射动作空间。例如,TDW 的 Magnebot 是一个复杂的机器人主体,完全由物理驱动,其铰接臂以 9 自由度末端执行器结束。通过使用其高级 API 中的命令(例如 reach_for(target position)和 grasp(target object),Magnebot 可以打开盒子或拾取和放置目标。此外,作为迈向 sim2real 传输的第一步,研究人员还可以将标准 URDF 机器人规范文件导入 TDW,并使用实际的机器人类型(例如 Fetch、Sawyer 或 Baxter)作为具身智体。

智体可以在环境中移动,同时响应物理,使用其物理驱动的铰接功能来改变物体或场景状态,或者可以与场景中的其他智体交互。

人- VR 设备的交互。TDW 还支持用户使用 VR 直接与 3D 目标交互。用户可以看到他们手的 3D 表示,该表示可以跟踪他们自己手的动作。使用 API 命令,目标变得“可抓取”,这样目标和虚拟手之间的任何碰撞都允许用户拾起、放置或扔出它。此功能可以收集人类行为数据,并允许人类与具身进行交互。

如图所示TDW的图像数据集例子:

请添加图片描述

如图是TDW的系统概览及其API:

请添加图片描述

猜你喜欢

转载自blog.csdn.net/yorkhunter/article/details/142582615