GitHub:Barbershop AI换发型 项目部署

基于GAN的图像合成使用分段遮罩

Barbershop于2021年6月发布,基于styleGAN开发,能实现两张人像的发型、发色转移,优点是换发质量高,并且不限参考图片,任何两张正面人像都可以进行换发操作,缺点是处理一张图片速度很慢,大约10-30分钟左右(具体分机器),还有就是处理侧脸发型效果会翻车。

GitHub地址(需翻墙)

https://github.com/ZPdesu/Barbershop

前期准备

百度网盘:https://pan.baidu.com/s/1f_SblAG0z05CCMq9VdUYAQ?pwd=xsg4  
 

外网实在太慢,我把整个项目的代码,以及辅助模型全部保存到了百度网盘里,此版本为2021.12.27发布的,776MB大小,请先下载;另外此代码中有部分细节改动,是为了解决官网下载的代码直接跑会有各种未知报错(环境、版本、冲突等),此代码在下方云服务器上调试可完全跑通

服务器租赁


这个项目需要搭建环境有python3.7、pytorch1.8.1、cuda11.1、cuDNN8.0.5、Anaconda等等,如果你的目的是为了跑通这个项目,不值当霍霍自己的笔记本,我建议直接花1元钱,租一个集成好各种环境的GPU服务器,能让你省下不少和环境问题纠缠的时间。
 

矩池云官网:矩池云 - 专注于人工智能领域的云服务商

首先注册一个矩池云账号,然后选一台GPU服务器 NVIDIA GeForce RTX 2080(没有的话可以选择其他1元的服务器,0.5元的带不动)

选择系统镜像:pytorch1.8.1

用你的Xshell和FTP远程连上就可以使用了

如果没有这两个远程工具的可以下载

百度网盘:https://pan.baidu.com/s/1lK5slEaKi5VaQgFR_KcRmQ?pwd=qsha 

导入项目

1. 连接FTP,将压缩包 Barbershop.zip上传至/home/下 

2. 连接Xshell,运行以下命令解压项目

cd /home # 项目目录
unzip Barbershop.zip # 解压缩
rm -f /home/Barbershop.zip # 删除压缩包

安装依赖

cd Barbershop # 项目目录
conda env create -f environment/environment.yml # 导入项目所需环境
source activate Barbershop # 切换项目环境

运行项目

1. 将目标人脸图片上传至/home/Barbershop/unprocessed/下

2. 执行预处理图片命令,因为输入图片尺寸大小不一,所以需要裁剪成标准尺寸,裁剪结果在/home/Barbershop/input/face/下

source activate Barbershop # 切换项目环境
cd /home/Barbershop # 项目目录
python align_face.py # 预处理/unprocessed目录内的照片

3. 执行图像合成命令,第一个参数为目标人脸图片,第二个参数为参考发型图片,第三个参数为参考颜色图像,第四个参数填realistic或fidelity(未知,没感觉出区别)

python main.py --im_path1 200.png --im_path2 56.png --im_path3 56.png --sign realistic --smooth 5 # 图像合成

4. 第一次运行项目时会下载模型,耗时30分钟左右,第二次运行时就不会下载了。

5. 运行结果在/home/Barbershop/output/下,我用的是NVIDIA GeForce RTX 2080 1元每小时 共耗时8分钟

目标人脸(左),融合人脸(中),参考人脸(右)

6. 到此项目就算跑通了,建议此时保存环境,下次调试可以直接读档,不需要重新部署。

另外,将参考人脸图片提前训练、保存,整体项目速度可以优化至5分钟左右,还有人建议用MobileStyleGan代替Stylegan2会节省时间,这个我没试过,目前速度慢是个大问题,欢迎大家集思广益。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值