Polarization Imaging
Reflected light wiggles in preferred directions, and surfaces stamp their angle on it. Polarization cameras read that wiggle to cut glare, find transparent objects, and map surface normals.
Why Does This Exist?
Glass, water, and polished metal defeat RGB and depth alike: transparency shows the background, specular reflections show the light source, and structured light scatters. Windshields hide drivers, bottles vanish on conveyors, puddles masquerade as asphalt. Brightness and range report the wrong surface with full confidence.
Polarization reads what reflection geometry writes. Specular glare polarizes strongly along the surface; diffuse reflection barely polarizes at all. Capturing four polarization angles per pixel (Stokes parameters) separates the two, kills glare, exposes transparent objects, and recovers surface normals indoors and out. The angular sibling is light field imaging; the map is alternative sensing.
The one idea you need first. Malus's law dims polarized light through a polarizer by the squared cosine of the angle between them: . Crossed at degrees, nothing passes (); aligned, everything does. The degree of polarization (polarized fraction) distinguishes glare (high) from matte surface (low) per pixel.
Think of It Like This
Sunglasses with a dimmer switch
Polarized sunglasses kill road glare because reflected light wiggles mostly horizontally and the lenses pass only vertical wiggle. Rotate your head sideways and the glare returns — the filter's angle decides, continuously, how much dazzle survives.
A polarization camera wears four sunglasses at once (, , , degrees) on neighboring pixels. Per-pixel arithmetic then turns the dimmer continuously: glare minimized here, surface kept there, normals computed everywhere. One exposure, every head-tilt simultaneously.
How It Actually Works
Division-of-focal-plane sensors tile polarizer grids over the pixels, capturing all four angles in one shot (at quarter spatial resolution each). From the four intensities come Stokes components: total intensity, two linear-polarization terms, and from them degree and angle of polarization. Shape-from-polarization inverts Fresnel equations to surface normals up to known ambiguities (resolved with coarse depth or multiview). Glare removal subtracts the polarized component, keeping the diffuse remainder.
Calibration matters: pixelated polarizers leak (finite extinction ratios) and misalign, so radiometric and geometric calibration precede any quantitative claim.
Worked example
Glare of strength (arbitrary units) meets a polarizer at angle to the glare axis:
- : .
- : .
- : .
The glare knob turns while unpolarized diffuse surface light passes at half strength throughout ( averages to over angles). Per-pixel min-max across the four captures automates the knob: keep the diffuse floor, discard the polarized ceiling.
Code
The point of this snippet is the knob: Malus arithmetic reproduces the glare ramp.
import math
def malus(i0: float, theta_deg: float) -> float: return i0 * math.cos(math.radians(theta_deg)) ** 2 # polarized part
print(round(malus(100.0, 30.0), 1)) # -> 75.0print(round(malus(100.0, 60.0), 1)) # -> 25.0print(round(malus(100.0, 90.0), 1)) # -> 0.0Watch Out For
Matte surfaces that barely polarize
Diffuse reflection randomizes oscillation direction, so chalk, cloth, and rough concrete carry near-zero polarization signal. Normals-from-polarization on matte objects amplify noise into spiky garbage while reporting full confidence.
Gate by degree of polarization: trust normals where it runs high (specular, smooth dielectrics), fall back to multiview or photometric stereo where it does not. The sensor reports its own reliability — read it.
Leaky pixels and lazy calibration
Real pixelated polarizers extinguish imperfectly (real ratios, not infinity) and sit slightly rotated; skipping calibration biases every Stokes estimate. Glare "removal" then leaves residue exactly where the demo promised zero.
Calibrate extinction and orientation per sensor with known polarized sources, and re-check after thermal drift. Quantitative polarization without calibration numbers is qualitative photography with extra steps.
The Quick Version
- Polarization cameras capture four oscillation angles per pixel, separating glare from surface.
- Malus's law is the knob: the worked fixture ramps glare .
- Transparent and specular objects surface where RGB and depth report backgrounds.
- Shape-from-polarization needs glossy dielectrics; matte surfaces carry no signal to invert.
- Calibrate extinction and orientation per sensor or "removal" leaves residue.