include("pageleft.phtml"); ?>
Background Papers
|
•
A technical report in PDF format on Microsoft's Easy Camera Calibration Tool
by Microsoft Research's
Zhengyou Zhang
(View review)
•
A report on corner detection in camera calibration
by my summer mentor,
Mark Livingston
(View review)
•
A report on corner detection in camera calibration
by Janne Heikkila of Infotech Oulu
(View review)
•
An explanation of various methods of corner detection
by the Berlin Technical University's
Ute Schmid
(View review)
|
|
Background Paper Review: The Microsoft Easy Camera Calibration Tool
by Zhengyou Zhang
|
Once corners (or any type of feature desired) are detected, labeled and listed for a set
of at least two images, the estimated corner coordinates and model coordinates can be used to in turn estimate
the internal parameters of the camera that took the images. These parameters include (but are not limited to)
position and orientation in 3-space, skew, and scaling in two dimensions. Zhang presents an accurate but simple-
to-understand mathematical routine for performing this calibration.
I will not attempt to put down every math-laden detail of Zhang's routine, but I will cover
the important points. Zhang takes in a model file and any number of image description files containing simply
coordinates for all important points, each file having these coordinates in a certain (and the same) order. The
coordinating sets of coordinates are all the image information that is necessary to calibrate a camera. Next Zhang
transforms each set of points from a certain image to make them easier to work with; in his calculations, if points
are left at large distances from the (very arbitrary) origin, some small differences in values are manipulated out
of existence, and these small differences are the most important parts of the data.
Now Zhang is ready to perform the calibration itself. First he estimates the transformations
necessary to move from the 3-D coordinate system of the model that was photographed to the coordinate systems of
each image taken; this can be done using the angles between points and some knowledge of perspective. Then he calls
an optimizer (see my poster page for details), gives it all of the camera's internal
parameters in matrix form, and evaluates the result of each step based on the 3-D distances between each point in
the model file and its corresponding points in each image. The smaller the value of this function, the better the
estimate of the camera parameters.
This process is made easier if all images are moved to one of three planes--x, y,
or z--before optimizing, as this moves the whole process to two dimensions. Zhang does this also. Thus the
optimization is almost his entire process if measured in time. His routine is both simple mathematically and
efficient. I will actually be rewriting his algorithm for our uses, which are a little more specific than Zhang's;
see calibrate.cpp, my version of his routine, for details.
|
|
Background Paper Review: Corner Detection and its Application to Camera Calibration
by Mark Livingston and H. Harlyn Baker
|
Detecting corners in viewed scenes is one good way to calibrate video cameras,
that is, to tell them where things are in 3-space and to give them information about their orientations.
Corners are some of the easiest objects to detect in scenes because of the high contrast in color between
different objects. This contrast also means that black-and-white images are better for calibration than
are images with color, which have less differential between colors.
Two methods of attempting to find a Plessey value for a miniscule-sized window (this is
analogous to finding the instantaneous image derivative) are researched and explained: a gradient search
and a scale-space search.
The image gradient is a map of the derivatives of the image in all directions.
The gradient corresponds very well to the error in detecting corner points by a modified Plessey algorithm
(which actually finds the image derivatives in two directions); experiments have been conducted into the
correspondence between each of the image gradient and the conjugate image gradient (perpendicular to the
gradient) with the error in points found by the Plessey function. This error in calculated points is
generally constant for a given set of images, implying that with a gradient with high enough contrast,
the algorithm could have extremely close to zero maximum error.
A scale-space search attempts to extrapolate the derivative values for an
infinitessimally small area of the 2-D scene given the values of several windows of finite size.
The larger the window, the less accurate the result, but at small enough pixel-size values--3 to 5 pixels
across--the windows provide little information due to gradient blurring.
The scale-space search provided better correlations between the gradient and the error
values, while the gradient search, strangely, gave better correlations with the conjugate gradient than
with the gradient. This is counterintuitive, and will be researched further.
|
|
Background Paper Review: A Four-Step Camera Calibration Procedure with Implicit Image Correction
by Janne Heikkila and Olli Silven
|
A four-step procedure for calibrating cameras extremely accurately is presented. It also
describes the pinhole model of a camera, which assumes no lens distortion or 3-d surfaces visible. The
approach built up in the paper describes a way of calculating a camera's intrinsic parameters from a small
amount of known outside information.
A homogeneous coordinate system, adjusted for an unknown angle between the "plane" of
the lens and the "plane" captured in the image, is used to model lens distortion. Heikkila and Silven use
estimation of the camera view line, given an image, to help estimate camera coordinates with 1000% of
normal previous accuracy.
The article affirms that the larger the number of visible interest points, or features
of the image, the better those features can be placed in 3-space, and also that the better the features'
positions are known, the better the camera's position can be estimated. This should come as no revelation.
|
|
Background Paper Review: UNKNOWN [Article Extract]
by Ute Schmid
|
"Interest points" are points in an image that hold interest for a user, such as
corners or points of high intensity. Three main types of detectors for interest points are presented and
explained in detail.
Contour-based detectors measure the contours, or curvatures, of the image function and
select points of maximum or minimum curvature. They sometimes split curvatures into linear parts and
locate intersections of large numbers of line segments.
Intensity-based methods select points at the centers of multi-pixel-wide areas of
high image gradient; in other words, they locate areas that stand out in color. One intensity-based
method, known to Schmid as "Harris", uses the normals of a function known as the auto-correlatin matrix
to determine interest points very simply: the larger the gradient in both directions at a point, the more
likely it is to be of interest to us.
Parametric intensity models fit parametric equations--I as a function of x and y--
to areas of the image to find areas of interest within the functions. They have very good accuracy, but
can only operate in the two dimensions of the image, so they can basically only detect corners at
very small angles with the conventional axes.
The Harris method is most of importance to us, because it is the method we will be
using to detect our interest points (corners specifically). The auto-correlation matrix A is simply an
approximate of a local measure of changes in the image gradient, or the multidimensional derivative of
the image function I, which measures the color value(s) in the image at a point.
|
|