DiffMorpher: Unleashing the Capability of Diffusion Models for Image Morphing

Kaiwen Zhang, Yifan Zhou, Xudong Xu, Xingang Pan, Bo Dai
12/12/2023
cs.CV

No official code found. Best implementation: Kevin-thu/DiffMorpher (504 stars, last commit 2024-04-24).

Abstract

Diffusion models have achieved remarkable image generation quality surpassing previous generative models. However, a notable limitation of diffusion models, in comparison to GANs, is their difficulty in smoothly interpolating between two image samples, due to their highly unstructured latent space. Such a smooth interpolation is intriguing as it naturally serves as a solution for the image morphing task with many applications. In this work, we present DiffMorpher, the first approach enabling smooth and natural image interpolation using diffusion models. Our key idea is to capture the semantics of the two images by fitting two LoRAs to them respectively, and interpolate between both the LoRA parameters and the latent noises to ensure a smooth semantic transition, where correspondence automatically emerges without the need for annotation. In addition, we propose an attention interpolation and injection technique and a new sampling schedule to further enhance the smoothness between consecutive images. Extensive experiments demonstrate that DiffMorpher achieves starkly better image morphing effects than previous methods across a variety of object categories, bridging a critical functional gap that distinguished diffusion models from GANs.

View on arXivView PDF

Code Implementations(1)

Official Code for DiffMorpher: Unleashing the Capability of Diffusion Models for Image Morphing (CVPR 2024)

50452PythonDec 11, 20232 years agoNOASSERTION
diffusion-modelsimage-editingimage-morphingvideo-generation

Similar Papers

Cite this paper

@article{zhang2023diffmorpher,
  title  = {DiffMorpher: Unleashing the Capability of Diffusion Models for Image Morphing},
  author = {Kaiwen Zhang and Yifan Zhou and Xudong Xu and Xingang Pan and Bo Dai},
  year   = {2023},
  eprint = {2312.07409},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2312.07409v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2312.07409.svg)](https://codeofpaper.com/paper/2312.07409)

Discussion