有手就行?把大象P转身只需拖动鼠标,华人一作DragGAN爆火(1)

简介: 有手就行?把大象P转身只需拖动鼠标,华人一作DragGAN爆火
如果甲方想把大象 P 转身,你只需要拖动 G AN 就好了。


在图像生成领域,以 Stable Diffusion 为代表的扩散模型已然成为当前占据主导地位的范式。但扩散模型依赖于迭代推理,这是一把双刃剑,因为迭代方法可以实现具有简单目标的稳定训练,但推理过程需要高昂的计算成本。


在 Stable Diffusion 之前,生成对抗网络(GAN)是图像生成模型中常用的基础架构。相比于扩散模型,GAN 通过单个前向传递生成图像,因此本质上是更高效的。但由于训练过程的不稳定性,扩展 GAN 需要仔细调整网络架构和训练因素。因此,GAN 方法很难扩展到非常复杂的数据集上,在实际应用方面,扩散模型比 GAN 方法更易于控制,这是 GAN 式微的原因之一。


当前,GAN 主要是通过手动注释训练数据或先验 3D 模型来保证其可控性,这通常缺乏灵活性、精确性和通用性。然而,一些研究者看重 GAN 在图像生成上的高效性,做出了许多改进 GAN 的尝试。


最近,来自马克斯・普朗克计算机科学研究所、MIT CSAIL 和谷歌的研究者们研究了一种控制 GAN 的新方法 DragGAN,能够让用户以交互的方式「拖动」图像的任何点精确到达目标点。




这种全新的控制方法非常灵活、强大且简单,有手就行,只需在图像上「拖动」想改变的位置点(操纵点),就能合成你想要的图像。


例如,让狮子「转头」并「开口」:


还能轻松让小猫 wink:


再比如,你可以通过拖动操纵点,让单手插兜的模特把手拿出来、改变站立姿势、短袖改长袖。看上去就像是同一个模特重新拍摄了新照片:


,时长01:34

如果你也接到了「把大象转个身」的 P 图需求,不妨试试:




整个图像变换的过程就主打一个「简单灵活」,图像想怎么变就怎么变,因此有网友预言:「PS 似乎要过时了」。


也有人觉得,这个方法也可能会成为未来 PS 的一部分。


总之,观感就是一句话:「看到这个,我脑袋都炸了。」


当大家都以为 GAN 这个方向从此消沉的时候,总会出现让我们眼前一亮的作品:


这篇神奇的论文,已经入选了 SIGGRAPH 2023。研究者表示,代码将于六月开源。


那么,DragGAN 是如何做到强大又灵活的?我们来看一下该研究的技术方法。


方法概述


该研究提出的 DragGAN 主要由两个部分组成,包括:


  • 基于特征的运动监督,驱动图像中的操纵点向目标位置移动;
  • 一种借助判别型 GAN 特征的操纵点跟踪方法,以控制点的位置。


DragGAN 能够通过精确控制像素的位置对图像进行改变,可处理的图像类型包括动物、汽车、人类、风景等,涵盖大量物体姿态、形状、表情和布局,并且用户的操作方法简单通用。


GAN 有一个很大的优势是特征空间具有足够的判别力,可以实现运动监督(motion supervision)和精确的点跟踪。具体来说,运动监督是通过优化潜在代码的移位特征 patch 损失来实现的。每个优化步骤都会导致操纵点更接近目标,然后通过特征空间中的最近邻搜索来执行点跟踪。重复此优化过程,直到操纵点达到目标。


DragGAN 还允许用户有选择地绘制感兴趣的区域以执行特定于区域的编辑。由于 DragGAN 不依赖任何额外的网络,因此它实现了高效的操作,大多数情况下在单个 RTX 3090 GPU 上只需要几秒钟就可以完成图像处理。这让 DragGAN 能够进行实时的交互式编辑,用户可以对图像进行多次变换更改,直到获得所需输出。



如下图所示,DragGAN 可以有效地将用户定义的操纵点移动到目标点,在许多目标类别中实现不同的操纵效果。与传统的形变方法不同的是,本文的变形是在 GAN 学习的图像流形上进行的,它倾向于遵从底层的目标结构,而不是简单地应用扭曲。例如,该方法可以生成原本看不见的内容,如狮子嘴里的牙齿,并且可以按照物体的刚性进行变形,如马腿的弯曲。


研究者还开发了一个 GUI,供用户通过简单地点击图像来交互地进行操作。


此外,通过与 GAN 反转技术相结合,本文方法还可以作为一个用于真实图像编辑的工具。


一个非常实用的用途是,即使合影中某些同学的表情管理不过关,你也可以为 Ta 换上自信的笑容:


顺便提一句,这张照片正是本篇论文的一作潘新钢,2021 年在香港中文大学多媒体实验室获得博士学位,师从汤晓鸥教授。目前是马克斯普朗克信息学研究所博士后,并将从 2023 年 6 月开始担任南洋理工大学计算机科学与工程学院 MMLab 的任助理教授。


