Procedural Image Generation

Genetic Algorithms, OpenCV, Python


Using Genetic Algorithms and generating random transparent, colored polygons, to try to match a source image.


For my artificial intelligence practicum, my partner, Akhila, and I decided to apply Genetic Algorithms to problems previously solved with Hill-Stepping, and see if we could improve performance.


We had seen projects online of people randomly generating polygons to a set of polygons, drawing them, seeing if the new set matched a source image better than the old one, if so keeping it, else throwing it away. This was basic Hill-Stepping, and we wanted to see if Genetic Algorithms could result in increased performance.


To do this, we wrote our own program in python, with both Hill-Stepping and Genetic Algorithms, and compared their performance. Our findings and what we learned can be summarized in the official report found here.