PDA

tpribanic57
05-05-2004, 09:50 PM
Thank you very much for your replays.
Regards, Tomislav.

Original question:

Dear All,

when using the 3D optoelectronic systems body segments angles are usually
reconstructed via certain number of markers attached to segments which,
among other things, usually requires imaging and 3D position reconstruction
of attached markers in context. Since camera is a device which projects
points from 3D to 2D and subsequently depth information is lost, thus we
need at least two cameras for 3D reconstruction (or camera accompanied with
some other source of light such as laser, video projector or even desktop
lamp would do etc.).
During the course of my Ph.D I have been considering possibilities of
calculating the body segments angle using only one and uncalibrated camera
(precisely speaking, knowing only internal camera parameters) and in even
cases where movement is not constrained to 2D, but subject can freely move
in all directions. Needless to say I believe using only one camera for
segments angle calculation, would have certain practical advantages.
The idea has computer vision origin and I would like very much your opinion
about its feasibilty for biomechanical applications, perhaps someone has
been doing similar things.In brief, every image point can be back projected
in space as a line coming through camera optical center and image point
itself. When having two such image points, there is relatively simple
formula to calculate angle alfa between such two lines:

cos(alfa)=(x1'*omega*x2/sqrt(x1'*omega*x1)/sqrt(x2'*omega*x2); where x1 and
x2 are homogenous coordinates of two image points and matrix omega is image
of the so-called image of absolute conic (IAC) which is readily calculated
if matrix of camera internal parameters are known (possibly from some other
calibration or attainable from some cameras settings, data sheet etc.)

Now, let's suppose that we have two body segments and on each segment three
collinear markers attached on it (the more markers are welcome, but three
are sufficient and condition of collinearity is probably one of the most
critical parts for method to work) and markers distances are
known/unchangeable in all frames (for instance from anthropometric
measurements or three markers are fastened on a stick attached to body
segment; I have seen some papers where people put various sticks to easy up
angle calculations). Every segment, i.e. line formed by its collinear
markers is characterized by the so-called point at infinity and its image
(vanishing point) generally speaking is detectable on cameras image (2x2
mapping H between points in space and image can be found and vanishing point
calculated as H*[1 0]'). It can be shown that angle spanned by two back
projected lines from two detected vanishing points is equal to angle formed
by segments, i.e. its correspodent lines in space.

Therefore, using the above formula if we can represent each segment with
three collinear points and found its vanishing points on image we would be
able to calculate angle between them, using single camera knowing only its
internal parameters (maybe not so obvious, but in other words IAC depends
only on cameras internal parameters, external ones are irrelevant).

I tried to be concise as possible and any comment would be appreciated,

Best, Tomislav.

Tomislav Pribanic, M.Sc., EE
Department for Electronic Systems and Information Processing
Faculty of Electrical Engineering and Computing
3 Unska, 10000 Zagreb, Croatia
tel. ..385 1 612 98 67, fax. ..385 1 612 96 52
E-mail : tomislav.pribanic@fer.hr

Replay 1:

Hi Tomislav

I think your ideas are very interesting and might help making 3D analysis
easier.
Please note that most marker sets for biomechanical movement analysis use
three points which are NOT COLLINEAR because otherwise a rotation around the
same axis will not be detectable (usually the longitudinal axis).

Have you seen this paper?

Eian J. Poppele RE.
A single-camera method for three-dimensional video imaging
Journal of Neuroscience Methods. 120(1):65-83, 2002 Oct 15.

Bye,
Thomas.

Thomas Seeholzer
SIMI Reality Motion Systems GmbH
Tel: +49 89 321459-0
Fax: +49 89 321459-16
Mail: seeholzer@simi.com
Web: http://www.simi.com

Replay 2:

Dear Tomislav Pribanic!

I want to mention 3 problems about 3D-angle determineation with 1 camera:

1. The noise in the determination of marker positions with 1 camera is
remarkable and the usage of several cameras allow to decrease it. This is
a good reason to install more than 2 cameras.

2. The mutual concealing of body segments impedes the reconstruction of 3D
bodies due to missing markers. The more cameras are used, the higher is
the chance of having enough valid detections.

3. It is fundamental that the usage of one camera cannot decide between
configurations of bodies which are looking identical when projected into
the sphere around the camera. Therefore you cannot distinguish two
positions of the stick with three markers rotated around + or -alpha
around an axis orthogonal to the view direction.
This distinction is only possible (and done by the human brain) if the
distance of the markers can be determined either by focus length and/or
apperent dimension of the markers -- but both methods are time consuming
and not robust.

I'd suggest to spend no time for the 1-camera-idea.

Kind regards from Heidelberg, Jan Simon

Replay 3:

Hi Tomislav,
I agree that this would be a useful method. However, there are two
problems that I can see. First, if a segment is out of the camera plane (say
30 degrees), your calculation might be correct but you do not know if the
angle is positive or negative. If the distal end of the segment is rotated
away from the camera such that the segment angle is 30 degrees, the three
colinear markers will appear exactly the same as if the distal end had been
rotated toward the camera (-30 degrees). Secondly, at certain angles (near
0, 90, and 180 degrees), the changes in distances between the colinear
points is negligible for 10 degree rotations. Small digitization errors can
yield large segment angle errors if a second camera is not available. Let
me know if you or others have solutions to these problems and all the best