Optimizing Model Target Tracking

Configure Model Targets with specialized modes to significantly improve the tracking performance for different use cases. Select a mode and optimize tracking for objects with low features, for low performance devices, or if the tracked object is used as a handheld controller.

Use the Model Target Generator (MTG) to set the mode for a Model Target or through the API in Unity or native development environment.

Tracking Optimisation Modes

Vuforia Engine supports tracking optimization with modes that is set during the Model Target creation in the Model Target Generator, in Unity or through the runtime API.

The following modes are available:

  • DEFAULT
  • LOW_FEATURE_OBJECTS
  • AR_CONTROLLER

With the exception of AR_CONTROLLER, it is highly recommended to enable Device Tracking when tracking Model Targets.

DEFAULT

DEFAULT is the standard mode that applies to most object types and user scenarios. Use this mode with challenging geometries and complex objects, as well as scenarios where the user is moving around and inspecting the object. DEFAULT supports objects that are moved while being tracked, and will automatically stabilize tracking if the target is stationary.

DEFAULT mode reduces the battery consumption when Camera mode SPEED is used at the cost of less frequent updates while the target is moving.

LOW_FEATURE_OBJECTS

LOW_FEATURE_OBJECTS Improves tracking performance on objects with simple geometries, single colored, smooth and reflective surfaces. Examples for such objects are:

  • Cars.
  • Many industrial metallic parts, in particular pressed sheet metal parts.

Use this mode when it’s certain that the Model Target is only observed and stays in one position throughout the AR session. Moving the object while tracking it will require re-detection once it is static again.

Using this mode will significantly improve tracking for the types of objects described above on most iOS devices, selected Android flagship devices, and HoloLens 2:

  • Phone 8 and above.
  • iPad Pro (2nd gen) and above (i.e iPad 7,1 and above).
  • Samsung Galaxy S series : S10 and above.
  • Samsung Galaxy Note series : Note10 and above.
  • Google Pixel 6 and above.
  • Microsoft HoloLens 2.

On all other devices, using LOW_FEATURE_OBJECTS will behave the same as the DEFAULT mode.

AR_CONTROLLER

AR_CONTROLLER is a mode intended for very specific use cases where the tracked object is always handheld and in motion. If your object is used like an AR/VR controller to interact with the environment, this mode ensures that the reported tracking pose has minimal latency and is not stabilized with device tracking information. Consequently, tracking of the object will not be stable or consistent if the target is static and tracking will be lost completely if the object leaves the camera view or becomes occluded.

NOTE: The AR_CONTROLLER mode can only be set in Unity or through a runtime API.

Set the optimize tracking mode in the MTG

The Model Target optimization modes can be configured for each model in the MTG in the Optimize Tracking tab. See Creating a Model Target for the MTG user guide.

Set Tracking Mode in Unity

The Model Target Optimizing Tracking mode can be changed after creating the Model Target database. This may be useful if you want to test with different modes or to select the AR_CONTROLLER mode which is not available in the MTG.

  1. In Unity, a dropdown is available in the Model Target Inspector window that can be used to select the tracking mode and motion hint:

Alternatively, use TrackingOptimization at runtime and set the mode.

TrackingOptimization.DEFAULT;

Tracking Mode in Native

Use the vuModelTargetObserverSetTrackingOptimization() call before activating the corresponding Observer to change the tracking mode for the Model Target.

Calling vuModelTargetObserverSetTrackingOptimization() after the Model Target Observer has been activated will reset its tracking. See Model Target API Overview for details.

vuModelTargetObserverSetTrackingOptimization(VuObserver* observer, VuTrackingOptimization optimization);

Migrating to the new Optimize Tracking Modes

The simplified modes and deprecation of the Motion Hints will automatically adopt the new modes on Model Targets that were created with versions 10.8 or earlier for the following tools and services: MTG, Model Target Web API, and Offline Model Target Generator.

The possible combinations and the new equivalent modes are mapped in the table below.

Old Tracking Modes and Motion Hints

New Optimize Tracking modes

DEFAULT + ADAPTIVE

DEFAULT

DEFAULT + STATIC

CAR + ADAPTIVE

SCAN + ADAPTIVE

SCAN + STATIC

CAR + STATIC

LOW_FEATURE_OBJECTS

DEFAULT + DYNAMIC

AR_CONTROLLER

CAR + DYNAMIC

SCAN + DYNAMIC

In addition, scanned objects are now automatically detected by Vuforia Engine during model target generation and no longer needs to be explicitly specified during Model Target creation.

The power optimization that was previously enabled when combining the DEFAULT tracking mode with the STATIC motion hint has now become an application-level setting.

Using Camera Mode SPEED will reduce the battery consumption when tracking an object with Optimize Tracking mode DEFAULT at the cost of less frequent pose updates if the target is moving.

Camera and Lighting Considerations

Expect to see better performance on high-end devices in good lighting conditions when tracking a Model Target. See Camera Focus Modes to ensure the camera have the object in focus. Some devices also have cameras that work well low light settings. For older devices that show low tracking performance, the lighting conditions can be improved by turning on the flashlight on a mobile device. However, be aware that using the flashlight on reflective objects such as industrial machinery can do more harm than good.