PointNetってなんぞや?

Point Cloudの3次元情報からClassification、Part Segmentation、Semantic Segmentation出来るPointNet。
2DのSemantic Segmentationをある程度知っていると理解しやすいかも。
アルゴリズム

input transform
T-Netで3x3のRotation Matrixを推定し、掛ける事でPoint Cloud全体を回転させることが出来る。
入力のPoint Cloudが回転しててもT-NetでRotation Matrixを求める事で、物体をいつも同じ姿勢(正面を向けるなど)に変換出来る。
そうやって正規化するのね。
Feature transform
input transformの特徴量版。
max pool
point全体から特徴量の一番高い値だけを抽出する。
classificatiopn
図のglobal featureをMLPに入力すれば、入力Point Cloudがなんの物体かClassification出来るのね。
segmentation
global featureとpoint cloud1つ1つのlocal featureを結語してMLPで学習させれば、3DのSemantic segmentationが出来る。
結論
・適当な自分はFully Connectedを重ねれば良いんじゃねっと思っていたのだが、そんな単純ではないのね。
・point cloudの順番によらなく、GlobalとLocalの情報を得られるようにする事がミソっぽい
参考文献
PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
https://arxiv.org/pdf/1612.00593.pdf