需建两个conda环境(splinegs与unidepth_splinegs),分别用CUDA 11.7和12.1;需额外下载Depth-Anything权重放到submodules/mega-sam/Depth-Anything/checkpoints;需先运行gen_depth.sh和gen_tracks.sh生成深度与轨迹,运动掩码需参考Shape of Motion;自定义数据集支持尚未实现(T.B.D)
SplineGS
KAIST-VICLabMIT长期未更新从单目视频实时重建动态三维高斯场景,用运动自适应样条建模物体运动,解决动态场景新视角合成中运动表示不鲁棒的问题。
[CVPR'25] SplineGS: Robust Motion-Adaptive Spline for Real-Time Dynamic 3D Gaussians from Monocular Video
git clone https://github.com/KAIST-VICLab/SplineGS.git --recursive
cd SplineGS
conda create -n splinegs python=3.7
conda activate splinegs
pip install -r requirements.txtREADME未说明显存要求;环境配置使用CUDA 11.7(主环境)与CUDA 12.1(UniDepth环境),需NVIDIA GPU
从单目视频重建可实时渲染的动态3D高斯场景,用运动自适应样条建模动态
从单目视频实时重建动态三维高斯场景,用运动自适应样条建模物体运动,解决动态场景新视角合成中运动表示不鲁棒的问题。
核心能力
- 用运动自适应样条建模动态高斯运动
- 从单目视频重建动态3D高斯场景
- 支持实时渲染动态场景
- 提供Nvidia数据集训练与指标评估脚本
- 依赖UniDepth与CoTracker生成深度和轨迹
容易踩的坑
- datasetPreprocessed NVIDIA Dataset (from RoDynRF)pre-release最新正式版2025-06-01 · 2025-06-01 15:57 UTC
This is the NVIDIA Dataset split followed RoDynRF. We use this dataset as the main evaluation metric in our paper.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Jongmin Park1*, Minh-Quan Viet Bui1*, Juan Luis Gonzalez Bello1, Jaeho Moon1, Jihyong Oh2†, Munchurl Kim1† 1KAIST, South Korea, 2Chung-Ang University, South Korea *Co-first authors (equal contribution), †Co-corresponding authors
📣 News
Updates
- May 26, 2025: Code released.
- February 26, 2025: SplineGS accepted to CVPR 2025 🎉.
- December 13, 2024: Paper uploaded to arXiv. Check out the manuscript here.(https://arxiv.org/abs/2412.09982).
To-Dos
- Add DAVIS dataset configurations.
- Add custom dataset support.
- Add iPhone dataset configurations.
⚙️ Environmental Setups
Clone the repo and install dependencies:
git clone https://github.com/KAIST-VICLab/SplineGS.git --recursive
cd SplineGS
# install splinegs environment
conda create -n splinegs python=3.7
conda activate splinegs
export CUDA_HOME=$CONDA_PREFIX
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
conda install nvidia/label/cuda-11.7.0::cuda
conda install nvidia/label/cuda-11.7.0::cuda-nvcc
conda install nvidia/label/cuda-11.7.0::cuda-runtime
conda install nvidia/label/cuda-11.7.0::cuda-cudart
pip install -e submodules/simple-knn
pip install -e submodules/co-tracker
pip install -r requirements.txt
# install depth environment
conda deactivate
conda create -n unidepth_splinegs python=3.10
conda activate unidepth_splinegs
pip install -r requirements_unidepth.txt
conda install -c conda-forge ld_impl_linux-64
export CUDA_HOME=$CONDA_PREFIX
export LD_LIBRARY_PATH=$CONDA_PREFIX/lib
conda install nvidia/label/cuda-12.1.0::cuda
conda install nvidia/label/cuda-12.1.0::cuda-nvcc
conda install nvidia/label/cuda-12.1.0::cuda-runtime
conda install nvidia/label/cuda-12.1.0::cuda-cudart
conda install nvidia/label/cuda-12.1.0::libcusparse
conda install nvidia/label/cuda-12.1.0::libcublas
cd submodules/UniDepth/unidepth/ops/knn;bash compile.sh;cd ../../../../../
cd submodules/UniDepth/unidepth/ops/extract_patches;bash compile.sh;cd ../../../../../
pip install -e submodules/UniDepth
mkdir -p submodules/mega-sam/Depth-Anything/checkpoints
📁 Data Preparations
Nvidia Dataset
- We follow the evaluation setup from RoDynRF. Download the training images here and arrange them as follows:
SplineGS/data/nvidia_rodynrf
├── Balloon1
│ ├── images_2
│ ├── instance_masks
│ ├── motion_masks
│ └── gt
├── ...
└── Umbrella
- Download Depth-Anything checkpoint and place it at
submodules/mega-sam/Depth-Anything/checkpoints. Generate depth estimation and tracking results for all scenes as:
conda activate unidepth_splinegs
bash gen_depth.sh
conda deactivate
conda activate splinegs
bash gen_tracks.sh
- To obtain motion masks, please refer to Shape of Motion. For Nvidia dataset, we provide the precomputed in
motion_masksfolder
YOUR OWN Dataset
T.B.D
🚀 Get Started
Nvidia Dataset
Training
# check if environment is activated properly
conda activate splinegs
python train.py -s data/nvidia_rodynrf/${SCENE}/ --expname "${EXP_NAME}" --configs arguments/nvidia_rodynrf/${SCENE}.py
Metrics Evaluation
python eval_nvidia.py -s data/nvidia_rodynrf/${SCENE}/ --expname "${EXP_NAME}" --configs arguments/nvidia_rodynrf/${SCENE}.py --checkpoint output/${EXP_NAME}/point_cloud/fine_best
YOUR OWN Dataset
Training
T.B.D
Evaluation
T.B.D
Acknowledgments
- This work was supported by Institute of Information & communications Technology Planning & Evaluation (IITP) grant funded by the Korean Government [Ministry of Science and ICT (Information and Communications Technology)] (Project Number: RS-2022-00144444, Project Title: Deep Learning Based Visual Representational Learning and Rendering of Static and Dynamic Scenes, 100%).
⭐ Citing SplineGS
If you find our repository useful, please consider giving it a star ⭐ and citing our research papers in your work:
@InProceedings{Park_2025_CVPR,
author = {Park, Jongmin and Bui, Minh-Quan Viet and Bello, Juan Luis Gonzalez and Moon, Jaeho and Oh, Jihyong and Kim, Munchurl},
title = {SplineGS: Robust Motion-Adaptive Spline for Real-Time Dynamic 3D Gaussians from Monocular Video},
booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR)},
month = {June},
year = {2025},
pages = {26866-26875}
}