Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/atharva309/bobross_painting_generator

Using GAN to generate paintings
https://github.com/atharva309/bobross_painting_generator

generative-adversarial-network image-to-image-translation

Last synced: 21 days ago
JSON representation

Using GAN to generate paintings

Awesome Lists containing this project

README

        

# Bob Ross Painting Generator using GAN (Generative Adversarial Networks)

This project leverages Generative Adversarial Networks (GANs) to create a generator that produces Bob Ross-style landscape paintings. Using the Pix2Pix image-to-image translation framework, the model is trained to transform segmented images into completed paintings in the distinct Bob Ross style.

## Project Overview

### What is a GAN?

A GAN is a deep learning architecture composed of two main components:

1. **Generator**: This network generates new data instances that resemble the training data. In this project, it tries to produce Bob Ross-style images.

2. **Discriminator**: This network evaluates the generated data against real data, distinguishing between genuine and fake instances. It’s essentially a binary classifier that helps improve the generator’s output by penalizing unrealistic generations.

The two networks are trained in a competitive (adversarial) process. The generator seeks to create data that the discriminator can’t distinguish from real data, while the discriminator learns to become better at telling the difference. This adversarial process drives both networks to improve iteratively.

### Image-to-Image Translation with Pix2Pix

Pix2Pix is a type of conditional GAN (cGAN) that learns a mapping from input images to output images, enabling tasks like style transfer, colorization, and super-resolution. In our case, we apply Pix2Pix to convert segmented Bob Ross paintings into fully colored and detailed outputs.

- **Input Domain**: Segmented images of Bob Ross paintings, where the image is divided into distinct regions representing objects like trees, mountains, and skies.

- **Output Domain**: Complete paintings resembling Bob Ross’s characteristic style, with lush forests, tranquil lakes, and vibrant skies.

The generator learns to map the segmentation masks to the target paintings while maintaining the structural details provided by the segmentation. The discriminator assesses whether the generated paintings are plausible within the context of the training dataset.

## Dataset

The dataset used for this project is the **[Segmented Bob Ross Paintings](https://www.kaggle.com/datasets/residentmario/segmented-bob-ross-images)** from Kaggle. It contains a rich collection of segmented images alongside their corresponding full-color paintings, making it ideal for image-to-image translation tasks.

## Example Outputs

Below are some examples of paintings generated using the trained model (available in the `GAN.ipynb` file):





## Conclusion

This project showcases the power of GANs, particularly in the realm of artistic style transfer. The combination of a well-structured dataset and the Pix2Pix architecture allows for the generation of visually compelling images that capture the essence of Bob Ross’s painting style.