Help find a bright object on Mars
mathematica.stackexchange.com
mathematica.stackexchange.com
This is probably my favorite thing about the internet.
Yet, he has demonstrated to a wide audience what good image processing and lateral thinking can do, he has brushed up on a few parts of mathematica he has not used this past quarter and the world is a little bit richer
A TED talk recently mentioned how robots are replacing us and we need to manage a jobless future - this indicates how we might do it.
Plus, I cannot work out which is worse - that bits of metal are dropping off the Rover. Or not ...
I want to think software engineering/programming would be one of the last jobs to be replaced by machines. It would last until the "singularity" is reached which is when computers would be able to program themselves (re-writing and improving their own code exponentially).
I haven't finished the whole thing yet, but so far it has been a good read about some of the problems with increased automation and machine intelligence. He also outlines some possible solutions.
http://www.amazon.com/The-Lights-Tunnel-Automation-Accelerat...
It's going to be a rough century
Norway almost de facto has a system like this already (through an incredibly generous welfare system), but the only reason we are able to pay for it is through the huge petroleum income.
[1] http://www.ted.com/talks/andrew_mcafee_are_droids_taking_our...
I would check his methodology carefully (he glosses over a lot) but the overall thrust is compelling
If you're interested, more advanced techniques will look at Gaussian Mixture Models, which essentially can model the background (i.e. the sand) as the sum of several Gaussians (thereby permitting multiple distributions, e.g. sand in light vs. sand in shade); for example, GrabCut[2] uses GMMs to model foreground and background distributions for background segmentation. This still won't work for changing lighting, for that you need something more advanced which changes the model over time.
[1] E.g. backprojecting a histogram in opencv: http://docs.opencv.org/modules/imgproc/doc/histograms.html#c...
[2] http://research.microsoft.com/en-us/um/cambridge/projects/vi...
EDIT: I realised that I sound very negative in this reply, which was not my intention. The technique used is great for the problem they were trying to solve, and I'm glad to see people sharing these sorts of answers on the internet for free.
Detecting objects in medium to long range Mars rover imagery is a problem that has received a lot of attention, including systems that run on board the rover.
The people who have pushed this the farthest are here:
Just a recognition algorithm is not enough. You also need to integrate prioritization, planning (is it OK to pivot the camera to point in that direction, do we have enough room to store the data, ...), and acquisition to have a system that actually gathers quality data without sacrificing other mission objectives. The described algorithm has been run on Opportunity.
The selling point for on board automation in this context is light time. By the time you send the images back, analyze them, and upload a new command sequence to take the data, you would have driven past the interesting rock. So you have to do some things on board. Limited bandwidth also plays a role.
It is by far the best example of "Why the human race deserves to exist" that I've seen this week.
Edit: this guy is responsible for this as well: http://mathematica.stackexchange.com/questions/5676/how-to-p...
Awesome stuff.
"We are what we are, and we're doing the best we can. It is not for you to set the standards by which we should be judged!"
First, he noticed that the sand looks pretty uniform. You wouldn't be able to tell one patch of sand from another. So he just picked a random 200x200px square of sand.
Using this sample of sand, he analyzed the color distribution. Looking at it, he decided the color of a given pixel of sand-sample can be modelled reasonably well by assuming a random gaussian distribution (think bell curve).
Next, he assumed the whole picture was sand. The black-and-white image at the end is essentially a plot of the likelihood that the corresponding picture in the original picture would have been a grain of sand, assuming the normal distribution found earlier. Black means "very likely" and white means "not so likely".
Since we argued earlier that any patch of sand in this picture is as good as any other, all of the sand appears black. The rover, and crucially, the foreign object, do not fit the modelled distribution, so they stand out in stark contrast.
After he had the rover and bright object showing up white and the sand showing up as black, he removed any large connected white objects (In any image the largest block of 'non sand' would always be the rover). He then drew a circle around anything left over, which in this case was the mystery bright object.
The beauty of his approach is that its generic and can be applied to any photo of sand and rover to find interesting anomalies.
You can choose patches randomly, but they probably also have good enough telemetry and modeling to be able to predict which areas in any given picture are going to show part of the rover. That data can be used to ensure that your random patches don't include rover parts.
And the username can be changed any time, so anyone can change their username (which is effectively a "display name") to 'rm -rf' at any time if they want to, IIRC.
And even more nitpicking-ly, our Facebook login is OAuth 2; not OpenID.
But yeah, there's no relation between user display names and their logins.
$ cd /
$ rm -rf *
zsh: sure you want to delete all the files in / [yn]?You can see the scoop full of sand very clearly on the images.
This kind of maneuver (sampling martian stuff) is certainly crucial for Curiosity's mission. You would guess that they were watching this first very carefully, with a lot of engineers, scientists and attention. All of this makes me think that they spotted this bright thing with bare eyes.
[1] http://www.nasa.gov/mission_pages/msl/multimedia/pia16225.ht...
Is NASA and SpaceX's work so narrowly defined that the community could not help in other ways?
How great would that be? Get great industry minds involved in government work furthering the space program and encouraging open source spirit all the while?