dvlab-research / TriVol

The official code of TriVol in CVPR-2023

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TriVol: Point Cloud Rendering via Triple Volumes

This is the source code of "TriVol: Point Cloud Rendering via Triple Volumes" (CVPR-2023).

Requirements (Tested on 4 * RTX3090)

  • Linux
  • Python == 3.8
  • Pytorch == 1.13.0
  • CUDA == 11.7

Installation

Install from environment.yml

You can directly install the requirements through:

$ conda env create -f environment.yml

Or install packages seperately

  • Create Environment

    $ conda create --name trivol python=3.8
    $ conda activate trivol
  • Pytorch (Please first check your cuda version)

    $ conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.7 -c pytorch -c nvidia
  • NerfAcc

    $ pip install git+https://github.com/KAIR-BAIR/nerfacc.git
  • torch_scatter

    pip install torch-scatter -f https://data.pyg.org/whl/torch-1.13.0+cu117.html
  • Other python packages: open3d, opencv-python, etc.

Training

Training on the ShapeNet Car dataset

  • Dataset: Download our processed ShapeNet Car from HuggingFace.

  • Run: we recommand you run the code in multi-gpu mode.

    $ conda activate trivol
    $ python train.py \
            --scene_dir /path/to/shapenet \
            --dataset shapenet \
            --val_mode val \
            --max_epochs 200 \
            --lr 0.0005 \
            --batch_size 1 \
            --ngpus 4 \
            --feat_dim 16 \
            --patch_size 64 \
            --exp_name shapenet_car
  • example results

Training on the ScanNet dataset

  • Dataset: Download and extract data from original ScanNet-V2 preprocess.

    Dataset structure:

    ── scannet
      └── scene0000_00
          ├── pose
                └──1.txt
           ├── intrinsic
                └──*.txt
          ├── color
                 └──1.jpg
          └── scene0000_00_vh_clean_2.ply
          └── images.txt
      └── scene0000_01
    
  • Run: we recommand you run the code in multi-gpu mode.

    $ conda activate trivol
    $ python train.py \
            --scene_dir /path/to/scannet \
            --dataset scannet \
            --val_mode val \
            --max_epochs 500 \
            --lr 0.0005 \
            --batch_size 1 \
            --ngpus 4 \
            --feat_dim 16 \
            --patch_size 32 \
            --exp_name scannet
  • example results

Contact

Tao Hu - taohu@cse.cuhk.edu.hk

Citation

@InProceedings{Hu_2023_CVPR,
    author    = {Hu, Tao and Xu, Xiaogang and Chu, Ruihang and Jia, Jiaya},
    title     = {TriVol: Point Cloud Rendering via Triple Volumes},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2023},
    pages     = {20732-20741}
}

About

The official code of TriVol in CVPR-2023


Languages

Language:Python 100.0%