伯克利分校 & 清华 联合开源 S3Gaussian | 自监督街道高斯方法,无需3D标注的高效3D场景重建 !

技术

点击下方卡片,关注 「AI视界引擎」 公众号

picture.image

真实感街道场景的3D重建对于开发自动驾驶的现实世界模拟器至关重要。尽管神经辐射场(NeRF)在驾驶场景中的效果显著,但由于速度更快和表示更明确,3D高斯 splatting(3DGS)成为了一个有前景的方向。

然而,大多数现有的街道3DGS方法需要追踪的3D车辆边界框来分解静态和动态元素以实现有效的重建,这限制了它们在野外环境下的应用。为了在不依赖昂贵的标注情况下促进高效的3D场景重建,作者提出了一种自监督街道高斯(Gaussian)方法,从4D一致性中分解动态和静态元素。

作者使用3D高斯表示每个场景以保持明确性,并进一步配合时空场网络以紧凑地建模4D动态。作者在具有挑战性的Waymo-Open数据集上进行了大量实验,以评估作者方法的有效性。

作者的Gaussian证明了分解静态和动态场景的能力,并且在不需要使用3D标注的情况下取得了最佳性能。

代码可在以下链接找到:https://github.com/nnanhuang/S3Gaussian/。

1 Introduction

自动驾驶近年来取得了显著进展,并在其流程的每个阶段发展了各种技术,包括感知、预测和规划。随着直接从传感器输入输出控制信号的端到端自动驾驶的出现[19; 20; 24],自动驾驶系统的开环评估变得不再有效,因此迫切需要改进[65; 30]。作为一种有前景的解决方案,现实世界的闭环评估需要可控视图的传感器输入,这促使高质量场景重建方法的发展[53; 59]。

尽管在小型场景的光照真实感重建方面做出了许多努力,但驾驶场景的大规模和高度动态特性对有效建模3D场景提出了新的挑战。为了适应这些特性,大多数现有工作采用跟踪的3D边界框来分解静态和动态元素。

然而,3D轨迹片段的成本高昂的标注限制了它们从野外数据中进行3D建模的应用。EmerNerf[61]通过同时学习场景流并使用它连接4D NeRF字段中的对应点来进行多帧重建,解决了这一问题,使得静态和动态目标之间的分解能够无需明确的边界框而出现。

然而,3D驾驶场景建模正从基于NeRF的重建转向3D高斯扩散,以解决上述问题。

为此,作者提出了一种名为Gaussian的自我监督的“S”weet “Gaussians”,为动态街道场景提供了一个健壮的解决方案,而无需3D监督。具体来说,为了处理驾驶场景中固有的复杂时空变形,Gaussian引入了一种前沿的时空场,以自我监督的方式进行场景分解。这个时空场结合了多分辨率Hexplane结构编码器以及紧凑的多头高斯解码器。Hexplane编码器旨在将4D输入网格分解为多分辨率、可学习的特征平面,有效地从动态街道场景中聚集时间和空间信息。在优化过程中,多分辨率Hexplane结构编码器有效地将整个场景分离,为每个场景实现了一个规范表示。与动态相关的特征存储在时空平面内,而与静态相关的特征保留在仅空间平面内。利用密集编码的特征,多头高斯解码器计算从规范表示的变形偏移量。

然后,将这些变形添加到原始3D高斯的属性中,包括位置和球面谐波,从而根据时间序列条件动态改变场景表示。作者的主要贡献总结如下:

  • 作者提出了Gaussian,这是第一种无需额外手动标注数据的自我监督方法,能够分解街道场景中的动态和静态3D高斯。
  • 为了模拟驾驶场景中的复杂变化,作者引入了一个有效的时空分解网络来自动捕捉3D高斯的变形。
  • 作者在具有挑战性的数据集上进行全面实验,包括NORR和Waymo。结果表明,Gaussian在场景重建和新型视图合成任务上达到了最先进的渲染质量。

2 Related Work

