Elevation Angle from Reflectance Monotonicity:
Photometric Stereo for General
Isotropic Reflectances
Boxin Shi∗ , Ping Tan† , Yasuyuki Matsushita‡ , and Katsushi Ikeuchi∗∗†

The University of Tokyo,
National University of Singapore, ‡ Microsoft Research Asia

Abstract. This paper exploits the monotonicity of general isotropic reflectances for estimating elevation angles of surface normal given the azimuth angles. With an assumption that the reflectance includes at least
one lobe that is a monotonic function of the angle between the surface
normal and half-vector (bisector of lighting and viewing directions), we
prove that elevation angles can be uniquely determined when the surface
is observed under varying directional lights densely and uniformly distributed over the hemisphere. We evaluate our method by experiments
using synthetic and real data to show its wide applicability, even when
the assumption does not strictly hold. By combining an existing method
for azimuth angle estimation, our method derives complete surface normal estimates for general isotropic reflectances.

1

Introduction

Photometric stereo estimates a pixel-wise surface normal direction from a setof images taken under varying illumination and a fixed viewpoint [1]. However,
the estimation suffers from inaccuracy when the surface has non-Lambertian reflectances. Although more flexible parametric reflectance models (e.g., the Wardmodel [2]) can be integrated to describe the non-Lambertian phenomenon, there
exists a trade-off between the computational complexity and generality of thematerials that can be dealt with. In this paper, we exploit the reflectance monotonicity for estimating elevation angles of surface normal given the azimuth
angles (e.g., from the method in [3]) to fully determine the surface normal for abroad class of reflectances.
As described by Chandraker and Ramamoorthi [4], an isotropic Bidirectional
Reflectance Distribution Function (BRDF) consists of a sum of lobes, and thereflectance of each lobe monotonically decreases as the surface normal deviatesfrom the lobe’s projection direction, along which the reflectance function is ‘concentrated’. Following their work, we assume that a surface reflectance contains
a single dominant lobe projected on the half-vector (the bisector of lighting andviewing direction). Under this assumption, we perform a pixel-wise 1-D search
for the elevation angle in the range [0, π/2], given an azimuth angle for eachpixel. We prove that the reflectance monotonicity is maintained only when the

2

Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi

correct elevation angle is found, if the scene is observed under dense directional
lights uniformly distributed over the whole hemisphere.
Based on the evaluations using MERL BRDF database [5] and the conclusion
in [4], we show that many materials such as acrylic, phenolic, metallic-paint, andsome shiny plastics can be well approximated by the 1-lobe half-vector BRDF
model. While some other materials, such as fabric, require two or more lobes for
precise representation, in practice, our algorithm still shows robustness against
the deviations and performs accurate estimation when a dominant lobe projectedon half-vector exists. We assess the applicability of our method to 2-lobe BRDFs
as well and verify the effectiveness of the proposed method on various real data.

2

Related Works

Conventional photometric stereo algorithm [1] assumes Lambert’s reflectanceand can recover surface normal directions from as few as three images. With additional images, non-Lambertian phenomenon such as shadow can be handled [6].
With more images, various robust techniques can be applied to statistically handle non-Lambertian outliers. There are approaches based on RANSAC [7], median filtering [8] and rank minimization [9]. Spatial information has also been used
for robustly solving the problem by using expectation maximization [10]. Somephotometric stereo methods explicitly model surface reflectances with parametric BRDFs. Georghiades [11] use the Torrance-Sparrow model [12] for specularfitting, and Goldman et al . [13] build their methods on the Ward model [2].
For surfaces with general reflectance, various properties have been exploited
to estimate surface normal, such as radiance similarity [14] and attached shadow
codes [15]. Higo et al .’s method [16] uses monotonicity and isotropy of general
diffuse reflectances. Alldrin and Kriegman [3] show that the azimuth angle ofnormal can be reliably estimated for isotropic materials using reflectance symmetry, if lights locate on a view-centered ring. Later, their method is extended
to solve for both shape and reflectance by further restricting the BRDF to bebivariate [17]. Based on the symmetry property, a comprehensive theory is developed in [18], and a surface reconstruction method using a special lighting rig is
introduced in [19]. By focusing on the low-frequency reflectance, the biquadraticmodel [20] can also be applied to solve the problem here.
We exploit reflectance monotonicity to compute the per-pixel elevation angleof surface normal given estimated azimuth angles using [3]. Unlike [17]’s approach that involves complex optimization for iteratively estimating shape andreflectance, our method avoids the complex optimization by taking the advantages of the monotonicity from the 1-lobe BRDFs.

3

Elevation Angle Estimation

