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

3,064 views

Published on

http://graphics.cs.williams.edu/papers/MotionBlurI3D12/ を読みました。

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,064
On SlideShare
0
From Embeds
0
Number of Embeds
1,826
Actions
Shares
0
Downloads
10
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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

  1. 1. i3D 2012Morgan McGuire NVIDIA and Williams CollegePadraic Hennessy Vicarious VisionsMichael Bukowski Vicarious VisionsBrian 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

×