3D高斯分裂。近年来在3D高斯溅射(3DGS)[26]方面的突破性进展彻底改变了场景建模和渲染。利用显式3D高斯分布,3DGS在新视角合成和实时渲染中实现了最佳效果,同时与传统的表示方法(如网格或 Voxel )相比,大幅降低了参数复杂性。该技术无缝集成了基于点的渲染[1]和溅射[70]原理,通过溅射式光栅化实现了快速渲染和可微计算。

虽然原始的3DGS模型是为静态场景表示设计的,但一些研究行人将其适用性扩展到动态目标和场景。例如,杨等人[63]引入了一个变形网络,旨在从一系列动态的单目图像中捕捉高斯运动。[57]详细描述的另一种方法,通过使用HexPlane建立相邻高斯之间的联系,从而实现了实时渲染。通过优化包含语义logits和3D高斯的点云以进行新的动态场景表示,颜等人[60]在训练和渲染速度上取得了改进。与NeRF的方法类似,周等人[68]在场景内区分静态背景和动态目标,并使用不同的高斯溅射方法重建各自的部分。然而,现有的方法受到限制,因为它们只能单独建模静态或动态场景,并且需要监督的场景类型分类。作者的目标是自主地以自监督的方式学习静态和动态场景的分解,从而消除对动态目标边界框等真实标注的依赖。

自动驾驶模拟中的街景重建。在从真实场景中捕获的自动驾驶数据重建场景方面已经投入了大量努力。现有的自动驾驶模拟引擎,如CARLA[12]或AirSim[45],在创建虚拟环境和生成数据的真实性方面存在成本高昂的人工劳动和不足。新型视图合成(NVS)技术,包括NeRF[35]和3DGS[26]的快速发展,在自动驾驶领域引起了广泛关注。许多研究探讨了这些方法在重建街景中的应用。Block-NeRF[49]和Mega-NeRF[52]提出将场景划分为不同的块进行单独建模。Urban Radiance Field[42]利用LiDAR的几何信息增强NeRF训练,而DNMP[34]使用预训练的可变形网格基元表示场景。Streetsurf[17]将场景划分为近距离、远视角和天空类别,为城市街道表面提供了卓越的重建结果。对于建模动态城市场景,NSG[39]将场景表示为神经图,而MARS[58]使用不同的网络建模背景和车辆,建立了一个实例感知的模拟框架。随着3DGS[26]的引入,DrivingGaussian[68]介绍了复合动态高斯图和递增的静态高斯,而StreetGaussian[60]优化了动态高斯的跟踪姿态并引入了4D球面谐波以帧间变化车辆外观。

上述方法不仅存在训练周期长和渲染速度慢的问题,而且未能自动区分动态和静态场景的能力。因此,作者提出了Gaussian,以自监督的方式区分动态和静态场景,无需额外的标注,并对动态城市街景进行高保真和实时神经渲染,这对于自动驾驶模拟至关重要。

3 Proposed Approach

作者旨在从移动车辆捕获的一系列图像中学习街道动态环境的空间时间表示。然而,由于观察视角的数量有限,以及为动态和静态目标获取真实标注的高昂成本,作者旨在完全自监督的方式下学习静态和动态成分的场景分解,避免了对额外标注的监督,包括动态目标的边界框、场景分解的分割 Mask 以及用于运动感知的光流。

为了实现这些目标,作者提出了一种名为Gaussian的新型场景表示。

首先,在第三节1中,作者将3D高斯分布提升到4D,以更好地表示动态和复杂的场景。

然后,在第三节2中,作者引入了一种新颖的空间时间场网络,以整合高维空间时间信息并将它们解码以转换4D高斯分布。

最后,在第三节3中,作者描述了整个优化过程,消除了额外的标注。

4D Gaussian Representations

如图2所示,作者的场景表示包括3D高斯分布[26]和一个空间时间场网络。为了描绘静态场景,3D高斯分布由协方差矩阵和位置向量表征,这些被称为几何属性。为了稳定的优化,每个协方差矩阵进一步分解为缩放矩阵和旋转矩阵:

picture.image

除了位置和协方差矩阵之外,每个高斯分布还分配有一个不透明度值和颜色,由球面谐波(SH)系数定义,其中表示SH函数的度数。

