模拟环境是如何帮助到AI发展的?|沈博魁

模拟环境是如何帮助到AI发展的?|沈博魁

作者:沈博魁、夏斐、李承澍、Roberto Martín-Martín

在这项研究中,斯坦福视觉与学习实验室(SVL)Silvio / 李飞飞组的研究者推出了一个全新的模拟环境 iGibsonunity 场景切换,从而可以为大型真实场景中的交互任务开发机器人解决方案。iGibson 包含 15 个充分可交互、视觉上逼真、依据真实房屋构建的场景,并且可以支持 CubiCasa5K 和 3D-Front 的 8000 余个场景。真正实现了「可交互性」。

unity 场景切换_unity切换场景_unity vr切换场景

近来,面向 AI 和机器人的模拟环境得到了大力发展。仅仅几年前,机器人模拟环境还算是相对稀有的产物,但如今程序开发,各大学术会议(NeurIPS、CoRL、甚至 ICRA 和 IROS)几乎所有与 AI 机器人相关的论文都会用到模拟环境。那么,模拟环境是如何帮助到 AI 发展的呢?可以归结为以下几点原因:

然而,当前结合物理模拟与机器人任务的模拟环境往往局限于一小类任务,并且仅包含 clean 和小型场景。包含家庭和办公室等大型场景的少数模拟环境要么无能力改变场景,仅侧重于导航性能,如 Habitat;要么使用游戏引擎或者简化的交互模式,如 AI2Thor、VirtualHome。所以,在处理那些需要与场景进行丰富交互的任务而言,这些模拟器不支持端到端感觉运动控制回路的开发,也就难以完成此类任务。此外,简化的交互模式也导致很难将可学得的交互策略转换为可执行的真实机器人指令。

基于如上这些想法,来自斯坦福视觉与学习实验室(SVL)的研究者开发了 iGibson 以用来训练和测试 interactive(可交互的)AI 智能体 iGibson。

unity切换场景_unity 场景切换_unity vr切换场景

那么,iGibson 的特殊点在哪里呢?首先我们先来区分一下这两个概念:

Physics simulator (物理引擎): 物理引擎可以计算不同行为对现环境产生的物理影响。比如对一个物体施加一个力的后果,或者对于水流的模拟。随着计算机图形学的发展,现在有许多成熟的物理引擎。其中在机器人领域最为突出的是 Bullet, PyBullet, MuJoCo, Nvidia PhysX and Flex, UnrealEngine, DART, Unity, and ODE 等。

Simulation environment (模拟环境): 模拟环境是一个整体框架,包含多个元件:物理引擎、渲染引擎、模型(包括场景、物体、机器人)等。我们可以用模拟环境模拟一个给定的任务,并用它来研究其解决方案。

那么,对一个研究人员而言,想解决什么任务或想研究什么课题就决定了用什么模拟环境,所谓工欲善其事,必先利其器。对 iGibson 而言,我们想研究的是:基于视觉信号,机器人如何在大型真实场景(如一整间公寓)中解决需要与环境互动的任务。

与现有模拟引擎的对比

已有的模拟引擎无法支持我们想研究的任务,即可以真实地在大型场景中进行物理互动。基于固定机械臂的模拟环境(如 meta-world, RLBench, RoboSuite, DoorGym)并不包含真实的场景,从而不支持需要在室内导航的任务。为室内导航开发的模拟环境(包括我们之前开发的 Gibson v1 和 Habitat)虽然可以解决视觉导航(visual navigation)和视觉语言导航(visual language navigation),但所包含的场景为三维重建的静止 mesh 模型。这意味着整个场景被封存在了重建时的位置,物品无法移动,机器人也不能与场景进行交互。

除此之外,例如 Sapien, AI2Thor, ThreeDWorld (TDW)的一些模拟环境开始逐渐支持场景级的交互任务。Sapien 侧重的问题是与铰接(articulated)物体的互动(如门、柜等)。TDW 提供高质量的声音、形变、液体模拟(基于英伟达的 Flex 物理引擎)。但 Sapien 和 TDW 均不提供大型场景模型,从而不支持有关大型场景的任务研究。AI2Thor 虽包含了可互动的场景,但互动为脚本化的符号交互,把现实中连续的互动和变化离散化了—当物体满足一个先觉条件,agent 可以发出一个指令,从而这个物体进入其下个状态。例如,一个冰箱的敞开程度本应是连续值,但现在只有 “开” 和“关”两个状态。AI2Thor 之后出现了 RoboThor,但其只提供简单的传感器与一种机器人 LoCoBot 的模拟。受限于 LoCoBot 的技术限制与环境的离散化,机器人无法在模拟环境内学习并解决复杂的交互任务。

我们想要研究的任务是复杂的、long-horizon(长线)、 mobile manipulation(移动操作)任务,例如:收拾房间、找寻物品等。为了研究可以落地到现实世界的解决方案,模拟可真实交互的大型场景变得尤为重要。

unity 场景切换_unity vr切换场景_unity切换场景

iGibson 的一些功能

iGibson 最重要的功能是 interactivity(可交互性),即构建可以真实交互的大型场景。为此,我们实现了如下关键功能:

unity vr切换场景_unity 场景切换_unity切换场景

unity 场景切换_unity vr切换场景_unity切换场景

unity vr切换场景_unity 场景切换_unity切换场景

unity vr切换场景_unity切换场景_unity 场景切换

iGibson 功能的一些应用

我们在论文中展示了这些功能的用处,例如:iGibson 的光学雷达模拟可以帮助 agent 迁移到真实场景

