I am trying to improve the optimization of my MoCap model. I have a few basic questions on how to assess the quality of my model's optimization and how to improve this. I am doing the optimization in two steps: 1. Lower-body with torso, 2. Upper-body.
Lower-body optimization: I am using the marker protocol from "Plug-in-gait_Simple" model to guide the optimization process. I am using the similar markers and marker directions used in the protocol to guide the RunParameterIdetification for lower body. Since we are not using all the markers and directions for optimization, there will always be gaps between experimental and AnyBody Model markers for certain markers and in certain directions not directly participating in the optimization. Please see the picture (1) attached here.
(a) Is this optimization good enough for those markers which are not completely overlapping?
(b) What would be the effect of this much optimization error in the inverse kinematics and inverse dynamics predictions?
(c) Here, at least the experimental and AnyBody markers are touching each other. If the marker pairs are not even touching each other, how can I improve my optimization in such cases?
(d) Is it a good idea to adjust the relative positions of the AnyBody Model markers in the "Marker protocol" by looking at the relative distance values (pos) from Chart and re-do the optimization?
(e) If it's a good idea to adjust the marker relative positions in marker protocol and re-do the optimization run, should I take the 'pos' marker relative distance values from 'RunParameterIdentification' study, or I should take the values after running the "Marker Tracking" or "Inverse Dynamics" study?
I am not sure about the appropriate process to follow in these cases. I would highly appreciate your feedback. Thanks very much.
I will try to answer our questions,
a: there are some errors on the especially the foot, which maybe looks a bit large here you could adjust the marker locations to obtain a better fit, are foot length part of the optimization?
b. it is hard to say, naturally if the foot location is a bit off it may influence ankle forces a bit, but effect would be less if looking at spine.
c. it is the distance between the centers of the sphere which counts, the size of the sphere is just a visual choice.
d . This can be a good way it will show you which markers has highest errors
e. i think it would not matter a lot the kinematic study used in the parameter study is the same as in marker tracking except that the number of frames are reduced.
hope it helps
Thank you so much for your feedback. Foot-length is not currently a part of my optimization process. However, I am calculating the foot length based on David A. Winter's anthropometric measurements (Foot Length = 0.2571425*..BodyHeight/1.75) and using that as an input to AnyMan.any. My other anthropometric inputs are: Body Mass, Body Height, and Fat Percent.
(d & e) Since this can be a good idea to adjust the the relative positions of the AnyBody Model markers in the "Marker protocol" and re-do the optimization, I will follow this techniques. However, I need to confirm one thing with you. If I understand correctly, I should look at the relative distance values between individual marker pairs (experimental and AnyBody) from Chart after completing my first RunParameterIdentification? Please see the pictures 1 & 2.
Since both are essentially the same as you mentioned earlier, I can either consider the 'val' (picture 1) from individual marker directions in 'ParameterIdentification' Output, or the 'pos' values (picture 2) from markers in 'KinematicStudyForParameterIdentification'.
"This will give me an idea on which markers has highest errors and how I should adjust the relative positions of the AnyBody Model markers in the "Marker protocol". The relative position adjustments in the marker protocol can be based on the error values towards the end of this run (RunParameterIdentification). And then I can try the re-optimization process." Is that correct?
Sorry for asking for more clarifications on this. I just wanted to confirm if I am following your directions correctly. This helps a lot. Thanks very much again and happy holidays!
First a little background, the ParameterIdentification study seeks to modify the marker locations and posture to lower the distances on the markers seen over all the frames in the KinematicStudyForParameterAnalysis study. The first graph displays the optimization history of the LPSI marker in the Z direction over the iterations in the parameter optimization.
The second graph shows xyz distances between the recorded marker and the equivalent marker on the model .
So you would want to minimize the largest of the pos values of all the marker drivers (picture 2). If you would monitor picture 2 while the optimization is ongoing you should see the graphs being gradually lowered for each iteration. The objective function is to lower the least square sum of all the errors.
Normally it should not be needed to manually adjust marker locations, but if you see large errors on markers which are not allowed to move in the optimization (indicated by red arrows) it can be done. In the MarkerProtocol.any file by the OptimizeOnOff settings for each marker, controls if a marker can be optimized or not.
Is there a reason for not optimizing foot length?, I would consider that, you have enough foot markers to allow this