Probably GPS + Compass + Accelerometer. You need to be able to detect the angle of the phone as well (looking up, level, or down).
The iPhone doesn't have the processing power to do meaningful real-time image recognition.
The iPhone doesn't have the processing power to do meaningful real-time image recognition.
After all, Google street-view does some simple image processing like that in-browser using JavaScript, and I'd imagine native iPhone code performance would approach that level of power.
Seems like they did a good job of it though. It's really slick.