空间时间场网络接收每个高斯分布的位置和当前时间步作为输入,生成空间时间特征。对这些特征进行解码后,网络可以预测每个点相对于规范空间的位移,同时通过语义特征解码器获取语义信息。作者将在第3.2节中详细介绍。

遵循[64],作者使用可微分的3D高斯分割渲染器将变形的3D高斯分布投影到2D[69]。在这里,摄像机坐标系中的协方差矩阵为:

其中是透视投影的雅可比矩阵,是观察变换矩阵。每个像素的颜色通过-混合使用个有序点计算:

这里,和表示一个点的透明度和颜色,通过可优化的每个点的透明度和SH颜色系数以及视线方向计算得出。通过将方程3中的颜色更改为语义特征,可以简单地渲染出语义图。

Spatial-temporal Field Network

传统的3D高斯Splattering主要关注静态场景的任务。然而,现实世界是动态的,尤其是在自动驾驶等情境中。这使得从3DGS过渡到4D是一项关键且具有挑战性的任务。首先,在动态场景中,每个移动相机在每个时间步捕获的视图比静态场景中的要稀疏,这种稀疏性使得对每个时间步的单独建模异常困难。因此,跨时间步的信息共享变得至关重要[14]。

此外,由于内存开销大,对于大规模或长时间持续的场景(如自动驾驶)来说,在空间和时间上对所有的Gaussian点进行建模是不切实际的。因此,作者提出利用一个高效的基于高斯的空间时间网络来建模3D高斯运动。该网络包括一个多分辨率六面体结构编码器和一个最小的多头高斯解码器。它只需要维护一组规范的3D高斯,并为每个时间步建模一个变形场。这个场预测相对于规范空间3D高斯的位移和颜色变化,从而捕捉高斯运动[57]。此外,作者还引入了一个简单的语义场,以帮助自动分解静态和动态高斯。

多分辨率六面体结构编码器。 为了在时间步之间有效地聚合时间和空间信息,考虑到相邻的高斯通常共享相似的空间和时间特征,作者采用了多分辨率六面体结构编码器 和一个小型MLP ,以有效表示动态3D场景,灵感来源于[6; 13; 14; 46]。具体来说,六面体将4D空间时间网格分解为跨越每对坐标轴的六个多分辨率可学习特征平面,每个平面都具有一个正交轴。前三个平面 , , 仅代表空间维度,而后三个 , , 代表空间时间变化。这种时间与空间的解耦有利于分离静态和动态元素。动态物体在空间时间平面上清晰可见,而静态物体仅表现在空间平面上。

此外,为了在压缩模型和减少最高分辨率下存储的特征数量时促进空间平滑性和连贯性,受到Instant-NGP的多尺度哈希编码[30]的启发,作者的六面体编码器包含了多个不同分辨率的副本。这种表示有效地编码了各种尺度下的空间特征。因此,作者的表达式是:

其中 是特征的隐藏维度, 代表上采样尺度, 等于基本分辨率。对于一个4D坐标,作者得到神经 Voxel 特征,并使用一个小型MLP 合并所有特征,如下所示:

其中 将4D坐标投影到相应的平面上, 表示双线性插值,用于 Query 位于四个顶点的 Voxel 特征。作者使用哈达玛积合并平面以产生空间定位信号,如[14]中讨论的那样。

多头高斯解码器。 作者使用独立的MLP头来解码在3.2节中获得的特征。具体来说,作者采用一个语义特征解码器来计算语义特征。考虑到大多数自动驾驶场景涉及刚体运动,作者只考虑高斯位置的变化,即。此外,考虑到光照等因素,场景的外观会随着其全局位置和时间而变化。因此,作者还引入了一个SH系数头(SH coefficient head)来建模4D动态外观模型。最终,作者的变形4D高斯公式化为:。

Self-supervised Optimization

激光雷达先验初始化。 为了初始化3D高斯分布的位置,作者利用车辆捕获的激光雷达点云,而不是使用原始的SFM [44] 点云来提供更好的几何结构。为了减小模型大小,作者还通过 Voxel 化整个点云并进行下采样,过滤掉图像外的点。对于颜色,作者随机初始化它们。

