关于人工智能:大象转身只需点点鼠标爆火-DragGAN-原理浅析

9次阅读

共计 1689 个字符,预计需要花费 5 分钟才能阅读完成。

出品人:Towhee 技术团队
作者:张晨

DragGAN 介绍

合成满足用户需要的视觉内容往往须要对生成对象的姿态、形态、表情和布局进行灵便和准确的管制。现有办法通过手动正文的训练数据或先前的 3D 模型取得生成反抗网络 (GAN) 的可控性,这通常不足灵活性、精确性和通用性。这项工作钻研了一种弱小但摸索较少的管制 GAN 的办法,即以用户交互的形式“拖动”图像的任何点以准确达到指标点,如下图所示。为实现这一指标,本文提出了 DragGAN,通过 DragGAN,任何人都能够通过准确管制像素的地位对图像进行变形,从而操纵动物、汽车、人类、风光等不同类别的姿态、形态、表情和布局。定性和定量比拟都证实了 DragGAN 在图像处理和点跟踪工作中优于先前办法的劣势。

DragGAN 容许用户“拖动”任何 GAN 生成图像的内容。用户只需点击图像上的几个 handle 点(红色)和指标点(蓝色),就能够挪动 handle 点以准确达到其对应的指标点。用户能够抉择绘制灵便区域(较亮区域)的 mask,放弃图像的其余部分固定。这种灵便的基于点的操作能够管制许多空间属性,如姿态、形态、表情和跨不同对象类别的布局。

静止监督和 handle 跟踪

DragGAN 蕴含了两个子操作:

  • 基于特色的静止监督,驱动 handle 点向指标地位挪动,
  • 一种新的点跟踪办法,利用判断生成器特色来放弃定位 handle 点的地位。

实践上,GAN 的特色空间具备足够的判断性,能够实现静止监督和准确点跟踪。具体来说,静止监督是通过优化隐空间编码 (latent code) 的偏移 patch loss 来实现的。每个优化步骤都会使得 handle 点更靠近指标;而后通过特色空间中的最近邻搜寻来执行 handle 点跟踪。反复此优化过程,直到 handle 点达到目标。DragGAN 还容许用户有选择地绘制感兴趣的区域以执行特定于区域的编辑。因为 DragGAN 不依赖任何额定的网络,它实现了高效的操作,在大多数状况下在比方单个 RTX 3090 GPU 上只须要几秒钟。这容许进行实时的交互式编辑会话,用户能够在其中疾速迭代不同的布局,直到取得所需的输入。

  • 静止监督是通过生成器特色图上的偏移 patch loss 来实现的。图中红圈 patch 和蓝圈 patch 之间的差别,对于 latent code 求导,能够失去新的 latent code w’。图中红 patch 后加了 ”.detach()”,意思就是它是原图,是不变的,而蓝 patch 是通过新 latent code 进去的可变量,所以是通过它反传梯度。
  • 通过最近邻搜寻对同一特色空间进行 handle 点跟踪。图中是两头那个图,在正方形区域内最近邻搜寻原来 p 点的特色 f0,于是能够搜寻到新的地位 p,即实现跟踪。这么做的原理是,GAN 的特色具备判断性,能很好地捕捉了密集的对应关系,因而能够通过特色块中的最近邻搜寻无效地执行跟踪。

遮罩(mask)的用途

将狗的头部区域遮蔽后,其余部分简直没有变动。
Mask 能够在交互时,确定图像中确定图像中的可变区域,这样能够打消歧义,让用户做到更加精准的管制。

总结

DragGAN 是一种用于直观的基于点的图像编辑的交互式办法。办法利用预训练的 GAN 来合成图像,这些图像不仅能准确地遵循用户输出,而且还能放弃实在图像的多样性。与许多以前的办法相比,本文通过不依赖特定畛域的建模或辅助网络来出现一个通用框架。这是通过应用两个次要步骤来实现的:一是 latent code 的优化,它能够进行静止监督,将 handle 点移向其指标地位,二是一个点跟踪办法,它无效地跟踪 handle 点的轨迹。作者将来打算将基于点的编辑扩大到 3D 生成模型。

相干材料:

  • 官网展现:https://vcai.mpi-inf.mpg.de/projects/DragGAN/
  • 论文链接:https://arxiv.org/abs/2305.10973
  • 代码地址:https://github.com/XingangPan/DragGAN(官网版本,打算 6 月开源),https://github.com/Zeqiang-Lai/DragGAN(非官方版本)

本文由 mdnice 多平台公布

正文完
 0