View Full Version : 2-D filming question

unknown user
08-24-1992, 07:06 AM
Dear Biomch-l subscribers:

I am passing on a question from one of my graduate students (Phil Cheetham),
who is not yet a subscriber to this list (but soon will be). I would
appreciate any feedback be sent to me (or to the list) and I will pass it on to

--Rick Hinrichs
Arizona State Univ. USA


Peter Brueggemann and I filmed high bar (gymnastics) during the
Olympics. We did 3D filming but we also did some 2D filming. For the
2D we could not get the camera perpendicular to the "plane of swing"
(sagittal plane), at the height of the bar. We had to move the camera
higher. We were probably looking down on the bar at about an angle of
20 degrees. We filmed Peter's calibration frame which is a series of 1
meter cubes set up in this case to be 4 x 3 meters. The frame was in
the middle of the mat, perpendicular to the bar (i.e. in the "plane of
swing"). We have many known points in the sagittal plane that we can
use for reference.

Does anyone have an algorithm that will transform this back to a
simple 2D digitizing problem? Is there an affine transformation
that will do it? Or do I have to use the 2D version of the DLT
algorithm as explained by Jim Walton in "Science in Biomechanics


Phil Cheetham,
Dept. of Exercise Science
Arizona State Univ. USA

unknown user
08-24-1992, 03:24 PM
Dear Biomch-L readers,

Phil Cheetham was asking advice regarding calibration of a 2-D
filming setup. I am not familiar with Jim Walton's 2D DLT
algorithm, but it seems to be exactly what is needed. I once
used a 2D DLT to solve a similar problem (analyzing a photograph
of a horse's hoof on a force plate). The DLT can deal with
an arbitrary camera position and orientation, and is therefore a
general and very elegant solution.

If you substitute Z=0 (defining the sagittal plane) into the
classical 3D DLT equations, three out of eleven DLT coefficients
are eliminated. The remaining eight can be determined using four
(or more) calibration points in the Z=0 plane. I have developed
two simple Fortran subroutines to do the calibration, and
(subsequently) to calculate XY coordinates from raw camera data.
One limitation of my software is, that the calibration routine
uses exactly four calibration points. It may be possible to
increase the reliability by using more than four, and solving the
DLT parameters from an overdetermined system of equations.

So, my advice is to use a 2D DLT approach. If you do not want to
start from scratch, my Fortran code is available. One final
warning: any 2D analysis will depend on the assumption that all
landmarks remain in the sagittal plane. The results become more
sensitive to this assumption with a non-perpendicular camera
view, which increases the parallax errors. From Phil's
description of the actual situation, it would seem that this is
not a major problem here.

-- Ton van den Bogert
Human Performance Laboratory
University of Calgary, Canada

unknown user
08-25-1992, 07:37 AM
Dear Biomch-L readers,

After my posting regarding the 2-D DLT method, one subscriber suggested
that it might be useful to provide some background information about
the DLT procedure, for those who are not familiar with it. Biomch-L
is not the place for a complete course on kinematic analysis, but I
can provide a short explanation and a few references.

DLT stands for "Direct Linear Transform" and is a mathematical
transformation between raw 2D camera data (u,v) and the actual 3D
coordinates (X,Y,Z) of a point. The transformation depends on
the position and orientation of the camera, and is characterized
by eleven constants (camera parameters). The method is commonly
used to obtain 3D coordinates from two or more cameras. The
DLT equations are:

aX + bY + cZ + d
u = ----------------
iX + jY + kZ + 1

eX + fY + gZ + h
v = ----------------
iX + jY + kZ + 1

If you have six or more calibration points with known (X,Y,Z), and
corresponding raw camera coordinates (u,v), the camera parameters
a,b,c...k can be solved because you have twelve or more equations
(two for each calibration landmark) with eleven unknowns. This is
done for each camera. When the camera parameters are known, the
unknown (X,Y,Z) coordinates of other landmarks can be solved from
the (u,v) data of two or more cameras because there are four or more
equations for the three unknowns (X,Y,Z).

An overview of various 3D measuring techniques (DLT being one of them)
can be found in:
Woltring, H.J. and R. Huiskes (1990) "Stereophotogrammetry", in:
Biomechanics of Human Movement, edited by N. Berme and A. Capozzo,
pp. 108-127, Bertec Corporation, Worthington, Ohio.

The original publication about the DLT method is:
Abdel-Aziz, Y.I and H.M. Karara (1971) "Direct linear transformation
from comparator coordinates into object-space coordinates", in:
Proceedings ASP/UI Symposium on Close-Range Photogrammetry, pp.1-18,
American Society of Photogrammetry, Falls Church, VA.

There are many publications in which the DLT method is used, evaluated,
or improved. Example:
Wood, G.A. and R.N. Marshall (1986) "The accuracy of DLT extrapolation
in three-dimensional film analysis". J. Biomech. 19, pp. 781-785.

-- Ton van den Bogert
Human Performance Laboratory
University of Calgary, Canada

H.j. Woltring, Fax/tel +31.40.413 744
08-25-1992, 11:54 AM
Dear Biomch-L readers,

As a supplement to Ton van den Bogert's postings on the DLT, I might mention
once again the existence of two Biomch-L files which can be retrieved by
the membership with the following commands to ListServ@hearn.bitnet or to
ListServ@nic.surfnet.nl (*not* to the Biomch-L address, though, which is for
posting messages only):


with arbitrary contents of the Subject: line. BITNET users may retrieve
these files also interactively. Note that the second file is for "members
only", so it should be retrieved from your subscription address, and not
from some other (work)station!

One problem I had when trying out the DLT for the first time is that the
projection of the camera's position vector in the global coordinate system
(w.r.t. which the calibration points are expressed) onto its optical axis
should not vanish: the "1" in the DLT's denominator is the result of dividing
out this term. It took me two days to find out that one should not set the
camera position vector to zero when running the DLT on simulated data ....
Practically, one usually chooses the global origin somewhere in the field of
view, in which case this problem is avoided.

Regards -- hjw.