超越所有SOTA!最新UniScene:视频点云Occ三大生成任务全部暴力提升~

科技   2024-12-12 15:15   北京  

本文是对 UniScene: Unified Occupancy-centric Driving Scene Generation的解读,UniScene 在Video、LiDAR 和Occupancy生成方面超过了所有之前的SOTA方法。此外,UniScene生成的数据可显着增强下游任务,包括Occupancy预测、3D检测和BEV分割。

  • 论文链接:https://arxiv.org/abs/2412.05435
  • 开源地址:https://github.com/Arlo0o/UniScene-Unified-Occupancy-centric-Driving-Scene-Generation

Motivation

生成高保真、可控、带注释的训练数据对于自动驾驶至关重要。现有的方法通常直接从粗略的场景布局生成单一数据形式,这不仅无法输出各种下游任务所需的丰富数据形式,而且还难以直接建模场景布局到生成数据的复杂分布。

为了解决上述问题,我们提出了UniScene,这是第一个用于生成驾驶场景中三种关键数据形式(Occupancy、Video和LiDAR)的统一框架。 UniScene 采用渐进式生成过程,将场景生成的复杂任务分解为两个步骤:(a) 首先从自定义场景布局生成Semantic Occupancy作为富含语义和几何信息的场景表征,然后 (b) 使用基于高斯的联合渲染和先验引导的稀疏建模两种新颖的条件化转换策略,分别生成Video和LiDAR数据。这种以semantic occupancy为中心的方法减少了生成学习的负担,同时为后续生成阶段提供详细的中间表征。大量实验表明,UniScene 在Video、LiDAR 和Occupancy生成方面优于以前的SOTA方法,并显著增强下游驾驶任务。

Method

我们提出的UniScene是一个以Occupancy为中心的统一框架,用于生成Video、LiDAR 和Occupancy的数据。如下图所示,UniScene采用分解学习的范式,并按层次构建:它首先从BEV Layout生成三维semantic occupancy,然后利用这种表征促进Video和LiDAR数据的生成。具体来说,与之前的无条件semantic occupancy生成方法不同,我们使用定制的BEV Layout序列作为可控输入,生成具有时空一致性的语义Occupancy序列。与之前单步的生成方法不同的是,我们的方法利用生成的occupancy作为中间表征来指导后续的生成。

为了弥补表征差距,确保高保真地生成Video和LiDAR数据,我们引入了两种新颖的表征转换策略:

(1). 几何-语义联合渲染策略,利用高斯泼溅(Gaussian Splatting),促进具有详细多视角语义和深度图的条件视频生成;
(2). 用于激光雷达(LiDAR)数据生成的先验指导稀疏建模方案,该方案利用occupancy的先验知识高效生成激光雷达点云。

UniScene在创新性方面主要做出了以下贡献:

  • 我们提出了UniScene,它是首个用于在驾驶场景中生成多种数据的统一框架。它能联合生成三种格式的高质量数据:Video、LiDAR 和Occupancy。
  • 我们提出了一种条件分解生成范式,可逐步对复杂的驾驶场景进行建模,从而有效降低生成难度。首先生成细粒度的Semantic Occupancy作为中间表示,然后再生成Video和LiDAR数据。
  • 为了弥合occupancy和其他数据格式之间的领域差距,我们引入了两种新颖的表示转换策略:一种基于Gaussian Splatting渲染,另一种利用稀疏建模方案。
  • 在各种生成任务中进行的大量实验表明,UniScene 在Video、LiDAR 和Occupancy生成方面的表现优于最先进的方法。此外,UniScene生成的数据还显著增强了下游任务,包括occupancy预测、3D检测和BEV分割。

我们提出的方法整体框架如上图所示,其联合生成过程被组织成一个以occupancy为中心的层次结构: I. 可控occupancy生成。在输入occupancy DiT之前,先将 BEV Layout与噪声进行串联,然后用Occupancy VAE 解码器进行解码。II. 基于occupancy的Video和LiDAR生成。occupancy会被首先转换成三维高斯,并渲染成语义图和深度图,然后用基于ControlNet的编码器进行处理,由Video VAE 解码器获得输出。在生成LiDAR时,Occupancy通过Sparse UNet进行处理,并利用其几何先验指导进行采样,然后输入到LiDAR Head进行生成。

