Vuforia Object Scanner

This article explains how to use the Vuforia Object Scanner app to create the Object Data files required for creating Object Targets.

Translation Scan with background

The Vuforia Object Scanner is an Android application used to scan a physical 3D object. The Object Scanner produces an Object Data (*.OD) file that includes the source data required to define an Object Target in the Target Manager. The Scanner enables you to generate, test and edit OD files. It provides a visualization of the object’s features as well as their coverage across the object.

Supported Devices

For the latest information on the Object Scanner supported devices, refer to the Vuforia Engine Supported Versions article.

Sections

Supported Environments

Objects should be scanned under moderately bright and diffuse lighting. Avoid direct lighting. Scanning objects with reflective surfaces under direct lighting can introduce areas with no tracking points. The surfaces of the object should be evenly lit and not contain shadows caused by other objects or people. The use of light boxes and diffusers helps eliminate direct lighting and minimize spectral reflections. 

Scan the model in an environment free of background noise. This prevents the introduction of features which are not part of the model. Scanning in cluttered environments can create false tracking points.

When possible, use a turntable to scan the object. You can spin the object and scan in 360 degrees without having to physically move the device. This is especially helpful when you're working within a confined area. 

scanning environment with gray background
A simple scanning stage using gray cardboard

scanning environment using a light tent
A stage using a light tent and turntable

How To Set Up an Object Scanning Session

In this section, you will learn how to install and run the Vuforia Object Scanner app and print the required object scanning target image.

Install and Launch the App

The Vuforia Object Scanner is an Android APK. Perform the following steps to install and launch the app:

  1. Download the APK from the Tools section of the Developer Portal. 
  2. Install the APK on your Android device using the Android Device Bridge (ADB).
    Once installation is complete, the app icon displays on your device.
Description: VOS app icon
Object Scanner icon

 

  1. Open the app to display the home screen. 
  2. From the home screen, you can select a prior scan or press the + icon to initiate a session.

Description: VOS app home screen

Home screen with no saved scans
 

Description: Home Screen showing a saved scanning session

Home screen showing the saved car scan

Object Scanning Target

During the scanning session, the Object Scanning target defines your Object Target’s position and orientation relative to the origin of its local coordinate space. A printable Object Scanning target is included in the Vuforia Object Scanner download package.

The feature region of the target consists of overlapping triangular shapes. This region serves two roles. It enables the scanner to precisely identify the pose of the physical target in the grid region and also defines the culling region of the scanning space. 

The Object Scanning Target

Surface areas of your object that extend into the feature region are not incorporated into the Object Data representation. In the photo below, only the rear half of the car will be incorporated.

The ability to cull areas of the target surface is useful for removing unsupported surfaces (e.g. featureless regions or pliable and articulating surfaces). Culling can also be used to distinguish items in sets of objects that share surface features as sub-parts of a unique form. For example, if the car below were a member of a set of similar cars, each sharing a common front end but unique back ends, then the cars could be individually recognized by capturing only the features of their back ends.

Culling Occlusion Region

The local origin is represented by (0,0,0) in the lower left-hand corner of the Object Scanning target's grid. It corresponds to the local (0,0,0) origin of the Object Target's bounding box. The unit scale of the grid is meters. Meters are also used for the scene unit and the estimated physical object scale.


How To Scan an Object and Create an Object Data File

In this section, you'll learn how to scan an object and create the Object Data file required for generating an Object Target in the Target Manager. Make sure you've read the How To Set Up an Object Scanning Session section above before proceeding further.

