cclearlee67's picture
|
download
raw
5.58 kB
---
base_model: Qwen/Qwen-Image-Edit-2511
license: mit
pipeline_tag: image-to-image
tags:
- image-restoration
- lora
- imir
- task-agnostic
base_model_relation: adapter
---
# ImIR: Task-Agnostic Image Restoration
**ImIR: Image-Instruction Tuning for All-in-One Image Restoration**
**ACCV 2026**
Süleyman Aslan · Görkay Aydemir · Mısra Yavuz · Yunus Bilge Kurt
Nasrin Rahimi · Ahmet Rasim Emirdağı · Burak Can Biner · M. Akın Yılmaz
Codeway AI Research
[![Project page](https://img.shields.io/badge/Project-page-365f43?style=flat)](https://suleymanaslan.github.io/imir/)
[![arXiv: 2609.25267](https://img.shields.io/badge/arXiv-2609.25267-b31b1b?style=flat&logo=arxiv)](https://arxiv.org/abs/2609.25267)
[![Source code: GitHub](https://img.shields.io/badge/Source_code-GitHub-24292f?style=flat&logo=github)](https://github.com/suleymanaslan/imir)
[![Open weights: Hugging Face](https://img.shields.io/badge/Open_weights-Hugging_Face-785200?style=flat&logo=huggingface)](https://huggingface.co/suleymanaslan/imir)
![Proceedings: Coming soon](https://img.shields.io/badge/Proceedings-Coming_soon-62685b?style=flat)
![ImIR examples for low-light enhancement, deraining, dehazing, deblurring, denoising, and JPEG artifact removal. Each tile shows the input on the left and the restored output on the right.](assets/teaser.png)
The output of task-agnostic ImIR is produced from the input image alone, with no
text prompt and no degradation label. A single adapter supports low-light
enhancement, deraining, dehazing, deblurring, denoising, and JPEG artifact removal.
## Model
`suleymanaslan/imir` is the fixed 1MP task-agnostic ImIR model. This repository
provides its image-instruction mapper, LoRA adapter, and inference configuration.
The ImIR inference package loads these components together with
[Qwen-Image-Edit-2511](https://huggingface.co/Qwen/Qwen-Image-Edit-2511).
The backbone is downloaded separately and cached automatically.
| Setting | Value |
| --- | --- |
| Backbone | `Qwen/Qwen-Image-Edit-2511` |
| Backbone revision | `6f3ccc0b56e431dc6a0c2b2039706d7d26f22cb9` |
| Restoration canvas | Target area of 1,048,576 pixels |
| Resize policy | `target_area` |
| Sampling steps | 30 |
| Instruction scale | 1.0 |
| Output resolution | Original input resolution by default |
The input is resized toward the target area, allowing both upscaling and
downscaling. Aspect ratio is preserved up to alignment of the canvas dimensions
to multiples of 16. The canvas is not necessarily square. The restored image is
resized back to the original input resolution by default.
## Files
| File | Contents |
| --- | --- |
| `imir_config.json` | Mapper architecture, backbone revision, and inference defaults. |
| `mapper.safetensors` | Image-instruction mapper weights. |
| `pytorch_lora_weights.safetensors` | Restoration LoRA weights. |
All three files are required. Configuration is loaded directly from the
checkpoint, with no separate configuration directory.
## Usage
Use the ImIR inference package to load the mapper and LoRA together. Loading only
the LoRA into a standard Diffusers pipeline does not reproduce ImIR inference.
Use Python 3.10 or newer and a CUDA-enabled PyTorch build. Install the package
from the [ImIR inference repository](https://github.com/suleymanaslan/imir):
```bash
git clone https://github.com/suleymanaslan/imir.git
cd imir
python -m pip install -e .
```
### Command line
Run from the inference repository to use its included deraining sample:
```bash
imir --checkpoint suleymanaslan/imir \
--input examples/deraining.png \
--output outputs/deraining.png \
--cpu-offload \
--seed 0
```
This writes the restored image and a JSON file containing inference settings and
image sizes. CPU offloading moves model components between CPU and GPU and
requires a CUDA-capable GPU and sufficient system RAM.
For another image, replace `--input` with its path. Use `--steps` or `--scale` to
override the checkpoint defaults, or `--keep-generation-size` to retain the
restoration canvas resolution. No task label or text prompt is required.
### Python
```python
from pathlib import Path
from imir import ImIRPipeline
pipe = ImIRPipeline.from_pretrained(
"suleymanaslan/imir",
cpu_offload=True,
)
result = pipe("input.png", seed=0)
Path("outputs").mkdir(exist_ok=True)
result.image.save("outputs/restored.png")
print(result.metadata)
```
The checkpoint and its pinned backbone revision are downloaded on first use.
You can also pass a local directory containing the three checkpoint files.
For a reproducible model version, pass `revision="<model-commit-sha>"` to
`from_pretrained`, or `--revision <model-commit-sha>` to the CLI.
## Acknowledgments
ImIR uses [Qwen-Image-Edit](https://github.com/QwenLM/Qwen-Image) and
[Hugging Face Diffusers](https://github.com/huggingface/diffusers).
See [NOTICE](NOTICE) for attribution.
## License
The ImIR mapper and LoRA weights are released under the [MIT License](LICENSE).
The separately downloaded backbone and inference dependencies retain their own
licenses. See [NOTICE](NOTICE) for image attribution.
## Citation
```bibtex
@article{aslan2026imirimageinstructiontuningallinone,
title={{ImIR}: Image-Instruction Tuning for All-in-One Image Restoration},
author={Süleyman Aslan and Görkay Aydemir and Mısra Yavuz and Yunus Bilge Kurt
and Nasrin Rahimi and Ahmet Rasim Emirdağı and Burak Can Biner
and M. Akın Yılmaz},
journal={arXiv preprint arXiv:2609.25267},
year={2026},
url={https://arxiv.org/abs/2609.25267}
}
```

Xet Storage Details

Size:
5.58 kB
·
Xet hash:
be60f6c9614f082e1ee70bc5aede95215f28ded2ff67026e4a6177cdb14e6e2b

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.