Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation

Haofeng Liu, Chenshu Xu, Yifei Yang, Lihua Zeng, Shengfeng He
4/1/2024
cs.CVcs.GRcs.HC

Official code: haofengl/DragNoise (87 stars, last commit 2024-04-16).

Abstract

Point-based interactive editing serves as an essential tool to complement the controllability of existing generative models. A concurrent work, DragDiffusion, updates the diffusion latent map in response to user inputs, causing global latent map alterations. This results in imprecise preservation of the original content and unsuccessful editing due to gradient vanishing. In contrast, we present DragNoise, offering robust and accelerated editing without retracing the latent map. The core rationale of DragNoise lies in utilizing the predicted noise output of each U-Net as a semantic editor. This approach is grounded in two critical observations: firstly, the bottleneck features of U-Net inherently possess semantically rich features ideal for interactive editing; secondly, high-level semantics, established early in the denoising process, show minimal variation in subsequent stages. Leveraging these insights, DragNoise edits diffusion semantics in a single denoising step and efficiently propagates these changes, ensuring stability and efficiency in diffusion editing. Comparative experiments reveal that DragNoise achieves superior control and semantic retention, reducing the optimization time by over 50% compared to DragDiffusion. Our codes are available at https://github.com/haofengl/DragNoise.

View on arXivView PDF

Code Implementations(1)

haofengl/DragNoiseOfficial100%

[CVPR2024] Official code for Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation

875Shell, PythonMar 24, 20242 years ago

Similar Papers

Cite this paper

@article{liu2024drag,
  title  = {Drag Your Noise: Interactive Point-based Editing via Diffusion Semantic Propagation},
  author = {Haofeng Liu and Chenshu Xu and Yifei Yang and Lihua Zeng and Shengfeng He},
  year   = {2024},
  eprint = {2404.01050},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2404.01050v1},
  journal = {CVPR 2024 2024}
}

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

Discussion