Oren–Nayar reflectance model

The Oren–Nayar reflectance model, developed by Michael Oren and Shree K. Nayar, is a reflectivity model for diffuse reflection from rough surfaces. It has been shown to accurately predict the appearance of a wide range of natural surfaces, such as concrete, plaster, sand, etc.

Introduction


Reflectance is a physical property of a material that describes how it reflects incident light. The appearance of various materials are determined to a large extent by their reflectance properties. Most reflectance models can be broadly classified into two categories: diffuse and specular. In computer vision and computer graphics, the diffuse component is often assumed to be Lambertian. A surface that obeys Lambert's Law appears equally bright from all viewing directions. This model for diffuse reflection was proposed by Johann Heinrich Lambert in 1760 and has been perhaps the most widely used reflectance model in computer vision and graphics. For a large number of real-world surfaces, such as concrete, plaster, sand, etc., however, the Lambertian model is an inadequate approximation of the diffuse component. This is primarily because the Lambertian model does not take the roughness of the surface into account.

Rough surfaces can be modelled as a set of facets with different slopes, where each facet is a small planar patch. Since photo receptors of the retina and pixels in a camera are both finite-area detectors, substantial macroscopic (much larger than the wavelength of incident light) surface roughness is often projected onto a single detection element, which in turn produces an aggregate brightness value over many facets. Whereas Lambert’s law may hold well when observing a single planar facet, a collection of such facets with different orientations is guaranteed to violate Lambert’s law. The primary reason for this is that the foreshortened facet areas will change for different viewing directions, and thus the surface appearance will be view-dependent.



Analysis of this phenomenon has a long history and can be traced back almost a century. Past work has resulted in empirical models designed to fit experimental data as well as theoretical results derived from first principles. Much of this work was motivated by the non-Lambertian reflectance of the moon.

The Oren–Nayar reflectance model, developed by Michael Oren and Shree K. Nayar in 1993, predicts reflectance from rough diffuse surfaces for the entire hemisphere of source and sensor directions. The model takes into account complex physical phenomena such as masking, shadowing and interreflections between points on the surface facets. It can be viewed as a generalization of Lambert’s law. Today, it is widely used in computer graphics and animation for rendering rough surfaces. It also has important implications for human vision and computer vision problems, such as shape from shading, photometric stereo, etc.

Formulation


The surface roughness model used in the derivation of the Oren-Nayar model is the microfacet model, proposed by Torrance and Sparrow, which assumes the surface to be composed of long symmetric V-cavities. Each cavity consists of two planar facets. The roughness of the surface is specified using a probability function for the distribution of facet slopes. In particular, the Gaussian distribution is often used, and thus the variance of the Gaussian distribution, $$\sigma^2$$, is a measure of the roughness of the surfaces. The standard deviation of the facet slopes (gradient of the surface elevation), $$\sigma$$ ranges in $$[0, \infty)$$.

In the Oren–Nayar reflectance model, each facet is assumed to be Lambertian in reflectance. If $$E_0$$ is the irradiance when the facet is illuminated head-on, the radiance $$L_r$$ of the light reflected by the faceted surface, according to the Oren-Nayar model, is


 * $$L_r = L_1+L_2,$$

where the direct illumination term $$L_1$$ and the term $$L_2$$ that describes bounces of light between the facets are defined as follows.


 * $$L_1 = \frac{\rho}{\pi} E_0 \cos \theta_i \left(C_1 + C_2 \cos(\phi_i-\phi_r) \tan\beta + C_3(1-|\cos(\phi_i-\phi_r)|)\tan\frac{\alpha+\beta}2\right),$$


 * $$L_2 = 0.17\frac{\rho^2}\pi E_0 \cos\theta_i\frac{\sigma^2}{\sigma^2+0.13}\left[1-\cos(\phi_i-\phi_r)\left(\frac{2\beta}\pi\right)^2\right],$$

where


 * $$C_1 = 1-0.5\frac{\sigma^2}{\sigma^2+0.33}$$,


 * $$C_2 = \begin{cases}

0.45\frac{\sigma^2}{\sigma^2+0.09}\sin\alpha & \text{if }\cos(\phi_i-\phi_r)\ge0,\\ 0.45\frac{\sigma^2}{\sigma^2+0.09}\left(\sin\alpha-\left(\frac{2\beta}\pi\right)^3\right) & \text{otherwise,} \end{cases}$$


 * $$C_3 = 0.125\frac{\sigma^2}{\sigma^2+0.09}\left(\frac{4\alpha\beta}{\pi^2}\right)^2,$$


 * $$\alpha = \max(\theta_i, \theta_r)$$,


 * $$\beta = \min(\theta_i, \theta_r)$$,

and $$\rho$$ is the albedo of the surface, and $$\sigma$$ is the roughness of the surface. In the case of $$\sigma=0$$ (i.e., all facets in the same plane), we have $$C_1=1$$, and $$C_2=C_3=L_2=0$$, and thus the Oren-Nayar model simplifies to the Lambertian model:


 * $$L_r = \frac{\rho}{\pi} E_0 \cos \theta_i.$$

Results
Here is a real image of a matte vase illuminated from the viewing direction, along with versions rendered using the Lambertian and Oren-Nayar models. It shows that the Oren-Nayar model predicts the diffuse reflectance for rough surfaces more accurately than the Lambertian model.



Here are rendered images of a sphere using the Oren-Nayar model, corresponding to different surface roughnesses (i.e. different $$\sigma$$ values):