可控语义Occupancy(semantic occupancy)生成

在UniScene中,生成可控且时序一致的semantic occupancy是重要步骤,这一过程为后续的Video和LiDAR数据生成奠定了基础,确保了这些数据的真实性和一致性。为此,我们引入了Occupancy Diffusion Transformer (DiT),它能够接收BEV Layout序列作为输入,使用户可以轻松编辑并生成相应的occupancy序列。

Temporal-aware Occupancy VAE
为了提高效率,我们的occupancy VAE旨在将Occupancy数据压缩到潜在空间中。与依赖离散标记化的方法不同,我们采用连续潜在空间来编码Occupancy序列,这种方法能够在高压缩率下更好地保存空间细节。实验评估显示,该方法在保持高质量重建方面表现优异。

在编码阶段,我们将3D Occupancy数据转换为一个BEV表示,其中表示可学习类嵌入的维度。然后,通过2D卷积层和2D轴向注意力层获得降采样的连续潜在特征。 我们在解码阶段考虑时序信息,以实现更灵活的配置,使用3D卷积层和3D轴向注意力层重构出时序潜变量特征,进而恢复Occupancy序列

训练过程中,我们采用交叉熵损失、Lovasz-softmax损失以及KL散度损失。总损失函数定义为:

其中分别是两个损失项的权重。

Latent Occupancy DiT
Latent Occupancy DiT专注于从噪声Volume中生成Latent Occupancy序列。这一过程首先将BEV Layout与噪声Volume连接起来,并进一步patch化处理后输入到Occupancy DiT中。这种显式的对齐策略帮助模型更有效地学习空间关系,从而实现了对生成序列的精确控制。

通过一系列堆叠的空间和时间变换器块,Occupancy DiT汇聚了时空信息,使得长时间一致性的Occupancy序列生成成为可能。其损失函数具体如下:

这里表示模型输出,是第帧的输入噪声潜在,而则是目标噪声分布。 通过引入时序感知的Occupancy VAE和Occupancy Diffusion Transformer,UniScene不仅提升了Occupancy数据的高效压缩和细节保留能力,还实现了长时间一致性的Occupancy序列生成。

以Occupancy为条件引导的多视角Video生成

UniScene的视频生成模块基于预训练的Stable Video Diffusion (SVD) 模型,该模型由3D Video VAE和Video Diffusion UNet组成。Video Diffusion UNet利用基于Occupancy的渲染图和Text Prompt作为条件,生成多视角驾驶视频。

多视角语义与深度图渲染
为了实现高质量且一致性的视频生成,我们引入了基于高斯的联合渲染方法,将输入的Semantic Occupancy网格转换成多视角语义和深度图。这种方法不仅弥合了Occupancy网格与多视角视频之间的表征差距,还提供了细致的语义和几何指导。具体来说,给定形状为的Semantic Occupancy数据,首先将其转化为一系列3D高斯面片,每个面片包含位置、语义标签、不透明度状态以及协方差等属性。随后,通过tile-based光栅化过程,渲染出深度图和语义图

其中表示深度值,则由投影后的2D高斯分布和3D不透明度共同决定。渲染结果如下图所示,其中BEV Layout中的道路线被投射到Semantic Occupancy上,集成相应的语义信息。

这些渲染图通过带有残差连接和零卷积的编码分支输入到模型中,类似于ControlNet的设计,旨在利用预训练的视频扩散UNet的能力,同时保持其固有的生成能力。

几何感知噪声先验为了进一步提升视频生成的质量,我们在采样过程中引入了几何感知噪声先验策略。该策略不仅注入密集的外观先验,而且通过渲染的深度图显式地引入了几何信息,以此建模区域间的相关性。

具体的训练噪声公式如下:

其中是相机内部参数,是变换矩阵,是第帧视频的渲染深度图。通过单应变换,从参考图像中翘曲外观先验到其他图像平面,实现了显式的几何感知重投影。

