Computer vision seeks a process that starts with a noisy, ambiguous signal from a TV
camera and ends with a high-level description of discrete objects located in 3-dimensional
space and identified in a human classification. In this book we address this process at
several levels. We first treat the low-level image-processing issues of noise removal and
smoothing while preserving important lines and singularities in an image. At a slightly
higher level, we describe a robust contour tracing algorithm that produces a cartoon of the
important lines in the image. Finally, we begin the high-level task of reconstructing the
geometry of objects in the scene.
The problems in computer vision are so interrelated that to solve one we must solve
them all. This book manages to make serious progress at several levels of visual recon
struction by working in a restricted world of simple pictures of simple objects.
We use a model that represents a scene as a group of overlapping shapes corresponding
to the projections of objects. In constructing this representation from an image, the
algorithm must imitate the process in human perception of inferring contours and surfaces
that are occluded or are not present in the luminance function. Consequently, the work
depends strongly on what we know about the psychology of perception, especially from
the Gestalt school and its heirs.
We define the problem in this way: to find a decomposition of the domain D of an image
that has the fewest disrupted edges-junctions of edges, crack tips, corners, and cusps-by
creating suitable continuations for the disrupted edges. The result is a decomposition of
D into overlapping regions R\ U ... U Rn ordered by occlusion, called the 2.1-D Sketch.
Chapters 2 through 5 describe algorithms that have been implemented in the С language
for a SUN workstation running Unix1 and X-Windows, using a library of computer vision
functions called HVision. The programs from this book are available via anonymous FTP
from internet host math .harvard. edu, in the directory vision.
If computer vision is to have a hope of serious long-term progress in the engineering
sense, we must adopt the tradition from the numerical analysis community of sharing
computer code. In this way, the next generation of results is built upon the combined best
parts of the previous generation.