Retinexformer

Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement
ICCV 2023

Yuanhao Cai, Hao Bian, Jing Lin, Haoqian Wang, Radu Timofte, and Yulun Zhang

arXiv NTIRE zhihu GitHub Gradio Demo

Online demo

Try Gradio online demo in your browser with ZeroGPU acceleration. No local installation is needed.

  1. Upload a low-light image or select one of the five examples.
  2. Choose one of the nine Retinexformer checkpoints and click Enhance image.
  3. Adjust Output brightness and download the result as a PNG.

Start with Gamma and Output brightness set to 1.0. Brightness updates instantly after inference; changing Gamma requires clicking Enhance image again.

Retinexformer online demo interface

Current screenshot from the GitHub repository. Example image credits.

Model description

Retinexformer enhances low-light images using a one-stage Retinex-based framework. It estimates illumination to brighten the input and restores image corruptions associated with low-light capture and amplification. An Illumination-Guided Transformer uses illumination features to guide interactions between regions with different lighting conditions.

This repository distributes PyTorch checkpoints for multiple datasets, together with NTIRE 2024 low-light enhancement checkpoints. Use the implementation and matching configuration from the linked GitHub repository.

NTIRE awards

NTIRE award certificate from the project repository NTIRE 2024 award certificate

Visual examples

Low-light enhancement examples

More qualitative comparisons, full-resolution examples, and interactive comparisons are available in the project README.

Available checkpoints

Checkpoint Architecture Dataset / setting Configuration in the code repository
LOL_v1.pth Retinexformer LOL-v1 Options/RetinexFormer_LOL_v1.yml
LOL_v2_real.pth Retinexformer LOL-v2-real Options/RetinexFormer_LOL_v2_real.yml
LOL_v2_synthetic.pth Retinexformer LOL-v2-synthetic Options/RetinexFormer_LOL_v2_synthetic.yml
SID.pth Retinexformer SID Options/RetinexFormer_SID.yml
SMID.pth Retinexformer SMID Options/RetinexFormer_SMID.yml
SDSD_indoor.pth Retinexformer SDSD-indoor Options/RetinexFormer_SDSD_indoor.yml
SDSD_outdoor.pth Retinexformer SDSD-outdoor Options/RetinexFormer_SDSD_outdoor.yml
FiveK.pth Retinexformer MIT-Adobe FiveK Options/RetinexFormer_FiveK.yml
NTIRE.pth Retinexformer NTIRE 2024 Options/RetinexFormer_NTIRE.yml
MST_Plus_Plus_NTIRE/MST_Plus_Plus_4x1800.pth MST++ NTIRE 2024, 4-GPU training Options/MST_Plus_Plus_NTIRE_4x1800.yml
MST_Plus_Plus_NTIRE/MST_Plus_Plus_8x1150.pth MST++ NTIRE 2024, 8-GPU training Options/MST_Plus_Plus_NTIRE_8x1150.yml

The two MST++ checkpoints require the MST++ architecture and their matching configurations; they cannot be loaded into Retinexformer. See the MST++ project for architecture background.

Download checkpoints

The root config.json lists this repository's checkpoints, supporting files, and implementation. Include it when downloading selected weights so those downloads can be counted by the Hugging Face Hub. Use the linked implementation and its matching runtime configuration to load the checkpoints.

pip install -U huggingface_hub
hf download CaiYuanhao/Retinexformer --include "config.json" "*.pth" --local-dir pretrained_weights

Usage

Please follow our GitHub repository for installation, inference, training, and benchmark evaluation.

Citation

@InProceedings{Cai_2023_ICCV,
    author    = {Cai, Yuanhao and Bian, Hao and Lin, Jing and Wang, Haoqian and Timofte, Radu and Zhang, Yulun},
    title     = {Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2023},
    pages     = {12504-12513}
}
Downloads last month
25
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Space using CaiYuanhao/Retinexformer 1

Papers for CaiYuanhao/Retinexformer