Although the actual appearance of the “augmented reality” term dates back to 1990, it came into the habitual use relatively recently. In particular, one of the most memorable events for fans of high technology event was the release of Google Glass smart glasses in 2014, which is a kind of headset for smartphones based on Android. In the development of this product, augmented reality technology was used, through which Google Glass provides the user with digital information about objects that they see themselves (and synchronously record with the help of the built-in camera). By 2017, the IT market has been saturated with a large number of augmented reality solutions, which indicates the extraordinary profitability of this industry. Therefore it is not surprising that many IT companies are implementing such difficult, though high-budget projects.

ar-toolkit

If your team plans to develop a project based on augmented reality technology for the first time, this article should help to solve one of the most important dilemmas faced by programmers at the beginning of the AR development workflow, namely, the choice of the framework. In particular, it contains the comparison of AR frameworks, which are most often used to create commercial applications.

Two principles of augmented reality applications operation

There are two basic principles of the augmented reality applications work: using markers and using information obtained through GPS and other sensors built into the user’s device. Let’s review these principles in more detail.

The first principle – use of markers. The data received via a video camera built into the user personal device is compared to the markers predefined in the application. In the case of coincidence, the augmented reality application performs a certain algorithm (for example, it provides the user with the characteristics of the goods seen in the store or draws a new graphic image over the object).

The second principle is based on the data obtained by the means of GPS, gyroscopes, accelerometers, etc. Data about the object, received from the in-built sensors is processed, resulting in the user obtaining the useful information directly on the screen of their personal device.

Augmented Reality SDK Comparison

Below is the Augmented Reality SDK Comparison of frameworks’ basic characteristics:

Metaio. Metaio offers paid and free versions of the SDK, designed to build marker (using the 512 predefined markers) and non-marker applications for Android, iOS, Windows, and Flash. Metaio recognizes 2D and 3D objects, supports LLA Markers, provides the ability to create 3D models in the .obj, .fbx and .md2 formats, and also allows working with tools for OpenGL - a platform-independent software interface for the 3D graphics processing.

augmented-reality-wramework

Vuforia. Vuforia is a complete set of augmented reality development tools for marker based application. There are paid and free versions of Vuforia (the free lacks some options of the Cloud Recognition service). Among its features are processing of 2D and 3D graphics, simultaneous recognition of several objects, OpenGL support, built-in Smart Terrain™ service (for the augmentation of the landscape captured by the camera), etc. For most newcomers, this SDK is quite problematic in the application, due to the lack of detailed manuals.

Wikitude. Wikitude is one of the best paid frameworks (for trial use the free demo version exists), designed to create augmented reality web applications (including mobile) for iOS, Android, Windows Phone, and Blackberry. At one time, the Wikitude SDKs were used to create the software for the Google Glass. It is not surprising because this application development environment contains the diversified augmented reality toolkit aimed at recognizing both geolocation parameters, 2D, and 3D graphic markers. In particular, Wikitude has a wide range of features, such as support for 3D models in .fdx and .collada formats, rendering and animation with the help of JavaScript programming interface, object location tracking, etc.

D’Fusion. D’Fusion is by far one of the most advanced tools for the development of augmented reality interactive applications, which is offered both in paid and free versions. D’Fusion allows creating programs for Android, iOS, Flash and Windows. Among the capabilities of this development environment is the recognition of movements and complex elements such as the shapes of eyes and lips, cross-platform support, D’FusionCV renderer, the simultaneous identification of several markers, the usage of up to 500 predefined markers, etc. In addition, D’Fusion is very convenient for beginners, thanks to its intuitive graphical interface.

augmented-reality-application

ARToolKit. ARToolKit is a set of software libraries for the development of open source augmented reality applications. Using ARToolKit, you can create marker based web applications for iOS, Android, Windows, Linux, SGI and MAC OS X (for each platform, the separate version of the development environment is used). Among the capabilities of this framework is the processing of 2D and 3D images, as well as complete support for the OpenGL specification in conjunction with the GLUT libraries. It is worth noting, though, that this tool is not very user-friendly. The examples given are rather complicated for newcomers to understand, and the general information given for training is not presented in sufficient volume.

ARmedia. ARmedia is a cross-platform development environment, available both in free and paid versions, designed to create applications for iOS, Android, Windows, and Flash. An additional special plugin – Google SketchUp – is needed to create markers in the real-time mode. This framework allows processing of data obtained by means of GPS, gyroscopes, accelerometers and magnetometers, and employs one of the most powerful 3D-trackers available at the market. Similar trackers created by Inglobe Technologies are widely used in the development of smart glasses software. One of the most notable ARmedia advantages is the availability of framework’s services and management capabilities through the cloud.

The following is a comparative table showcasing the characteristics of each mentioned AR framework.

Capability
 Metaio
Vuforia
Wikitude
D’Fusion
ARToolKit
ARmedia
 AR markers
512 built-in ID markers
Real time creation
Real time creation, the ability to simultaneously recognize multiple markers
500 predefined markers and the possibility to create new ones with the help of D’Fusion Studio
Previously installed markers and possibility to create new ones in real time
Previously installed markers and possibility to create new ones with the help of Google SketchUp plugin
 Types of recognized elements
Markers (ID, LLA, images, QR codes, barcodes), GPS data, IMU, faces, 3D objects, and maps, 3D SLAM
Markers (images, texts), 3D objects
Markers (images, barcodes), GPS data, IMU, hybrid recognition
Markers (1D- and 2D-barcodes, simultaneous identification of several markers), GPS data, IMU, faces, 3D objects, tracking of finger markers
Markers (square markers, simultaneous identification of several markers, 6D Marker Tracking)
Fiducial markers, GPS data and data received by infrared and 3D cameras, IMU, 3D-objects
Graphics overlay
 2D and 3D
 2D and 3D
 2D and 3D
2D and 3D
 2D and 3D
 2D and 3D
 Individual features
Support for 3D models in .obj format; no memory limit for image storage
Possibility to connect cloud image storage
Support for HTML5, JavaScript and CSS
Support for encryption of media data
Open source
Processing of data received via 3D cameras

Summary

One way or other, each of these frameworks is quite suitable for creating commercial augmented reality applications. The final choice of the development environment depends on the preferred marker recognition principle and the previous experience of the development team.

Rate:
Augmented Reality Toolkit: AR Frameworks Comparison
2.52 based on 25 user ratings