Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SIGGRAPH Asia 2020: Shape Analysis

SIGGRAPH Asia 2020: Shape Analysis

SIGGRAPH Asia 2020勉強会で使ったスライドです。
https://siggraph.xyz/sa2020/

Tatsuya Yatagawa

February 28, 2021
Tweet

More Decks by Tatsuya Yatagawa

Other Decks in Technology

Transcript

  1. SIGGRAPH Asia 2020 Paper Reading Seminar
    Shape Analysis
    Tatsuya Yatagawa
    Feb. 28th, 2021

    View Slide

  2. Shape Analysis (5 papers)
    l DeformSyncNet: Deformation Transfer via Synchronized Shape ...
    → 3D空間での⾮線形変形を潜在空間における線形変換として学習
    l Discovering Pattern Structure Using Differentiable Composting
    → パターン画像の分解と合成のための教師なし深層学習技術
    l MeshWalker: Deep Mesh Understanding by Random Walks
    → ランダム・ウォークに基づいた新しいメッシュ深層学習法
    l MapTree: Recovering Multiple Solutions in the Space of Maps
    → 関数マップによる複数の対称モードを考慮した形状間の対応関係づけ
    l Chordal Decomposition for Spectral Coarsening
    → 弦グラフに基づく, スペクトル特徴を保った形状演算⼦の簡略化
    Slide is available: http://bit.do/fN7sm
    3 , 2 . 1, 4

    View Slide

  3. DeformSyncNet: Deformation Transfer via
    Synchronized Shape Deformation Spaces
    ⼀⾔で⾔うと?
    三次元空間上の⾮線形変形を潜在空間における線形変換で表現する深層学習法

    View Slide

  4. 従来法: Deformation Transfer [Sumner and Popovic 2004]
    Slide is available: http://bit.do/fN7sm
    (図は[Summer & Popovic 2004]より引⽤)
    Sourceに対して変形が与えられている → Targetにも同じ変形を施したい
    l S ↔ T間, Sの変形で三⾓形ごとに対応がついている前提 (上図のB)
    l Sの変形をTにそのまま適⽤, その変形を保ちつつ, 接続関係を修正 (上図のC)

    View Slide

  5. 深層学習によるDeformation Transferの既存⼿法
    GANやImage Analogyのやり⽅を模したものが多い
    l ⼀例として [Gao et al. 2018] ではCycleGANと同様のネットワークを仕様
    Slide is available: http://bit.do/fN7sm
    → SとT (inter-class)の対応は不要, SとS’の対応 (intra-class)の対応は依然必要

    View Slide

  6. AutoencoderのDeformation Transferへの利⽤
    Point Cloudに対するAutoencoder [Achlioptas et al. 2017]
    l 潜在空間での平⾏移動料をそのままS’に適⽤する
    Slide is available: http://bit.do/fN7sm
    l 形状同⼠の対応は不要
    l 元形状の特徴が保たれない

    View Slide

  7. 提案法の着想
    潜在空間で「形状」の代わりに「変形」を表す
    Slide is available: http://bit.do/fN7sm
    形状の集合: 𝑥 ∈ 𝑋 ⊂ ℝ!"
    変形の集合: 𝑣 ∈ 𝑉 ⊂ ℝ# ← 変形を潜在ベクトル (k次元)で表す
    𝑥 ⊕ 𝑣 ≔ 𝐴$
    𝑣 + 𝑥
    → 𝒙から定まる辞書行列をニューラルネットに出力させる
    ⼊⼒形状を考慮した変形の定義
    提案法のDeformation Transfer
    𝑦 ⊕ 𝑣! ≔ 𝐴! ℰ 𝑥 − ℰ 𝑥" + 𝑦
    → 変形量ベクトルは潜在空間のベクトルの差で表す
    ← This is “take home equation”

    View Slide

  8. ネットワーク構成
    Slide is available: http://bit.do/fN7sm
    訓練データとして...
    l 形状同⼠の対応がついているデータは不要
    l 変形の種類が揃ったデータは必要
    (ShapeNetのパーツラベルを利⽤して⼈⼯的に作成)

    View Slide

  9. 実験結果
    ⾃分から⾃分, ⾃分から別形状への変形の両⽅が可能
    l ニューラルネットの学習の意味で⾃然な変形に変換される
    Slide is available: http://bit.do/fN7sm
    部分変形を⾃分全体へ適⽤ 変形を別形状へ適⽤

    View Slide

  10. 考察: どんな変形が学習されている?
    パーツ毎の有意な変形が学習されている印象 (下図は辞書の基底ベクトル)
    l パーツが離れる変形を含み, それが結果に現れる可能性もある
    l 学習データに変形が依存するので, 汎⽤性の程度には議論の余地あり
    Slide is available: http://bit.do/fN7sm

    View Slide

  11. Discovering Pattern Structure Using Differentiable
    Compositing
    ⼀⾔で⾔うと?
    パターン画像の分解と合成のための教師なし深層学習技術

    View Slide

  12. パターン画像の定義
    背景を含む複数のパターンをレイヤー状に重ねて得られる画像
    l 背景の位置と深度は固定, レイヤー数も固定 (100〜1024)
    l 背景以外のパターンは, パターンの種類, 重⼼位置, 回転, 深度を深層学習
    で推定する
    Slide is available: http://bit.do/fN7sm

    View Slide

  13. パターン画像合成の微分可能化
    パターン画像合成を微分可能にするために2つの問題がある
    l パターンの位置が離散的な座標しか取らない (左図)
    l パターンは⼀般に不透明で, 重なり順の⼊れ替わりを扱えない (右図)
    Slide is available: http://bit.do/fN7sm
    ガウシアン画像ピラミッドの各層を⽐較
    → 広範囲に渡る(緩やかな)勾配を考慮できる
    深度によるパターンの切り替わりをソフトに
    → 深度変化に対する微分計算が可能

    View Slide

  14. 結果: パターン画像の分解
    Slide is available: http://bit.do/fN7sm
    ←⼊⼒画像
    ← パターン
    ← 連続深度
    ← 離散深度
    やや重なりの間違いが⾒られるものの, おおよそ元画像を再現できている

    View Slide

  15. 応⽤: パターンを⽤いた画像合成
    Slide is available: http://bit.do/fN7sm
    パターンの拡張
    l Style Transferのスタイル特徴を⽤いる
    l ⼊出⼒でスタイル特徴が近づくように
    パターン配置
    モザイク画像
    l あえてパターンを含まない画像との誤差が
    最⼩になるようにする

    View Slide

  16. MeshWalker: Deep Mesh Understanding by Random
    Walks
    ⼀⾔で⾔うと?
    ランダム・ウォークに基づいた三⾓形メッシュのための新しい深層学習法

    View Slide

  17. 三⾓形メッシュを扱うニューラルネット
    ボクセルや点群, 陰関数などの他表現に⽐べると発展途上
    l 従来法はConv, Poolなどニューラルネットの操作をメッシュ上で定義
    Slide is available: http://bit.do/fN7sm
    MeshNet [Feng et al. 2019]
    l Conv: 三⾓形が常に3隣接
    l Pool: 未定義
    MeshCNN [Feng et al. 2019]
    l Conv: ⼆⾯⾓を構成するエッジは4本
    l Poolingは未定義

    View Slide

  18. MeshWalker
    ランダム・ウォークで得た点列をRNNに⼊れて学習
    Slide is available: http://bit.do/fN7sm

    View Slide

  19. MeshWalkerの利点
    その1: データセットが⼩規模でも良い
    l ランダム・ウォークにより複数の無相関点列を得られるため
    (が, Limitationを⾒るとデータ数が少ないと問題と⾔っている...)
    その2: データセット内の三⾓化の違いに影響を受けづらい
    l 点列の⻑さが⼗分なら三⾓化の違いをRNNで吸収できる
    その3: ⼊⼒メッシュが⾮多様体や⽳あきでもいい
    l 点列は⾮多様体や⽳あきのメッシュでも得られるため
    (MeshCNNなどの複雑さを考えると⾮常に⼤事に思える)
    Slide is available: http://bit.do/fN7sm

    View Slide

  20. 実験結果: MeshCNNとの⽐較
    細かな違いではあるものの, 全体的にMeshCNNより良い結果
    l MeshWalkerは局所的な特徴の取得に有利
    l MeshCNNは⼤域的な特徴の取得に有利 (Poolingがあるため) という印象
    Slide is available: http://bit.do/fN7sm

    View Slide

  21. 個⼈的な感想
    ⼊⼒メッシュが不正メッシュであっても良いのは嬉しい
    l MeshCNNはPooling途中で不正メッシュが出る可能性がある
    l しかも, 実装が複雑で著者⾃⾝も解決しきれていない
    Walkの⻑さが結果に依存することが, どのくらい問題か?
    l デフォルト値は与えられているが, ⽬的ごとのチューニングが難しそう
    l メッシュが⼤きくなるとWalkも⻑くならないと⾏けない (論⽂でも⾔及)
    l この際, 点列の分散も⼤きくなるので, より学習は難しくなる可能性
    l まだ未開拓ではあるが, Poolingがないので⽣成モデルには不利?
    Slide is available: http://bit.do/fN7sm

    View Slide

  22. MapTree: Recovering Multiple Solutions in the
    Space of Maps
    ⼀⾔で⾔うと?
    多重解像度関数マップによる複数の対称モードを扱った形状間対応付け

    View Slide

  23. やりたいこと
    l Functional map (後述)による形状対応付け⾏列を求めたい
    l 荒く計算した対応付け⾏列を段階的に⾼解像度化したい
    → 同著者グループの従来法(ZoomOut [Melzi et al. 2019])を繰り返し適⽤
    Slide is available: http://bit.do/fN7sm
    ZoomOut [Melzi et al. 2019]による
    Functional mapの⾼解像度化
    (図は[Melzi et al. 2019]より引⽤)

    View Slide

  24. 予備知識: Functional Map [Ovsjanikov et al. 2012]
    形状同⼠の対応付けを固有関数の変化を基に計算する
    (疎な対応は, ⼿付けでも⾃動でもどっちでもいい)
    Slide is available: http://bit.do/fN7sm
    演算⼦: 𝐿%
    = Φ%
    & Λ%
    Φ%
    演算⼦: 𝐿'
    = Φ'
    & Λ'
    Φ'
    min Φ'
    − 𝐶Φ% (
    基底変換⾏列: 𝐶

    View Slide

  25. Functional Mapの⾼解像度化
    l M vs N: 密な点同⼠の対応があるわけではないので近傍探索が難しい
    → 基底関数を𝐶!"によりM上で⽐較する (データ構造が利⽤可能)
    l 元論⽂[Ovsjanikov et al. 2012]ではICPで対応を更新する
    Slide is available: http://bit.do/fN7sm
    Φ%
    Φ'
    Φ%
    ≈ 𝐶)*Φ'
    M上で基底関数を⽐較して対応を更新

    View Slide

  26. 提案法: Functional Mapの段階的形成
    Functional map (=⾏列C)を⾼解像度化しつつ, ⽊構造を下っていく
    l 解像度を上げるときに初期値を変えることで様々な対称性が⾒つかる
    Slide is available: http://bit.do/fN7sm

    View Slide

  27. 実験結果
    提案法は連続な対応付けが可能, かつ複数の対称モードを⾒つけられる
    l 従来法は⾼解像度化に失敗しやすい + 単⼀の対称モードのみ出⼒
    l ただし, 提案法の出⼒がどんな対称モードかは⼈間が考える必要あり
    Slide is available: http://bit.do/fN7sm
    ↑提案法は⾃動付けの初期対応から
    従来法よりも⾼品質の対応を得る

    View Slide

  28. Chordal Decomposition for Spectral Coarsening
    ⼀⾔で⾔うと?
    弦グラフに基づくスペクトル特徴を保った⾼速な形状演算⼦簡略化

    View Slide

  29. やりたいこと
    メッシュ上で定義される演算⼦を簡略化メッシュ上で表す
    l 従来法 [Liu et al. 2019]のスペクトル保存型の簡略化を使⽤
    → 演算⼦の固有値, 固有ベクトルをなるべく保存 (PCAのような感じ)
    Slide is available: http://bit.do/fN7sm
    (図は[Liu et al. 2019]より引⽤)

    View Slide

  30. Spectral Coarsening [Liu et al. 2019]
    形状の上での半正定値演算⼦なら広く適⽤が可能
    Slide is available: http://bit.do/fN7sm
    異なる形状表現に対する結果 異なる演算⼦に対する結果
    → その⼀⽅, ⾏列の半正定値性のために固有値分解に多くの時間を要する

    View Slide

  31. Spectral Coarsening [Liu et al. 2019]
    Slide is available: http://bit.do/fN7sm
    !
    𝐿 = arg min
    +
    ,
    𝑃𝑀-.𝐿𝜙 − .
    𝑀-. !
    𝐿𝑃𝜙
    /
    0
    1
    定式化
    l ⼊⼒メッシュ上のLを簡略化メッシュ上の#
    Lに変換
    l メッシュ上の関数fの値が保たれるようにする
    l 実際には基底関数が保持されていれば良い
    準備
    l 𝑀 ∈ ℝ#×#: n個の⼊⼒点に対する質量⾏列 (mass matrix, 対⾓⾏列)
    l 𝑃 ∈ ℝ%×#: n個の⼊⼒点をm個のクラスタに割り当てる⾏列
    l 𝐿 ∈ ℝ#×#: ⼊⼒メッシュ上で定義された演算⼦ (Laplace-Beltramiなど)
    (関数を射影してから簡略化したものと簡略化してから射影したものの差)
    6
    𝑳が半正定値という制約の元で解く必要がある → 半正定値計画問題

    View Slide

  32. 予備知識: 弦グラフ
    弦グラフとは...
    l グラフの内の⻑さが4以上の「全て」の閉路に「弦」が存在するグラフ
    l 「弦」とは閉路上の2点を結ぶ辺であって, それらだけで, 閉路内に別の閉
    路を作らないものを指す
    Slide is available: http://bit.do/fN7sm
    弦グラフでない
    (閉路を構成)
    弦グラフでない
    (閉路が弦を持たない)
    弦グラフ

    View Slide

  33. 予備知識: Chordal Decomposition (弦グラフ分解)
    l 弦グラフから定義される隣接⾏列𝐗が半正定値な部分密⾏列𝐙&
    を⽤いた
    「下図」の分解で表せるとき, その⾏列は半正定値⾏列になる.
    l その逆も正しく, 半正定値⾏列なら, 以下の分解が存在する.
    → 半正定値計画問題などの最適化の計算量を減らすのに利⽤
    Slide is available: http://bit.do/fN7sm
    ※ 上図は部分⾏列が連結だが, 𝑃+
    の定義次第では離れていても良い
    (⾮零の場所が対称にはなる)

    View Slide

  34. Chordal Decompositionの利⽤例
    Slide is available: http://bit.do/fN7sm
    元の半正定値計画問題 CDを⽤いた変形 (ADMM等で解ける)
    CDの性質から
    適当な疎性パターンの
    対称⾏列の集合
    CD可能な疎性パターンの
    対称⾏列の集合
    ⼤きな⾏列の半正定値性が⼩さな⾏列の半正定値性の条件に置き換えられる
    → 結果としてSpectral Coarseningも効率的(かつ安定)に解ける

    View Slide

  35. 実験結果: 結果の⾒⽅
    演算⼦の固有関数基底の変換⾏列が単位⾏列にどれくらい近いかを測る
    l 以下の⾏列Cが単位⾏列に近ければ良い
    Slide is available: http://bit.do/fN7sm
    Φ: 元の演算⼦の固有関数 (固有ベクトル)
    6
    Φ: 簡略化後の固有関数
    6
    𝑀: 簡略化後の形状の質量⾏列
    𝑃: 頂点のクラスタ振り分け⾏列
    𝐶 = .
    Φ .
    𝑀-.𝑃Φ
    (図は[Liu et al. 2019]より引⽤)

    View Slide

  36. 実験結果: [Liu et al. 2019]との⽐較
    l 同様の計算処理にでも数値安定性の向上
    から良い結果が得られている
    l 元の[Liu et al. 2019]は最適化が⾮凸 (問題
    そのものは凸だが, 効率化のために⾮凸の
    問題を解いている)な⼀⽅, 提案法は凸最
    適化なので, より安定
    l Weighting scheme (preconditionerみた
    いなもの)を⽤いる場合には, さら安定性
    が向上
    Slide is available: http://bit.do/fN7sm

    View Slide

  37. 実験結果: 計算時間
    従来法に⽐べ⼤幅に経産時間が減少 (左図)
    → 特にADMMでの⾏列処理が少ない割合であることがわかる(右図)
    Slide is available: http://bit.do/fN7sm

    View Slide

  38. 全体のまとめ
    l DeformSyncNet: Deformation Transfer via Synchronized Shape ...
    → 3D空間での⾮線形変形を潜在空間における線形変換として学習
    l Discovering Pattern Structure Using Differentiable Composting
    → パターン画像の分解と合成のための教師なし深層学習技術
    l MeshWalker: Deep Mesh Understanding by Random Walks
    → ランダム・ウォークに基づいた新しいメッシュ深層学習法
    l MapTree: Recovering Multiple Solutions in the Space of Maps
    → 関数マップによる複数の対称モードを考慮した形状間の対応関係づけ
    l Chordal Decomposition for Spectral Coarsening
    → 弦グラフに基づく, スペクトル特徴を保った形状演算⼦の簡略化
    Slide is available: http://bit.do/fN7sm
    n (GCN )
    n CNN

    View Slide