Buckets:
| 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 | |
| [](https://suleymanaslan.github.io/imir/) | |
| [](https://arxiv.org/abs/2609.25267) | |
| [](https://github.com/suleymanaslan/imir) | |
| [](https://huggingface.co/suleymanaslan/imir) | |
|  | |
|  | |
| 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.