这项工作旨在为 GAN 开发一种交互式的图像操作方法,用户只需要点击图像来定义一些对(操纵点,目标点),并驱动操纵点到达其对应的目标点。


这项研究基于 StyleGAN2,基本架构如下:



在 StyleGAN2 架构中,一个 512 维的潜在代码𝒛∈N(0,𝑰)通过一个映射网络被映射到一个中间潜在代码𝒘∈R 512 中。𝒘的空间通常被称为 W。然后,𝒘被送到生成器𝐺,产生输出图像 I = 𝐺(𝒘)。在这个过程中,𝒘被复制了几次,并被送到发生器𝐺的不同层,以控制不同的属性水平。另外,也可以对不同层使用不同的𝒘,在这种情况下,输入将是,其中𝑙是层数。这种不太受约束的 W^+ 空间被证明是更有表现力的。由于生成器𝐺学习了从低维潜在空间到高维图像空间的映射,它可以被看作是对图像流形的建模。


实验


为了展示 DragGAN 在图像处理方面的强大能力,该研究展开了定性实验、定量实验和消融实验。实验结果表明 DragGAN 在图像处理和点跟踪任务中均优于已有方法。



相关文章
|
11月前
|
人工智能 文字识别 异构计算
SmolDocling:256M多模态小模型秒转文档!开源OCR效率提升10倍
SmolDocling 是一款轻量级的多模态文档处理模型,能够将图像文档高效转换为结构化文本,支持文本、公式、图表等多种元素识别,适用于学术论文、技术报告等多类型文档。
1045 1
SmolDocling:256M多模态小模型秒转文档!开源OCR效率提升10倍
|
12月前
|
机器学习/深度学习 算法
算法系列之搜索算法-深度优先搜索DFS
深度优先搜索和广度优先搜索一样,都是对图进行搜索的算法,目的也都是从起点开始搜索,直到到达顶点。深度优先搜索会沿着一条路径不断的往下搜索,直到不能够在继续为止,然后在折返,开始搜索下一条候补路径。
905 62
算法系列之搜索算法-深度优先搜索DFS
|
Windows
LabVIEW安装程序需要Windows1064位(版本1507)或更新版本
LabVIEW安装程序需要Windows1064位(版本1507)或更新版本
571 1
|
存储 编解码 Dart
腾讯开源混元视频生成模型,这效果!太稳了吧!
腾讯开源了HunyuanVideo,这是一个超过130亿参数的视频生成模型,具备高性能的图像-视频联合生成能力。通过创新的模型架构和高效的训练基础设施,HunyuanVideo在视觉质量、运动多样性和文本-视频对齐等方面表现出色,超越了多个现有模型。该项目旨在推动视频生成技术的发展,促进社区交流与创新。
1304 11
腾讯开源混元视频生成模型,这效果!太稳了吧!
|
11月前
|
前端开发 JavaScript 测试技术
大厂开源项目,真的太爽啦,字节跳动出品!这个设计系统开源神器,让你的产品颜值与效率齐飞
Semi Design是由抖音前端团队开源的企业级设计系统,**同时支持React/Vue双框架**,提供超过60+高质量组件。不同于普通UI库,它从**设计工程化**角度出发,打通Figma设计资源与前端代码的桥梁,真正实现设计稿到代码的"零误差还原"。目前已在字节跳动200+项目中验证,日均调用量超过3000万次。
540 7
|
存储 前端开发 Java
SpringBoot整合Flowable【05】- 使用流程变量传递业务数据
本文介绍了如何使用Flowable的流程变量来管理绩效流程中的自定义数据。首先回顾了之前的简单绩效流程,指出现有流程缺乏分数输入和保存步骤。接着详细解释了流程变量的定义、分类(运行时变量和历史变量)及类型。通过具体代码示例展示了如何在绩效流程中插入全局和局部流程变量,实现各节点打分并维护分数的功能。最后总结了流程变量的使用场景及其在实际业务中的灵活性,并承诺将持续更新Flowable系列文章,帮助读者更好地理解和应用Flowable。 简要来说,本文通过实例讲解了如何利用Flowable的流程变量功能优化绩效评估流程,确保每个环节都能记录和更新分数,同时提供了全局和局部变量的对比和使用方法。
1196 0
SpringBoot整合Flowable【05】- 使用流程变量传递业务数据
|
传感器 监控 JavaScript
千套单片机\stm32毕设课设题目及资料案列-干货分享
为帮助电子工程领域的学习者顺利毕业或掌握更多专业知识,我们精心整理了一系列单片机和STM32相关的题目及资料案例。这些资源覆盖了从毕业设计到课程设计的各个方面,包括但不限于智能小车、温度控制系统、无线通信、智能家居等多个领域。每项设计都配有详细的原理图、仿真图以及完整的文档资料,旨在帮助学生深入理解理论知识的同时,提高实际动手操作能力。无论是初学者还是有一定基础的学生,都能从中找到适合自己的项目进行实践探索。
4262 8
|
Kubernetes 网络协议 API
玩转Kubernetes—基础概念篇
玩转Kubernetes—基础概念篇
513 1
|
存储 前端开发 程序员
Session 机制
Session 机制