I've talked about street level mapping before. In fact, it's the main motivation of my thesis topic, since I think that there is much potential in using panoramic images like those found in Google's Street View to narrow down the camera position of someone taking photos in real time, thus allowing for interesting augmentations of those photos. Well, I came across a project some time ago that I've been meaning to share, and this project seems to have, more or less, the same idea.
Enkin was an entry to Google's Android competition, and though it didn't win, it does offer a halfway-there solution to the dream of realtime street level mapping. As described in the documentation, "the fundamental principle of Enkin is to display location-based information in a way that bridges the gap between reality and classic map-like representations." It is built for a mobile device that makes use of Google's Android SDK. A video shows the software in action on the main Enkin webpage.
Enkin has several modes, including a standard map visualization of the area the device is physically located in. Alternatively, a user can switch to a satellite mode that provides a skewed three-dimensional view of satellite data, oriented in such a way that it lines up with the direction the device running Enkin is facing. The user can have special tags augmented onto the satellite image that point to significant geographical locations (a friend's house, the hospital, a favourite restaurant, etc). These tags are visually placed with a downward arrow pointing to the actual location of these landmarks.
More significant is the "live mode" as it allows the tags to be augmented onto live video feed. These tags indicate how far in meters a nearby landmark actually is. This is nice, given that you can start to mentally eliminate the divide between the real world and the digital representation of it.
But this is also where I see the possibility of improvement. If the scene geometry between an image taken of the real world and a set of panoramas stored on a central server can be found, then a more accurate and useful augmentation might be possible. For example, buildings could be highlighted, or roads could be identified as they are in Street View. Even if these entities are not visible, knowing exactly where they lie could be helpful. Because more computational time would be required to accomplish this, augmenting live video is probably not feasible today. But combining these more detailed photos with the Enkin's video augmentation could enhance the user's experience and make navigation that much easier.