GucciGAN: Using Machine Learning to Generate Shoe Designs

computer vision / deep learning / generative media

How can AI help us create new shoe designs?

Inspired by sneakers popularized in recent high-end fashion, sports wear, and street wear, this project explores how GANs (Generative Adversarial Networks) can be used to generate new creative sneakers designs. Some of the most well known sneakers on the market currently, such as the Balenciaga Triple S, have pioneered a new wave of street-wear fashion known as the “ugly sneaker”.

With their unorthodox, oversized soles, eye-catching color palettes, and eccentric hardware details, this domain of high-end fashion sneakers are a great choice for experimentation because of their relatively standardized base shape but endless creative possibilities. By applying GANs to creative sneaker design, we hope that can further the research and interest in computer generated high-fashion to better understand its limitations, strengths, and potential.

COLLABORATORS: Andy Wang, Amy Liu

MY CONTRIBUTIONS: Project Vision, Research, Data Collection, Data Cleaning, Data Augmentation, Machine Learning Engineering

TOOLS: Python, Tensorflow, Adobe Photoshop

 

Collecting Data

First, I made an original dataset of 500 images of streetwear sneakers, sourced from online shopping websites like Gucci, Balenciaga, and Fendi, Puma, and Adidas, and processed them to be centered and facing right on a white background. Each image was resized to be 1000 x 1000 pixels. Below are some examples of the shoes in the dataset. If you’re interested in getting access to this curated dataset for non-commericial uses, feel free to send me an email!

Below are some example shoes from this dataset. This dataset was curated to focus on the most eccentric , colorful, and oddly shaped sneakers available on the market.

 

Augmenting the Image Dataset

Next, I experimented with Photoshop batch editing feature to exponentially expand the dataset to 8k images after four rounds of augmentation. With each edit, I were able to double the size of the dataset. I did 16 rounds of edits in total, limited by time and storage constraints. Edits included: changing the hue, saturation, contrast, vibrance, and lightness of the images, as well as using the transform and distort tools to change the shape of the shoe.

I decided to use Photoshop because I would have more control and variety in the types of image warping techniques, compared Python libraries traditionally used for data augmentation. I could visualize exactly what I wanted to do, and see the results in real-time for adjustments.

Below are some sample augmentations from a single shoe image.

Example types of shoes generated from data augmentation


 

Generating the Shoes with ProgressiveGAN

We ran the augmented dataset of 8000 images of streetwear sneakers on ProgressiveGAN with images resized to 512x512 pixels. ProgressiveGAN is able to grow the generator and discriminator in a progressive manner, growing the generated images slowly from 4x4 pixels to higher resolution over time.

Below, you can see how the images are initialized, and become more and more high-res.

 

Final Generated Shoes

Here are some results of the 128x128px generated shoe designs after training the dataset for 30+ hours on a single Titan X GPU.

Had we had more time, we would have trained the GAN longer to create more high resolution results. While we don’t envision AI to fully replace designers any time soon, these designs could potentially serve as an initial point of inspiration.

 

Read More…

Interested in reading about the full project? Below is the full report discussing related works, model metrics, and our user study.