In the field of motion analysis, it is now common practice to derive the representation of a rigid body segment from the set of markers assembled upon it. Too often the nature of the motion causes some or all of these to drop out of view for short periods. We present here some ideas for dealing with this problem. Ultimately, over-determination using many markers provides for very high resolution.
The scope for enhancing marker representations varies from low-pass frequency filtering, through interpolation for a single out-of-view marker, to multiple-marker virtual-model reconstruction. Digital filtering and basic cubic interpolation algorithms are already incorporated into ODIN. The other analytical techniques described herein are not yet fully integrated into ODIN but are readily applied, through a Python™ script.
CODA’s capabilities now extend to (real-time) tracking of up to 56 markers, allowing for multiple representations of single body segments, and perhaps as a contingency for markers becoming obscured or otherwise going out of view. In some cases, we might seek to obtain the best rigid representation of a non-rigid body where markers attached to the outer surface are subject to relative surface movement or oscillations.
Although a minimum of 3 markers are required to fully specify all the rotations and translations of a rigid segment, we begin by considering just one marker.
Single marker representation
A single marker can represent no more than a single point on a body segment as its motion is tracked. As such, its movement must be regarded as entirely translational, revealing nothing about rotational movement. If this marker disappears from the CODA’s view for a period during the motion capture we can do little more than interpolate its position by temporal dependence throughout that period: there is no relative spatial context for its position.
A pair of markers mounted upon a rigid segment present sufficient information (while they both remain in view) to describe both translational and rotational movement, though not fully, as rotations about the ‘axis’ joining the two markers remains undefined. This arrangement is typical of a simple ‘stick-figure’ description of the human form where limb segments are indicated as straight lines between markers placed over joints. Though not very sophisticated, it is obviously far better than representing each limb segment by a single marker bearing no spatial relationship to markers on adjacent segments.
There is, however, an important additional advantage over single marker representation when dealing with out-of-view periods: provided both markers are simultaneously visible at some time during the motion capture we have the option to apply certain deductions about the relative positions of the two markers to the interpolation procedure. (Of course, if both markers are never simultaneously in view it would not be possible to derive any such spatial context information.)
Where just one of the two markers goes out of view, rather than independently interpolating its trajectory, we ought to ‘anchor’ it to the in-view marker and apply our interpolation to the spatial relationship between the two (i.e. to the orientation (and length) of the vector joining them. If the out-of-view marker is common to more than one segment (i.e. at the joint) the procedure is repeated for each segment and the final interpolated position will be the mean of the interpolants.
Should both markers of a segment drop out of view, interpolation would be applied to the trajectory of the mean position of the markers, as well as to the orientation and length of the vector joining them.
Three-marker (triad) representation
Whilst all in view, three markers mounted non-collinearly upon a rigid segment are sufficient to fully determine every aspect of its motion and for this reason the ‘triad’ forms the basis of the majority of 3D segmental models. Moreover, a triad of markers allows the definition of rigidly connected ‘virtual markers’ anywhere in 3D space (within or beyond the bounds of the segment), by a variety of means. This device is an essential tool in modelling the (virtual) structure of a segment; for a fuller account of virtual marker construction one should consult the related application notes: Virtual Markers.
Given that, for some period, all three markers are in view, the interpolation strategy for out of view periods would take advantage of the spatial relationships known to exist between the markers. Again the emphasis is placed upon preserving those relationships by interpolating vector orientations and lengths, always relative to whatever remains in view. Should all 3 markers drop out the interpolation would be based around the trajectory of the triad’s centroid.
If all 3 markers are never simultaneously in view the triad case degenerates to instances of two-marker representations.
Over-determination of segments using 4 or more markers
With sufficient numbers of markers available, it becomes feasible to represent a body segment many times over, since all triad subsets of the applied marker set are capable of representing the segment. This provides for excellent insurance against markers going out of view: as long as any non-collinear triad remains in view the segment is well defined. (The strategies outlined above would continue to deal with cases of fewer than 3 remaining in view.)
An efficient way to proceed here is to digitize three (non-collinear) landmarks within the segment structure, from real marker positions. These three landmarks should represent strategic locations of the body segment as they will describe its orientation (see section above).
The position of these three landmarks will be automatically computed frame by frame through the real markers. This technique of digitizing landmarks from more than three real markers provides for excellent insurance against markers going out of view. Indeed, for example, a segment mounted with a set of 8 markers could be over-determined up to 56 times (since 8C3 = 56). Each landmark is defined from 56 triads. If one marker goes out of view, then each landmark is defined from 35 triads (7C3 = 35). If 2 markers are out of view then each landmark is computed from a set a 20 triads (6C3 = 20). If 3 markers are out of view then each landmark will be calculated from a set a 10 triads (5C3 = 10).
The final position of the landmark is computed by the mean of the landmarks define by each triad.