点击下方卡片,关注“3D视觉之心”公众号
第一时间获取3D视觉干货
>>点击进入→3D视觉之心技术交流群
摆脱LiDAR如何重建自驾场景
重建逼真且几何精确的三维场景长期以来一直是计算机视觉的一个关键目标。随着神经辐射场(NeRF)和三维高斯喷溅(3DGS)等技术的进步,生成高精度的三维模型变得更加可行。这些技术大大增强了虚拟环境的真实感,并在医学成像、手术导航和虚拟现实等多个领域具有重要应用。在自动驾驶领域,这些重建技术能够提供周围环境的精确三维模型,包括街道、建筑物甚至动态物体。这种能力提升了自动驾驶系统的导航能力,并使极端场景的仿真成为可能,扩展了现实的边界,同时对其进行了数字化。
为了实现自动驾驶场景的高精度重建,NeRF被用作基础技术,通过神经网络将场景表示为连续的三维体积。虽然这种方法能够生成高质量的户外场景,但其缺点是需要大量的训练资源且渲染速度较慢。随着三维高斯喷溅(3DGS)的出现,这种低成本、快速渲染的三维场景重建方法迅速获得了广泛关注。原生的3DGS并不适合处理包含动态物体的大型户外场景。为了将该技术适配于自动驾驶场景重建,现有的3DGS研究将注意力集中在结合LiDAR生成的点云并使用标注的三维边界框来重建包含动态物体的街道场景上。它们成功地将动态物体从静态背景中分离出来,取得了低训练成本下的良好重建效果。
然而,这些技术仍然需要:
昂贵的LiDAR来生成点云
需要带有预标注动态车辆边界和轨迹的数据集。
为了缓解这一限制,将占据预测网络(ONet)引入自动驾驶感知领域,并应用于三维场景重建。由于ONet将现实世界建模为具有语义信息的体素网格,我们可以消除对昂贵的LiDAR的需求,同时解决边界框无法捕捉未标注物体的问题。

本文介绍的OG-Gaussian[1]是一种新的自动驾驶场景重建方案。我们的方法首先通过安装在车辆上的摄像头捕捉周围视野图像。然后,我们使用占据预测网络(ONet)获取周围环境的占据网格(OG)信息。通过利用占据网格中的语义信息,我们将原始场景分为街道场景和动态车辆。接着,我们将背景街道的占据网格转换为点云,并通过二维图像投影将动态车辆的网格转化为初始点云集合。我们的方案不依赖昂贵的LiDAR点云作为初始点云,而是将通过占据网格获得的点云作为低成本的替代先验。这些点云将被转换为可优化的高斯椭球集。为了追踪动态车辆,我们将其初始点的位置和旋转矩阵定义为可学习的参数。这使得我们可以优化车辆的姿态和轨迹,描述动态车辆在现实世界中的运动方式。通过这种方式,我们的方法无需预标注的轨迹或动态物体的边界框。最终,优化后的高斯椭球将投影到二维空间中,渲染重建的自动驾驶场景。
我们在Waymo开放数据集上进行了实验,结果表明,OG-Gaussian在重建质量和渲染速度方面与当前的最先进方法相当,并且在不依赖LiDAR或任何标注的情况下,取得了平均PSNR为35.13,渲染速度为143 FPS。我们还进行了消融研究,以验证使用处理过的占据网格作为先验在重建自动驾驶场景中的有效性。我们为后续任务提供了一种快速、低成本的三维场景重建方法。
主要贡献:
我们介绍了OG-Gaussian,将占据网格融入到自动驾驶场景的重建中。这种方法消除了依赖昂贵的LiDAR生成初始点云的需求,仅需图像输入,并显著降低了三维场景重建的成本。
我们利用占据网格的语义特性将动态车辆从静态背景中分离出来,并估计其姿态,消除了动态物体手动标注的需求。
通过广泛的实验,我们的方法在重建质量和渲染速度方面与最先进的方法相当,平均PSNR为35.13,渲染速度为143 FPS,且不依赖LiDAR或任何标注。
具体方法