优化目标。 作者方法的损失函数由七部分组成,作者使用它联合优化场景表示和时空场。 是渲染图像和真实图像之间的L1损失,而 测量它们之间的相似性。 是从激光雷达点云估计的深度图和渲染深度图之间的L2损失,用于监督高斯分布的期望位置[61; 68]。渲染深度是通过高斯分布的位置计算得出的。 是语义特征的L2损失。遵循 [13; 47; 14],作者还引入了基于网格的全变分损失 。鉴于场景中的大多数元素是静态的,作者在时空网络中引入正则化约束,以增强静态和动态组件的分离。作者通过最小化 和 的期望值来实现这一点,这鼓励网络只在必要时产生偏移值。然后,总损失函数可以表述如下:

其中 ,,,,,, 是分配给每个损失组件的权重。

4 Experiments

在本节中,作者主要讨论用于评估作者的Gaussian性能的实验方法。关于数据集设置、 Baseline 方法以及实现细节的内容将在第4.1节中提供。在第4.2节中,作者将比较作者的方法与在各种任务中的最先进(SOTA)方法。进一步的消融研究和分析将在第4.3节中详细讨论。

Experimental Setup

数据集。 NOTR数据集是由[61]整理的Waymo开放数据集[48]的一个子集,包含许多具有挑战性的驾驶场景:静态自我、高速、曝光不匹配、黄昏/黎明、阴沉、雨天和夜间场景。相比之下,许多带有激光雷达数据的公共数据集存在严重的不平衡,例如nuScenes[4]和nuPlan[5],主要特点是简单场景且动态目标较少。因此,作者使用NOTR的dynamic32(D32)和static32(S32)数据集,总共64个场景,以获得评估作者的静态和动态重建的平衡和多样化标准。此外,由于大多数 Baseline 方法是基于NeRF的,为了确保公平评估作者方法的性能,作者与当前最先进的高斯方法,即StreetGaussian[60]进行了比较。作者遵循StreetGaussian使用的数据集配置,使用从Waymo开放数据集[48]中选择的六个场景,这些场景以复杂的环境和显著的目标动作为特征。

** Baseline 方法。** 作者将作者的方法与最先进的方法进行了对比,包括基于NeRF的模型和基于3DGS的模型。MARS[58]是一个基于NeRF的模块化[50]模拟器,利用2D边界框分别对静态和动态目标进行NeRF训练。NSG[40]学习潜在代码,使用共享解码器建模移动目标。EmerNeRF[61]也建立在NeRF之上,但通过优化流场来自我监督动态场景的建模,这代表了在动态驾驶场景表示的自我监督学习中的当前SOTA。3DGS[26]模型采用各向异性的3D高斯椭球作为显式的3D场景表示,在静态场景中在各种任务上取得了最强性能。最新的基于高斯的方法StreetGaussian[60]将时间引入SH系数,也达到了SOTA性能,尽管也使用了2D跟踪框。为了公平比较,作者还对3DGS应用了激光雷达点云初始化,并对3DGS和MARS应用了深度正则化,与作者的方法保持一致。

实现细节。 作者使用Adam优化器[27]训练作者的模型50,000次迭代,遵循3D高斯[26]的学习率配置。此外,作者采用5,000步纯静态3D高斯训练[26]作为场景[57]的 Warm up ,如图3所示。对于长序列场景的重建,作者将场景划分为多个片段。具体来说,作者每个片段使用50帧,其中优化的时空场作为下一个序列的时空场的初始化,包含50步。这种方法保持了同一场景内序列之间的空间和时间一致性。作者的多分辨率HexPlane编码器的基本分辨率设置为64,然后像[57]一样上采样2倍和4倍。其学习率设置为,在训练结束时衰减到。多头解码器中的每个解码器都是一个与HexPlane编码器相同学习率的小型MLP。其他超参数与3DGS[26]保持一致。在Waymo-NOTR数据集上的实验中,作者严格遵循了EmerNeRF[61]的实验设置。同样,对于Waymo-Street数据集,作者的实验设置紧随StreetGaussian[60]。

picture.image

Comparisons with the State-of-the-art

