Slide 1

Slide 1 text

第1回Spatial AI勉強会 Surface Reconstruction Using Rotation Systems (SIGGRAPH Asia 2024 Journal Track) 高山 健志 (CyberAgent) 2024年12月21日 Project: https://cuirq3.github.io/projects/siga_24/ Code: https://github.com/cuirq3/RsR arXiv: https://arxiv.org/abs/2402.01893 YouTube: https://youtu.be/9DEfhN3pzng

Slide 2

Slide 2 text

扱う問題: 3D点群からのサーフェス復元 • 2つの方法論に大別される: • Volumetric = 入力点群を近似する • Combinatorial = 入力点群を厳密に通る 入力: 法線つき3D点群 出力: 点群が表す形状の三角形メッシュ  提案法は後者に属する

Slide 3

Slide 3 text

Volumetric な方法 (e.g. Poisson Surface Reconstr.) • 問題点: 原理的にディテールの一部が失われる • 「点群からのサーフェス復元」と 「形状のスムージング」は、別々のタスクとして解くべき! 入力点群と適応的グリッド 法線を補間して ベクトル場 𝑉 を作る 勾配が 𝑉 と近くなるような スカラー場を計算 等値面を抽出 Mesh denoising via L0 minimization (SIGGRAPH 2013)

Slide 4

Slide 4 text

Combinatorial な方法 • 問題点: 実用的でない • ノイズに弱い (入力点群の一部が失われる) • 面の向きが不整合になる場合あり ➔ 実験で比較 Ball Pivoting [TVCG 1999] Power Crust [SMA 2001] (ボロノイ図ベース) DSE [CVPR 2021] (機械学習ベース)

Slide 5

Slide 5 text

提案法

Slide 6

Slide 6 text

• Genus 0のサーフェス上のポリゴンメッシュは、平面グラフと同相 着眼点 (1) genus 0 genus 1 genus 3 2 1 5 4 3 6

Slide 7

Slide 7 text

• 「木」グラフは、必ず平面グラフとして描ける ➔ つまりポリゴンメッシュと同相 • 面はただ一つだけ 着眼点 (2) 面リスト 𝑓1 𝑣1 𝑣2 𝑣3 𝑣4 𝑓1 𝑓1 面リスト 𝑓1

Slide 8

Slide 8 text

基本アイディア • このポリゴンメッシュにエッジを挿入し、面を分割する • 全ての面が三角形になるまで繰り返す 𝑓1 𝑓1 𝑓2 𝑓1 𝑓2 𝑓3

Slide 9

Slide 9 text

最初の木を作る方法 入力点群 密なk近傍グラフ 最小全域木 (Minimum Spanning Tree)

Slide 10

Slide 10 text

3Dの場合、エッジの順序を決める仕組みが必要 • 法線を使うことで順序を定義できる!➔ Rotation System ⋯

Slide 11

Slide 11 text

エッジ挿入によるポリゴンの分割 Topology test Geometry test エッジが持つ局所接平面に、 その付近のsearch ball内のエッジを投影し、 交差するものが無ければOK エッジ両端に対応する面のcornerが、 同一の面に属していればOK

Slide 12

Slide 12 text

Topology test 無し Topology test あり Geometry test 無し Geometry test あり

Slide 13

Slide 13 text

球に対する実行の様子 Init Iter 1 Iter 2 Iter 3 Iter 10 Iter 20 Iter 40 Iter 80 Iter 119 (final) 挿入候補エッジは、初期のk近傍グラフの中から短い順に選ぶ

Slide 14

Slide 14 text

Genus > 0 への対応

Slide 15

Slide 15 text

トーラスに対する実行の様子 Init Iter 50 Iter 100 Iter 200 Iter 300 Iter 349 (final) Iter 1 Iter 3 Iter 2

Slide 16

Slide 16 text

エッジ挿入によるハンドルの接続 挿入候補エッジ両端の2頂点を結ぶ グラフ最短経路の長さが閾値以上で あるかをチェック Genus 0 Genus 1

Slide 17

Slide 17 text

実行結果

Slide 18

Slide 18 text

スキャン点群への適用 左が提案法の出力 右はそれにバイラテラルフィルタ [TVCG 2010] を適用した結果

Slide 19

Slide 19 text

S3DIS [CVPR 2016] への適用結果

Slide 20

Slide 20 text

Tanks and Temples [SIGGRAPH 2017] への適用結果 (色付きは入力点群)

Slide 21

Slide 21 text

既存法との比較

Slide 22

Slide 22 text

(赤い部分は面が裏返っている)

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

トポロジの制御性 2枚のサーフェスが非常に近接している

Slide 25

Slide 25 text

トポロジの制御性

Slide 26

Slide 26 text

Volumetric な方法だと、ディテールが消えてしまう

Slide 27

Slide 27 text

性能評価実験

Slide 28

Slide 28 text

ノイズに対する頑健性 法線方向の オフセット 接方向の オフセット 任意方向の オフセット

Slide 29

Slide 29 text

法線のノイズに対する頑健性 あまり頑健でない

Slide 30

Slide 30 text

位置合わせのズレに対する頑健性 平行移動 によるズレ 回転による ズレ 複数視点のスキャン点群のうち一つだけ (chin.ply) を最適位置から動かす

Slide 31

Slide 31 text

Limitations and future work • スキャンの位置合わせのズレに対して頑健でない • 並列化による高速化