10
Tharindu Kumara 11000066 – 2011cs006 AUGMENTED REALITY DEVELOPMENT TOOLS SCS3012 – Introduction to Virtual Reality

Augmented Reality Development Tools

Embed Size (px)

Citation preview

Page 1: Augmented Reality Development Tools

Tharindu Kumara 11000066 – 2011cs006

AUGMENTED REALITY DEVELOPMENT TOOLS SCS3012 – Introduction to Virtual Reality

Page 2: Augmented Reality Development Tools

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.

Page 3: Augmented Reality Development Tools

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.

Page 4: Augmented Reality Development Tools

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

Page 5: Augmented Reality Development Tools

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

Page 6: Augmented Reality Development Tools

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.

Page 7: Augmented Reality Development Tools

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

Page 8: Augmented Reality Development Tools

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

Page 9: Augmented Reality Development Tools

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.

Page 10: Augmented Reality Development Tools

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