Augmented Reality software is very diverse. Among multiple solutions I would like to point out the following ones available today:

  • Vuforia
  • Metaio SDK
  • Wikitude
  • ARToolKit
  • Kudan

Vuforia

is one of the most popular AR development solutions in the world.

Supported platforms: Android, iOS, UWP, Unity.

Vuforia is capable of fulfilling the following functions: recognizing different types of visual objects (cube, cylinder, flat surface) recognizing text and environment, VuMark cultivation (a combo of an image and a QR-code). Besides just that, by using Vuforia Object Scanner, you can scan and create object markers. The recognition process can be actualized by the usage of the local or cloud database. The Unity plugin is a powerful and easily integrable tool.

Metaio SDK

is a set of tools for AR element implementation for apps and programs, optimized with the help of Intel and its platform. This kit is 100% free.

With the help of the Metaio tools, the complex and resource-intensive functions of computer sight, like 3D tracking of the real objects, are performed smoothly and tense-free on the Intel-based mobile platforms. This means, first of all that the apps using the AR technologies are going to work precisely and consistently. The support of multiple wearables and better object rendering speed add to the benefits of this solution. Metaio SDK is the only kit in the mobile segment, capable of tracking marker-free three-dimensional (and two-dimensional) objects of the real world. The latest version of Metaio SDK also supports the outline tracking, which enables users to trace the real object geometry, which is a possible solution to the inconsistent lighting problem.

Wikitude

Supported platforms: Android, iOS, smartglasses.

has the following features under its belt: excellent image recognition, the three-dimensional tracing technology, based on SLAM, GEO Data (the enhanced way to handle the geotag data), cloud recognition. The Unity plugin provides the tools for image and 3D objects database creation. Wikitude is not compatible with the Unity Editor, which slows down the development process significantly.

ARToolKit

is an AR tracking library with open source code.

Supported platforms: Android, iOS, Linux, Windows, OS X, and smartglasses.

ARToolKit translates the following actions:

  • Positional/orientational tracking for the devices with regular and telescopic cameras.
  • Tracing simple black squares.
  • Tracing flat images.
  • Camera and stereoscopic optics calibration.
  • Unity and OpenSceneGraph plugins.
  • VR helmets and glasses support.
  • Free software with open source code.
  • Sustainable speed for real-time augmented reality applications.

Kudan

According to the various reviews and comparisons in effectiveness, Kudan

is the main competition for Vuforia and is noticeably easier in the development of AR.

Supported platforms: Android, iOS.

By using the SLAM technology, Kudan recognizes simple images and 3D objects and provides easy database generation in the Unity Editor.

Following the pros and cons of these tools, I decided to look into Vuforia SDK more closely. The reasons are:

  • It supports the Unity plugin and it’s possible to integrate the project with Android Studio.
  • Great technical support, a lot of tutorials and manuals.
  • Acceptable terms of use for the free development SDK. All the plugins and functional opportunities of the platform are free but with Vuforia watermarks. The limitations only affect VuMark and the quantity of encounters with the cloud database.

Vuforia SDK Review

Vuforia by Qualcomm is the solution that enables the devices to “see”. It is made primarily for the developers experiencing the need to add vision abilities to their apps.

There are three basic cases to use Vuforia in — games, shopping, and additions to the non-electric commodities.

Vuforia Shopping Case

Let’s start with shopping. The apps created with the help of the Vuforia engine, enable users to see what the item is going to look like in their apartment before they even buy the item.

Moreover, you can change color, size, and placement of the items. For example, the Sony app allows users to try the TV on by putting it on the wall or the surface. What’s cool is the TV doesn’t just get stuck to the wall, but you can walk around the apartment with your phone and look at the augmented TV from different angles and distance.

Vuforia Gaming Case

Augmented reality games have established themselves as a solid part of the industry. However, the technology keeps forging ahead.

This year Vuforia mastered the camera, recognizing the depth of the spacial dimension (kind of like Kinect). The technology is called Smart Terrain and is capable of not only projecting the objects on the flat surfaces but also use the three-dimensional space by creating the virtual reality around the subjects within the range of vision.

Vuforia Non-Electric Commodity Case

The last use scenario allows connecting regular commodities and digital devices. This might be an interactive addon to the package or a printed media, additional information to which is available in a special app.

The image registration capability enables developers to place and align virtual objects like 3D models and media content in junction with the real images when viewed through the mobile device cameras. A virtual object is oriented on the real image in a way that the viewer’s standpoint is dynamic which creates the main effect — the presence of a virtual object in the real world.

Vuforia supports different two-and three-dimensional targets, including the markerless Image Target, three-dimensional targets, called Multi-Targets, as well as benchmarks detaching objects to recognize in the scene. The additional functions include obstacle detection with the use of the Virtual Buttons, detecting targets, and the ability to create and configure targets within the self-modifying code.

Vuforia provides application programmable UIs in C++, Java, Objective-C, and .NET through the Unity game engine. The core of the platform is the QCAR library, written in C++. It hides everything behind its UIs — from target definition to image rendering.

Besides the library, the platform includes iOS and Android Vuforia SDK for developers, Target Manager — the system for target creation and management, and a set of web services (Vuforia Web Services) where you can delegate the target storing and some other functionality. This platform is developing at a rapid pace and new parts are added quite often.

Augmented Reality Targets

In order to add something to the real world, you have to catch hold of some object. Targets are there for this very reason. In other words, targets are real objects, recognized by the app and with the help of which the app can put virtual objects in the appropriate places and in the correct ratio.

Vuforia offers a wide variety of targets:

  • Image targets. The basic type of targets presented as regular images like a photo for a cover magazine. The image functions as a two-dimensional barcode but with no black & white regions.
  • Simple 3D targets (Cube and Cuboid). The targets in the shape of rectangular box (3D cube). For example, a match box can work as such a target.
  • Cylinder targets. This type of targets is presented as a cropped cone with editable basis parameter.
  • Text (word targets). The Vuforia library is capable of text recognition, so any word or phrase can be a target. At this point, only Latin characters are supported.

Depending on the amount of targets your app requires, you can either store them in the Device Database, always having access to them, and recognize them directly in the device, or delegate part of this load to Cloud Databases, the service from the Vuforia Web Services, made to keep the targets and define them based on the device input data.

Besides just that, targets can be created in the app using the picture from the camera. It’s important to say that QCAR does not require the entire target to fit into the frame. In order to recognize and use it, even part of the target is enough. This is huge, as it enables multi-angle magical operation of your app.

Vuforia suggests that we use the following instruments:

  • Static and dynamic 3D models. We can add any 3D object.
  • Virtual buttons. And real objects that are going to be interacting with those. For example, it can be a target button that starts some action that can only be seen through the screen of a smartphone.
  • Videos and images. They allow replacing the target and making it a bit more alive.
  • Background change. Besides all the rest, you can change the picture from the camera. I mean it might not only be augmenting the picture, but also operate with it.

In my Vuforia research, I created a test project using the Unity environment.

Main project screen

This test project presents the core capabilities of the Vuforia platform. As an image target, I used a brochure. On camera target focus, new elements are added to that target in shape of a new brochure that partially overlaps it, a 3D zombie model, a video player window, and a virtual button that starts the zombie object animation. Tapping the Play display button, starts playing the test video.