ChatSim:首个通过大语言模型实现可编辑逼真3D驾驶场景的仿真
论文链接:https://arxiv.org/pdf/2402.05746.pdf
代码链接:https://github.com/yifanlu0227/ChatSim
1. 摘要(Abstract)
自动驾驶中的场景仿真因其生成定制数据的巨大潜力而获得了广泛关注。然而,现有的可编辑视景仿真方法在下面方面存在局限性
- 用户交互效率
- 多相机照片真实感绘制
- 外部数字资产集成等。
为应对这些挑战,本文提出ChatSim,第一个通过外部数字资产的自然语言命令实现可编辑的照片般逼真的3D驾驶场景模拟的系统:
- 1.为了实现高命令灵活性的编辑,ChatSim利用了一个大型语言模型(LLM) agent协作框架。ChatSim采用了一种新的多相机神经辐射场 方法来生成照片级逼真的结果。
- 2.为了生成照片般逼真的结果,本文在ChatSim中提出McNeRF,一种新的神经辐射场方法,融合了多相机输入,这种集成充分利用了车辆上的相机设置:
- [1]异步触发时间导致的相机姿态不对齐:McNeRF使用多相机对齐来减少外部参数噪声,确保渲染质量
- [2]相机曝光时间不同导致的亮度不一致:McNeRF融合关键曝光时间来恢复高动态场景辐 射亮度,显著缓解了曝光时间不同的两幅相机图像在 交叉点处的颜色差异问题。
- 3.为了导入具有逼真纹理和材料的外部数字资产, 本文提出McLight,一种新的多相机照明估计方法, 融合了skydome和周围的照明:
- [1]skydome估计恢复了具有峰值强度残差连接的准确太阳行为,实现了突出阴影的渲染
- [2]对于周围的照明,McLight查询McNeRF来实现复杂的特定位置的照明效果,例如 阳光被遮挡的树阴中。
在Waymo公开数据集上的实验表明,ChatSim根据各种人 类语言命令生成了照片级逼真的定制感知数据,包括危险的拐角情况。该方法兼容混合的、高度抽象的和多轮命令。该方法通过广角渲染实现了SoTA性能,照 片真实感提高了4.5%。光照估计在质量和数量上都优 于SoTA方法,强度误差和角度误差分别降低了57.0% 和9.9%。
2. 文章主体
2.1. 用于编辑的协作llm - agent
出发点:直接应用单 个LLM代理很难进行多步推理和交叉引用。为解决这 个问题,本文设计了一系列协作的LLM智能体
- 特定Agent的功能
LLM负责理解接收到的命令,而role函数负责处理接收到的数据。每个代理都 配备了独特的LLM提示和角色功能,以适应其在系统 中的具体职责。为了完成它们的任务,代理首先在提 示的帮助下使用LLM将接收到的命令转换为结构化配 置。然后,角色函数利用结构化配置作为参数对接收 到的数据进行处理,生成期望的结果[图2右]
- Agent协作工作流
编辑agent组成两个团队:背景生成和前景生成:
- 对于背景 生成,背景渲染代理使用视图调整代理的外部参数生 成渲染图像,然后由车辆删除代理进行修复。
- 对于前景生成,前景渲染代理使用来自视图调整代理的外部参数渲染图像,从3D资产管理代理选择3D资产,并从 车辆运动代理生成运动。
最后,合成前景和背景图像 以创建并向用户传递视频。每个代理配置中的编辑信 息由项目经理代理记录,以供可能的多轮编辑
2.2. McNeRF用于背景渲染
由于(1)异步相机触发时间造成的错位多相机姿态,(2)以及不同曝光时间导致的亮度不一致,这给NeRF训练带来了挑战。为了解决这些挑战,McNeRF采用了两种技术
- 多相机对齐
- 亮度一致渲染。
为了对齐用于NeRF训练的相机外部特性,我们的核心思想是利用Agisoft Metashape [2]提供 的一致的空间坐标系统来对齐多个相机在不同时间戳 捕获的图像。
具体来说,设
I
(
i
,
k
)
I^{(i,k)}
I(i,k)和
ξ
(
i
,
k
)
ξ^{(i,k)}
ξ(i,k)分别为第i相机在第k触发器处捕获的图像和车辆全局坐标空间中相应的相机姿态。首先将所有图像输入到Metashape中进行重新校 准。对齐后的相机位姿如下:
ξ
(
i
,
k
)
=
T
M
→
G
⋅
ξ
M
(
i
,
k
)
ξ^{(i,k)}= T_{M→G}· ξ^{(i,k)}_M
ξ(i,k)=TM→G⋅ξM(i,k)
其中
ξ
M
(
i
,
k
)
ξ^{(i,k)}_M
ξM(i,k)表示在Metashape的统一空间坐标空间中重新校准的相机姿态,
T
M
→
G
T_{M→G}
TM→G是从Metashape的坐标空间到车辆的全局坐标空间的转换。对齐后可以显著降低姿态噪声。然后,对齐的相机姿态
ξ
(
i
,
t
)
ξ^{(i,t)}
ξ(i,t)可用于为McNeRF生成光线的原点和方向,从而实现高保真渲染。对齐的姿态也可以方便前景渲染代理的操作。
亮度一致渲染。相机的曝光时间可能存在很大差异,导致图像之间存在显著的亮度差异,阻碍了NeRF的训练。如图4所示,McNeRF通过将曝光时间纳入HDR辐 射场来解决这个问题,促进亮度的一致性。
采用F2-NeRF作为骨干模型来处理无边界场景,沿着光线r采样K点,并估计每个点的HDR辐射 度
e
k
e_k
ek和密度
σ
k
σ_k
σk。HDR光强的计算如下:
其中
α
k
=
1
−
e
x
p
(
−
σ
k
δ
i
)
α_k = 1 − exp(−σ_kδ_i)
αk=1−exp(−σkδi)为不透明度,
δ
i
δ_i
δi为点采样间隔,
T
k
T_k
Tk为累积透过率,∆t为曝光时间。归一化函数
f
(
∆
t
)
=
1
+
ε
(
∆
t
−
μ
)
/
σ
f(∆t) = 1 + ε(∆t − μ)/σ
f(∆t)=1+ε(∆t−μ)/σ旨在稳定训 练,其中ε是用于缩放的超参数,μ和σ分别是所有图像曝光时间的均值和标准差。 通过在HDR中预测场景辐射度并将其乘以曝光时间,恢复传感器接收到的光强,并解决曝光时间不同 的两幅相机图像在交叉点处不一致的颜色监督问题。 此外,McNeRF输出的HDR光强可以为前景物体渲染 提供场景级照明。
为了训练渲染网络,我们强制渲染图像(预测)和捕获图像(地面真实值)之间辐射度的一致性。给定真实图像I ,损失函数为:
2.3. McLight用于前景渲染
为了用大量的数字3D资产来丰富场景的内容,我们 使用了Blender [20]前景虚拟对象的渲染。无缝插入的 关键在于准确估计场景的光照条件。如图4所 示,我们提出McLight,一种新的混合照明估计,包括skydome照明和周围照明。
Skydome照明估计
从图像中估计天空穹顶的光照对 恢复准确的太阳行为具有挑战性。为实现这一目标, 本文提出一种新的从估计峰值强度到HDR重建的残差 连接,以解决过平滑输出。采用自注意力机制融合多 摄像机输入,捕捉互补的视觉线索。
我们采用一个两阶段的过程:
- 第一阶段: 训练一个自编码器,从LDR全景图重建相应的HDR全 景图。[65]之后,编码器将LDR skydome全景图转换 为三个中间向量,包括峰值方向向量fdir ∈ R3、强度 向量fint ∈ R3+和天空内容向量fcontent ∈ R64。然而, 由于HDR强度在其峰值位置表现为脉冲响应,像素值 比相邻像素值高数千倍,因此解码器很难恢复这种 模式。为解决这个问题,本文设计了一个残差连接, 将fint 注入到解码的HDR全景图中,具有球形高斯波瓣 衰减。这显式地恢复了重建的HDR全景图中太阳的峰 值强度,允许我们为虚拟物体渲染强烈的阴影。
- 第二阶段,训练一个图像编码器和一个基于第一阶段预训练解码器构建的多相机融合模块。具体来说,对于每个相机的图像,共享图像编码器预测每个图像的峰值方向向量f(i)、强度向量f(i)和天空内容向 dir int量f(i) I(i),其中i是相机索引。设计了跨多个相机 content视图的潜向量融合如下:所有f (i) 使用其外部参数与正面 dir视图对齐,并平均形成 ̄fdir;所有f(i)的平均值为 ̄fint;所有f(i) 都通过自注意力模块集成到 ̄f 中。最 content content后,预训练解码器从 ̄fdir、 ̄fint和 ̄fcontent重建HDR sky- dome图像Iskydome 。
周围光照估计
仅仅模拟天空穹顶并不能复制复杂 的特定位置的照明效果,比如那些阳光被树木或建筑物挡住的阴影。McNeRF能够存储精确的3D场景 信息,使我们能够捕捉周围场景对照明的影响。该 方法有助于实现空间变化的光照估计。
我们在虚拟物体的位置o对半球射线进行采样。射 线的方向di,i = 0,1,··· ,h × w与单位球体上的像素 坐标对齐,使用来自环境地图的等边矩形投影,其 中h和w是地图的高度和宽度。使用光线r = o + tdi, 我们查询我们的McNeRF作为方程1以获得HDR环境照 明Isurround(o, di)。环境光照估计重建复杂环境光照, 获得空间变化效果并与背景高度一致。
混合。 我们通过McNeRF最终采样点的透射率来 融合来自天空穹顶和周围照明的HDR强度值。这 个想法是辐射场外发射的射线一定会击中天空穹 顶。给定方向di,我们用等矩形投影检索skydome的 强度Iskydome(di)。最终的HDR光强Ienv(o,di)是场景 和skydome的结合:
Ienv (o, di ) = Isurround (o, di ) + TK Iskydome (di ),
其中TK 为上一个采样点的透射率。
McLight有两个主要优点:i)明确地恢复峰值的照度 行为,并利用来自多个摄像机的互补信息来恢复准确 的skydome;ii)在考虑复杂场景结构的情况下实现特定 位置的照明。
3. 实验效果
3.1. 数据集和实现细节
主要在Waymo开放数据集[58]上展示了各种结果, 其中包含高质量的多相机图像和相应的校准。对 于McLight skydome估 计 , 从 在 线HDRI数 据 库 收 集 了449个HDRI,用于自动编码器训练,并使用第二阶 段的街景全景数据集HoliCity [75];更多数据集细节见附 录。
混合和复杂的命令
我们向系统发送一个混合而复 杂的命令,这意味着一辆警车正在追赶一个错误行驶 的赛车手。目标场景、命令和结果如图5所示。我们看 到,i)由于我们的多智能体协作设计,复杂命令中的每 个需求都被准确地执行;Ii)该指令成功模拟了一种罕见 但危险的驾驶条件,在事故测试中具有重要意义。
高度抽象的命令
第二种是高度抽象的命令。输入 和结果如图6所示。我们看到,i)这个高度抽象的命令 很难通过句子分割来分解,但仍然可以由我们的方法 正确执行,ii)我们的3D资产银行提供了各种各样的对 象来添加。
多轮命令
我们还与系统进行了多轮聊天,不同轮 中的命令存在上下文依赖。最终结果如图7所示。我们 看到i)系统具备处理多轮命令并在每轮中精确执行命令 的能力;Ii)系统可以处理不同轮的上下文依赖关系得益 于项目经理代理的记录能力。
与可视化编程的比较
视觉编程(VP)是最新 的SoTA语言驱动的2D图像神经符号系统,也可以用 于语言命令的编辑。鉴于可视化编程仅支持2D图像 中的单帧编辑,将比较限制在其可以支持的原始视 图中的删除和替换操作。图8的对比显示,在两个 样本中,ChatSim的性能明显优于VP。实际上,在我 们广泛的实验中,VP在大多数情况下都失败了。原因是VP只有一个agent,很难处理混合任务。相比之 下,ChatSim有多个具有特定角色的协作agent,确保任 务的准确执行。
基于仿真数据的三维检测
验证了该模拟作为数据 增强的好处Waymo开放数据集[59]上的下游3D目标检 测任务。模拟1960帧,来自训练数据集中的场景。在 模拟中,包含了各种类型、位置和方向的汽车。检 测模式采用Lift-Splat [51]。图9显示了在不同数量的真 实数据下进行和不进行固定增强的检测性能。我们 看到,i)在不同的数据大小上实现了显著和一致的改 进;ii)当真实数据有限时,我们的模拟明显有助于粗检 测(AP30);iii)当真实数据量增加时,我们的模拟进一步显著提高了细粒度检测(AP70),体现了我们模拟的高质量。