To understand the challenges of integrating augmented reality (AR) software into an application it is important to understand what AR applications actually do. AR applications stream a live feed of a real-world environment, modifying physical elements of this real-time stream with computer-generated sensory input. Simply put, AR modifies—or augments—elements of the real world. AR software gives designers the ability to create unique user interactions, giving the user the illusion of actually interacting with the physical environment.
Vuforia, a vision-based AR software platform, offers multiple ways to achieve this, including object and text recognition. The most customizable feature is its capabilities surrounding image processing and tracking, specifically of a real world live stream. With this ability, developers can add computer-generated graphics to specific real world elements. Implementations could vary from an interactive virtual button to a character model that is animated to walk around on a table. The possibilities of AR applications seem endless and Vuforia provides that possibility.
Qualcomm provides a few ways to implement Vuforia: native Android, native iOS and a Unity extension. The Unity extension is by far the most versatile of the three due to the fact that Unity can build to multiple platforms including Android and iOS. However, to use Vuforia’s image processing and tracking on any of these platforms, a developer needs to have predetermined images that the software can recognize and track. Vuforia requires that these predetermined images be loaded into their cloud-based resource database, which presents a challenge for the distinction and readability of the images being uploaded. Unlike previous image recognition software platforms, there is no need to upload images that have special white and black regions to be recognized such as QR codes. Vuforia detects and tracks natural features in the live stream and compares them to the uploaded images. Once found, Vuforia tracks the found target as long as it is partially in the camera’s field of view, making it critical that the uploaded images are both distinct and readable. Vuforia determines the readability of each image through a five star rating system, where images with one to two stars theoretically can be recognized and tracked; but, for best results images should rank in the four to five star rating. Images that are rich in detail with good contrast and few or no patterns are optimal.
Although they’re not required, QR codes are the easiest for this software to read. However, the challenge lies in their lack of uniqueness, especially when there is a large amount of them. Furthermore, Vuforia only requires a 70% feature match for a target to be “found,” increasing the importance of the uniqueness across images. Uniqueness also comes into play when there are multiple trackable images within the camera view. The more unique and readable the trackable image, the faster it is found. Although Vuforia supports multiple trackable objects within camera view, it can be problematic if an application depends upon tracking a single specific image.