UPDATE: Pre-trained models of ablation study and DGCNN code will be released SOON...
This code submission is to reproduce 3D Shape Classification results of PointNet++ with PatchAugment on ModelNet40 dataset.
unzip PatchAugment.zip cd PatchAugment
Ubuntu 18.04
Python 3.8.3
Pytorch 1.7.0
The train script downloads the ModelNet40 dataset (make sure it is in data folder)
https://shapenet.cs.stanford.edu/media/modelnet40_ply_hdf5_2048.zip
Training
--------
python train_cls.py --model pointnet2_cls_ssg --log_dir log
uncomment layer in the model file for full model training
Testing
-------
python test_cls.py --log_dir logSA
3D classification accuracy on PointNet++ single SA with our PatchAugment is 93.0%
halimacc/pointnet3
fxia22/pointnet.pytorch
charlesq34/PointNet
charlesq34/PointNet++
Note: This code has been heaviy borrowed from https://github.com/yanx27/Pointnet_Pointnet2_pytorch Also, the original code only includes scaling and translation from conventional data augmentation(using the aligned modelnet40 dataset). Hence the reported accuracies are higher. With all DA the accuracy drops(classification without normals on SSG model). However, in our method PatchAugment boosts the overall accuracy using all Data Augmentations at patch level instead of object level. Also, we use unaligned modelnet40 dataset.
To cite our paper please use below bibtex.
@inproceedings{sheshappanavar2021patchaugment,
title={PatchAugment: Local Neighborhood Augmentation in Point Cloud Classification},
author={Sheshappanavar, Shivanand Venkanna and Singh, Vinit Veerendraveer and Kambhamettu, Chandra},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={2118--2127},
year={2021}
}