mad-lab-fau / BASH-Model

We developed a method animating a statistical 3D human model for biomechanical analysis to increase accessibility for non-experts, like patients, athletes, or designers.
Apache License 2.0
86 stars 9 forks source link

How to define the markers set in SCAPE? #4

Closed hwy1992129 closed 2 years ago

hwy1992129 commented 2 years ago

Hello, I am learning about OpenSim and SMPL model. I read another issue markers.obj.

We placed the markers on the surface of the baseline model's mesh by hand and exported their coordinates

Explore the model in Blender, find the positions on the skin to place the markers that share the same name in your osim model? How to evaluate the markers in Blender? Thank you.

MarliesNit commented 2 years ago

Hi, yes exactly, that's how it is working currently.

Similarly to the marker placing in the OpenSim model, you might need some iterations to find a good placement for your specific marker set:

grafik Screenshot from https://simtk-confluence.stanford.edu:8443/display/OpenSim/Getting+Started+with+Scaling

hwy1992129 commented 2 years ago

@Marlies93 Hi, I checked the Blender file for BASH model. Why some markers are not on the surface of the SCAPE model? Like RASI, SACR, they are in the body, while LUPA is out of the body. How to determine the locations of those markers? Besides, how to find the location of the joint center of the osim model in SCAPE? Sorry... I am new to OpenSim...

MarliesNit commented 2 years ago

Thanks for pointing this out. It seems that these are small inaccuracies in the placement of the markers. Ideally, the markers should be placed on the surface at the anatomical landmarks. Hence, at the position where also the markers are placed during the experiment.

You can not directly find the joint centers of the opensim model in SCAPE since the skeletons are not the same. This is taken into account in the "initial pose matching" (see Fig2 in the paper). To have the same skeleton (including scaling) in SCAPE as you have in OpenSim, you would need to retrain all pose parameters of SCAPE for every new participant. This would therefore would not be a convenient solution. However, a feasible solution could be to train the SCAPE parameters for each unscaled musculoskeletal model. We elaborated on this idea in the paper as well:

However, various topics could be investigated for further improvements. For applications where real- time feedback is required, such as gait retraining, Realtime-SCAPE (Chen et al., 2016) could be inves- tigated. Furthermore, it might be possible to learn the pose regression parameters using the skeleton of the musculoskeletal model directly to eliminate some intermediate processing steps. The body shape pa- rameters could be included to enhance person-specific visual representation. Besides expensive full-body scans or medical imaging, an extraction of shape co- efficients from a photo of the subject could provide a practical solution (Bogo et al., 2016) to determine the body shape parameters.

hwy1992129 commented 2 years ago

@Marlies93 I am stuck in the markers adjustment in my surface model scaling.... If in your case, I only need to output the markers from baselineModel.blend as a trc file and as the experimental markers, and use the trc file to scale runMaD.osim? Is adjusting the markers in runMaD.osim to match the experimental markers a long time work? Thanks in advance.

MarliesNit commented 2 years ago

Sorry, but I am not sure if I correctly understand your questions.

You first use your experimental data to scale the OpenSim model and to drive your inverse analysis or simulation.

Afterwards, you go to our code for visualization. If you used different markers as we did, you will have to place the markers in Blender in the baselineModel. The marker correspondences and the scaled OpenSim model will be used to scale the baselineModel.