S3Gaussian
Official Implementation of Self-Supervised Street Gaussians for Autonomous Driving
Install / Use
/learn @nnanhuang/S3GaussianREADME
<i>S</i><sup>3</sup>Gaussian: Self-Supervised Street Gaussians for Autonomous Driving
Paper | Project Page
<i>S</i><sup>3</sup>Gaussian: Self-Supervised Street Gaussians for Autonomous Driving
Nan Huang*<sup>§</sup>, Xiaobao Wei*, Wenzhao Zheng<sup>†</sup>, Pengju An, Ming Lu, Wei Zhan, Masayoshi Tomizuka, Kurt Keutzer, Shanghang Zhang<sup>‡</sup>
* Equal contribution § Work done while interning at UC Berkeley † Project leader ‡ Corresponding author
<i>S</i><sup>3</sup>Gaussian employs 3D Gaussians to model dynamic scenes for autonomous driving without other supervisions (e.g., 3D bounding boxes).

News
- [2026/1/31] <i>S</i><sup>3</sup>Gaussian has been accepted by ICRA 2026.
- [2025/7/9] 🚀 Check out our new work EMD (ICCV2025): a plug-and-play module for street reconstruction.
- [2024/5/31] Paper released on arXiv.
- [2023/5/31] Training & evaluation code release!
Demo

Overview

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.
Results

Getting Started
Environmental Setups
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 --recursive
cd S3Gaussian
conda create -n S3Gaussian python=3.9
conda activate S3Gaussian
pip install -r requirements.txt
pip install -e submodules/depth-diff-gaussian-rasterization
pip install -e submodules/simple-knn
Preparing Dataset
Follow detailed instructions in Prepare Dataset.
We only use dynamic32 and static32 split.
Training
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:
python train.py -s $data_dir --port 6017 --expname "waymo" --start_checkpoint "$ckpt_dir/chkpnt_fine_30000.pth" --model_path $model_path
For more scripts examples, please check here.
Evaluation and Visualization
You can visualize and eval a checkpoints follow:
python train.py -s $data_dir --port 6017 --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.
Acknowledgments
Credits to @Korace0v0 for building 3D Gaussians for street scenes. Many thanks!
Special thanks to StreetGaussians for sharing visualization results!
Our code is based on 4D Gaussians and EmerNeRF.
Thanks to these excellent open-sourced repos!
Citation
If you find this project helpful, please consider citing the following paper:
@inproceedings{huang2026s3gaussian,
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},
booktitle={Proceedings of the IEEE International Conference on Robotics and Automation (ICRA)},
year={2026},
}
Related Skills
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