Assume that we have already known the azimuth angles of surface normal. For
example, we can use the method in [3] to obtain the azimuth angles first, while
our method is not limited to a particular azimuth angle estimation method.

Elevation Angle from Reflectance Monotonicity

3

v
h

n

l
θh

θ

θl

φ

o

φl
Fig. 1. Coordinate system and key variables

Given the azimuth angles, our method performs 1-D search for determining theelevation angles ranging from 0 to π/2 for visible normals.
3.1

1-lobe BRDF

We use bold letters to denote unit 3-D vectors. l and v represent the lighting
and viewing directions, respectively, and h is their unit bisector. For photometric stereo, we use the view-centered coordinate system with v = (0, 0, 1)T . As
illustrated in Fig. 1, we use spherical coordinates (θ, φ) and (θl , φl ) to represent
surface normal n and lighting direction l respectively.
The semi-parametric model proposed in [4] suggests that BRDFs can be well
represented by the summation of several lobes in the form of ρ(nT k), whereρ(·) is a monotonically increasing function, and k is referred as a projection
direction. We further assume a dominant lobe (weighting is larger than otherlobes) of ρ(nT h) exists. We analyze the monotonicity of this lobe, and use thisproperty for determining elevation angles.
3.2

BRDF Profile

At a scene point, each hypothesized elevation angle θ0 uniquely determines anormal direction n0 , which in turn leads to multiple hypothesized BRDF values
by dividing the observed scene radiance with the foreshortening term n0T l. For
simplicity, we refer to these BRDF values across varying n0T h as a BRDF profile.
Given the observed scene radiance i at a pixel, the hypothesized BRDF profile
ρ0 is computed as
ρ0 (n0T h) =

i
n0T l

= ρ(nT h)

nT l
.
n0T l

(1)

We prove that ρ0 is only monotonic w.r.t. n0T h when n0 is the correct surface
normal direction (i.e., θ0 is the correct elevation angle θ), except for some degenerate lighting configurations. Based on this, we find the correct elevation angle
θ using the monotonicity of the BRDF profile ρ0 .

4Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi

3.3

Monotonicity of the BRDF Profile

Consider two different lighting directions l1 and l2 , and their associated halfvectors h1 and h2 . Without loss of generality, we assume a surface normal withthe azimuth angle φ = 0 and elevation angle θ, i.e., n = (cos θ, 0, sin θ)T . The
hypothesized elevation angle θ0 leads to n0 = (cos θ0 , 0, sin θ0 )T . For notation
simplicity, we define x1 = nT h1 , x2 = nT h2 , x01 = n0T h1 , x02 = n0T h2 and y1 =ρ(x1 ), y2 = ρ(x2 ), y10 = ρ0 (x01 ), y20 = ρ0 (x02 ).
If ρ is a monotonically increasing function1 , the following condition holds: forx1 < x2 , we have y1 < y2 . There are two cases when ρ0 becomes non-monotonic:
1. The ordering of x is swapped, but y is not swapped: x01 > x02 and y10 < y20 ;2. The ordering of y is swapped, but x is not swapped: x01 < x02 and y10 > y20 .
In the following, we first discuss the conditions for reordering of x and y respectively (which we call x-swap and y-swap for short hereafter), and then analyze
under what condition an incorrect estimate of the elevation angle θ0 will breakthe monotonicity of ρ0 .
Note here we focus on the case of two observations under lighting directions
l1 and l2 . In a photometric stereo setting, we often have far more than two input
observations. The discussion applies to any pair of observations: ρ0 becomes nonmonotonic, if any observation pair breaks its monotonicity.
Necessary and Sufficient Condition for x-swap. Suppose that the orderingof x is changed by the hypothesized θ0 , i.e., (x1 − x2 )(x01 − x02 ) = (nT h1 −nT h2 )(n0T h1 − n0T h2 ) < 0. From the definition of h and v = (0, 0, 1)T , we haveh=(lx , ly , lz + 1)T(lx , ly , lz + 1)T
l+v
√
.
=q
=
kl + vk
2 + 2lz
l2 + l2 + (l + 1)2
x

y

(2)

z

After some simple derivations, we havenT h1 = √1((l1z + 1) sin θ + l1x cos θ) .
2 + 2l1z

nT h2 can be computed in a similar way, and their difference becomes√nT h1 − nT h2 = A sin θ + B cos θ = A2 + B 2 sin(θ + α),

(3)

(4)

l1x
l2x
1z +1
2z +1
where A = √l2+2l− √l2+2l, B = √2+2l− √2+2l, and α = arctan B
A,α ∈
1z
2z
1z
2z
0
[−π/2, π/2]. We obtain a similar equation for n by replacing θ in Eq. (4) with
θ0 .
Therefore the necessary and sufficient condition to change the ordering of x
is (nT h1 − nT h2 )(n0T h1 − n0T h2 ) = sin(θ + α) sin(θ0 + α) < 0. In other words,
1

