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](如果有感兴趣的可以留言,后续对论文进行补充)

DragGAN-点对点的手动P图

本文核心的点是在于每次的优化均由两个子步骤组成

1)运动监督(Motion supervision)
2)点跟踪(Point tracking)

需要注意的是,这个跟踪过程是必要的,因为如果 handle point(例如,狮子的鼻子)没有被准确地跟踪,那么在下一步的运动监督中,错误的点(例如,狮子的脸)将被监督,导致不希望的结果。在跟踪完成后,会基于新的控制点和潜在编码重复上述优化步骤。

运动监督(Motion supervision)

在这项工作中,作者提出了一种不依赖于任何额外神经网络的运动监督损失。关键思想是生成器的中间特征非常有区别性,因此简单的损失就足以监督运动。具体来说,作者考虑了 StyleGAN2 第 6 个块之后的特征图,这在所有特征中表现最佳,因为它在分辨率和区分度之间有很好的平衡。
DragGAN-点对点的手动P图

如图所示,为了将一个控制点 𝒑𝑖 移动到目标点 𝒕𝑖,作者通过监督 𝒑𝑖 周围的一个小区域(红色圆圈),使其以一个小步长(蓝色圆圈)朝着 𝒕𝑖 移动。使用 Ω1(𝒑𝑖, 𝑟1) 来表示与 𝒑𝑖 的距离小于 𝑟1 的像素,那么运动监督损失为:
DragGAN-点对点的手动P图
其中,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) 中搜索 𝑓𝑖 的最近邻来获得追踪点的位置。
DragGAN-点对点的手动P图

通过这种方式,𝒑𝑖 被更新以跟踪物体。对于多个处理点,每个点应用相同的过程。需要注意的是,这里也考虑了StyleGAN2 的第 6 个块之后的特征图 F’。

More Discussions

掩码的影响(Effects of mask)

本文允许用户输入一个表示可移动区域的二值掩码。如下图所示当给出一只狗头的掩码时,其他区域几乎保持不变,只有头部移动。如果没有掩码,操作将移动整个狗的身体。这也表明,基于点的操作通常有多个可能的解决方案,GAN将倾向于在从训练数据中学到的图像流形中找到最接近的解决方案。掩码函数可以帮助减少歧义并保持某些区域固定。
DragGAN-点对点的手动P图

超出分布的操作(Out-of-distribution manipulation)

下图展示了一些超出分布的操作。可以看到,DragGAN 具有一定的外推能力,可以创建超出训练图像分布的图像,例如极度张开的嘴和大轮子。在某些情况下,用户可能希望始终将图像保持在训练分布中,并防止其达到这种超出分布的操作。实现这一目标的潜在方法是对潜码𝒘添加额外的正则化项。

DragGAN-点对点的手动P图

局限性

尽管具有一定的外推能力,但质量仍受训练数据的多样性影响。如下图所示,创建与训练分布偏离的人体姿势可能会产生伪影。此外,纹理较少区域的处理点有时会在跟踪中产生更多的漂移,因此建议尽可能选择纹理丰富的处理点。
DragGAN-点对点的手动P图

社会影响

由于 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文章来源地址https://www.toymoban.com/news/detail-477616.html

到了这里,关于DragGAN-点对点的手动P图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ffmpeg点对点音视频udp协议传输

    参考:https://zhuanlan.zhihu.com/p/636152437?utm_id=0 ffmpeg查看可用设备: 局域网内两台设备间 局域网内两台设备间

    2024年04月10日
    浏览(44)
  • 思科路由器点对点故障的解决方法

    思科路由器采用CPOS接口,节省了一个TM传输设备,配线也简单多了,同时还节省很多的同轴电缆,用一根光纤全部解决,CPOS接口内部分为了多个接口,通过这种接口可以用一个端口与多个物理接口相连。   这种连接和帧中继、X.25的虚连接不同,实际上仍然是物理相连,在传

    2024年02月05日
    浏览(51)
  • C#实现udp点对点通信的完整示例

    udp和tcp都是传输协议,最大的不同是,tcp通信前需要建立连接,是更可靠的通信协议,而udp是一个无连接的传输协议,可直接发送数据。两种协议不分优劣,各有各的应用场景,实际应用往往会同时使用两种协议。 C#代码实现udp通信的步骤比较简单。 假设:A要向B发送消息。

    2024年02月16日
    浏览(39)
  • SpringBoot整合 websocket 实现群聊,点对点聊天

    1.websocket websocket最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。浏览器和服务器只需要要做一个握手的动作,在建立连接之后,服务器可以主动传送数据给客户端,客户端也可以随时向服务器发送数据。 第一、WebSocket是HTML5中的协议,支

    2024年02月08日
    浏览(36)
  • 同城跑腿系统源码,点对点配送,帮你省时省力

    随着互联网的发展,越来越多的人开始依赖网络来解决生活中的各种问题。而同城跑腿系统就是其中一个受欢迎的解决方案。 ​同城跑腿系统是指一种基于互联网的服务,通过在线平台将用户和服务提供者连接起来,以便用户可以轻松地安排他们的日常任务和需求。 一、同

    2024年02月06日
    浏览(55)
  • VB点对点聊天文件传输系统设计与实现

    本程序使用VB语言编程,使用WinSock控件完成的点对点(P2P)聊天和文件传输程序。可以实现两台机器间互发消息,并且有聊天和文件传输记录,安全可靠。 p2p WinSock,聊天和文件传输程序,VB P2P是一种技术,但更多的是一种思想,有着改变整个互联网基础的潜能的思想。

    2024年02月13日
    浏览(40)
  • 基于IPC-CFX的点对点通信C#

            IPC-CFX有两种主要的通信方式,可以通过RabbitMQ发布和订阅,也可以通过request和response进行点对点的通信,本文主要讲的是点对点的通信方式。         在vscode里建立新的dotnet项目,可以通过终端输入dotnet new console来建立,文件目录为CFXDemo-machine1和CFXDemo-machine2。  

    2024年02月16日
    浏览(45)
  • C语言的UDP多线程点对点发送消息

    windows下使用Dev C++调试 Server段: /**  * 编译命令:gcc udps.c -lws2_32 -lmycon -lwinmm -o us.exe  */ Client端: /**  * 编译命令:gcc udpc.c -lws2_32 -lmycon -lwinmm -o uc.exe  */ mycon.h(32位) mycon.h(64位) 仅供学习

    2024年02月16日
    浏览(45)
  • Kindelia-Chain+HVM:点对点函数式计算网络

    开源代码见: https://github.com/Kindelia/Kindelia-Chain(Rust) https://github.com/kindelia/hvm(Rust) Kindelia基于以太坊,但对其进行了改进: Kindelia-Chain白皮书见: Kindelia: a peer-to-peer functional computer Kindelia: a peer-to-peer functional computer 里程碑规划为: 2022.1~2022.7:完成白皮书和客户端原型,

    2023年04月08日
    浏览(36)
  • 基于多智能体点对点转换的分布式模型预测控制

    matlab2020正常运行 基于多智能体点对点转换的分布式模型预测控制资源-CSDN文库

    2024年01月22日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包