Video训练损失函数
我们定义的视频训练损失函数旨在优化模型输出与真实值之间的差异,损失函数公式如下:

其中代表视频生成模型的输出,分别是第帧视频的渲染深度图和语义图,是输入的文本提示,分别对应的是第帧的真实值和带噪声的潜在特征,是根据SVD选取的条件参考帧,是一个用于选择条件帧的一热编码掩码。我们随机选择来减少模型对特定条件帧的依赖。

基于Occupancy的稀疏建模LiDAR生成

在LiDAR(激光雷达)生成方面,UniScene采用了基于Occupancy的稀疏建模。该方法首先使用Sparse UNet对输入的语义Occupancy进行编码,将其转换为稀疏体素特征。然后,通过Occupancy先验指导的稀疏采样来生成LiDAR点云数据。这种方法不仅提高了计算效率,还准确地模拟了真实的LiDAR成像过程。

稀疏体素特征提取
给定具有固有稀疏性和详细几何结构的Semantic Occupancy网格,我们提出了一种先验引导的稀疏建模方法以提高计算效率。通过避免对置空体素的不必要计算,显著减少了计算资源的消耗。输入的Semantic Occupancy网格首先经过Sparse UNet处理,以聚合上下文特征。

Occupancy引导的稀疏采样
接着,我们在LiDAR射线上执行均匀采样,生成一系列点。为了实现Occupancy引导的稀疏采样,我们将Occupancy体素内的点的概率设为1,其他所有点的概率设为0,从而定义了一个概率分布函数(PDF)。随后,根据这个PDF重新采样个点:

其中是射线的起点,是归一化的射线方向。这种基于Occupancy的先验引导采样方式确保了LiDAR点云的生成更加符合实际情况。

射线体积渲染
受之前工作的启发,我们采用了基于射线的体积渲染技术。每个重采样的点的特征通过多层感知器(MLP)处理,以预测符号距离函数(SDF)并计算相应的权重。这些预测值和权重用于通过体积渲染估计射线的深度:

其中是渲染得到的深度值。

LiDAR Head

为了更准确地模拟实际的LiDAR成像过程,我们引入了反射强度Head和射线Drop Head。反射强度Head负责预测沿每条射线LiDAR激光束被物体反射的强度,这涉及到根据权重对射线上的点特征进行加权求和,再通过MLP进行预估。射线Drop Head则用于估计由于未能检测到反射光而导致射线未被LiDAR捕捉的概率,其结构与反射强度Head相同。如下图所示,射线Drop Head有效地消除了预测中的噪声点。

LiDAR训练损失函数
LiDAR生成的训练损失由深度损失、强度损失和射线丢弃损失组成:

其中, 是平衡系数,用于调节不同损失项的重要性。

Experiment

实验表明,我们的方法在Video、LiDAR 和Occupancy生成方面优于之前的SOTA方法,并显著增强了下游任务,包括Occupancy预测、3D检测和BEV分割。

  • 定性实验结果:
  • 定量实验结果:

在 NuScenes-Occupancy 验证集上对Occupancy重建进行定量评估。压缩比是按照 OccWorld 中的方法计算。

在 NuScenes-Occupancy 验证集上对Occupancy生成(“Ours-Gen.”)和预测(“Ours-Fore.”)进行的定量评估。Ours-Gen. “和 ”Ours-Fore. "分别表示我们的生成模型和预测模型。CFG "是指无分类引导。

在 NuScenes 验证集上对视频生成进行定量评估。我们利用空间-时间注意力机制实现 Vista* 的多视角变体。

在 NuScenes 验证集上对激光雷达生成进行量化评估。我们将Occupancy生成时间包括在内,以便进行公平比较。

在 NuScenes-Occupancy 验证集上对语义Occupancy预测模型(基线为 CONet)的支持情况进行定量评估。C“、”L “和 ”L^D "表示摄像头、激光雷达和基于激光雷达的深度投影。


arXiv每日学术速递
工作日更新学术速递!官网www.arxivdaily.com。
 最新文章