代表技術通信~PointNetを使い倒す⑤
![](https://sinlab.future-tech-association.org/wp-content/uploads/2020/12/ダウンロード-2.jpg)
こんばんは。代表の草場です。
PointNetに関して調べています。スタンフォード大学の方の資料、PointNet: Deep Learning on Point Sets for
3D Classification and Segmentationがとてもわかりやすかったです。
3次元の表現は、Point Cloud, Mesh, Volumetric, Projection Viewが代表的にはあります。今注目しているのは、Point Cloudです。
点群は生のセンサーデータに近い
点群はカノニカル
カノニカル、というのがすこしわかりづらいですが、物理でいうと正準、です。他のデーターから変換可能、という意味?
既存の点群機能のほとんどは、特定のタスクに向けて手作業で作られています。
点群は、ディープニューラルネットワークに供給される前に、他の表現に変換されます。
そこで、研究課題が浮かびます。
研究課題
点群上で直接効果的な特徴学習を実現できるか?
①入力として設定された無秩序な点のため、モデルはN!の順列に対して不変である必要があります。
②幾何学的変換の下での不変性があるため、Point Cloudの回転は、分類結果を変えてはいけません。
①は、わかりやすいですね。点を入れ替えても点群は変わらないです。そのため、N個の点群があるとすると、その入れ替えのパターンがN!個あるという理屈です。
f(x1, x2, x3) x1 + x2 + x3
はわかりやい例です。
ニューラルネットワークで対称関数のファミリーを構築するにはどうすればよいのでしょうか?
ここから少しわからない点。
Observe:
f (x1, x2 , …, xn ) = γ ○ g(h(x1 ),…,h(xn )) は、gが対称であれば対称である。
例えば、(1, 2, 3), (1, 1, 1), (2, 3, 1)みたいなデータを関数hに食わせます。Multi Level Perceptronのイメージですね。そして、それを関数gに食わせます。まさにパーセプトロン。そして、それをγと合成。ざっくりいうと、これがPointNetです。
では、
PointNetで構築できる対称関数にはどのようなものがあるのでしょうか?
ここで、Universal Set Function Approximatorが出てきます。Wikipediaで調べると、Universal approximation theoremが引っ掛かります。これは普遍性定理と呼ばれるもので、この@mochimochidogさんのQiitaの記事がわかりやすいかもです。
与えられた連続関数を所望の精度で近似できる入力層、隠れ層1層、出力層の合計3層のニューラルネットワークが必ず存在するよということです。
この定理のおかげで、以下の関係が成り立ちます。
Theorem:
A Hausdorff continuous symmetric function f :2^x → R can be arbitrarily approximated by PointNet.
| f(S) – γ(MAX{h(xi}) | < ε
S ⊆ R^d
γ(MAX{h(xi})がPointNetです。Hausdorff continuous symmetric functionが何者かわかっていないですが、進みます。
では、MAXとかhに何を用いるかというと、
経験的には、多層パーセプトロン(MLP)と最大プーリングを用いています。
MAXの関数にMAXプーリング、γ、gには、Multi Level Perceptron(MLP)を用いると。
これで、無秩序点群を扱える関数は完成。
では、②の回転対称性をどう取り入れるか?
トランスネットワークによる入力アラインメントを行います。アイデアは、自動アライメントのためのデータ依存変換です。N個の3次元データをT-Netに食わせつつ、回転は行列であらわされるので、そこでも変換します。この辺まだわからんです。
①と②を組み合わせてPointNet完成。ローカルな特徴とグローバルな特徴を混ぜ込むプロセスもありますが、そこもまだわからんとです。
もう少し勉強します。
EVENTS
![](https://sinlab.future-tech-association.org/wp-content/uploads/event_icon2.png)
![](https://sinlab.future-tech-association.org/wp-content/uploads/event_icon2.png)
![](https://sinlab.future-tech-association.org/wp-content/uploads/event_icon1.png)
![](https://sinlab.future-tech-association.org/wp-content/uploads/event_icon1.png)
![](https://sinlab.future-tech-association.org/wp-content/uploads/event_icon2.png)