sjtuchenye / FoldingNet

This is the implementation for FoldingNet——an autoencoder for point cloud in PyTorch.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FoldingNet: Point Cloud Auto-encoder via Deep Grid Deformation

This is an implementation for FoldingNet in PyTorch. FoldingNet is a autoencoder for point cloud. As for the details of the paper, please reference on arXiv.

Environment

  • Ubuntu 18.04 LTS
  • Python 3.8.5
  • CUDA 10.1.243
  • PyTorch 1.7.0

Reconstruction on ShapeNet

In order to train the model to do the reconstruction, use the command:

python train_ae.py --batch_size <batch_size> --epochs <epochs> --lr <lr> --weight_decay <weight_decay> --num_workers <num_workers>

In order to evaluate the model, see the evaluation_ae.py

Transfer Classification on ModelNet40

I train the AutoEncoder on ShapeNet and use the encoder to extract the features of point clouds of training set of ModelNet40. I train a SVM on the features extracted from ModelNet40's training dataset and evaluate the svm on the testing dataset of ModelNet40.

Accuracy Overall 79.82%
Precision 92.42%
Recall 81.08%
F1-Score 86.38%
category precision recall f1-score support
0 1.0000 1.0000 1.0000 100
1 0.9762 0.8200 0.8913 50
2 0.9400 0.9400 0.9400 100
3 0.6500 0.6500 0.6500 20
4 0.9300 0.9300 0.9300 100
5 0.9574 0.9000 0.9278 100
6 0.8333 1.0000 0.9091 20
7 0.9896 0.9500 0.9694 100
8 0.9896 0.9500 0.9694 100
9 0.9444 0.8500 0.8947 20
10 0.7500 0.4500 0.5625 20
11 0.7778 0.7000 0.7368 20
12 0.7586 0.7674 0.7630 86
13 0.8261 0.9500 0.8837 20
14 0.8000 0.7442 0.7711 86
15 0.0000 0.0000 0.0000 20
16 0.9125 0.7300 0.8111 100
17 1.0000 0.9500 0.9744 100
18 0.9500 0.9500 0.9500 20
19 0.8750 0.7000 0.7778 20
20 1.0000 1.0000 1.0000 20
21 0.9787 0.9200 0.9485 100
22 0.9794 0.9500 0.9645 100
23 0.7812 0.5814 0.6667 86
24 0.9286 0.6500 0.7647 20
25 1.0000 0.7200 0.8372 100
26 0.9153 0.5400 0.6792 100
27 1.0000 0.2000 0.3333 20
28 0.9663 0.8600 0.9101 100
29 0.9167 0.5500 0.6875 20
30 0.9796 0.9600 0.9697 100
31 0.8462 0.5500 0.6667 20
32 0.7692 0.5000 0.6061 20
33 0.8913 0.8200 0.8542 100
34 0.8000 0.8000 0.8000 20
35 1.0000 0.9400 0.9691 100
36 0.9367 0.7400 0.8268 100
37 0.8452 0.7100 0.7717 100
38 1.0000 0.5000 0.6667 20
39 0.7500 0.4500 0.5625 20
micro avg 0.9242 0.8108 0.8638 2468
macro avg 0.8786 0.7468 0.7949 2468
weighted avg 0.9172 0.8108 0.8542 2468
samples avg 0.8002 0.8108 0.8037 2468

Examples

Examples

About

This is the implementation for FoldingNet——an autoencoder for point cloud in PyTorch.


Languages

Language:Python 70.6%Language:C++ 16.3%Language:Cuda 13.2%