Deformation Transferの解説/Deformation Transfer in Japanese

E2dd989b2ba0f83d8a981b9cb3197bf1?s=47 mocobt
September 05, 2020

Deformation Transferの解説/Deformation Transfer in Japanese

Deformation Transfer for Triangle Meshesの解説
[SIGGRAPH 2004]

SpeakerDeck経由だと字がボケるので手元に落として読んでください。

E2dd989b2ba0f83d8a981b9cb3197bf1?s=128

mocobt

September 05, 2020
Tweet

Transcript

  1. Deformation Transfer for Triangle Meshesの解説 [SIGGRAPH 2004] @mocobt

  2. 問題設定 Source S (既知) Target T (既知) Deformed target T’

    (未知) Deformed source S’ (既知) known deformation Source meshの変形をトポロジーが異なるTarget meshへ転移したい →変形をどう定義すれば良いのか?どのように転移するのか? unknown deformation
  3. Approach ①新たな変形の定義 ②変形の最適化/計算簡略化

  4. Approach ①新たな変形の定義 ②変形の最適化/計算簡略化

  5. そもそもMeshとは... 拡大 (以下,全ての面が三角形であることを仮定します) Mesh: 頂点集合と多角形の面集合から成るデータ構造 • 頂点 : xyz座標(float型)を保持する要素数3のベクトル •

    面 : 頂点のindex(int型)の組 (要素数=多角形の頂点数) Mesh
  6. 三角形の変形 以下の手順により,三角形の任意の変形を表現可能 1. ある頂点 を固定して,他の頂点 にあるAffine変換を適用 2. 全頂点にある変位を加算 変形前 変形後

    fix! 変位加算!
  7. 3次元局所座標系の不定性 三角形(=平面)だけでは3次元回転を定義できない -> Affine変換も定義不可 三角形上の2つのベクトルだけだと,3次 元局所座標系が定まらない

  8. 新たな頂点の導入 三角形に垂直なベクトルを定義したい → 下記のような頂点v4を導入 v1 v2 v3 v4 長さが1で三角形v1v2v3に垂直なベクトル 1

    これにより,三角形の変形を表現可能
  9. Affine変換による変形 変形前の頂点位置 , 変形後の位置 を用いて以下のように変形を定義 Affine変換 (3x3) 変位 (3x1) 変位があると後のStepで最適化しにくいので,上式からv1を引いておく

    両辺にVの逆行列 を右からかける
  10. Approach ①新たな変形の定義 ②変形の最適化/計算簡略化

  11. 変形の転移方法 基本方針 1. SourceとTargetの各三角形に対して対応表をつくる(本質ではないので省略 ) 2. 対応三角形間のAffine変換を揃える - 愚直にAffine変換を揃えると三角形が隣接しなくなるので、制約を与える -

    制約つきの問題は色々と計算がだるいので、等価な問題に置き換える Source, Targetの三角形 indexの対応表 Sourceの index Targetの index
  12. 変形の転移方法 基本方針 1. SourceとTargetの各三角形に対して対応表をつくる(本質ではないので省略 ) 2. 対応三角形間のAffine変換を揃える - 愚直にAffine変換を揃えると三角形が隣接しなくなるので、制約を与える -

    制約つきの問題は色々と計算がだるいので、等価な問題に置き換える Source, Targetの三角形 indexの対応表 Sourceの index Targetの index
  13. 三角形の破綻 愚直に考えると、以下の最小化問題を解けば良い しかし、これだと三角形が隣接しなくなる可能性がある Sourceの Affine Targetの Affine SSj TTj

  14. Targetの三角形への制約 Targetの各三角形について、その三角形の変形を適用しても隣接三角形の変 形を適用しても、位置が同じになる頂点が存在する制約を加える

  15. Targetの変形を求めるための最適化問題 以上で導入した制約を導入して、以下の最適化問題を解けば変形が求まる しかし、これは各三角形に対して制約が加えられているため、解きにくい →別の形式に置き換えたい

  16. 新頂点を用いた最適化問題 以前導入した新頂点を用いてTargetのAffine変換を書き直す この形式を用いて、各頂点に対して以下を解けば隣接制約は満たせる Targetの Affine これを気合で解けば、変形後のTargetの頂点がわかる!

  17. まとめ 目的: Source meshの変形をトポロジーが異なるTarget meshへ転移したい Approach: • 変形をAffine変換+変位で表現 • SourceとTargetの変形が一貫するような最適化問題を定義

    • Naiveなやり方だと制約があって解きにくいので、新頂点を導入