Understand object evaluation
Object evaluation runs automatically in the background to compare similarity in the pattern of markers for each object that is enabled in the Tracking panel with every other enabled object. When you create, load or change objects, it is important to avoid placing markers in the same position on different similar objects, as this makes it difficult for Evoke to distinguish between the objects. This can result in tracking problems where objects may be confused with each other, leading to object swaps. To help you to avoid this issue, Evoke evaluates the objects and if there is a high likelihood of confusion between objects, it flags them with a yellow warning triangle on the Tracking panel. To view more information about the issue, hover the mouse pointer over the warning symbol.
For details about the way Evoke evaluates the similarity of objects and the actions you may need to take, see these topics:
If you have many objects or objects with many markers, evaluation can take a long time, so when you are running a live experience, we recommend that you turn off object evaluation (see Control object evaluation).
Why objects need to be evaluated
The Evoke tracking algorithm requires all objects to have a unique pattern of markers (with the exception of template objects in a proximity group). This enables Evoke to start tracking immediately, in the same frame that an object becomes visible, which is particularly helpful in cases of frequent occlusion, and results in more consistent tracking with fewer dropped frames. However, the requirement for uniqueness can be difficult to fulfill without an assessment when all possible orientations of the objects are considered, particularly when you have large numbers of similarly sized objects.
Smaller objects are also much more difficult to make distinctive, as the average distance between markers is proportionally smaller. The ability to resolve markers in distinct patterns depends on the camera resolution, and the typical distance of objects from the cameras. A volume with low camera density will generally require larger objects (with proportionally large marker patterns) to compensate.
How does object evaluation work?
Evoke's object evaluation feature compares each object that is enabled in the Tracking panel with every other enabled object, and displays a warning when a match between a pair of objects is detected. The warning tooltip indicates which other object (or objects) that the current object may be confused with, and the match distance (in millimeters). The match distance is the approximate average displacement between the object markers, when the two objects have been aligned to the closest matching pose.
A match distance of 0 indicates that the object pair is identical (or to be more precise, the fraction of markers specified by the object's Entrance Threshold is identical to a pattern of markers on the other object). Conversely, a large match distance indicates the objects are easy to distinguish, and unlikely to be confused.
Smart Objects with a single smart cluster are not evaluated against other Smart Objects with a single smart cluster. The smart cluster (e.g. Pulsar) markers have already been designed to offer the maximum match distance between different marker patterns, and there is instead a warning if the same marker pattern has been specified for two different smart clusters.
Composite Smart Objects have special rules for starting tracking. In addition to the normal Entrance Threshold, all the markers on at least one of the smart clusters in the composite Smart Object must be detected. This is also accounted for in object evaluation.
Why is the Entrance Threshold important?
The Entrance Threshold setting is a value between 0 and 1, which represents the minimum proportion of markers that must be visible to the cameras before the object is booted, where 1 is 100% of the object's markers.
The Entrance Threshold has a significant effect on object evaluation. The Entrance Threshold specifies the fraction of object markers that must be detected in order to start tracking. If the Entrance Threshold is low, it is easier to start tracking the object, but more likely that the tracking can be initialized incorrectly. For example, if you have a 10-marker object with an Entrance Threshold of 0.3 or lower, tracking can start as soon as any 3 markers are detected in the correct pattern (3 is the minimum number required to track). This means that the object could be confused with any other object that has the same or similar pattern of 3 markers, regardless of how different they are as a whole. In general, we recommend that you set the Entrance Threshold to 1 (require all object markers), unless the object geometry makes it difficult for the system to detect all the markers simultaneously. This may be the case for an object resting on the ground, for example: any markers on the underside may not be visible to the cameras. For details on how to change the Entrance Threshold setting, see Resolve issues with object similarity.
Examples of object similarity
The Entrance Threshold for all objects in these examples is 1, unless otherwise specified.
Different number of markers
Object A has 4 markers, object B has 5, both have Entrance Threshold 1:
- Object A matches object B, match distance = 0 (The match distance is the approximate average displacement between the object markers, when the two objects have been aligned to the closest matching pose.)
- Object B doesn't match object A (which doesn't have enough markers to meet the Entrance Threshold for object B).
If we reduced the Entrance Threshold to 0.8 for object B, it would then match object A identically (with match distance 0).
Moved marker
Object A and object B both have 4 markers, one of the markers on object B has been moved. The distance between the markers is the marker match distance, as indicated on the above diagram.
- Object A matches object B with an average match distance of the marker match distance/4 (3 markers match exactly, with distance 0).
- Object B matches object A with the same average match distance.
Self-similarity (rotational symmetry)
Here we have rotated object A by 180° clockwise.
- Object A matches itself with average match distance of the marker match distance/2 (2 markers match exactly, with distance 0).
Rotational symmetry is a problem because it means Evoke will have difficulty in determining the correct orientation of the object. You would notice this as unpredictable rotational errors or 'flipping' the object when starting tracking.
Self-similarity (repeated marker pattern)
Here object A has 3 markers repeated in the same pattern - (1, 3, 4) matches (2, 5, 6) exactly.
This is not necessarily a problem if Entrance Threshold is set to 1, but if Entrance Threshold is set to <= 0.5 then Evoke could start tracking from either pattern subset, and cannot distinguish between the two. You would notice this as an unpredictable translational error when starting tracking.
Resolve issues with object similarity
To resolve issues with object similarity, try the following steps:
- The likelihood of object confusion is significantly increased if objects have low entrance thresholds, so set the Entrance Threshold high, where possible. The Entrance Threshold is set in two places:
- The overall entrance threshold (Processing tab > Object Tracking section > Entrance Threshold setting) sets the default entrance threshold for all objects. Normally, we recommend that you leave this at its default setting. You can override this setting for individual objects by using an object preset, as described next.
- To change the Entrance Threshold for a selected object, either select an object preset with the required Entrance Threshold, or create a new object preset with the required Entrance Threshold and select it. To do this:
- On the Tracking panel, ensure the object is selected,
- On the Properties tab below, in the General section, on the right of the Object Preset list, click Manage.
- In the Object Presets dialog box, enter a name for the new preset, click Add and ensure the new preset is selected.
- In the Object Tracking section, specify the required Entrance Threshold (a value between 0 and 1, which represents the minimum proportion of markers that must be visible to the cameras before the object is booted, where 1 is 100% of the object's markers).
- Ensure that the other settings are as required and close the dialog box.
- In the Tracking panel, ensure that the object to which you want to apply the preset is selected.
- From the Object Preset list, select the preset that you created.
- If objects may still be confused with one another, adjust the placement of one or more markers on the affected objects to make their patterns distinct.
Control object evaluation
To turn object evaluation on and off or to change the sensitivity of the evaluation to object differences:
- Open the Preferences dialog box (Settings > Preferences or Shift+P).
- On the User tab, scroll to the Subject Store section.
- You can change the following settings:
Enable Object Evaluation - Turn object evaluation on or off: the default is selected (on). When selected, each object is compared to all the others for possible confusion.
Important: If you have many objects or objects with many markers, evaluation can take a long time, so we recommend that, when you are running a live experience, you clear this check box to turn off object evaluation.
- Object evaluation step limit - Maximum number of iterations(steps) that are expended in evaluating each object pair. Increasing this value may enable the evaluation to find more potential problems, particularly for objects with many markers, but at the cost of increased computation time. The default limit is 1000 steps.
- Object confusion warning threshold - A warning is displayed if the match distance in millimeters between a pair of objects falls below this threshold. (The match distance is the approximate average distance that the object markers would have to move to exactly match the other object, or part of it.) You may want to adjust this setting so that it is higher than the typical level of noise (resulting in 3D positional jitter) in your volume. The default threshold is 6 mm.
- Click OK to accept any changes and close the dialog box.