DragGan本地部署方法

DragGan介绍

最近github上有一个项目非常火热,那就是DragGan,5月20日,马克斯普朗克研究、麻省理工计算机与AI实验室、via-center、宾夕法尼亚大学和谷歌等联合发布了一篇名为《Drag Your GAN: Interactive Point-based Manipulation on the Generative Image Manifold》的论文。根据其Github主页显示,预计6月进行开源。

该论文提出了一种控制GAN的新方法 DragGAN,使用户能以无损的方式拖动几下鼠标就能改变图像形态。例如,将一张严肃的脸,拖动几下鼠标就能变成微笑的形态;将一匹站立的马,更改成奔跑形态等。

简单来说,DragGAN的功能与Photoshop的“液化”功能差不多,但比其更加强大、精准、易使用,尤其是DragGAN提供了可视化操作界面,即便不懂编程的人员也能快速上手使用。

目前,Midjourney等文生图产品无法精准表达用户想要的效果,想应用在实际业务中需要用Photoshop、Illustrator、C4D等专业设计软件进行大量更改。如果将DragGAN与Midjourney等一起使用,可以在无损的情况下进行精准更改,使得普通人也能成为专业设计师。
Github地址:https://github.com/XingangPan/DragGAN

项目展示:https://vcai.mpi-inf.mpg.de/projects/DragGAN/

论文地址:https://arxiv.org/abs/2305.10973

我也对这个项目非常感兴趣,就第一时间在本地部署了一下这个项目,浅试一下

如何本地部署

本地如何部署可以参考这篇文章
DragGAN 抢先体验与本地部署教程 | Ze’s Blog (zeqiang-lai.github.io)
下面我搬运过来,方便大家参考。

本地部署 - Pip Install 方式

接来下的图片展示以Windows下的部署为例,Linux下的部署也是相同的

目前, Zeqiang-Lai/DragGAN 的实现已经上传到 PyPI 源上了,因此,我们无需下载代码,只需要使用 pip install 即可进行安装。

安装 Conda

为了避免依赖冲突,我们首先使用Conda创建一个虚拟环境,如果你还没有安装Conda,可以在 这里下载一个Miniconda。

下载完成后,点击安装包一直下一步就可以了。

创建 Conda 虚拟环境

接下来从 Windows 菜单栏选择 Anaconda Powershell Prompt (miniconda3) 进入Conda 的命令行。

进入之后,输入以下指令创建一个名为 draggan 的环境,python 版本为3.7。提示是否继续的时候输入 y 即可继续。

1
conda create -n draggan python=3.7

安装 PyTorch

我们首先激活一下刚刚创建的环境,输入以下指令即可

1
conda activate draggan

接着,参考PyTorch的 官方安装教程

我们可以使用以下指令安装PyTorch,二选一即可,具体选哪个按下载速度自行选择,

1
2
3
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

没有GPU的用户用这个指令安装

1
pip3 install torch torchvision torchaudio

当出现 Successfully installed 就说明安装成功啦,其他 WARNING 都不用管。

安装 DragGAN

安装完成之后,我们安装DragGAN,这可以通过以下指令进行

1
pip install draggan

因为一些我也不知道的原因,清华pip源没有同步draggan 这个包,如果你的 pip 配置过清华或国内的pip源,你可能会遇到包找不到的问题

这时候你可以使用这个指令,临时使用官方源进行安装

1
pip install draggan -i https://pypi.org/simple/

与PyTorch安装类似,当出现 Successfully installed 就说明安装成功了,其他 WARNING 都不用管。

至此,所有依赖安装完成,接下来可以开始运行了。

运行 DragGAN Demo

你可以通过以下指令运行 DragGAN 的 Demo

1
python -m draggan.web

如果你不小心关掉了命令行,也不用重新安装,通过 Anaconda Powershell Prompt (miniconda3) 重新进入Conda 的命令行,激活环境,运行即可。

1
2
conda activate draggan
python -m draggan.web

没有GPU的用户,使用

1
python -m draggan.web --device cpu

当出现这个网址的时候 http://127.0.0.1:7860 ,说明程序已经成功运行

将这个网址输入到浏览器里就可以访问到 DragGAN 的 Demo 了
运行成功

解决无法本地上传图片的问题

当我尝试本地上传图片,报了一个错误 提示的是module ‘torchvision.transforms’ has no attribute ‘Resize’

百度了一下,需要我们升级到最新的torchvision

1
2
  conda uninstall torchvision
  pip install --upgrade torchvision

我们可以先uninstall torchvision 然后在升级就可以解决这个问题

运行项目

上传图片
我们点击图片上的叉后选择上传,就可以上传自己的图片,我这里上传的一张猫图,可以根据图片类型选择相应的module。

运行前的图片

可以看到运行之后 ,猫已经实现了转头的效果,不得不说 还挺有意思的

运行后的图片

运行后的图片就是长这样啦

运行后图片