CDAN icon indicating copy to clipboard operation
CDAN copied to clipboard

CDAN: Convolutional Dense Attention-guided Network for Low-light Image Enhancement

CDAN: Convolutional Dense Attention-guided Network for Low-light Image Enhancement

Hossein Shakibania, Sina Raoufi, and Hassan Khotanlou

paper PWC

Abstract: Low-light images, characterized by inadequate illumination, pose challenges of diminished clarity, muted colors, and reduced details. Low-light image enhancement, an essential task in computer vision, aims to rectify these issues by improving brightness, contrast, and overall perceptual quality, thereby facilitating accurate analysis and interpretation. This paper introduces the Convolutional Dense Attention-guided Network (CDAN), a novel solution for enhancing low-light images. CDAN integrates an autoencoder-based architecture with convolutional and dense blocks, complemented by an attention mechanism and skip connections. This architecture ensures efficient information propagation and feature learning. Furthermore, a dedicated post-processing phase refines color balance and contrast. Our approach demonstrates notable progress compared to state-of-the-art results in low-light image enhancement, showcasing its robustness across a wide range of challenging scenarios. Our model performs remarkably on benchmark datasets, effectively mitigating under-exposure and proficiently restoring textures and colors in diverse low-light scenarios. This achievement underscores CDAN's potential for diverse computer vision tasks, notably enabling robust object detection and recognition in challenging low-light conditions.

Figure 1: The overall structure of the proposed model.

Experimental Results

In this section, we present the experimental results obtained by training our CDAN model using the LOw-Light (LOL) dataset and evaluating its performance on multiple benchmark datasets. The purpose of this evaluation is to assess the robustness of our model across a spectrum of challenging lighting conditions.

Datasets

Dataset No. of Images Paired Characteristics
LOL 500 :white_check_mark: Indoor
ExDark 7363 :x: Extremely Dark, Indoor, Outdoor
DICM 69 :x: Indoor, Outdoor
VV 24 :x: Severely under/overexposed areas

Quantitative Evaluation

Learning method Method Avg. PSNR ↑ Avg. SSIM ↑ Avg. LPIPS ↓
Supervised LLNET 17.959 0.713 0.360
LightenNet 10.301 0.402 0.394
MBLLEN 17.902 0.715 0.247
Retinex-Net 16.774 0.462 0.474
KinD 17.648 0.779 0.175
Kind++ 17.752 0.760 0.198
TBEFN 17.351 0.786 0.210
DSLR 15.050 0.597 0.337
LAU-Net 21.513 0.805 0.273
Semi-supervised DRBN 15.125 0.472 0.316
Unsupervised EnlightenGAN 17.483 0.677 0.322
Zero-shot ExCNet 15.783 0.515 0.373
Zero-DCE 14.861 0.589 0.335
RRDNet 11.392 0.468 0.361
Proposed (CDAN) 20.102 0.816 0.167

Qualitative Evaluation

Figure 2: Visual comparison of state-of-the-art models on ExDark dataset.

Figure 3: Visual comparison of state-of-the-art models on DICM dataset.

Installation

To get started with the CDAN project, follow these steps:

1. Clone the Repository

You can clone the repository using Git. Open your terminal and run the following command:

git clone [email protected]:SinaRaoufi/CDAN.git

2. Configure Environmental Variables

After cloning, navigate to the project directory and locate the .env file. This file contains important hyperparameter values and configurations for the CDAN model. You can customize these variables according to your requirements.

Open the .env file using a text editor of your choice and modify the values as needed:

# Example .env file

# Directory paths
DATASET_DIR_ROOT=/path/to/your/dataset/directory
SAVE_DIR_ROOT=/path/to/your/saving/model/directory
MODEL_NAME=model

# Hyperparameters
INPUT_SIZE=200
BATCH_SIZE=32
EPOCHS=80
LEARNING_RATE=0.001

3. Install Dependencies

You can install project dependencies using pip:

pip install -r requirements.txt

4. Run the Project

You are now ready to run the CDAN project. To start the training, use the following command:

python train.py

To test the trained model, run:

python test.py --datasetPath "path/to/the/dataset" --modelPath "path/to/the/saved/model" --isPaired "True/False"

Requirements

The following hardware and software were used for training the model:

  • GPU: NVIDIA GeForce RTX 3090
  • RAM: 24 GB SSD
  • Operating System: Ubuntu 22.04.2 LTS
  • Python version: 3.9.15
  • PyTorch version: 2.0.1
  • PyTorch CUDA version: 11.7

Citation

@misc{shakibania2023cdan,
      title={CDAN: Convolutional Dense Attention-guided Network for Low-light Image Enhancement}, 
      author={Hossein Shakibania and Sina Raoufi and Hassan Khotanlou},
      year={2023},
      eprint={2308.12902},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}