Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/atharva309/bobross_painting_generator
- Owner: Atharva309
- Created: 2023-06-01T08:15:42.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-16T21:26:32.000Z (5 months ago)
- Last Synced: 2024-08-16T22:29:11.238Z (5 months ago)
- Topics: generative-adversarial-network, image-to-image-translation
- Language: Jupyter Notebook
- Homepage:
- Size: 11.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.