去年 5 月,动动鼠标就能让图片变「活」得研究 DragGAN 吸引了 AI 圈的关注。通过拖拽,我们可以改变并合成自己想要的图象,比以下图中让一头狮子转头并张嘴。
实现这一效果的研究出自华人一作领衔的「Drag Your GAN」论文,于上个月放出并已被 SIGGRAPH 2023 会议接收。相关的项目在 GitHub 上已经积累了 34.5k 的 Star 量。
项目地址:https://github.com/XingangPan/DragGAN
之后,新加坡国立大学和字节跳动推出了类似的研究 ——DragDiffusion。他们利用大规模预训练扩散模型,极大提升了鉴于点的交互式编写在现实世界场景中的适用性。效果以下动图所示:
尽管取得了很大的成功,但类似的拖拽方案存在两个主要缺陷,即点追踪不准确和行动监视不完整,从而可能导致无法达到满意的拖拽效果。
为了克服这些缺陷,南京大学、腾讯的几位研究者提出了一种鉴别式点追踪格式并针对行动监视采用了鉴于相信的潜伏增强策略,构建了一个更加稳定和准确的拖拽编写框架 ——StableDrag。
其中鉴别式点追踪格式能够准确地定位更新的支配点,提高长程支配稳定性;鉴于相信的潜伏增强策略能够在所有支配步骤中,保证优化的潜伏变量尽可能地高质量。
论文标题:StableDrag: Stable Dragging for Point-based Image Editing
论文地址:https://arxiv.org/pdf/2403.04437.pdf
项目地址:https://stabledrag.github.io/
得益于这些独特的设计,研究者实例化了两种类型的图象编写模型:StableDrag-GAN 和 StableDrag-Diff。这两个模型在 DragBench 上进行了广泛的定性和定额评价,结果都显示出更加稳定的拖拽效果。
从下面视频中,我们可以看到 StableDrag-GAN 的拖拽全过程。
以下为 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 秒)花费的时间远少于拖拽过程。
更多技术细节和尝试结果请参阅原论文。