Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

2 Literature Review

2.1 Augmented Reality

The word augmented means enhanced or increased. Simple enough right? The
phrase simply means enhanced reality. But if reality is what it is how does
someone enhance or embellish it? By using a tool such as your smartphone. The
concept of augmented reality revolves around adding more information to your
world (or lets says just your view of the world). The augmentation is usually
done by adding extra data to the perception of things around us which are not
visible normally. Let us say you are walking down the road (lets assume, in a city
where you have never been) and you see a fenced and open area but it doesnt
have a signboard demarcating the plot. You check on your phone and Google
maps say that the area is a meditation centre. See? How your mobile phone
enhanced your perception of your world? The above was a mere example to
show how everyday tools help us get more out of our reality. But before you
grasp the above example as one of augmented reality, its best we tell you that
Google maps do not really come under the umbrella of augmented reality.
Imagine again, you go to Shanghai, a well-known city in China. What you are
looking for is a vegetarian restaurant but since everything is written in Chinese
which you do not understand, you are unable to figure out where to go. You take
out your smartphone, connect to the internet and launch an app. This app looks
through the rear camera and shows you what it sees except theres more than
just the actual scene. You point it to a building, and it shows a graphical callout
that says hotel next to the building, you point it to a different building and it
says its a non-veg restaurant. Further down the road you see another building
marked as a theatre. Now, that is what augmented reality is. Such an app
would really be enhancing your perception of reality; it would add information to
your reality - it would augment reality.

Just like anything else which is beyond our reach, projection based AR feels more
attractive (at least as of now) compared to an AR app you can install on your
phone. As is obvious by its name, projection based AR functions using projection
onto objects. What makes it interesting is the wide array of possibilities. - One of
the simplest is projection of light on a surface. Speaking of lights, surfaces and
AR, did you ever think those lines on your fingers (which divide each finger into
three parts) can create 12 buttons? Have a look at the image and you would
quickly grasp what were talking about. The picture depicts one of the simplest
uses of projection based AR where light is fired onto a surface and the interaction
is done by touching the projected surface with hand. The detection of where the
user has touched the surface is done by differentiating between an expected (or
known) projection image and the projection altered by interference of users
hand. One of the widespread uses of projection based AR techniques is non
interactive. Projection on objects can be used to create deception about the
position, orientation and depth of an object. In such a case an object is taken into
consideration and its structure is studied in depth. The objects distance from the
projection is calculated and the projection light sequence is then designed

carefully to deceive the viewers mind. The most exciting implementation of


projection-based AR is perhaps the most exciting one of all uses. We are sure it
can appeal to your inner scientist and even the child inside you. Pop over to your
PC or Smartphone and watch this video: http://dgit.in/U954At. It shows Laser
Plasma technology in action creating 3D images in air. Thats right - 3D images in
thin air. This is one of those technologies which can not only be used for AR, but
for a whole lot more. Not only can this piece of tech be used for creating virtual
object in the air itself, its future developments may make it useful enough for
much larger deployments. In some cases, it might eliminate the use of special
gear (such as goggles and head mounted displays) for experiencing AR.

2.2 Types of Implementation of Augmented Reality

There are two primary types of AR implementations: Marker Based and Markerless.

Marker-based implementation utilizes some type of image such as a QR/2D


code to produce a result when it is sensed by a reader, typically a camera on a
cell phone.

Marker-less AR is often more reliant on the capabilities of the device being


used such as the GPS location, velocity meter, etc. It may also be referred to as
Location-based or Position-based AR.
Both Marker-based and Marker-less AR require AR specific software or browsers
to function. Marker-based AR is currently the most prevalent and easiest to
accomplish. While Marker-less AR is emerging, it is currently rather limited due to
sensor accuracy (i.e. GPS accuracy anywhere between 10 50 meters), service
limits (i.e. indoors vs outdoors), bandwidth requirements (4G is not a reality in all
places nor can the devices currently in existence actually handle it), and power
pulls on the devices.

2.3 Types of Augmented Reality

2.3.1 Vision Based Augmented Reality

Vision based AR

Marker based/Image recognition using a camera these applications recognize a


