Monday, November 14, 2011

Augmented Reality - Beginner's Guide

CodeProject

Augmented Reality is one of the hot topics of today’s technical discussions. This term is coined for virtual reality that describes the duplicate of the natural environment or real objects in a computer system and then generating a combined view for the user that is the combination of the real scene viewed by the user and a virtual scene generated by the computer along with some additional information.

Unlike Virtual Reality, AR does not create a simulation of the real objects rather AR does add some contextual data to the real objects and present it to the user in such a way that it provides much more meaningful information for these real/natural objects. This can be understood by a very basic example: If you see some item in one of your friends’s cubicle in the office and it looks really beautiful and you want one for yourself also. There are two traditional ways to get the details for this product one is directly asking the person which may not be very comfortable based upon your relationship with that person or I simply take a photo of this sculpture and find it in a nearby shop. In the second way it is very difficult for me to check in each and every shop in my city (The situation becomes worse if the item has not been purchased locally). There is one more way and that is I will simply take a picture of this sculpture and use one application that uses AR and get all the required information like Stores where this item is available, it’s price, availability and reviews etc.

Like the above example there are number of ways this technology can help us as described in next sections of this document.

The AR can be implemented using four basic components: Internet Connection, Camera, GPS and AR Application. 
  • Camera: This will be used to capture the photograph of the object. Usually a 2-3 Megapixels camera should be enough to make a decent AR Workable solution, however it should be noted that a higher megapixels camera may be required depending upon the result that we want. For example if we are creating a solution that require very minute level information of the object especially in medical or defense, we may require a high resolution camera.  
  • GPS: The device should be capable of using GPS. This would be required by the AR Application for using Coordinates and finding the nearest available information on the objects. 
  • Internet Connection: Though the AR Application can use its own internal repository to generate the information on the selected objects (This may be true for some medical and defense research applications), it is required to have an internet connection if we want to make our application generic. Also an internet connection will provide you the latest and updated information.  
  • AR Application: This is the application that we require to make use of all the above components and produce results in desired format. This application will read the images taken by the camera and provide the maximum information from internal repository/internet. The GPS will help to calculate the co-ordinates and accordingly produce the relevant information. 
Every object on this earth has it’s own history and context and internet is a vast source of information that can be used to identify information on these objects. Using AR along-with other technologies like GPS & Internet, we can definitely make a very good use of this technology. Given hereunder are some of the areas/fields where this technology can be used: 
  • Gaming: There are a lot of games that are designed based on Augmented Reality. Top Trumps style card game for PlayStation 3 is an example. This game is AR enabled. Six beloved characters appears in 3D when the AR is activated. Others include a couple of Xbox Games with Kinnect Sensor; Dungeons & Dragons is available for iPhone. These are just examples; there are a lot more games available on internet. Try some goggling and your screen will be flooded with a lot of good results available for your computer, iphone, android based phones etc. 
  • Security: AR has really a very good potential in this sector. We can install some cameras on busy public areas, airports, bus stations etc and track activities of various objects, If an object is placed for a long time, some alarms can be activated to alert the security staff to check if this is a lost baggage or any threat to the public. This way we can save a lot of efforts & money along-with enhanced tracking of unattended objects.  
  • Education: This technology can take education to the next level. When the teacher is delivering a lecture, the words can be captured and associated articles can be fetched from the internet and displayed on screen. The same can be directed to the student’s laptops/tabs. For toddlers some real objects can be provided and AR technology can help to listen to related rhymes, poems stories etc. 
  • Traffic Control: Here this technology can help to track various activities on the highways. If there is an accident on highway, this can be communicated to various channels like ambulance, rescue operation team, highway petroling party for their immediate action. Speed limits can be checked by pointing the device to that vehicle and can be notified accordingly. Traffic can be diverted to different lanes if there is a work going on one lane or alternate routes can be suggested if there is a lot of traffic on that route. 
  • Farming: Water supply can be controlled based on the current weather, crop & soil etc. Once the crop is ready to reap, a notification can be send to the farm owner. There are immense possibilities that cab be done once the crop is ready to sell i.e. notify to the nearest buyer, transport agency etc. 
  • Medical: Doctors can access the data as soon as the patients come to the doctor. AR application can track the basic information from social networking sites also to check their social behavior, personal record etc. Medical equipments can be connected to the intelligent sites/central repositories to provide the latest and updated information about the decease and its latest diagnose available. 
  • Media & Entertainment: Television can control their colors, volumes etc based upon the surroundings. This can be further enhanced to show programs matching with the viewer’s current mood or surrounding activities. Terminator, Iron-Man and Robo-Cop are examples of some of the movies that uses AR technology to recognize various objects and their information. 
  • Aviation: Pilots can be provided with a lot more data while landing on the destination. Furthermore if the weather is not in favor of flight landing, AR application can help the pilot to land properly and safely. Applications can be designed to notify the air staff if someone is not wearing belt or someone has not switch his/her mobile phone off etc 
Apart from the above, AR has a lot to do with other areas like e-governance, social & daily life etc where things can be improved a lot for a better life. The overall idea of the technology is to provide historical and current artifacts to any object and use this information to take decisions.
How this work:

We take an example where the user has a Smartphone having a Layered Browser, Camera, GPS-GPRS Connection along-with one AR application solution. When the user starts this AR application, the camera gets activated and get the current positional coordinates of the user location via GPS and accelerometer, the application server extract the data from content rich remote servers and web services and present this data using the layered browser over the captured picture to provide the user with the desired information. Argon, OpenMAR, GRATF & Goblin XNA are some of the tools that can be used to design various AR capable solutions for handheld devices.
Here are some good references that can help to explore this topic further: