- Notifications
You must be signed in to change notification settings - Fork31
Official Implementation of Self-Supervised Street Gaussians for Autonomous Driving
License
nnanhuang/S3Gaussian
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
S3Gaussian: Self-Supervised Street Gaussians for Autonomous Driving
Nan Huang*,Xiaobao Wei,Wenzhao Zheng
$^\dagger$ , Pengju An,Ming Lu,Wei Zhan,Masayoshi Tomizuka,Kurt Keutzer,Shanghang Zhang$^\ddagger$
* Work done while interning at UC Berkeley
S3Gaussian employs 3D Gaussians to model dynamic scenes for autonomous drivingwithout other supervisions (e.g., 3D bounding boxes).
- [2025/7/9]🚀 Check out our new workEMD (ICCV2025): a plug-and-play module for street reconstruction.
- [2024/5/31] Paper released onarXiv.
- [2023/5/31] Training & evaluation code release!
To tackle the challenges in self-supervised street scene decomposition, we propose a multi-resolution hexplane-based encoder to encode 4D grid into feature planes and a multi-head Gaussian decoder to decode them into deformed 4D Gaussians. We optimize the overall model without extra annotations in a self-supervised manner and achieve superior scene decomposition ability and rendering quality.
Our code is developed on Ubuntu 22.04 using Python 3.9 and pytorch=1.13.1+cu116. We also tested on pytorch=2.2.1+cu118. We recommend using conda for the installation of dependencies.
git clone https://github.com/nnanhuang/S3Gaussian.git --recursivecd S3Gaussianconda create -n S3Gaussian python=3.9 conda activate S3Gaussianpip install -r requirements.txtpip install -e submodules/depth-diff-gaussian-rasterizationpip install -e submodules/simple-knn
Follow detailed instructions inPrepare Dataset.
We only use dynamic32 and static32 split.
For training first clip (eg. 0-50 frames), run
python train.py -s $data_dir --port 6017 --expname "waymo" --model_path $model_path
If you want to try novel view synthesis, use
--configs "arguments/nvs.py"
For instance, you can try:
python train.py -s "./data/processed/dynamic32/training/022" --expname "waymo" --model_path "./work_dirs/phase1/dynamic/recon/022"
For training next clip (eg. 51-100 frames), run
python train.py -s $data_dir --port 6017 --expname "waymo" --model_path $model_path --prior_checkpoint "$prior_dir/chkpnt_fine_50000.pth" --configs "arguments/stage2.py"
For instance, you can try:
python train.py -s "./data/processed/dynamic32/training/022" --expname "waymo" --model_path "./work_dirs/phase1/dynamic/recon/p2/022" --prior_checkpoint "./work_dirs/phase1/dynamic/recon/022/chkpnt_fine_50000.pth" --configs "arguments/stage2.py"
Also, you can load an existing checkpoint with:
pythontrain.py-s $data_dir--port6017--expname"waymo"--start_checkpoint"$ckpt_dir/chkpnt_fine_30000.pth"--model_path $model_path
For more scripts examples, please checkhere.
You can visualize and eval a checkpoints follow:
pythontrain.py-s $data_dir--port6017--expname"waymo"--start_checkpoint"$ckpt_dir/chkpnt_fine_50000.pth"--model_path $model_path--eval_only
If you use different configs, you will need to add them as well:
--configs "arguments/nvs.py"
Then you can get rendering RGB videos, ground truth RGB videos, depth videos, dynamic rgb videos and static rgb videos.
Credits to @Korace0v0 for building 3D Gaussians for street scenes. Many thanks!
Special thanks toStreetGaussians for sharing visualization results!
Our code is based on4D Gaussians andEmerNeRF.
Thanks to these excellent open-sourced repos!
If you find this project helpful, please consider citing the following paper:
@article{huang2024s3gaussian, title={S3Gaussian: Self-Supervised Street Gaussians for Autonomous Driving}, author={Huang, Nan and Wei, Xiaobao and Zheng, Wenzhao and An, Pengju and Lu, Ming and Zhan, Wei and Tomizuka, Masayoshi and Keutzer, Kurt and Zhang, Shanghang}, journal={arXiv preprint arXiv:2405.20323}, year={2024} }
About
Official Implementation of Self-Supervised Street Gaussians for Autonomous Driving
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.