marker or an image in the real world, calculate its position & orientation to
augment the reality. In simple words they overlay the marker/image with some
content or information.
Image or object recognition and 3D Object Tracking in Augmented Reality is not a
new concept and is, or has been, already enabled mainly by visual markers.

Visual markers have been widely used in existing AR applications in last years. In
most of these applications, the performance of an AR system depends highly on
the tracking method for visual marker detection, pose estimation, and so
depending on the particular application. The visual markers design can differ
from one to another. But the use of these visual markers limit the interactivity
and are constrained to a range of photos or objects encapsulated within a border
to create the marker. Therefore, in order to use this approach, these visual marks
have to be printed previously and also be kept for future uses. Unlike in the
marker-based Augmented reality systems, in marker-less augmented reality
systems any part of the real environment may be used as a target that can be
tracked in order to place virtual objects.
With the new advances in mobile technologies, both in hardware and
software, new marker-less approaches like the ones based on natural features,
broke into the Augmented Reality world, not only allowing to use real objects as
a target instead of these old and ugly markers, but also overcome some of their
limitations.
In order to perform the object tracking, marker-less augmented reality
systems rely in natural features instead of fiducial marks. Therefore, there are no
ambient intrusive markers which are not really part of the environment.
Furthermore, marker-less augmented reality counts on specialized and robust
trackers already available. Another advantage of the marker-less systems is the
possibility of extracting from the environment characteristics and information
that may later be used by them. However, among the disadvantages we can
consider for markerless augmented reality systems is that tracking and
registration techniques become more complex.
Techniques developed for online monocular markerless augmented
reality systems rely in natural features of the image or object to be tracked, like
the edges, corners, or textures. In the next image, it is shown a markerless
system working at our LABs. In the image can be seen how natural image
features are taken in order to do the classification and the tracking.
After having shown some of the main differences between them, we can
consider that markerless augmented reality systems are a better option for final
applications, because they use normal images or objects as targets and they are
no invasive like marker-based systems.

Vision Based AR SDK

Vuforia SDKs
Vuforia (previously known as Qualcomm QCAR) often crops up when searching
for augmented reality options, but is aimed at the vision-based part of the
augmented reality spectrum, recognising real world objects (known as trackable)
and overlaying 3D models on top of them. They provide an Android and iOS SDK,
which are both free for use in commercial and non-commercial projects. This
seems like the project to go with if you want to use image recognition in your

project, and can even be used as an extension to Wikitude if you want to


combine geo- and vision-based AR.

ARToolKit SDKs
ARToolKit for Android brings the power and simplicity of AR Toolkit Professional to
the world's most widely-deployed mobile platform, empowering developers to
deliver revolutionary mobile AR applications. ARToolKit for Android includes
example source code for complete Android applications, with classes that can be
reused in the developer's own applications, enabling rapid deployment of new
projects.

ARPA SDKs
Image (multi-)detection and (multi-)tracking, 3-D object rendering in real time, as
well as user interaction with 3-D objects (e.g. selection, rotation, scaling) are
some of the features that ARPA SDK offers for building AR apps on iOS and
Android. ARPA GPS SDK complements ARPA SDK with geolocation-based AR
functionality: it allows you to define your own POIs that, when detected, the user
can select them and get more information about them or even perform actions
on them (e.g. the take-me-there action that displays a map with directions to
the selected POI). ARPA GLASS SDK and ARPA Unity Plugin offer similar
functionality with ARPA SDK for Google Glass and the Unity game engine,
respectively. It is worth noting that Arpa Solutions, the company behind these
SDKs, have over the years developed their own AR platform, some of the
features of which (e.g. face recognition and virtual buttons) might at some point
be transferred also to the SDKs.

2.3.2 Location Based Augmented Reality

Location Based AR
With the latest version of Augmented Reality Player users can now choose geolocation as a visualization option for their projects. The Geo-location feature
allows to use GPS coordinates to locate a 3D model/animation on the earths
surface. The software then tracks the 3D model coordinates in the real space
using a suitable sensor fusion technique. This makes it possible to display virtual
models in the real world without any marker: Besides support for geolocated 3D
models and animations, now the Player also supports skinning and morphing
animations. In addition, users can freely move virtual models in the real
environment using an intuitive interface.
The Geo-localization feature extends the spectrum of visualization possibilities of
the ARplugin in many application domains, including architecture, engineering
and cultural heritage.

