【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks for 3D Point Cloud Analysis

254 Views

July 07, 23

スライド概要

2023/7/7
Deep Learning JP
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] “Parameter is Not All You Need: Starting from Non-Parametric Networks 1for 3D Point Cloud Analysis” 東京大学工学系研究科 稲富翔伍 http://deeplearning.jp/ 2023/07/07

2.

1.Intro 書誌情報 2 論文名 Parameter is Not All You Need: Starting from Non-Parametric Networks for 3D Point Cloud Analysis 著者 Renrui Zhang, Liuhui Wang, Ziyu Guo, Yali Wang, Peng Gao, Hongsheng Li, Jianbo Shi 投稿 CVPR2023 https://arxiv.org/abs/2303.08134 概要 • 点群の分類・セグメンテーション・物体検出タスクを、学習パラメータなしで解く手法 Point-NNを提案 • PointNet++やPointCNN等の手法よりも高い性能 • Point-NNをベースに少量の学習パラメータを加えることでより高い性能を発揮 選定理由 点群解析手法について気になっている。 点群周りでCVPRでどのような論文があるのか。 タイトルにインパクトがあった。 2023/07/07

3.

1.Intro 点群の処理 3 点群処理の難しさ • 画像と異なるデータ形式 • 密度の偏り • 順不同性 • その他回転並進不変性やノイズなど特有の課題がある Pointcloud data1 [x,y,z] [0,0,1] = [1,1,1] [1,3,2] … Pointcloud data2 [x,y,z] [0,0,1] [1,3,2] [1,1,1] … データの順番を変えても意味は同じ 先行手法 PointNet++以降、local operator(畳み込み等の局所的な特徴抽出機構)や学習可能パラメタ数の増加と いった工夫がなされる。 パラメタ数 PointNet++ 1.7M KPConv 14.3M PointMLP 12.6M 課題:計算コスト 2023/07/07

4.

1.Intro 背景知識:PointNet, PointNet++ 4 PointNet 点群はスパースであり、画像のような畳み込みを適用するのは計算コストが見合わない。 点群の特性に合ったネットワークにするべき! ① 点群の順不同性(データを入れ替えても同じ物体を指す) ② 近傍点群の関係性(セグメンテーションのケース:近傍の点群は同じクラスであるはず) ③ 変形不変性(回転並進しても同じ意味) ①対称な操作 後にmaxpool ③アフィン 変換 2023/07/07 ②local + global 特徴量 ※localは近傍だと類似の特徴量

5.

1.Intro 背景知識:PointNet, PointNet++ PointNet++ 局所的な情報を取り入れるには?→点群を局所に分割してPointNetを適用し、統合。 1. farthest point sampling (FPS)により代表点を取得。 2. 代表点の半径r以内の点を1つのpoint set (グループ)としてpoint setごとにPoinNetを適用。 2023/07/07 5

6.

1.Intro 点群の処理 ノンパラメトリックモジュール 学習可能モジュール以外のノンパラメトリックモジュールはPointNet++からあまり変化していない。 farthest point sampling (FPS) ダウンサンプル(間引く)手法。サンプル点の距離(物体の形状)に着目する。 例えばランダムサンプリングでは密度の偏りの影響を受けるが、FPSは空間的に一様にサンプルできる。 (レーザースキャンでは、スキャナーに近いほど取得される点群の密度が高いという偏りがある) k-Nearest Neighbors (k-NN) 中心点(着目する点)に1番目~k番目に近い点を取得する関数。 pooling operations Max pooling やAverage pooling 課題感 Can we achieve high 3D point cloud analysis performance using only these nonparametric components? 2023/07/07 6

7.

1.Intro 提案手法概要 提案手法:Point-NN 7 (Non-parametric Network) Encoder + Memory で構成。 Encoder部分はFPS, k-NN, pooling, 三角関数 を 用いて局所情報を抽出。 三角関数により、空間パターンを抽出できる。 →Discussion Q. 学習パラメータなしでどのようにタスクをこなすのか? 事前にEncoderにより様々なデータから特徴抽出して Memoryに記憶する。例えば分類タスクでは、予測したい データとの特徴類似度からラベルを予測する。 CLIPのようなZero-shot手法の発想 分類、セグメンテーション、物体検出タスクである程度の 性能(PointNetより低い)。 →性能をもっとあげたい。 2023/07/07

8.

1.Intro 提案手法概要 提案手法:Point-PN 8 (Parametric Network) Point-NNに学習可能なLinear層のみを挟む。 つまりReLUなどの非線形関数は追加しない。 Memoryを通常の学習可能な分類器に置き換え。 パラメタ数 0.8M < 1.7M(PointNet++) で高性能。 提案手法:Point-NN as a plug-and-play module 学習済みの他のモデルとアンサンブルする。既存モデルの性能をブースト。 学習済みモデルが点群全体の大局的な情報を抽出するのに対して、 Point-NNは三角関数により局所的な情報抽出を行うという補完関係 がある。 2023/07/07

9.

2.Point-NN Encoder 畳み込みと同じ要領で、各点について周囲の点 の情報を集めて次元(チャネル)を増やす。 Raw-point Embedding xyzの3次元→𝐶𝐼 次元にする。 LLMにおけるトークン化のようなイメージ。 三角関数の性質から、2点間の相対位置が 埋め込みの内積で得られるようになる。 2023/07/07 9

