Monday, 7 November 2011

First blog entry - what is AR (augmented reality?)

So this is my first post. I started this blog with the intention of sharing my knowledge and experiences in the fields of smartphone programming (focusing on Android and iPhone). I live in Asia so every now and then I might throw in the odd post about life here too.

What is Augmented Reality (AR)?

During the past month I've been researching the various technologies available in the area of mobile augmented reality. Some people also called it mixed reality. For those of you unaware as to what augmented reality is, a simple video can illustrate the concept.

Unlike virtual reality where the entire environment is usually computer generated, imagine the real world around which you see normally everyday but overlaid (augmented) with digital information such as videos or computer graphics. The classic example is watching the view from your webcam on your computer screen and seeing little animated 3D objects pop out, seemingly as if they were there in that physical environment with you.

There are a number of various displays upon which an augmented reality system can be displayed; the most common is a normal computer screen, the next would be handheld devices like smartphones and tablets. Then you get onto less popular things like HUDs (heads up displays), wall projectors and goggles etc.

Vuzix Wrap 920AR goggles with USB cameras
and little displays on each eyepiece capable of
producing a stereoscopic (think, depth perception)
affect for a 3D feel.

The classic AR system uses "trackers" (also called markers or patterns) like the following printed on a piece of paper to track the camera's relative position (distance, height, angle) to the printed marker.

Most AR-powered applications will usually utilise some library which provides various functionality. Think of this library as the engine which does the nitty gritty work such as using some pretty clever math and computer vision algorithms to scan what's coming through the camera and see if it can recognize any markers that it's been told to look for. Once it's found a marker it's aware of it, then it does the fancy math of calculating where the camera is relatively to the marker. Armed with that information we can then go about drawing our pretty 3D animations (or whatever) over top of the environment in the correct perspective and scale.

The two AR libraries that I have played with a little is ARToolKit and QCAR. ARToolKit originally came out of the HIT Lab at the University of Washington. I first encountered ARToolKit during my university years at the University of Canterbury in New Zealand which has a sister HIT Lab NZ. QCAR was recently released by Qualcomm and is what I've been focusing on recently.

Your AR application will usually sit on top of the library, using what functionality you need and then integrating whatever content you want to overlay.

Besides trackers, location based services such as GPS offer another way to position the digital content we want to overlay onto the world around us. Think of pointing your camera in some random direction at some random objects (buildings etc.) and then information instantly popping up on your screen about what's there. Checkout Wikitude as a cool example of this type of AR application.

I had an interest in AR for years but never really took the opportunity to get involved with it until recently. Although the hardware used in some AR systems today is bulky and too cumbersome for many mainstream products aimed at the average end-user consumer, it's a field I strongly believe holds a very interesting and bright future. It has applications in all kinds of fields from entertainment, medicine, building/architecture/landscaping, engineering, education, collaboration for multiple geo-located meetings to even military. Don't get me wrong when I say this - as there are many AR products already out there on the market - but it seems this field is still much in its R&D phase at institutions, corporations and universities around the world. My dream is one day that it becomes as ubiquitous with the consumer markets like smartphones themselves have achieved over the past few recent years.

In this post I haven't even really done justice indescribing what AR really is and what can be done with it. My aim today was pretty simple - learn the basics of writing posts on and wet your appetite for things to come with a simple introduction. For more info just Google "augmented reality" and read, read, read! In the coming days, weeks, months, (years?) ahead I'll be writing some more useful posts about my actual adventures trying to develop AR applications.

Stay tuned!

No comments:

Post a Comment