Paper: https://arxiv.org/pdf/1612.00593v2.pdf

Code: https://github.com/fxia22/pointnet.pytorch (pytorch)

Problem Definition

Like CNNs, PointNets learn a global feature vector which can be used for tasks such as classification, segmentation, point normal estimation.

Input: Point Cloud

Output: Global feature vector for each point

Architecture

pointnet-arch

Key Points

  • Each point is trained on multi layered perceptron(MLP) separately (with shared weights across points) and then the point is projected into 1024 dimension space through a series of transformations.
  • This feature vector is used in different subnetworks for different tasks such as classification, segmentation etc.

Datasets

ModelNet 40: http://modelnet.cs.princeton.edu/

ShapeNet part dataset: http://3dshapenets.cs.princeton.edu/