SIGGRAPH 2020の個人的に気になった部分のまとめ / SIGGRAPH 2020 summary

E2dd989b2ba0f83d8a981b9cb3197bf1?s=47 mocobt
August 29, 2020

SIGGRAPH 2020の個人的に気になった部分のまとめ / SIGGRAPH 2020 summary

SIGGRAPH 2020の個人的に気になった部分のまとめ

著作権的にヤバそうだったら直ちに消すので連絡ください
(Please contact with me if I violate any copyrights, then I’ll delete this material immediately.)
mocobt@gmail.com

E2dd989b2ba0f83d8a981b9cb3197bf1?s=128

mocobt

August 29, 2020
Tweet

Transcript

  1. SIGGRAPH 2020
 気になったやつまとめ
 @mocobt


  2. About
 SIGGRAPH 2020の個人的に気になった部分のまとめ 
 Technical papersがメイン。著者 or arxivから公開されていない論文は略。 
 内容は合っているか謎。興味湧いたら自分で論文読んでね

    
 著作権的にヤバそうだったら直ちに消すので連絡ください 
 (Please contact with me if I violate any copyrights, then I’ll delete this material immediately.) 
 - mocobt@gmail.com
 

  3. Technical Papers


  4. Vid2Curve: Simultaneous Camera Motion Estimation and Thin Structure Reconstruction from

    an RGB Video
 Background: 
 MVSで細い物体の形状を復元することは難しい (特徴点が少ない&Naiveに点群を用いると大局的な形状を捉えにくい)
 先行研究ではカメラパラメータを事前に知っておく必要があった
 Contribution: 
 カメラポーズが未知でも細い物体を復元できる手法の開発
 マスクと直線画像を作成 → Dense Matching + BAで初期形状とカメラパラメータ復元 → カメラを増やして繰り返す
 Limitation: 背景がシンプルであることを仮定。カメラパラメータが不変である仮定があるため単一カメラのみ使用可能 
 Link: Paper, YouTube

  5. The Eyes Have It: An Integrated Eye and Face Model

    for Photorealistic Facial Animation
 Background: 
 HMD内部の赤外カメラで得た目の動きをアバターに反映させたいが、(カラー化して)Textureを貼るとArtifactが目立つ
 Contribution: 
 Light stageで顔Textureを取得→視線で条件付けしてVAEで次元圧縮→圧縮したTextureから目玉領域の取得→目玉Textureを目 玉Parametric modelにMappingするためDRで最適化(左図)。
 赤外カメラで得た目玉画像をLight Stageで撮影したTextureへVAE(+DR)を用いて変換(右図)。
 Test時はHMD着用時にリアルタイムで目玉Textureの推定可能。
 Limitation: 口のトポロジーは変わってないっぽい(テーマではないのでそれはそう)
 Link: official

  6. A System for Efficient 3D Printed Stop-motion Face Animation
 Background:

    
 コマ撮りアニメのためのフィギュアをつくるのはとてもつらい(顔のパーツが大量に必要な上に作成にかかる時間も大)
 Contribution: 
 トポロジー不変なmesh群、分割数、各パーツの数を入力として、フィギュア用のメッシュ群を生成する手法を提案
 Animationを通して顕著に変化する辺で分割→パーツの境界が平坦かつフレーム間で一貫するように最適化
 Limitation: 継ぎ目が汚いらしい。用いた分割手法は対称性を考慮していないため非対称なメッシュには使えないかも。
 Link: official

  7. Point2Mesh: A Self-prior for Deformable Meshes
 Background: 
 既存の点群にメッシュを貼る手法には、Watertight(穴なし)にするのが難しい or

    学習データが必要という欠点があった
 Contribution: 
 入力した点群のみを与えれば、適当な初期形状を点群の形に変形させることでメッシュを生成する最適化手法の提案
 初期メッシュ入力→変位推定して変形→点群をSampling→Samplingして得られた点群と入力点群の誤差を最小化
 Limitation: 既存手法(e.g. Poisson Mesh Reconstruction)と比べると、メモリや速度面で劣るっぽい
 Link: GitHub, arxiv 
 最適化の様子 入力点群
  8. Monte Carlo Geometry Processing:
 A Grid-Free Approach to PDE-Based Methods

    on Volumetric Domains
 Background: 
 幾何処理では対象領域でPDEを解くことが多い(例えばPoisson方程式を解くことによるPoisson Mesh Reconstruction)
 一方でメッシュに穴や自己交差があると適用できないことが多い(→メッシュフリーの手法が必要)
 Contribution: 
 レンダリングで用いられるモンテカルロ積分を用いてPDEを解く方法の提案 (下に例を示す; 間違ってるかも)
 右のように穴だらけのMeshでPDEを解くとFEM-basedだと14hours/ memory 30GB, この手法は1min/1GBですごい
 Limitation: 当然ながらすべてのPDEに適用できるわけではない
 Link: official
 Laplace方程式 (メッシュに欠損があると解けない ) 離散化して↓を再帰的に解く (Rendering方程式の解き方と似た考え) サンプリングして積分を取るとuが求まる (Kakutani’s Principle) ① ② ③
  9. Phong Deformation: A Better CO Interpolant for Embedded Deformation
 Background:

    
 三角形MeshベースのDeformation手法はVisual Artifactが生じやすい
 Contribution: 
 高速で計算誤差が少なく(O(h^3) accurate)、C0連続なMesh Deformation手法の提案 (手法が滅茶苦茶シンプル!)
 Limitation: 四面体だと精度面に限界あるから多次元に拡張する必要あるよね
 Link: official 
 最終的に評価する変形勾配 三角錐中心の変形を強く考慮 各点の変形を考慮 X x
  10. Medial Elastics: Efficient and Collision-ready Deformation via Medial Axis Transform

    
 Background: 
 3次元物体の衝突判定を効率的に行いたいが、AABB(xyz座標のmax/minを用いた直方体)では誤差が大きい
 物体が剛体だと有限個の凸包で衝突を近似できるが、物体が部分的に動く場合(e.g. skeleton animation)計算量が大
 Contribution: 
 Medial Axis Transform (MAT)と呼ばれる、メッシュからスケルトンを生成する変換を衝突判定に導入
 スケルトンのある頂点群の各頂点に対して、ある半径の球を定義 → 複数の球を連結してFig.3のような形状で衝突判定
 Limitation: 現状のMATには階層構造がないため、BVHのように段階的に衝突判定を行うことができない
 Link: Official 

  11. Projective Dynamics With Dry Frictional Contact
 Background: 
 弾性体シミュレーションを行う上で物体間の衝突を再現したい
 精度は良いが計算は遅い手法と、精度は悪いが計算は速い手法があるが、丁度いい塩梅を調整できる手法がほしい


    Contribution: 
 Projective Dynamicsにおいて内力のPotentialを改良 (詳しくは論文読んで)
 Implicit Euler-basedな手法による結果と似たような見た目の結果を15倍~30倍程度の速度で得られるようになった
 Limitation: あまり安定して収束しない。頂点間の接触のみを計算しているため、細い物体との接触には非対応 
 Link: Paper

  12. Homogenized Yarn-level Cloth
 Background: 
 繊維レベル(Yarn-Level)の布シミュレーションはリアルだが計算コストが大きい
 Contribution: 
 布の変形を均質化法 (微細構造の繰り返しで構成される構造と等価なモデルを定義して布の変形を求める手法)によって求め、

    メッシュベースのdeformationに利用する手法の提案
 従来手法と比べて、5.0~30.0倍程度高速化(560 sec/frame -> 80 sec/frame; まだまだ遅い?)。
 Limitation: 局所的な布の動き(例えば布がほどけるような動き)は再現できない
 Link: Paper

  13. Hierarchical Optimization Time Integration for CFL-rate MPM Stepping
 Background: 


    CFL条件の限界で(≒timestepを可能な限り大きくして)MPMを解きたいが、従来手法はGridの速度更新で無駄が多い
 局所的なParticleの集合をマージする手法(H-multigrid)は収束性の向上に有用だが、計算速度の改善には寄与しない
 Contribution: 
 Grid nodeの位置に依存したPotential Energyを導入して、陰解法ベースの速度更新問題をEnergy最小化問題に帰着
 Particleが密である部分の計算結果を疎である部分の計算に利用することで計算速度を向上する手法HOTを提案
 Limitation: 最も密な階層の計算でオーバーヘッドが生じている...らしい(よくわからん)
 Link: GitHub

  14. Accurate Face Rig Approximation with Deep Differential Subspace Reconstruction
 Background:

    
 Artistのリグは複雑すぎるので、非線形な変形を単純なリグで近似したい
 先行研究の[Bailey et al. TOG 2018]はNNでDeformationを近似しているだけで、App間の移植がしんどい
 Contribution: 
 Laplacian適用後の変形(=微分座標系での変形)を用いて局所的な誤差を抑えつつ非線形な変形を学習する手法の提案
 Rig parameterを学習するためApp間の移植が容易&変形を重点的に保持したい点を指定可能という利点あり
 Limitation: トポロジーが異なるメッシュでは別途学習する必要あり
 Link: arxiv

  15. Fast and Deep Facial Deformations
 Background: 
 Production Filmレベルのリグは複雑すぎるので、非線形な変形をNNで近似したい
 Contribution:

    
 Rig parametersからTexture Spaceで表現された変形を学習するNNの提案
 UVさえ適切に設定すれば、トポロジーが異なるメッシュに対しても変形を与えられる点で前ページの手法とは異なる
 Limitation: 変形方向が異なる点がUV上で近くにある場合(例えば上唇と下唇が隣接していて口を開けたとき)に破綻する
 Link: official

  16. Skeleton-Aware Networks for Deep Motion Retargeting
 Background: 
 トポロジーが異なるスケルトン間でモーション(各ジョイントの回転)を転移(Retargeting)したい
 Contribution:

    
 各スケルトンをPrimal Skeletonという共通スケルトンへ変換しMotionのみを学習するMotion Retargeting手法を提案
 Motion FeatureからTarget SkeletonのMotionを生成。生成Motionが本物っぽくなるようにAdversarial Lossを導入
 Limitation: スケルトン間の動きが全く異なっている場合(例えば人間と犬)は転移できない
 Link: official

  17. RigNet: Neural Rigging for Articulated Characters
 Background: 
 MeshからSkeletonのトポロジーと頂点のSkinning weightsを両方推定する手法はない(Joint数が不定のため難しい)


    Contribution: 
 Rigging済Mesh群から各頂点に対して最も近いJoint位置からの変位及びJoint位置の候補分布を求めるGCNを学習。
 点の密度と候補分布からJoint位置を導出し、隣接関係及びRoot位置を推定。
 その後、Skinning Weightsを予測するGCNを学習。
 Test timeではすべてをつなげてMeshを与えるだけでSkeletonとSkinning Weightsを推定可能。
 Limitation: 一気に推定できるわけではない。Rig付きのMeshを大量に用意するの難しそう...
 Link: official

  18. Character Controllers Using Motion VAEs
 Background: 
 MocapからMotionを生成したいが[Neural State Machine]のように物理制約を加味しない手法は不自然な動きになる


    Contribution: 
 Root position, 向かっている方向、速度と角速度、各jointの位置、速度、向きを圧縮するCVAEベースの手法Motion VAEを提案。 前時刻の状態で条件づけすることで次フレームの姿勢を生成可能。
 Motion VAEのlatent vectorをRLタスクに活かせることも実証 (RLわからん)
 Limitation: 大きく偏ったデータ(例えば左折に比べて右折が多い)の場合に正しく学習できない
 Link: Official 

  19. Fast and Flexible Multilegged Locomotion Using Learned Centroidal Dynamics
 Background:

    
 自然な歩行モーションを生成する際、環境が複雑になればなるほど脚の自由度が増えてしんどい
 RLベースの歩行軌道生成手法は前処理が必要で扱いにくい
 Contribution: 
 IPCやCDMという手法を組み合わせて少ない自由度で歩行軌道を近似
 接地時間&位置の最適化にはCMA-ESを使用。愚直に用いると遅いので、NNでパイプライン全体を近似して高速化
 Limitation: CDMベースの現在手法だと関節が考慮されないので、モーキャプデータからモーションをつくるのは難しい
 Link: Official 

  20. Learned Motion Matching
 Background: 
 Motion Matchingという1秒毎に区切られたMocap dataの断片をつなぎ合わせて連続的なMotionを作る手法がある
 Motion Matchingは現在の状態に応じてDBから最適なMotionを探索するため、探索コストがデータ量に比例する


    Contribution: 
 現在と未来の歩行位置、角度、Localの脚の位置、尻のLocal 速度(=下図の\hat{x})に類似したDB中のベクトル(=下図のx)から各 joint/RootのTranslation/Rotation速度(下図のy; zは潜在変数)を推定可能なMotion Matchingの学習方法を提案
 Limitation: Projector(DBから類似したMotionを探索するStep)のコストがエグい&隠れ層が増えると実行時間が増す
 Link: Official 

  21. Penrose: From Mathematical Notation to Beautiful Diagrams
 Background: 
 数式を図に起こすのはつらい


    人間は誰しもKeenan Craneのように図を綺麗に描きたい
 Contribution: 
 数式を図に起こすための言語Penroseを開発 (現在はOSXならbuild可能っぽい)
 Limitation: 数式以外の図を起こすのは無理。デモアプリのためパフォーマンスはそこまで高くない
 Link: Official 

  22. Sequential Gallery for Interactive Visual Design Optimization
 Background: 
 パラメタを調整して入力を加工するソフト(写真加工,

    Procedural Modeling)がアーティスト界隈で人気
 ただ、満足いく結果を得るためにいじるパラメタ(例えば輝度や彩度)が滅茶苦茶多くてつらい
 Contribution: 
 グリッド状に並んだ写真を1枚ずつクリックしていくだけで、所望の結果が得られるアプリケーションの開発
 パラメタ数次元の探索空間をユーザのクリック毎に2次元の部分空間へ圧縮するベイズ最適化ベースの手法を提案
 Limitation: 音などの可視化が難しいデータには向かない。パラメタ数があまりに多い(>=20)と上手く行かない。
 Link: official

  23. A Class of C2 Interpolating Splines
 Background: 
 Interpolating Splineに関する研究は2017年頃まで行われていたが、どれも何かしらの欠点を抱えていた


    Contribution: 
 C2(曲率が連続), Local Support(制御点を動かすと隣接する辺のみが動く)、導出に最適化不要、自己交差なしといった特性を持 つInterpolating Splineの構成方法を提案
 Limitation: C3ではない。各補間関数がすべての特性を満たすわけではない。
 Link: official (プレゼンが滅茶苦茶わかりやすい&ブラウザで試せるDemoあり) 

  24. おまけ


  25. Courses
 • Introduction to Vulkan Computer Graphics API
 - About:

    VulkanのTutorial(3時間)。一気に理解するのは無理なので、気になった部分をつまむのが良さそう
 - Ref: Vulkanを日本語で理解したい場合はここ見るのが良い気がする
 
 • The Taichi Programming Language: A Hands-On Tutorial
 - About: お馴染みGraphics用並列計算+AutoDiff LibraryのTaichiの紹介
 - Ref: これ(中国語)とほとんど内容同じだった
 
 • Dynamic Deformables: Implementation and Production Practicalities
 - About: Mesh-based deformationの解説。公開資料が良さげ
 
 • Physically based shading in theory and practice
 - About: PBRの解説。公開資料にセリフあり
 
 • Physics-based Differentiable Rendering A Comprehensive Introduction
 - About: みんな大好きPhysics-basedのDifferentiable Renderingの解説。公式が動画公開してくれてる

  26. Talk: Sculpt Processing for Character Rigging
 Background: 
 あるキャラクターメッシュの頂点変位をトポロジーが異なる別のキャラクターに転移したい(左図上段から下段)
 [Deformation

    Transfer]だと初期姿勢によってはうまく変形できない(右図SP04)
 Contribution: 
 Deformation Transferの目的関数にSourceからTargetへの変換用回転行列を導入
 その他難しい理論は同じ著者(de Goes氏)のTech Paper参照
 Link: Paper, Vimeo

  27. 引用が多かったような気がする論文
 • [Kovar et al. SIGGRAPH 2002] Motion生成系の元祖Motion Graph 


    • [Summer and Popovic. SIGGRAPH 2004] Deformation Transfer。そのうち読んで解説記事書きます。 
 • [Stomakhin et al. TOG 2013] MPMをCG用途に初めて用いた論文。 こっちのCourseもおすすめ
 • [Bouaziz et al. TOG 2014] Projective dynamics。リアルタイム物理シミュレーション好きな人向け 
 • [Simon Clavet. GDC 2016] Motion Matchingの元ネタ。論文ではなくUbisoftのTechnical Talk。 
 • [Bailey et al. TOG 2018] Meshの非線形な動きをNNで近似する系の(多分)元祖。 
 • [Hanocka et al. TOG 2019] 著者製のせいだろうが利用している論文が多かった。ただ他所だと見ない。