文章标题:S3Gaussian: Self-Supervised Street Gaussians for Autonomous Driving
街道场景的逼真3D重建是开发自动驾驶现实世界模拟器的一项关键技术。尽管神经辐射场(NeRF)在驾驶场景中具有有效性,但由于3D高斯Splatting(3DGS)的速度更快且表示更明确,它成为了一个有前景的方向。然而,大多数现有的street 3DGS方法需要跟踪的3D车辆bounding box来分解静态和动态元素以实现有效重建,这限制了它们在户外场景和开集中的应用。为了在没有昂贵标注的情况下实现高效的3D场景重建,这里提出了一种自监督街道高斯(S3Gaussian)方法,用于从4D一致性中分解动态和静态元素。使用3D高斯来表示每个场景以保持其明确性,并进一步用时空场网络来紧凑地建模4D动态。在Waymo-Open数据集上进行了广泛的实验,以评估提出的方法有效性。S3Gaussian展示了分解静态和动态场景的能力,并在不使用3D注释的情况下取得了最佳性能。
本文主要介绍其代码的环境配置和运行方式。
1. 环境配置
1.1. 下载代码
git clone https://github.com/nnanhuang/S3Gaussian.git --recursive
1.2. 创建环境
cd S3Gaussian
conda create -n S3Gaussian python=3.9
conda activate S3Gaussian
1.3. 安装pytorch
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
1.4. 安装依赖库
pip install -r requirements.txt
pip install -e submodules/depth-diff-gaussian-rasterization
pip install -e submodules/simple-knn
2. 数据准备
2.1. 数据下载
# Create the data directory or create a symbolic link to the data directory
mkdir -p [your path]/waymo/raw
mkdir -p [your path]/waymo/processed
2.2. 数据处理
python preprocess_main.py --data_root [your path]/waymo/raw --target_dir [your path]/waymo/processed --split training --process_keys images lidar calib pose dynamic_masks --workers 2 --scene_ids 114 700
3. 运行
3.1. 训练
python train.py -s "[your path]/waymo/processed/training/114" --expname "waymo" --model_path "[your path]/waymo/model"
3.2. 推理
参考文献
https://github.com/nnanhuang/S3Gaussian/tree/main?tab=readme-ov-file