去年 5 月,动动鼠标就能让图片变「活」得研究 DragGAN 吸引了 AI 圈的关注。通过拖拽,我们可以改变并合成自己想要的图像,比如下图中让一头狮子转头并张嘴。
实现这一效果的研究出自华人一作领衔的「Drag Your GAN」论文,于上个月放出并已被 SIGGRAPH 2023 会议接收。相关的项目在 GitHub 上已经积累了 34.5k 的 Star 量。
项目地址:github.com/XingangPan/...
之后,新加坡国立大学和字节跳动推出了类似的研究 ------DragDiffusion。他们利用大规模预训练扩散模型,极大提升了基于点的交互式编辑在现实世界场景中的适用性。效果如下动图所示:
尽管取得了很大的成功,但类似的拖拽方案存在两个主要缺陷,即点跟踪不准确和动作监督不完整,从而可能导致无法达到满意的拖拽效果。
为了克服这些缺陷,南京大学、腾讯的几位研究者提出了一种判别式点跟踪方法并针对动作监督采用了基于置信的潜在增强策略,构建了一个更加稳定和精确的拖拽编辑框架 ------StableDrag。
其中判别式点跟踪方法能够精确地定位更新的操纵点,提高长程操纵稳定性;基于置信的潜在增强策略能够在所有操纵步骤中,保证优化的潜在变量尽可能地高质量。
-
论文标题:StableDrag: Stable Dragging for Point-based Image Editing
得益于这些独特的设计,研究者实例化了两种类型的图像编辑模型:StableDrag-GAN 和 StableDrag-Diff。这两个模型在 DragBench 上进行了广泛的定性和定量评估,结果都显示出更加稳定的拖拽效果。
如下为 StableDrag-GAN 的更多拖拽示例。
StableDrag-Diff 的拖拽示例如下所示。
方法介绍
如图 1 所示,由于不精确的点跟踪和不完整的动作监督,DragGAN 和 DragDiffusion 对图像的编辑质量不高。因此,在这项工作中,本文将注意力集中在当前的拖拽技术上,以实现更稳定和更精确的图像操作。
拖拽 pipeline 如图 2 所示,包括判别点跟踪模块( Discriminative PT )和置信动作监督模块( Confident MS )。
判别点跟踪
本文提出了一种更具辨别力但简单的点跟踪算法。在本文的设计中,点跟踪模型构成卷积层的权重,并提供点分类得分作为输出。具体来说,本文建议学习一个函数,其中 g 为卷积函数,为当前操纵点( handle point ) p_i 周围的局部 patch,z_i 为学习到的跟踪模型。详细流程如上图 2 所示。
在此过程中,跟踪点 p_i 的更新方式为:
跟踪模型 z_i 是一个大小为 1 × C × 1 × 1 的卷积滤波器,其学习过程概述如图 3 所示。本文使用 f_i 初始化 z_i 并在以下损失的监督下更新权重:
置信动作监督
本文提出了一种基于置信度的潜在增强策略,如图 2 所示。首先,本文引入跟踪得分最大值即 s_i,来表示当前的监督置信度,以及置信度分数在 step-1 产生增强策略的阈值。通常,当模型足够自信地识别当前状态时,本文会采用论文中等式(1)的原始动作监督。如果当前的置信度得分低于预定义的阈值,则采用初始模板进行监督。具体强化监督定义为:
实验结果
研究者基于 PyTorch 实现了 StableDrag-GAN 和 StableDrag-Diff,实验中使用了一块英伟达 V100 GPU。
下图 5 展示了 DragGAN 与 StableDrag-GAN、DragDiffusion 与 StableDrag-Diff、以及 FreeDrag-Diff 与 StableDrag-Diff 三组模型之间的定性比较。
可以看到,本文的 StableDrag 方法可以更精准地将操纵点移动到目标点,例如山峰、狮子下巴、小鹿额头和灯泡。同时,StableDrag 可以生成更高质量和更高保真度的编辑结果,比如保持手提包、眼镜、马和兵马俑的外观。
研究者在 DragBench 基准上对 StableDrag 方法进行了定量评估,该基准包含 205 个具有预定义拖拽点和掩码(mask)的样本。
如下表 1 所示,在 3 种不同的优化步骤设置下,StableDrag-Diff 始终能够优化 DragDiffusion。
这进一步表明:通过置信动作监督和判别式点跟踪,StableDrag 可以在编辑准确性和内容一致性方面实现有潜力的结果。
除了定性和定量评估之外,为了验证本文方法的有效性并展开深入分析,研究者通过「基于 GAN 和扩散模型的定性可视化」以及「基于扩散模型的 DragBench 定量评估」,进行了详细的消融实验。
首先是置信动作监督。研究者首先进行了基于 StableDrag-GAN 的马编辑实验,如下图 6 所示,随着置信度得分逐渐降低,没有置信度动作监督模块的 StableDrag 编辑的图像质量较低。
其次是判别点跟踪。图 7 和表 2 评估了 StableDrag 和没有判别跟踪模型的 StableDrag。我们可以看到,没有判别跟踪模型的 StableDrag 可能会受到背景干扰点的误导,导致结果不准确。
最后是跟踪模块的实用性。该研究提出的点跟踪器在公式和实现上都很简洁。如表 3 所示训练跟踪器(大约仅 1 秒)花费的时间远少于拖拽过程。
更多技术细节和实验结果请参阅原论文。