Official PyTorch implementation of DG-Mamba, a dual-branch encoder–decoder framework designed for low-light and nighttime remote sensing image enhancement.
Low-light and nighttime remote sensing images often suffer from severe underexposure, strong noise, low contrast, and color distortion, which significantly degrade both visual quality and downstream vision tasks (e.g., object detection).
DG-Mamba addresses these challenges through:
- Dual-Branch Encoder–Decoder Architecture (U-Net style)
for jointly modeling illumination enhancement and structural refinement - Mamba-based Selective State Space Modeling
to efficiently capture long-range spatial dependencies with low computational cost - Context-Aware Feature Fusion
integrating local details and global contextual information - Composite Enhancement Loss
combining pixel-level, perceptual, and frequency-aware constraints

Figure 1: Overall architecture of the proposed DG-Mamba framework.

Figure 2: Qualitative comparisons on low-light remote sensing images.

Figure 3: Quantitative performance comparison.
DG-Mamba is evaluated on both paired (reference-based) and unpaired (no-reference) low-light datasets, following the experimental setup used in the paper.
-
LOL Dataset (paired)
https://drive.google.com/file/d/1L-kqSQyrmMueBh_ziWoPFhfsAh50h20H/view -
iSAID-dark Dataset (paired, remote sensing)
https://drive.google.com/file/d/1mlTTdbqG1ZheaWsBcIjAKDyCdbuAqpvy/view
-
darkrs Dataset (real nighttime remote sensing)
https://drive.google.com/file/d/1XQGpzB9vDGkO7ULnGOF86cyZdqtrX4tI/view -
ExDark Dataset (natural images)
https://github.com/cs-chan/Exclusively-Dark-Image-Dataset
Evaluation Notes
- Paired datasets: PSNR ↑ / SSIM ↑ / LPIPS ↓
- Unpaired datasets: NIQE ↓ + qualitative comparison
We provide comprehensive qualitative and quantitative results for both paired and unpaired datasets to demonstrate the robustness and generalization capability of DG-Mamba.
- iSAID-dark
- iSAID-dark (high-pixel resolution)
| Dataset | Resolution | Results |
|---|---|---|
| iSAID-dark | Standard | 🔗 Download |
| iSAID-dark (High-Pixel) | High | 🔗 Download |
- darkrs
- LIME
- NPE
- DICM
| Dataset | Results |
|---|---|
| darkrs | 🔗 Download |
| LIME | 🔗 Download |
| NPE | 🔗 Download |
| DICM | 🔗 Download |
To verify that enhancement improves practical vision tasks, we evaluate object detection performance using YOLOv12 on three image versions:
- Night: original low-light images
- DG-Mamba: enhanced images
- GT: ground-truth / well-lit images (upper bound)
| Version | Description | Link |
|---|---|---|
| Night | Original low-light images | 🔗 Download |
| DG-Mamba | Enhanced images | 🔗 Download |
| GT | Reference images | 🔗 Download |
DG-Mamba/
├── checkpoints/ # empty (saved checkpoints)
├── configs/ # training / evaluation configs
├── data/ # dataset loaders (no raw data)
├── figures/ # paper figures
├── losses/ # loss functions
├── models/ # DG-Mamba architecture
├── results/ # empty (output placeholders)
├── utils/ # metrics and helpers
├── weights/ # empty (pretrained models)
├── train.py
├── evaluate.py
├── test.py
├── requirements.txt
└── README.md
git clone https://github.com/AnasHXH/DG-Mamba.git
cd DG-Mamba
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
- Paired datasets (LOL / iSAID-dark) Use the following layout:
data/LOL/
├── train/
│ ├── low/
│ └── high/
└── test/
├── low/
└── high/
data/iSAID-dark/
├── train/
│ ├── low/
│ └── high/
└── val/
├── low/
└── high/
python train.py --config configs/config.yaml
Common options you may expose (depending on your code):
--config
--device cuda
--batch_size 4
--epochs 500
python evaluate.py \
--config configs/eval_isai_dark.yaml \
--ckpt checkpoints/dg_mamba_best.pth
python test.py \
--ckpt checkpoints/dg_mamba_best.pth \
--input_dir path/to/low_light_images \
--output_dir outputs/
If you use this work, please cite:
@article{ali_dgmamba_2025,
title = {DG-Mamba: Dual-Granularity Mamba Network for Low-Light Remote Sensing Image Enhancement},
author = {Ali, Anas M. and Benjdira, Bilel and Aloqayli, Hamad and Othman, Esam and Boulila, Wadii},
journal = {Under Review},
year = {2025}
}