Tracking and Body Identification |
The Tracking and Body Identification is done in 4 steps:
Step 1 - 3D Transformation The first step is to take all the 2D marker coordinates from the cameras and match them up and compute the 3D coordinates using the calibration information. The 3D Transformation module will also use the linearization tables created by the calibration to correct any camera distortions from lens and detectors. Here the Max Residual is used to match up the camera/marker combinations by checking the separation between the camera marker rays. If the separation is larger than Max Residual, then the camera/marker combination is rejected. With this in mind, if you set the Max Residual to low, then 3D markers may not be calculated while to high, incorrect camera/marker combinations may be used causing large 3D errors. In same case when 2 of the 2D markers are lined up in front of the camera(s), the 3D camera ray separation may be lower than Max Residual and a "Phantom Points" is created. In this case, the resulting 3D point is usually in line with a "real" 3D point. Here's where the "Camera to Marker Line Fitting" parameter in the Advanced Tracker Settings Dialog comes in to determine if this point is in front or behind a "real" 3D point. If the possible "Phantom Point" is off by less than the distance specified by the "Camera to Marker Line Fitting" parameter, then this is considered a "Phantom Point" and is removed.
Step 2 - Predictor Matching The next step is to predict and match the new 3D positions with previously identified trajectories. The prediction is done using the positions of the previous 3 frames. To match a 3D point with a predicted point the new 3D position must be within the Predictor Window specified in the Workspace 3D Tracking settings. If this parameters is set to 0, no prediction is used and this step is skipped. The parameter specifies the size of a 3D cube. If a 3D point is found within this cube, the point is assigned the ID of the predicted point and the new 3D position is inserted into the predictor as the last seen point (Third point). The predictor requires at least 2 valid frames to be able to predict a new position. This means that if a body was not seen for more than 2 frames, a body must be re-identified in at least 2 frames as outlined in Step 3 below.
Step 3 - Body Identification If the points needed for a body was not identified in Step 2, the Predictor, then the unidentified points from Step 1 must be fed into the Body Identifier. MaxREAL supports two different types of Body identifiers, the M3 Tracker and the M4 Tracker. The M3 Body Identifier is using 3 markers configured as a triangle with each side having a different length. The M4 Body Identifier uses rigid bodies with 3 or more markers where each marker position must be measured and defined in a local coordinate system prior to using.
Step 4 - Body Fitting and Alignment The last step is to align the identified points to a local coordinate system. The M3 Tracker simply uses the 3 identified points, the Long Arm defines positive X, Short Arm defines positive Y and then positive Z is created by the Cross Product between X and Y. The M4 Tracker uses a Least-Squares Fitting of Two 3-D Point Sets method. For more information about this method, see "Arun, Huang & Blostein 1987: Least-Squares Fittig of Two 3-D Point Sets" The output from this is the position of the bodies Origin and the 3x3 Transformation Matrix of the local coordinate system.
|