Image Targets


Image Target with teapot

Image Targets represent images that the Vuforia SDK can detect and track. Unlike traditional fiducial markers, data matrix codes and QR codes, Image Targets do not need special black and white regions or codes to be recognized. The SDK detects and tracks the features that are naturally found in the image itself by comparing these natural features against a known target resource database. Once the Image Target is detected, the SDK will track the image as long as it is at least partially in the camera’s field of view.

Use Cases

Common uses of Image Targets  include recognizing and augmenting printed media and product packaging for marketing campaigns, gaming and visualizing products in the environment where the product was intended to be used. 

Supported Images

Image targets can be created with the Vuforia Target Manager using JPG or PNG images in RGB or grayscale. The size of the input images must 2 MB or less. Features extracted from these images are stored in a database, which can then be downloaded and packaged together with the application. The database can then be used by Vuforia for run time comparisons. 

Supported Environments

Image Targets should be viewed under moderately bright and diffuse lighting.  The surface of the image should be evenly lit. 

Working with Image Targets

There are two phases to developing with Image Targets. You first need to design your target images and then upload them to the Vuforia Target Manager for processing and evaluation. 

Designing Target Images

Image Targets can use any planar image that provides sufficient detail to be detected by the Vuforia SDK. The following articles will help you select appropriate target surfaces and provide guidelines on how to design and evaluate target images.

See:
Optimizing Target Detection and Tracking Stability

Uploading and Managing Image Targets

Image targets can be incorporated into your apps using either an embedded Device Database or a Cloud Database online.

  • Device Databases - Create image targets with the Target Manager to use in device databases 
  • Cloud Databases - Create image targets to use in cloud recognition databases; See: Cloud Recognition

Image Targets are created using the Vuforia Target Manager.  The Target Manager will process your images to generate a data representation of its features. It will also provide you with a rating of the target's expected detection and tracking performance and a visualization of the features of the target that will be used by the Vuforia SDK.

See:
Comparison of Device and Cloud Databases
 

Samples

The Image Targets sample shows you how to implement and configure Image Targets in an application. You can customize these samples with your own targets and content.

The Cloud Recognition sample shows how to use Image Targets with the Vuforia Cloud Recognition service and how to develop apps that execute and respond to queries to the service.
 

Using Extended Tracking with Image Targets

Extended Tracking improves tracking robustness by using features of the environment surrounding the target. It enables you to use larger models and to place them farther away from the face of the target. Use Extended Tracking when your target will be staged in a stable environment and won't be moved by the user. Moving the target or changing its environment when Extended Tracking is activated can corrupt tracking.

See:
Extended Tracking
 

Using Virtual Buttons with Image Targets

Virtual Buttons enable you to know when a specific area of the target image has been covered by the user. They provide a way to make Image Targets interactive. The following articles explain how to define and configure Virtual Buttons and how to add them to an Image Target.

See:
How To Implement Virtual Buttons

 

Advanced Topics

How To Access and Modify Targets at Run Time
How To Modify the Dataset Configuration XML File

 


How To Size the Image Used for an Image Target

When the image is being uploaded to the Target Manager, we recommend scaling the image to be uploaded to 320 pixels or larger width. During the resizing process, anti-aliasing is performed on the uploaded image. This action is perfectly acceptable for photos; however this action may not always be desirable.

To avoid experiencing the anti-aliasing impact, you can ensure that the uploaded image is at least 320 pixels in width. Stretching and softening in the image due to a server-side scaling step results in a lower feature count and worse local contrast in the image. This may not be visible immediately, but such targets can result in poor target detection and tracking.

 


How To Define Image Target Parameters

The parameters of an Image Target are defined in the Target Manager according to the following specification. The Virtual Buttons parameter can be added to the config.xml file returned by the Target Manager with the target's dataset.

Parameter

Description

Target size
  • Actual size of the image target in 3D scene units.
  • Developer must specify the target size when creating the target online or in the Database Configuration XML file. The Database Configuration XML file is generated by the Target Manager, but once created, it can be modified by the developer. 
  • The target size parameter is important, since the pose information returned during tracking will be in the same scale. For example, if the target image is 16 units wide, then moving the camera from the left border of the target to the right border of the target changes the returned position by 16 units along the x-axis.
    • (x, y) - Target size in scene units measured along the horizontal and vertical axes of the rectangular target.

Note: The size of the image target can be changed at runtime. This gives you a flexible way to define or update the scale of the target in your 3D scene.

Note: Developers looking to use image targets in combination with Positional Device Tracker should specify the target size in meters.

Virtual buttons
  • Image targets can have one or more virtual buttons.
  • Developer can query the target for the number of associated buttons, cycle through a list accessing each individual virtual button, and check their associated status.
  • Virtual buttons can be added and deleted dynamically at run time. See How To Create and Destroy Virtual Buttons at Runtime feature overview section for more details.
Unique target ID
  • A system-wide unique identifier (string) to identify image targets across the whole cloud and any other datasets.