We discuss only the monotonically increasing case in this paper. The similar analysis
can also be applied to monotonically decreasing case.

Elevation Angle from Reflectance Monotonicity

5

sin(θ + α) and sin(θ0 + α) should have different signs. This condition is true only
when α < 0 and θ < −α < θ0 (or, θ0 < −α < θ), since θ and θ0 are both within[0, π/2], and α is within [−π/2, π/2]. Note that α is completely determined by
the two lighting directions l1 and l2 , and independent of θ and θ0 . Hence, a larger
difference between θ and θ0 gives higher possibility for an x-swap to happen.
Sufficient Condition for y-swap. Next, we consider when the ordering ofy will be changed, i.e., we discuss the case where y1 < y2 and y10 > y20 . We
assume that l1 is close to l2 such that ρ(nT h1 ) is close to ρ(nT h2 ). This istrue when lighting is dense and neighboring lighting directions are sampled,
and lighting directions do not cause the highlight reflection at n. Note that byfocusing on nearby lighting directions, we can only derive the sufficient condition
for swapping the ordering of y, because there could be two parted lights causing
y-swap to happen. Under these assumptions and according to Eq. (1), y 0 is
mainly determined by nT l/n0T l. For l1 , we obtainsin(θ + β1 )l1x cos θ + l1z sin θ
nT l1
=
=
,
0T
0
0
n l1
l1x cos θ + l1z sin θsin(θ0 + β1 )tan β =

l1x
.
l1z

(5)

sin(θ+β2 )sin(θ+β1 )From the relationship sin(θ0 +β ) > sin(θ 0 +β ) > 0, we can derive the sufficient1
2
condition for y-swap as(θ0 − θ)l12 y < 0.

(6)Here, l12y is y-component of the cross product of l1 and l2 . The derivation canbe found in the Appendix. Eq. (6) indicates that the ordering of y depends on
two factors: (1) the sign of (θ0 − θ), i.e., the hypothesized θ0 is larger or smaller
than the true value, and (2) the relative positions of the two lights l1 and l2 .
Sufficient Condition for Unique Solution. For any hypothesized θ0 , if it
swaps the ordering of y (or, x) while keeps the ordering of x (or, y) unchanged,
the function ρ0 will become non-monotonic. Hence, if we can ensure an incorrect
θ0 will always break the monotonicity of ρ0 , we can find the correct elevation
angle θ by choosing the θ0 that makes ρ0 monotonic.
For a monotonically increasing ρ, we have x1 = nT h1 < x2 = nT h2 , or equivalently θh1 > θh2 . We begin with the case where lights are densely distributed
along the same longitude as the normal n, i.e., φl = φ = 0. Since we requireθh1 > θh2 , h2 is closer to n than h1 . Further, as illustrated in Fig. 2, h1 and h2
are restricted on the red dotted line when the lighting directions l1 and l2 moveon the green dotted line. By observing the geometric relationship between h andl, we obtain the following results:
1. As shown in Fig. 2(a), if θ ≤ π/4, we always have θl1 > θl2 (l1 is closer to v
than l2 ). This ensures l12y > 0. Then from Eq. (6), y-swap always happens if
the hypothesized θ0 becomes θ0 < θ. In contrast, y-swap might not2 happen
when θ0 > θ;2

Because we only have the sufficient condition for y-swap.

6

Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi
(a)

(b)

v
h1
y

θh2

h2
l1

θ

v

l12y

h2

θh2

l2

θl2

n

y

n

θ

h1
l2

l1

θl2

x

l12y
x

Fig. 2. Lights, half-vectors and normal on the same longitude. (a) θ ≤ π/4; (b) θ > π/4.
(a)α values withφl = 0(π/2, π/2)

-π/4

(b) 0

max(α)

-0.2

θ l2

-0.4
-0.6

(0, 0)
θ l1

-π/2

-0.8
0

0.5

φl

1

1.5

Fig. 3. (a) α values for φl = 0 and θl1 , θl2 ∈ [0, π/2]; (b) max(α) values for φl ∈ (0, π/2].

