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

Lens Tracing

Lens Tracing

LT slide for OSK May LT

A7a5efde86e0137d32a93d8609b7a022?s=128

yumcyawiz

May 17, 2020
Tweet

Transcript

  1. Lens Tracing レイトレで写真レンズを使う @yumcyawiz

  2. Table of contents 1. Introduction 2. 幾何光学の基礎 3. 収差 4.

    レンズトレーシング 5. フォーカシング 6. レイのサンプリング 7. レンダリング結果 1
  3. Introduction

  4. レンズトレーシング 複数枚のレンズで構成される光学系をレイトレすること Figure 1: 光路図 2

  5. メリット 写真レンズで撮ったものとほぼ同じ描写が得られる Figure 2: レンダリング結果 3

  6. 幾何光学の基礎

  7. 薄レンズモデル 非常に薄い単レンズのモデル 収差は 0(現実にはあり得ない) p: 主点 f: 物側焦点 f′: 像側焦点

    z y p f f′ 4
  8. 薄レンズモデル 焦点距離 l = f′ − p, 物面までの距離 a, 像面までの距離

    b レンズの式 1 a + 1 b = 1 l z y a b p f f′ 5
  9. 厚レンズモデル 厚みを持った単レンズのモデル p: 物側主点, p′: 像側主点 H: 物側主平面, H′: 像側主平面

    z y H H′ p p′ f f′ 6
  10. 厚レンズモデル レンズの式が同様に成り立つ 焦点距離 l = f′ − p′ z: 物平面位置,

    z′: 像平面位置として 1 z − p − 1 z′ − p′ = 1 l z y H H′ p p′ f f′ 7
  11. レンズ系 複数枚のレンズ系でも入射面、射出面のみに注目して p, f, p′, f′ が同 様に定義される z y

    · · · p p′ f f′ 8
  12. 近軸近似 上記の議論はレンズを平面として見て行っていた。 レンズが球面の場合、これは z 軸 (光軸) に近い光線のみについて成 り立つので近軸近似と呼ばれる。 z y

    9
  13. 収差

  14. 収差 収差とは結像のずれのことで、収差が存在するとピントを合わせて もボケた状態になる。 現実のレンズでは収差が必ず存在する。 z y 像面 横収差 縦収差 10

  15. ザイデルの 5 収差 収差にはザイデルの 5 収差と呼ばれる次の 5 つがある。 • 球面収差

    • コマ収差 • 非点収差 • 像面湾曲 • 歪曲収差 また、光の分散による色収差も存在する。 11
  16. 球面収差 レンズが球面であるために発生する収差 z y 像面 12

  17. コマ収差 軸外から来る光が一点に収束しない収差 彗星の尾のような形に見えるためそう呼ばれる z y 像面 13

  18. 非点収差 軸外から来る光に対し、X 方向と Y 方向で焦点距離にずれがあること で起こる収差 14

  19. 像面湾曲 像面が平面とならず、湾曲してしまっていること z y 像面 15

  20. 歪曲収差 撮影した物体が歪んだ形になってしまうこと 16

  21. 色収差 波長による屈折率の違いから発生する収差 z y 像面 17

  22. レンズトレーシング

  23. レンズの種類 レンズには以下の 2 種類がある • 球面レンズ • 非球面レンズ ここでは球面レンズのみについて考える 以下では特定の波長ごとにレンズトレーシングすることを考える

    18
  24. レンズの表現 r: 曲率半径 (curvature radius) h: 開口半径 (aperture radius) d:

    次の要素までの距離 (thickness) z y 像面 第 1 面 第 2 面 r1 c1 h1 d1 r2 c2 h2 d2 19
  25. レンズ系の表現 レンズ系は次のような表形式データとして表現できる Index r h ior d 0 29.475 25.2

    1.67 3.76 1 84.83 25.2 1 0.12 2 19.275 23 1.67 4.025 . . . . . . . . . . . . . . . Table 1: レンズ系の表現 r = 0 のときは絞りとする 20
  26. レンズ系の表現 Figure 3: ダブルガウス型レンズ 21

  27. レンズトレーシング レンズトレーシングは次のような処理を繰り返すことで行われる 1. レンズとの衝突位置を計算 2. 衝突位置が範囲外なら終了 3. フレネル反射率を計算し、ロシアンルーレットで反射か屈折か 決める 4.

    反射なら反射方向を計算し, 次のレイを生成 5. 屈折なら屈折方向を計算し, 次のレイを生成 (全反射なら反射さ せる) 22
  28. レンズとの衝突位置の計算 球面とレイの衝突計算を行えばよい. ∥⃗ o + t⃗ d −⃗ c∥2 =

    r2 を t について解く. 得られた t で衝突位置 ⃗ p = ⃗ o + t⃗ d を計算する. p2 x + p2 y ≤ h2 であればレンズ面上に衝突点がある. 23
  29. 波長ごとの屈折率の計算 Sellmeier の式を用いて計算できる n2 = 1 + ∑ i Biλ2

    λ2 − Ci ある光学ガラスに対応する係数 Bi, Ci の値 がhttps://refractiveindex.info/にたくさんある 24
  30. フレネル反射率の計算 Schlick の近似式を計算 F(θ) = F0 + (1 − F0)(1

    − cos θ)5 F0 = ( n1 − n2 n1 + n2 )2 25
  31. 屈折方向の計算 お馴染みだと思うので省略 実装する上では前面の ior を何らかの方法で覚えておく必要がある 26

  32. フォーカシング

  33. フォーカシング レンズ系を z = zf にピント合わせすることを考える. ピント合わせはレンズ系全体を δ だけ動かすことで行う. 27

  34. フォーカシング 厚レンズ近似で考えると, レンズの式で z = zf , z′ = 0

    として 1 zf − p + δ + 1 −p′ + δ = 1 l これを解いて δ = 1 2(p − zf + p′ − √ (p − zf − p′ )(p − zf − 4l − p′ ) 28
  35. 主要点の計算 p, f, p′ , f′ は微小な y で光軸に平行な光線を入射し、レンズトレーシ ングを行って得られる出射光線から計算できる

    29
  36. レイのサンプリング

  37. レイのサンプリング レイトレでレンズ系を使うために、像面から物空間に出ていくレイ をサンプリングする方法について考える 30

  38. 射出瞳 像面から見た絞りの像を射出瞳という z y 像面 射出瞳 31

  39. 射出瞳の計算 最後尾にあるレンズ面全体をグリッド分割して、各グリッドに飛ば したレイがレンズ系を通過できるかどうか調べればよい. これは計算量が多いので事前計算しておく. z y 像面 32

  40. 射出瞳の計算 射出瞳の形は厳密に求める必要はなく, Bounding Box で覆えれば十 分 33

  41. 射出瞳の計算 射出瞳は像面上の点一つ一つについて形が変わる. しかしレンズ系が軸対称なので全部を計算する必要はない. 対角線上の射出瞳のみを計算しておけば, 他のものはそこから選んで くることができる. 34

  42. レイのサンプリング 次のような手順でレイをサンプリングする 1. 像面上の位置に対応する射出瞳の Bounding Box を選ぶ 2. Bounding Box

    から点をサンプリングする 3. サンプリングした点に向ってレイを飛ばす 35
  43. p.d.f. の計算 面積 A のバウンディングボックスから一様にサンプリングすると, 面 積に関する p.d.f. は pA

    = 1 A 像面からサンプリング点までの距離を r, 生成したレイと z 軸のなす 角を θ とすると, 立体角に関する p.d.f. は p σ = r2 cos θ pA 36
  44. 像面への寄与の計算 像面は放射束を測定しているので, サンプリングしたレイが持つ放射 輝度を L とすると, 加算する寄与 C は C

    = L cos θ p σ = L cos θ r2 cos θ 1 A = LA cos2 θ r2 37
  45. レンダリング結果

  46. レンズ 焦点距離 22mm の広角レンズを使用 Figure 4: 22mm 広角レンズ 38

  47. レンダリング結果 レンズフレア, 色収差あり Figure 5: レンダリング結果 39

  48. 色収差の比較 (a) 色収差なし (b) 色収差あり 40

  49. レンズフレアの比較 (c) レンズフレアなし (d) レンズフレアあり 41

  50. 50mm ダブルガウス 焦点距離 50mm のダウブルガウス型レンズ Figure 6: 50mm ダブルガウス型レンズ 42

  51. レンダリング結果 色収差あり, レンズフレアなし Figure 7: レンダリング結果 43

  52. 10mm 魚眼 焦点距離 10mm の魚眼レンズ Figure 8: 10mm 魚眼レンズ 44

  53. レンダリング結果 色収差あり, レンズフレアなし Figure 9: レンダリング結果 45

  54. Reference References LTD CYBERNET SYSTEMS CO. 光学総合サイト. url: https://www.cybernet.co.jp/optical/. Wenzel

    Jakob Matt Pharr and Greg Humphreys. Physically Based Rendering: From Theory To Implementation. url: http://www.pbr-book.org/. 松居 吉哉. レンズ設計法. 共立出版, 2018. isbn: 978-4-320-03607-9. 46
  55. The End Thank you for listening. 47