2
$\begingroup$

I am trying to understand the PointNet network for dealing with point clouds and struggling with understanding the difference between FC and MLP:

"FC is fully connected layer operating on each point. MLP is multi-layer perceptron on each point."

I understand how fully connected layers are used to classify and I previously thought, was that MLP was the same thing but it seems varying academic papers have a differing definition from each other and from general online courses. In PointNet what is meant by a shared MLP different to a standard feedforward fully connected network?

PointNet Network Architecture

$\endgroup$
0
0
$\begingroup$

An MLP is just a fully-connected feedforward neural net. In PointNet, a shared MLP means that you are applying the exact same MLP to each point in the point cloud.

Think of a CNN's convolutional layer. There you apply the exact same filter at all locations, and hence the filter weights are shared or tied. If they were not shared, you'd have potentially different filters (MLPs) at each pixel (point), updating independently.

As an example, let $f_\theta$ be an MLP with parameters $\theta$. Say we have a 3D point cloud $[\vec{x}_1,\ldots,\vec{x}_n]\subseteq \mathbb{R}^3$. If we apply $f_\theta$ as a shared MLP in the way PointNet describes, the result would be $[f_\theta(\vec{x}_1),\ldots,f_\theta(\vec{x}_n)]$.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.