huggingface / huggingface/diffusers

BDIA-DDIM Scheduler

Open
#9,957 15 comments 1 reaction 0 assignees View on GitHub
stale
Dominant language
Python
Stars
34.5k
Forks
7.3k
Avg merge
3d 3h
Merged PRs (30d)
91

Description

### Model/Pipeline/Scheduler description

The BDIA-DDIM scheduler was first applied in stable diffusion in the ECCV 2024 paper ["Exact Diffusion Inversion via Bi-directional Integration Approximation"](https://arxiv.org/abs/2307.10829) by Guoqiang Zhang, J. P. Lewis, and W. Bastiaan Kleijn. Below are results from the initial implementation for text-to-image generation using StableDiffusion V2.

The BDIA-DDIM Scheduler improves image sampling quality over traditional DDIM through a more accurate integral approximation, with negligible computational overhead. Experiments further show that BDIA-DDIM produces markedly better image sampling qualities than DDIM for text-to-image generation, thanks to the more accurate integration approximation. Since the first implementation, I have forked the diffusers library to integrate BDIA-DDIM as an additional scheduler and have found it produces significantly better results, especially at lower timesteps.

![BDIADDIM_t2i_20pairs](https://github.com/user-attachments/assets/45409384-6f8a-4d2c-97d4-333e1d2041df)

### Open source status

- [X] The model implementation is available.
- [ ] The model weights are available (Only relevant if addition is not a scheduler).

### Provide useful links for the implementation

Original Paper: ["Exact Diffusion Inversion via Bi-directional Integration Approximation"](https://arxiv.org/abs/2307.10829) by Guoqiang Zhang, J. P. Lewis, and W. Bastiaan Kleijn.

Original Implementation: https://github.com/guoqiang-zhang-x/BDIA

My diffusers implementation: https://github.com/Jdh235/diffusers

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.