KuangenZhang / ldgcnn

Linked Dynamic Graph CNN: Learning through Point Cloud by Linking Hierarchical Features
MIT License
75 stars 19 forks source link
cnn dynamic-graphs modelnet-dataset point-cloud point-cloud-classification point-cloud-segmentation shapenet-dataset

# Linked Dynamic Graph CNN: Learning through Point Cloud by Linking Hierarchical Features

We propose a linked dynamic graph CNN (LDGCNN) to classify and segment point cloud directly. We remove the transformation network, link hierarchical features from dynamic graphs, freeze feature extractor, and retrain the classifier to increase the performance of LDGCNN.

We have also uploaded the code and data to the codeocean and prepared the environment to run the code. You can run the code online and reproduce the experiments easily without installing any packages. You can view and run the code on: https://codeocean.com/capsule/0220918/tree/v1

Contact

For more related works and codes, please view my homepage: https://sites.google.com/view/kuangenzhang

Further information please contact Kuangen Zhang (kuangen.zhang@alumni.ubc.ca).

Citation

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

@article{zhang_linked_2019,
    title = {Linked dynamic graph cnn: learning on point cloud via linking hierarchical features},
    shorttitle = {Linked {Dynamic} {Graph} {CNN}},
    urldate = {2019-04-24},
    journal = {arXiv:1904.10014 [cs]},
    author = {Zhang, Kuangen and Hao, Ming and Wang, Jing and de Silva, Clarence W. and Fu, Chenglong},
    month = apr,
    year = {2019}
}

K. Zhang, M. Hao, J. Wang, C. W. de Silva, and C. Fu, “Linked dynamic graph cnn: learning on point cloud via linking hierarchical features,” arXiv:1904.10014 [cs], Apr. 2019.

Overview

LDGCNN is the improved version of Dynamic Graph CNN. We have evaluated our network on the point cloud classification dataset (ModelNet40) and segementation dataset (ShapeNet):

Requirements

Point cloud classification

Dataset

Point cloud segmentation

Enter the "part_seg" file folder.

Dataset

Load the data for part segmentation.

sh +x download_data.sh

Evaluation

We upload our trained model. You can evaluate the trained model by running:

python test.py

Train

Train the model on 2 GPUs, each with 12 GB memeory.

python train_multi_gpu.py

Model parameters with the highest validation accuracy are saved in "log/ldgcnn_seg.ckpt*".

License

MIT License

Acknowledgement

We acknowledge that we borrow the code from PointNet and DGCNN heavily. We have marked our own parts in the code, otherwise the code is borrowed from PointNet and DGCNN.

Reference