Combined Image Processing Modules: CAT, Deblurring, and Image Translator
Overview
This repository provides an integrated set of image-processing modules aimed at enhancing image quality and transforming digital sketches into photo-realistic images. The components include the Contour Accentuation Technique (CAT), a Deblurring Module, and an Image Translator Module, implemented using modern deep learning frameworks like TensorFlow and PyTorch.
1. Contour Accentuation Technique (CAT)
Description: CAT enhances the visibility of image contours using blending and gamma correction techniques. It is lightweight, effective, and suitable for applications like sketch generation, medical imaging, and image analysis.
Key Features:
- Blending: Converts the input image to grayscale, applies Gaussian blur, and blends it for edge enhancement.
- Gamma Correction: Adjusts brightness and contrast to improve contour clarity.
- Input/Output: Processes input images to generate contour-accentuated outputs.
Usage:
Install the required libraries: pip install numpy opencv-python
Steps to run the script:
- specify the input_folder that has the faceimages and the output_folder to get the composite sketches
- python cat.py
Adjust gamma in the adjust_gamma() function for brightness/contrast fine-tuning.
2. Deblurring Module
Description: A GAN-based module implemented in TensorFlow, trained specifically to restore blurred facial sketches. The module leverages a deep convolutional generator and a patch-based discriminator.
Key Features:
- Generator: Transforms blurred images into sharp images using a combination of convolutional, residual, and transposed convolutional layers.
- Discriminator: Employs convolutional layers to distinguish real and synthetic sketches.
- Loss Function: Optimized using Wasserstein loss for stability during training.
Usage:
- Install TensorFlow and required dependencies: pip install tensorflow
Steps to Train:
- Prepare Input data: Place the folder of clear sketches in the root directory of this project. Rename it to clear_sketches
- Run the blur code to introduce artificial blur (You can choose any blurring technique ).
- python deblurring.py
Steps for Inference:
- place your Blurred sketches in the folder names blurred_input (.jpg, .png )
- python deblur_inference.py
- Deblurred images are saved in a folder named deblurred_output.
- The filenames will be prefixed with deblurred_.
3. Image Translator Module
Description: Converts sketches into photo-realistic images using a GAN architecture, preserving structure and enhancing realism.
Features
- Generator: Converts input sketches to realistic images using residual blocks.
- Discriminator: Distinguishes between real and generated images using a patch-based structure.
- Dataset: Loads paired sketches and images from folders for training.
- Training Pipeline: Trains the generator and discriminator alternately to improve the quality of generated images.
- Image Generation: Saves generated images from input sketches in a specified output folder.
Usage: Install the following Python libraries:
torchtorchvisionPillow
Steps to execute
- Place input sketches in the sketches folder and place corresponding real images in the images folder for training.
- python sketch_to_image.py
- After training, the script automatically processes the sketches in sketches/ and saves the generated images in the generated_images/ folder.
Thank you...