SplineGS

KAIST-VICLabMIT长期未更新

从单目视频实时重建动态三维高斯场景,用运动自适应样条建模物体运动,解决动态场景新视角合成中运动表示不鲁棒的问题。

[CVPR'25] SplineGS: Robust Motion-Adaptive Spline for Real-Time Dynamic 3D Gaussians from Monocular Video

dataset发布于 2025-06-01 15:57 UTC202star27fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
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.txt
硬件要求按 README 说明

README未说明显存要求;环境配置使用CUDA 11.7(主环境)与CUDA 12.1(UniDepth环境),需NVIDIA GPU

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

从单目视频重建可实时渲染的动态3D高斯场景,用运动自适应样条建模动态

从单目视频实时重建动态三维高斯场景,用运动自适应样条建模物体运动,解决动态场景新视角合成中运动表示不鲁棒的问题。

核心能力

  • 用运动自适应样条建模动态高斯运动
  • 从单目视频重建动态3D高斯场景
  • 支持实时渲染动态场景
  • 提供Nvidia数据集训练与指标评估脚本
  • 依赖UniDepth与CoTracker生成深度和轨迹

容易踩的坑

需建两个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)

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

1 个版本dataset
  1. 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.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    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

    1. 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
    
    1. 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
    
    1. To obtain motion masks, please refer to Shape of Motion. For Nvidia dataset, we provide the precomputed in motion_masks folder

    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}
    }
    

    📈 Star History

    Star History Chart