在Waymo-NOTR数据集上的结果表明,作者的方法在场景重建和新视图合成方面始终优于其他方法,如表1所示。对于static32数据集,作者使用PSNR、SSIM和LPIPS[66]作为评价指标来评估渲染质量。对于dynamic32数据集,作者还额外包括了关注动态物体的PSNR和SSIM指标。具体来说,作者将动态物体的3D边界框投影到2D图像平面上,并仅在投影框内计算像素损失,如所示。作者的评价指标优于其他现有方法,表明作者的方法在建模动态物体方面具有卓越的性能。此外,尽管静态场景表示不是作者的主要关注点,但作者的方法在这方面也表现得非常出色。因此,作者的方法更加多功能和通用。

picture.image

作者还进行了定性比较,如图1所示。作者强调了差异显著的区域,以便更清晰地展示。从图中可以看出,无论是在静态和动态场景的新视图合成(图1左侧)还是重建(图1右侧)方面,作者的方法都超越了现有的技术水平(SOTA)。尽管3DGS[26]忠实地重建了静态物体,但在处理动态物体时却失败了,并且在重建远处的天空时也遇到了困难。MARS[58]的重建质量较差,仅对非常短的序列有效,并且难以重建快速移动的物体。尽管EmerNeRF[61]可以自我监督静态和动态物体的重建,但重建质量不尽如人意,存在诸如重影、植物纹理细节丢失、车道标记缺失以及远处场景模糊等问题。在新的视图合成方面,作者的方法可以生成高质量的渲染图像,并确保多个摄像机视图之间的一致性。在动态场景重建中,作者精确模拟了大规模场景中的动态物体,尤其是远处的动态物体,并减轻了与这些动态元素相关的损失、重影或模糊问题。

picture.image

表2展示了在由StreetGaussian[60]收集的数据集上的结果。StreetGaussian是基于高斯分布的动态物体表示的最先进方法。作者的方法与StreetGaussian表现相似,区别在于StreetGaussian使用附加的边界框来建模动态物体,而作者的方法不需要任何明确的监督。如图4所示,与使用明确监督的StreetGaussian[60]相比,作者的方法在自我监督重建远处的动态物体方面表现出色。此外,作者的方法对场景细节的变化更加敏感,比如交通灯的变化。此外,StreetGaussian在天空中产生噪声,导致渲染质量下降。

picture.image

picture.image

Ablation and Analysis

作者研究了作者的方法及其各个组成部分的有效性。由于时间限制,作者从NORR动态32[61]选择了20个序列进行分析,所有模型都进行了较短的次迭代训练。表3展示了定量结果,而图5则展示了视觉比较结果。

picture.image

多分辨率六面体结构编码器。与纯粹的显式方法相比,作者提出的六面体编码器允许节省内存,并通过不同的分辨率保持场景中时空信息的不同维度。如果丢弃这个模块,仅依赖于浅层MLP ,将无法准确建立时空场,也无法模拟高斯形变。表3和图5都显示,如果没有这个模块,作者的渲染质量会急剧下降。作者还提供了这一编码器的特征可视化,如图6所示。作为一个显式模块,作者可以轻松优化单个 Voxel 平面上的所有高斯特征。从图6可以看出, Voxel 平面特征主要集中在前景中的移动部分。场景中移动车辆的轨迹从右下角延伸到右上角。因此,空间平面特征主要集中在右下角,而时间平面特征主要出现在右侧。这些模式表明作者的编码器成功捕捉到了空间和时间信息。这种能力使作者能够有效地自我监督分解静态和动态成分,如图6和图2所示。

picture.image

多头高斯解码器。作者提出的多头高斯解码器可以解码 Voxel 特征。如表3所示,禁用这个组件将极大地影响渲染质量。此外,如图5所示,禁用解码器,只在规范空间中训练高斯分布,会引入显著的噪声。这种噪声源于由激光雷达点云初始化的高斯点,导致沿移动车辆轨迹的一系列高斯点。如果这些点没有被形变,那么之后优化它们将变得具有挑战性。此外,省略语义特征解码器和颜色形变解码器主要影响渲染细节。例如,如果没有这些组件,卡车的几何结构将变得更加模糊。

