Successfully reported this slideshow.
Your SlideShare is downloading. ×

CG 論文講読会 2013/2/12 "A reconstruction filter for plausible motion blur"

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 39 Ad

More Related Content

Similar to CG 論文講読会 2013/2/12 "A reconstruction filter for plausible motion blur" (20)

Advertisement

Recently uploaded (20)

CG 論文講読会 2013/2/12 "A reconstruction filter for plausible motion blur"

  1. 1. i3D 2012 Morgan McGuire NVIDIA and Williams College Padraic Hennessy Vicarious Visions Michael Bukowski Vicarious Visions Brian Osman Vicarious Visions CG 論文講読会 2013 / 2 / 12 Ryo Suzuki 1
  2. 2.  高品質なリアルタイム motion bluer filter  Color, depth, screen-space velocity buffer を 使う2D ポストプロセス  オフラインでの 2D 画像の確率論的再構築 (stochastic reconstruction) を応用 2
  3. 3.  本物のカメラは露光時間に入った光をすべて合成  動く物体は screen-space の速度ベクトルに沿って にじむ 3
  4. 4.  カメラが高速に移動する物体を追跡するとき、そ のオブジェクトは鮮明なままで、それ以外のシー ンにブラーがかかる  動きは画像平面上で計測され、観測者自身の動き や方向と相関的 4
  5. 5. (余談)ブラーの目安 [Vlachos 2008]  フルフレームシャッターの 15% の露光時間 ― 60fps なら 1/60*0.15 sec  最大の速度をスクリーン幅の 4 % に抑える 今回の論文では結果を強調するために50%の露光時間 5
  6. 6. 妥当性のあるポストプロセス (real-time) スマートな再構築 (offline) 6
  7. 7.  モーションブラーのような現象を再現する  露光部分を補う情報が欠如しているため理想 的な品質ではないがリアルタイムで実行可能 7
  8. 8.  露光中のシーンを再現する複数のフレームをレンダリン グし平均をとる  理想的な結果を生成するが、フレームを何度もレンダリ ングするためコストが大きい 8
  9. 9.  動く物体にブラーのかかったテクスチャをマップする  シルエットが鮮明で、テクスチャのつなぎ目が目立つ 「MotoGP 2」や「Split Second」など 9
  10. 10.  動く物体を大きく描画し、その中でシェーディングやテ クスチャをぼかす  深度ソートが必要で、凸状のジオメトリにしか適用でき ない 10
  11. 11.  オブジェクトを異なるバッファに描画し、速度ごとにブ ラーをかけ、深度に応じて合成  自己遮蔽が少なく、深度が単純なシーンで有効 「Need for Speed 2」や「MotoGP ’07」など 11
  12. 12.  Velocity buffer に沿って per-pixel blur をかける  シルエットが鮮明  オブジェクトの背景がぼやける  オブジェクトのサイズが縮む  斜めのサーフェイスに十分ブラーがかけられない 12
  13. 13.  メッシュに縮退ポリゴンを仕込み velocity をレンダリ ングする際に物体を大きくする  境界を柔らかくできるが、背景に過剰な blur がかかる  パーティクルやアルファで切り抜かれたオブジェクトに は適用できない 13
  14. 14.  深度を持つ不透明な線分を低解像度のバッファにレンダ リングし、velocity buffer を拡大  アーティファクトは velocity 膨張と似ている 「ロストプラネット2」 http://www.4gamer.net/games/039/G003901/20070809235901/ 14
  15. 15.  Velocity buffer にガウシアンフィルタをかける  Velocity 膨張の欠点をある程度回避できる  モーション中に、オブジェクトの周辺に「見えない」 バッファが存在するように見える 「Unreal Engine 3」など 15
  16. 16.  物理的に正しいシーンを再構築しようとする  フィルタ自体は高速だが、入力としてレイト レーシングやマイクロポリゴンのような 高密度かつ確率論的サンプルが必要 16
  17. 17.  単純にピクセルのサンプルを平均  固定された狭いカーネルで畳み込み 17
  18. 18.  空間上の画像処理でサンプルの異方性を推定  古典手法に比べ、低密度のサンプルに対して も高品質な画像を生成  数秒から数分かかる 18
  19. 19.  サンプル密度が増えるほど物理的に正しい結果に収束  ピクセルから十分離れたサンプルを考慮する  Static / motion , foreground / background という軸に従ってサン プルを分類 19
  20. 20.  Shirly’s reconstruction からアイデアをもらう  ピクセルが十分遠くのサンプルに寄与する  膨張した velocity をヒューリスティックとして使う  パラメータ k : モーションブラーの最大半径  パラメータ S : サンプリング数 20
  21. 21. Input  V : 各点の移動量を符号化 (GL_RG8)  C : 瞬間のカラー画像 (GL_RGB16F)  Z : camera space のリニアな深度 (GL_R16D) 21
  22. 22. Intermediate buffer & Output  TileMax : 各タイルで支配的な速度ベクトルを保存 (GL_RG8)  NeighborMax : TileMax の近傍を含めたタイルで支配的な速度ベク トルを保存 (GL_RG8)  Result : 最終画像 (RGB_RGB16F) 22
  23. 23. 23
  24. 24.  X’ : 前フレームの screen space position  X : 現在のフレームの screen space position  タイル内の最大の V[X] を保存 24
  25. 25.  近接する TileMaxタイルの最大の velocity を保存  vmax は x, yそれぞれの要素の最大値ではなく、最も大 きいベクトルを返す 25
  26. 26.  Velocity map が膨張する 26
  27. 27.  Reconstruction filter をフル解像度で適用  実装はこれだけ! S S 27
  28. 28. 28
  29. 29. 29
  30. 30. 30
  31. 31. 31
  32. 32.  全ピクセルに blur @1280x720 GeForce 480 : 6.2ms (k=31) GeForce 480 : 2.7ms (k=5) Xbox360 : 1.5ms (k=5) 32
  33. 33.  カラーや深度と関係なく velocity map にレンダリング  爆発、大声、熱、モザイク等のエフェクトに容易に応用可能  過剰な blur でスピード感を生み出す 33
  34. 34.  任意の画像のポストプロセスへの応用  C は写真、アーティストが D と V をペイント  リアルタイムな motion blur ブラシとして使える 34
  35. 35.  露光時間中のライティングはある瞬間のもの に固定(どのモーションブラー手法にも共通 の欠点) 35
  36. 36.  タイル内の 速度ベクトルの干渉  ブロックノイズ 36
  37. 37.  線形の velocity を仮定している  大きな非線形のモーションを低 フレームレートでレンダリング すると品質低下 http://ameblo.jp/4rusmasako/day-20130113.html 37
  38. 38.  支配的速度ベクトルの侵入を解決 2番目に支配的な速度ベクトルも保存?  Defocus との組み合わせ Defocus の前? 後? 同時に? 手法は? 38
  39. 39. ― ご清聴ありがとうございました 39

×