Tomislav Pribanic

03-04-1998, 12:24 AM

Dear Biomch-l readers,

I am new biomech postgraduate student. At the present time I am involved

in human motion analysis by means of 3-D reconstruction with DLT.

I am trying to write computer program of my own (although I am aware of contributed packages for Matlab and C on various sites e.g.http://www.kin.ucalgary.ca/isb/software/kinemat/readme1.htm). Currently I am stuck with the issue of camera calibration. According to the basic equations:

u=(L1*X + L2*Y + L3*Z + L4) / (L9*X + L10*Y+ L11*Z + 1)

v=(L5*X + L6*Y + L7*Z + L8) / (L9*X + L10*Y+ L11*Z + 1)

one needs six or more calibration points in order to calculate 11 DLT parameters.

Since we then deal with overdetermined system of equations many authors are therefore mentioning and employing linear least-square techniques to compute DLT

parameters (e.g. Hatze, H. (1988) High-precision three-dimensional photogrammetric calibration and object space reconstruction using a modified DLT-approach.

J. Biomechanics Vol 21. No. 7. pp. 533-538).

However, I have not seen anywhere the exact way how the above mentioned technique is preformed. The essence of linear least-square technique is in the form of

F(a,b)=sum( (y(i)-(a*x(i)+b))^2 ) i=1,...n

y(i),x(i) coordinates of various points

a,b parameters of line y=a*x+b.

Afterwards one takes partial derivate of F(a,b) with a and b in order to compute the parameters of line. One gets two equations with two unknowns and the rest is easy. What I do not understand is how it is applied in case of computing DLT parameters.

Do I have to write the entire thing in the form of:

F(a,b,L1,L2,...L11)=sum( (v(i)-(a*u(i)+b))^2 )

i=1,...n calibration points

u(i)=(L1*X(i) + L2*Y(i) + L3*Z(i) + L4) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1)

v(i)=(L5*X(i) + L6*Y(i) + L7*Z(i) + L8) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1)?

And then take the partial derivations of function F(a,b,L1,....L11) with a,b,L1,L2,....L11 in order to find parameters?

Or maybe I am supposed to go as follows:

F(L1,L2,...L11)=

sum( (u(i)-(L1*X(i) + L2*Y(i) + L3*Z(i) + L4) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1))^2+

+ (v(i)-(L5*X(i) + L6*Y(i) + L7*Z(i) + L8) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1))^2 )

and now also preform partial derivations of the L1,L2,..L11 unknowns?

I have tried both ways, but it did not seem to be right direction for all kinds of reasons. Also, once I acquire all parameters and try to gain the space coordinates of the unknown point out of two or more cameras picture I am again dealing with more equations than I need. Do I act in a similar fashion as above?

What is the matematical procedure when is MDLT (Modified DLT) concerned,

rather than conventional DLT?

I would be glad to post on the List all answers I recieve, once I collected them.

Thanks in advance for any help/comments.

Tomislav Pribanic

Faculty of Electrical Engineering and Computing

University of Zagreb

10 000 Zagreb

CROATIA

E-mail:Tomislav.pribanic@zesoi.fer.hr

I am new biomech postgraduate student. At the present time I am involved

in human motion analysis by means of 3-D reconstruction with DLT.

I am trying to write computer program of my own (although I am aware of contributed packages for Matlab and C on various sites e.g.http://www.kin.ucalgary.ca/isb/software/kinemat/readme1.htm). Currently I am stuck with the issue of camera calibration. According to the basic equations:

u=(L1*X + L2*Y + L3*Z + L4) / (L9*X + L10*Y+ L11*Z + 1)

v=(L5*X + L6*Y + L7*Z + L8) / (L9*X + L10*Y+ L11*Z + 1)

one needs six or more calibration points in order to calculate 11 DLT parameters.

Since we then deal with overdetermined system of equations many authors are therefore mentioning and employing linear least-square techniques to compute DLT

parameters (e.g. Hatze, H. (1988) High-precision three-dimensional photogrammetric calibration and object space reconstruction using a modified DLT-approach.

J. Biomechanics Vol 21. No. 7. pp. 533-538).

However, I have not seen anywhere the exact way how the above mentioned technique is preformed. The essence of linear least-square technique is in the form of

F(a,b)=sum( (y(i)-(a*x(i)+b))^2 ) i=1,...n

y(i),x(i) coordinates of various points

a,b parameters of line y=a*x+b.

Afterwards one takes partial derivate of F(a,b) with a and b in order to compute the parameters of line. One gets two equations with two unknowns and the rest is easy. What I do not understand is how it is applied in case of computing DLT parameters.

Do I have to write the entire thing in the form of:

F(a,b,L1,L2,...L11)=sum( (v(i)-(a*u(i)+b))^2 )

i=1,...n calibration points

u(i)=(L1*X(i) + L2*Y(i) + L3*Z(i) + L4) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1)

v(i)=(L5*X(i) + L6*Y(i) + L7*Z(i) + L8) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1)?

And then take the partial derivations of function F(a,b,L1,....L11) with a,b,L1,L2,....L11 in order to find parameters?

Or maybe I am supposed to go as follows:

F(L1,L2,...L11)=

sum( (u(i)-(L1*X(i) + L2*Y(i) + L3*Z(i) + L4) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1))^2+

+ (v(i)-(L5*X(i) + L6*Y(i) + L7*Z(i) + L8) / (L9*X(i) + L10*Y(i)+ L11*Z(i) + 1))^2 )

and now also preform partial derivations of the L1,L2,..L11 unknowns?

I have tried both ways, but it did not seem to be right direction for all kinds of reasons. Also, once I acquire all parameters and try to gain the space coordinates of the unknown point out of two or more cameras picture I am again dealing with more equations than I need. Do I act in a similar fashion as above?

What is the matematical procedure when is MDLT (Modified DLT) concerned,

rather than conventional DLT?

I would be glad to post on the List all answers I recieve, once I collected them.

Thanks in advance for any help/comments.

Tomislav Pribanic

Faculty of Electrical Engineering and Computing

University of Zagreb

10 000 Zagreb

CROATIA

E-mail:Tomislav.pribanic@zesoi.fer.hr