ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag

发布于 2025-9-9 09:12
浏览
0收藏

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区


文章链接:https://arxiv.org/pdf/2509.04582 

项目链接:https://visual-ai.github.io/inpaint4drag/

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

基于拖动的图像编辑方法比较

亮点直击

  • 一个物理启发的变形框架,将图像区域视为弹性材料,通过用户指定的控制点和区域掩码实现自然变换,并提供可选的掩码细化功能以处理精确的对象边界。
  • 一种高效的双向扭曲算法,通过前向扭曲建立初始形状,并通过反向映射填充间隙,创建密集的像素对应关系,同时保持实时性能。
  • 一种模块化pipeline,清晰地将变换与生成分离,计算显露区域和边界平滑的精确掩码,以实现与现有修复模型的无缝集成。

总结速览

解决的问题

  • 控制精度低:现有基于拖拽的编辑方法主要在生成模型(如Stable Diffusion)的隐空间(latent space)中进行操作。用户控制点需要被下采样到低分辨率隐空间(如从512×512到32×32),导致用户输入与最终变化之间的映射关系模糊,控制不精确。
  • 交互体验差:生成过程耗时,无法提供实时视觉反馈。用户被迫进行耗时的“试错”循环,严重影响了交互的流畅性。
  • 功能受限:依赖通用文生图模型处理编辑后产生的大面积遮挡和缺失区域(如旋转头部、张嘴)时,效果不真实,能力有限。
  • 模型依赖性强:现有方法通常与特定生成模型架构深度耦合,无法通用地利用其他或未来更先进的修复模型。

提出的方案

提出了 Inpaint4Drag 的新型交互框架。该框架的核心思想是将复杂的拖拽编辑任务解耦为两个更简单、更专业的子任务:

  1. 双向变形(Bidirectional Warping):受物理世界中弹性物体变形的启发,将图像区域视为可变形材料。
  • 前向变形(Forward Warping):根据用户拖拽的控制点,将源像素移动到目标位置,定义出初始轮廓和大致变形。
  • 反向变形(Backward Warping):填补前向变形产生的孔洞和间隙,建立密集的几何对应关系,完成平滑的几何变换。
  1. 图像修复(Image Inpainting):自动计算修复区域(包括变形后显露出的区域和轮廓周围的窄带区域),然后将标准格式的(图像+修复掩码)输入到任何现成的、专业的图像修复模型中进行最终的内容补全。

应用的技术

  • 物理启发的弹性变形模型:将图像处理问题类比为物理世界的弹性材料变形,为几何变换提供理论依据。
  • 双向变形算法(Bidirectional Warping Algorithm):结合前向和反向变形,有效解决了单一变形方法产生的伪影和空洞问题,实现了高质量、无缝的像素级几何变换。
  • 掩码优化模块(Optional Mask Refinement Module):一个可选的辅助模块,用于自动捕捉精确的对象边界,确保边缘和内部区域变形的一致性。
  • 通用适配器设计(Universal Adapter Design):将用户的拖拽输入转化为任何图像修复模型都能处理的标准输入格式(图像+掩码),从而与具体模型架构解耦。

达到的效果

  • 极高的交互效率:
  • 提供实时(0.01秒)的变形预览,让用户立即看到大致的变形效果。
  • 整个编辑过程(包括修复)在0.3秒内即可完成(512×512分辨率),相比需要数分钟的现有方法,交互体验得到显著提升
  • 卓越的编辑质量:
  • 实现了精确的几何控制,保持了被拖动内容的颜色,并保护了未编辑区域的图像质量。
  • 能够有效处理大面积遮挡等挑战性编辑任务(如让狮子张嘴、旋转人头),生成效果更真实。
  • 强大的通用性和可扩展性:
  • 作为一个“万能适配器”,无需修改即可利用任何现有的(如LaMa)或未来的图像修复模型,并自动继承其所有性能提升。
  • 精准的控制:在像素空间中进行变形操作,避免了隐空间下采样带来的精度损失,实现了对图像内容的像素级精确控制

方法

