Joint Model Personalization
Joint Model Personalization is the first tool in the NMSM Pipeline and focuses on using optimization to personalize the joints of a scaled OpenSim model. A scaled generic OpenSim model does not typically describe the unique joint geometries of most people, especially clinical populations. As a result, inverse kinematics, inverse dynamics and other downstream computations will diverge from accurately describing the person being modeled.
Background
Based on a paper by Reinbolt, et al., JMP optimizes select joint parameters as well as marker positions and body segment scales to find a set of values that minimizes inverse kinematics marker distance errors across the data (motions) provided.
Importance
JMP is the first tool because it determines the accuracy of all following computations. Reinbolt, et al., as a follow up study, showed that joint torques from inverse dynamics are significantly more accurate after calibrating joint parameters.
Method
Each joint in an OpenSim model has twelve parameters that describe the interaction between the parent and child bodies. These parameters are modified using a nonlinear least-squares approach with the only cost term being the sum of the marker distance errors between virtual and experimental markers throughout the provided motion.
As an example, a subject may have a significant knee adduction angle such that their lower leg sits closer to the midline from the frontal view. A generic scaled Rajagopal-type model will likely produce significant marker errors for the lower leg markers.
JMP simply iterates through each frame of a motion, runs inverse kinematics on that frame, and adds the marker distance for that frame to an overall cost value. It then modifies the joint parameter that dictates the knee adduction angle and calculates the cost again until a minimal cost is found.
A more detailed explanation of JMP can be found here.
Joint Parameter Selection
Simply leaving all joint parameters as 'modifiable' is not appropriate for this tool because it may cause anatomically impossible joint parameters. As a result, researchers must take care when determining which joint parameters to allow to be modifiable. Additional information to help understand which joint parameters to select is available.
Allowing Markers to Move
Another option JMP provides is allowing markers to move to reduce inverse kinematics error. This functionality should be used sparringly and is intended to allow for markers of specific body segments to move in instances where there are significant artifacts or special cases.
Allowing Body Segment Scaling
Similarly, body segment scaling is provided as part of this tool to allow body segments that may have been difficult to scale during the Model Scaling process to be optimally scaled during JMP. Scaling body segments does not move markers in the body segment reference frame, but it does cause joint centers to move. Body segment scaling is typically used in conjunction with some marker moving and should be used carefully when also adjusting the translation joint parameters of the joints connected to the body being scaled.