Trained Model Target Datasets

Vuforia Image

Using Model Targets with Vuforia Engine, you can enable your app to automatically switch between different objects and/or different Guide Views for each object, depending on what the user points their device at.

In order to do this, you need to create a trained Model Target dataset. You can do this using the Model Target Generator.

Multiple objects, multiple Guide Views

When you are using a trained dataset containing multiple Model Targets and/or multiple Guide Views, Vuforia Engine distinguishes between objects purely by their visual appearance, which means that the following additional considerations should be taken into account when selecting different objects and/or different Guide Views.

Essentially, each Guide View must look different - that is, each Guide View must be distinguishable based on appearance alone. There should be no ambiguity about which object the user is looking at, nor which Guide View corresponds to the current viewing angle and distance.

Objects should look different

All of your objects must look different from each other. If you have multiple objects that have a similar shape (for example two cars) you will need to make sure that each one still can be well distinguished from the other (in the car example the sedan and convertible versions would be likely distinct enough).

Guide Views should look different and Recognition Ranges should not overlap

If you have multiple Guide Views, the object should look different from every viewpoint representing a Guide View. This includes the entire Recognition Range of each Guide View. There should never be any ambiguity about which Guide View corresponds to a particular viewing angle and positions. 

  • If your object is asymmetric (i.e. it looks different from all sides), you just need to make sure the Guide View angle and distance ranges do not overlap.
  • If your object is symmetric (i.e. it has some parts that appear similar to each other) you need to make sure that only one Guide View covers the symmetric part, and that every other Guide View you make looks different to the symmetric part.

In addition, if you have multiple objects in a single Model Target dataset, each of the Guide Views for each object should be visually distinct.

  • Having a dataset where one object is a simple cube, and another object is a machine that has a large, dominant cube-shaped part should be avoided. Both objects might be confused. If you cannot avoid such situations, then you need to make sure that one of the objects has at least a distinctive apprearance (logo or pattern) covering ideally most of it's surface. When doing so you need to use the "use texture" option during training. Alternatively, you could setup the Guide Views for the machine so that they do not include its cube-shaped component (e.g. by setting the Target Extents to exclude it).

Creating a trained Model Target dataset

  1. Start the Model Target Generator, if it is not already running.
  2. Navigate to the Databases tab. (If you are currently editing a single Model Target, you may need to click Home first to return to the home screen).
  3. Click Create Database. Choose a Name for the Database, optionally enter a Description, and select a Model Texture mode:
    • Use Textures is preferred if the CAD Models do look like the real physical objects in terms of textures and colors etc. If this setting is chosen, the resulting Database will only work well for objects that have the same colors, patterns, or decals like the CAD model. This mode is e.g. typically used for toys or in cases when shape is not distinctive enough between objects. In general, using textures typically helps with recognition, if available.
    • Ignore Textures (default) should be used for cases where the CAD Model does not have realistic colors or texture. The resulting Database will not look at the actual colors of the real physical objects. This mode is typically used for CAD models of industrial objects where no information of appearance is available.
  4. For every object you want to add to the database, select a Model Target project from the list that appears, or browse to an existing .vup project via the Browse button. (If you cannot see your Model Target in the list, it is likely because it has not yet been created. Go back to the Model Targets tab, double-click on the Model Target, and click the Create Target button.)
    • When a Model Target is added to a database, a copy is made of it in its current state. If you make any further changes to the Model Target, any databases that contain it will not be automatically updated.
    • We recommend adding no more than 10-20 objects to a single database, depending on the number of Guide Views you have defined for each object. If you have a large number of Guide Views per object, you should try and keep the number of objects per database smaller, to get better results.
    • Each object added to a single database (and each of their Guide Views) must be visually distinguishable in order to be successfully recognized at runtime. If you have similar looking objects, or if you have set up Guide Views in such a way that different looking objects appear similar from some of their Guide Views, you may have trouble getting getting recognition to work reliably.
  5. Click Train on the selected database on the left to start training with the selected models. We use the latest Deep Learning technology to train a neural network from the selected models. This typically takes a little more than 60 minutes. After a few minutes an estimated ETA is displayed. The process may be cancelled at any time.
  6. Once training is complete, an Export button appears. Click it to export the trained database, in whichever format you need (Vuforia Engine native or Unity package).

What to do if training fails?

If training fails, the database status will change to Failed. In addition, there may be one or more status messages in the detailed database view (underneath the list of added Model Targets) with additional information about the cause of failure. Depending on the status messages, you may want to try again, or to send a support request.

Even if training does not fail completely, the training process may issue warnings about the quality of the trained data, and suggest possible fixes, as in the following screenshot (note red text on the bottom right of the window):

Vuforia Image
Vuforia Image

Usually, training fails for one the following reasons:

If you encounter a different problem, or if you have any other particular questions or issues, you can make a support request via email from the Model Target Generator by clicking the Send Feedback button.

Using a trained Model Target dataset

The Model Target Generator saves the dataset to disk as .unitypackage files and .dat/.xml file pairs.

If you are working with Unity, import the .unitypackage into your project, then add and configure a ModelRecognition GameObject. If you are building a native app, load the .dat/.xml file pair using a TargetFinder. For further information, refer to the Model Targets API Overview.

Learn More

Model Targets Overview

Model Targets Supported Objects & CAD Model Best Practices

Model Target Guide View

Model Targets API Overview