Inpaint4Drag,一种基于拖拽的图像编辑交互方法,将该任务分解为双向扭曲和标准图像修复。给定输入图像,用户可以绘制掩码来选择要变形的对象,并使用掩码细化模块来提高边界精度。在指定拖拽点对后,双向扭曲算法立即变形所选区域,提供编辑结果的实时预览,该预览同时也作为修复模型的输入。用户在执行相对耗时的修复操作之前,迭代细化掩码和控制点以达到所需的拖拽效果,该修复操作填充变形后显露的区域。本文的方法通过专门的变形控制和集成的修复模型实现无缝补全,从而在实现实时交互的同时提供高质量的结果。

区域指定与边界细化

先前的拖拽编辑方法通常使用稀疏控制点来引导变形,并可选择使用掩码来限制可编辑区域。然而,这种稀疏输入格式在变形解释中引入了根本的模糊性——大量像素的运动仅依赖于少数控制点的引导。对角色手臂的单个拖拽操作可能产生截然不同的结果:全身旋转、局部手臂运动或孤立的点平移。没有明确的变形规范,现有方法通常会产生偏离用户意图的不可预测结果。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

首先,生成输入掩码的膨胀和腐蚀版本

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

用于区域变形的双向扭曲

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

如下图3和图4所示,本文的方法包括四个步骤:(1) 轮廓提取以识别独立的可变形区域;(2) 前向扭曲以定义目标区域边界并建立初始映射;(3) 后向映射以确保目标区域中的完整像素覆盖;(4) 利用已建立的映射生成扭曲内容并识别需要修复的区域。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

轮廓提取与控制点关联

首先将二值掩码M分解为表示独立可变形区域的不同轮廓(粉色块左侧,上图3)。轮廓指的是追踪掩码中连通区域边界的闭合曲线。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

前向扭曲

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

虽然这种前向方法建立了初始映射,但单独使用它进行扭曲会产生采样伪影(示例见上图3或下图7)。当非刚性变换拉伸图像区域时,像素的离散性会在目标位置未接收到映射值的地方产生间隙。当变换后的源像素网格在目标空间中被拉伸且变得不连续时,就会出现这种情况,从而留下未映射的间隙。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

后向映射

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

与使用全局像素参考相比,这种局部邻域方法提供了计算效率,并通过限制遥远前向扭曲结果对最终映射的影响来帮助保持结构一致性。通过确保所有坐标保持在图像边界内来验证每个计算的映射对。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

其中W和H分别表示图像的宽度和高度。这防止了从图像域外未定义区域进行采样。


后向映射策略通过建立可靠的像素级映射来完成双向框架,这些映射保持了局部结构关系,同时解决了前向变换的局限性。

计算扭曲结果和修复掩码

使用已建立的像素映射,通过传输像素值来生成扭曲图像:

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

如上图4所示,随后通过确定存在于原始掩码M中但在变形结果中未映射的像素来识别需要修复的区域:

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

与图像修复的集成

流程的最后一步是应用修复模型为变形过程中显露的区域生成内容:

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

在实现中,选择了Stable Diffusion 1.5 Inpainting Checkpoint,该模型从常规Stable Diffusion v1.2模型微调而来,并针对修复任务进行了额外训练。修复过程遵循一个简单的流程:将掩码调整大小并与图像VAE潜在表示连接。在条件扩散去噪过程中,用纯噪声初始化掩码区域,在变形显露的区域生成全新的内容。最后,通过VAE解码将结果转换回像素空间。


为优化性能,采用了多项效率增强技术:TinyAutoencoder SD (TAESD)(一种减少内存需求的蒸馏VAE);LCM(潜在一致性模型)LoRA以减少采样步骤;空文本提示以消除无分类器引导计算;以及缓存空提示嵌入以避免编辑会话中的重复计算。值得注意的是,虽然使用这种代表性修复模型报告实验结果,但本文的框架可以容纳任何修复模型作为即插即用的替代方案。

实验

数据集

使用两个基准评估拖拽编辑方法:来自SDE-Drag的DragBench-S(包含100个样本)和来自DragDiffusion的DragBench-D(包含205个样本)。每个基准条目包括源图像、描述图像的文本提示、可编辑区域的二值掩码以及显示所需移动的点对。


在本框架中,掩码作为可变形区域具有不同的用途。虽然可编辑区域指示允许编辑的位置,但可变形区域定义了在变换过程中应一起移动的连贯部分。因此重新标注了可变形区域位置和拖拽点,同时保留了原始用户编辑意图并保持源图像不变。

评估指标

