Take a break this holiday season and paint with satellite images of the Earth through a new experiment called Land Lines. The project lets you explore Google Earth images in unexpected ways through gesture. Earth provides the palette; your fingers, the paintbrush.
There are two ways to explore–drag or draw. "Draw" to find satellite images that
match your every line. "Drag" to create an infinite line of connected rivers,
highways and coastlines. Here's a quick demo:

Everything runs in real time in your phone's web browser without any servers.
The responsiveness of the project is a result of using machine learning,
data optimization, and vantage-point trees to analyze the images and store that data.

We preprocessed the images using a combination of Open
CV's Structured Forests machine learning based edge detection and ImageJ's Ridge Detection library. This culled the initial
dataset of over fifty thousand high res images down to just a few thousand
selected for their presence of lines, as shown in the example below. What
ordinarily would take days was completed in just a few hours.

Example output from the line detection processing. The dominant line is
highlighted in red while secondary lines are highlighted in green.

In the drawing exploration, we stored the resulting data in a vantage-point tree. This enabled
us to efficiently run gesture matching against all the images and have results
appear in milliseconds.

An early example of gesture matching using vantage point trees, where the
drawn input is on the right and the closest results on the left.

Another example of user gesture analysis, where the drawn input is on the
right and the closest results on the left.

Built in collaboration with Zach Lieberman, Land Lines is an experiment
in big visual data that explores themes of connection. We tried several machine
learning libraries in our development process. The learnings from that
experience can be found in the case study, while the project
code is available open-source on Git Hub. Start with a line at g.co/landlines.