Home

Awesome

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

Hossein Shakibania, Sina Raoufi, and Hassan Khotanlou

paper

<p align="justify"> <strong>Abstract:</strong> 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. </p> <p class="row" float="left" align="middle"> <img style="width: 100%; height: auto;" src="assets/cdan_model.jpeg"/> </p> <p align="center"><b>Figure 1:</b> The overall structure of the proposed model.</p>

Experimental Results

<p align="justify"> 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. </p>

Datasets

DatasetNo. of ImagesPairedCharacteristics
LOL500:white_check_mark:Indoor
ExDark7363:x:Extremely Dark, Indoor, Outdoor
DICM69:x:Indoor, Outdoor
VV24:x:Severely under/overexposed areas

Quantitative Evaluation

Learning methodMethodAvg. PSNR ↑Avg. SSIM ↑Avg. LPIPS ↓
SupervisedLLNET17.9590.7130.360
LightenNet10.3010.4020.394
MBLLEN17.9020.7150.247
Retinex-Net16.7740.4620.474
KinD17.6480.7790.175
Kind++17.7520.7600.198
TBEFN17.3510.7860.210
DSLR15.0500.5970.337
LAU-Net21.5130.8050.273
Semi-supervisedDRBN15.1250.4720.316
UnsupervisedEnlightenGAN17.4830.6770.322
Zero-shotExCNet15.7830.5150.373
Zero-DCE14.8610.5890.335
RRDNet11.3920.4680.361
Proposed (CDAN)20.1020.8160.167

Qualitative Evaluation

<p class="row" float="left" align="middle"> <img style="width: 100%; height: auto;" src="assets/exdark.jpeg"/> </p> <p align="center"><b>Figure 2:</b> Visual comparison of state-of-the-art models on ExDark dataset.</p> <p class="row" float="left" align="middle"> <img style="width: 100%; height: auto;" src="assets/dicm.jpeg"/> </p> <p align="center"><b>Figure 3:</b> Visual comparison of state-of-the-art models on DICM dataset.</p>

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 git@github.com:SinaRaoufi/CDAN.git

2. Configure Environmental Variables

<p align="justify"> 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. </p>

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:

Citation

@article{SHAKIBANIA2025104802,
  title = {CDAN: Convolutional dense attention-guided network for low-light image enhancement},
  journal = {Digital Signal Processing},
  volume = {156},
  pages = {104802},
  year = {2025},
  issn = {1051-2004},
  doi = {https://doi.org/10.1016/j.dsp.2024.104802},
  url = {https://www.sciencedirect.com/science/article/pii/S1051200424004275},
  author = {Hossein Shakibania and Sina Raoufi and Hassan Khotanlou},
}