Its an interesting development and we would be keen to know the level of


accuracy achieved, for rural sites and to determine a rough idea of a
developments impact on a view it seems to be useful.
These applications take advantages of Global Positioning System [GPS] tools in
your phone. The applications use the position of your phone to find landmarks
and any other point of interests [POI]. Once the POI or landmark is revealed the
user can get additional information about it or get directions to reach there.
These applications can help the learners to get real time learning using their
mobile phones about various places.

Location Based AR SDK

Wikitude SDKs
Wikitude provides an SDK for geo-based augmented reality overlays for both
Android and iOS which uses standard HTML5, CSS and Javascript web
technologies for displaying markers. The software is not open source, but is
available free of charge for non-commercial, non-profit projects (though a startup
animation will be added in this case, and a logo displayed on the camera view).
The software is being actively developed, and there is a community for support if
needed.

ARViewer SDKs
ARViewer is an open source geo-based AR library for Android. One of the useful
features noted about this library is the ability to use the AR interface to create
content that is tagged with a location (lat, long and altitude). To use this library,
the end user of the app would need to install the ARViewer app from the Android
Market as well as the app we are building, which isnt an ideal user experience.

DroidAR SDKs
DroidAR is a framework for Augmented Reality on Android. Location based AR
and marker based AR are both possible. Also read the wiki articles (or the FAQ)
for more detailed information about DroidAR. This framework can be used for
many different scenarios, there are already some demo applications available
(check the videos below). For the latest news about DroidAR also visit our blog.
DroidAR can be freely downloaded and used under the GNU GPL v3 license from
this GitHub repository and is also available under a commercial license. Location
based AR and marker based AR are both possible. This framework can be used
for many different scenarios, there are already some demo applications
available.
Footstep recognition & Indoor AR

Location based Gaming & Crowdsourcing Framework


Since the initial creation of the prototype of an augmented reality development
tool in 2010, it was continuously improved and new features were added. The
created development tool (SDK) enables other programmers to integrate
augmented reality in their own applications. We provided the SDK without charge
with an Open Source License for non-commercial projects. It has since evolved
into one of the most used open source augmented reality SDKs for the Android
platform. The regular feedback from the developers as well as its application in
seminars and practical project seminars, where the SDK was used as basis for
their projects, greatly aided its improvement. The framework meets and raises
interests and is currently being used by numerous developers around the globe.
The recorded numbers of the site are about 1500 website visits per month with
an increasing tendency. Also, 83% of the about 3200 developers return to the
website following their initial visit.

2.4 Existing Applications

Wikitude World Browser (Android, iOS, Blackberry, Windows Phone)

Wikitude World Browser is widely regarded as the king of all augmented reality
browsers, and in a way, serves as a third eye of sorts. While using your
smartphones camera in a given area, the virtual browser along with more
than 3,500 associated content providers offers you just about any
geographically-relevant information you may find valuable in your travels. Useful
information is often presented in the form of Wikipedia articles detailing the
hallmarks of a specific landmark, or directions to the nearest ATM location or
five-star Italian restaurant. Moreover, the app allows users to find hotels and
similar accommodations through Yelp, TripAdvisor, and the like, while offering
mobile deals and coupons for local stores in the vicinity. The built-in AR games,
including the rollicking Alien Attack and bug-beating Swat the Fly, and the apps
ability to mark and share your favourite spots via Facebook are merely an added
bonus.

Features of Wikitude World Browser:


The Wikitude World Browser helps you discover the world around you. Though
better suited to smartphones, especially when out and about, as a tablet
application, Wikitude World Browser still works well if you want to explore your
surroundings. These can be things like Wikipedia entries for landmarks nearby,
Foursquare check-ins, panoramic photos, YouTube videos and even entries from
Booking.com so you can find a nearby hotel. The app works well but could do
with some improvements. Its hard to judge the exact location of nearby places
in the AR view, you just learn their distance, not the cross-streets for example.
Still, Wikitude World Browser is a great, free way for you and your tablet to
explore whats nearby and presents this information in a unique way.
YELP Monocle (Android, iOS, Kindle)

