Skip to content
Go back

拙訳「Wave optics based glare generation techniques」

· Updated:

[Kakimoto 2015Kakimoto, M. 2015. Wave optics based glare generation techniques. Real-time Rendering of Physically Based Optical Effect in Theory and Practice course. ACM SIGGRAPH. https://research.tri-ace.com/s2015.html.]

web

はじめに(Introduction)#

  • コンピュータグラフィクス理論の大多数は幾何光学に基づいている
  • 波動光学は1%程度が計算に入っている
  • グレア効果にリアリティが必要なら、
    • 波動光学が役立つかもしれない
  • 今日の計算パワーは有利に働くadvantageous
  • 回折diffraction
    • グレア
    • エアリーディスクairy disc
  • 干渉Interference
    • 表面塗装surface coating
    • 薄膜の色効果thin film color effects
  • 偏光polarization
    • 複雑な反射
    • 画像の霞除去dehazing
  • このコースの波動光学トピックは回折に焦点を当てる
  • 波動光学を必須とする
  • 拡張レイでシミュレートできない
  • 拡張レイ理論でシミュレートできる [CookTorrance 1981]、[Gondek 1994]、[Wolff 1999]、[Schechner 2001]

グレアの例(An Example of Glare)#

グレアの単純な実験 (1)(A Simple Experiment of Glare (1))#

  • 実験に使ったペンライト
  • 光の直接スナップショット

グレアの単純な実験 (2)(A Simple Experiment of Glare (2))#

  • 付けた偽のまつげeyelash
  • 光の直接スナップショット

グレアの単純な実験 (3)(A Simple Experiment of Glare (3))#

  • 90度回転させたまつげ
  • 光の直接スナップショット

関連研究(RELATED WORK)#

グレア効果の初期研究(Early Work for Glare Effect)#

  • クロスフィルタのレンズフレア効果 [Shinya et al. 1989]
  • 夜間運転シーンに対するまつげによるグレア [Nakamae et al. 1990]

グレア効果の初期研究 (続き)(Early Work for Glare Effect (cont’d))#

  • グレアビルボード [Rokita 1993]
  • 目構造の解析とグレアフィルタコンポジター [Spencer 1995]
  • HDR画像上のグレアフィルタ [Debevec 1997]

グレアのリアルタイムテクニック(Real-Time Techniques for Glare)#

  • リアルタイム環境ライティング [Mitchell 2002]
  • レーシングゲームの実装 [Kawase 2002, 2003]

物理ベースアプローチ(Physically-Based Aproaches)#

  • Fraunhofer回折によって引き起こされるグレア [Kakimoto et al. 2004, 2005]
  • 眼内Fresnel回折 [Ritschel et al. 2009]
  • リアルタイムレンズフレア [Hullin et al. 2011]

基礎理論(FUNDAMENTAL THEORY)#

回折 --- グレアの主要因(Diffraction - A Major Cause of Glare)#

Huygens-Fresnelの原理は回折を説明する(Huygens-Fresnel Principle Accounts for Diffraction)#

  • 波は波面上のどこへでも同心円状に伝播する
  • 次の波面からの第2波の包絡曲線envelope curve

回折の解析(An Analysis of Diffraction)#

回折のモデル(A Model for Diffraction)#

  • 絞りSS
  • λ\lambda:波長
  • Uf(xf,yf)U_f(x_f, y_f):点(xf,yf)(x_f, y_f)における複合波complex waveの振幅

解析の付録を参照(See Appendix for the Analysis)#

Fraunhofer回折(Fraunhofer Diffraction)#

If(xfλR,yfλR)=AλR2F[to(xo,yo)]2I_f(\frac{x_f}{\lambda R}, \frac{y_f}{\lambda R}) = \left| \frac{A}{\lambda R} \right|^2 |F[t_o(x_o, y_o)]|^2
  • IfUf2I_f \equiv |U_f|^2: 波の強度
  • AA: 入射光の振幅
  • F[]F[\cdot]: Fourier変換オペレータ
  • RR: 十分に大きな距離
    • 絞りサイズ5mm25\text{mm}^2λ=500nm\lambda = 500\text{nm}R50mR \gg 50m

レンズシステムでのFraunhoferの近似(Fraunhofer Approximation in a Lens System)#

If(xfλf,yfλf)=Aλf2F[to(xo,yo)]2I_f(\frac{x_f}{\lambda f}, \frac{y_f}{\lambda f}) = \left| \frac{A}{\lambda f} \right|^2 |F[t_o(x_o, y_o)]|^2

レンズシステムを通した回折像は回折を引き起こす物体の二次元Fourier変換を用いて表すことができる。 [Goodman 1968]

グレアパターン画像生成(GLARE PATTERN IMAGE GENERATION)#

波長に関する回折(Diffraction w.r.t. Wave Length)#

グレアパターン画像と波長(Glare Pattern Image and Wave Lengths)#

  • 2Dパターンのスケーリングはλ\lambdaに比例する
  • 回折の強度はλ2\lambda^{-2}に比例する

六角形絞りによるグレア(Glare by a Hexagonal Diaphragm)#

クロスフィルタパターン(A Cross Filter Pattern)#

まつげと虹彩絞り(Eyelashes and Iris Diaphragm)#

  • まぶたeyelid

動的グレア(Dynamic Glare)#

  • どのようにグレアは移動中に形状を変化させるのか
    • 光源位置
    • 入力の障害物obstacle画像t(xo,yo)P(xo,yo)t(x_o, y_o)P(x_o, y_o)を選ぶ
    • 出力のグレア画像

特例: 円形絞り(Special Case: Circular Aperture)#

  • FFTではなく’エアリーディスク’用の解析的式を使う
    • θ\theta: 画角
    • rr: 絞りの半径
    • J1()J_1(\cdot): 第1種Bessel関数
    • k2π/λk \equiv 2\pi / \lambda
I(θ)=πr2A2λ2f2(2J1(krsinθ)krsinθ)2I(\theta) = \frac{\pi r^2 A^2}{\lambda^2 f^2} \left( \frac{2J_1(kr \sin\theta)}{kr \sin\theta} \right)^2
  • 矩形絞りには、他の式を使うことができる

実装と例(AN IMPLEMENTATION AND EXAMPLES)#

マルチスペクトル積分(Multi-Spectra Integration)#

GRGB=MλminλmaxIf(xf,yf,λ)CXYZ(λ)S(λ)dλG_{RGB} = M \int_{\lambda_{min}}^{\lambda_{max}} I_f(x_f, y_f, \lambda) C_{XYZ}(\lambda)S(\lambda)d\lambda
  • GRGBG_{RGB}: 光源に対するRGBグレア画像
  • MM: XYZからRGBへの変換(3x3行列)
  • IfI_f: グレア強度(2DのFFTの結果)
  • CXYZC_{XYZ}: カラーマッチング関数
  • SS: 光源のスペクトルパワー分布

処理の流れ(Processing Flow)#

波長に沿ったサンプリングとアキュムレーション(Sampling and Accumulation along Wave Lengths)#

  • 可視光波長(380-700nm)に沿った100サンプルで十分かも

シードとなるグレア画像を拡縮・累積する(Scale and Accumulate a Seed Glare Image)#

  • λ\lambdaでFFTを計算する必要はない
    • λ=λ0\lambda = \lambda_0と仮定したシードグレア画像
    • λ/λ0\lambda / \lambda_0で画像をスケールする。(λ/λ0)2(\lambda / \lambda_0)^2でピクセル値をスケールする

結果とリファレンス(A Result and a Referrence)#

様々な光源での結果(Results for Different Light Sources)#

様々な明るさでの結果(Results for Different Brightness)#

  • 単一のHDRグレア画像から色んな結果
  • 入力シーンで現在のピクセルの明るさを乗算する
  • 計測したヘッドランプの強度分布。単位:cd
  • LLは入射光の振幅の二乗A2A^2と等価である

直視した光源からグレアをレンダリングする(Rendering Glare from Light Sources Directly Viewed)#

  1. スクリーンスペースで光源を探す
  2. ディレクショナルライト分布に従って明るさを乗算する
  3. グレア画像を散乱またはオーバーレイする

高反射性の表面でのグレアをレンダリングする(Rendering Glare on Highly Reflective Surfaces)#

  1. 明るい光源のライトマップを準備する
  2. スクリーンスペースで反射する点を特定する
  3. 対応するテクセルの明るさを乗算する
  4. グレア画像を散乱またはオーバーレイする

ヘッドランプ評価への応用 (Kakimoto et al. 2010)(An Application to Headlamp Evaluation (Kakimoto et al. 2010))#

おわりに(Conclusions)#

  • グレア画像は遮蔽物画像の2次元Fourier変換である
    • FFTによりシードグレア画像を作る
    • リサイズ、増幅、λ\lambdaに沿ったシードグレアの累積により中間HDRグレア画像を計算する
  • ‘明るい’と特定した各ピクセルに対するスペクトル分布を使う
    • ピクセルの明るさで中間グレアを乗算する