之前树先生给大家介绍过一个项目 DragGAN,现在正式开源了!
超炫酷项目来袭!DragGAN 火爆开源社区!
那还等什么,盘它!
不同于 Stable Diffusion 与 Midjourney 使用的扩散模型,DragGAN 是一款基于生成对抗网络(GANs)技术的图片编辑项目。追根溯源,其实还是 NVIDIA 的 StyleGAN 的衍生项目。
DragGAN 由两个主要部分组成:
第一部分是基于特征的运动监督,通过控制起始点向目标点运动,实现图像的变形;
第二部分是新的点跟踪方法,即最近邻检索,通过在相同的特征空间上进行点跟踪,提高了效率,并避免了累计误差损失。
简单来说,它能够让你轻松掌控图片中的人物和动物,通过拖拽控制点和目标点来调整他们的位置、形状、姿势等等。目前这个项目在 Github 上已经斩获了 20K star 了,趋势榜第一,足见其火爆程度!
安装过程,真是一把鼻涕一把泪,到处都是坑,先是在磊宇 PAI 平台栽跟头,折腾好久才发现是基础环境问题,后来又在安装方法上翻了车,官方的安装指导也是各种报错。
一路艰难摸索过来,现在将实测可行的一套部署方法带给大家。
这里我们选择 AutoDL 云平台,使用 Python 3.8,CUDA 11.8 的镜像,这个镜像的环境就已经满足项目要求了。
git clone https://github.com/XingangPan/DragGAN.git
cd DragGAN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
如果出现下面的报错,代表这个 pip 源里没有对应的版本。
修改 requirements.txt
文件,去除特定版本依赖,再次执行即可。
torch>=2.0.0 scipy Ninja==1.10.2 gradio>=3.35.2 imageio-ffmpeg>=0.4.3 huggingface_hub hf_transfer pyopengl imgui glfw==2.6.1 pillow>=9.4.0 torchvision>=0.15.2 imageio>=2.9.0
sh scripts/download_model.sh
这里选择运行 WebUI,看到 URL 就代表启动成功了。
# 运行 WebUI python visualizer_drag_gradio.py
使用上非常简单,鼠标在图中点点就行,红点是起始点,蓝点是目标点,实现图像的拖拽效果。
还可以控制区域图像,避免整体图像跟着变化。
很多人都以为这个项目能直接选一张照片,就能像 PS 一样进行 P 图了,其实并不是,至少目前还不支持,上面你看到的这些图片都是经过训练而生成的模型,所以本质上,你是在操作一个模型,而非图片!
如果你想操作自己的图片,那么按官网说的,你需要使用到 PTI 项目,将你自定义的图片训练成 StyleGAN 模型。
这部分内容下期再介绍,折腾 DragGAN 部署费了好大劲,有点累了,记得三连啊~
Copyright © 2023 leiyu.cn. All Rights Reserved. 磊宇云计算 版权所有 许可证编号:B1-20233142/B2-20230630 山东磊宇云计算有限公司 鲁ICP备2020045424号
磊宇云计算致力于以最 “绿色节能” 的方式,让每一位上云的客户成为全球绿色节能和降低碳排放的贡献者