Inspiration

We wanted to see how a machine can be trained to recognize patterns in seemingly non-sequential work like abstract art.

What it does

Generate abstract art given a kaggle dataset that contains about 3k art pieces

How we built it:

The way we approached this was by creating two models- a generator and discriminator. The generator is a up-sampling convolutional neural network that based on smaller input, creates values that can be used to represent a real image. The discriminator is a convolutional neural network that goes through an image, recognizing the patterns to be able to discern which images are real or not. The discriminator is trained by providing it with real images and random fake ones so evaluate to a value of 1 or 0 for each respectively. However, the generator is trained based on whether or not it can make the discriminator misclassify an image it creates to be real. Both are trained simultaneously, in a scenario where the discriminator has to adapt its parameters if it incorrectly recognizes a generated image as being real and the generator has to do the same if its image can not fool the discriminator.

Challenges we ran into:

Abstract art is too general, we need to run it many times to get decent results

Accomplishments that we're proud of:

Being able to manipulate various variables in the model to create different results

What we learned:

How to generate images using the GAN model and how the model works on a fundamental level.

What's next for GAN-stract Art:

To make our model generates out more detailed art images

Built With

Share this project:

Updates