首页 > 其他分享 >DragGAN:拽一拽关键点就能让狮子张嘴&大象转身

DragGAN:拽一拽关键点就能让狮子张嘴&大象转身

时间:2023-05-28 10:23:36浏览次数:47  
标签:DragGAN 大象 AI 模型 监督 修图 图像 关键点

这两天,一段AI修图视频在国内外社交媒体上传疯了。

不仅直接蹿升B站关键词联想搜索第一,视频播放上百万,微博推特也是火得一塌糊涂,转发者纷纷直呼“PS已死”。

怎么回事?

原来,现在P图真的只需要“轻轻点两下”,AI就能彻底理解你的想法!

小到竖起狗子的耳朵:

大到让整只狗子蹲下来,甚至让马岔开腿“跑跑步”,都只需要设置一个起始点和结束点,外加拽一拽就能搞定:

不止是动物的调整,连像汽车这样的“非生物”,也能一键拉升底座,甚至升级成“加长豪华车”:

这还只是AI修图的“基操”。

要是想对图像实现更精准的控制,只需画个圈给指定区域“涂白”,就能让狗子转个头看向你:

或是让照片中的小姐姐“眨眨眼”:

甚至是让狮子张大嘴,连牙齿都不需要作为素材放入,AI自动就能给它“安上”:

如此“有手就能做”的修图神器,来自一个MIT、谷歌、马普所等机构联手打造的DragGAN新模型,论文已入选SIGGRAPH 2023。

没错,在扩散模型独领风骚的时代,竟然还能有人把GAN玩出新花样

目前这个项目在GitHub上已经有5k+ Star,热度还在不断上涨中(尽管一行代码还没发)。

所以,DragGAN模型究竟长啥样?它又如何实现上述“神一般的操作”?

拽一拽关键点,就能修改图像细节

这个名叫DragGAN的模型,本质上是为各种GAN开发的一种交互式图像操作方法。

论文以StyleGAN2架构为基础,实现了点点鼠标、拽一拽关键点就能P图的效果。

具体而言,给定StyleGAN2生成的一张图像,用户只需要设置几个控制点(红点)和目标点(蓝点),以及圈出将要移动的区域(比如狗转头,就圈狗头)。

然后模型就将迭代执行运动监督和点跟踪这两个步骤,其中运动监督会驱动红色的控制点向蓝色的目标点移动,点跟踪则用于更新控制点来跟踪图像中的被修改对象。

这个过程一直持续到控制点到达它们对应的目标点。

不错,运动监督和点跟踪就是我们今天要讲的重点,它是DragGAN模型中最主要的两个组件。

先说运动监督。在此之前,业界还没有太多关于如何监督GAN生成图像的点运动的研究。

在这项研究中,作者提出了一种不依赖于任何额外神经网络的运动监督损失(loss)。

其关键思想是,生成器的中间特征具有很强的鉴别能力,因此一个简单的损失就足以监督运动。

所以,DragGAN的运动监督是通过生成器特征图上的偏移补丁损失(shifted patch loss)来实现的。

如下图所示,要移动控制点p到目标点t,就要监督p点周围的一小块patch(红圈)向前移动的一小步(蓝圈)。

再看点跟踪。

先前的运动监督会产生一个新的latent code、一个新特征图和新图像。

由于运动监督步骤不容易提供控制点的精确新位置,因此我们的目标是更新每个手柄点p使其跟踪上对象上的对应点。

此前,点跟踪通常通过光流估计模型或粒子视频方法实现。

但同样,这些额外的模型可能会严重影响效率,并且在GAN模型中存在伪影的情况下可能使模型遭受累积误差。

因此,作者提供了一种新方法,该方法通过最近邻检索在相同的特征空间上进行点跟踪。

而这主要是因为GAN模型的判别特征可以很好地捕捉到密集对应关系。

基于这以上两大组件,DragGAN就能通过精确控制像素的位置,来操纵不同类别的对象完成姿势、形状、布局等方面的变形。

作者表示,由于这些变形都是在GAN学习的图像流形上进行的,它遵从底层的目标结构,因此面对一些复杂的任务(比如有遮挡),DragGAN也能产生逼真的输出。

单张3090几秒钟出图

所以,要实现几秒钟“精准控图”的效果,是否需要巨大的算力?

nonono。大部分情况下,每一步拖拽修图,单张RTX 3090 GPU在数秒钟内就能搞定。

具体到生成图像的效果上,实际评估(均方误差MSE、感知损失LPIPS)也超越了一系列类似的“AI修图”模型,包括RAFT和PIPs等等:

如果说文字的还不太直观,具体到视觉效果上就能感受到差异了:

值得一提的是,DragGAN的“潜力”还不止于此。

一方面,如果增加关键点的数量,还能实现更加精细的AI修图效果,用在人脸这类对修图要求比较严格的照片上,也是完全没问题:

另一方面,不止开头展示的人物和动物,放在汽车、细胞、风景和天气等不同类型的图像上,DragGAN也都能精修搞定。

除了不同的照片类型,从站到坐、从直立到跑步、从跨站到并腿站立这种姿势变动较大的图像,也能通过DragGAN实现:

也难怪网友会调侃“远古的PS段子成真”,把大象转个身这种甲方需求也能实现了。

不过,也有网友指出了DragGAN目前面临的一些问题。

例如,由于它是基于StyleGAN2生成的图像进行P图的,而后者训练成本很高,因此距离真正商业落地可能还有一段距离。

除此之外,在论文中提到的“单卡几秒钟修图”的效果,主要还是基于256×256分辨率图像:

至于模型是否能扩展到256×256以外图像,生成的效果又是如何,都还是未知数。

