http://deeplearning.jp/
“Parameter is Not All You Need:
Starting from Non-Parametric Networks for 3D Point
Cloud Analysis” 東京大学工学系研究科 稲富翔伍
DEEP LEARNING JP
[DL Papers]
2023/07/07
1
2023/07/07
2
書誌情報
1.Intro
論文名 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
• 画像と異なるデータ形式
• 密度の偏り
• 順不同性
• その他回転並進不変性やノイズなど特有の課題が
ある
点群処理の難しさ
先行手法
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++ 1.7M
KPConv 14.3M
PointMLP 12.6M
PointNet++以降、local operator(畳み込み等の局所的な特徴抽出機構)や学習可能パラメタ数の増加と
いった工夫がなされる。
課題:計算コスト
データの順番を変えても意味は同
じ
2023/07/07
4
背景知識:PointNet, PointNet++
1.Intro
PointNet
点群はスパースであり、画像のような畳み込みを適用するのは計算コストが見合
わない。
点群の特性に合ったネットワークにするべき!
① 点群の順不同性(データを入れ替えても同じ物体を指す)
② 近傍点群の関係性(セグメンテーションのケース:近傍の点群は同じクラス
であるはず)
③ 変形不変性(回転並進しても同じ意味)
③アフィ
ン変換
①対称な操作
後にmaxpool
②local + global 特徴量
※localは近傍だと類似の特徴量
2023/07/07
5
背景知識:PointNet, PointNet++
1.Intro
PointNet++
局所的な情報を取り入れるには?→点群を局所に分割してPointNetを適用し、統合。
1. farthest point sampling (FPS)により代表点を取得。
2. 代表点の半径r以内の点を1つのpoint set (グループ)としてpoint setごとにPoinNetを適
用。
2023/07/07
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 non-parametric
components?
2023/07/07
7
提案手法概要
1.Intro
Encoder + Memory で構成。
Encoder部分はFPS, k-NN, pooling, 三角関数 を用
いて局所情報を抽出。
三角関数により、空間パターンを抽出できる。
→Discussion
Q. 学習パラメータなしでどのようにタスクをこな
すのか?
事前にEncoderにより様々なデータから特徴抽出
してMemoryに記憶する。例えば分類タスクでは、
予測したいデータとの特徴類似度からラベルを予
測する。
CLIPのようなZero-shot手法の発想
分類、セグメンテーション、物体検出タスクであ
提案手法:Point-NN (Non-parametric Network)
2023/07/07
8
提案手法概要
1.Intro
Point-NNに学習可能なLinear層のみを挟む。
つまりReLUなどの非線形関数は追加しない。
Memoryを通常の学習可能な分類器に置き換え。
パラメタ数 0.8M < 1.7M(PointNet++)
で高性能。
提案手法:Point-PN (Parametric Network)
提案手法:Point-NN as a plug-and-play module
学習済みの他のモデルとアンサンブルする。既存モデルの性
能をブースト。
学習済みモデルが点群全体の大局的な情報を抽出するのに対
して、Point-NNは三角関数により局所的な情報抽出を行うと
いう補完関係がある。
2023/07/07
9
Encoder
2.Point-NN
xyzの3次元→𝐶𝐼次元にする。
LLMにおけるトークン化のようなイメー
ジ。
三角関数の性質から、2点間の相対位置
が埋め込みの内積で得られるようになる。
Raw-point Embedding
畳み込みと同じ要領で、各点について周囲
の点の情報を集めて次元(チャネル)を増
やす。
2023/07/07
10
(先出し)なぜ三角関数が効くのか? 3つの理由
4. Discussions
2. Encoding Absolute and Relative Positions
絶対位置だけでなく、暗黙的に相対位置を埋め込んでいる。
Cos類似度計算で出現する内積では、三角関数の積が出現。
→三角関数の性質(和と積の変換)より、相対位置が得ら
れる。
※arxiv版には記載あり
2023/07/07
11
Encoder
2.Point-NN
各点について周囲の情報を集める
(1) Feature Expansion
(2) Geometry Extraction
の位置の平均分散で正規化した
を用いて𝑓𝑐𝑗に重み付けた𝑓𝑐𝑗
𝑤
を得る。
(3) Feature Aggregation
Local Geometry Aggregation
• FPSにより点群数を半分に間引く
• 各点についてK近傍点( )を求める
4stage
長さ𝐶𝐼のベクト
ル
長さ2𝐶𝐼のベクト
ル
2023/07/07
12
(先出し)なぜ三角関数が効くのか? 3つの理由
4. Discussions
3. Local Geometry Extraction
① Stageが進むにつれ、𝑓𝑐𝑗により高周波成分が付与
される
𝑃𝑜𝐸(Δ𝑝𝑗) は𝑓𝑐𝑗よりも高周波
Stage1において、𝑓𝑐𝑗の次元が𝐶𝐼であるのに対して、
𝑃𝑜𝐸(Δ𝑝𝑗) は2𝐶𝐼
②相対位置の情報𝑃𝑜𝐸(Δ𝑝𝑗) で𝑓𝑐𝑗を重みづけ
Pooling操作において各k近傍点の着目度合いを決め
る
※arxiv版には記載あり
2023/07/07
13
Memoryとクラス分類タスク
2.Point-NN
Point Memory Bank
例)クラス分類タスク
事前に様々な点群データについて、Encoderで取得された特徴量とクラスを記憶す
る。
推論時には特徴量のCos類似度からクラスラベルを予測。
その他のタスク
セグメンテーションタスクでは、特徴量のUp sampleを行い、各点のラベルとともに記
録。
物体検出タスクでは、Bounding Box毎にEncodeを行い記録する。
2023/07/07
14
Point-PN
3. Parametric models derived from Point-NN
学習可能なLiner層を追加。追加方法について複数検
討。
2023/07/07
15
Point-NN as Plug-and-play Modules
3. Parametric models derived from Point-NN
Point-NNは学習済みモデルと着目箇所について補完関係があ
る。
PointNet++は全体的な特徴をつかむ。
Point-NNは椅子の脚などのSharpな箇所の特徴をつかむ。
2023/07/07
16
Point-NNとPoint-PNの分類タスク
4. Experiments
データセット
ModelNet40(40 categories)、real-world ScanObjectNN(15categories)
Point-NNだけではある程度の性能だが、Point-PNでは高性能を発
2023/07/07
17
“Point-NN as Plug-and-play Modules”
4. Experiments
最大で+10%程度の性能向上。
2023/07/07
18
なぜ三角関数が効くのか? 3つの理由
4. Discussions
1. Capturing High-frequency 3D Structures
NeRFで指摘されているように、三角関数によってMLPが高周波成分を学習しやすく
なる。
1st (/4) stageの可視化。 Point-NNは高周波領域に着目している。
※arxiv版には記載あり
(Fig.6,7で表示が多少違
う?)
2023/07/07
19
なぜ三角関数が効くのか? 3つの理由
4. Discussions
2. Encoding Absolute and Relative Positions
絶対位置だけでなく、暗黙的に相対位置を埋め込んでいる。
Cos類似度計算で出現する内積では、三角関数の積が出現。
→三角関数の性質(和と積の変換)より、相対位置が得ら
れる。
※arxiv版には記載あり
2023/07/07
20
なぜ三角関数が効くのか? 3つの理由
4. Discussions
3. Local Geometry Extraction
① Stageが進むにつれ、𝑓𝑐𝑗により高周波成分が付与
される
𝑃𝑜𝐸(Δ𝑝𝑗) は𝑓𝑐𝑗よりも高周波
Stage1において、𝑓𝑐𝑗の次元が𝐶𝐼であるのに対して、
𝑃𝑜𝐸(Δ𝑝𝑗) は2𝐶𝐼
②相対位置の情報𝑃𝑜𝐸(Δ𝑝𝑗) で𝑓𝑐𝑗を重みづけ
Pooling操作において各k近傍点の着目度合いを決め
る
※arxiv版には記載あり
• 点群解析で用いられるノンパラメトリックモジュールに着目し初めて学習不要
な手法 Point-NNを提案
• Point-NN をベースとしたパラメータ効率のよりPoint-PNを提案。
• Plug-and-play moduleとしてPoint-NNを用いることで、学習済みモデルの
性能を向上。
感想
• 古典手法だけで性能を出せるのは驚き
• 他の古典手法(DoNなど)でも同様のことはできないか?
• 非NNをベースとしているので、実装も着実にできそう。
2023/07/07
21
まとめ

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