No announcement yet.

2-D filming question

This topic is closed.
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2-D filming question

    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

  • #2
    Re: 2-D filming question

    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


    • #3
      DLT background information

      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


      • #4
        DLT -- addendum

        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 (*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.