views:

552

answers:

7

I'm currently an undergrad in computer science and I'll be entering my final year next year. Augmented reality is something I find to be a really interesting topic, but I have no idea where to start learning about it.

Where do you start learning about this topic and what libraries are available?

+1  A: 

The Pragmatic Programmer AR book is pretty good, lots of code samples and exercises that get you involved, instead of just reading about it. It is a little dated, but it should be a pretty good starting point.

swanson
Seems to not be for sale anymore :(
Terri
+3  A: 

If you're comfortable with Objective-C, downloading and playing with ARKit would be great place to start. It's based on magnetometer/accelerometer readings rather than pattern recognition.

If pattern recognition is what you're interested in, then start with artoolkit instead. But that library is a bit more intense, naturally.

Tom
Definitely an interesting place, but a bit specific to iphone/itouch development, no? I don't own either of those, unfortunately, but this would be sweet if i did.
Terri
If you're working with a desktop computer and webcam, then artoolkit is your best choice. I just noticed there's a dead simple artoolkit wrapper for Processing (a very pared-down Java environment). Check it: http://www.bryanchung.net/?page_id=415
Tom
A: 

augmented reality is combination of 2 skills: ability to code on smartphones + using all the input sources that the handset can provide to provide interesting applications. Computer vision is a major aspect, since the camera can be used in very many interesting ways. But you must know that knowing any one aspect of it is not good enough. for example if you use comp vis, alone to detect where you are based on the camera input of a shopping mall store it is not going to be easy at all. but if you couple up your gps location etc, the problem reduces to a very managable level. So the important thing is being able to couple ideas from different aspects and knowing a little bit about both aspects. Take a smartphone programming class and a computer vision class. that should get you started.

Egon
+2  A: 

Being a quite popular buzz word, augmented reality can be build with some distinct algorithms which can be learnt separately. Usually it covers:

  • planar object detection (can be a marker or previously trained object). SURF/SIFT/FAST descriptors, RANSAC for homography matrix calculation
  • store trained objects in DB (KD-trees)
  • camera position estimation
  • augmenting 3D model with custom objects (OpenGL)

To dive into this subject I would recommend this steps:

leopoldkot
+1 for a theoretical background. Nice nickname, btw. =)
overrider
A: 

Ben Newhouse, the man behind Yelp's augmented reality Monocle feature, gave a talk at Stanford about the process he went through when making it. It is available for free on iTunes U, at this location: http://deimos3.apple.com/WebObjects/Core.woa/Feed/itunes.stanford.edu.3124430053.03124430055

(The link won't work in Chrome, but it does in Safari. If it doesn't work, just search "Yelp Monocle" in iTune's search box, and download the iTunes U lecture.)

The lecture is about programming for the iPhone, but most of it is translatable to other areas. It is packed with valuable information, and has proved extremely useful for me in seeing all the components of what i want to make.

Nick H
A: 

I have spent a bit of time looking for AR code for the iPhone. If you want to do AR and locations then download this project

http://github.com/adascent/iPhone-AR-Toolkit

It based on ARKit mentioned above but improved and actually compiles. The orginal AR kit does not support device rotation. Someone else added it but there actual code never worked and so a 3rd person took it and fixed it.

I am currently added more features to this code.

Burf2000
A: 

If you're an undergrad, you start by asking faculty about it (or grad students, if you're in a place with them). Even if they don't know much about it, they'll know where to find out.

David Thornley