Geoffrey Emery
Tech Goodness

Microsoft Research Builds Rome in a Day

September 14, 2009 21:41 by Geoffrey Emery

According to MSR

We present a system that can match and reconstruct 3D scenes from extremely large collections of photographs such as those found by searching for a given city (e.g., Rome) on Internet photo sharing sites. Our system uses a collection of novel parallel distributed matching and reconstruction algorithms, designed to maximize parallelism at each stage in the pipeline and minimize serialization bottlenecks. It is designed to scale gracefully with both the size of the problem and the amount of available computation. We have experimented with a variety of alternative algorithms at each stage of the pipeline and report on which ones work best in a parallel computing environment. Our experimental results demonstrate that it is now possible to reconstruct cities consisting of 150K images in less than a day on a cluster with 500 compute cores.

Entering the search term “Rome” on flickr.com returns
more than two million photographs. This collection represents
an increasingly complete photographic record of the
city, capturing every popular site, facade, interior, fountain,
sculpture, painting, cafe, and so forth. Most of these photographs
are captured from hundreds or thousands of viewpoints
and illumination conditions—Trevi Fountain alone
has over 50,000 photographs on Flickr. Exciting progress
has been made on reconstructing individual buildings or
plazas from similar collections [16, 17, 8], showing the potential
of applying structure from motion (SfM) algorithms
on unstructured photo collections of up to a few thousand
photographs. This paper presents the first system capable of
city-scale reconstruction from unstructured photo collections.
We present models that are one to two orders of magnitude
larger than the next largest results reported in the literature.
Furthermore, our system enables the reconstruction of data
sets of 150,000 images in less than a day.

This is really cool. Think about how awesome it would be if everyone geo-tagged there photos this process would be a hundred times easier.

http://research.microsoft.com/apps/pubs/default.aspx?id=101029


Tags: ,
Categories: GeoCoding
Actions: E-mail | Permalink | Comments (3) | Comment RSSRSS comment feed

Geolocation support in Firefox

January 13, 2009 10:32 by gemery

The W3C has created a standard for location sharing called Geolocation. It allows any person to share her location with any website at the click of a button. Imagine the possibilities with this.

Here is a scenario:

You’ve arrived in a new city, a new continent, a new coffee shop. You don’t really know where you are, and are looking for a good place to eat. You pull out your laptop, fire up Firefox, and go to your favorite review site. It automatically deduces your location, and serves up some delicious suggestions a couple blocks away and plots directions there.

Firefox 3.1 will have this build in, but until then we can use a Firefox add-on called Geode. Basically, it uses your Wi-Fi network to find your exact location and then passes it to a JavaScript callback method on your website. Already now, services like Pownce, Fire Eagle and ZYB uses this to improve the user experience of their services.

Here is a screenshot of what it looks like when Geode ask for a location:

image

Getting started using Geode

You should start by downloading the Geode add-on for Firefox and make sure your Wi-Fi is turned on. Then fire up your HTML editor and add this JavaScript to one of your pages:

function geodeAsk()
{
if (navigator.geolocation)
  navigator.geolocation.getCurrentPosition(geoFound, geoNotFound);
}

function geoFound(pos)
{
var lat = pos.latitude;
var lon = pos.longitude;
alert(lat + ', ' + lon);
}

function geoNotFound()
{
alert('You must be on a wifi network for us to determine your location');
}   

// Ask the browser for its location
geodeAsk();

Open the page in Firefox. Geode will now ask you if you want to share your location with the page. It’s that simple. Geode then sends the latitude and longitude to the JavaScript callback method and you can now do whatever you want with it. If you want to retrieve the address based on the location, then you need to do a simple reverse GEO lookup.

Technorati Tags:

Tags:
Categories: GeoCoding
Actions: E-mail | Permalink | Comments (2) | Comment RSSRSS comment feed