如何模拟LiDAR
在自动驾驶系统的训练和仿真过程中,驾驶场景中的数据采集至关重要。然而,获取真实的驾驶数据既昂贵又低效,这凸显了开发高效的LiDAR模拟算法以生成逼真LiDAR数据的必要性。目前,较为常见的方法是利用稀疏数据重建三维街道场景,并基于此生成新视角数据。以往的大多数研究主要集中在相机的新视角合成(NVS),这些方法利用车载相机拍摄的RGB图像作为输入,以重建三维场景并渲染新视角下的图像。尽管基于相机的新视角合成已取得了重大进展,但LiDAR模拟仍然研究较少。由于LiDAR点云本质上的稀疏性,仅使用LiDAR数据准确重建三维场景仍然是一个挑战。此外,LiDAR传感器无法接收所有发射的激光束,其点云数据会受到物体反射特性的影响,导致部分点云丢失(point cloud dropout),进一步增加了三维场景重建的难度。
传统的LiDAR模拟方法可大致分为两类:虚拟环境建模和基于重建的方法。
- 前者依赖物理引擎和手工制作的三维资产构建虚拟世界,但此类模拟器受限于三维资产的有限多样性和高昂的生成成本,且存在较大的模拟-现实域间差距。
- 相比之下,基于重建的方法试图通过从真实世界数据中重建三维资产来克服这些限制。然而,多步重建算法的复杂性限制了其在工业领域的实际应用。
近年来,神经辐射场(NeRF)已成为三维重建领域的核心技术。NeRF利用隐式表示和高质量的体积渲染(volumetric rendering)来学习三维场景,已经被提出用于LiDAR模拟。例如,NeRF-LiDAR结合真实图像和LiDAR数据学习神经辐射场,以生成点云并渲染语义标签。而LiDAR-NeRF提出了一种仅使用LiDAR数据的新视角合成任务,以重建三维场景。然而,LiDAR-NeRF仅适用于静态场景,而在实际驾驶环境中,动态车辆和行人随处可见。为了克服这一限制,LiDAR4D引入了一种混合4D表示,用于时空新视角LiDAR合成。尽管这些基于NeRF的方法相较于传统技术取得了显著进展,但训练和渲染速度缓慢仍然是其固有的局限性。此外,诸如HashGrid等高效的NeRF变体虽然能加速计算,但其设计主要适用于对称场景,而不适用于驾驶环境。
本文介绍GS-LiDAR[1],一个基于全景高斯点绘生成逼真LiDAR点云的新框架。传统的三维高斯点绘在几何建模方面存在困难,并容易在稀疏视角条件下过拟合。为此,我们采用视角一致的二维高斯基元以提升几何表示的精确度。此外,考虑到驾驶场景的动态性,我们在高斯基元中引入周期性振动特性,从而能够统一表示动态环境中的各类物体和元素。针对LiDAR新视角合成任务,我们提出了一种全新的全景渲染过程,以高效渲染全景深度图。通过精心设计的光线-点绘交互,所生成的全景深度图具备几何精度和视角一致性。每个高斯基元还被赋予LiDAR特定属性,如视角相关的强度和光线丢失概率,并在点绘过程中通过Alpha混合聚合到强度图和光线丢失图中。通过使用真实LiDAR测距图和强度图进行监督,GS-LiDAR能够有效模拟LiDAR点云。如图1所示,在新视角LiDAR合成任务上,GS-LiDAR不仅在模拟质量方面超越了最先进方法LiDAR4D,同时在训练速度和渲染速度上也具有明显优势。

