Created by S.M. Moein Peyghambarzadeh,
Fatemeh Azizmalayeri,
Hassan Khotanlou,
AmirSalarpour,
Digital Signal Processing 2020 (DSP 2020), https://www.sciencedirect.com/science/article/abs/pii/S1051200419301873
We propose an alternative simple local operation, called PlaneConv, which can extract local geometric features from point clouds by learning a set of planes in Rn space. The proposed architecture tackles both point cloud classification and segmentation tasks. Moreover, each module is designed to be permutation invariant. PlaneConv has a simple theoretical analysis and is easy to incorporate into deep learning models to improve their performance.
Here we list the commands for training/evaluating PlaneNet on classification and segmentation tasks on multiple datasets.
Requirements:
- Python 3
- CUDA 8.0 or higher
- tensorflow 1.4 or higher
- Windows 10 and Ubuntu 16.04.
This code has been tested with Python 3.5, Tensorflow 1.2 and CUDA 8.0 on Ubuntu 16.04. The code have also been tested on Windows 10 with python 3.5-3.7, tensorflow 1.4(or higher), cuda 9 (or higher) and cudnn 6.0 (or higher). notice ; If u want compile with tensorflow 2.0 please change import to:
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
To train a model, firstly download the data that explain on the folder 'data'
You can get sampled point clouds of ModelNet40 (XYZ and normal from mesh, 10k points per shape) at this link.
Mnist: here.
The ShapeNetPart dataset (XYZ, normal and part labels) can be found here.
S3DIS will be added.
Uncompress the downloaded data in this directory.
If you find our work useful in your research, Please cite this paper:
@article{peyghambarzadeh2020point,
title={Point-PlaneNet: Plane kernel based convolutional neural network for point clouds analysis},
author={Peyghambarzadeh, SM Moein and Azizmalayeri, Fatemeh and Khotanlou, Hassan and Salarpour, Amir},
journal={Digital Signal Processing},
volume={98},
pages={102633},
year={2020},
publisher={Elsevier}
}
Our released code heavily based on each methods original repositories as cited below:
- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation by Qi et al. (CVPR 2017).
- PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space by Qi et al. (NIPS 2017).