Efficient Degradation-agnostic Image Restoration
via Channel-Wise Functional Decomposition and Manifold Regularization
Bin Ren1,2 ·
Yawei Li3 ·
Xu Zheng4 ·
Yuqian Fu5 ·
Danda Pani Paudel5
Hong Liu6† ·
Ming-Hsuan Yang7 ·
Luc Van Gool5 ·
Nicu Sebe2
1MBZUAI, UAE
2University of Trento, Italy
3ETH Zürich, Switzerland
4HKUST (GZ), China
5INSAIT Sofia University, Bulgaria
6Peking University, China
7UC Merced, USA
†Corresponding author
Teaser: (a)–(d) Visual comparison for Denoising, Deraining, Composited Degradations (low-light, haze, and snow), and underwater image enhancement. (e) Average PSNR/SSIM across 4 all-in-one and 1 zero-shot settings.
- 🌐 Project page release
- 🖼️ Main visual results release
-
05/2026🔖 Checkpoints released -
05/2026💻 Code released 01/2026🍺 MIRAGE accepted at ICLR 2026!
TODO — architecture diagram and method overview coming soon.
conda create -n mirage python=3.9 -y
conda activate mirage
pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 \
--index-url https://download.pytorch.org/whl/cu129pip install -r requirements.txt# Check CUDA availability
nvidia-smi
nvcc --version
# On cluster systems, load via environment modules:
module avail cuda
module load cuda/12.9
# Or set CUDA path manually:
export CUDA_HOME=/usr/local/cuda
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATHWe follow dataset preparation from prior works:
- 3-Degradation: PromptIR (NeurIPS 2023)
- 5-Degradation: AdaIR (ICLR 2025)
⚠️ Important: Follow original dataset licenses. Provided datasets are for academic research only.
| Dehaze | Derain | Denoising | Deblurring | Low-light |
|---|---|---|---|---|
| ⬇ 11.2G | ⬇ 103.6M | ⬇ 3.02G | ⬇ 3.8G | ⬇ 322.0M |
📂 Training directory structure
.../datasets/Train/
├── Deblur/
│ ├── blur/
│ └── sharp/
├── Dehaze/
│ ├── train/
│ └── test/
├── Denoise/
│ └── *.bmp / *.jpg
├── Derain/
│ ├── gt/
│ └── rainy/
└── Enhance/
├── gt/
└── low/
📂 Inference directory structure
Download preprocessed test sets via Download (covers both 3-Degradation and 5-Degradation settings).
.../datasets/test/
├── deblur/
│ └── gopro/
│ ├── input/
│ └── target/
├── dehaze/
│ ├── input/
│ └── target/
├── denoise/
│ ├── bsd68/
│ └── urban100/
├── derain/
│ └── Rain100L/
│ ├── input/
│ └── target/
└── enhance/
└── lol/
├── input/
└── target/
| Split | Download |
|---|---|
| Train | ⬇ 21.0G |
| Test | ⬇ 3.5G |
| Train & Test |
|---|
| ⬇ 15.9G |
| Model | Params | Download |
|---|---|---|
| 3-Degradation Tiny | 6M | ⬇ 72.1M |
| 3-Degradation Small | 10M | ⬇ 111.8M |
| 5-Degradation Tiny | 6M | ⬇ 72.1M |
| 5-Degradation Small | 10M | ⬇ 111.8M |
| CDD11 Small | 10M | ⬇ 111.8M |
TODO — download links coming soon.
- Download the checkpoint and place it under
./train_ckpt/3deg_[tiny|small]/ - Set the correct project directory and test path in
test_3deg_[tiny|small].sh - Run:
sh test_3deg_tiny.sh # Tiny (6M)
sh test_3deg_small.sh # Small (10M)- Download the checkpoint and place it under
./train_ckpt/5deg_[tiny|small]/ - Set the correct project directory and test path in
test_5deg_[tiny|small].sh - Run:
sh test_5deg_tiny.sh # Tiny (6M)
sh test_5deg_small.sh # Small (10M)TODO
TODO
sh train_3deg_tiny.sh # Tiny (6M)
sh train_3deg_small.sh # Small (10M)sh train_5deg_tiny.sh # Tiny (6M)
sh train_5deg_small.sh # Small (10M)TODO
TODO
If you find this work useful, please consider citing:
@inproceedings{ren2026efficient,
title = {Efficient Degradation-agnostic Image Restoration via Channel-Wise
Functional Decomposition and Manifold Regularization},
author = {Bin Ren and Yawei Li and Xu Zheng and Yuqian Fu and
Danda Pani Paudel and Hong Liu and Ming-Hsuan Yang and
Luc Van Gool and Nicu Sebe},
booktitle = {The Fourteenth International Conference on Learning Representations (ICLR)},
year = {2026}
}This work was partially supported by the FIS project GUIDANCE — Debugging Computer Vision Models via Controlled Cross-modal Generation (No. FIS2023-03251).
The codebase builds on excellent prior work: