DrivingForward: Feed-forward 3D Gaussian Splatting for Driving Scene Reconstruction from Flexible Surround-view Input
Qijian Tian1 · Xin Tan2 · Yuan Xie2 · Lizhuang Ma1
1Shanghai Jiao Tong University
2East China Normal University
We propose a feed-forward Gaussian Splatting model that reconstructs driving scenes from flexible sparse surround-view input.
Given sparse surround-view input from vehicle-mounted cameras, our model learns scale-aware localization for Gaussian primitives from the small overlap of spatial and temporal context views. A Gaussian network predicts other parameters from each image individually. This feed-forward pipeline enables the real-time reconstruction of driving scenes and the independent prediction from single-frame images supports flexible input modes. At the inference stage, we include only the depth network and the Gaussian network, as shown in the lower part of the figure.
To get started, clone this project, create a conda virtual environment using Python 3.8, and install the requirements:
git clone https://github.com/fangzhou2000/DrivingForward
git submodule update --init --recursive
cd DrivingForward
conda create -n DrivingForward python=3.8
conda activate DrivingForward
pip install torch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 --index-url https://download.pytorch.org/whl/cu113
pip install -r requirements.txt
cd models/gaussian/gaussian-splatting
pip install submodules/diff-gaussian-rasterization
cd ../../..
- Download nuScenes official dataset
- Place the dataset in
input_data/nuscenes/
Data should be as follows:
├── input_data
│ ├── nuscenes
│ │ ├── maps
│ │ ├── samples
│ │ ├── sweeps
│ │ ├── v1.0-test
│ │ ├── v1.0-trainval
Get the pretrained models, save them to the root directory of the project, and unzip them.
For SF mode, run the following:
python -W ignore eval.py --weight_path ./weights_SF --novel_view_mode SF
For MF mode, run the following:
python -W ignore eval.py --weight_path ./weights_MF --novel_view_mode MF
For SF mode, run the following:
python -W ignore train.py --novel_view_mode SF
For MF mode, run the following:
python -W ignore train.py --novel_view_mode MF
@inproceedings{tian2025drivingforward,
title={DrivingForward: Feed-forward 3D Gaussian Splatting for Driving Scene Reconstruction from Flexible Surround-view Input},
author={Qijian Tian and Xin Tan and Yuan Xie and Lizhuang Ma},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
year={2025}
}
The project is partially based on some awesome repos: MVSplat, GPS-Gaussian, and VFDepth. Many thanks to these projects for their excellent contributions!