A re-implementation of the PointNet network in PyTorch
Python
PointNet in PyTorch
This is a PyTorch re-implementation of PointNet according to the specifications laid out in the paper with two minor differences:
I exclude the adaptive batch normalization decay rate
The trained model provided operates on pointclouds with 2000 points as opposed to 2048 (although you can re-train and change the pointcloud sizes)
Other Implementations
The official TensorFlow implementation from the authors can be found here.
Another PyTorch re-implementation can be found here.
If you use my re-implementation for your own work, please cite the original paper:
Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation."
Proc. Computer Vision and Pattern Recognition (CVPR), IEEE 1.2 (2017): 4.
Repo TO-DO's
Finish segmentation implementation
Upload the sampled ModelNet40 data
Write up how-to section
Classification Results
The pre-trained classifier model included in this repository was trained for 60 epochs with a batch size of 32 on a 2000-point-per-model sampling of ModelNet40.
Here is an graph showing the training loss over 60 epochs:
Below are the accuracy results for the included classifier model on the test set