有网友表示“至少高分辨率图像从生成时间来看,肯定还要更长”。

实际上手的效果究竟如何,我们可以等6月论文代码开源后,一测见真章。

团队介绍

DragGAN的作者一共6位,分别来自马克斯・普朗克计算机科学研究,萨尔布吕肯视觉计算、交互与AI研究中心,MIT,宾夕法尼亚大学和谷歌AR/VR部门。

其中包括两位华人:

一作潘新钢,他本科毕业于清华大学(2016年),博士毕业于香港中文大学(2021年),师从汤晓鸥教授。

现在是马普计算机科学研究所的博士后,今年6月,他将进入南洋理工大学担任助理教授(正在招收博士学生)。

另一位是Liu Lingjie,香港大学博士毕业(2019年),后在马普信息学研究所做博士后研究,现在是宾夕法尼亚大学助理教授(也在招学生),领导该校计算机图形实验室,也是通用机器人、自动化、传感与感知 (GRASP)实验室成员。

值得一提的是,为了展示DragGAN的可控性,一作还亲自上阵,演示了生发、瘦脸和露齿笑的三连P图效果:

是时候给自己的主页照片“修修图”了(手动狗头)。

论文地址:

https://vcai.mpi-inf.mpg.de/projects/DragGAN/data/paper.pdf

项目地址(代码6月开源):

https://github.com/XingangPan/DragGAN

参考链接:

[1]https://weibo.com/1727858283/N1iKl4zVG

[2]https://twitter.com/_akhaliq/status/1659424744490377217

[3]https://twitter.com/mrgreen/status/1659482594516377601

标签:DragGAN,大象,AI,模型,监督,修图,图像,关键点
From: https://www.cnblogs.com/botai/p/DragGAN.html

相关文章

  • 「复刻」版DragGAN开源
    DragGAN非官方实现来了!完美复刻拖拽秒P图功能,可以直接上手尝试。还记得前几天发布的DragGAN吗?没错,就是那个「轻轻点两下」1秒修图的工具。拍的照片表情不好?修!脸型不够瘦?修!脸冲镜头的角度不对?修!搞不好,「让大象转个身」这个远古PS段子,可能就要成真......
  • Unreal Engine 大象无形学习笔记(第二部分:虚幻引擎浅析)
     Q1.虚幻引擎的Main函数在哪?LaunchWindows.cpp中找到WinMain。Q2.虚幻引擎为什么要引入模块机制?编辑器模式、发布模式要单独配置非常麻烦。工具:UnrealBuildTool包含大模块:Runtime、Development、Editor、Plugin每个模块包含:Public、Private文件夹,.build.cs文件作用......
  • Unreal Engine 大象无形学习笔记 (第一部分:虚幻C++编程)
    Q1.什么时候继承自UObject类,什么时候声明纯C++类?UObject自带功能:1.垃圾收集:继承自UObject并被标记为UProperty的变量,会被引擎自动进行生命周期管理。2.Referenceupdating引用自动更新3.反射4.序列化:纯C++类也可以手动实现5.Automaticupdatingofdefaultproperty......
  • OpenCV+dlib实现人脸关键点定位
    目录(1)了解工具包(2)加载人脸检测与关键点定位(3)数据预处理(4)人脸检测(5)绘制所有区域本文基于OpenCV并利用dlib工具包实现了对传入图像的人脸关键点定位。步骤:首先需要对传入图像进行预处理操作,其次,利用dlib工具包对整张图像进行人脸检测,然后,对检测到的每一个人脸框利用......
  • OpenAI CLIP 关键点 - 连接图像和文字
    标签:#CLIP#Image2Text#Text2Image#OpenAI创建时间:2023-04-2100:17:52基本原理CLIP是一个图像分类模型。准备训练数据:准备大量的文本描述和图片的训练对,然后把进行对比训练。文本描述和图片的训练对的数据获取:从互联网上获得400Million的图像文本数据对。这个规模......
  • Thinking in UML大象
    本书主要是讲一种如何以对象的思考方式将复杂化的业务用其的建模方法的方法形象的表达出来。整本书也是围绕UML的语言概念展开,如定义其元素:用例,业务,包,关系,组件,节点。此书给我的思考就是关于业务边界和设计模型的思考。......
  • 云服务质量评估六大关键点
    从云服务质量评估的角度来说,云服务可以包含一项或多项核心服务和支持服务。核心服务是重点,它能满足用户的关键期望和需要。支持服务也是不可或缺的部分,它能推动和增强核心服务的服务。1、可用性从服务的角度来说,可用性是最重要的参数,它表示一个服务是否存在或者是否立即可用。服务......
  • windows【7】:匿名共享访问的一些关键点
    服务器端:必须启用(enable)guest账号guest账号必须不能设置密码——密码留空ntfs文件系统上给相应的文件、文件夹分配guest(或guests组)相应权限share共享上也分配相应的权限 ......
  • CDGA|工业企业进行数据治理的六个关键点
    CDGA|工业企业进行数据治理的六个关键点近年来,大型集团企业全面开展数据治理,挖掘工业企业数据价值,为企业的数字化转型助力赋能。同时,在实践中发现,要想发挥数据的价值就要解决数据可见、可用、可视等问题。因此,通过总结发现需要解决5大方面的问题:要让使用者知道企业中有哪些数......
  • 浅谈故障应急中的两个关键点
    当故障真实发生后,带来的影响不仅仅是技术层面的,更多的是业务层面的,比如用户和商家的批量投诉,交易量下跌,广告资损等等。而这些影响又会产生巨大的外部压力,并传递到技术团队,这时如果没有很好的故障应对机制,技术团队就很容易陷入慌乱,不知所措。需要做以下两方面准备:1、业务恢复预案第......