在KITTI-360和nuScenes这两个主流数据集上进行了广泛的实验评估:
- 在静态场景测试中,在KITTI-360数据集上比当前最优方法LiDAR4D降低了10.7% 的均方根误差(RMSE)。
- 在动态场景中,在KITTI-360和nuScenes数据集上分别降低了11.5%和13.1%的RMSE,显著优于LiDAR4D。此外,相较于以往的基于NeRF的方法,在训练速度上提升了1.67倍,而在渲染LiDAR新视角的速度上提升了31倍。
项目链接:https://github.com/fudan-zvg/GS-LiDAR
主要贡献
- 提出了GS-LiDAR,一个新颖的可微分框架,用于生成逼真的LiDAR点云。
- 采用具有周期性振动特性的二维高斯基元,实现对动态环境中各种物体和元素的精确几何重建。
- 引入了一种全新的全景渲染技术,基于二维高斯基元和几何精确的光线-点绘交互,所渲染的全景深度图受真实LiDAR数据监督。
- 大量实验表明,我们的方法在定量指标、视觉质量、训练和渲染速度方面均优于现有方法。
具体方法
GS-LiDAR是一种基于高斯喷溅生成逼真 LiDAR 点云的新框架。为了实现几何精确的重建,并对静态和动态元素进行建模,采用具有周期性振动特性的二维高斯基元 作为场景表示。为了利用 LiDAR 监督信息,提出了一种创新的 全景渲染技术,结合 显式光线-点绘交互。详细描述 LiDAR 建模方法,包括 深度图(depth maps)、强度图(intensity maps) 和 光线丢失概率图(ray-drop probability maps) 的渲染过程。最后,讨论优化场景所使用的各类损失函数。图 2 展示了我们的整体管线。

预备知识:三维高斯喷溅

具有周期性振动的二维高斯基元

全景高斯喷溅
LiDAR 通过发射激光脉冲并测量其飞行时间(ToF)来确定物体距离,同时记录返回光的强度信息。旋转式 LiDAR 具有 360 度水平视场角(FOV) 和有限的 垂直视场角,使其能够以特定的角分辨率感知周围环境。LiDAR 坐标系的角度配置如图 3 所示。


全景光栅化(Panoramic Rasterization)
为了高效渲染全景深度图,我们采用基于瓦片(tile-based)的排序和渲染方法。首先,将极坐标坐标系转换为像素坐标系,然后将像素划分为小瓦片(tiles)。在每个瓦片中,我们按照到 LiDAR 原点的距离对高斯基元进行排序,并依次计算 Alpha 值和深度。

图 4 详细展示了 光线-高斯喷溅交互过程 以及 全景光栅化 方法:
- (a) 基于瓦片的排序和渲染:在全景光栅化过程中,我们首先将光线投影到像素空间,并按照距离排序,以确保正确的渲染顺序。
- (b) 像素渲染:对于每个像素,我们计算光线与高斯基元的交点,并根据交点的 Alpha 值和深度进行渲染,以保持几何一致性。
LiDAR 渲染
在 LiDAR 新视角合成任务中,LiDAR 传感器获取的点云数据通常包括 深度信息 和 强度信息,这些数据可以投影到 全景深度图 和 全景强度图。为了模拟 LiDAR 传感器的工作方式,我们为每个高斯基元赋予 视角相关的强度值(intensity) 和 光线丢失概率(ray-drop probability),并分别渲染 深度图、强度图 和 光线丢失概率图。
深度图


损失函数
为了保证生成的 LiDAR 点云在几何结构上与真实数据保持一致,并确保渲染出的深度、强度以及光线丢失特性符合真实物理规律,我们设计了一系列损失函数来优化 GS-LiDAR 生成的结果。
深度损失


实验效果






总结一下
GS-LiDAR是一个用于生成逼真LiDAR点云的新框架。为了在驾驶场景中统一建模各种元素的真实表面,采用了具有周期性振动特性的二维高斯基元。此外,提出了一种新的全景高斯点绘技术,该技术利用显式的光线-点绘交互,实现了快速、高效的全景深度图渲染。通过将强度信息和光线丢失的球谐系数(SH)嵌入高斯基元中,提高了渲染点云的真实性,使其更接近真实的LiDAR数据。实验结果表明,在KITTI-360和nuScenes数据集上,该方法在计算速度和仿真质量方面均显著优于现有的基于NeRF的方法。
参考
[1] GS-LiDAR: Generating Realistic LiDAR Point Clouds with Panoramic Gaussian Splatting

发表回复