Teaching stable diffusion to un-blur, un-noise, and un-break images
It restores images without knowing their degradation, using a two-stage pipeline to scrub damage then dream up realistic details.

What it does DiffBIR tackles blind image restoration—fixing photos when you don’t know exactly what’s wrong with them. It uses a two-stage pipeline: first, a lightweight task-specific network strips away degradation such as blur or noise; then a shared diffusion model called IRControlNet generates realistic textures and details. The same generative backbone handles super-resolution, face restoration, and denoising without retraining for each task.
The interesting bit The unusual twist is using a vision-language model to guide low-level restoration: version 2.1 feeds LLaVA-generated captions into the diffusion process to steer detail generation. The authors also decoupled degradation removal from generative refinement so the expensive diffusion step stays task-agnostic.
Key highlights
- One frozen IRControlNet serves blind super-resolution, face restoration, and denoising
- Tiled sampling via mixture-of-diffusers supports high-resolution inputs like 2396×1596
- v2.1 adds LLaVA captioning and an Unsplash-trained model; Apple Silicon/MPS is supported
- Includes Gradio UI and auto-downloading pretrained weights
- ECCV 2024 paper with real47 testset released
Caveats
- The authors explicitly note their newer project HYPIR “significantly outperforms” DiffBIR and runs “tens of times faster”
- Several roadmap items—webui, HuggingFace demo, and DiffBIR-turbo—remain unfinished according to the repo’s own TODO
- VRAM requirements can still be demanding; the README recommends tiled sampling for GPU-constrained users
Verdict Worth exploring if you need a research-grade, unified diffusion pipeline for blind restoration with strong baselines. If you need speed or production inference, the authors themselves suggest moving on to HYPIR.
Frequently asked
- What is XPixelGroup/DiffBIR?
- It restores images without knowing their degradation, using a two-stage pipeline to scrub damage then dream up realistic details.
- Is DiffBIR open source?
- Yes — XPixelGroup/DiffBIR is open source, released under the Apache-2.0 license.
- What language is DiffBIR written in?
- XPixelGroup/DiffBIR is primarily written in Python.
- How popular is DiffBIR?
- XPixelGroup/DiffBIR has 4.1k stars on GitHub.
- Where can I find DiffBIR?
- XPixelGroup/DiffBIR is on GitHub at https://github.com/XPixelGroup/DiffBIR.