DragDiffusion | 精准图像编辑

DragDiffusion: Harnessing Diffusion Models for Interactive Point-based Image Editing



Abstract

  • GAN泛化性能上界由其模型大小决定
  • 将基于点的图像编辑框架扩展到扩散模型
  • 目前,扩散模型图像编辑是通过文本嵌入实现,并非是精准的局部空间编辑
  • 虽然扩散模型是迭代式,但本模型通过只优化某一步的隐式变量即可实现高质量高效率的图像编辑

Contributions

  • 迭代的基于点的图像编辑框架应用到扩散模型中,从而实现精准空间编辑
  • DragGAN
  • Denoising diffusion probabilistic models (DDPM)
  • Denoising diffusion implicit models (DDIM)
  • DDIM inversion

Methodology

Overview

分为2步

  • (A)通过LoRA微调SD模型,数据集为用户输入的图像。
    • 目的是在编辑过程中(其实也是生成过程)更好的保留输入图像中物体和风格特征
  • (B)用户输入的图像作为Z0,通过DDIM Inversion得到第t步加噪声的隐变量Zt(注意,是小t,不是大T,也就是不是最终的标准高斯噪声,而是加噪的中间结果),在第t步通过Motion Supervision and Point Tracking------运动监督和轨迹跟踪 间接实现对图像点的拖拽得到Zt_hat, 在通过DDIM Denoising去噪生成编辑后的图像 (motion supervision 和 point tracking 是不断交替运行若干步的(论文中默认40步))
    • 在编辑过程中,需要增加正则项确保非编辑区域(编辑mask区域外)不变

Motion Supervision

  • the k-th iteration of motion supervision
  • 公式第一部分是对第t步的latent进行k次迭代实现点从起始位置运动到目标位置,注意是k次迭代,不是一步到位,采用的是梯度下降法(方向、步长),一次迭代只用一次梯度下降,不断迭代更新。
    • sg表示停止梯度stop gradient,即不会反向传播,因为最小化loss时候,采用bp,希望这一项不更新梯度
    • di是当前控制点朝着目标点的归一化方向
    • Fq+di是双线性插值得到的,不一定是整数
    • Ω(hk i , r1) = {(x, y) : |x - xk i | ≤ r1, |y - yik| ≤ r1} 是q的范围,矩形区域
  • 公式第二部分是对unmasked区域保持不变

Point Tracking

  • 因为运动监督更新了Ztk, 控制点的位置发生了变化,需要更新
  • 用Unet特征找控制点的匹配点,Unet倒数第二层的输出特征,即Unet.Decoder倒数第二个Stage的输出特征
  • 采用最近邻策略更新控制点

Experiments

Conclusions

  • 鸡肋,水文
  • DragDiffusion和DragGAN一样,都是通过对特征的点跟踪和运动特征监督进行
  • 注意,motion supervision 和 point tracking 是不断交替运行若干步的

References

相关推荐
人道领域1 分钟前
LeetCode【刷题日记】:螺旋矩阵逆向全过程,边界缩进优化
算法·leetcode·矩阵
ALex_zry3 分钟前
物联网数据质量控制系统设计:质控算法与实现
物联网·算法·struts
EQUINOX16 分钟前
货物运输问题,前缀和优化dp,[牛客周赛137 F-小苯的糖果盒]
算法·动态规划
小此方9 分钟前
Re:从零开始的 C++ STL篇(九)AVL树太“较真”,红黑树更“现实”:一文讲透工程中的平衡之道
开发语言·数据结构·c++·算法·stl
地平线开发者9 分钟前
多 Batch 量化校准与单 Batch 校准的数值差异
算法·自动驾驶
少许极端9 分钟前
算法奇妙屋(三十八)-贪心算法学习之路 5
java·学习·算法·贪心算法
im_AMBER13 分钟前
Leetcode 150 最小路径和 | 最长回文子串
数据结构·算法·leetcode
模拟器连接器曾工39 分钟前
AI视觉检测设备参数有哪些?从硬件到算法的全面解析
人工智能·算法·视觉检测·ai视觉·ai视觉检测
量子物理学40 分钟前
Open CV 边缘检测算法:Canny、Sobel、Scharr与Laplacian对比解析
人工智能·算法·计算机视觉
.柒宇.42 分钟前
力扣hot 100之和为 K 的子数组(Java版)
java·算法·leetcode