Camera contribution mask

In addition to a 3D residual value, the 3D coordinate format can also provide information about which observers (generally but not necessarily, cameras) provided the information used to calculate the associated 3D point location.  This information is called the “camera contribution” or “camera mask” and is stored, together with the 3D residual, in the fourth word of the 3D point record.

The camera mask can be very useful, particularly when used in conjunction with the residual data as it provided information that can allow the user to evaluate the data quality.  Since the camera mask tells us which cameras (or observers) were used to construct any given 3D point, is can be quite easy to identify a poor observer (or poorly calibrated camera) simply by noticing that the residuals increase when a particular camera is used to calculate the 3D point.  Typically, this shows up as a sudden jump in the point trajectory data when the offending observer contributes faulty positional information.  Careful observation of noise levels of individual trajectories within the data collection volume can lead to improvements in the overall system accuracy by enabling the photogrammetry software to eliminate cameras or observation sources that are not performing well.

Improvements in the automation of data collection, together with an increase in the number of cameras in motion capture systems make the routine evaluation of the camera mask an essential part of quality control.  In addition, engineers configuring an automated motion capture environment for the first time can directly assess the entire data collection process (data collection, trajectory identification and generation) by careful evaluation of the camera mask and residual values within a C3D file.

Bit-8

Bit-7

Bit-6

Bit-5

Bit-4

Bit-3

Bit-2

Bit-1

Not used

Camera #7

Camera #6

Camera #5

Camera #4

Camera #3

Camera #2

Camera #1

Figure 25 - 3D point camera contribution

The camera contribution mask example shown above is found in word 4 of the signed integer 3D point data.  In the camera contribution mask, byte 1 of word 4 contains eight bits, seven of which are set corresponding to the observers that contributed to the points measurement.  Bit-1 refers to the first camera, bit-2 to the second etc.

The camera contribution byte is part of the 16-bit signed integer used to store the 3D residual and as a result, bit-8 is not available to store camera mask information as it records the sign of the 16-bit signed integer.  Note that, for compatibility and to simplify data access functions, the same signed-integer format is retained internally even when the 3D points are stored using the floating-point format.

There is no provision for recording the contribution of more than seven observers or the requirement that these bits are actually used when a C3D file is created.  The camera contribution bits are usually cleared if the associated 3D point has been modeled, interpolated, or otherwise modified.  As a result, the presence of an active camera contribution mask, will usually indicate that the associated 3D data point is raw and has not been filtered or modified in any way.