Minimizing mean square error for a body tracking problem
Show older comments
Seeking big-picture suggestions on how to tackle the following problem: I have measurements of the positions of 4 marker locations on a 3D body, and I know how to write the rotation/translation matrix given the body's unknown yaw, pitch, roll, and x,y,z translation. I want to solve for the yaw, pitch, etc. which minimizes the error of [markers' estimated separations] - [known marker separations]. I could loop through the expected range of yaw, pitch, etc., calculate the resulting marker separation, and choose the combination with smallest distance from their known separation. But is there a way to perform the minimization in 1 step? I assume this would be faster, especially since this will be inside a time loop.
Accepted Answer
More Answers (1)
Anton Semechko
on 5 Jun 2012
0 votes
If point correspondences are known, do the following:
1) solve for translation, by comparing the centroids of the landmark sets before and after the transformation 2) normalize for translation and find rotation matrix using SVD (<http://kwon3d.com/theory/jkinem/rotmat.html>)
If you are interested in finding the Euler angles, you can use the 't2x' which can be downloaded from here: http://www.mathworks.com/matlabcentral/fileexchange/956-3d-rotations.
Categories
Find more on Labeling, Segmentation, and Detection in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!