オーレン・ネイヤー反射

オーレン・ネイヤー反射(英: Oren–Nayar reflectance model)とは、Michael OrenとShree K. Nayarが1993年に提唱した、粗面における拡散反射の反射率のモデル。 反射率のモデルとしてよく使われているランバート反射などと比較して、コンクリート・石膏・砂と言った、自然界で広く見られる物体の表面を正確に表現できるのが特徴。 オーレン・ネイヤー反射率モデルでは、オブジェクトの表面（サーフェス）に微小な平面（微小面、マイクロファセット）を仮定することで、粗面の拡散反射の反射率を近似する。このモデルはランバート反射モデルの一般化としても見ることができる。 オーレン・ネイヤーはサーフェスのそれぞれのファセットの頂点間における「マスキング」「シャドーイング」「相互反射」と言った複雑な物理的現象を考慮するため、ランバートと比べて計算量が膨大になるが、2010年代以降はコンピュータゲームでの採用も始まっている。 オーレン・ネイヤー反射率モデルは、陰影や明度からオブジェクトを立体として認識する際の人間の視覚や、コンピュータビジョンを解析する上でも大いに示唆に富むと見られている。 反射率とは、入射光をどのように反射するかを表すマテリアルの物理的特性のことを意味する。様々なマテリアルの見た目は主に反射率の特性によって決定される。多くの反射率のモデルは拡散光（ディフューズ）と反射光（スペキュラ）という、２つのカテゴリーに分けられる。コンピュータビジョンやコンピュータグラフィックスの世界では、拡散光のモデルとしてランベルト（ランバート）が1760年に提唱したランバート反射がよく使われており、ランベルトの余弦則に従いどの方向から見ても均等に明るく見える。しかしランバート反射では物体表面（サーフェス）の粗さ（ラフネス）を考慮しないため、コンクリート・石膏・砂と言ったサーフェスが粗面のオブジェクトを表現する場合にはしばしば不正確な近似となる。 粗面とは、異なる傾きを持ったファセットの集合として捉えることができ、またそれぞれのファセットは極小の平面の一区画（パッチ）として捉えることができる。しかし網膜の受容体やカメラのピクセルなどと言った検出器の解像度は共に限界があるため、ミクロな単一のファセットそれぞれではなく、複数のファセットがひとまとめにされたマクロな輝度値が次々と生成され、それが実質的な物体表面の粗さとして一つの検出器に投影される形となる。ランバートを単一の平面のファセットごとに適応した場合はかなり正確な近似を得られるのに対し、それぞれ異なった方向を持つ複数のファセットのひとまとめごとに適応した場合はかなり厳しい結果となる。その主な理由は、短縮されたファセットのひとまとまりは見る角度で異なった見え方をする、つまり、サーフェスの見た目が視点の角度に依存するような状態となるからである。 このようなマクロな拡散反射特性を示す粗面の反射率の解析は、元々はCGではなく月面の非ランバート反射の解析を主な動機付けとしていたが、約1世紀にわたって研究者を悩ませてきた。しかし長年の研究の結果、実験データと第一原理から導かれる理論的結果にフィットするような、経験的なモデルがついに導かれた。それがMichael OrenとShree K. Nayarが1993年に提唱したオーレン・ネイヤー反射率モデルである。1994年度のSIGGRAPHで発表された。 オーレン・ネイヤー反射率モデルで使用されるサーフェスのラフネスのモデルはTorranceとSparrowによって提案されたマイクロファセットモデルから導き出されたもので 、サーフェスを長いシンメトリックなV字型の凹みのあつまりで構成されているものと仮定する。それぞれの凹みは２つの平面のファセットで構成されているものとする。サーフェスのラフネスは、ファセットの傾斜の分布を示す確率密度関数を用いて明示される。特に正規分布が用いられる事が多いので、正規分布の分散を表す「 σ 2 {\displaystyle \sigma ^{2}} 」がサーフェスのラフネスの尺度として用いられる。ファセットの傾斜の標準偏差（サーフェスの高さの勾配）「 σ {\displaystyle \sigma } 」は [ 0 , ∞ ] {\displaystyle [0,\infty ]} の範囲で表される。 オーレンネイヤー反射では、各ファセットはランバート反射であると仮定される。右図に示したように、入射光の放射輝度を L i {\displaystyle L_{i}} とし、反射光の放射輝度を L r {\displaystyle L_{r}} とすると、オーレンネイヤー反射率モデルに従い、 L r = ρ π ⋅ cos ⁡ θ i ⋅ ( A + ( B ⋅ max [ 0 , cos ⁡ ( ϕ i − ϕ r ) ] ⋅ sin ⁡ α ⋅ tan ⁡ β ) ) ⋅ L i {\displaystyle L_{r}={\frac {\rho }{\pi }}\cdot \cos \theta _{i}\cdot (A+(B\cdot \max[0,\cos(\phi _{i}-\phi _{r})]\cdot \sin \alpha \cdot \tan \beta ))\cdot L_{i}} ここで A = 1 − 0.5 σ 2 σ 2 + 0.33 {\displaystyle A=1-0.5{\frac {\sigma ^{2}}{\sigma ^{2}+0.33}}} , B = 0.45 σ 2 σ 2 + 0.09 {\displaystyle B=0.45{\frac {\sigma ^{2}}{\sigma ^{2}+0.09}}} , α = max ( θ i , θ r ) {\displaystyle \alpha =\max(\theta _{i},\theta _{r})} , β = min ( θ i , θ r ) {\displaystyle \beta =\min(\theta _{i},\theta _{r})} , また、 ρ {\displaystyle \rho } はサーフェスのアルベド、 σ {\displaystyle \sigma } はサーフェスのラフネスとし、 σ = 0 {\displaystyle \sigma =0} の場合を考えると（すべてのサーフェスが同一平面である場合など）、 A = 1 {\displaystyle A=1} 、 B = 0 {\displaystyle B=0} となり、従ってオーレンネイヤー反射はランバート反射に単純化されることとなる。 L r = ρ π ⋅ cos ⁡ θ i ⋅ L i {\displaystyle L_{r}={\frac {\rho }{\pi }}\cdot \cos \theta _{i}\cdot L_{i}} ここでは表面がザラザラした花瓶の実際のイメージと、ランバート反射とオーレン・ネイヤー反射でレンダリングした際のイメージを比較している。オーレン・ネイヤー反射を用いるとランバート反射よりも粗面の拡散反射を上手く近似できていることが解る。 オーレン・ネイヤー反射を用いてレンダリングした球のイメージ。異なったラフネスそれぞれに対応している ( σ {\displaystyle \sigma } の値で表される): ランバート反射 Phongの反射モデル ^ M. Oren and S.K. Nayar, "Generalization of Lambert's Reflectance Model". SIGGRAPH. pp.239-246, Jul, 1994 ^ Torrance, K. E. and Sparrow, E. M. Theory for off-specular reflection from roughened surfaces. J. Opt. Soc. Am.. 57, 9(Sep 1967) 1105-1114 ^ B. Walter, et al. "Microfacet Models for Refraction through Rough Surfaces". EGSR 2007. The official project page for the Oren-Nayar model at Shree Nayar's CAVE research group webpage