/object-intrinsics

(CVPR 2023) Seeing a Rose in Five Thousand Ways

Primary LanguagePython

Seeing a Rose in Five Thousand Ways

arXiv | Project Page

Yunzhi Zhang, Shangzhe Wu, Noah Snavely, Jiajun Wu. CVPR 2023.

teaser

Install Dependencies

Create a conda environment:

conda create -n objint python=3.9
conda activate objint

Install pytorch based on your CUDA version, and other dependencies:

conda install pytorch torchvision pytorch-cuda=11.7 -c pytorch -c nvidia
pip install omegaconf tensorboard scipy opencv-python matplotlib imageio[ffmpeg]
pip install -e .

Training

Under the project root directory, launch training on one GPU with:

python scripts/train.py -d data/example

Launch training on one or more GPUs with:

torchrun --standalone --nnodes=1 --nproc_per_node=YOUR_NUM_GPUS scripts/train.py -d data/green_crane

Checkpoints and tensorboard files will be saved under logs.

Inference

python scripts/test.py -p YOUR_EXP_DIR

Append --force-update if you want to recompute the results.

After 100k iterations, which takes around 12 hours on 2 GeForce RTX 3090 GPUs, you should be able to see the following results after running python scripts/test.py -p logs/_data_example -depth 16:

Input Appearance Normal Shading

Acknowledgement

Some code is borrowed from NeuS, StyleSDF, GIRAFFE, and StyleGAN2-ADA. Thanks for their amazing works!

Citation

If you find this work useful, please cite our paper:

@InProceedings{zhang2023rose,
  author    = {Yunzhi Zhang and Shangzhe Wu and Noah Snavely and Jiajun Wu},
  title     = {Seeing a Rose in Five Thousand Ways},
  booktitle = {CVPR},
  year      = {2023}
}