Vuforeal Project

Vuforia Design

We can separate the Vuforia API into four major elements:
Engine, Observers, Targets, and Observations.

Vuforia Engine #

https://library.vuforia.com/getting-started/vuforia-engine-10-api
Is a high-level object that manages the Vuforia App lifecycle. With the Engine, you can create, destroy, start, and stop the AR experience. To Start an AR session, you need to configure a Vuforia Engine instance with its processes used for handling the lifecycle and behavior of the current session.
Some examples of the configuration elements are:

  • License key (always required).
  • Camera parameters:
    depending on the target platform and the camera capabilities, you can set things like the Camera quality, the auto-focus mode, the flash mode, etc….
  • Rendering parameters:
    depending on the target platform, you need to set the rendering type and mode.
  • Platform-specific parameters:
    For example, for Android, you need to pass the Android Activity jobject, the Java VM, manage all the required permissions, etc….

Once you finish the configuration you can start the Engine, and at runtime, you use the Engine instance to manage what features you want to activate.

Vuforia Observers #

https://library.vuforia.com/getting-started/observer-and-observations

Each feature in Vuforia API is managed by an object called “Observer” which can be created and set to observe a property of the real world, in most cases, these are physical objects that are referred to as “Targets”. In this sense, you create an Observer for each part of the real world you wish to detect, track, and get information about. The “Target” could for example be images, objects, a 3D space, spatial anchors, or even illumination settings in your real environment.

Vuforia Observer types #

Vuforia Targets / Databases #

Before creating an Observer you need first to configure and set the “Target” you want to observe.

In Vuforia, some types of “Targets” need to be generated using specific Vuforia tools called “Target Generator”,  these tools will analyze and train your raw target, like for example, a PNG image or an STL 3D model and transform it into what Vuforia refers to as a “Database”, which is a set of runtime assets and authoring files recognizable by the Vuforia Engine.

Vuforia Database types #

  • Image, Cylinder, Multi-Target:
    https://library.vuforia.com/objects/image-targets
    In this database type, you can have planar images, cylindrical-shaped images, and box-shaped multi-images. These can be grouped together in the same database since they are created with the same Vuforia Target Manager tool and use JPG or PNG images in RGB or grayscale. 
  • Cloud Image Target:
    https://library.vuforia.com/cloud-recognition/cloud-databases
    Planar 2D image Targets are also supported via a Cloud Database. A Cloud database provides your Vuforia-powered applications with a large number of targets. Cloud databases are stored on the Internet and are capable of searching millions of targets. A Cloud Image Target can also have up to 1 MB of metadata associated with it.
  • Model Target:
    Model Targets are generated using the “Model Target Generator” (MTG) application.
    https://library.vuforia.com/objects/model-target-generator-user-guide
    The Model Target Generator takes as input a 3D model representing the object you want to track, checks it for suitability, and lets you configure it for optimal tracking with Guide Views.
  • Advanced Model Target:
    https://library.vuforia.com/model-targets/advanced-model-target-databases
    Advanced Model Targets support the recognition and tracking of one or more objects from all sides, all contained in a single Advanced Model Target Database. Recognition ranges can be defined up to a full 360 degrees around every object, without requiring the user to align an outline of the model with the physical object to start tracking.
  • Area Target:
    https://library.vuforia.com/area-targets/create-area-targets
    Area Targets are created from a digital model obtained with one of the supported 3D scanning technologies. The output of the scan process is imported into the “Area Target Generator” (ATG) which returns a set of dataset files and meshes.
  • VuMark Target:
    https://library.vuforia.com/vumarks/vumark-databases
    The VuMark Database contains a VuMark template in the form of an SVG file. Once a database is created, VuMark instances can be generated either in the Vuforia Target Manager or with the Vuforia Web Services.

All the above database types, except for the Cloud Image, are “Local Databases” which means you need to have a copy of the database on your device to be able to use it with your application. Each Vuforia tool allows you to export a local copy of the database. The exported database is a .zip file containing: a .dat file and a .xml file.

All the other “Targets” types from Vuforia can be tracked without the need for a “Database”. To activate the tracking you just need to set up, at runtime, the corresponding Observer configuration.

Vuforia Targets with no Database #

  • Device Pose
  • Barcodes
  • Anchor
  • Illumination

Vuforia Observations #

https://library.vuforia.com/getting-started/observer-and-observations

An “Observation” represents the information about that target that is communicated to the application by the “Observer”. As the application is running, the Vuforia Engine observes the environment using the camera and device tracking information. Observations deliver information on the status of the tracking quality and the poses of the detected targets.

Observations also have a type associated with them. Each Observer type generates the same corresponding Observation type. Depending on its type you can access the pose and status of a target using specific calls.

Powered by BetterDocs