OG-Gaussian
在本节中,我们重点介绍OG-Gaussian的基本结构,并说明如何使用两组不同的点云来表示街道场景和动态车辆。以下是我们方法的详细解释。
街道模型
街道模型的初始点云是一组在世界坐标系中的点。根据前面的介绍,三维高斯的参数可以通过协方差矩阵和位置向量来表示。协方差矩阵可以分解为旋转矩阵和缩放矩阵,恢复过程如下:
除了协方差矩阵和位置矩阵外,每个高斯包含一个参数来表示不透明度和一组球面谐波系数(公式6),用来表示场景的外观。公式6中的和是定义具体球面谐波函数的度和阶。为了获取原始视图的颜色信息,我们还需要将球面谐波系数与从视角方向投影的球面谐波基函数相乘。为了获得每个高斯的语义信息,我们将logit 加入到每个点,其中表示语义类别的总数。
动态车辆模型
自动驾驶场景包含多个移动的车辆,我们也需要使用一组可优化的点云来表示它们。观察动态车辆时,由于其位置的变化,周围空间发生了显著的变化,因此很难直接使用3DGS来重建它们。我们使用成熟的检测和分割模型,基于占据网格的语义信息提取动态车辆物体,并根据其位置在车辆坐标系中提取初始动态点云。
动态车辆和街道的高斯属性是相似的,它们对不透明度和缩放矩阵有相同的含义。然而,正如前面所提到的,它们的位置和旋转矩阵是在车辆坐标系下的,这与街道场景不同。为了避免使用地面真实姿态值,我们通过跟踪其姿态来表示动态车辆的实际状态。车辆的姿态可以通过旋转矩阵和位移向量表示,如下:
其中,和分别是每个高斯在世界坐标系中的位置矩阵和旋转矩阵,和是相对于车辆的物体位置和旋转矩阵。根据先验知识,我们可以通过和得到动态车辆的协方差矩阵。为了获得更准确的车辆姿态,我们将每帧的旋转矩阵和位置矩阵作为参数(如公式8所示),然后使用它们来获得车辆的位置和轨迹,而不依赖于动态物体的真实轨迹。
动态车辆模型的语义表示与街道模型不同,街道模型中的语义是一个维向量(是语义类别的数量),而车辆模型的语义只有两个类别:车辆和非车辆(来自占据预测结果),因此它是一个一维标量。
在街道模型中,我们使用球面谐波系数表示场景的外观。但在处理动态车辆时,其位置随着时间变化。因此,使用多个连续的球面谐波系数表示动态物体在每个时间戳下的外观是浪费的。相反,我们将每个球面谐波系数替换为一组傅里叶变换系数,在构建四维球面谐波系数时,加入时间维度,以便可以通过离散傅里叶变换恢复给定时间步的。
占据先验与周围视图
原始的3DGS通过结构光法(SfM)生成稀疏点云作为先验。对于重建大规模的街道场景,直接使用SfM点云来表示动态物体和复杂的街道场景会产生明显的几何误差和不完整的恢复。为了为3DGS提供准确的初始化点云,我们将ONet预测的结果转换为初始化点云,以获得准确的几何信息,并在多个摄像头视角下保持一致性。
具体而言,我们根据占据网格的语义信息提取车辆点云,并将每个时间戳的车辆位置定义为。如果,我们可以将该车辆标记为动态物体,其中表示用于确定其为动态物体的位移阈值。
为了生成更密集的点云来表示动态车辆,我们以的体素大小对动态物体的点云进行上采样。然后,我们将这些点云投影到相应的图像平面,并通过查询像素值为它们赋予颜色。对于每个动态车辆的初始点,我们将其坐标转换为相机坐标系,然后执行公式9所描述的投影步骤,其中是图像的二维像素,是每个相机的内部参考矩阵,和分别表示正交旋转矩阵和位移向量。
最后,我们将剩余的占据网格转换为密集的点云,并将其位置取自中心坐标。静态和动态物体的初始点云生成过程如图3所示。除此之外,我们还将通过COLMAP生成的点云与生成的点云结合,以处理远处的建筑物。
通过高斯喷溅进行全局渲染
为了渲染整个OG-Gaussian,我们汇总每个高斯的贡献来生成最终图像。以前的方法使用神经场表示场景,在合成场景时需要考虑光照复杂性等因素。我们的OG-Gaussian渲染方法基于3DGS,通过将所有点云的高斯投影到二维图像空间,从而实现高保真度的自动驾驶场景渲染。
给定一个渲染时间戳,我们首先使用公式6计算球面谐波系数。然后,将点云从车辆坐标系转换到世界坐标系,我们将街道模型和动态模型合并成一个全局模型。使用相机的外参和内参,我们将点云投影到二维平面,并计算每个点在二维空间中的参数。在公式10中,是的雅可比矩阵,而和分别表示二维图像空间中的位置和协方差矩阵。
之后,我们可以根据点云的不透明度计算每个像素的颜色。在公式11中,是透明度和二维高斯概率的乘积,而是从特定视角方向的球面谐波中得到的颜色。
实验效果





总结一下
OG-Gaussian是一种高效的方法,将占据网格(OGs)融入3DGS用于重建户外自动驾驶场景。我们的方法利用占据网格提供的先验进行场景重建,同时分离并重建动态车辆与静态街道场景。我们的表现与依赖LiDAR的现有最先进技术相当,但仅依赖于相机图像。我们的方法将使未来的研究人员能够快速且低成本地重建自动驾驶场景,为自动驾驶技术的发展做出贡献。
参考
[1] OG-Gaussian: Occupancy Based Street Gaussians for Autonomous Driving
本文仅做学术分享,论文汇总于『3D视觉之心知识星球』,欢迎加入交流!
【3D视觉之心】技术交流群
3D视觉之心是面向3D视觉感知方向相关的交流社区,由业内顶尖的3D视觉团队创办!聚焦三维重建、Nerf、点云处理、视觉SLAM、激光SLAM、多传感器标定、多传感器融合、深度估计、摄影几何、求职交流等方向。扫码添加小助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
扫码添加小助理进群
【3D视觉之心】知识星球
3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。