Exact Diffusion Inversion via Bi-directional Integration Approximation
Guoqiang Zhang, J. P. Lewis, W. Bastiaan Kleijn
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/guoqiang-zhang-x/BDIAOfficialIn paperpytorch★ 20
Abstract
Recently, various methods have been proposed to address the inconsistency issue of DDIM inversion to enable image editing, such as EDICT [36] and Null-text inversion [22]. However, the above methods introduce considerable computational overhead. In this paper, we propose a new technique, named bi-directional integration approximation (BDIA), to perform exact diffusion inversion with neglible computational overhead. Suppose we would like to estimate the next diffusion state z_i-1 at timestep t_i with the historical information (i,z_i) and (i+1,z_i+1). We first obtain the estimated Gaussian noise (z_i,i), and then apply the DDIM update procedure twice for approximating the ODE integration over the next time-slot [t_i, t_i-1] in the forward manner and the previous time-slot [t_i, t_t+1] in the backward manner. The DDIM step for the previous time-slot is used to refine the integration approximation made earlier when computing z_i. A nice property of BDIA-DDIM is that the update expression for z_i-1 is a linear combination of (z_i+1, z_i, (z_i,i)). This allows for exact backward computation of z_i+1 given (z_i, z_i-1), thus leading to exact diffusion inversion. It is demonstrated with experiments that (round-trip) BDIA-DDIM is particularly effective for image editing. Our experiments further show that BDIA-DDIM produces markedly better image sampling qualities than DDIM for text-to-image generation. BDIA can also be applied to improve the performance of other ODE solvers in addition to DDIM. In our work, it is found that applying BDIA to the EDM sampling procedure produces consistently better performance over four pre-trained models.