最近,来自 Waabi AI、多伦多大学、滑铁卢大学和麻省理工的研究者们在 NeurIPS 2023 上提出了一种全新的自动驾驶光照仿真平台 LightSim。研究者们提出了从真实数据中生成配对的光照训练数据的方法,解决了数据缺失和模型迁移损失的问题。LightSim 利用神经辐射场(NeRF)和基于物理的深度网络渲染车辆驾驶视频,首次在大规模真实数据上实现了动态场景的光照仿真。
- 项目网站:https://waabi.ai/lightsim
- 论文链接:https://openreview.net/pdf?id=mcx8IGneYw
为什么需要自动驾驶光照仿真?
相机仿真在机器人技术中,尤其对于自动驾驶车辆感知室外的场景非常重要。然而,现有的相机的感知系统一旦遇到训练时未学习过的室外照明条件,就表现欠佳。通过相机模拟生成丰富的室外照明变化数据集,可以提高自动驾驶系统的鲁棒性。
常见的相机仿真方法一般基于物理引擎。这种方法通过设定 3D 模型和照明条件来渲染场景。但往往仿真效果缺乏多样性且不够逼真。此外,由于高质量的 3D 模型数量有限,并且物理渲染结果与真实世界场景不完全匹配。这导致训练模型在真实数据上的泛化能力较差。
另一种是基于数据驱动的(data-driven)仿真方法。它利用神经渲染重构真实世界的数字孪生(digital twins),以复制传感器观测到的数据。这种方法可以更具扩展性地创建场景并提高现实感,但现有技术往往将场景照明烘焙(bake)到 3D 模型中,这阻碍了对数字孪生进行编辑,如改变照明条件或增删新的物体等。
在 NeurIPS 2023 的一篇工作中,来自 Waabi AI 的研究者们展示了一个基于物理引擎和神经网络的光照仿真系统 LightSim: Neural Lighting Simulation for Urban Scenes.
不同于以往工作,LightSim 同时做到了:
1. 真实(realistic): 首次做到对大规模室外动态场景进行光照仿真,并且可以较为准确地模拟阴影、物体间的光照效果等。
2. 可控(controllable):支持动态驾驶场景的编辑(增添、删除物体、相机位置和参数、改变光照、生成安全关键场景等),从而生成更逼真且一致性更强的视频来提升系统对于光照和边缘情况的鲁棒性。
3. 可扩展 (scalable): 方便扩展到更多的场景和不同数据集中,只需要采集一次数据(single pass), 就能重新建构并进行真实可控的仿真测试。
仿真系统的搭建
第一步:构建真实世界的可重新照明数字孪生体
为了在数字世界中重建自动驾驶场景,LightSim 首先从采集的数据中划分动态物体和静态场景。这一步使用了 UniSim 来重建场景,并在网络中移除了相机视角依赖。再使用 marching cube 得到 geometry, 并进一步转换为带有基本材料的 mesh。
除了材料和几何,LightSim 还能够根据室外白天场景的主要光源太阳和天空,估算室外照明,得到高动态范围的环境图(HDR Sky dome)。借助传感器数据和提取的几何体,LightSim 可以估算出一个不完整的全景图像,然后补全它,获得一个全方位 360° 的天空视图。从而利用这个全景图像和 GPS 信息生成 HDR 环境图,准确估算出太阳强度、太阳方向和天空外观。
第二步:动态城市场景的神经照明仿真
在得到数字孪生体后,可以进一步对其进行修改,例如增加或移除物体,改变车辆轨迹或更改照明等,以生成增强现实的表征。LightSim 将执行基于物理的渲染,生成有关修改场景的照明相关数据,如基本色彩、深度、法向量和阴影。利用这些与照明相关的数据以及对场景源和目标照明条件的估算,LightSim 的工作流程如下所示。
虽然基于物理的渲染图像很好地重构了场景中的照明效果,但由于几何形状的不完美以及材料 / 照明分解中的误差,渲染结果往往缺乏真实感,例如模糊、不真实的表面反射和边界伪影。因此,研究者们提出了增强真实感的神经延迟渲染。他们引入了一个图像合成网络,该网络采用源图像和渲染引擎生成的照明相关数据的预计算缓冲区,生成最终的图像。同时,论文中的方法还为网络提供了环境图,以增强照明上下文,并通过数字孪生体生成了成对图像,提供了一种新颖的成对仿真和真实数据训练方案。
仿真能力展示
改变场景的光照 (Scene Relighting)
LightSim 可以在新的光照条件下以时间一致的方式渲染同一场景。如视频所示,新的太阳位置和天空外观会导致场景的阴影和外观发生变化。
LightSim 可以批量地进行场景重新照明,从估计的和真实的 HDR 环境图中生成同一场景的新的时间一致的和可 3D 感知的照明变化。
阴影编辑 (Shadow Editing)
LightSim 的照明表示是可编辑的,可以改变太阳的方向,从而更新与太阳光方向相关的照明变化和阴影。LightSim 通过旋转 HDR 环境图并将其传递给神经延迟渲染模块以生成以下视频。
LightSim 也可以批量地进行阴影编辑。
可感知光照的物体添加 (Lighting-Aware Actor Insertion)
除了修改照明之外,LightSim 还可以对不常见的对象(例如建筑障碍物)执行照明感知的添加。这些添加的对象可以更新物体的照明阴影、做到准确遮挡物体以及与整个相机配置的空间适配。
仿真迁移 (Generalization to nuScenes)
由于 LightSim 的神经延迟渲染网络是在多个驾驶视频上进行训练的,因此 LightSim 可以推广到新场景中。以下视频展示了 LightSim 泛化到 nuScenes 中的驾驶场景的能力。LightSim 可以为每个场景构建照明感知数字孪生,然后应用于在 PandaSet 上预训练的神经延迟渲染模型。LightSim 迁移性能良好,并且可以较为鲁棒地为场景重新照明。
真实可控的相机仿真
综合以上展示的所有功能,LightSim 实现了可控、多样化且逼真的相机模拟。以下视频展示了 LightSim 的场景仿真性能。在视频中,一辆白色的车紧急变道至 SDV 车道,引入了新的路障,这使得白色车辆进入了产生一个全新的场景,在新场景的多种照明条件下 LightSim 生成的效果如下所示。
以下视频中展示了另一个实例,插入了新的道路障碍后,又添加了一组新的车辆。使用 LightSim 搭建的仿真光照,让新加入的车辆能够无缝地融入到场景中。
总结和展望
LightSim 是一个可感知光照的相机仿真平台,为处理大规模动态驾驶场景服务。它可以根据现实世界的数据构建可感知照明的数字孪生体,并对其进行修改,以创建具有不同物体布局、SDV 视角的新场景。LightSim 能够对场景模拟新的照明条件以实现多样化、真实且可控的相机仿真,从而生成时间 / 空间一致的视频。值得注意的是,LightSim 还可以结合逆向渲染、天气模拟等技术来进一步提升仿真性能。