IMPUS: Image Morphing with Perceptually-Uniform Sampling Using Diffusion Models

Zhaoyuan Yang, Zhengyang Yu, Zhiwei Xu, Jaskirat Singh, Jing Zhang +3 more
2/12/2026

No official code found. Best implementation: GoL2022/IMPUS (15 stars, last commit 2025-11-17).

Abstract

We present a diffusion-based image morphing approach with perceptually-uniform sampling (IMPUS) that produces smooth, direct and realistic interpolations given an image pair. The embeddings of two images may lie on distinct conditioned distributions of a latent diffusion model, especially when they have significant semantic difference. To bridge this gap, we interpolate in the locally linear and continuous text embedding space and Gaussian latent space. We first optimize the endpoint text embeddings and then map the images to the latent space using a probability flow ODE. Unlike existing work that takes an indirect morphing path, we show that the model adaptation yields a direct path and suppresses ghosting artifacts in the interpolated images. To achieve this, we propose a heuristic bottleneck constraint based on a novel relative perceptual path diversity score that automatically controls the bottleneck size and balances the diversity along the path with its directness. We also propose a perceptually-uniform sampling technique that enables visually smooth changes between the interpolated images. Extensive experiments validate that our IMPUS can achieve smooth, direct, and realistic image morphing and is adaptable to several other generative tasks.

View on arXivView PDF

Code Implementations(1)

GoL2022/IMPUSCommunity100%
152Python, Jupyter NotebookMar 12, 202411 months ago

Similar Papers

Cite this paper

@article{yang2026impus,
  title  = {IMPUS: Image Morphing with Perceptually-Uniform Sampling Using Diffusion Models},
  author = {Zhaoyuan Yang and Zhengyang Yu and Zhiwei Xu and Jaskirat Singh and Jing Zhang and Dylan Campbell and Peter H. Tu and Richard Hartley},
  year   = {2026},
  eprint = {2311.06792},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2311.06792},
  journal = {ICLR 2023 2023}
}

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/2311.06792.svg)](https://codeofpaper.com/paper/2311.06792)

Discussion