This is the official repository of our paper:
[Paper] [Project page]
Toward Real-world BEV Perception: Depth Uncertainty Estimation via Gaussian Splatting
Shu-Wei Lu, Yi-Hsuan Tsai, Yi-Ting Chen.
CVPR 2025
Create the environment with conda:
# Clone repo first
git clone https://github.com/HCIS-Lab/GaussianLSS
# Create python 3.8
conda create -y --name GaussianLSS python=3.8.0
conda activate GaussianLSS
# Install pytorch 2.1.0
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121
# Install other dependencies
pip install -r requirements.txt
# Install Gaussian Splatting
# Check if your cudatoolkit's version is same as pytorch build.
cd GaussianLSS/model/diff-gaussian-rasterization
pip install -e .
Go to nuScenes and download & unzip the following data:
- Trainval
- Map expansion
After unzipping, create a link file:
mkdir data
ln -s {YOUR_NUSC_DATA_PATH} ./data/nuscenes
Generate required labels for running via:
python scripts/generate_data.py
This packs 3D bounding boxes into individual files with ego poses. It would take within 10 minutes.
If you want to run on a subset of data, you could download the v1.0-mini version of nuScenes dataset and generate labels with:
python scripts/generate_data.py data.version=v1.0-mini
To train GaussianLSS with vehicle class only:
python scripts/train.py +experiment=GaussianLSS
Or pedestrian class:
python scripts/train.py +experiment=GaussianLSS data=nuscenes_ped
And also map classes:
python scripts/train.py +experiment=GaussianLSS_map
Training an epoch would take about 15 minutes with 2 RTX4090 gpus.
Evaluate trained model with:
python scripts/evaluate.py +experiment={EXP_NAME} +ckpt={CHECKPOINT_PATH}
Run visualize.ipynb to create a gif visualization like this:
Backbone | Resolution | Visibility | IoU |
---|---|---|---|
Eff-b4 | 224x480 | 1 | 38.3 |
Eff-b4 | 224x480 | 2 | 42.8 |
- Add checkpoints.
- Add det3d code.
This implementation is mainly based on:
And Gaussian Splatting:
Thanks to these great open-source implementations!
If you find this work helpful, please consider citing our paper:
@inproceedings{lu2025GaussianLSS,
author = {Shu-Wei Lu and Yi-Hsuan Tsai and Yi-Ting Chen},
title = {Toward Real-world BEV Perception: Depth Uncertainty Estimation via Gaussian Splatting},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2025}
}