Skip to content

This project demonstrates a deep learning approach to enhance low-quality or degraded images using a neural network architecture.

Notifications You must be signed in to change notification settings

JayanthSrinivas06/Image-Enhancing-Using-Deep-Learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Image Enhancement Using Deep Learning

This project demonstrates a deep learning approach to enhance low-quality or degraded images using a neural network architecture. The aim is to learn a mapping from low-resolution or noisy images to high-quality images through supervised learning.

Features

  • Preprocessing and loading of image datasets
  • Data augmentation to improve model generalization
  • Custom convolutional neural network (CNN) for image enhancement
  • Training loop with loss tracking and visualization
  • Model evaluation and image output comparison
  • Save and load trained models

Technologies Used

  • Python
  • TensorFlow / Keras
  • OpenCV
  • NumPy
  • Matplotlib
  • Jupyter Notebook

Dataset

This model expects pairs of low-quality and high-quality images. Ensure your dataset is organized in two folders:

dataset/
├── low_res/
│   ├── image1.jpg
│   └── ...
└── high_res/
    ├── image1.jpg
    └── ...

These image pairs must correspond to each other in naming and alignment for supervised learning.

Getting Started

Prerequisites

Install the required dependencies:

pip install tensorflow opencv-python matplotlib numpy

Training the Model

  1. Clone this repository and navigate to the project directory.
  2. Place your dataset in the appropriate folder structure.
  3. Open image.ipynb and run all cells sequentially.
  4. The model will be trained and evaluated automatically.

Output

  • Enhanced images are displayed side-by-side with their original counterparts for visual comparison.
  • Trained models are saved in .h5 format and can be reused for inference.

Model Architecture

The model is a convolutional neural network (CNN) optimized for image-to-image translation tasks. It includes:

  • Multiple Conv2D layers
  • Activation functions (e.g., ReLU)
  • Downsampling and upsampling
  • Loss function: Mean Squared Error (MSE)

Evaluation

The model is evaluated qualitatively by visualizing the enhanced image against the original and low-quality versions. Future improvements may include using PSNR or SSIM as quantitative metrics.

Improvements and Future Work

  • Implement PSNR and SSIM metrics for more objective evaluations.
  • Introduce GAN-based architecture for perceptually better results.
  • Use larger datasets and batch training for higher quality output.
  • Deploy the model via a web application or API.

Contact

Please feel free to contact me through,

Email : jayanthsrinivas.b@gmail.com

About

This project demonstrates a deep learning approach to enhance low-quality or degraded images using a neural network architecture.

Topics

Resources

Stars

Watchers

Forks