Yelp has always been ahead of the curve. The prominent, social reviewing service
provided the iPhone with its first augmented reality app in 2009, the Yelp
Monocle, well before similar services began cropping up across the board. The
convenient app uses your smartphones GPS and compass to display AR markers
for nearby restaurants, bars, and other businesses in real time, each bundled
with the services user-generated ratings and reviews. If signed up with a Yelp
account, the app additionally provides directions to nearby friends and the
businesses theyve recently checked into, placing the same AR markers as
previously mentioned for friends, family, colleagues, and anyone else utilizing
the robust service. Monocle, although somewhat a hidden feature within Yelp, is
hands down the best utility for finding and following directions to the most wellregarded, or atrocious, businesses in your local vicinity.

Features of YELP:
The Yelp app interface is decidedly straightforward to use. The dashboard
displays a constant search bar at the top, with icons below giving access to the
Home, Nearby, Search, Bookmarks and Check-Ins tabs. From the Home menu,
the app also provides access to the user's own Yelp profile and recent searches,
along with a feed of the latest uploaded pictures and reviews for businesses in
their vicinity. User submitted reviews and recommendations; Great augmented
reality feature; Easy-to-use interface.

Google Googles

Google Goggles Android App allows Android users to search by taking a picture.
For searching, Google Goggles makes it convenient for users to interpret
information such as putting meaning behind a painting. It can be a challenge to
interpret such meanings into words. Google Goggles allows the user to search via
photos which were taken from the users mobile phone. The Goggles app is used
to take a photo and then pull up correct search results. Users simply have to
point their mobile phone camera at a painting, a famous landmark, a barcode or
QR code, a product, or a popular image. If Goggles finds it in its database, it will
provide useful information. Goggles can read text in English, French, Italian,
German, Spanish, Portuguese, Russian, and Turkish, and translate it into other
languages. Goggles also works as a barcode / QR code scanner.

Features of Google Googles:


The Google Goggles system can identify various labels or landmarks. There is no
requirement for a text-based search. According to Wikipedia, the system can
identify products barcodes or labels that allow users to search for similar
products and prices, and save codes for future reference, similar to the failed
CueCat of the late '90s, but with more functionality. It also has ability to
recognize printed text and use optical character recognition (OCR) technologies.
Scan barcodes using Goggles to get product information, Scan QR codes using
Goggles to extract information, Recognize famous landmarks, Translate by taking
a picture of foreign language text, Add Contacts by scanning business cards or
QR codes, Scan text using Optical Character Recognition (OCR) - Recognize
paintings, books, DVDs, CDs, and just about any 2D image, Solve Sudoku puzzles
and more.

3 Methodology
3.1 Introduction
This chapter talks about the tools, resources and libraries that will be used in the
development of this project. This research is done to ensure that only the most
appropriate tools in terms of quality and performance are used for the
development process. Additionally, a suitable software development
methodology is selected in accordance to the projects demands.

3.2 Development methodology


The Waterfall Model is the software development lifecycle approach that will be
used in this project. It is commonly referred to as a linear sequential life cycle
model, due to its nature of only allowing the next phase in a development
process to begin after the previous phase has been fully completed. The
Waterfall Model was one of the earliest SDLC models to be employed in the
professional world. The main advantages of using this methodology is the idea
that time spent early on making sure requirements and design are correct save
much time and effort later in the project. This way the development doesnt have
to be constantly revised. More time is spent ensuring the foundations of the
project are correct, saving time later on.
However, there also exists criticisms on this methodology. These criticisms
mainly revolve around the fact that this methodology isnt flexible. Some argue
that many of a systems details are only known as the implementation process
has begun, therefore it is nearly impossible to factor in all the possible conditions
before the actual implementation process.

In the Waterfall Model, there are five development phases:

3.2.1 Requirements
In this phase, a testing phase is done in order to better gauge what elements are
required in the application. An analysis performed on the results of the testing
results reveals the requirements that user demands so that they can be

incorporated into the application. These application requirements are reviewed


before moving on to the next phase.

3.2.2 Design
During the Design phase, the overall structure of the applications is designed
based upon the requirements gathered in the previous phase. This includes most
of the diagrams such as use case diagrams, sequence diagrams, entity
relationship diagrams and data flow diagrams. This phase is important as it
outlines the whole flow of every aspect of the application.