2. As shown in Fig. 2(b), if θ > π/4, the relative positions of l1 and l2 cannot
be determined from θh1 > θh2 . There are two cases: (1) If h1 and h2 areboth farther from v than n, we should have θl2 > θl1 (l2 is closer to v thanl1 ). Hence, l12y < 0; (2) If h1 and h2 are both closer to v than n, we shouldhave θl1 > θl2 (l1 is closer to v than l2 , which is a similar case as Fig. 2(a)).
Hence, l12y > 0. When lights are densely distributed along the longitude,
we can always find a pair of lights satisfying these two cases. As a result,Eq. (6) can hold to cause y-swap no matter what θ0 is.
Now we know y-swap might not happen when θ ≤ π/4 and θ0 > θ. In
the next, we analyze when x-swap happens. If both swaps do not happen, an
incorrect estimate of the elevation angle θ0 will not break the monotonicity of ρ0 ,and we cannot tell whether that θ0 is correct or not. Due to the complexity of
the analytic form of α, we simulate and plot all α values for all combinations ofl1 and l2 on the same longitude as n in Fig. 3(a). It is interesting to note that α
continuously changes in [−π/2, max(α)], where max(α) ≈ −π/4. In other words,−α covers the whole range of [− max(α), π/2]. Recall that the necessary andsufficient condition for x-swap to happen is that θ0 < −α < θ (or, θ < −α < θ0 ).
Thus, if both θ0 and θ are smaller than − max(α), x-swap will never happen.
Combining the conditions that both x-swap and y-swap do not happen, we
conclude θ0 ∈ [θ, −max(α)] is the degenerate interval for normals with φl = 0,
where the monotonicity of ρ0 is not broken by any incorrect θ0 .

Elevation Angle from Reflectance Monotonicity

7

Next, we consider lights along other longitudes, i.e. φl ∈ (0, π/2]. The same
analysis can be applied, and similarly, the monotonicity of ρ0 is not broken by
any incorrect θ0 within the degenerate interval [θ, −max(α)φl ]. Here, −max(α)φldepends on the azimuth angle of lighting directions at the longitude φl . We plot
it as a function of φl for those longitudes in Fig. 3(b). We find that max(α)
increases from about −π/4 to 0 when φl approaches π/2. Since monotonicity ofρ0 is lost if any pair of lights on a longitude can break its monotonicity, the final
degenerate interval is the intersection of all degenerate intervals [θ, −max(α)φl ]from each longitude. This makes the final intersection of the interval an empty
set, because −max(α)φl approaches 0. In other words, if we have lights on all
longitudes with azimuth angles φl ∈ [0, π/2], we can uniquely determine theelevation angle θ for normals with φ = 0.
To recover the elevation angle of arbitrary surface normals, we will needlights spanned all longitudes that cover the whole hemisphere. These lights form
a dense and uniform distribution over the hemisphere. In practice, we capture
images under random lighting directions that approximate the uniformity.

4

Solution Method

We perform a 1-D search for θ within [0, π/2] at each pixel. For each hypothesized value θ0 , we assess the reflectance monotonicity. Specifically, we computethe hypothesized BRDF values y 0 and evaluate its monotonicity w.r.t. to x0 .
To measure the reflectance monotonicity, we calculate the derivatives (discrete
differentiation) of y 0 and sum up the absolute values of negative derivatives,
denoted as δ(θ0 ):


X
d y0
0
(7)
δ(θ ) =
max − 0 , 0 ,dx
0x

The cost δ penalizes monotonically decreasing sequence, i.e., a larger δ value
indicates a less monotonically increasing y 0 . We show a typical cost function in
Fig. 4 for a normal with θ = π/6 and φ = 0. Fig. 4(a) is the cost computed
where all lights locate on the same longitude as the normal. As we have provedin Sec. 3.3, there is a degenerate interval for θ0 ∈ [θ, −max(α)]. Indeed, ourcost function is almost a constant value in [π/6, π/4], and we cannot tell which
value within this interval is the correct elevation angle. Fig. 4(b) shows the costcomputed with lights distributed on the whole hemisphere. It has a clear global
minimum to estimate the elevation angle.
The complete normal estimation algorithm is summarized as Algorithm 1.
There are a few implementation details: (1) We discard shadows by simple
thresholding. For scene radiance values normalized to 1, we use a thresholdi0 = 10−6 for synthetic data, and in real data the threshold is manually chosen
through cross validation (typically set as 0.02 in our experiments); (2) When calculating y 0 , we set it as a big value (i∞ = 1010 ), if n0T l ≤ 0; (3) When evaluating
the monotonicity, we apply a monotonic mapping as y 0 ← y 0γ (γ is empiricallydetermined as 5 in all experiments) for a data normalization purpose.

8

Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi
(a) 1

(b) 1

0.8

0.8

0.6

0.6

0.4

1

0.2

0.5

0

0.4

f ( x) 
0
0

10

20

30

40

'

50

60

0.2

2
1
1  e x
5

70

10

80

1

90

0

0.5

f ( x) 
0
0

10

20

30

40

'

50

60

2
1
1  e x
5

70

10

80

