Vuforia Object Scanner

This article provides a step-by-step guide on how to install and use the Vuforia Object Scanner app to create the Object Data files required for creating Object Targets in the Target Manager.

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 Scanning 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. 

TIP: 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.

TIP: 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 are working within a confined area. 

scanning environment with gray background

A simple scanning stage using grey cardboard.


scanning environment using a light tent

A stage using a light tent and turntable.

Installing the Vuforia Object Scanner

IThis section, will present the installation process and running the Vuforia Object Scanner app with the printed object scanning target image.

Install and Launch the App

The Vuforia Object Scanner is available as 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 Image

A printable Object Scanning target image is included in the Vuforia Object Scanner download package as a pdf. Print it to scale to maintain the dimensional parameters between the 3D object and the Object Target. Avoid printing the target image on a glossy surface as it could affect the quality of the scan. See the best practices in The physical Properties of Image-based Targets for more guidance.  

As you scan your 3D object, the scanning defines your Object Target’s position and orientation relative to the origin of its local coordinate space. 

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. 

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.

TIP: 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.

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 will learn how to scan an object and create the Object Data file required for generating an Object Target in the Target Manager. 

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 have captured the majority of the required surface area, press the stop button to stop the scan.
  1. Create the Object Data file. Enter a name for the Object Data file.
     

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


Enhancing an Object Scan

After the initial scan, detection can be enhanced with additional scanning. This improves detection quality and the dataset’s ability to deal with varying environmental conditions. 

  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.

  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.

Testing the Results of the Object Scan

In this section, you will learn how to test an object scanned with the Vuforia Object Scanner app. A scanned object have a summary screen that 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 is a good idea to test against different 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 that are significant to your app's user experience.
    For example, if your app only uses the front of an object, do not scan the back or sides.
  • If your app uses a stationary object, only scan one side of the object and enable Device Tracking on your Object Target. Device Tracking improves tracking robustness for stationary targets by capturing features of the surrounding environment.

How to Edit and Upload Object Data Files

In this section, you will learn how to upload an Object Data file from a completed scan of an object.

  1. On the home screen, select your scanned object.
  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.

  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. A dialog window opens.

  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.

Hereafter, you can proceed to download the database for native and Unity implementation. See How to Use Object Recognition in Unity and How to Use Object Recognition in an Android App for importing and deploying Object Targets in your app projects.

Learn More

How to Use Object Recognition in Unity

How to Use Object Recognition in an Android App

Vuforia Target Manager

How to Work With Device Databases