unity 场景切换_unity vr切换场景_unity切换场景

iGibson 场景的充分可交互性可以帮助预训练机器人视觉,从而加速机器人学习并完成复杂的交互任务。

unity切换场景_unity 场景切换_unity vr切换场景

用 iGibson 解决更复杂的机器人任务

上述的 iGibson 功能能帮助人们更好的开发大型场景交互任务的解决方案。我们认为,其中一个很重要的问题是 Interactive Navigation (交互导航)。在这个任务中,agents 不仅需要导航,也需要改变其环境(如开门、移开障碍物)。这种需要改变环境的导航是在现实场景中最常见的。

unity vr切换场景_unity切换场景_unity 场景切换

为了在 iGibson 模拟环境中解决这个任务,我们开发了一套分层强化学习(hierarchical reinforcement learning)算法来决定 agent 的具体动作(当需要交互时用机械臂,当需要移动时用底座,也可同时利用机械臂和底座 [8]。

此外我们也提出了一个结合了运动规划算法的解决方案:算法来指定下个交互应该在何处发生,运动规划会基于此计算一条符合运动学且避障的轨迹 [9] 。

但我们认为这只是 iGibson 潜力的冰山一角。目前我们实验室 SVL(Stanford Vision and Learning Lab)有许多的项目在使用 iGibson,来提出、攻克各种各样的交互任务。

总结

我们认为模拟环境有极大的潜力来帮助研究人员解决机器人与 AI 的各种问题。iGibson 是一个完全开源的、面向大型场景交互任务的模拟环境。我们真心希望 iGibson 能为机器人与 AI 的研究做出贡献。

注:关于 Gibson: iGibson 的名字来源于心理学、认知科学泰斗 James J. Gibson [1904-1979]。Gibson 生前提出了许多开创性的想法,包括关于知觉的新概念:

知觉是一个生态(ecological)的过程,即本体不应从其所处的生态环境中剥离出去;

知觉是一个动态(active)的过程,即知觉需要交互和主观能动性。

在当时,主流学说认为知觉是一个被动接受并处理的过程。Gibson 的观点则相反,认为 agents 是在与环境的交互中主动寻求、而不是被动接受信息。Gibson 也提出了 “affordance”(承担特质)的概念:环境给予 agent 的行动可能,例如门提供“打开” 的功能,椅子提供 “支撑” 的功能。我们同事是这样概括 Gibson 先生的 research 的:“ask not what’s inside your head, but what your head is inside of” (不要光注重于你脑中的世界,请着眼于你所处的世界)。

参考

iGibson, a Simulation Environment for Interactive Tasks in Large Realistic Scenes", by Bokui Shen*, Fei Xia*, Chengshu Li*, Roberto Martín-Martín*, Linxi Fan, Guanzhi Wang, Shyamal Buch, Claudia D'Arpino, Sanjana Srivastava, Lyne P. Tchapmi, Micael E. Tchapmi, Kent Vainio, Li Fei-Fei, Silvio Savarese. (*equal contribution)

Andrychowicz, OpenAI: Marcin, et al. "Learning dexterous in-hand manipulation." The International Journal of Robotics Research 39.1 (2020): 3-20.

Rajeswaran, Aravind, et al. "Learning complex dexterous manipulation with deep reinforcement learning and demonstrations." Robotics: Science and Systems, 2017

Peng, Xue Bin, et al. "Sfv: Reinforcement learning of physical skills from videos." ACM Transactions on Graphics (TOG) 37.6 (2018): 1-14.

Zhu, Yuke, et al. "robosuite: A modular simulation framework and benchmark for robot learning." arXiv preprint arXiv:2009.12293 (2020).

Kalervo, Ahti, et al. "Cubicasa5k: A dataset and an improved multi-task model for floorplan image analysis." Scandinavian Conference on Image Analysis. Springer, Cham, 2019.

Fu, Huan, et al. "3D-FRONT: 3D Furnished Rooms with layOuts and semaNTics." arXiv preprint arXiv:2011.09127 (2020).

Li, Chengshu, et al. "Hrl4in: Hierarchical reinforcement learning for interactive navigation with mobile manipulators." Conference on Robot Learning. PMLR, 2020.

Xia, Fei, et al. "Relmogen: Leveraging motion generation in reinforcement learning for mobile manipulation." arXiv preprint arXiv:2008.07792 (2020).

知乎链接:

「WAVE SUMMIT+2020 深度学习开发者峰会」由深度学习技术及应用国家工程实验室与百度联合主办,来自行业内的人工智能专家和开发者们将分享 AI 时代的最新技术发展和产业应用经验unity 场景切换,诸多顶级高校人工智能专家将就 AI 人才培养展开对话,AI 开源产品及社区专家也将共话开源趋势。

本次峰会既有干货满满的分享、讨论,又有丰富多彩的展示、体验、互动,为开发者打造专属的 AI Party。

12 月 20 日,北京 798 艺术园区 751 罐,点击阅读原文人物立绘,参与报名。

unity vr切换场景_unity切换场景_unity 场景切换

©THE END

文章来源:http://mp.weixin.qq.com/s?src=11×tamp=1684815157&ver=4545&signature=FAUxw3QciSonS4UOeZZFEjSBAhkDMkkM1D7OaMlLaY-5-z73W2EXP*iVGZ9Y1Ax72fbshgeZGOgK*Qm57cBe7NFXxYRgflzwknJ1xVU7jGtYvYYPPNocgvl-*kXRfqWK&new=1