What is Point Cloud?

Introduction

We depict the surface of the object with points, and memorize the coordinates of the points

Pros and Cons

Pros:

  • Can represent fine structures without huge numbers of points

Cons:

  • Point clouds are just scattered points, they don’t contain information about
    • Which points are connected to each other
    • What’s the actual surface look like

Tasks

Processing Point Cloud Inputs: PointNet

  1. First, we process every coordinate one by one with the same fully-connected network
  2. Next, we do max pooling on the outputs
  3. Eventually, we pass the feature vector into fully-connected network and output class scores

Processing the coordinates one by one can avoid the order of the coordinate affect the result

Generating Point Cloud Outputs

1. Feature Extraction

We use 2D CNN to extract feature from input image

2.1 Fully Connected Branch

  • We straighten the image features and send it into fully connected network to predict fix number of points ()
  • Fully connected network is good at learning the overall structure of the object, but bad at predicting the detail of the object

2.2 Convolutional Branch

  • We send image features into 2D CNN to predict points for every spatial position ()
  • Convolutional layer, on the other hand, is good at predicting details of the object

3. Output Aggregation

Finally, we combine the points predicted by fully connected network and CNN to get the final output


Loss Function: Chamfer Distance

Requirement

We need a way to compare the point clouds as sets. That is, we don’t want the order we memorize the coordinate affect the final result

Chamfer Distance

subscript 2 means square root

i.e.