International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 DOI:10.5121/ijcsa.2015.5102 11 COMPARATIVE STUDY OF AUGMENTED REALITY SDK’S Dhiraj Amin and Sharvari Govilkar Department of Computer Engineering, University of Mumbai, PIIT, New Panvel, India ABSTRACT Augmented reality (AR) is a technology which provides real time integration of digital content with the information available in real world. Augmented reality enables direct access to implicit information attached with context in real time. Augmented reality enhances our perception of real world by enriching what we see, feel, and hear in the real environment. This paper gives comparative study of various augmented reality software development kits (SDK’s) available to create augmented reality apps. The paper describes how augmented reality is different from virtual reality; working of augmented reality system and different types of tracking used in AR. KEYWORDS Augmented Reality, AR SDK’s, Metaio SDK, Vuforia SDK, Wikitude SDK, D’Fusion SDK, ARToolKit SDK, Tracking. 1.INTRODUCTION The expression “Augmented Reality”, usually abbreviated with the acronym AR- refers to the emerging technology that allows the real time blending of the digital information processed by a computer with information coming from the real world by means of suitable computer interfaces. Augmented reality is comprehensive information technology which combines digital image processing, computer graphics, artificial intelligence, multimedia technology and other areas. Simply, augmented reality (AR) uses computer-aided graphics to add an additional layer of information to aid understanding and/or interaction with the physical world around you. Natural commonly accepted definition for augmented reality [11][10] is based on: Generating a virtual image on top of a real image, Enabling interaction in real-time, Seamlessly blending 3D (or 2D) virtual objects with real objects. Augmented Reality makes explicit the implicit; this means that the information that is implicitly associated with a context is made usable and directly accessible by means of the AR interface [8]. AR is both interactive and registered in 3D as well as combines real and virtual objects. The paper presents a detail survey of various augmented reality SDK’s. Basic difference between augmented reality and virtual reality, working of AR system is explained in section 2 with different tracking mechanism used in augmented reality .Related work done using several AR SDK’s is discussed in section 3. Augmented reality SDK’s along with their features are discussed in detail in section 4 and comparison of AR SDK’s based on different criteria is discussed in section 5. Finally, section 6 concludes the paper. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 12 2.AUGMENTED REALITY 2.1. How AR is different from VR The term virtual reality is defined as “computer-generated, interactive, three-dimensional environment in which a person is immersed”. Augmented reality allows the real time blending of the digital information processed by a computer with information coming from the real world by means of suitable computer interfaces. There is a clear difference between the concept of virtual reality and augmented reality that can be explained with the help of [9] Paul Milgram and Fumio Kishino’s Reality – Virtuality Continuum as in figure 1. Figure 1. Milgram's Reality- Virtuality Continuum [9] The real world and a totally virtual environment are at the two ends of this continuum with the middle region called Mixed Reality. Augmented reality lies near the real-world end of the spectrum with the predominate perception being the real world augmented by computer generated data. Augmented virtuality is a term created by Milgram to identify systems that are mostly synthetic with some real world imagery added, such as texture mapping video on virtual objects. As explained by Milgram, virtual reality completely immerses the users in a virtual environment wherein he / she cannot see the real world around him. This could be like; the user would generally wear a glass and once the applications starts he / she could feel like he is in a fairy world, so that he cannot sense what is going around him in reality. Whereas AR on other hand, even though the user would need some displaying device like computer / smart phone / special glasses / Head mounted displays, he could see the virtual world being overlaid on the real world. So he / she could be aware of both the world. 2.2. How AR works AR system consists of three simple steps: Recognition, Tracking, and Mix. In recognition any image, object, face, a body or space is recognized on which virtual object will be superimposed .During tracking real-time localization in space of the image, object face , a body or space is performed and finally media in the form of video, 3D, 2D, text, etc are superimposed over it. Marker-based AR Systems uses physical-world symbols as a reference point for computer graphics to be overlaid. In this system camera continuously snapshots the target object and process the image to estimate the position, orientation and movement of the visualization display with respect to the target object. For example, a 2-dimensional printed marker is placed in front of a webcam. The computer then interprets this symbol to overlay an on-screen graphic as if it were directly on top of the marker in the physical world. Lighting and focus related problems limit the performance of AR services using this system. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 13 Marker-less AR Systems uses a combination of an electronic devices’ accelerometer, compass and location data (GPS) to determine the position in the physical world, which way it is pointing and on which axis the device is operating. This location data can then be compared to a database to determine what the device is looking at, and thus allows computer data/graphics to be displayed on-screen. This technological approach has given rise to ‘mobile augmented reality’, denoting use of the technology with devices such as Smartphone and tablets. 2.3.Types of AR tracking 2.3.1. Fiducial Marker Based Tracking It is the most often used technique to achieve AR. In AR they are used for easy recognition in the field of view and typically have high contrast. By using them we can not only relate to point in space but we can also calculate distance and the angle at which we look. Typical markers used in AR are black and white squares with geometric figures [14]. The use of black and white gives high contrast compared to background environment and can thus be quickly recognized. One of the obvious downfalls in fiducial markers technology is that they always have to be seen and cannot be obscured by other objects during the augmentation. This problem can be partially alleviated by remembering marker position and refreshing its position accordingly with device movement. 2.3.2.Hybrid Based Tracking This kind of tracking usually combines two or more data sources such as GPS, compass, accelerometer to calculate actual position and orientation [14]. The Global Positioning System allows pinpointing current location of the device, with this information we can find objects in our area that are to be augmented. With the use of compass we can tell the direction the device is pointing to and check if that path has any objects to be augmented. The accelerometer is used to calculate orientation of the device using gravitation to its advantage. Combining all information we can calculate what should be augmented in the field of view without any actual processing of the real image but of course the real image is used for placing the layer of augmentation. 2.3.3.Modeled Based Tracking A model based approach uses prior knowledge of 3D objects in the environment along with their appearance [14]. Using geometrical representation of 3D objects we can manipulate their position and orientation matching them to their counterparts in the field of view. Model approach works using edge detection for construction of 3D models, in some cases the model is provided to track resemblance in relation to its object in the environment e.g. tracking a moving car on a street, but this approach usually requires much more processing power. 2.3.4. Natural Feature Tracking This technique for achieving AR allows using objects in real world as markers by recognizing their natural characteristics. In it we find “interesting features” of the image that are highly distinguishable typically based on some mathematical algorithm. Feature descriptor of given image is saved for further recognition. Based on this feature set we can recognize the same image from different distances, orientation, and illumination levels even with some occlusion as the descriptor is invariant to those changes. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 14 3.LITERATURE SURVEY In this section we cite the relevant past literature that use of AR SDK’s. Most of the researchers tend to use vision based AR SDK due to more accuracy of superimposing 3D object on real world environment. A system called ASRAR is created to help a deaf person, which shows what the narrator says as a text display to deaf people. System combines augmented reality with, automatic speech recognition and TTS technology to help people to communicate with deaf persons without use of sign language. ASR engine is used to recognize the narrator's speech and convert the speech to text. The TTS engine is used to convert the input text into the speech for communication between the deaf person and the narrator. [12] AR engine is used to display the text as a dynamic object in an AR environment.AR engine is constructed with help of FLARManager and OpenCV used for facial recognition, object detection and motion tracking. The FLARToolkit library is used as tracking library to make flash supported AR applications. More than one narrator in the environment can be detected using multiple marker detection. Instead of the marker, face detection is used so that user can move easily. Authors have developed an AR based support system for teaching hand drawn machine drawing used for used for training of sketching and orthographic projection drawing in which users can watch virtual object from various orientation. This system developed using ARToolKit which overlays a virtual mechanical 3D object recognized by a cubic AR marker on the screen [5]. The position and the orientation of the AR marker define the position and orientation of the virtual object. During the registration process direction and distance of virtual object from the camera is calculated through recognizing edges of an AR marker process. User can watch 3D object in various aspect like front, back, top, under, left and right through rotating the cubic AR marker. Researchers have built advanced gardening support system called the Smart Garden (SG) which provides information about what to plant where. Guides user of planting seedlings where different symbols on the screen indicated steps to be taken also virtual plants are overlaid on real image which helps growers to understand the outcomes of their decisions intuitively.SG uses NyARToolkit for processing. Fiducial marker, a square black frame with unique symbol inside, is used which differentiate markers. Fiducial marker is recognized in the image captured by the camera and the positions and orientations of the markers relative to the camera are calculated. The position information is then used to render virtual objects in the image when unique symbols are matched to pre stored templates. One of the limitation is that only few marker where detected when camera was pointed direction of sun [6]. This paper specifies the significance of AR-media functionality like fiducial marker, natural feature and model based ,GPU and IMU sensors based tracking in context of different market segments like contextual and geo-located information, advertising, multimedia, and entertainment, education with reference to publishing products like books, magazines, newspapers, and collectibles [8]. A prototype system is designed to superimpose 3D animal model living in tideland over user defined target using Vuforia SDK using vision-based augmented reality technology which is based on computer vision algorithm to process feature points of 2D planes or 3D polyhedrons from camera images in real world and superimpose 3D content on those image in real time .Data structure was created to superimpose several 3D animal models on image targets. With Vuforia real time image target are generated, which helps the user to superimpose 3D animal model when user clicks photo of any scene. With this user can put 3D model at any place they want [7]. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 15 Campus event application was implemented which updates the users with daily campus events by visualizing the event over real world and providing real time map and route to the event. It is GPS location based AR application developed using marker less tracking feature of Metaio and Android SDK [4]. When user points the camera toward a direction, virtual billboards of nearby events in that direction visualized and placed over the reality will be displayed on the screen. Complete event detail is provide on clicking on virtual billboards. Addresses of event where provided as LLA coordinates which was used to visualize events and align it with static images accurately on the screen. The author proposed a method for creating an interactive virtual training system based on AR. With D’Fusion framework an interactive learning platform was provided for agriculture training [2]. To provide realistic training experience virtual model of strawberry was constructed. D’Fusion Augmented Reality technology was used for tracking, data alignment and integration of virtual object. Information about virtual object is presented with audio and animated clips, where one can rotate marker to see different features and parts of object. Interactive game explains strawberry cultivation process. A prototype system is designed for e-learning using FLARToolkit where student can see real objects to understand experiment contents rather than illustrations. Web based instruction manual tracks simple black squares for positioning some instruction information and then showing teacher 3D models with some instruction text. Multiple markers where used to superimpose instruction image over different items of experiment. To describe the experiment flash movie was used supported by FLARToolkit [3]. Researchers have built a tool for wheelchair users using geo location techniques, filtered internet search and Wikitude API, which guides user regarding adaptations of wheelchair in elevators, restrooms, ramps and other places [1]. Map view augments the user at the centre of place selected and also presents detail information about that place. Wikitude SDK was used to produce AR camera view with specific icons displayed on screen for selecting places. 4.AUGMENTED REALITY SDK Augmented Reality SDK facilitates many components within the AR application: AR recognition, AR tracking and AR content rendering. The recognition component works as the brain of the AR app. The tracking component can be stated as the eyes of the AR experience, and the content rendering is simply imaginative virtual objects and scenes on the real time information. An array of tools is provided to developers through SDK, required to recognize, track and render AR application in the most efficient manner. Augmented Reality SDKs can be organized in these broad categories: Geo-located AR Browsers, Marker based, Natural Feature Tracking AR Browser SDKs allow users to create geo-located augmented reality applications using the GPS and IMU available on today’s mobile and wearable devices. Marker based SDKs employ special images, markers, to create augmented reality experiences. Natural Feature Tracking SDKs rely on the features that are actually present in the environment to perform the augmentation by tracking planar images or based on a SLAM (Simultaneous Location and Mapping) approach. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 16 4.1.Metaio The Metaio SDK is modular framework which consists of different components like rendering, capturing, tracking and the sensor interface along with the Metaio SDK interface which interacts between the application and the other modular components [20].Implementations details are encapsulated and different functionalities are realized through simple SDK APIs which connects with the other parts of the SDK, thus provide easy implementation of AR applications. The Metaio SDK is compatible with all major platforms for software development: Android, IOS, Unity3D and Windows. The platform-specific interfaces of the Metaio SDK supports easy interaction with any development environment. Its feature set contains marker or marker-less 2D and 3D tracking, POI’s tracking, support for QR code and barcode reading, built in 3D renderer, optimizations for mobile chips, LLA Marker tracking, etc. Some Features: • Provides high level of abstraction which enables a developer to assume low level implementations and design and develop apps with greater ease, efficiency and enhances productivity. • Provides powerful 3D rendering engine and highly advance tracking which leads in developing apps free of visual artefact and can be executed in reasonable time on sufficiently low cost devices. • Metaio support for obj, fbx and md2 model formats for 3D objects which provide greater flexibility in apps development. • Direct loading of 3D models is supported with abstraction of OpenGL calls which enables faster and more efficient use of Smartphone resources like device memory and also minimizes I/O load times as no conversion for 3D format is required. • It includes AREL, a powerful scripting language which provides highly interactive Augmented Reality experiences based on common web technologies such as XML, HTML5 and JavaScript. 4.2.Vuforia The Vuforia platform uses superior, stable, and efficient computer vision-based image recognition technique and provides several features, enabling capability of mobile apps and frees developers from technical limitations [16]. Vuforia platform consists of different components like Target Management System available on the developer portal (Target Manager), Cloud Target Database and Device Target Database and Vuforia engine. A developer simply uploads the input image for the target that he wants to track. The target resources are then accessed by the mobile app either through cloud link or directly from mobile app local storage. A Vuforia SDK-based AR application consists of Camera which capture frame and pass contents to the tracker, Image Convertor simply converts image taken by camera to a format suitable for OpenGL ES rendering and for internal tracking, Tracker which can load and activate multiple dataset at same time which basically contains the computer vision algorithms that detect and track International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 17 real-world objects in camera video frames, Video Background Renderer to render camera image stored in the state object, Application Code which for newly detected targets query the state object which results in updating of application logic with new input data and rendering the augmented graphics overlay, Device Database to store marker targets in device itself and lastly cloud database which stores the target in the cloud. SDK supports both native development for iOS and Android, while also enabling the development of AR applications in Unity that are easily portable to both platforms. The Vuforia SDK supports different types of targets, both 2D and 3D, including multi-target configurations, cylinder targets to track images on a cylindrical surface, marker less image targets, frame markers and cloud recognition targets to track 1 million targets simultaneously. The SDK provides features like localized occlusion detections using virtual buttons, image target selection in real time and has capability to reconfigure and create target sets depending on the scenario. It also support text target to recognize and track words. Some Features • Provide faster local detection of targets with capacity of tracking 5 targets simultaneously. • Efficient tracking in low light conditions and even though target is covered partially. • Extended tracking capabilities, which enable app to keep tracking targets and helps maintain a consistent reference for augmentations of object even when the targets are no longer visible in real time camera view. 4.3.Wikitude Wikitude includes image recognition & tracking, supports 3D model rendering with overlaying of video and provides location based AR. The Wikitude SDK [19] combines geo-based and image recognition capabilities to provide hybrid tracking and it is build heavily on web technologies (HTML, JavaScript, and CSS) which allow writing cross platform augmented reality experiences coined as ARchitect worlds and are basically ordinary HTML pages that can utilize the ARchitect API to create objects in augmented reality. Wikitude SDK into can be integrated to apps is by adding the platform specific view component called ARchitectView to the app user interface. Wikitude SDK is a commercial solution but is also available as a trial version with some limitations like Wikitude logo in cam view etc. Wikitude SDK is currently available for Android and iOS platform. Wikitude AR browser was first released on Android platform then extended to Blackberry, Bada, Windows Phone and iOS. Wikitude also provide Wikitude studio which eases the development procedure, where no programming skills are required and app can be created by simply dragging object on the studio screen. Some Features: • Supports 3D model in .fdx and .collada file format which is converted internally using Wikitude encoder. • Provide both 3D and 2D transformation. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 18 • Supports animation with help of JavaScript API. • Provide sprite, model animation and also support animation groups. • It provide direction indicator and location tracker. 4.4.D’Fusion D'Fusion technology integrates real time interactive 3D graphics contents on a live video stream [17]. Using D'Fusion Exporter 3D objects can be created and exported. D'Fusion studio is used to design and export the AR projects. D'Fusion SDK is available in different platforms like desktop, mobile and special Flash Plug-in is also available. Rendering is based on D’FusionCV; it can recognize 1D and 2D barcode. The Motion Detection feature available with D’Fusion SDK replaces the utilization of a mouse, a keyboard or a touch screen by identified body movements. It also recognizes multiple type of marker. It provide marker less tracking and support any kind of 2D ,3D objects .It support face tracking which allows a robust recognition of faces, focusing on eye and mouth detection . It provides large data set of images about 500 images on mobile platform. Marker less tracking is supported on mobile platform using different sensor and based on LUA language. Any device which can be plugged to desktop can be used as camera to create AR scene. D’Fusion Suite established by Total Immersion is a multifaceted platform which supports designing Augmented Reality projects for mobile and web based applications. It is a cross-platform tool which supports different platforms like Web, iPhone, Android . Some features: • It is more UI based (D’Fusion Studio & D’Fusion CV) and enables to build the whole scenario through the GUI. • One bundle scenario will work on both Android & iPhone. • Supports multi-tag and Face-tracking. 4.5.ARToolKit ARToolKit is an open source marker based AR library [15] .It is a programming library for implementing augmented reality application which overlays 3D virtual object on AR marker taken by the digital camera. Position and orientation of the virtual object is defined by recognizing the position and the orientation of the AR marker based con computer vision algorithms. ARToolKit supports multiple platforms and for the rendering part uses OpenGL; GLUT is used for the windows/event handler aspect and video library is hardware dependent and has standard API is provided for each platform. ARToolKit API is available in C. ARToolKit library consists of AR module which contains marker tracking routines, calibration and parameter collection, Video module having video routines for capturing the video input frames, sub module is a collection of graphic routines based on the OpenGL and GLUT libraries, Gsub_Lite module has a collection of graphics routines, which is platform independent. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 19 It was designed for personal computers and not for embedded devices. Hence porting it directly to mobile platforms was difficult and impractical because it uses a lot of FPU calculations. But over the time lot of ARToolKit extension have been developed which support mobile platforms also. Some features: • Has ability to use any square marker patterns also simple black squares can be tracked. • Easy camera calibration code. • Tracking is fast enough for real time AR applications. • Provides multi platform video library with multiple input sources (USB), support multiple format (RGB, YUV), multiple camera tracking. Few AR frameworks developed based on ARToolKit are: AndAR: It enables AR on the Android platform based on Java software library [18]. FLARManager: It is a lightweight framework to build flash based AR applications. It supports variety of tracking libraries and 3D frameworks, and provides robust, event-based system for managing marker addition, update, and removal. Detection and management of multiple patterns, and multiple markers of a specified pattern is also supported [13]. FLARToolKit: It is the Flash Actionscript (V3) version of ARToolKit used to quickly develop web-based AR experiences. FLARToolKit from an input image recognizes a visual marker and then calculates the orientation and position of camera in 3D world and on the live video image overlays virtual graphics. FLARToolKit has support for all of the major flash 3D graphics engines (Papervision3D, Away3D, Sandy, and Alternativa3D) [13]. NyARToolkit: It provides both marker-based and Natural Feature Tracking. It’s optimized for portability across different programming languages. Support both desktop and mobile platform [13]. SLARToolkit: It is a flexible AR library created to develop AR applications with Silverlight .It can be used with the Webcam API that was introduced in Silverlight 4 or with any other CaptureSource or WriteableBitmap. Supports creation of custom markers and provides multiple marker detection while tracking [13]. 4.6.ARmedia The ARmedia 3D SDK is based on a 3D model tracking approach which recognizes planar images as well as complex 3D objects independently of their size and geometry [21].SDK architecture consist of renderer to render 3D model, tracker to track the target, capture for capturing frames from the device camera and interface to native android and iOS. ARmedia framework is cross-platform and implemented in C/C++. AR application can be created using this SDK by first taking photos of the object which you want end user to interact, also 3D model should be created which would then be overlaid on the tracker which is created on online SDK server. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 20 Framework includes different tracking libraries like OpenCV, natural feature trackers, OpenNI which provides gesture recognition with depth cameras and a powerful 3D tracker: Inglobe Tracker. The platform supports several extensions of OpenGL for Real-time rendering. ARmedia SDK enables creation of applications that redefine the boundary between indoor and outdoor augmented reality in different domains like industrial maintenance, interactive gaming, etc. ARmedia 3D SDK is available for mobiles and compatible smart glasses and soon will be available also for Windows PCs and Mac OS. Some features • Provides 3D tracking of real world objects in real time in changing lighting conditions. • Provides modularity where one can integrate between different tracking algorithms and different 3D engines and interface. • Different tracker parameters can be fixed to fine tune the results. • Easily integrate with any other AR platform by simply converting frame to OpenCV Mat object and pass it to the tracker. • 3D target creation and management services are available on cloud. 5.COMPARISON OF AUGMENTED REALITY SDK’S We can compare various Augmented Reality SDK based on different category’s. Also advantages and disadvantages of AR SDK’s are discussed in this section. We can classify the AR SDK into following categories, they are: 5.1.Based on license type Metaio, Vuforia, Wikitude, D’Fusion and ARmedia are available as free as well as commercial SDK. ARToolKit is available as commercial as well as open source license. Table 1. Comparison based on license type. AR SDK Vuforia Metaio Wikitude ARToolKit D’Fusion ARmedia Type Licen se Open source Free Commer cial International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 21 5.2.Based on platform supported Metaio supports development of AR apps for android, iOS, Windows, Flash platforms. Vuforia supports development of AR apps for android and iOS platforms. Wikitude supports development of AR apps for Android, iOS and BlackBerry OS. D’Fusion supports development of AR apps for Android, iOS, Windows, Flash platforms. ARmedia supports development of AR apps for android, iOS, Windows, Flash platforms. ARToolKit supports development of AR apps in Android, iOS, Linux, OSX, Windows platforms. Table 2. Comparison based on platform supported. AR SDK Vuforia Metaio Wikitude ARToolKit D’Fusion ARmedia Type Lice nse iOS Android Window 5.3.Based on marker generation Metaio does not provide marker generation functionality like Vuforia, but it provides a list of pre built 512 different ID markers which can be chosen by developer to overlay graphics. Vuforia supports marker generation through online target manager that support creation of device or cloud database using which one can add targets to generate markers. User simply has to upload image he wants to use as marker and online generator will generate required files. ARmedia doesn’t have specific tool to generate marker online, instead user have to install professional ARmedia plug-in in Google SketchUp which provide facility to generate marker by selecting your image or from set of predefined markers. D’Fusion provides D’Fusion studio which provides functionality to choose picture that will be tracked. Picture should have high contrast. It provides large data set of images about 500 images to be used as marker. With target manager tracking points on the image can be easily identified. Wikitude provides online target manager tool which helps to create a target collection that one can use to detect and track images. Image which one want to use as target can be uploaded in the tool, but only JPEG and PNG format of image are supported also image should not contain transparent pixel and solid colour image are only supported. One can also create a target collection of multiple targets. ARToolKit comes with PDF files for some pre-made markers. There are certain constraints related to marker like marker should be square, should have continuous border, marker image should not be rotationally symmetric. Marker image can be replaced with l two-dimensional grid of black and white squares (a little like a 2D-barcode). ARToolKit also provide a tool for marker generation but user have to first draw and print marker and then with help of tool and cam generate the required .pat file for marker. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 22 Table 3. Based on marker generation. AR SDK Vuforia Metaio Wikitude ARToolKit D’Fusion ARmedia Type Marker generation Online target manger. Support generation of frame, image markers. No online tool. Provides readymade 512 different ID markers Online target manager tool. Provide creation of target collection of multiple targets. Online tool to create marker. Provide set of predefined square markers in a PDF file. D’Fusion studio. Provide dataset of 500 images to use as marker. Provide plug-in for Google SketchUp. Provides set of predefined markers. 5.4.Based on tracking ARmedia supports Fiducial Markers, Natural Feature Tracking, IR Cameras and Depth Cameras and Location and Inertial Sensors (GPS, Gyroscopes, Accelerometers and Magnetometers). ARmedia provides 3D model tracking approach. It recognizes planar images and also complex 3D objects regardless of their size and geometry. Metaio SDK provides two tracking setups: marker-based and marker-less. Metaio SDK offers non-optical tracking to allow the use of other types of sensors than cameras. It provides tracking based on GPS and inertial sensors (accelerometer, gyroscope and magnetic (compass) sensors) present on the device. Optical tracking is based on camera and needs processing of image. It supports ID marker, picture and LLA marker, marker-less image tracking and 3D maps, instant tracking. Also provide 3D SLAM and extended image tracking. QR and Barcode reader is also supported. Latest tracking technology provided is 3D marker-less tracking based in CAD data. For tracking Vuforia SDK supports a variety of 2D and 3D target types which also includes marker-less Image Targets, singly track-able 3D Multi-Target and cylindrical targets. Also supports Frame Marker a form of Fiduciary Marker. Other features of the SDK include localized Occlusion Detection using Virtual Buttons. It allows user to pick an image at runtime through user defined targets. It supports text (word) targets which recognize and tracks textual elements in the environment. It supports Extended Tracking, which enables continuous experience whether or not the target remains visible in the camera field of view. D’Fusion SDK tracks body movements with support for multiple marker tracking. It provide marker less tracking using different sensor(GPS, compass, accelerometer, gyroscope, etc) and tracking of 2D image ,3D objects .It support natural feature tracking, face tracking which allows a robust recognition of faces, focusing on eye and mouth detection. Through finger pointing interactive zones can recognized on images. Barcodes can also be recognized both in portrait and landscape mode. The Wikitude SDK combines geo-based and image recognition capabilities to provide hybrid tracking. It is able to track up to 1000 image targets per dataset. The image recognition engine of Wikitude is based on the Natural Feature Tracking (NFT) principle. The other approach provided is the use of marker tracking, which uses artificial images; barcodes etc. It can track a target image up to 20 meters away also have ability to snap your content to the screen regardless of whether the target image is still visible. Face tracking and 3D object tracking features aren’t provided yet. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 23 Tracking in ARToolKit can be achieved using simple black squares of any patterns. It supports multiple marker tracking, natural feature tracking, and fast 6D marker tracking (real-time planar detection). Advanced 2D-barcode support for high-speed tracking in applications with a large number of markers .It doesn’t support capabilities like face tracking, GPS and IMU sensors. Table 4. Comparison based on tracking. AR SDK Vuforia Metaio Wikitude ARToolKit D’Fusio n ARmedi aType Trac king Marker Frame markers, image target, text targets. ID, picture and LLA marker, QR and Barcode Image, barcode tracking Square marker, multiple marker tracking Multiple marker tracking ,Barcode tracking Track Fiducial marker. GPS IMU Face Natural Feature 3D object Others Extende d tracking, Localize d Occlusio n detection Instant 3D maps tracking ,3D SLAM ,extende d image tracking Hybrid tracking, extended tracking 6D marker tracking(real -time planar detection) Recogniz ed interactiv e zone through finger tracking IR camera and Depth camera calibrati on provided 5.5.Based on overlaying capability Metaio SDK offers content creation in three major areas: image, movie and 3D animation. JPG and PNG format of image are supported and for video 3g2 formats is supported which makes possible to apply movie textures to a tracking target. It supports overlaying of 3D content mostly in FBX, MD2 and OBJ formats. It also supports overlaying of billboard on screen. Vuforia SDK supports overlaying capability to position and orient virtual objects, such as 3D models, 3D animation and other media such as video and planar images. ARmedia SDK support overlaying of simple 2D image and 3D objects. It also supports augmenting video on the user screen. Interactive 3D animation can be created using this SDK in combination with Google SketchUp. D’Fusion SDK supports overlaying of 2D and 3D content .3D animation can also be overlaid on user screen through this SDK. Textures can be easily added on virtual object through D’Fusion studio. Simple 2D text and video can also be augmented in the user environment. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 24 Wikitude SDK supports overlaying of 2D, 3D content over the natural environment. VideoDrawables are provided to display videos on top of image targets. For loading 3D content Wikitude supports only Wikitude 3D Format files (.wt3). With help of Wikitude 3D encoder Autodesk FBX files (.fbx) and the open standard Collada (.dae) file formats can be converted to .wt3format.Animated and transparent 3D model are also supported. But one can’t add multi textures to 3D object. Sprite animations, 3D transformations and also HTML contents can be overlaid on screen.3D virtual objects can be overlay in ARToolKit on real markers. ARToolKit for iOS and Android support loading of static Wavefront .obj files. High-level graphical content and animations in Virtual Reality Modeling Language (VRML) v2 and X3D formats are also supported. Table 5. Comparison based on overlaying capability. AR SDK Vuforia Metaio Wikitude ARToolKit D’Fusion ARmedia Type Overl aying cpapb ility 2D content 3D content Others 3D animatio n can be overlaid on screen Billboa rd can be overlai d Sprite animation s, 3D transform ations and HTML contents Support high level graphic content and animations. 3D animation can be overlaid on screen Interactiv e 3D animation through SketchUp Table 6. Benefits of different AR SDK’s. Benefits Vuforia Enable to maintain tracking even when the target is out of view and view them from greater distance. Cloud Database allows storing thousands of image targets. Metaio Powerful 3D rendering engine with capability load 3D model of .obj format. No limit on number of trackable object depends on device memory. Wikitude AR content can be programmed using basic HTML5, JavaScript and CSS. Easy portability of AR apps from one platform to another. ARToolKit Multiple platforms AR app development possible. Only AR SDK which is available as open source, through which many new AR frameworks developed. D’Fusion High quality 3D content can be augmented with support for multiple 3D object formats. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 25 Benefits Provides encrypted media to prevent privacy or substitution risks. ARmedia Depth camera calibration provided which creates more immersive experience Table 7. Limitation of different AR SDK’s. Limitation Vuforia Vuforia SDK for Android does not expose any utility function to easily load a 3D model from any standard format. Device database can only support 100 image targets. Metaio Difficult to render complex 3D objects also limitation is associated with model size. Wikitude Doesn’t track 3D model which limits is use to only 2D tracking. Target image to track need to be of solid colors to be recognized ARToolKit Less accuracy in tracking markers even when camera and marker are still. It itself doesn’t support location based augmented reality D’Fusion Video file supported but audio associated with video can’t be played ARmedia Doesn’t support all type of textures for 3D objects 6.CONCLUSIONS AR amplifies actual reality to enhance real time information, which is performed through the provision of additional contexts and content over real information. It can be referred as a disruptive technology, as it overlays original input, but with positive result of engaging the users, instead of alienating them with digital content. Through direct superimposition on the physical world AR offers simple methods of data enrichment. It presents an interactive framework which constructively affects all aspects of a user’s routine life. AR will further blur the line between what’s real and what is computer generated by enhancing what we see, hear, feel and smell. AR has a great future as it promises better navigation and interaction with real and virtual world in ways which has previously been unimaginable. ACKNOWLEDGEMENTS I am using this opportunity to express my gratitude to thank all the people who contributed in some way to the work described in this paper. My deepest thanks to my project guide for giving timely inputs and giving me intellectual freedom of work. I express my thanks head of computer department and to the principal of Pillai Institute of Information Technology, New Panvel for extending his support. International Journal on Computational Sciences & Applications (IJCSA) Vol.5, No.1,February 2015 26 REFERENCES [1] Bocato, E. S., Zorzal, E. R., & de Almeida, V. A. P. W. ,“Augmented Reality as an Accessibility Tool for Wheelchair Users”,2012. [2] Sheng Wu, Boxiang Xiao, Xinyu GuoAn,”Interactive Virtual Training System Based on Augmented Reality,” International Conference on Education Technology and Information System (ICETIS 2013). [3] Akinori TOGUCHI, Hitoshi SASAKI, Kazunori MIZUNO, Arimitsu SHIKODA,” Build a prototype of new e-Learning contents by using the AR technology,”2011. [4] Chao, Joseph T., Lei Pan, and Kevin R. Parker. "Campus Event App-New Exploration for Mobile Augmented Reality," Issues in Informing Science and Information Technology 11 (2014). [5] Horii, Hirosuke, and Yohei Miyajima, "Augmented Reality-based Support System for Teaching Hand-drawn Mechanical Drawing," Procedia-Social and Behavioural Sciences 103 (2013): 174-180. [6] Okayama, Tsuyoshi, "Future Gardening System—Smart Garden," Journal of Developments in Sustainable Agriculture 9.1 (2014): 47-50. [7] Lee, Youngo, and Jongmyong Choi. "Tideland Animal AR: Superimposing 3D Animal Models to User Defined Targets for Augmented Reality Game," International Journal of Multimedia and Ubiquitous Engineering Vol.9, No.4 (2014), pp.343-348. [8] "Augmented reality and future of printing and publishing”, Inglobe Technologies Srl, 2011. [9] Milgram, Paul, Haruo Takemura, Akira Utsumi, and Fumio Kishino. ,"Augmented reality: A class of displays on the reality-virtuality continuum," In Photonics for Industrial Applications, pp. 282-292, International Society for Optics and Photonics, 1995. [10] Azuma, Ronald, et al. "Recent advances in augmented reality." Computer Graphics and Applications, IEEE 21.6 (2001): 34-47. [11] Azuma, Ronald T. "A survey of augmented reality." Presence 6.4 (1997): 355-385 [12] Mirzaei, M., S. Ghorshi, and M. Mortazavi. "Helping Deaf and hard-of-hearing people by combining augmented reality and speech technologies," Proc. 9th Intl Conf. Disability, Virtual Reality & Associated Technologies. 2012. [13] http://www.artoolworks.com/ accessed on October 20, 2014 [14] http://www.slideshare.net/marknb00/2013-426-lecture-1-introduction-to-augmented-reality?related=4 accessed on October 21, 2014 [15] ARToolKit, http://www.hitl.washington.edu/artoolkit/ accessed on October 21, 2014 [16] Vuforia, https://developer.vuforia.com/ accessed on November 1, 2014 [17] D’Fusion, http://www.t-immersion.com/products/dfusion-suite accessed on October 21, 2014 [18] AndAR, https://code.google.com/p/andar/ accessed on November 1, 2014 [19] Wikitude, http://www.wikitude.com/ accessed on November 2, 2014 [20] Metaio, http://www.metaio.com/ accessed on October 26, 2014 [21] ARmedia, http://www.armedia.it/ accessed on October 26, 2014 Authors Dhiraj Amin is currently a graduate student pursuing masters in Computer Engineering at PIIT, New Panvel, and University of Mumbai, India. He has received his B.E in Computer Engineering from University of Mumbai. He has 3 year of past experience including both teaching and as a software developer at Infosys. His areas of interest are Natural Language processing, Augmented Reality and Artificial Intelligence. Sharvari Govilkar is Associate professor in Computer Engineering Department, at PIIT, New Panvel, and University of Mumbai, India. She has received her M.E in Computer Engineering from University of Mumbai. Currently she is pursuing her PhD in Information Technology from University of Mumbai. She is having 17 years of experience in teaching. Her areas of interest are text mining, Natural language processing, Compiler Design & Information retrieval etc.