3DCG モデリング・アニメーション、また実写の映像制作を支える最新の研究を紹介します。SIGGRAPH等学会で発表された研究をどうやってプロダクションへ展開したか紹介いたします。(辛口)
最新の研究活動Alexandre Derouet JourdanMarc Salvati© OLM Digital, Inc. 1
View Slide
概要• アニメーション– Kelvinlets– Mesh relaxation• モデリング– UVマッピング• 合成– グリーンバック除去© OLM Digital, Inc. 2
Kelvinlets© OLM Digital, Inc. 3
Kelvinlets• Pixarが開発したデフォーマー• 2017年からPixarの論文 3本© OLM Digital, Inc. 4SIGGRAPH 2017 TOG 2018 Digipro 2019
Kelvinlets• 物理学における弾性(elasticity)に基づく– 解析的に表される式から計算⇒高速– 物理的にもっともらしい• 使い方– モデリング– アニメーション© OLM Digital, Inc. 5
Kelvinletsの基本© OLM Digital, Inc. 6• 空間全体が等方の弾性的な媒体– 並進に不変• 一点に力加えて変形を計算– 解析的に計算• 空間の媒体が変形– メッシュなど– ボリュームを保つ
Maya VS Kelvinlets© OLM Digital, Inc. 7• Mayaの標準デフォーマーよりもよりボリュームを保持できる
Kelvinletsの変換の種類© OLM Digital, Inc. 8押す・引っ張る 回転 絞り膨張アフィン変換
Kelvinletsのプロファイルの種類© OLM Digital, Inc. 9広い⇒細かい尖る
Kelvinletsの位置制約• 指定された点は動かない© OLM Digital, Inc. 10
Kelvinletsの勾配制約• 指定された点の周りは変形しない© OLM Digital, Inc. 11
Kelvinletsのダイナミクス• 時間経過とともに伝搬する© OLM Digital, Inc. 12
まとめ• 実装– Mayaのデフォーマー– アニメーション可能• 論文の手法の実装・拡張– コンストレイントの計算• テスト中– リグチーム– アセットチーム• 今後– モデリング・アニメーションで使えるようにブラシ編集© OLM Digital, Inc. 13
Mesh Relaxation© OLM Digital, Inc. 14
問題• メッシュの変形により形状が破綻することがある© OLM Digital, Inc. 15Source: Delta Mush: smoothing deformations while preserving detail, DigiPro ’14.
Delta Mush (DigiPro 2014)• 変形のディテールを保ったスムース• Maya 2017で標準機能として実装• アルゴリズム– デフォルトポーズのラプラシアンを計算– 参考のポーズとの差計算– 変形されたメッシュの計算– 変形されたメッシュのラプラシアン計算– 差を戻す© OLM Digital, Inc. 16Source: Delta Mush: smoothing deformations while preserving detail, DigiPro ’14.
Delta Mush (DigiPro 2014)© OLM Digital, Inc. 17• 変形のディテールを保ったスムース• Maya 2017で標準機能として実装• アルゴリズム– デフォルトポーズのラプラシアン計算– 現在のポーズとの差計算– 変形されたメッシュの計算– 変形されたメッシュのラプラシアン計算– 差を戻すSource: Delta Mush: smoothing deformations while preserving detail, DigiPro ’14.
Delta Mush (DigiPro 2014)© OLM Digital, Inc. 18• 変形のディテールを保ったスムース• Maya 2017で標準機能として実装• アルゴリズム– デフォルトポーズのラプラシアン計算– 現在のポーズとの差計算– 変形されたメッシュの計算– 変形されたメッシュのラプラシアン計算– 差を戻すSource: Delta Mush: smoothing deformations while preserving detail, DigiPro ’14.
Delta Mush (DigiPro 2014)© OLM Digital, Inc. 19• 変形のディテールを保ったスムース• Maya 2017で標準機能として実装• アルゴリズム– デフォルトポーズのラプラシアン計算– 現在のポーズとの差計算– 変形されたメッシュの計算– 変形されたメッシュのラプラシアン計算– 差を戻すSource: Delta Mush: smoothing deformations while preserving detail, DigiPro ’14.
Delta Mush (Digipro 2014)© OLM Digital, Inc. 20Source: Delta Mush: smoothing deformations while preserving detail, Digipro ’14.
Delta Mush (DigiPro 2014)© OLM Digital, Inc. 21Delta Mushでメシュを破壊する例
Patch-based Surface Relaxation© OLM Digital, Inc. 22Patch based surface relaxationの結果
Patch-based Surface Relaxation• Pixar のSIGGRAPH 2018 Talk• エッジの流れを保つ• Mayaのデフォーマーとして実装© OLM Digital, Inc. 23
アルゴリズム• メッシュの頂点ごとに– 頂点の周りの表面を平らに• 同じ平面に周りの頂点を投影• 重なりなく、角度を保つように微調整– 頂点に接続されるエッジ毎に重みを計算• エッジの流れに沿っていれば重みが高い– 頂点の移動計算(D)、新しい位置計算• 重みをかけたエッジの足算– 参考メッシュの使用• 参考メッシュの頂点の移動計算(S)• 移動計算S,Dの線形結合© OLM Digital, Inc. 24
結果© OLM Digital, Inc. 25アニメーションの結果 Delta Mush Patch Based Surface Relaxation
UVの自動生成© OLM Digital, Inc. 26
問題• オブジェクトに貼るテクスチャ– UV座標の定義• メッシュを切って2次元に展開• できるだけ歪みが出ないように© OLM Digital, Inc. 27
解決手法• 変形の歪みエネルギーを最小化– スムース最適化– 角度の変形: conformal map– 弾性的な変形• カットの最小化– 非スムース最適化– エッジの数– トータルのエッジ長© OLM Digital, Inc. 28
Least Squares Conformal Map (SIGGRAPH 2002)• エッジ角度の最小化• Least Squares method– 頂点二点を指定• 位置とUV• 点によって出力が変わる– Sparse linear systemを解く• メッシュを切らない– 穴があるメッシュでも可能• 歪みが生じる© OLM Digital, Inc. 29頂点の選択の例UVは[0,0], [0,1]
Autocuts (SIGGRAPH Asia 2017)• Symmetric Dirichlet Energyの最小化• アルゴリズム– 三角形の全体移動計算• 離れすぎなように• 重なりの原因– カットの長さと数を最小化– ユーザからの入力が必要• 重複の削除• パラメーターの微調整© OLM Digital, Inc. 30Source: Autocuts: simultaneous distortion and cut optimization for UV mapping, Siggraph Asia 2017
Autocuts (SIGGRAPH Asia 2017)• 論文の実装– パラメーターの自動調整– 重なりが残ってしまう© OLM Digital, Inc. 31
Optcuts (SIGGRAPH Asia 2018)• Symmetric Dirichlet Energyの最小化• アルゴリズム– Tutte’s embeddingからスタート• 重なりを避けるため– 歪みの最小化• 頂点の移動• エッジのカット・マージ• 完全自動処理– 最適なカットを見つける– 重なりなし• 遅い© OLM Digital, Inc. 32Source: OptCuts: joint optimization of surface cuts and parameterization, Siggraph Asia 2017
Optcuts (SIGGRAPH Asia 2018)• Symmetric Dirichlet Energyの最小化• パラメーター空間でのオペレーション– カット:異なるUV値が可能– マージ:同じUV値にする© OLM Digital, Inc. 33Source: OptCuts: joint optimization of surface cuts and parameterization, Siggraph Asia 2017カット マージ
Optcuts (SIGGRAPH Asia 2018)© OLM Digital, Inc. 34Result of Optcuts on Bimba mesh (5058 vertices, 9999 faces), computed in 64s (4m28s before optimization).
Optcuts (SIGGRAPH Asia 2018)• 論文の実装– 執筆者のソースコードから– 速度の改善• メモリ関連‐ アロケート、レイアウト• メッシュのサイズによって2x~13x早い• 改善予定– メモリ管理の改善– 最近の研究で高速化可能• Analytic Eigensystems for Isotropic Distortion Energies (Siggraph 2018)‐ 収束の最小化を高速化するEnergy decomposition• Efficient bijective parameterizations (Siggraph 2020)‐ 歪み最小化高速化© OLM Digital, Inc. 35Face nb Optcuts (s)OLMOptcuts (s)Speed up6266 126 45 2.820532 4546 413 1124136 6846 497 13.725706 8448 828 10.2
Color Keying© OLM Digital, Inc. 36
グリーンバック除去とは© OLM Digital, Inc. 37© TOMY・OLM/ファントミラージュ!製作委員会・テレビ東京著作権の関係により画像を掲載しておりません
Green-Screen Keying via Color Unmixing (TOG 2016)• Disneyから• 色の分布解析– Mean value– Covariance matrix– 色分布との距離の最小化• 出力のピクセルが分布から来る色の組み合わせであると仮定• 組み合わせから背景の色を削除• CPUでは遅い– 最適化が収束しづらい– DisneyがGPUで実装• 再実装がうまくできなかった© OLM Digital, Inc. 38Input frame
Green-Screen Keying via Color Unmixing (TOG 2016)• Disneyから• 色の分布解析– Mean value– Covariance matrix– 色分布との距離の最小化• 出力のピクセルが分布から来る色の組み合わせであると仮定• 組み合わせから背景の色を削除• CPUでは遅い– 最適化が収束しづらい– DisneyがGPUで実装• 再実装がうまくできなかった© OLM Digital, Inc. 39Result alpha channel
Green-Screen Keying via Color Unmixing (TOG 2016)• 論文の実装– Mean Value使う– Covariance matrix使わない– 色の分布は手動入力– 二色の組み合わせ• 速度改善• エッジの一部改善– 照明、肩• 滑らかさ落ちた• 内側に穴ができる– 通常はマスク対応© OLM Digital, Inc. 40OLM Color Keying
Mask Expander• マスクは合成・キーイングの際に使われる– フレームごとの詳細なマスク– かなりの時間を要する• ラフなマスクから詳細なマスクへ– 色の近接性によりラフなマスクを膨張させる– マスクの色の分布への距離から• SIGGRAPH 2019 (Poster)で発表– Efficient Mask Expansion for Green-Screen Keying using ColorDistributions© OLM Digital, Inc. 41
Results© OLM Digital, Inc. 42入力 入力マスクMask Expanderの結果 NukeのPrimatteの結果© TOMY・OLM/ファントミラージュ!製作委員会・テレビ東京著作権の関係により画像を掲載しておりません著作権の関係により画像を掲載しておりません著作権の関係により画像を掲載しておりません著作権の関係により画像を掲載しておりません
NukeのKeylight• とてもシンプルな式– G>(R+B) / 2 ⇒ alpha = 1 – (G – (R+B) / 2)– Else alpha = 1• Open FXプラグイン• 再実装– Nukeのプラグイン– デザイナーの要望に応じる• 不要なパラメーターを削除– 標準のKeylightよりも早い(5xぐらい)– 結果は同じ© OLM Digital, Inc. 43
比較© OLM Digital, Inc. 44レンダリング:Nuke Keylight 9m30s, OLM Keylight 7m30sキーライトノード13 個、 Keylightのみの処理時間がNuke版 2m30s⇒ OLM版 30s© TOMY・OLM/ファントミラージュ!製作委員会・テレビ東京著作権の関係により画像を掲載しておりません
今後の課題• SIGGRAPH 2020の最新の研究– Nonlinear Color Triads for Approximation, Learningand Direct Manipulation of Color Distributions• Bending parameterとともにColor triadとして分布を表現• どのように分布への距離を計算するか?– NASOQ: Numerically Accurate Sparsity-Oriented QPSolver• Disneyの論文の実装の改善が可能• 既存の手法の活かし方– keylightの結果を最適化の初期状態として利用可能?© OLM Digital, Inc. 45
まとめ• プロダクションに活かせる研究を見つける– 毎年積極的にSIGGRAPHに投稿・参加• Talk Sessionで大手のスタジオからヒントを得る– JCGTなどの論文を調査• 導入までの時間を短縮する方法– 研究段階からプロダクションレディな状態へ• 研究者から開発者への引継ぎ– デモ・社内発表– テストの依頼© OLM Digital, Inc. 46