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