Home

Awesome

SPHNet

This is our implementation of SPHNet, a rotation invariant deep learning architecture for point clouds analysis.

Prerequisites

How to train ?

The code proposes two settings: classification and segmentation

Classification

The file classification_dataset.py in the data_providers folder allows you to specify a dataset for shape classification as a dictionary containing:

Preprocessing functions can be found in utils/pointclouds_utils.py, (random scaling / rotation, kd_tree indexing ...). Finally add the dataset dictionary to the datasets list.

Indicate a path for saving the results (RESULTS_DIR) and models (MODELS_DIR) in train_classification.py and run the script to train the network.

Segmentation

Segmentation datasets are specified similarly in data_providers/segmentation_datasets.py you need to specify the number of parts. You can specify a path to save the results and trained models as well as the predicted labels for the test set (PRED_DIR), run the script to train the network on the segmentation dataset.

Data

Citation

If you use our work, please cite our paper.

@article{poulenard2019effective,
  title={Effective Rotation-invariant Point CNN with Spherical Harmonics kernels},
  author={Poulenard, Adrien and Rakotosaona, Marie-Julie and Ponty, Yann and Ovsjanikov, Maks},
  journal={arXiv preprint arXiv:1906.11555},
  year={2019}
}