Coder Social home page Coder Social logo

biesseck / meta-pu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pleaseconnectwifi/meta-pu

0.0 0.0 0.0 213 KB

Meta-PU: An Arbitrary-Scale Upsampling Network for Point Cloud (TVCG 2021)

C++ 10.01% Python 81.56% Cuda 7.34% CMake 0.39% C 0.69%

meta-pu's Introduction

BERNARDO INSTRUCTIONS

conda install pytorch torchvision cudatoolkit=11.3 -c pytorch

pip install -r requirements.txt

export CUDA_HOME=/usr/local/cuda-11.3 && sudo $(which python) setup.py build_ext --inplace

# sudo $(which pip) install -e .

sudo $(which pip) install -e . --target=/conda/anaconda3/envs/bjgbiesseck_Meta-PU_biesseck_python3.7/lib/python3.7/site-packages

sudo chown -R $(whoami) ./* && sudo chgrp -R $(whoami) ./*


Meta-PU: An Arbitrary-Scale Upsampling Network for Point Cloud

Point cloud upsampling is vital for the quality of the mesh in three-dimensional reconstruction. Recent research on point cloud upsampling has achieved great success due to the development of deep learning. However, the existing methods regard point cloud upsampling of different scale factors as independent tasks. Thus, the methods need to train a specific model for each scale factor, which is both inefficient and impractical for storage and computation in real applications. To address this limitation, in this work, we propose a novel method called ``Meta-PU" to firstly support point cloud upsampling of arbitrary scale factors with a single model. In the Meta-PU method, besides the backbone network consisting of residual graph convolution (RGC) blocks, a meta-subnetwork is learned to adjust the weights of the RGC blocks dynamically, and a farthest sampling block is adopted to sample different numbers of points. Together, these two blocks enable our Meta-PU to continuously upsample the point cloud with arbitrary scale factors by using only a single model. In addition, the experiments reveal that training on multiple scales simultaneously is beneficial to each other. Thus, Meta-PU even outperforms the existing methods trained for a specific scale factor only.

[tvcg paper]

Dataset Preparing

Put train dataset file Patches_noHole_and_collected.h5 into model/data/, you can download it from onedrive train data.

Unzip and put test dataset files all_testset.zip for variable scales into model/data/all_testset/, you can download it from onedrive test data.

Environment & Installation

This codebase was tested with the following environment configurations.

  • Ubuntu 18.04
  • CUDA 10.1
  • python v3.7
  • torch>=1.0
  • torchvision

pip install -r requirements.txt

python setup.py build_ext --inplace or: pip install -e .

Training & Testing

Train:

python main_gan.py --phase train --dataset model/data/Patches_noHole_and_collected.h5 --log_dir model/new --batch_size 8 --model model_res_mesh_pool --max_epoch 60 --gpu 0 --replace --FWWD --learning_rate 0.0001 --num_workers_each_gpu 3

  • You can easily reproduce the results in our paper with a batch size of only 8 in a single RTX 2080 Ti (11GB).

Test with scale R:

python main_gan.py --phase test --dataset model/data/all_testset/${R}/input --log_dir model/new --batch_size 1 --model model_res_mesh_pool --model_path 60 --gpu 0 --test_scale ${R}

Evaluation with scale R:

cd evaluation_code/

python evaluation_cd.py --pre_path ../model/new/result/${R}input/ --gt_path model/data/all_testset/${R}/gt

Citing Meta-PU

@article{Ye2021MetaPUAA,

title={Meta-PU: An Arbitrary-Scale Upsampling Network for Point Cloud},

author={S. Ye and Dongdong Chen and Songfang Han and Ziyu Wan and Jing Liao},

journal={IEEE transactions on visualization and computer graphics},

year={2021},

volume={PP}

}

meta-pu's People

Contributors

biesseck avatar pleaseconnectwifi avatar

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.