Tharindu Kumara 11000066 – 2011cs006
AUGMENTED REALITY DEVELOPMENT TOOLS SCS3012 – Introduction to Virtual Reality
Survey in Augmented Reality Development Tools
Augmented reality is a technology of blending the live view of the real world with the computer
generated virtual worlds (digital graphics and sound). Today we can see that Augmented Reality
is used in advertising, gaming, entertainment, robotics, military training, engineering, designing
and in many other industries. With the introduction products like Google glass, we can see that
this has become one of the most focused hot topics in the software development industry.
There are two main categories of AR apps as mentioned below.
Marker/Image based AR applications
Simply the idea behind the marker based AR apps is your app will process the video frames
from the camera of your device, searching for a marker (usually an image, a QR-Code or a user
defined specific marker). Once the app locates the particular marker, it will display the content
which are created by computer on the marker. Some of the examples of marker based AR are
apps like FETCH! Lunch Rush teach math skills to elementary students through the use of
visualization.
Markerless AR applications
But the more advanced and complex AR systems can identify the objects without any markers.
With the use of more powerful and expensive hardware, we can identify features like faces,
depth and so on. AR As an example depth reading cameras, like the Kinect.
Location Based AR applications
By using the GPS (Global Positioning System) tools and the compass in a particular device these
applications provides information and data related the location of your phone. Especially it
allows us find landmarks, hotels and restaurants, our way around a city or town and so on.
Some of the examples of location based AR apps are Layar, Wikitude and Nokia Heremaps that
let users to view information of nearby restaurants and other places.
When we looking at the AR applications development tools we can find a large number of AR
development toolkits, SDKs and other tools. There are both open source and commercial
solutions which can be used with all major platforms including iOS, Android, Windows & Unity.
ARToolKit
When we take a brief look at popular open source resources, ARToolkit is the most popular
toolkit that you can find. In 1999 initial version of ARToolkit developed and distributed by H.
Kato and M. Billinghurst in HIT Lab at the University of Washington. Since then they have
released few versions with a large number of modifications and improvements including the
multiplatform support (Windows, Linux and Mac). For non-commercial ARToolkit is available
under the GNU General Public License. And AR Toolkit can be licensed for commercial solutions
from AR Toolworks and Designer's AR Toolkit is available from Georgia Tech.
AR Toolkit is a software library for C and C++ developers to build AR applications. Because it is a
software library, the entire source code is distributed. So developers can compile on the
specific operating system (SGI IRIX, Microsoft Windows, Mac OS X and Linux to use it. And it
doesn’t change a single bit of functionality across multiple platforms. Today AR Toolkit has also
been ported to the iOS, Android and Windows Phone to support mobile AR applications.
FLARToolKit, SLARToolkit, NyARToolkit, ARToolKitPlus, ARDesktop and AndAR are some of the
popular ports of AR Toolkit.
When we looking at the features of AR Toolkit there are some remarkable ones. Basically this
toolkit can be used to develop marker based AR applications. So once the marker is detected
and the camera positions is recognized computer generated 3D graphical models can be drawn
on the marker easily. With the most recent version available it allows us to create applications
where virtual images can be overlaid on the video feed of the real world and also blend
computer graphics with the view of the real world from tools like head mounted displays
(optical see-through augmented reality). And another importance aspect is that AR Toolkit is
performance vise fast enough to make real time AR applications.
And another important feature of ARToolKit is the community. It consists of a large active
community. If you are a beginner or a newcomer to ARToolKit you may find plenty of other
users who have the solutions to your problems in the community.
According to the official website of ARToolKit, that it is used by over a 300 researchers in
various projects. The BlackMagic kiosk(A book showing virtual images), The MagicBook, AR
Groove, FaiMR (Furniture Assembly Instructor in MR), AR-Planning Tool (A virtual construction
set) and Magic Meeting are some of the projects that have completed with the use of
ARToolKit.
Designers Augmented Reality Toolkit
Simply know as DART. This is can be considered as a commercial version of ARToolkit. Having
said that DART basically focuses on supporting the rapid prototyping of AR experiences.
Basically in simple words it allows designers to develop and test their AR applications and
experiences rapidly. DART was initially developed as a set of extensions to Macromedia Director
(Now known as Adobe) which is multimedia-programming environment in order to overcome
the problems faced by designers who does work in AR in the real world.
Basically DART focuses on developing experience based AR applications such as dramatic tours
of historically important locations, educational dramas and experiences and so on. Though it
was built upon the ARToolKit, we can see that DART is a bit limited in functionality when we
comparing it with the ARToolkit. DART does not support multiple video feedbacks as the input.
When we looking at the applications developed using DART, in the official web site we can find
some interesting ones.
Voices of Oakland: This is a tour application with audio which introduces history, culture and
the architecture of the Oakland Cemetery. A visitor can walk around the cemetery by listening
to the audio by wearing headphones and carrying a portable computer and tracking device.
Four Angry Men: This is an AR applications which allows users to be apart in a version of the
well-known movie called 12 Angry Men. Here by using a Head Mounted Display the user or the
viewer can becomes a member of the dramatic scene. Here the users can switch characters at
any moment and can enter the scene at a different view point.
Alice’s Adventures in New Media: This is also an AR experience application which is developed
targeting a scene in the Alice’s Adventures. Here this application gives the experience of a
dramatic scene related to tea party. Just like in the above project, user can be one of the roles
in the scene.
Goblin XNA
Another remarkable Open source mobile augmented reality application development platform
that was written by using the C# language under .NET Framework and funded by Microsoft.
Simply this is based on Microsoft XNA Game Studio. So far different versions up to Goblin XNA
v3.6 are based on Microsoft XNA Game Studio 3.1 and after that versions from Goblin XNA v4.0
are based on Goblin XNA Microsoft XNA Game Studio 4.0. And the latest stable release is the
version Goblin XNA 4.1 which was released on 2012/06/27. Goblin XNA is a successful outcome
of a project at Colombia University. And this is released under the BSD license.
Especially if you are windows phone app developer and looking forward to develop a marker
based AR applications, without any doubts this will be your solution. This provides a large range
of features and functionalities right out of the box, including physics and networking support
with use of open-source tools and libraries. The input video stream which is captured via the
camera or webcam can be used to detect markers in the real environment. According to the
specifications for marker tracking it does has a pattern recognition library. So it uses the
features of a wrapper caller ALVAR as the default. And also Goblin allows developers to get
support of other marker tracking libraries like ARToolKit.
Goblin XNA AR Racing Game and Goblin Domino Knockdown are two of the popular AR games
that we can find today.
MetaIO SDK
It is one of the award winning, powerful and professional SDK that we can find in augmented
reality application development tools. Basically it allows us to design AR experiences. By using
this you may be able to develop AR apps for iOS, Android, Windows and Unity. This sdk uses
scripting language called AREL AR to achieve interactivity. It helps you to create stand alone or
cloud based projects. This SDK offers 2D and 3D tracking. The Metaio SDK comes standard with
a powerful 3-D rendering engine built in along with the unity-3D plug-in support, so you can
begin developing immediately.
There two versions of this Metaio sdk (Free and Pro). Using free version, developers can
develop applications without any limitations with respect to the pro version. But only downside
of using the free version is when someone submits an app to the app store (Google Play or
Apple Store), there will be a water mark.
When we looking at the features, we can consider that this is a complete package. With metaio
you can develop your AR app in a very fast manner. It can be used to develop Image-Based (2-D
Tracking), Object-Based (3-D Tracking) and Location based AR applications. And it also allows to
develop Stand-alone, offline AR Apps that don't require an active internet connection. Not only
that, it supports Marker less 3-D tracking based on CAD data.
Suppose if we are to develop an application using metaio, we can use so many development
tools on different platforms. If you are on Mac, you can use the Xcode IDE and if you are on
windows you can use either visual studio or QT creator. And even you can configure it to use
with Unity too.
Recently, we can find a large number of AR applications developed using metaio in App stores.
AR Dino Christmas: This applications allows uses to access the internet simply by pointing the
mobile phone’s camera on a mark and clicking the screen.
Accentac: This also is an AR application that gives descriptive information about the buildings in
the city of Madrid which have great historically and culturally important.
Autodesk ForceEffect: This is an AR application which allows us to carry out simulations and
engineering calculations using the mobile phone.
MetaIO Creator
MetaIO Creator is an application that allows users to develop AR experiences by drag and drop.
Unfortunately this is a commercial version. One of the most important advantage of metaio
creator is that it requires no programming knowledge. But if you have programming knowledge
you surely can expand the functionality by scripting.
Using this tool you can create an AR scenario in less than 5 minutes. All you need to do is simply
upload an image that you want to track and overlay your Augmented Reality content onto it.
Combine them via drag and drop and deploy the created scenario to a Junaio channel (which is
an augmented reality bowser). In order to deploy in a Junaio channel, you may require no
coding skills absolutely. But using this if you want, you can also export it as an eclipse or Xcode
project, so you can develop it as a mobile Cloud-based app. And also you can also it as a PC
application too. The software will automatically analyze and optimize the tracking image. The
Metaio Creator will also compress and reformat your AR content to achieve the best
performance.
You can achieve the most of the functionalities just as in the sdk mentioned above. But there
are certain limitations in the Creator. You cannot create offline and location base applications
with the Metaio Creator alone. In that case you have to get the help from the sdk.
Wikitude
Among the developers Wikitiude is voted as one of the perfect AR browser which allows
developer to build AR applications using the rich wikitiude SDK. This SDK also allows the
developer to create Cross-Platform AR applications. This SDK is based on the “Code Once Run
Everywhere” statement. So once you finished with your coding process you can run the
application on iOS, Android and on Eyewear devices like Google Glass, Epson Moverio and
Vuzix. This is SDK makes the development process so easier. You may be able to create content
using latest web technologies like HTML, CSS and JavaScript. When we looking at the
compatibility, we can see that Wikitude SDK performs work mutually with frameworks like
Phone Gap, Titanium and MonoTouch.
This SDK can be used to develop both marker-based, location-based AR applications and
sensor-based augmented reality experience. And also Wikitude SDK can render both 2D images
and 3D objects created from tools like Blender, 3Ds Max and Maya into the project. And apart
from basic augmentations like (Images, texts and buttons), here you can perform video
augmentations too. Another important feature that I noticed is that this SDK is well
documented one. It provides tutorials to develop simple apps to much more complex ones. In
the Wikitude official web site you can find different documents targeting different platforms
separately (Wikitude Documentation).Finally Wikitude also provides Wikitude Studio, a content
management system which allows to drag and drop assets using the interface to augmented
reality content.
Recently, we can find a large number of AR applications developed using Wikitude in all major
App stores.
Wikitude Navigation: This was first released in 2010 name as “Drive” and known as the world’s
first pedestrian and car navigation system that integrates with augmented reality.
One earth AR: This is also an AR application. Once we point the camera to book with maps. It
recognizes those places and shows information related to those maps.
Vuforia
Vuforia is an award winning Augmented Reality development sdk developed by a company
called Qualcomm. This is basically another software platform that gives us the opportunity
develop amazing brander AR app experiences. This uses vision based image recognition and
offers a wide collection of features.
Vuforia allows to develop AR apps in multiple platforms using multiple tools and to deploy apps
to iOS, Android and Unity. If you are an iOS developer you can Vuforia Engine to your Xcode iOS
projects. And if you are an Android developer Vuforia Engine can be added to existing Eclipse
projects. Here one remarkable thing is the ability to Android Java APIs. Therefore you don’t
have develop with Android NDK. Finally in Unity using Vuforia you can easily create applications
that can be run on both the above platforms.
When we looking at the features of Vuforia, there are a large number of remarkable ones. Use
of Vuforia extends the vision of our AR app. And allows it to detect a large number of objects.
Text (Supports the English word recognition), 3D Cylindrical Targets (Recognizes and tracks
cylindrical objects), 3D Simple Objects (Recognizes and tracks objects like cubes), Images and
Frame Markers are some of the targets that can use as target objects in Vuforia. After
recognizing a certain target we can add various background effects (like X-Ray, Night Vision),
add virtual buttons to respond to events and so on. Vuforia uses a technique called “Extended
Tracking” which makes possible to delivers a continuous visual experience even when the
target is out of view.
Just like in Wikitude, Vuforia also consists of wonderful developer guide. It contains well
described tutorials, API Reference and sample applications which allows developers to get a
head start. And another important fact that I noticed is in their official website that they are
maintaining a section called “Case Study”. It contains some case studies of some AR apps
created using Vuforia. Here are some of the apps which created by this SDK.
Anatomy 4D: This application puts informative details of the most complex human body into
sceen.
Toyota 86 AR: This is an advertising application which gives us to drive a Toyota Car.
Xloudia
Xloudia is a cloud based AR application development tool by LM3LABS. It basically provides an
image recognition service to large projects. This allow us to develop markerless AR apps using
certain built in algorithms. The main architecture behind this is Cloud + AR.
Since this is cloud based it has some unique features. Performance is unbelievable. Processing
power of a cloud is so much larger than processing power of computer or a smart phone. So
when developing AR applications using Xloudia, you don’t have to worry a single bit about the
performance. And the other important feature is that it has markerless recognition approach.
Therefore you can create AR applications without QR Code or Tags. And this can be run on iOS,
Android, Windows, OSX, Linux and etc. And another advantage of being cloud based is there
are no bug fixes and local database updates.
And also in the major app stores you can find so many AR applications developed using Xloudia.
Xloudia Converter: This AR application converts banknotes into home currency by simply
pointing out smart phone on to it. This is available in both Google Play Store and Apple
appstore.
BoutikNavi: This is also an AR applications which lets you to create your own media link
between printed material and digital content. This is available in both Google Play Store and
Apple appstore.
Comparison of Augmented Reality Development Tools
Platform Features
iOS Android Blackberry Web GPS Marker
ARToolKit ● ● ●
DART ●
Metaio ● ● ● ● ●
Wikitude ● ● ● ● ●
Vuforia ● ● ●
Xloudia ● ● ● ●
References
http://socialcompare.com/en/comparison/augmented-reality-sdks
http://en.wikipedia.org/wiki/List_of_augmented_reality_software
http://www.cwjobs.co.uk/careers-advice/it-glossary/the-10-things-you-need-to-know-about-
augmented-reality
http://www.hitl.washington.edu/artoolkit/
http://www.metaio.com/products/sdk/
http://mobile.dzone.com/articles/windows-phone-augmented-reality-comparison