Giter VIP home page Giter VIP logo

cf-3dgs's Introduction

COLMAP-Free 3D Gaussian Splatting

Yang Fu · Sifei Liu · Amey Kulkarni · Jan Kautz
Alexei A. Efros · Xiaolong Wang

Logo

Installation

(Recommended)

The codes have been tested on python 3.10, CUDA>=11.6. The simplest way to install all dependences is to use anaconda and pip in the following steps:

conda create -n cf3dgs python=3.10
conda activate cf3dgs
conda install conda-forge::cudatoolkit-dev=11.7.0
conda install pytorch==2.0.0 torchvision==0.15.0 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install -r requirements.txt

Dataset Preparsion

DATAROOT is ./data by default. Please first make data folder by mkdir data.

Tanks and Temples

Download the data preprocessed by Nope-NeRF as below, and the data is saved into the ./data/Tanks folder.

wget https://www.robots.ox.ac.uk/~wenjing/Tanks.zip

CO3D

Download our preprocessed data, and put it saved into the ./data/co3d folder.

Run

Training

python run_cf3dgs.py -s data/Tanks/Francis \ # change the scene path
                     --mode train \
                     --data_type tanks

Evaluation

# pose estimation
python run_cf3dgs.py --source data/Tanks/Francis \
                     --mode eval_pose \
                     --data_type tanks \
                     --model_path ${CKPT_PATH} 
# by default the checkpoint should be store in "./output/progressive/Tanks_Francis/chkpnt/ep00_init.pth"

# novel view synthesis
python run_cf3dgs.py --source data/Tanks/Francis \
                     --mode eval_nvs \
                     --data_type tanks \
                     --model_path ${CKPT_PATH} 

Run on your own video

  • To run CF-3DGS on your own video, you need to first convert your video to frames and save them to ./data/$CUSTOM_DATA/images/

  • Camera intrincics can be obtained by running COLMAP (check details in convert.py). Otherwise, we provide a heuristic camera setting which should work for most landscope videos.

  • Run the following commands:

python run_cf3dgs.py -s ./data/$CUSTOM_DATA/ \ # change to your data path
                     --mode train \
                     --data_type custom

You can change the depth estimator:

python run_cf3dgs.py -s ./data/$CUSTOM_DATA/ 
                     --mode train \
                     --data_type custom \
                     --depth_model_type depth_anything # can be one of [zoe, depth_anything, <anything>]. Anything but the first two will use MiDaS.

cf-3dgs's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.