3.2.3 Implementation
The specifications made in the previous phase are now brought to life in the
Implementation phase. These features are first separated into individual modules
before finally being brought together and verified as a whole. These modules are
developed in accordance to their relevant design diagrams.

3.2.4 Verification
After all the modules have been successfully integrated, the Verification phase
can begin. In this phase, rigorous testing is done on the application to expose
any bugs or issue that arise. These bugs are to be noted down so that they may
be fixed in the Maintenance phase.

3.2.5 Maintenance
In this phase, all the bugs and defects that were detected in the previous phase
are fixed. Additional enhancements that can be done are also implemented to
smoothen the performance of the whole application.

3.3 Hardware Requirements


Samsung Galaxy S6

The Galaxy S6 has the same sized 5.1-inch screen and button placements, but is
made of a solid metal frame with Gorilla Glass 4 on both sides giving it a
completely different look and feel. The display is now QHD (2560x1440), and the
internals have been bumped up to support it with an Exynos octa-core
processor, 3GB of RAM and 32/64/128GB of storage. With the design change
Samsung also decided to drop the seemingly-popular SD card slot and removable
battery (which is a smaller 2550mAh unit), and instead thinned out the phone to
just 6.8mm thick and included both Qi and Powermat wireless charging
capabilities

Macbook Pro Retina 13 (Early 2012)

he MacBook Pro "Core i5" 2.4 13-Inch (Late 2013 Retina Display) features a 22
nm "Haswell" 2.4 GHz Intel "Core i5" processor (4258U), with dual independent
processor "cores" on a single silicon chip, a 3 MB shared level 3 cache, 4 GB or 8
GB of on-board 1600 MHz DDR3L SDRAM (which could be upgraded to 16 GB at
the time of purchase, but cannot be upgraded later), 128 GB or 256 GB of PCIebased flash storage, and an integrated Intel Iris 5100 graphics processor that
shares memory with the system. It also has an integrated 720p FaceTime HD
webcam, and a high-resolution LED-backlit 13.3" widescreen 2560x1600 (227
ppi) "Retina" display in a case that weighs just less than 3.5 pounds (1.57 kg). It
does not have an internal optical drive. Connectivity includes 802.11ac Wi-Fi,
Bluetooth 4.0, two USB 3.0 ports, two "Thunderbolt 2" ports, an HDMI port, an
audio in/out port, and an SDXC card slot.

3.5 Software Requirements

Android Studio for Mac

Google has graduated Android Studio to 1.0 and is recommending developers to


leave Eclipse behind.
Android Studio was first announced at Google I/O 2013 and has been under
development ever since with almost a dozen of intermediate releases. Not only
Google made it reach GA, but they call it now the official IDE, according to
Jamal Eason, Product Manager for Android, showing its importance for the
Android team which is distancing from the Eclipse-based tool. Google now
strongly recommends developers to use Android Studio and to migrate their
projects to it in order to benefit from the latest IDE updates. This JetBrains FAQ
webpage explains in greater detail the issues related to migrating from Eclipse to
an IntelliJ IDEA-based IDE.
Android Studio is based on IntelliJ Community Edition and version 1.0 has been
recently announced with these major features:
An installer that sets up the correct Android SDK and a development
environment with an optimized emulator and a set of code templates

All code editing tools as provided by IntelliJ IDEA


Dynamic Layout Preview enabling users to see and edit via drag&drop how their
mobile app appears on multiple devices and across API versions
Memory performance monitor
Gradle-based build system that is integrated with Studio but it is not affected by
Studio updates
The build system can generate multiple apks for debug/release, free/paid app
Integration with Google Cloud Platform
Lint tools to deal with performance, usability, version compatibility, and other
issues
ProGuard and app-signing capabilities
Android Studio has taken the path of Chrome with 4 development channels Stable, Beta, Dev, and Canary developers having the option to see the new
features in advance before they become generally available. There are
downloads for Windows 8/7/Vista/2003 32 or 64-bit, Mac OS X 10.8.5-10.9, and
Linux. This guide introduces developers to Android Studio including installation
instructions, main features, using it, tips tricks, etc.

You might also like