(auto): Roger Alsing has made a fascinating image hack: reproduce an image with randomly-placed translucent polygons: Genetic Programming: Evolution of Mona Lisa. At each step, a random polygon is placed on the image, and a simple image comparison function determines whether a new proposed polygon makes it look more or less like the goal image.

Genetic image evolution

Saturday 13 December 2008This is over 16 years old. Be careful.

Roger Alsing has made a fascinating image hack: reproduce an image with randomly-placed translucent polygons: Genetic Programming: Evolution of Mona Lisa. At each step, a random polygon is placed on the image, and a simple image comparison function determines whether a new proposed polygon makes it look more or less like the goal image. It’s not fast, but the results are kind of startling. A photo of me and a friend:

Matt and Ned

And a polygonal reproduction with 108 polygons:

Matt and Ned evolved with polygons

This reminds me a little of the CSS Homer, recreating an image by amassing unlikely components in just the right way. BTW: the comments on Roger’s post contain a number of AI nerds debating whether this is truly genetic programming, and if so what kind, or if it is simply a hill-climbing algorithm. In any case, it’s very cool.

Comments

[gravatar]
Any chance you could make your code available? (I'm assuming you wrote a little Python script for this...)
[gravatar]
@André: I don't know what I can do to make it clearer: I didn't write this at all, Roger Alsing did. There's a link to his blog post in the first sentence..
[gravatar]
cool find

ps. i think you meant 'genetic' programming, instead of generic
[gravatar]
Oops, sorry. I had seen the post by Roger Alsing some time last week and I assumed that you had written a program reproducing this idea. My mistake - sorry :-(
[gravatar]
It would be very interesting to produce a variation of this technique that works with randomly-placed translucent font characters, mixing Roger Alsing's idea with that of Román Cortés' Homer technique.

Anybody have enough time on their hands to try it?
[gravatar]
How do non-human images look? People see faces everywhere so not very close is often close enough. For instance if I only saw the final image I'd guess you were sitting in a diner in front of a mirror. Or maybe on the Red Line at a station.
[gravatar]
I'm surprised nobody tried yet to reproduce that in Python. I'm looking right now at the source code of the project. The core features seem to be simple. There is a lot of GUI stuff and config files that could be avoided.

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.