0
$\begingroup$

I couldn't find out how to interpret the multilayer perceptron notation given in PointNet. Specifically, I am looking to find out what the numbers inside the parentheses of mlp(64,64) and mlp(64,128,1024) actually mean.

(I also have a 2nd question about PointNet MLP architecture, which I ask towards the end.)

Here's what I found online, which I believe applies:

  1. https://towardsdatascience.com/deep-learning-on-point-clouds-implementing-pointnet-in-google-colab-1fd65cd3a263

    There's a paragraph here that says

    In this case MLP with shared weights is just 1-dim convolution with a kernel of size 1.

    Here, a link is provided to explain more about the 1-dim convolution...

    https://jdhao.github.io/2017/09/29/1by1-convolution-in-cnn/

    ...and I follow this pretty well.

  2. There's also this Matlab example...

    https://www.mathworks.com/help/vision/ug/point-cloud-classification-using-pointnet-deep-learning.html

    ...which tells me to

    set the classifier model input size to 64 and the hidden channel size to 512 and 256 and use the initalizeClassifier helper function...to initialize the model parameters.

    inputChannelSize = 64; hiddenChannelSize = [512,256];

  3. Then there's this link: https://www.researchgate.net/figure/Network-architecture-The-numbers-in-parentheses-indicate-number-of-MLP-layers-and_fig2_327068615

    ...in which they say,

    The numbers in parentheses indicate number of MLP layers

    but this is, in my opinion, not written very well. Do they mean,

    The notation mlp(64,64,128,256) means that the MLP has 4 layers, and each layer produces an output with 64, 64, 128, and 256 channels, respectively?

Here are my 2 questions about PointNet MLP notation / architecture:

  • What do each of the numbers in something like mlp(64,64,128,256) actually mean, and what do their positions mean? Are these numbers ONLY referring to the hidden layers, which includes the output layer? Also, are they referring to the number of channels, akin to the depth-wise feature layers of a CNN?

  • Finally, if your input is nx3 (as in, n (x,y,z) points), does this mean that the PointNet MLP takes an input of 1x3, meaning 1 input neuron, or 3 input neurons?

$\endgroup$
1
  • $\begingroup$ Hello. This post was created more than 1 week ago, but it may be a good idea to split this post into 2, one for each of your 2 main questions/issues, so that people can focus on one problem at a time, but, in this case, this may not be strictly necessary, as the questions are very related, i.e. about the notation used in the context of PointNets. It's your choice. $\endgroup$
    – nbro
    Commented Sep 18, 2021 at 14:09

1 Answer 1

4
$\begingroup$

The following link satisfied my inquiries:

https://www.mdpi.com/1999-4907/12/2/131/htm

Illustration of PointNet MLP Layers

I hope this is useful for someone else! Justin

$\endgroup$
1
  • 1
    $\begingroup$ useful diagram, had the same question myself. +1 $\endgroup$
    – jeb2
    Commented Jun 21, 2022 at 14:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .