low light image enhancement
keras-ioIntroduction
The Zero-DCE (Zero-Reference Deep Curve Estimation) model is designed for low-light image enhancement by estimating image-specific tonal curves using a deep neural network. This approach allows for dynamic range adjustment without requiring reference images, making it versatile and efficient for various applications. The model utilizes non-reference loss functions to guide its training, ensuring high-quality enhancement results.
Architecture
Zero-DCE employs a lightweight network named DCE-Net to predict high-order tonal curves that adjust the dynamic range of input images on a pixel-wise basis. The method is inspired by tonal adjustments in photo editing software, such as Adobe Photoshop, where users manipulate curves to balance image exposure and contrast. This approach ensures the enhanced image remains within the original dynamic range and maintains local contrast.
Training
The training process does not require paired input/output images, relying instead on non-reference loss functions that implicitly gauge enhancement quality. These functions guide the network in learning to produce effective tonal curves for low-light conditions. The model is trained on the LOL (Low-Light) Dataset, which provides a variety of low-light images for effective learning.
Guide: Running Locally
-
Setup Environment: Ensure you have Python and TensorFlow installed. Create a virtual environment and install necessary packages using
pip
. -
Download Dataset: Obtain the LOL Dataset from the provided link for training and testing purposes.
-
Train Model: Use the dataset to train the DCE-Net model. Implement the training script using TensorFlow and follow standard practices for optimizing deep learning models.
-
Inference: Run inference on new low-light images to enhance them using the trained model.
-
Cloud GPUs: For efficient training and inference, consider using cloud GPU services such as AWS EC2, Google Cloud Platform, or Microsoft Azure.
License
The Zero-DCE model is released under the Apache-2.0 License, allowing for both personal and commercial use, modification, and distribution under the terms of the license.