您现在的位置是:首页 >技术交流 >DragGAN-点对点的手动P图网站首页技术交流
DragGAN-点对点的手动P图
原文网站link以及论文链接:
https://vcai.mpi-inf.mpg.de/projects/DragGAN/
https://arxiv.org/pdf/2305.10973.pdf
简介
深度生成模型近年在合成随机真实感图像方面取得了不错的成绩。在现实世界的应用中,这种基于学习的图像合成方法中一个关键功能是对合成视觉内容的可控性。为了满足这种需求,理想的图像合成方法需要满足:
灵活性:可以控制不同的空间属性,包括生成物的位置、姿势、形状、表情和布局
精准度:可以高精度控制空间属性
普适性:可以适用于不同对象类别
为了达到上述的三个需求,论文作者提出了 DragGAN。DragGAN 是一种用于直观的基于点的图像编辑的交互式方法。它利用预训练的 GAN 来合成图像,这些图像不仅能精确地遵循用户输入,而且还能保持真实图像的多样性。作者提出了两个组件来构建整个模型:
1)基于特征的运动监督(Motion supervision),驱动 handle point 朝着 target point 移动。
2)一种新的点跟踪(Point tracking)方法,利用 discriminative generator 的特征来保证 handle points 的位置。
具体来说,运动监督是通过优化潜在编码(latent code)的偏移特征块损失来实现的。每个优化步骤都会使手柄点更接近目标;因此,点跟踪随后通过在特征空间中进行最近邻搜索来执行。整个优化过程会反复进行直到 handle points 和 target point 重合。
在这项工作中,作者展示了在生成对抗网络生成的图像上进行点追踪可以在不使用额外神经网络的情况下实现。揭示了生成对抗网络的特征空间具有足够的区分能力,可以通过特征匹配简单实现追踪。虽然一些先前的工作也利用了语义分割中的区分特征[1][2],这篇文章首次将基于点的编辑问题与区分性生成对抗网络特征的直觉联系起来,并设计了具体的方法。摒弃额外的追踪模型使得我们的方法能够更高效地运行,以支持交互式编辑。
Method
这项工作旨在为 GAN 开发一种交互式图像操作方法,用户只需点击图像定义一些(handle point,target point)对,然后驱动 handle point 到达它们对应的 target point。本篇论文的研究是基于 StyleGAN2 架构 [3](如果有感兴趣的可以留言,后续对论文进行补充)
本文核心的点是在于每次的优化均由两个子步骤组成
1)运动监督(Motion supervision)
2)点跟踪(Point tracking)
需要注意的是,这个跟踪过程是必要的,因为如果 handle point(例如,狮子的鼻子)没有被准确地跟踪,那么在下一步的运动监督中,错误的点(例如,狮子的脸)将被监督,导致不希望的结果。在跟踪完成后,会基于新的控制点和潜在编码重复上述优化步骤。
运动监督(Motion supervision)
在这项工作中,作者提出了一种不依赖于任何额外神经网络的运动监督损失。关键思想是生成器的中间特征非常有区别性,因此简单的损失就足以监督运动。具体来说,作者考虑了 StyleGAN2 第 6 个块之后的特征图,这在所有特征中表现最佳,因为它在分辨率和区分度之间有很好的平衡。
如图所示,为了将一个控制点 ?? 移动到目标点 ??,作者通过监督 ?? 周围的一个小区域(红色圆圈),使其以一个小步长(蓝色圆圈)朝着 ?? 移动。使用 Ω1(??, ?1) 来表示与 ?? 的距离小于 ?1 的像素,那么运动监督损失为:
其中,F(?) 表示 ? 在像素 ? 处的特征值,?? = ?? −?? 是一个从 ?? 指向 ?? 的归一化向量(如果?? = ??,则?? = 0),?0 是对应于初始图像的特征图。注意,第一项对所有控制点 {??} 进行求和。由于?? +?? 的分量不是整数,作者通过双线性插值来获得 F(?? +??)的值。重要的是,在使用这个损失进行反向传播时,梯度不会通过 F(??) 进行反向传播。这将促使 ?? 移动到 ?? + ??,而不是反过来。如果给定了二值掩码M,则通过第二项所示的重构损失来固定未被掩码遮挡的区域。在每个运动监督步骤中,这个损失用于优化一个步骤的潜变量?。
?可以在W空间或W+空间中进行优化,具体取决于用户是否希望获得更受限制的图像流形。由于W+空间更容易实现超出分布的操作,作者在这项工作中使用W+以获得更好的可编辑性。实际上,作者观察到图像的空间属性主要受到前6层的?的影响,而剩下的层只影响外观。因此,受到样式混合技术的启发[4],只更新前6层的?,同时保持其他层不变以保留外观。这种选择性的优化导致图像内容的轻微移动,从而实现所期望的效果。
Point Tracking
前面的运动监督得到了新的潜在编码?’、新的特征图F’和新的图像I’。由于运动监督步骤并没有直接提供处理点的精确新位置,因此目标是更新每个处理点??,使其跟踪物体上对应的点。点追踪通常通过光流估计模型或粒子视频方法进行[5]。然而,这些额外的模型会显著影响效率,并且在GAN中可能会出现累积误差,特别是在存在别名伪影的情况下。因此,作者提出了一种适用于 GAN 的新的点追踪方法。关键在于 GAN 的辨别特征很好地捕捉到了密集对应关系,因此可以通过特征块中的最近邻搜索来有效地进行跟踪。具体而言,将初始处理点的特征表示为?? = F0(??)。围绕 ?? 的区域定义为 Ω2(??, ?2) = {(?, ?) | |? - ??,? | < ?2, |? - ??,? | < ?2}。然后通过在 Ω2(??, ?2) 中搜索 ?? 的最近邻来获得追踪点的位置。
通过这种方式,?? 被更新以跟踪物体。对于多个处理点,每个点应用相同的过程。需要注意的是,这里也考虑了StyleGAN2 的第 6 个块之后的特征图 F’。
More Discussions
掩码的影响(Effects of mask)
本文允许用户输入一个表示可移动区域的二值掩码。如下图所示当给出一只狗头的掩码时,其他区域几乎保持不变,只有头部移动。如果没有掩码,操作将移动整个狗的身体。这也表明,基于点的操作通常有多个可能的解决方案,GAN将倾向于在从训练数据中学到的图像流形中找到最接近的解决方案。掩码函数可以帮助减少歧义并保持某些区域固定。
超出分布的操作(Out-of-distribution manipulation)
下图展示了一些超出分布的操作。可以看到,DragGAN 具有一定的外推能力,可以创建超出训练图像分布的图像,例如极度张开的嘴和大轮子。在某些情况下,用户可能希望始终将图像保持在训练分布中,并防止其达到这种超出分布的操作。实现这一目标的潜在方法是对潜码?添加额外的正则化项。
局限性
尽管具有一定的外推能力,但质量仍受训练数据的多样性影响。如下图所示,创建与训练分布偏离的人体姿势可能会产生伪影。此外,纹理较少区域的处理点有时会在跟踪中产生更多的漂移,因此建议尽可能选择纹理丰富的处理点。
社会影响
由于 GragGAN 可以改变图像的空间属性,它可能被滥用来创建具有虚假姿势、表情或形状的真实人物图像。因此,任何使用 GragGAN 的应用或研究都必须严格遵守人格权利和隐私法规。
参考文献
[1] Nontawat Tritrong, Pitchaporn Rewatbowornwong, and Supasorn Suwajanakorn. 2021. Repurposing gans for one-shot semantic part segmentation. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 4475–4485.
[2] Yuxuan Zhang, Huan Ling, Jun Gao, Kangxue Yin, Jean-Francois Lafleche, Adela Barriuso, Antonio Torralba, and Sanja Fidler. 2021. DatasetGAN: Efficient Labeled Data Factory with Minimal Human Effort. In CVPR
[3] Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, and Timo Aila. 2020. Analyzing and improving the image quality of stylegan. In CVPR. 8110–8119
[4] Tero Karras, Samuli Laine, and Timo Aila. 2019. A style-based generator architecture for generative adversarial networks. In CVPR. 4401–4410.
[5] Adam W. Harley, Zhaoyuan Fang, and Katerina Fragkiadaki. 2022. Particle Video Revisited: Tracking Through Occlusions Using Point Trajectories. In ECCV