### Mona Lisa video

Here is a small video demonstrating the polygons evolution:

(better results should be doable with more time and/or more parameters tweakings)

For this example, I used 50 polygons of at most 16 points, starting with 10 polygons.

skip to main |
skip to sidebar
## Thursday, December 11, 2008

###
Mona Lisa video

(better results should be doable with more time and/or more parameters tweakings)

For this example, I used 50 polygons of at most 16 points, starting with 10 polygons.
## Wednesday, December 10, 2008

###
Genetic Algorithms and Mona Lisa

The screenshot shows a rendering of the Mona Lisa using 50 polygons (16 points each), after 40818 total iterations, with 4577 elected states; the middle image is the original (i.e. the target) and the right image the difference between the current polygon-based image and the target (i.e. a representation of the fitness function).

Underneath was an earlier attempt using ovals instead of polygons.

Now, to be more exact, Roger Alsing's algo is more a hill climber algorithm or possibly a simulated annealing algorithm than a good example of a genetic algorithm; it should be interesting to actually implement a proper genetic algorithm approach (i.e. a population > 1) and see how the convergence rate compares... combining polygons and ovals might also result into interesting things.
## Tags

## Links

## About Me

programming stuff, free software and gnustep things.

Here is a small video demonstrating the polygons evolution:

(better results should be doable with more time and/or more parameters tweakings)

For this example, I used 50 polygons of at most 16 points, starting with 10 polygons.

Publié par Nicolas à Thursday, December 11, 2008 0 commentaires

Genetic Algorithms try to apply evolution mechanisms to find solutions to hard problems (typically, where no "proper" solution is known and where the search area is large).

Roger Alsing posted a couple of days ago an extremely cool article showing the convergence of 50 polygons to represent the Mona Lisa, using a random approach.

That was too cool to not try to implement it :)

The screenshot shows a rendering of the Mona Lisa using 50 polygons (16 points each), after 40818 total iterations, with 4577 elected states; the middle image is the original (i.e. the target) and the right image the difference between the current polygon-based image and the target (i.e. a representation of the fitness function).

Underneath was an earlier attempt using ovals instead of polygons.

Now, to be more exact, Roger Alsing's algo is more a hill climber algorithm or possibly a simulated annealing algorithm than a good example of a genetic algorithm; it should be interesting to actually implement a proper genetic algorithm approach (i.e. a population > 1) and see how the convergence rate compares... combining polygons and ovals might also result into interesting things.

Publié par Nicolas à Wednesday, December 10, 2008 1 commentaires

Libellés : cocoa, cool, geek, hack, objective-c, programming

Subscribe to:
Posts (Atom)

- gnustep (37)
- programming (22)
- screenshots (21)
- cool (20)
- étoilé (20)
- geek (19)
- hack (19)
- steptalk (13)
- talk (9)
- gorm (7)
- phd thesis (7)
- cocoa (6)
- demo (6)
- google (6)
- rant (6)
- smalltalk (6)
- dynabook (4)
- objective-c (4)
- photo (4)
- newton (3)
- ukuug (3)
- iliad iRex (2)
- london (2)
- music (2)
- nokia 770 (2)
- summer of code (2)
- NeXT (1)
- copyleft (1)
- fosdem (1)
- video (1)

- Etoile News
- GNUstep news !
- Jesse Ross
- Joel on Software
- Martin Fowler's Bliki
- Uli's website
- Playing Tenuki (cdlm)
- Graham Lee's blog
- Heron's Perch (bheron)
- Just Thoughts (Stefan Urbanek)
- The Art is Long (grey gandalf)
- Lambda the ultimate
- StepTalk blog
- Günther Noacks blog
- Think Blog (stefankst)
- Andrew Ruder's Project Page