当前位置: 首页 > 科技观察

15个交互式真实房屋场景,李飞飞组开源大型室内场景模拟环境

时间:2023-03-12 08:06:41 科技观察

在这项研究中,来自斯坦福视觉与学习实验室(SVL)的研究人员Silvio/李飞飞组推出了全新的模拟环境iGibson,使机器人的开发成为可能大型真实场景中交互式任务的解决方案。iGibson包括15个完全交互式、视觉逼真的场景,这些场景都是从真实的房屋构建的,并且可以支持来自CubiCasa5K和3D-Front的8000多个场景。真正实现“互动”。最近,人工智能和机器人技术的仿真环境有了显着增长。就在几年前,机器人仿真环境还是比较少见的神器,但如今,各大学术会议(NeurIPS、CoRL,甚至ICRA和IROS)中几乎所有与AI机器人相关的论文都使用了仿真环境。那么,模拟环境如何帮助人工智能发展呢?这可以归结为以下原因:首先,在机器人领域,机器学习正逐渐发挥越来越大的作用,导致数据需求迅速增加[2][3][4][5]。在现实世界中,机器人只能“实时”产生数据,但海量的数据需求使得从现实世界收集数据变得不现实。此外,机器学习需要收集数据的多样性,这涉及到机器人的随机探索。如果任由机器人在现实世界中随意移动,会对机器人本身和周围的事物造成很大的风险。其次,在仿真环境越来越健壮、逼真(视觉效果和物理引擎)、便捷的同时,计算能力的提升也导致大多数机器都能够运行这些仿真环境。所以即使你没有足够的钱去买机器人,你也可以通过模拟环境来进行机器人研究。模拟环境降低了机器人研究的进入门槛,让更多人能够推进该领域。最后,随着各种机器人任务(如导航、抓取、操纵等)的论文数量不断增长,一个问题变得越来越突出:机器人领域需要可重复的基准。一门成熟的学科需要能够简明可靠地重现实验结果,以便能够有效地比较不同的方法和理论。在模拟环境中实现可重现的基准比在现实世界中要容易得多。然而,当前将物理模拟与机器人任务相结合的模拟环境通常仅限于一小类任务,并且只包含干净的小场景。少数包含家庭、办公室等大场景的模拟环境,要么没有场景切换能力,只关注导航性能,如Habitat;或使用游戏引擎或简化的交互方式,如AI2Thor、VirtualHome。因此,对于需要与场景进行丰富交互的任务,这些模拟器不支持开发端到端的感觉运动控制回路,难以完成此类任务。此外,简化的交互方式也使得可学习的交互策略难以转化为可执行的真实机器人指令。基于这些想法,斯坦福视觉与学习实验室(SVL)的研究人员开发了iGibson,用于训练和测试交互式(interactive)AI智能体iGibson。那么iGibson有什么特别之处呢?首先我们来区分一下这两个概念:物理模拟器(physicsengine):物理引擎可以计算出不同行为对当前环境的物理影响。比如对物体施加力的后果,或者水流的模拟。随着计算机图形学的发展,现在已经有很多成熟的物理引擎。其中在机器人领域最为突出的有Bullet、PyBullet、MuJoCo、NvidiaPhysX和Flex、UnrealEngine、DART、Unity、ODE等。仿真环境(simulationenvironment):仿真环境是一个整体框架,包括多个组件:物理引擎、渲染引擎、模型(包括场景、物体、机器人)等。我们可以用模拟环境模拟给定的任务,并用它来研究它的解决方案。那么对于一个研究者来说,他要解决什么任务,要研究什么课题,就决定了他要使用什么样的仿真环境。对于iGibson,我们想要研究机器人如何根据视觉线索在大型真实场景(例如整个公寓)中解决需要与环境交互的任务。论文链接:https://arxiv.org/pdf/2012.02924.pdf项目地址:https://github.com/StanfordVL/iGibson/releases/tag/1.0.0网址:http://svl.stanford.edu/igibson/pip地址:https://pypi.org/project/gibson2/doc地址:http://svl.stanford.edu/igibson/docs/英文博客地址:https://ai.stanford.edu/blog/igibson/与现有模拟引擎的比较现有模拟引擎无法支持我们要研究的任务,即在大场景中进行逼真的物理交互。基于固定机械臂的仿真环境(例如meta-world、RLBench、RoboSuite、DoorGym)不包含真实场景,因此不支持需要室内导航的任务。为室内导航开发的模拟环境(包括我们之前开发的Gibsonv1和Habitat)可以同时解决视觉导航和视觉语言导航,但是包含的场景是3D重建的静态网格模型。这意味着整个场景被密封在重建位置,物品无法移动,机器人无法与场景互动。此外,Sapien、AI2Thor、ThreeDWorld(TDW)等一些仿真环境也开始逐步支持场景级交互任务。Sapien专注于与铰接物体(例如门、橱柜等)交互的问题。TDW提供高质量的声音、变形和液体模拟(基于Nvidia的Flex物理引擎)。但是Sapien和TDW都没有提供大规模场景模型,因此不支持大规模场景的任务研究。AI2Thor虽然包含交互场景,但交互是脚本化的符号交互,将现实中不断发生的交互和变化离散化——当物体满足先验条件时,agent可以发出指令,使物体进入下一个状态。比如冰箱的开度应该是一个连续的值,现在却只有“开”和“关”两种状态。RoboThor在AI2Thor之后出现,但它只提供简单的传感器和机器人LoCoBot的模拟。受限于LoCoBot的技术局限和环境的离散化,机器人无法在模拟环境中学习和解决复杂的交互任务。我们要研究的任务是复杂的、长时程(long-term)、移动操作(mobileoperation)的任务,例如:打扫房间、寻找物体等。为了研究可以在真实环境中实施的解决方案世界,模拟可真实交互的大型场景尤为重要。iGibson的一些功能iGibson最重要的功能是交互性(interactivity),即在现实中构建可交互的大型场景。为此,我们实现了以下主要功能:15个完全互动、视觉逼真的场景,由真实房屋构建而成。现实中所有的对象都可以交互,包括物质和动态信息;可支持CubiCasa5K[6]8000多个场景。真实传感器信号模拟,包括:RGB(Physics-basedrenderer)、深度图、1束或16束激光雷达、语义/实例/材料分割图、光流、场景流等;内置运动规划算法,用于规划机器人底座的运动(在环境中导航)和机械臂的运动(抓取和操纵物体)。内置域随机化功能,可以随机替换视觉纹理(视觉图像)、材质和动态信息、对象实例。由此,我们可以为训练和测试生成无穷无尽的随机环境。一种可以为机器人提供人工演示的人机交互系统。iGibson特征的一些应用我们在论文中展示了这些特征的用处,例如:iGibson的激光雷达模拟可以帮助代理迁移到真实场景。iGibson场景充分的交互性可以帮助预训练机器人视觉,从而加速机器人学习,完成复杂的交互任务。使用iGibson解决更复杂的机器人任务以上iGibson功能可以帮助人们更好地开发针对大规模场景交互任务的解决方案。我们认为其中一个非常重要的问题是交互式导航(interactivenavigation)。在这个任务中,智能体不仅需要导航,还需要改变他们的环境(比如开门、移除障碍物)。这种需要改变环境的导航在现实场景中最为常见。为了在iGibson仿真环境下解决这个任务,我们开发了一套分层强化学习(hierarchicalreinforcementlearning)算法来确定agent的具体动作(需要交互的时候使用机械臂,需要交互的时候使用底座需要移动,或者同时使用机械臂和底座[8]。此外,我们还提出了结合运动规划算法的解决方案:算法指定下一次交互应该发生的位置,运动规划计算一个运动学和障碍物-avoidingpathbasedonthisTrajectory[9]。但我们认为这只是iGibson潜力的冰山一角。目前我们实验室SVL(StanfordVisionandLearningLab)的很多项目都在使用iGibson来提出和克服各种交互任务。总而言之,我相信模拟环境具有巨大的潜力,可以帮助研究人员解决机器人和人工智能领域的各种问题。iGibson是一个完全o大型场景交互任务的笔源模拟环境。我们衷心希望iGibson能够为机器人和人工智能的研究做出贡献。贡献。注:关于Gibson:iGibson的名字来源于心理学和认知科学领域的领军人物JamesJ.Gibson[1904-1979]。吉布森生前提出了许多开创性的想法,其中包括一个新的感知概念:感知是一个生态(ecological)过程,即本体不应该从它的生态环境中剥离出来;知觉是一个动态的(主动的)过程,即知觉需要相互作用和主观能动性。当时的主流理论认为,感知是一种被动接受和加工的过程。吉布森的观点恰恰相反,智能体在与环境的交互中主动寻求信息,而不是被动地接受信息。Gibson还提出了“affordance”(假设特质)的概念:环境赋予了agent行动的可能性,比如门提供了“开启”的功能,椅子提供了“支撑”的功能。我们的同事这样总结吉布森先生的研究:“问的不是你脑袋里有什么,而是你脑袋里面是什么”(don'tjustfocusonyourheadtheworldin,focusonyourworld)。