Photometric Stereo

What is Photometric Stereo?

Photometric stereo is a method proposed by Woodham in 1980 [1] to estimate surface normal from multiple images with different lighting conditions.

Key Assumptions

  • Surface property: Lambertian
  • Light source direction \((p_s, q_s)\): Known
  • Measured image intensity: Known
  • Surface normal: Unkown

Equations

Consider the Lambertian case, image intensity \(I\) expressed as:

$$
I=\frac {\rho}{\pi}kc \, cos\theta_i = \frac {\rho}{\pi} \mathbf{n} \cdot \mathbf{s} \\
(kc=1)
$$

where \(\rho\) is the albedo, \(k\) is the intensity of the light source, \(c\) is the material dependent factor.
And measured multiple light source images written as:

$$
I_1=\frac {\rho}{\pi} \mathbf{n} \cdot \mathbf{s_1} ,\,\,
I_2=\frac {\rho}{\pi} \mathbf{n} \cdot \mathbf{s_2} ,\,\,
I_3=\frac {\rho}{\pi} \mathbf{n} \cdot \mathbf{s_3}
$$

where:

$$
\mathbf{n}=
\begin{bmatrix}
n_x \\
n_y \\
n_z
\end{bmatrix}
, \,
\mathbf{s}_i=
\begin{bmatrix}
s_{xi} \\
s_{yi} \\
s_{zi}
\end{bmatrix}
$$

Then we can write matrix form as:
$$
\begin{bmatrix}
I_1 \\
I_2 \\
I_3
\end{bmatrix}
=
\frac{\rho}{\pi}
\begin{bmatrix}
S_{x1} & S_{y1} & S_{z1} \\ 
S_{x2} & S_{y2} & S_{z2} \\ 
S_{x3} & S_{y3} & S_{z3}
\end{bmatrix}
\mathbf{n} \\
$$

$$I=S\mathbf{N}$$
where \(N=\frac {\rho}{\pi} \mathbf{n}\)


Solution:
$$\mathbf{N}=(S)^{-1}I$$

Reference

[1] R.J. Woodham. Photometric method for determining surface orientation from multiple images. OptEng, 19(1), 1980.