snacks&hacks

Snacks & Hacks – Genetic Algorithms

A view from the sidelines

Last week we held the 4th edition of Snacks&Hacks; the zero-talk, all-code meetup where we get together and explore a data science or engineering topic for couple of hours every other month.

As this is the first Anchormen event since I joined the company earlier this month, I was eager to join. Although I’ve been in the IT industry for a very long time, working as a recruiter, my actual coding knowledge is very rudimentary. I am what you call a “home programmer”. But that didn’t stop me from enjoying the experience to the fullest!

Back to my story. This time, the focus was Genetic Algorithms and Natural Selection. Our team had prepared in advance two challenges for this “hackathon”:

  1. Use genetic algorithms to generate a custom image of simple shapes (moderate level, no hardware requirements)
  2. Use genetic algorithms to generate your face using Nvidia’s StyleGAN for hyper-realistic faces (advanced level, GPU needed)

The main goal was to create a genetic algorithm that approximates a given target image by mixing visual genes in the form of polygons and iteratively select the phenotype that match the target image the most, in order to (hopefully) recreate the original image. OK. That was a mouthful.

Jeroen Vlek, CTO of Anchormen, introduced the subject and assignment, and I had the honor to watch from the side, intrigued by all the different approaches to this problem, and daresay, give some good tips and advice with my let-me-google-that-for-you attitude.

Since there are no tutorials, the polygon aspect was challenging for most of the attendees. It was completely understandable. Some of them took a step back and went for a pixel by pixel/uphill tactic. I, on the other hand, believed the answer lies in making the polygons transparent for better color blending. But what do I know, a mere noob surrounded by professionals. In the end, most managed to create some interesting results. And one even worked on recreating a Bulbasaur Pokemon as well!

Polygons

polygon 2
Bird
polygon 1
Blue cat

 

 

 

 

 

 

Pokemon – Bulbasaur

Original
1st Gen
50th Gen
100th Gen
300th Gen
500th Gen
1000th Gen
1,800th Gen

 

 

 

 

The goal was to have fun, learn new stuff and eat all the pizza. Nearly completed our goal but there was just too much pizza and too little time!

Anyways, hope to see you all again next time, and for the ones that couldn’t make it or are just curious about what we worked on, you can find the assignment here and some possible implementations here and here. Enjoy!

Like this article and want to stay updated of more news and events?
Then sign up for our newsletter!