Object Recognition

Vuforia Image

Object Recognition allows you to detect and track intricate 3D objects, in particular toys (such as action figures and vehicles) and other smaller consumer products. Use the Object Scanner and the accompanying object target scanning image to easily scan your detailed toys, models, and educational tools.  

Using Object Recognition

Object Recognition can be used to build rich and interactive experiences with 3D objects. These experiences could be augmenting a toy with 3D content in order to bring it to life, overlaying a user manual on top of a consumer electronics device or leading a new employee through an interactive training process for a workplace device. Another simple application of Object Recognition is to unlock new in-app content when a product is recognized.

Prerequisites

Supported Objects

For Object Recognition to work well, the physical object should be:

  • Opaque, rigid and contain none or only very few moving parts. 
    • Pliable or deformable objects are not supported and objects with articulating members are not supported as whole objects, but you can utilize the non-articulating regions of the object as an Object Target. See the Vuforia Object Scanner Guide’s section for the Object Scanning Target Image to learn more about excluding a part of the object via culling.
  • The surface of the object should have a large number of contrast-based features and rich texture. 
  • In addition to the object specifications, the Vuforia Target Manager supports only .OD (Object Data) files created by the scanner app for Object Target generation.

Some good examples of Object Targets are toys such as action figures and vehicles. See more in Object Targets Supported Products. See also the Comparison of Object Tracking Methods for other Vuforia empowered object tracking capabilities. 

Supported Environments

Object Targets should be viewed indoors under moderately bright and diffuse lighting. To the extent possible, the surfaces of the object should be evenly lit and not contain shadows caused by other objects or people. This should also be accounted for when scanning the object.

Creating Object Targets

Object Scanner

To enable Object Recognition in your app you will need to create an Object Target. An Object Target is created through scanning a physical 3D object with the Vuforia Object Scanner. The object must be placed onto the accompanying printed object scanning target image that is available in the downloaded Vuforia Object Scanner package. 

For a full guide to the Vuforia Object Scanner, please refer to Vuforia Object Scanner guide.

NOTE: The Object Scanner is only available for Android operated devices. Please refer to the Supported Versions page for more information.

Preparation and Scanning

You can create an Object Target for your app by using the following workflow:

  1. Prepare the environment and scan a physical object with the Vuforia Object Scanner that is available here and by following the above-linked guide to create an .OD file.
  2. You then upload the file to the Vuforia Target Manager where you select to generate the Object Target which packages it into a Device Database. A maximum of 20 Object Targets can be included in a single Device Database.
  3. Download the database and add it to a Vuforia Object Recognition project developed in Android Studio, Visual Studio, Xcode or Unity:
    1. See How To Use Object Recognition in Unity and How to Create and Load Targets in Unity
    2. See How To Use Object Recognition in an Android App for Object Target integration into your native app.

Samples

Alternatively, the Vuforia Object Recognition Unity Sample project provides a pre-configured Object Recognition scene and Object Target that you can use as a reference and starting point for your own Object Recognition apps. 

Advanced Topics

Using Device Tracking with Object Targets

The Device Tracker improves tracking robustness by using features of the environment surrounding the target. It enables you to use smaller targets and allows for tracking targets farther away from the camera. It additionally, enables Extended Tracking where your target can be tracked even when the Object Target is no longer in the camera view. 

NOTE: That Object Targets work best with Device Tracking when the object is stationary during the user experience.

For more information see: Device Tracking

Using Multiple Object Targets Simultaneously

For your specific scenarios and better use cases, Vuforia offers simultaneous tracking of targets and different target types. You can also manage the number of tracked targets to limit the performance strain on the devices. Let up to two Object Targets be tracked simultaneously in your scenario and go even further and combine and track other Vuforia target types alongside them for eye-catching experiences. 

Visit Detect and Track Multiple Targets Simultaneously for more information.

Object Target API Overview

The ObjectTarget is tracked by the ObjectTracker. The corresponding TrackableResult (in this case an ObjectTargetResult) returns the tracking data of the Object Target.

Please, refer to the ObjectTracker API Overview for more information.

Occlusion Model

Immerse your users with occluding your digital content behind and underneath your Object Target. Use either a bounding box or a detailed digital model of your object to create a masking effect on your Object Target. 

Follow the guide How to Use the Occlusion Model in Unity.