To create an Object Data file, perform the following steps:

  1. Print and place the Object Scanning target. Print the target at full size (100%). Do not modify the target size. This leads to incorrectly scaled targets in the resulting dataset, which causes poor tracking. All Vuforia targets need to be scaled in meters and accurately match the physical target size. After printing, place the printed target in the scanning environment.
  2. Position the object on the target. Place the object on the grid area of the target, as shown in the photo below. Note that the object is aligned so that its front left corner corresponds with (0,0,0) in local space.

  3. Scan the object. The following steps explain how to scan an object. To avoid corrupting the results, do not move the object or target while scanning. 
    1. Open the Vuforia Object Scanner app.
    2. Press the + icon to initiate a new scanning session.

    3. Confirm that the object is aligned correctly using the axes augmentation.

    4. Press the record button. Remember not to move the object or target while recording a scan.

    5. Use the camera to capture the significant vantage points for your app’s user experience. When a surface region is successfully captured, its corresponding facet turns green. 

    6. Once you’ve captured the majority of the required surface area, press the stop button to stop the scan.
  4. Create the Object Data file. Enter a name for the Object Data file.

  5. Review the results. The file size and number of points are displayed in the scan summary screen.



How to Enhance an Object Scan

After the initial scan, detection can be enhanced with additional scanning. This improves detection quality by better preparing the dataset to cope with varying environmental conditions. Make sure you've read the How To Scan an Object and Create an Object Data File section above before proceeding.

  1. Remove the Object Scanning target.
  2. Move the object into an environment with a dark background. 
  3. On the scan summary screen, press the Cont Scan button. 
  4. Use the camera to capture additional vantage points.
vuforia-object-scanner-3-web
  1. Press the pause button to pause the scan.
  2. Move the object into an environment with a light background. 
  3. Press the Cont Scan button.
  4. Use the camera to capture additional vantage points.
Vuforia Image
  1. Optional: Scan the object in an environment where the dominant lighting is coming from different directions (e.g.,  a room where the dominant lighting is coming from a window). Then turn the object around so that the other side is facing the dominant light source. 
  2. Press the stop button to stop the scan.

How To Test the Results of an Object Scan

In this section, you'll learn how to test an object scanned with the Vuforia Object Scanner app. Make sure you've read the How To Scan an Object and Create an Object Data File section above before proceeding. Once you've scanned an object, a summary screen displays your scan results.

Description: Details Summary screen

Press the Test button to display an augmentation at the world origin where the object is recognized.

Description: scan testing screen

Note: It’s a good idea to test against alternate backgrounds

Testing against an alternate background

If you want to improve or add to the scan, go back to the summary screen and select Cont Scan. This reloads the Object Data file so you can continue the scan.

Description: Continuing a scan

How To Reduce the Size of an Object Data File

The size of an Object Data file reflects the number of feature points captured during object scanning. In the screenshot below, the captured feature points are displayed in the top left corner. By reducing Object Data file sizes, you can improve load times for device databases containing Object Targets and also reduce your app's memory requirements. Follow the recommendations below to limit the number of features captured during the object scanning session:

  • Only scan the object faces significant to your app's user experience.
    For example, if your app only uses the front of an object, don't scan the back or sides.
  • If your app uses a stationary object, only scan one side of the object and enable Extended Tracking on your Object Target. Extended Tracking improves tracking robustness for stationary targets by capturing features of the surrounding environment.
Translation scan

How To Edit and Upload Object Data Files

In this section, you'll learn how to upload an Object Data file created when you finish scanning an object. Make sure you've read the How To Test the Results of an Object Scan section above before proceeding. 

vuforia-object-scanner-6-web
  1. On the home screen, select your object scan.
  2. On the scan summary screen, press the share icon. A list of apps for sending the Object Data file to your PC displays. The Object Data file can be large, so choose an appropriate method for sending large files. You can also transfer the Object Data file to a PC via USB using the Android Debug Bridge (ADB). The file path on the device is /DCIM/VuforiaObjectScanner/ObjectReco.
Vuforia Image
  1. Open the Target Manager in the developer portal.
  2. In the database list, select the database in which to add the new Object Target.
  3. Click Add Target. The Add Target dialog opens.
Vuforia Image
  1. In the Type section, select 3D Object.
  2. Click Browse to locate the Object Data (*.od ) file for this target.
  3. In the Name field, enter a unique name for the target, adhering to the following rules:
    • The name must be unique within this device target database.
    • The name should describe the object.
    • The name can only include letters, numbers, and the underscore character ‘_’.
  4. Click Add. The Targets tab displays the results of the upload.