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,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:
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...
...and I follow this pretty well.
There's also this Matlab example...
...which tells me to
set the classifier model input size to 64 and the hidden channel size to 512 and 256 and use the
initalizeClassifierhelper function...to initialize the model parameters.
inputChannelSize = 64; hiddenChannelSize = [512,256];
...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,
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
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?