Reflectance Models, Rough Surfaces, and Dichromatic Model
1. Reflectance Models
Reflection processes in nature are explained primarily by the combination of two physical mechanisms:
- Surface (Specular) Reflection: Light reflects directly at the material interface without entering the bulk medium. It dominates on smooth metals, glass, and mirrors, giving objects a glossy appearance.
- Body (Diffuse) Reflection: Light penetrates the surface, undergoes multiple internal refractions and scattering off heterogeneous particles inside the material, and exits in random directions. It dominates on clay, plaster, and paper, producing a matte appearance.
flowchart TD
IncidentLight["Incident Light Energy"] --> SurfaceRefl["Surface Reflection (Specular)<br/>Direct Interface Reflection<br/>Glossy / Mirror-like Appearance"]
IncidentLight --> BodyRefl["Body Reflection (Diffuse)<br/>Internal Scattering & Random Outflow<br/>Matte Appearance"]
SurfaceRefl --> Combined["Total Measured Pixel Intensity<br/>I = I_surface + I_body"]
BodyRefl --> Combined
style IncidentLight fill:#0f3460,stroke:#e94560,color:#fff
style SurfaceRefl fill:#16213e,stroke:#4cc9f0,color:#fff
style BodyRefl fill:#16213e,stroke:#4cc9f0,color:#fff
style Combined fill:#1a1a2e,stroke:#e94560,color:#fff
1.1 Lambertian Model (Body Reflection)
Modeling ideal matte surfaces, the Lambertian model assumes that a surface appears equally bright regardless of the viewing direction (radiance is independent of observation angle). Its BRDF is constant:
$$f_{\text{Lambertian}} = \frac{\rho_d}{\pi}$$
where $\rho_d$ is the material albedo ($0 \leq \rho_d \leq 1$; 0 for perfectly black, 1 for perfectly white).
The radiance equation for a Lambertian surface is given by:
$$L = \frac{\rho_d}{\pi} E = \frac{\rho_d}{\pi} \frac{J}{r^2} (\mathbf{n} \cdot \mathbf{s})$$
where $\mathbf{s}$ is the unit vector pointing toward the light source and $\mathbf{n}$ is the surface normal unit vector. Radiance is independent of viewing direction, depending only on the cosine of the illumination angle ($\mathbf{n} \cdot \mathbf{s}$).
1.2 Ideal Specular Model
Modeling perfect mirrors, this system reflects all incident light energy into a single reflection direction ($\mathbf{r}$). An observer views light only when the viewing direction ($\mathbf{v}$) perfectly aligns with this direction ($\mathbf{v} = \mathbf{r}$).
The BRDF is expressed using Dirac Delta functions:
$$f_{\text{Specular}} = \frac{\delta(\theta_r - \theta_i) \delta(\phi_r - (\phi_i + \pi))}{\cos\theta_i \sin\theta_i}$$
where the denominator term serves as a normalization factor to satisfy energy conservation.
2. Reflection from Rough Surfaces
Real-world surfaces are not perfectly smooth. At the pixel micro-scale, a surface consists of microscopic planar facets (microfacets) facing various directions. Microfacet normal orientations ($\alpha$ angles) are modeled using a Gaussian distribution $p(\alpha, \sigma)$ with standard deviation roughness parameter $\sigma$.
flowchart LR
MacroNormal["Macro Surface Normal (n)"] --> MicroFacets["Microfacets (n_i)"]
GaussDist["Gaussian Distribution p(α, σ)<br/>Roughness Parameter: σ"] --> MicroFacets
MicroFacets --> SpecularLobe["Specular Rough:<br/>Torrance-Sparrow Model"]
MicroFacets --> DiffuseLobe["Diffuse Rough:<br/>Oren-Nayar Model"]
style MacroNormal fill:#0f3460,stroke:#4cc9f0,color:#fff
style GaussDist fill:#0f3460,stroke:#4cc9f0,color:#fff
style SpecularLobe fill:#1a1a2e,stroke:#e94560,color:#fff
style DiffuseLobe fill:#1a1a2e,stroke:#e94560,color:#fff
2.1 Specular Rough Surfaces: Torrance-Sparrow Model
Assuming that each microfacet acts as an ideal mirror, the overall surface BRDF is derived as:
$$f_{\text{Torrance-Sparrow}} = \frac{\rho_s}{(\mathbf{n} \cdot \mathbf{s})(\mathbf{n} \cdot \mathbf{v})} p(\alpha, \sigma) G(\mathbf{s}, \mathbf{n}, \mathbf{v})$$
- $\rho_s$: Microfacet reflectance capacity.
- $p(\alpha, \sigma)$: Gaussian roughness distribution.
- $G(\mathbf{s}, \mathbf{n}, \mathbf{v})$: Geometrical attenuation factor accounting for inter-facet shadowing and masking.
As roughness ($\sigma$) increases, a point specular reflection spreads out into a blurry specular lobe / highlight. For very rough surfaces, the shift of peak brightness away from the perfect specular angle (off-specular peak) is mathematically explained by this model.
2.2 Diffuse Rough Surfaces: Oren-Nayar Model
Assuming each microfacet is an ideal Lambertian diffuse surface, the model reduces to pure Lambertian when $\sigma = 0$.
However, as roughness ($\sigma$) increases, rapid brightness drop-off near object edges is prevented, causing spherical objects to appear like flat discs (flat disc phenomenon).
Key Insight: The physical and mathematical explanation for why the full moon appears as a flat disk with uniform brightness up to its limbs—rather than a shaded sphere—is provided by the Oren-Nayar Diffuse Roughness Model.
3. Dichromatic Model
Proposed by Shafer (1985), the Dichromatic Model accounts for light-material color interactions on hybrid dielectric surfaces.
- Surface (Specular) Color Component ($\mathbf{C}_s$): Since light reflects directly at the interface without selective wavelength absorption, specular reflection retains the color of the light source.
- Body (Diffuse) Color Component ($\mathbf{C}_b$): Light entering the medium interacts with pigments, absorbing specific wavelengths. Thus, diffuse reflection color equals the product of illumination color and material pigment color.
The total measured RGB pixel color vector is expressed linearly as:
$$\mathbf{C} = m_b \mathbf{C}_b + m_s \mathbf{C}_s$$
- $\mathbf{C}_b$: Diffuse (body) color vector.
- $\mathbf{C}_s$: Specular (surface) color vector.
- $m_b, m_s$: Geometric weighting parameters.
3.1 Dichromatic Plane & “Skewed-T” Distribution
For an object composed of a single homogeneous material, all pixel color values must lie within the dichromatic plane spanned by $\mathbf{C}_b$ and $\mathbf{C}_s$ in RGB space.
Mapping pixels in color space forms a characteristic “Skewed-T” distribution: one line extending from shadow toward pure body color, and a second line bending toward the light source color at specular highlights.
3.2 Klinker Highlight Separation Algorithm
By analyzing this Skewed-T geometry in RGB space, algorithms developed by Klinker (1990) separate image pixels into a pure diffuse shading image and a pure specular highlight image.
Key Insight: The Klinker highlight separation algorithm eliminates misleading 3D shape artifacts caused by specular highlights, enabling robust recovery of true object geometry and albedo in computer vision.