Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CGと機械学習

 CGと機械学習

CGと機械学習の入門

8f1b37bfc933d958b3ad72e8a7190da5?s=128

Kaito

May 04, 2021
Tweet

Transcript

  1. CGと機械学習(⼊⾨)

  2. ⽬次 2 Ø CGレンダリングの紹介 Ø ラスタライゼーション (Rasterization) Ø レイトレーシング (Ray

    Tracing) Ø Deep Denoising Ø Deep Denoising (Nvidia) Ø Denoising (Pixar/Disney) Ø DeepShading Ø Super Sampling Ø MSAA Ø チェックボード (Sony) Ø DLSS (Nvidia) Ø Differentiable Rendering
  3. CGレンダリングの紹介 3

  4. ラスタライゼーション (Rasterization) 4

  5. Rasterization 5 Rasterization

  6. Graphics Pipeline 6 Rasterization

  7. Graphics Pipeline 7 Rasterization

  8. Graphics Pipeline 8 Rasterization

  9. Graphics Pipeline 9 Rasterization

  10. Graphics Pipeline 10 Rasterization

  11. Graphics Pipeline 11 Rasterization

  12. 12 Rasterization Graphics Pipeline

  13. 13 Rasterization Blinn-Phong Reflectance Model Ø 局所的な反射モデル Ø 反射を3種類に分ける Ø

    「鏡⾯反射」(specular reflection) Ø 「拡散反射」(diffuse reflection) Ø 「環境反射」(ambient reflection)
  14. 14 Rasterization Diffuse Reflection Ø ランバート反射を使⽤ Ø カメラの位置と関係ない

  15. 15 Rasterization Diffuse Reflection

  16. 16 Rasterization Specular Reflection Ø カメラの位置と関係ある Ø ⼊射⾓=反射⾓ Ø 反射光の⽅向とカメラの⽅向が近ければ近いほど明るい

  17. 17 Rasterization Specular Reflection Ø viewベクトル(カメラ⽅向)と⼊射光ベクトルのハーフベクトルを計算 Ø ハーフベクトルとshading pointの法線ベクトルのドット積を計算

  18. 18 Rasterization Specular Reflection

  19. 19 Rasterization Ambient Reflection Ø カメラや光源に依存しないコンスタントな発光 Ø shading pointが真っ暗になるのを防ぐ

  20. 20 Rasterization Blinn-Phong Reflectance Model

  21. 21 Rasterization Shading Type

  22. レイトレーシング (Ray Tracing) 22

  23. Why Ray Tracing? 23 レイトレーシング (Ray Tracing) Ø ラスタライゼーションは速いが、品質が悪い Ø

    グローバルイルミネーションの処理が難しい Ø 影などは別途処理必要(shadow mapping) Ø 光沢反射の実現が難しい
  24. Emission Theory of Vision? 24 レイトレーシング (Ray Tracing)

  25. Recursive (Whitted-Style) Ray Tracing 25 レイトレーシング (Ray Tracing) J. Turner

    Whitted - Wikipedia
  26. 26 レイトレーシング (Ray Tracing) Recursive (Whitted-Style) Ray Tracing Spheres and

    Checkerboard, T. Whitted, 1979
  27. Radiometry 27 レイトレーシング (Ray Tracing) Ø Whitted-Style Ray Tracing Ø

    結局はBlinn-Phong modelを使っている Ø 正しくない Ø Radiometry (放射測定)が必要 Ø Path Tracingの基礎となる
  28. Radiometry 28 レイトレーシング (Ray Tracing) Radiant Energyとして定義する Radiant Flux (power)

    として定義する 単位時間内に放出、吸収、反射または伝播したpower
  29. Radiometry 29 レイトレーシング (Ray Tracing)

  30. Radiometry (Radiant Intensity) 30 レイトレーシング (Ray Tracing) 定義︓Unit Solid Angle

    (単位⽴体⾓) 毎に放出したpower
  31. Radiometry (Radiant Intensity) 31 レイトレーシング (Ray Tracing) Ø ⾓度 (angle)

    Ø 𝜃 = ! " Ø 円のラジアン (radian) は2𝜋 Ø ⽴体⾓ (solid angle) Ø Ω = # "! Ø 球のステラジアン (steradian) は4𝜋
  32. Radiometry (Irradiance) 32 レイトレーシング (Ray Tracing) 定義︓単位投影エリア (unit project area)

    毎に吸収したpower
  33. Radiometry (Irradiance) 33 レイトレーシング (Ray Tracing)

  34. Radiometry (Radiance) 34 レイトレーシング (Ray Tracing) 定義︓単位投影エリア、且つ単位⽴体⾓毎に放出、吸収、反射または伝播したpower

  35. Radiometry (Radiance) 35 レイトレーシング (Ray Tracing)

  36. BRDF 36 レイトレーシング (Ray Tracing) Ø Bidirectional Reflectance Distribution Function

    Ø ⼊射光を特定の⽅向にどれぐらい反射するのかを定義する⽅程式(Material Model)
  37. Reflection Equation 37 レイトレーシング (Ray Tracing) Ø Refletion Equation

  38. Rendering Equation 38 レイトレーシング (Ray Tracing) Ø Refletion Equation Ø

    Rendering Equation Ø ⾃発光の物体もカバーできるよう発光項𝐿$ を追加
  39. Monte Carlo積分 39 レイトレーシング (Ray Tracing)

  40. Monte Carlo積分 40 レイトレーシング (Ray Tracing)

  41. Monte Carlo積分 41 レイトレーシング (Ray Tracing)

  42. Ray Tracing (Path Tracing) 42 レイトレーシング (Ray Tracing)

  43. Ray Tracing (Path Tracing) 43 レイトレーシング (Ray Tracing) Ø 直接照明のみ考える場合

  44. Ray Tracing (Global Illumination) 44 レイトレーシング (Ray Tracing) Ø 間接照明の場合は︖

    Ø ⼤域照明 (Global Illumination) Ø P点をカメラと仮定してQ点の直接照明を計算するのと同じ
  45. Ray Tracing (Path Tracing) 45 レイトレーシング (Ray Tracing)

  46. Ray Tracing (Path Tracing) 46 レイトレーシング (Ray Tracing) Ø 問題点1

    – 指数爆発 Ø 𝑏𝑜𝑢𝑛𝑐𝑒𝑠 = 1の場合のみ指数爆発が起こらない
  47. Ray Tracing (Path Tracing) 47 レイトレーシング (Ray Tracing) Ø Path

    Tracing Ø 𝑁 ≠ 1の場合はDistributed Ray Tracingと呼ぶ
  48. Ray Tracing (Path Tracing) 48 レイトレーシング (Ray Tracing) Ø 𝑁

    = 1の場合はノイズが⼤きすぎる Ø ピクセル毎に複数本の光線を⾶ばす
  49. Ray Tracing (Path Tracing) 49 レイトレーシング (Ray Tracing)

  50. Ray Tracing (Path Tracing) 50 レイトレーシング (Ray Tracing) Ø 問題点2

    – 再帰の停⽌条件に⼊る確率が⼩さすぎる
  51. Ray Tracing (Path Tracing) 51 レイトレーシング (Ray Tracing) 3回跳ね返る

  52. Ray Tracing (Path Tracing) 52 レイトレーシング (Ray Tracing) 17回跳ね返る

  53. Ray Tracing (Path Tracing) 53 レイトレーシング (Ray Tracing)

  54. Ray Tracing (Path Tracing) 54 レイトレーシング (Ray Tracing)

  55. Ray Tracing (Path Tracing) 55 レイトレーシング (Ray Tracing)

  56. Ray Tracing (Path Tracing) 56 レイトレーシング (Ray Tracing)

  57. Ray Tracing (Path Tracing) 57 レイトレーシング (Ray Tracing)

  58. Ray Tracing (Path Tracing) 58 レイトレーシング (Ray Tracing) 完成︕︕︕

  59. Ray Tracing (Path Tracing) 59 レイトレーシング (Ray Tracing) The Cornell

    box — http://www.graphics.cornell.edu/online/box/compare.html 写真 Path Tracing Global Illumination
  60. Deep Denoising 60

  61. Deep Denoising 61 Deep Denoising 1 sample per pixel rendering

  62. Deep Denoising (Nvidia) 62 Deep Denoising Interactive Reconstruction of Monte

    Carlo Image Sequences using a Recurrent Denoising Autoencoder
  63. Deep Denoising (Depth) 63 Deep Denoising

  64. Deep Denoising (Surface normal) 64 Deep Denoising

  65. Deep Denoising (Nvidia) 65 Deep Denoising Interactive Reconstruction of Monte

    Carlo Image Sequences using a Recurrent Denoising Autoencoder
  66. Deep Denoising (Pixar/Disney) 66 Deep Denoising Kernel-Predicting Convolutional Networks for

    Denoising Monte Carlo Renderings
  67. Deep Denoising (Pixar/Disney) 67 Deep Denoising Kernel-Predicting Convolutional Networks for

    Denoising Monte Carlo Renderings
  68. Deep Denoising (Pixar/Disney) 68 Deep Denoising

  69. Deep Shading 69 Deep Denoising Deep Shading: Convolutional Neural Networks

    for Screen Space Shading
  70. スーパーサンプリング 70

  71. MSAA 71 スーパーサンプリング

  72. MSAA 72 スーパーサンプリング ピクセル毎にN×Nサンプルを取る

  73. MSAA 73 スーパーサンプリング ピクセル内で平均する

  74. MSAA 74 スーパーサンプリング

  75. MSAA 75 スーパーサンプリング 4×4 Super Sampling (MSAA 4X)

  76. チェックボード 76 スーパーサンプリング Ø Sonyが採⽤した技術 Ø 各フレームは交替に半分のピクセルずつをレンダリングする Ø 残りの半分はbilinearまたはBicubic補完 Ø

    画⾯上に出⼒するフレームは現在フレームと1コマ前のものの融合 Ø 問題点 Ø 髪の⽑など信号の変化が激しい部位はバレる Ø 運動する時は残影を残してしまう
  77. DLSS 1.0 77 スーパーサンプリング Ø Nvidiaが考案した技術 Ø 深層学習スーパーサンプリング (Deep Learning

    Super Sampling) Ø スーパーサンプリングによるアンチエイリアシング Ø 問題点 Ø 運動すると違和感を感じることがある(残影や点滅) 訓練済みモデル 特化したモデル 64枚以上8K画像 1080P画像 超解像度 8K画像 スーパーサンプリング 4K画像
  78. DLSS 2.0 78 スーパーサンプリング Ø Nvidiaが考案した技術 Ø 完全に作り直し Ø 時間軸の導⼊

    Ø 問題点 Ø 反射は補完されない (低解像度のまま) 出典︓NVIDIA DLSS 2.0: AI レンダリングの⼤きな⾶躍
  79. DLSS 2.0 79 スーパーサンプリング

  80. DLSS 2.0 80 スーパーサンプリング Native 4K DLSS 2.0 (quality) CyberPunk

    2077 キアヌ・リーブズ
  81. Differentiable Rendering 81

  82. Differentiable Rendering 82 Differentiable Rendering Ø レンダリングの中の微分不可能の処理を微分可能な処理に置き換える Ø 3Dシーンを理解する (Inverse

    Rendering)
  83. Differentiable Rendering 83 Differentiable Rendering … … カメラの位置最適化 facebookresearch/pytorch3d: PyTorch3D

    is FAIR's library of reusable components for deep learning with 3D data
  84. Differentiable Rendering 84 Differentiable Rendering 6dof回転を予測 tensorflow/graphics: TensorFlow Graphics: Differentiable

    Graphics Layers for TensorFlow
  85. Differentiable Rendering 85 Differentiable Rendering Meshセグメンテーション tensorflow/graphics: TensorFlow Graphics: Differentiable

    Graphics Layers for TensorFlow