clinplayer / Point2Skeleton

Point2Skeleton: Learning Skeletal Representations from Point Clouds (CVPR2021)
MIT License
211 stars 38 forks source link

Point2Skeleton

This repository contains the source code for the CVPR 2021 oral paper Point2Skeleton: Learning Skeletal Representations from Point Clouds, where we introduce an unsupervised method to generate skeletal meshes from point clouds.

<img src="doc/point2skeleton.jpg" width="70% height="70%"/>

Skeletal Mesh

We introduce a generalized skeletal representation, called skeletal mesh. Several good properties of the skeletal mesh make it a useful representation for shape analysis:

<img src="doc/skeletal_mesh.jpg" width="70% height="70%"/>

Code

Installation

You need to install PyTorch, NumPy, and TensorboardX (for visualization of training). This code is tested under Python 3.7.3, PyTorch 1.1.0, NumPy 1.16.4 on Ubuntu 18.04.

To setup PointNet++, please use:

pip install -r requirements.txt
cd src/pointnet2
python setup.py build_ext --inplace

Training

Testing

Download

Acknowledgement

We would like to acknowledge the following projects:

Unsupervised Learning of Intrinsic Structural Representation Points

Pointnet++ PyTorch

Graph Convolution

Citation

If you find our work useful in your research, please consider citing:

@InProceedings{Lin_2021_CVPR,
    author    = {Lin, Cheng and Li, Changjian and Liu, Yuan and Chen, Nenglun and Choi, Yi-King and Wang, Wenping},
    title     = {Point2Skeleton: Learning Skeletal Representations from Point Clouds},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2021},
    pages     = {4277-4286}
}

Contact

If you have any questions, please email Cheng Lin at chlin@connect.hku.hk.