Detect and Track Multiple Targets Simultaneously

Vuforia allows you to track multiple targets simultaneously which unlocks opportunities to create concepts where interactions between targets occur as two or more targets are detected and in the same view.

As a developer, you will need to consider the maximum number of targets you wish to track simultaneously and how it will affect the user experience and the performance of the device. Each target that is active in the camera’s field of view (FoV) will increase the computational load on the device.

Additionally, consider the targets’ physical sizes and the maximum distances from which a set of targets should be detected and tracked together. The greater the number of targets, the farther the camera needs to be from them to capture them all in its FoV.

To take into account these factors (user experience and performance) it is best to set a maximum of targets that can be tracked simultaneously.

Image Targets

The number of Image Targets tracked simultaneously in an application can be set using a hint mechanism. This hint must be provided after initialization, but before Object Tracker is started and it cannot be changed at runtime.

Multi Targets and Cylinder Targets

Multi Targets and Cylinder Targets are made of a combination of several Image Targets, the number of Image Targets in a Multi Target determines its target count for the purpose of determining the Multi Target capacity of a Device Database. For example, a cube or cuboid Multi Target with six faces (6 Image Targets) is equivalent to six targets in a Device Database. However, Cylinder and Multi Targets are still counted as single tracked target when you wish to track several simultaneously.  

Object Targets

A single device database can contain up to 20 Object Targets. A maximum of 2 Object Targets can be tracked simultaneously.

VuMarks

VuMarks are detected and tracked similar to Image Targets. The set limits for Image Targets also apply to tracking VuMark instances.

Define the Maximum of Simultaneously Tracked Targets

Unity

You can specify the number using the Max Simultaneous Image Targets property in the Vuforia Configuration panel.

For Object Targets, edit the Max Simultaneous Tracked Objects field just below the other field in the VuforiaConfiguration panel.

You can also specify this request programmatically at run time using the following C# code:

Image Targets

VuforiaUnity.SetHint(VuforiaHint.HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, your_maximum);

Object Targets

VuforiaUnity.SetHint(VuforiaHint.HINT_MAX_SIMULTANEOUS_OBJECT_TARGETS, your_maximum);

Native Android

The Vuforia SDK also provides an API method that enables you to define a maximum for your app in native.

Image Targets

Vuforia.setHint(HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, your_maximum);

Object Targets

Vuforia.setHint(HINT_MAX_SIMULTANEOUS_OBJECT_TARGETS, your_maximum);

 

Native iOS

Image Targets

Vuforia::setHint(HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, your_maximum);

Object Targets

Vuforia::setHint(HINT_MAX_SIMULTANEOUS_IMAGE_TARGETS, your_maximum);

NOTE: that setting the values for Image Targets have no effect when using the Cloud Recognition TargetFinder because the TargetFinder will only maintain one active target at a time.