10.

4. Discussions (先出し)なぜ三角関数が効くのか? 3つの理由 2. Encoding Absolute and Relative Positions 絶対位置だけでなく、暗黙的に相対位置を埋め込んでいる。 Cos類似度計算で出現する内積では、三角関数の積が出現。 →三角関数の性質(和と積の変換)より、相対位置が得られる。 2023/07/07 10 ※arxiv版には記載あり

11.

2.Point-NN Encoder 11 • FPSにより点群数を半分に間引く • 各点についてK近傍点( )を求める 4stage Local Geometry Aggregation 各点について周囲の情報を集める (1) Feature Expansion (2) Geometry Extraction の位置の平均分散で正規化した 長さ𝐶𝐼 のベクトル を用いて𝑓𝑐𝑗 に重み付けた𝑓𝑐𝑗𝑤を得る。 (3) Feature Aggregation 長さ2𝐶𝐼 のベクトル 2023/07/07

12.

4. Discussions (先出し)なぜ三角関数が効くのか? 3つの理由 3. Local Geometry Extraction ① Stageが進むにつれ、𝑓𝑐𝑗 により高周波成分が付与される 𝑃𝑜𝐸(Δ𝑝𝑗 ) は𝑓𝑐𝑗 よりも高周波 Stage1において、𝑓𝑐𝑗 の次元が𝐶𝐼 であるのに対して、 𝑃𝑜𝐸(Δ𝑝𝑗 ) は2𝐶𝐼 ②相対位置の情報𝑃𝑜𝐸(Δ𝑝𝑗 ) で𝑓𝑐𝑗 を重みづけ Pooling操作において各k近傍点の着目度合いを決める 2023/07/07 12 ※arxiv版には記載あり

13.

2.Point-NN Memoryとクラス分類タスク Point Memory Bank 例)クラス分類タスク 事前に様々な点群データについて、Encoderで取得された特徴量とクラスを記憶する。 推論時には特徴量のCos類似度からクラスラベルを予測。 その他のタスク セグメンテーションタスクでは、特徴量のUp sampleを行い、各点のラベルとともに記録。 物体検出タスクでは、Bounding Box毎にEncodeを行い記録する。 2023/07/07 13

14.

3. Parametric models derived from Point-NN Point-PN 学習可能なLiner層を追加。追加方法について複数検討。 2023/07/07 14

15.

3. Parametric models derived from Point-NN Point-NN as Plug-and-play Modules Point-NNは学習済みモデルと着目箇所について補完関係がある。 PointNet++は全体的な特徴をつかむ。 Point-NNは椅子の脚などのSharpな箇所の特徴をつかむ。 2023/07/07 15

16.

4. Experiments Point-NNとPoint-PNの分類タスク データセット ModelNet40(40 categories)、real-world ScanObjectNN(15categories) 2023/07/07 Point-NNだけではある程度の性能だが、Point-PNでは高性能を発揮。 16

17.

4. Experiments “Point-NN as Plug-and-play Modules” 最大で+10%程度の性能向上。 2023/07/07 17

18.

4. Discussions なぜ三角関数が効くのか? 3つの理由 18 ※arxiv版には記載あり 1. Capturing High-frequency 3D Structures NeRFで指摘されているように、三角関数によってMLPが高周波成分を学習しやすくなる。 1st (/4) stageの可視化。 Point-NNは高周波領域に着目している。 2023/07/07 (Fig.6,7で表示が多少違う?)

19.

4. Discussions なぜ三角関数が効くのか? 3つの理由 2. Encoding Absolute and Relative Positions 絶対位置だけでなく、暗黙的に相対位置を埋め込んでいる。 Cos類似度計算で出現する内積では、三角関数の積が出現。 →三角関数の性質(和と積の変換)より、相対位置が得られる。 2023/07/07 19 ※arxiv版には記載あり

20.

4. Discussions なぜ三角関数が効くのか? 3つの理由 3. Local Geometry Extraction ① Stageが進むにつれ、𝑓𝑐𝑗 により高周波成分が付与される 𝑃𝑜𝐸(Δ𝑝𝑗 ) は𝑓𝑐𝑗 よりも高周波 Stage1において、𝑓𝑐𝑗 の次元が𝐶𝐼 であるのに対して、 𝑃𝑜𝐸(Δ𝑝𝑗 ) は2𝐶𝐼 ②相対位置の情報𝑃𝑜𝐸(Δ𝑝𝑗 ) で𝑓𝑐𝑗 を重みづけ Pooling操作において各k近傍点の着目度合いを決める 2023/07/07 20 ※arxiv版には記載あり

21.

まとめ 21 • 点群解析で用いられるノンパラメトリックモジュールに着目し初めて学習不要な手法 PointNNを提案 • Point-NN をベースとしたパラメータ効率のよりPoint-PNを提案。 • Plug-and-play moduleとしてPoint-NNを用いることで、学習済みモデルの性能を向上。 感想 • 古典手法だけで性能を出せるのは驚き • 他の古典手法(DoNなど)でも同様のことはできないか? • 非NNをベースとしているので、実装も着実にできそう。 2023/07/07