Skip to content

In this project, image taken in low lighting conditions, night time, or without much ambient light are converted into and enhanced image as if the image was taken with good lighting condition. Generative Adversarial Networks (GANs) is used to generate the enhanced image from scratch.

License

Notifications You must be signed in to change notification settings

DarylFernandes99/Low-light-Image-Enhancement-using-GAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Low-Light-Image-Enhancement-using-GAN

In this project, image taken in low lighting conditions, night time, or without much ambient light are converted into an enhanced image as if the image was taken under better lighting condition. Generative Adversarial Networks (GANs) is used to generate the enhanced image from scratch.

Datasets Used:

LOw Light Paired (LOL) Dataset (Link)
Synthetic Image Pairs from Raw Images (Link)
Sony (Link) and Fuji (Link) low-light Images
Single Image Contrast Enhancement (SICE) - Part1: Link | Part2: Link
Custom Dataset created by adding noise to Google Scraped Images Dataset (Link)

Link to Published Paper:

https://www.irjet.net/archives/V8/i6/IRJET-V8I6136.pdf

System Configuration

  • GPU: Nvidia Tesla T4 16GB / Nvidia Tesla P100 16GB
  • RAM: 12GB

Softwares used for this project

  1. Python 3.7
  2. Tensorflow 2.4.1

Steps to run the project

  1. Convert images from png/jpeg/jpg to npz format (png2npz.py)

    • Change the path variable to desired path
    • Execute the code
    • Upload the npz file on drive for training model on colab
  2. Train model on Colab (Low-Light Image Enhancemnet using GAN.ipynb)

    • Save the converted dataset on drive
    • Change the drive path to the path of dataset in drive
    • Change the path to load dataset from colab in "Loading Dataset" cell
    • Change the path for saving model under "Creating Model Driectory" cell
    • Change the "batch" variable passed to train function (default batch size is 12)
    • Execute all the cells in order, the model is summarized at regular intervals
  3. Testing our model (main.py)

    • Add path of model and input image in variables model_path and image_path respectively
    • Execute the main.py file
    • The ouput will be stored as "output.png" in the current working directory

GAN Architecture used

  • Generator

    • Encoder
    • CNN layers
    • Decoder
    • CNN layers
  • Discriminator

  • CNN layers

About

In this project, image taken in low lighting conditions, night time, or without much ambient light are converted into and enhanced image as if the image was taken with good lighting condition. Generative Adversarial Networks (GANs) is used to generate the enhanced image from scratch.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published