Asterank Discover, crowdsourced asteroid discovery, reviews its 100,000th image

In late October, someone reviewed the 100,000th image on Asterank Discover, the crowdsourced asteroid discovery app. This is a significant milestone and I want to give a huge thanks to the thousands of people who've contributed.

Why this matters

Sky surveys have been collecting images of the night sky for decades in order to search for dangerous asteroids, but the resulting data is largely underscrutinized. Most images have been gathering dust for years, forgotten in archives after being scanned by computers once but never reviewed by human eyes.

Chelyabinsk, Russia, February 15, 2013

I've discussed in the past why human reviewal is an important part of this process. Our asteroid-hunting algorithms are outdated, and all results must be reviewed by humans anyway due to the prevalence of false positive. There's also a big false negative problem - I've heard some astronomers estimate that algorithms miss over 50% of asteroids in the imagery they're searching. A crowdsourced dataset will ultimately lead to better computer detection with fewer false positives.


My approach in Asterank Discover was straightforward, with the intention of saving harder computation for later. Display a few control images, then display unknowns and images that we don't have enough data on. User history is recorded so we can decide how much we can trust the ability of individuals to actually spot asteroids.

Next step: an analysis on hundreds of potential asteroids found to compute and check their orbital solutions.

Also, everything in Asterank Discover is open source.

Partnership with Planetary Resources and NASA

Now that we have a successful prototype, Asterank Discover is folding into a larger project called Asteroid Zoo, which belongs to Planetary Resources (PR acquired Asterank in May 2013).

Last week, we announced an agreement with NASA and Zooniverse to crowdsource reviewal of high-quality images from the Catalina Sky Survey.

"Asteroid Zoo" will be a much smarter and more engaging app that uses the proven methodology of Zooniverse (they did Galaxy Zoo, Ice Hunters, and other successful crowdsourcing projects). Asterank Discover was great validation for this approach, and sets us up nicely with some preliminary data to test.

A typical sky survey image.

I'm very excited to see where this will lead. This approach will discover new asteroids and improve our model of the solar system. It also opens opportunities for interesting algorithmic challenges, and the chance for a normal person to discover an asteroid.

As a programmer, I'm particularly interested in how we'll improve algorithms to spot asteroids. I am sure that there are conventional ML techniques and even simpler image processing approaches that are not being sufficiently exploited.


How a programmer can discover an asteroid

I'm a computer scientist. I have incredible opportunities to work on fun and interesting problems.

For some reason, that wasn't always enough. I've never felt like I had the math, physics, and embedded hardware background to pursue space, one of my biggest interests since I was a kid. And like any recent grad, I've been soul-searching for what I want to do in the long term.

A year ago, I set aside my doubts and started to innovate in the space industry as a complete outsider. This post details one of these projects that was reasonably successful.

Space algorithms

Asteroid detection is a significant challenge for scientists and astronomers. Thanks to Russian dashcams, we all remember the Chelyabinsk meteor in February 2013 -- space rocks can still take us by surprise and cause significant damage.

Every night, large telescopes search the night sky for objects like the Chelyabinsk meteor, taking pictures that are reviewed by computer programs looking for moving dots in the night sky. If an image seems interesting, it is queued for review by a human operator.

Small rocks like the one that exploded over Russia are much harder to find via the automated methods used in today's sky surveys. In fact, it's estimated there are millions of undiscovered small asteroids, some of which are hidden in imagery collected over the past few decades.

A human touch

Astronomers I've spoken with tend to agree that automated approaches can miss small, dangerous asteroids. The varying quality of imagery and the prevalence of false positive streaks, smudges, hot pixels, etc. encourage conservative evaluation. My own impression is that there is not much in the way of modern, open source asteroid identification. There's also not enough public data for a machine learning approach.

My prototype solution to this problem is a web app called Asterank Discover, which aggregates upwards of half a million images of the night sky and presents them in an intelligent manner for crowdsourced review.

Users are shown short animations of the night sky that make it easy to spot asteroids and are asked to mark items of interest and flag poor quality images. The app occasionally serves control images to get a sense of whose responses are trustworthy.

As an incentive, the first user to spot an undiscovered asteroid will get naming rights (within constraints of IAU naming guidelines).

The end result? In about 2 months, over 35,000 images have been reviewed, with hundreds of potential asteroids marked. Not a small a feat for a modest science project by some software engineer.

The browser is underutilized

I've always been pessimistic about my ability to contribute to space from a pure computer science perspective, but this project was well within reach. Its success is a testament to creative thought toward applying simple web technologies to new areas.

It's no surprise that technology in non-tech sectors tends to lag significantly. This is a HUGE advantage for engineers looking for side projects (or startup ideas). For example, my work on space has made use of canvas (via the KineticJS library), webgl (via three.js), web workers, and other newer web technologies.

Software engineers, therefore, are in a unique position. Unfortunately, most still think of browsers no differently from how they did in 2005. They're unaware that taking advantage of new browser standards and other emerging tech can significantly transform outside industries.

Here are some newer browser standards I've experimented with over the course of the entire Asterank project (Asterank was about 1 year old when it was acquired by Planetary Resources last May):

SVG and Canvas

These are well known in the tech industry, but probably underused elsewhere. There are huge data visualizations opportunities out there, which Asterank capitalized on.

Web Workers

Javascript isn't just a way to manipulate the DOM in a single thread. You can do meaningful work off the main UI thread with the web workers API, which is supported by most modern browsers. Traditional approaches limit the performance of many web apps.


I've already written a bit about this, but WebGL is a great way to make stunning, performant visualizations that harness the power of graphics hardware. This unlocks a whole realm of possibility. Related technologies like WebCL, once widely adopted, will make it even easier to use the GPU on the web.


The standard is still under development, but WebRTC APIs are already available in two major browsers. WebRTC will unlock an entirely new class of web apps that will change video, file transfer, etc. significantly.

There's more...

I haven't mentioned web sockets, localstorage, and so on. HTML5 Rocks is a great resource for this stuff.

Eat faster

Marc Andreessen says software is eating the world, but its spread beyond Silicon Valley can be slow. Engineers should actively seek to take advantage of newer technologies that haven't percolated beyond the tech world yet. As an engineer with no funding and a hobby interest, you can innovate in deep-rooted industries. I encourage people to think about how new web technologies can solve old problems.

And by the way, Asterank and Asterank Discover are open source.

An asteroid in sky survey imagery on Asterank Discover.