Shape Classification

May 10, 2022 ยท View on GitHub

This repo contains the code and configuration files for shape classification.

  • A Unified Query-based Paradigm for Point Cloud Understanding (paper)

Acknowledgements

  • This implementation is modified from Pytorch_PointNet++. We thank the author for providing such a well-organized codebase.

Results and Models

Note. All models below are trained with 1 1080TI GPU, follow EQ-Paradigm and use a Q-Net to enable a free combination between backbones and heads. (*) means the improvement compared to the model with its original backbone network without Q-Net.

ModelNet40 Classification Model

BackboneAccuracydownload
EQ-PointNet++PointNet++ (SSG)93.18 (+0.98)model

More models

Performance of other backbones supported in this codebase will be released soon.

Getting Started

Data Preparation

Download alignment ModelNet here and save in data/modelnet40_normal_resampled/.

Training

You can run different modes with following codes.

  • If you want to use offline processing of data, you can use --process_data in the first run. You can download pre-processd data here and save it in data/modelnet40_normal_resampled/.
cd /path/to/DeepVision3D/DVClassification
python train_classification.py --config config/eqpointnet2.yaml

Testing

cd /path/to/DeepVision3D/DVClassification
python test_classification.py --config config/eqpointnet2.yaml

For testing our provided model:

cd /path/to/DeepVision3D/DVClassification
python test_classification.py --config config/eqpointnet2.yaml --ckpt /path/to/eqpointnet2_modelnet40.pth