静态高斯预热。根据图5,作者发现,在不对3D高斯进行预热优化直接训练4D高斯的情况下,不仅会降低收敛速度,还会影响最终的渲染质量。如图3所示,进行预热步骤已经可以得到基本的静态场景重建,这减轻了4D时空网络学习大规模场景的压力,使网络可以更多地关注动态部分。此外,它通过避免早期阶段的数值错误[57]来稳定网络。

5 Conclusion

在本文中,作者提出了Gaussian,这是第一种自我监督的街景高斯方法,用于区分复杂驾驶场景中的动态和静态元素。Gaussian采用了一种空间-时间场网络来自动实现场景分解,该网络包括一个多分辨率Hexplane结构编码器和一个多 Head 高斯解码器。给定全局空间中的4D网格,所提出的Hexplane编码器将特征聚合成动态或静态平面。然后作者将这些特征解码成变形的4D高斯分布。整个流程在没有额外标注的情况下进行优化。在包括NOTR和Waymo在内的具有挑战性的数据集上的实验表明,Gaussian在场景分解能力方面表现出色,并在不同任务上获得了最先进的渲染质量。大量的定量结果实施了说明Gaussian中每个组件的有效性。

Additional Implementation Details

数据集详情。 作者的Waymo-NOTR数据集遵循[61]的设置。对于相机图像,作者使用了三个正面摄像头:前左(FRONT LEFT)、前(FRONT)和前右(FRONT RIGHT),将分辨率调整为640×960用于训练和评估。所有序列的长度设置为100帧。作者从序列中每隔10帧选择一帧作为测试帧,并使用其余帧进行训练。对于作者的Waymo-Street数据集,与[60]一致,作者使用正面摄像头并将输入图像缩小到1066×1600以评估单目重建和新视图合成能力。所有序列的长度严格遵循由StreetGaussian [60]发布的设置,每个序列大约100帧长。作者从序列中每隔4帧选择一帧作为测试帧,并使用其余帧进行训练。

特征提取。 作者采用了DINOv2 [38]的预训练权重以及[2]的特征提取器实现。具体来说,作者使用了ViT-B/14变体,并将图像尺寸调整为644×966,步长为7。鉴于特征图的大小,作者遵循[61]使用主成分分析(PCA)降维将特征维度从768降到3,并将这些特征归一化到[0,1]范围。

More Related Work (Advances in Neural Radiance Fields)

近年来,研究行人对利用神经渲染技术进行场景建模产生了浓厚兴趣。在这些技术中,神经辐射场(NeRF)[35]受到了特别关注。NeRF使用可微分的体积渲染方法,使得仅从一组平面图像及其相应的相机位姿就能够生成新场景。此外,NeRF还展示了通过跟踪车辆的边界框将街景分为静态和动态场景的能力。尽管研究努力不断加强NeRF的功能,这些努力在训练速度[14; 15; 37]、位姿优化[3; 54; 32]、场景编辑[28; 43]、目标生成[21]和动态场景表示[22; 41]方面取得了显著进展,但挑战依然存在,尤其是在训练和渲染速度方面。这些挑战在自动驾驶场景中广泛采用NeRF时构成了重大障碍。与基于NeRF的方法相比,Gaussians提出了用于动态场景的4D高斯表示,显著提高了渲染速度。

Limitations

与其他方法[61; 58]类似,作者的场景在建模高速移动的物体时遇到了困难。作者怀疑这可能是由于变形场的高方差,导致无法准确建模它们的快速移动。此外,快速移动的动态物体的视图通常是稀疏的,只有少数几个视图可用于捕捉,这使得重建更加具有挑战性。如何重建这些具有挑战性的场景将是作者未来研究的重点。

参考

[1].Gaussian: Self-Supervised Street Gaussians for Autonomous Driving.

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 EB 级湖仓一体分析服务 LAS 的实践与展望
火山引擎湖仓一体分析服务 LAS 是面向湖仓一体架构的 Serverless 数据处理分析服务,提供一站式的海量数据存储计算和交互分析能力,完全兼容 Spark、Presto、Flink 生态,在字节跳动内部有着广泛的应用。本次演讲将介绍 LAS 在字节跳动内部的发展历程和大规模应用实践,同时介绍 LAS 在火山引擎上的发展规划。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论