社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

爆火DragGAN正式开源,GitHub近18k星!清华校友带GAN逆袭,大象一秒P转身

夕小瑶科技说 • 1 年前 • 240 次点击  

夕小瑶科技说 分享
来源 | 新智元

就在刚刚,引爆AI绘图圈的DragGAN,正式发布了开源代码!

上个月,一项名为「Drag Your GAN」的核弹级研究,在AI绘图圈炸响。

论文由MPII、MIT、宾大、谷歌等机构的学者联合发布,并且已被SIGGRAPH 2023录用。

从此,我们只需一拖一拽,就能实现完美P图了,哪里不准修哪里!

▲拍的照片表情不好?修!脸型不够瘦?修!脸冲镜头的角度不对?修!

而就在刚刚,团队正式放出了官方代码!

▲项目地址:https://github.com/XingangPan/DragGAN

首先,需要下载预训练StyleGAN2的权重:

sh scripts/download_model.sh

如果想尝试StyleGAN-Human和Landscapes HQ(LHQ)数据集,则需要将下载的权重放到./checkpoints目录下。

接着,启动DragGAN GUI来编辑GAN生成的图像:

sh scripts/gui.sh

如果要编辑真实图像,则需要使用像PTI这样的工具执行GAN反演。然后将新的潜在代码和模型权重加载到GUI中。

有网友在上手试用后表示,只会占用大约6G显存,但是使用效果不是很理想,坐等后续改进。

GAN逆袭归来,一秒把大象P转身

顾名思义,通过DragGAN,我们可以任意拖动图像进行编辑,无论是对象的形状、布局、姿态、表情、位置、大小,都可以做到精准控制。

▲项目地址:https://vcai.mpi-inf.mpg.de/projects/DragGAN/

在确定关键点的起始和终止位置之后,再根据对象的物理结构,用GAN生成符合逻辑的图像,一张挑不出破绽的图就做好了。

比如,轻轻一拖动,就能想把耷拉着的狗耳朵提起来,让狗狗从站着变成趴下,以及让狗狗瞬间张嘴微笑。

模特的姿势可以随意改变,短裤可以变成九分裤,短袖可以变长袖。

湖边的树可以瞬间长高,湖里的倒影也跟着一起改变。

原图中的太阳没露脸?无所谓,DragGAN会给你造个日出。

对此网友调侃称,现在甲方提出「让大象转个身」的要求,终于可以实现了。

DragGAN:图像处理新时代

在这项工作中,团队研究了一种强大但还未被充分探索的控制GAN的方法——以交互的方式将图像中任意一点精确「拖动」至目标点。

DragGAN主要包括以下两个主要组成部分:

  1. 基于特征的运动监控,驱动操作点向目标位置移动
  2. 一个新的点跟踪方法,利用区分性的GAN特征持续定位操作点的位置

通过DragGAN,任何人都可以对像素进行精确的控制,进而编辑如动物、汽车、人类、风景等多种类别的姿态、形状、表情和布局。

由于这些操作在GAN的学习生成图像流形上进行,因此它们倾向于生成逼真的输出,即使在富有挑战性的场景下也是如此,例如被遮挡的内容和变形的图像。

定性和定量的对比表明,DragGAN在图像操作和点跟踪任务中,都明显优于先前的方法。

拖拽编辑

在DragGAN的加持下,用户只需要设置几个操作点(红点),目标点(蓝点),以及可选的表示可移动区域的mask(亮区)。然后,模型就会自动完成后续的图像生成,

其中,动态监控步骤会让操作点(红点)向目标点(蓝点)移动,点追踪步骤则通过更新操作点来追踪图像中的对象。此过程会一直持续,直到操作点达到其相应的目标点。

▲流程

具体来说,团队通过在生成器的特征图上的位移修补损失来实现动态监控,并在相同的特征空间中通过最近邻搜索进行点追踪。

▲方法

值得注意的是,用户可以通过添加mask的方式,来控制需要编辑的区域。

可以看到,当狗的头部被mask时,在编辑后的图像中,只有头部发生了移动,而其他区域则并未发生变化。但如果没有mask的话,整个狗的身体也会跟着移动。

这也显示出,基于点的操作通常有多种可能的解决方案,而GAN会倾向于在其从训练数据中学习的图像流形中找到最近的解决方案。

▲mask的效果

在真实图像的编辑中,团队应用GAN反转将其映射到StyleGAN的潜空间,然后分别编辑姿势、头发、形状和表情。

▲真实图像的处理

不仅如此,DragGAN还具有强大的泛化能力,可以创建出超出训练图像分布的图像。比如,一个张得巨大的嘴,以及一个被极限放大的车轮。

▲泛化能力

作者介绍

Xingang Pan

论文一作Xingang Pan,目前已经正式成为了南洋理工大学计算机科学与工程学院的助理教授。

研究方向主要集中在生成式AI模型、AI与人类协同内容生成、3D/视频编辑和生成、神经场景表示和渲染,以及物理感知内容生成。

在此之前,他于2016年在清华大学获得学士学位,2021年在香港中文大学多媒体实验室获得博士学位,导师是汤晓鸥教授。随后在马克斯·普朗克计算机科学研究所从事了博士后研究,由Christian Theobalt教授指导。

Lingjie Liu

Lingjie Liu是宾夕法尼亚大学计算机和信息科学系的Aravind K. Joshi助理教授,负责宾大计算机图形实验室,同时也是通用机器人、自动化、传感和感知(GRASP)实验室的成员。

在此之前,她是马克斯·普朗克计算机科学研究所的Lise Meitner博士后研究人员。并于2019年在香港大学获得博士学位。

参考资料

 [1]https://github.com/XingangPan/DragGAN

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/156676
 
240 次点击