International Journal of Computer Vision, 16, 107-133 (1995)
© 1995 Kluwer Academic Publishers, Boston. Manufactured in The Netherlands.
Shape from Shading: Level Set Propagation and Viscosity Solutions
RON KIMMEL*
Electrical Engineering Dept. Technion, Haifa 32000, Israel
KALEEM SIDDIQI AND BENJAMIN B. KIMIAt
Laboratory for Man~Machine Systems, Brown University, USA
ALFRED M. BRUCKSTEIN*
Computer Science Dept. Technion, Haifa 32000, Israel
Received 1992
ron@ tx.teclmion.ac.il
siddiqi@ lems.brown.edu, kimia@lems.brown.edu
freddy@ cs.technion.ac.il
Abstract. We present a new implementation of an algorithm aimed at recovering a 3D shape from its 2D gray-level
picture. In order to reconstruct the shape of the object, an almost arbitrarily initialized 3D function is propagated
on a rectangular grid, so that a level set of this function tracks the height contours of the shape. The method
imports techniques from differential geometry, fluid dynamics, and numerical analysis and provides an accurate
shape from shading algorithm. The method solves some topological problems and gracefully handles cases of
non-smooth surfaces that give rise to shocks in the propagating contours. Real and synthetic images of 3D profiles
were submitted to the algorithm and the reconstructed surfaces are presented, demonstrating the effectiveness of
the proposed method.
1 Introduction
Computer vision researchers have invented several
methods of reconstructing three dimensional objects
from their two dimensional images, see e.g. (Brooks
and Horn 1989; Bruckstein 1988; Frankot and
Chellappa 1988; Horn 1975, 1990; Horn and Brooks
1986, 1989; Ikeuchi and Horn 1981; Pentland 1984,
1990). Other interesting and fruitful research concerns
the numerical approximation of wave-front propaga-
tion in fluid dynamics, crystal growth, etc. Some nice
results in the numerical approximation of front prop-
agation were recently published by Osher and Sethian
(1988). In this paper we modify a numerical method
of front propagation suggested in this context, to build
a scheme for reconstructing a shape from its shaded
image. The resulting algorithm combines equal-height
contour propagation as suggested by Bruckstein (1988)
with well behaved (i.e. stable and locally accurate) nu-
merical methods proposed by Osher and Sethian for
*R. Kimmel's work was partly supported by the Ollendorf Fund.
tB.B. Kimia's work was supported by the Sun Microsystems
Academic Equipment Grant.
CA,M. Bruckstein's work was supported in part by the Fund for
the Promotion of Research at the Technion.
wave-front evolution. We show that some topolog-
ical problems are readily solved in this formulation
of the problem. Furthermore smoothness of the sur-
face is not a necessary condition, in the sense that
object corners that would lead to shocks in propagat-
ing contours are gracefully dealt with by the numerical
scheme.
2 Problem Formulation and the Reflectance Map
Suppose we are given a continuous function of two vari-
ables, z(x, y) describing the surface of an object. The
shaded image of that surface is defined as a brightness
distribution E(x, y), the brightness values depending
on properties of the surface, its orientation at (x, y) and
on illumination. The brightness E(x, y) is determined
via a so-called shading rule or reflectance map, charac-
terizing the surface properties and providing an explicit
connection between the image and the surface orienta-
tion. The shape from shading problem is to recover the
depth function z(x, y), from the image E(x, y).
Let us first specify surface orientation using the
components of the surface gradient p = Oz/Ox and
q = Oz/Oy. The surface normal at each point is perpen-
dicular to the plane determined by the vectors (1, 0, p) r