90

Fig. 4. Cost function for θ0 ∈ [0◦ , 90◦ ] (normalized by f (·) shown in the right bottom
for visualization purpose). (a) Using lights on the same longitude as normal; (b) Using
lights covering the whole hemisphere.

f ( (' ))Algorithm 1 Photometric Stereo for General Isotropic Reflectances
INPUT: Scene radiance values i, lighting directions l, threshold i0 , i∞ .
Compute the azimuth angle of normal φ using the method in [3];for each pixel dofor θ0 ∈ [0, π/2] do
Let n0 = (cos θ0 cos φ, cos θ0 sin φ, sin θ0 )T ;Calculate y 0 based on Eq. (1);
If any l causes y ≤ i0 (in shadow), set its corresponding y 0 = i0 ;If any n0T l ≤ 0, set its corresponding y 0 = i∞ ;Order y 0 = i/(n0T l) w.r.t. x0 = n0T h;
Evaluate the cost values using Eq. (7);end forθ = argmin δ(θ0 );θ0n = (cos θ cos φ, cos θ sin φ, sin θ)T ;end forOUTPUT: Normals for all pixels.

5

Experiments

We evaluate the accuracy of elevation angle estimation using all the 100 materials
in the MERL BRDF database [5], also with varying number of lights. Synthetic
experiments using 2-lobe BRDFs are performed to assess the robustness of our
method against the deviation from the 1-lobe BRDF assumption. Finally, weshow our normal estimates on real data.
5.1

Synthetic Data

Performance on Measured BRDFs. We sample 1620 normal directions fromthe visible hemisphere by uniformly choosing 36 longitudes and 45 altitudes. We
generate their observations under 337 lighting directions uniformly sampled on
the hemisphere. For the sampling, we use the vertices defined by an icosahedronElevation Angle from Reflectance Monotonicity

Elevation angle error (deg.)

0.03

3
2.5

0.02
0

1

0.02
0

0.8

0.3

0.6

0.5
T
n h

1

0.04
0

0.2

T

T

0.08
0.06

0.04
0.5
T
n h

0.4

0.1

(n h)

0.06

0.12

(n h)

T

0.04

T

0.08

(n h)

0.1

0.05

T

3.5

0.12

0.06

(n h)0.07

A
(n h)

4

0.1
0.5
T
n h

1

0
0

9

0.4
0.2

0.5
T
n h

1

0
0

0.5
T
n h

1

B

2
1.5

C

A

B

C

E

D

1
0.5

D

E

green-latex
pickled-oak-260
beige-fabricpolyethylene
white-paintpink-plastic
red-plastic
yellow-plastic
pink-fabric2
nylon
neoprene-rubber
white-fabric2
white-fabricpink-felt
white-acrylic
white-diffuse-bballspecular-white-phenolic
white-marble
yellow-paintalumina-oxide
polyurethane-foamlight-red-paint
pure-rubber
pink-jasperdelrinsilver-paintorange-paintpearl-paintpink-fabricteflonspecular-yellow-phenolic
violet-rubber
red-fabricgreen-fabric
blue-acrylic
blue-rubber
silver-metallic-paint2
grease-covered-steel
dark-red-paintgold-paintaluminium
nickelblack-oxidized-steel
special-walnut-224
black-fabricdark-specular-fabricblack-soft-plastic
chrome-steelcolonial-maple-223
black-obsidian
dark-blue-paintspecular-black-phenolic
steel
blue-metallic-paintchromespecular-blue-phenolic
specular-green-phenolic
tungsten-carbide
yellow-phenoliclight-brown-fabricsilicon-nitrade
brass
green-acrylic
ss440
gold-metallic-paintblack-phenolic
blue-fabricspecular-violet-phenolic
blue-metallic-paint2
cherry-235
color-changing-paint3
fruitwood-241
green-metallic-paint2
hematitesilver-metallic-paintcolor-changing-paint1
green-metallic-paintred-metallic-paintalum-bronze
color-changing-paint2
ipswich-pine-221
natural-209
specular-maroon-phenolic
two-layer-gold
two-layer-silver
gold-metallic-paint2
gold-metallic-paint3
green-plastic
red-specular-plastic
aventurnine
pvc
violet-acrylic
red-phenolic
red-fabric2
maroon-plastic
specular-red-phenolicgray-plastic
purple-paintspecular-orange-phenolic
yellow-matte-plastic

0

Material names

L100
L337
L100 + Mapping L337 + Mapping
Fig. 5. Elevation angle errors(degree) on
100 materials(ranked by errors in a descendError
1.78
1.26
1.37
0.77
ing order). Rendered spheres of some representative materials and their BRDF valuesTin the ρ-n h space are shown near the curve. The spheres in the ρ-nT h plots show
the 1-D projection RMS errors using all the directions on the hemisphere (dark bluemeans small, and red means large errors).

with a tessellation order of three. The average elevation angle errors of the 1620
samples for all materials in the MERL BRDF database are summarized in Fig. 5.
The average error on all the 100 materials is 0.77◦ from the ground truth.
We observe that the error is relatively large for materials that cannot bewell represented by a monotonic 1-lobe BRDF with half-vector as the projection
direction, for example the material A and B in Fig. 5 (see the ρ-nT h plot above
the rendered spheres). For those materials, their optimal 1-lobe BRDF representations have a much different projection direction from h (see the spheresof RMS error distribution in the ρ-nT h plots). Therefore, if we force them toproject on h and apply our method, the results have relatively larger errors.
Performance with Varying Number of Lights. Next, we evaluate the system performance variation with different numbers of lighting directions (input
images). We perform the same experiment using 25, 50, 100 and 200 random
lighting directions. The errors and light distributions are shown in Fig. 6. Empirically, about 100 random lights provide average elevation angle error of around1◦ . Thus in the following test, we fix the number of lights to 100.
Performance on 2-lobe BRDFs. To demonstrate the robustness of our
method, we evaluate our method on synthetic data using 2-lobe BRDFs in Fig. 7.
The weighting of the two lobes k1 and k2 are varied from 0 to 1. Fig. 7(a) shows10

Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi

Elevation angle error (deg.)

4.5
4

3.98

3.5
3

25

2.5

50

2.14

2

1.37

1.5

0.88

1

0.77

0.5
0
25

50

100

Number of lights

200

100

337

200

337

Light distributions

Fig. 6. Average elevation angle errors (degree) on 100 materials varying with the number of lighting directions. Next to the curve, the blue dots on spheres show the light
distribution in each case.
(b)(1, 1)

k1

k1(1, 1)(0.1, 0.1)

k2

(c)

(1, 1)k1(a)(0.1, 0.1)

k2

(0.1, 0.1)

k2

Fig. 7. Elevation angle errors (degree) on 2-lobe BRDFs. (a) The Cook-Torrance model, where k1 is the Lambertian and k2 is the specular strength; (b) k1 ρ1 (nT v) +k2 ρ2 (nT (v + 2l)); (c) k1 ρ1 (nT h) + k2 ρ2 (nT k), where k is a random direction.

our result on the Cook-Torrance model [21] (roughness m = 0.5) with a Lambertian diffuse lobe and a specular lobe. Note the specular lobe of the Cook-Torrance
model is not centered at h. However, our method always gives accurate resultfor different relative strength of the two lobes. The error in estimated elevation
angles is the largest (about 1◦ ) when BRDF is completely dominated by the
specular lobe.
As discussed in [4], some fabric materials contain lobes with projection direction v or (v + 2l). Hence, we deliberately create such a BRDF as k1 ρ1 (nT v) +k2 ρ2 (nT (v + 2l)) and evaluate our method on this BRDF. Note both lobes are
not centered at h. Here, ρ1 (x) = ρ2 (x) = x. In Fig. 7(b), we plot the elevation
angle errors for different values of k1 , k2 . The errors are smaller than 3◦ for mostof the combinations.
At last, we create a 2-lobe BRDF k1 ρ1 (nT h) + k2 ρ2 (nT k) by combining alobe centered at h and another one with a random direction k. k is a randomly
sampled direction on the sphere for each pixel under each lighting direction. The
elevation angle errors are shown in Fig. 7(c). We can observe that for more thanhalf of all cases, our method generates errors smaller than 5◦ . Our method canwork reasonably well with errors smaller than 3◦ when the relative strength of
the random lobe is below 0.3.

Elevation Angle from Reflectance Monotonicity

(a)

(b)

(c)

(a)

(b)

(c)

(d)

(d)

11

(e)

(e)

Fig. 8. Results on Gourd1 (102) (The number in the bracket indicates the number ofimages in the dataset.) [17]. (a) One input image; (b), (c) Our normal and Lambertianshading; (d), (e) Normal and shading from Lambertian photometric stereo. Note that(b) and (d) have an average angular difference of about 12◦ .

(a)

(b)

(c)

(d)

(e)

Fig. 9. Results on Apple (112) [17]. (a) One input image; (b), (c) Our normal andNormal:r: (x+1)/2;
g: (y+1)/2;
b:zand surface shown in paper [17]. Note here wereconstructedsurface;(d), (e)Normaluse the color mapping of ((nx + 1)/2, (ny + 1)/2, nz ) → (R, G, B) for a comparison
purpose. The shapes look different partially due to we do not know exactly the samereconstruction method and rendering parameters used in [17].

5.2Real Data

We show the estimated normals by our method on real data. We visualize theestimated normals by linearly encoding the x, y and z components of normals
in RGB channels of an image (except for the Apple data in Fig. 9 for a comparison purpose). First, in Fig. 8, our method is compared with the Lambertian
photometric stereo [1] by showing the estimated normals and the Lambertianshadings calculated from the estimated normals with the same lighting direction as the input image. For such non-Lambertian materials, our method showsmuch more reasonable normal estimates. Next, we compare with the method
in [17] by showing the surface reconstructions (according to the method in [22])from the estimated normals in Fig. 9(b). Due to the lack of the ground truth,
we cannot make a quantitative comparison, but qualitatively, our method shows
similar results as [17]. In terms of the complexity, our method is much simpler
and computationally inexpensive for deriving the elevation angle.
Finally, we show our estimated normals on other materials with various reflectances, such as plastic, metal, paint, etc., as shown in Fig. 10. The datasetson the left side are from [17] and [23]; right part of the datasets are captured byourselves with a Sony XCD-X710CR camera. By comparing the input images
and the Lambertian shadings, we claim our estimated normals are of high ac-

12Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi

Fig. 10. Real data results. Left part: Gourd2 (98) [17], Helmet side right (119) (Weuse only 119 out of all the 253 images in the original dataset.) [23], Kneeling Knight(119) [23]; Right part: Pear (77), God (57), Dinosaur (118). We show one input
image, the estimated normals and the Lambertian shadings for each dataset.

curacy. Some noisy points observed on the results are mainly caused by pixels
with too dark intensities and hence low signal-to-noise ratio.

6

Conclusions

We show a method for estimating elevation angles of surface normal by exploiting reflectance monotonicity given the azimuth angles. We assume the BRDF
contains a dominant monotonic lobe projected on the half-vector, and prove thatthe elevation angle can be uniquely determined under dense lights uniformly distributed on the hemisphere. In synthetic experiments, we first demonstrate theaccuracy of our method on a broad category of materials. We further evaluate its
robustness to deviations from our assumption about BRDFs. Various real-dataexperiments also show the effectiveness of the proposed method.
Limitations. Our method assumes known azimuth angles. Joint estimationof both azimuth and elevation angles makes the problem prohibitively difficult
due to its highly non-linear nature of the problem. When the assumed azimuth
angles are not accurate, the elevation angle estimation will be deteriorated accordingly. For example, in the experiment of Fig. 5, the average elevation angle
errors over 100 materials increase to {1.16, 2.24, 3.32, 4.72} degrees with additive
azimuth angle errors normally distributed with mean 0 and standard deviation{0.5, 1, 1.5, 2} degrees, respectively. To make the proposed method robust against

Elevation Angle from Reflectance Monotonicity

13

inaccuracy of azimuth angles is an interesting direction. Besides, while we havediscussed only the sufficient condition, deriving a compact lighting configurationthat uniquely determines the elevation angles is our future work.

Acknowledgement
The authors would like to thank Neil Alldrin for providing the code of [3] andManmohan Chandraker for helpful discussions. Boxin Shi and Katsushi Ikeuchi
was partially supported by the Digital Museum Project, Ministry of Education,
Culture, Sports, Science & Technology in Japan. Ping Tan was supported by theSingapore ASTAR grant R-263-000-592-305 and MOE grant R-263-000-555-112.

References
1. Woodham, R.: Photometric method for determining surface orientation from multiple images. Optical Engineering 19 (1980) 139–144
2. Ward, G.: Measuring and modeling anisotropic reflection. Computer Graphics 26(1992) 265–272
3. Alldrin, N., Kriegman, D.: Toward reconstructing surfaces with arbitrary isotropic
reflectance: A stratified photometric stereo approach. In: Proc. of International
Conference on Computer Vision (ICCV). (2007)
4. Chandraker, M., Ramamoorthi, R.: What an image reveals about material reflectance. In: Proc. of International Conference on Computer Vision (ICCV).
(2011)
5. Matusik, W., Pfister, H., Brand, M., McMillan, L.: A data-driven reflectancemodel. In: ACM Trans. on Graph. (Proc. of SIGGRAPH). (2003)
6. Barsky, S., Petrou, M.: The 4-source photometric stereo technique for threedimensional surfaces in the presence of highlights and shadows. IEEE Trans.
Pattern Anal. Mach. Intell. 25 (2003) 1239–1252
7. Mukaigawa, Y., Ishii, Y., Shakunaga, T.: Analysis of photometric factors basedon photometric linearization. Journal of the Optical Society of America 24 (2007)
3326–3334
8. Miyazaki, D., Hara, K., Ikeuchi, K.: Median photometric stereo as applied to thesegonko tumulus and museum objects. International Journal of Computer Vision86 (2010) 229–242
9. Wu, L., Ganesh, A., Shi, B., Matsushita, Y., Wang, Y., Ma, Y.: Robust photometricstereo via low-rank matrix completion and recovery. In: Proc. of Asian Conference
on Computer Vision (ACCV). (2010)
10. Wu, T., Tang, C.: Photometric stereo via expectation maximization. IEEE Trans.
Pattern Anal. Mach. Intell. 32 (2010) 546–560
11. Georghiades, A.: Incorporating the Torrance and Sparrow model of reflectance inuncalibrated photometric stereo. In: Proc. of International Conference on Computer Vision (ICCV). (2003)
12. Torrance, K., Sparrow, E.: Theory for off-specular reflection from roughened surfaces. Journal of the Optical Society of America 57 (1967) 1105–1114
13. Goldman, D., Curless, B., Hertzmann, A., Seitz, S.: Shape and spatially-varying
BRDFs from photometric stereo. IEEE Trans. Pattern Anal. Mach. Intell. 32(2010) 1060–1071

14

Boxin Shi, Ping Tan, Yasuyuki Matsushita, and Katsushi Ikeuchi

14. Sato, I., Okabe, T., Yu, Q., Sato, Y.: Shape reconstruction based on similarity inradiance changes under varying illumination. In: Proc. of International Conference
on Computer Vision (ICCV). (2007)
15. Okabe, T., Sato, I., Sato, Y.: Attached shadow coding: estimating surface normals
from shadows under unknown reflectance and lighting conditions. In: Proc. ofInternational Conference on Computer Vision (ICCV). (2009)
16. Higo, T., Matsushita, Y., Ikeuchi, K.: Consensus photometric stereo. In: Proc. ofIEEE Conference on Computer Vision and Pattern Recognition (CVPR). (2010)
17. Alldrin, N., Zickler, T., Kriegman, D.: Photometric stereo with non-parametric andspatially-varying reflectance. In: Proc. of IEEE Conference on Computer Vision
and Pattern Recognition (CVPR). (2008)
18. Tan, P., Quan, L., Zickler, T.: The geometry of reflectance symmetries. IEEE
Trans. Pattern Anal. Mach. Intell. 33 (2011) 2506–2520
19. Chandraker, M., Bai, J., Ramamoorthi, R.: A theory of photometric reconstruction
for unknown isotropic reflectances. In: Proc. of IEEE Conference on Computer
Vision and Pattern Recognition (CVPR). (2011)
20. Shi, B., Tan, P., Matsushita, Y., Ikeuchi, K.: A biquadratic reflectance model forradiometric image analysis. In: Proc. of IEEE Conference on Computer Vision and
Pattern Recognition (CVPR). (2012)
21. Cook, R., Torrance, K.: A reflectance model for computer graphics. ACM Trans.
on Graph. 1 (1982) 7–24
22. Kovesi, P.: Shapelets correlated with surface normals produce surfaces. In: Proc.
of International Conference on Computer Vision (ICCV). (2005)
23. Einarsson, P., etal.: Relighting human locomotion with flowed reflectance fields.
In: Proc. of Eurographics Symposium on Rendering. (2006)

Appendix: Proof of Eq. (6)Proof. If nT l > 0 and n0T l > 0, from Eq. (5), the following holds:
sin(θ + β1 )sin(θ + β2 )>> 0.
sin(θ0 + β1 )sin(θ0 + β2 )Therefore, we havesin(θ + β1 ) sin(θ0 + β2 ) − sin(θ0 + β1 ) sin(θ + β2 ) > 0.
By applying the product-to-sum trigonometric identities, it is simplified ascos(θ − θ0 + β1 − β2 ) − cos(θ0 − θ + β1 − β2 ) > 0.
This further becomes as following by applying the sum-to-produce identities:sin(θ0 − θ) sin(β1 − β2 ) > 0.
Since θ, θ0 ∈ [0, π/2], we can use (θ0 − θ) to replace sin(θ0 − θ) with inequality
retained. From the definition of tan β, we have the following relationsin(β1 − β2 ) =sin(β1 ) cos(β2 ) − cos(β1 ) sin(β2 )= √ 2l1x 2 √ 2l2z 2 − √ 2l1z 2 √ 2l2z 2 .
l1x +l1z

l2x +l2z

l1x +l1z

l2x +l2z

This indicates the sign of sin(β1 − β2 ) is the same as l1x l2z − l1z l2x = l2 × l1 =−l12y . Therefore, the inequality of Eq. (6) holds.
