estimating body segment motion by tracking markers bill rose & jim richards

14
Estimating Body Segment Motion by Tracking Markers Bill Rose & Jim Richards We wish to estimate segment rotation and translation, relative to a reference position. Initial marker positions Markers observed after movement We wish to estimate rotation matrix R and translation vector v, such that

Upload: paco

Post on 22-Feb-2016

23 views

Category:

Documents


0 download

DESCRIPTION

We wish to estimate segment rotation and translation, relative to a reference position. . Initial marker positions. Markers observed after movement. Estimating Body Segment Motion by Tracking Markers Bill Rose & Jim Richards. We wish to estimate rotation matrix R - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Estimating Body Segment Motion by Tracking Markers

Bill Rose & Jim Richards

We wish to estimate segment rotation and translation, relative to a reference position.

Initial marker positions Markers observed after movement

We wish to estimate rotation matrix R and translation vector v, such that

Page 2: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Note added after this presentation was completed: Subsequent analysis shows that the odd behavior seen in the following slides is due to the fact that Matlab return eigenvalues sorted from smallest to largest, which is the opposite of the order required by Spoor & Veldpaus. It is also due to the fact that Matlab sometimes returns eigenvectors that form a left-handed set. This violates an unstated assumption of the S&V algorithm. These problems are worse for non-planar marker sets. Labview has similar behavior to Matlab in these regards.

Page 3: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

𝒂=1𝑛∑

𝑗=1

𝑛

𝒂 𝒋=[𝑎𝑥

𝑎𝑦𝑎𝑧

] ,𝒑=1𝑛∑𝑗=1

𝑛

𝒑 𝒋=[𝑝𝑥

𝑝𝑦𝑝 𝑧

]Define centroids of markers before & after movement:

Compute matrix M, which is always 3x3:

Turns out that 𝑀= 1𝑛∑𝑗=1

𝑛

(𝒂 𝒋−𝒂 ) (𝒑 𝒋−𝒑 )𝑻

Where j=marker number (columns of a and p)

Page 4: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Compute 3x3 matrices V and D2 by eigenvector analysis of MTM:

S & V say:Rotation matrix R which gives best fit (in a least squares sense) is

where m1, m2 are columns 1 and 2 of 3x3 matrix MV: ,

d1, d2 = square roots of eigenvalues d12 , d2

2.

Page 5: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Our modified S & V algorithm:

Risk: This will blow up if d3 =0.

With both S&V and modified algorithm,

Page 6: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Simulations with 4 random markers per trial. cond(A) is a measure of planarity; 1 indicates maximum non-planarity; >1000 indicates nearly planar. Some random marker arrangements are nearly planar, i.e. high cond(A).

Data in left and top right plots shows that when the points are non-planar (low cond(A)), some trials result in “failed” fits, i.e. fits in which RMSE>0.05, when the Spoor & Veldpaus routine is used to estimate R and v. Bottom right panel shows that the odds of a successful fit are only 40%-50% when cond(A)<20. However, the modified routine always works. Why?

Left panel is magnified view of top right panel.

Page 7: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Experimental data from Kota T. 4 markers, cond(a)=31. Bottom right plot shows that both algorithms (S&V and modified) give same low RMSE at all time points.

Page 8: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Experimental data from Jim R. 4 non-planar markers; cond(a)=1.78. Bottom right plot shows that both algorithms (S&V and modified) give same low RMSE at all time points.

Page 9: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Experimental data from Jim R. 4 planar markers; cond(a)=129. Bottom right plot shows that algorithm 1 (S&V) sometimes fails to fit the markers as well as algorithm 2 (modified S&V).

Page 10: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Simulated data: example 23.4 non-planar markers; cond(a)=1.32.Rotate +-20 about each axis. Bottom right plot shows that algorithm 1 (S&V) fails (i.e. gives high RMSE) at all times, but alg.2 (modified) succeeds. Why?

Page 11: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Simulated data: example 234 planar markers; cond(a)=1249.Rotate +-20 about each axis. Good results from both algorithms when the marekers areplanar, but sometimes the RMSE is slightly higher with S&V than with modified. Why?

Page 12: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Questions and answers

Simulations with random markers and random angles show that S&V fails ~50% of the time when cond(a) <3, i.e. with non—planar markers. Why? Because Matlab sometimes returns left handed eigenvectors. S&V algorithm only works with right handed eigenvector set.

Why doesn’t modified S&V fail when n=3 (see next figure)? Not sure.

Page 13: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Simulation with 3 markers per trial

Page 14: Estimating Body Segment Motion by Tracking  Markers Bill Rose & Jim Richards

Minor comment/question

Why did Spoor & Veldpaus choose to make a rotation R about the coordinate system origin, instead of rotating about the marker centroid?

Since R is about origin, the estimated translation v is not from centroid (before) to centroid (after):

The following seems more logical:

This would require