This project leverages a Super-Resolution Generative Adversarial Network (SRGAN) to enhance image quality, built upon innovative research. Through our web platform, users can upscale images with ease, powered by our Flask-driven interface and back-end services.
The foundation of our SRGAN model is a respected research paper that provided a novel approach to super-resolution.
We employed the "mirflickr" dataset for training, starting with 12,500 images and later incorporating an additional 12,500 images for comprehensive learning.
Training was executed over 9 epochs across 3 days initially, followed by a secondary phase using the expanded dataset, resulting in improved performance and a higher PSNR value.
The extended training with the enriched dataset culminated in a PSNR of 29.35, a testament to the model's enhanced super-resolution capabilities. Here is the notebook repository.
We chose Flask to serve our web application due to its simplicity and efficiency. Flask's ability to handle multiple requests at scale makes it an ideal choice for hosting both the front-end and back-end components of our platform.
Flask also powers our RESTful API, which is responsible for handling the image uploads and processing API calls. This API interacts with our SRGAN model hosted on Google Cloud Platform (GCP) to perform the super-resolution tasks.
Users can upload images through the web interface, which are then sent to the Flask API. The API efficiently manages these requests, forwarding the images to the SRGAN model for upscaling and then returning the high-resolution images to the users.
Our model is hosted on GCP, taking advantage of its robust and scalable compute resources to ensure reliable model inference.
Here is the homepage where users start their image upscaling journey.
The results page displays the original versus the super-resolved images, clearly demonstrating the model's capabilities.
We are continually seeking to refine and improve our model. Plans for further training and optimization are in the pipeline to enhance the quality of results even further. The Model is still young and needs a lot of polishing.
Its pretty simple upload an image with size presumably of 64 x 64 pixels and the model will enchance the image and scale it to 256 x 256 pixels.
We welcome contributions from the community. Whether it's feature enhancements, bug fixes, or improvements to the code, we value your input.
This project is made available under the MIT License.