本文经自动驾驶之心公众号授权转载,转载请联系出处。
写在前面&笔者的个人理解
公共城市空间的街道和广场可以为居住在城市中的市民提供各种各样的便捷服务从而适应如今丰富多彩的社会生活。各大城市中的公共空间具有非常不同且广泛的类型、形式和空间大小,包括街道、广场以及公园等各个区域。此外,它们也是日常交通和运输离不开的重要空间。这些重要的城市空间不仅为我们人类日常举办各种社会活动提供了机会,同时也为市民其提供各式各样的休闲娱乐活动。
近年来,随着机器人技术和具身人工智能技术的快速发展使得城市当中的公共区域空间不再是我们人类所独有的区域。比如:移动送餐机器人和电动轮椅已经开始与行人共享人行道、各种各样的机器狗和人形机器人最近也开始在街道上陆续出现,如下图所示。此外各种移动腿式机器人,如波士顿动力公司的机器狗和特斯拉的人形机器人也即将问世。所以在不久的将来极大概率将会出现未来的城市公共空间将由人类和具身人工智能的移动机器共享和共同居住的场景。所以,如果想要在城市空间的繁华街道上进行导航,一个至关重要的问题就是需要确保这些即将到来的移动机器的通用性和安全性。
仿真平台在实现具身人工智能的系统性和可扩展性训练以及在实际部署之前的安全评估方面发挥了至关重要的作用。然而,现有的大多数仿真模拟器主要聚焦于室内家庭环境或者室外的驾驶环境。然而,对于具有多样化布局和物体、行人变化动态复杂的城市空间的模拟探索较少。
基于上述提到的相关问题,本文提出了一个可以用于城市中的空间具身人工智能研究的组合模拟平台,称之为MetaUrban。此外,我们基于设计的MetaUrban仿真平台构建了一个大型的数据集MetaUrban-12K,该数据集包含了12800个训练场景以及1000个测试场景。同时,我们进一步创建了一个包含100个手工设计的从未见过的场景作为测试集来评估我们算法模型的泛化性。相关的实验结果表明,通过模拟环境的组合特性可以显著提高训练好的移动具身人工智能的通用性和安全性。
论文链接:https://arxiv.org/abs/2407.08725
网络模型的整体架构&细节梳理
MetaUrban作为一个可以为具身人工智能在城市空间中生成无限训练和评估环境的模拟平台,在详细介绍其内部的各个技术实现细节之前,下图展示了MetaUrban模拟平台整体的生成流程。
MetaUrban模拟平台整体的生成流程
通过上图可以看出,MetaUrban可以根据提供的街区、道路以及人行道,从街区地图开始,通过划分不同的功能区规划地面布局,然后放置静态物体,最后填充动态智能体。此外,MetaUrban模拟器通过提出的三个关键核心设计来支持展示三种独特的都市空间特性。
- Hierarchical Layout Generation:层级布局生成设计可以无限的生成具有不同功能区划分和物体位置的多样性布局,这对于智能体的泛化性至关重要
- Scalable Object Retrieval:可扩展的目标检索利用全球城市场景数据来获取不同地方的真实世界对象分布,然后使用支持VLM的开放词汇搜索构建大规模、高质量的静态对象集。这对于专门针对城市场景的训练智能体有很大的帮助
- Cohabitant Populating:通过采用数字人来丰富行人和弱势道路使用者的外观、运动和轨迹,并整合其他智能体以形成生动的共存环境。这对于提高移动智能体的社会一致性和安全性至关重要
Hierarchical Layout Generation
由于考虑到场景布局的多样性,比如街区的连接和类别、人行道和人行横道的规格以及物体的放置,对于增强经过训练的智能体在公共空间中机动的泛化性至关重要。因此,我们在层级布局生成的设计当中,首先对街区类别进行采样并划分人行道和人行横道,然后分配各种物体,这样我们就可以得到具有任意大小和地图规格的无限城市场景布局。
如下图所示,我们一共设计了5种街区种类,分别是直路、交叉路口、环形交叉路口、环形交叉路口和T型路口。
如上图中的左图所示,我们将人行道划分为四个功能区建筑,分别是建筑区、临街区、空地区和装饰区。根据不同的功能区组合,我们进一步构建了7个典型的人行道模板(如上图的右侧所示)。如果想要形成一条人行道,我们可以先从模板中采样布局,然后为不同的功能区分配比例。对于人行横道而言,我们可以在每条道路的起止处提供候选,支持指定所需的人行横道或通过密度参数对其进行采样。最后,道路、人行道和人行横道可以以地形图为基底,形成不同的地面情况。
在确定好地面上的整体布局之后,我们可以在地面上放置不同的物体。在本文中,我们将物体分为三种类别
- 标准基础设施:标准的基础设施可以包括电线杆、树木和标志和定期沿道路放置的物品
- 非标准基础设施:非标准的基础设施可以包括建筑物、盆景和垃圾箱,随机放置在指定的功能区
- 杂物:杂物可以包括饮料罐、袋子和自行车,随机放置在所有功能区
根据上述的相关划分,我们可以通过指定对象池来获得不同的街道风格,同时通过指定密度参数来获得不同的紧凑度。下图展示了使用采样的地面平面图和对象位置放置的不同物体。
Scalable Object Retrieval
虽然层级布局生成的设计决定了场景的布局以及放置物体的摆放位置。但是,为了使训练后的智能体能够在由各种物体组成的现实世界中导航时具有通用性,放置什么物体同样至关重要。因此,我们首先从网络数据中获取真实世界的对象分布,然后通过基于VLM的开放词汇搜索模式从3D存储库中检索目标。整个流程灵活且可扩展:随着我们继续利用更多网络数据进行场景描述并将更多3D资产作为候选对象,检索到的对象可以缩放到任意大小。
由于城市空间具有独特的结构和物体分布,因此,我们设计了一种真实世界分布提取方法来获得一个描述城市空间中频繁出现的物体的描述池,如下图所示。
图片
具体而言,我们首先利用现成的学术数据集CityScape以及Mapillary Vistas进行场景理解,以获得90个在城市空间中出现频率较高的物体列表。然而,由于上述数据集都是闭集,目标的种类数量是有限的。我们引入了两个开集数据集Google Street以及Urban planning description,用于实现从现实世界中获得更广泛的物体分布。最后,通过结合上述提到的数据集,我们可以构建现实世界的目标类别分布。
为了解决当前的大型3D存储库中存在的数据质量参差不齐、缺少可靠的属性注释以及大部分数据与城市场景无关的问题,我们引入了一种开放词汇搜索方法来解决这些问题,如上图中的右侧子图所示。具体而言,我们首先从Objaverse以及Objaverse-XL中得到目标投影后的多视图图像,然后,我们利用视觉语言模型的编码器分别从投影图像和对象描述池中的采样描述中提取特征,以计算相关分数。然后,我们可以获得相关分数达到阈值的目标对象。这种方法让我们获得了一个城市特定的数据集,其中包含10000个现实世界类别分布中的高质量对象。
Cohabitant Populating
接下来,我们将要介绍如何通过具有不同外观、运动和轨迹的智能体填充这些静态城市场景。我们在提出的MetaUrban模拟器中提供了两种人体动作,分别是日常动作和独特动作。其中,日常动作提供了日常生活中的基本人体动态,即直立、行走和跑步。独特动作是在公共空间中随机出现的复杂动态,例如跳舞和锻炼。对于人类和其他有日常活动的智能体,我们利用ORCA模型以及PR算法来仿真他们的轨迹。
MetaUrban-12K数据集
基于我们提出的MetaUrban模拟器我们构建了MetaUrban-12K的数据集,其中包括了12800个用于训练的交互式城市场景MetaUrban-train以及1000个用于测试的场景MetaUrban-test,下图展示了我们提出的MetaUrban-12K数据集中的一些信息统计。具体关于该数据集的相关详细信息可以参考论文原文。
实验部分
定量实验部分
在实验环节中,我们设计了城市场景中的两个常见任务来验证我们提出的MetaUrban模拟器,分别是点导航以及交互式导航任务。具体而言,在点导航任务当中,智能体的目标是在静态环境中导航到目标坐标,而无需访问预构建的环境地图。在社交导航任务中,智能体需要在包含移动智能体的动态环境中到达点目标。
在所有任务当中,智能体应该避免与其它环境中的智能体发生碰撞或者超出一定的阈值,实验中的智能体行动包括加速、减速以及转向。下表展示了点导航以及交互式导航的Benchmark。
通过上表的相关实验结果可以得出一些结论
- PointNav以及SocialNav任务还未得到很好的解决,基线实现的PointNav和SocialNav任务的最高成功率仅为66%和36%,这表明在MetaUrban组成的城市环境中完成这些任务非常困难。
- 在MetaUrban-12K数据集上训练的模型在未见过的环境中具有很强的泛化能力。在零样本测试的情况下,模型在PointNav和 SocialNav任务中仍可实现平均41%和26%的成功率。由于训练好的模型不仅可以泛化到未见过的物体和布局,还可以泛化到未见过的智能体,因此具有很好的表现性能。同时相关的实验结果也进一步的证明了,MetaUrban的组合特性支持覆盖大量复杂的城市场景,可以成功地增强训练模型的泛化能力
- 由于移动环境智能体的动态特性,SocialNav任务比PointNav任务更有难度。平均而言,从PointNav任务到SocialNav任务,成功率下降了15%,这表明动态智能体对训练好的智能体提出了重大挑战
- 在所有任务和设置当中,Safe RL模型取得了最佳表现,表明这些模型能够成功避免与行人和物体发生碰撞。然而,成功率会相应降低,这表明需要平衡复杂城市场景中智能体的安全性和有效性。
此外,为了评估使用MetaUrban生成的数据训练的智能体的泛化能力,我们比较了四种设置的成功率,相关结果汇总在下图的子图(a)中。设置1和设置2分别是在MetaUrban-train数据集上进行训练,在MetaUrban-test测试集和MetaUrban-unseen数据集上进行测试的结果。设置3和设置4是在MetaUrban-finetune上直接训练的结果,并在MetaUrban-finetune上对MetaUrban-train上的预训练模型进行微调的实验结果。
我们为了评估MetaUrban组合架构的扩展能力,我们在不同数量的生成场景上训练模型,如下图的子图(b)所示,随着我们加入更多场景进行训练,性能从12%显著提高到46%,证明了MetaUrban强大的扩展能力。
下图中的子图(c)和(d)展示了我们为了评估静态物体密度和动态环境智能体的影响,我们分别评估了它们在PointNav和 SocialNav任务中的不同比例,通过实验结果可以看出,随着静态物体和动态智能体的密度增加,训练和测试的成功率都会急剧下降,这表明智能体在面对城市场景中拥挤的街道时面临挑战。
定性实验部分
下图展示了我们提出的MetaUrban模拟器一些生成结果的可视化,详细的介绍请参考我们论文中的附录部分。
- 我们设计了五种典型的街道街区类别,分别是直路、弯道、交叉路口、T 型路口和环形交叉路口,可视化结果如下图所示
- 生成的静态场景下的可视化样例,对于每一行我们选择了四个视角来进行可视化
- 生成的动态场景下的可视化样例
结论
在本文中,我们提出了一种新颖的组合模拟器MetaUrban用于促进城市场景中的具身人工智能和机器人研究相关方向的研究。提出的MetaUrban模拟器可以生成具有复杂场景结构和行人及其他移动智能体多样化运动的无限城市环环境,希望本文提出的方法可以促进开源模拟器社区的进一步发展。