本文使用LPIPS和平均距离(MD)来衡量编辑性能。


LPIPS:学习感知图像块相似度(LPIPS)v0.1测量原始图像与编辑图像之间的身份保持度。较低的LPIPS表示更好的身份保持。然而,该指标的一个局限性是它仅测量图像块之间的低级特征相似性。在拖拽编辑中,有意且正确的形状变形通常会导致不可避免的LPIPS增加,这不应受到惩罚。


平均距离(MD):该指标评估手柄点移动到目标位置的准确度。采用DIFT在编辑图像中查找用户指定手柄点的匹配点,将搜索区域限制在用户指定的手柄点和目标点周围区域以避免错误匹配。MD计算为目标点与DIFT匹配点之间的平均归一化欧几里得距离。

实现细节

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

定量评估

如下表1所示,将Inpaint4Drag与最先进的方法进行比较。本文的双向扭曲算法在DragBench-S和DragBench-D上实现了拖拽精度和图像一致性的显著提升,获得了最低的MD分数(3.6/3.9)和具有竞争力的LPIPS值(11.4/9.1)。这一优势源于密集的像素级变形计算,在操作过程中保持了颜色和几何关系。值得注意的是,Inpaint4Drag比FastDrag快14倍,比DragDiffusion快近600倍,其中基于SAM的细化耗时0.02秒,双向扭曲仅需0.01秒。计算峰值出现在SD修复预览期间,需要0.29秒,同时在所有方法中使用最少的内存(2.7GB)。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

定性结果

如下图5所示,Inpaint4Drag在来自DragBench-S和DragBench-D的挑战性案例上优于最先进的方法。通过利用专门的修复模型,Inpaint4Drag在先前被遮挡的区域生成真实的内容(例如,第1行和第4行中新暴露的面部特征,以及第3行中狮子张开的嘴巴)。可选掩码细化模块使用户能够连贯地变形对象边界(第4、5和7行)或专注于精确的局部编辑(其余示例)。与将控制点下采样到潜在分辨率时会丢失精度的隐空间方法不同,像素空间方法能够精确操作局部细节(第2行和第5行)。双向扭曲生成拖拽内容的信息化预览,为后续修复过程提供信息化的上下文。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

方法分析

掩码细化。如下图6所示,本文方法通过将SAM的预测(中间)限制在用户输入的膨胀区域内,将粗糙的初始掩码(左侧)转换为精细化的结果(右侧)。虽然细化模块同时包含内部和外部边界约束,但为了可视化清晰度,在这些示例中仅展示外部边界的使用情况。最终得到的掩码有效捕获了对象边界,同时保留了用户预期的编辑范围。

ICCV`25 | 把DragDiffusion“卷”哭了:速度快600倍,效果更精准!港大开源Inpaint4Drag-AI.x社区

单向与双向扭曲。前图7中展示了单向(仅前向扭曲)和双向扭曲的定性比较。单向方法难以处理采样伪影,在变形过程中会在拉伸区域产生明显的间隙。当非刚性变换拉伸图像区域时会出现这些伪影,因为像素的离散性会导致未映射的间隙,目标位置由于变换后像素网格的不连续性而无法接收到源值。双向方法通过两步过程有效解决了这些挑战:首先通过前向扭曲识别目标轮廓,然后采用像素级后向映射来填充间隙。这种方法产生无间断的平滑变换,为用户预览和图像修复提供可靠的视觉上下文。

结论

Inpaint4Drag,一种通过像素空间双向扭曲将图像修复重新用于基于拖拽的编辑的新方法。与依赖未针对拖拽操作优化的通用文本到图像模型的现有解决方案不同,本文专门的扭曲和修复分离有效保持了像素一致性,同时在新显露区域生成高质量内容。双向扭曲算法和基于SAM的边界细化提供实时反馈以实现直观交互。实验结果表明,Inpaint4Drag在将处理时间从分钟级减少到毫秒级的同时提供了卓越的性能。此外,由于Inpaint4Drag与任何修复模型兼容,它可以随着修复技术的进步而持续改进。


本文转自AI生成未来 ,作者:AI生成未来


原文链接:​​https://mp.weixin.qq.com/s/9QkXcLHUz3ei32L_tJwp_g​

已于2025-9-9 09:47:43修改
收藏
回复
举报
回复
相关推荐