keywords
本文是 seeprettyface 环境的安装教程,同时大体介绍下 seeprettyface 的通用使用方法,教程源代码在本文最后
概述
seeprettyface 一代:网红脸生成器(seeprettyface-generator-wanghong)安装使用教程
备注:官方给出的教程和代码均是在 GPU 环境下使用,如果没有自己的 GPU 环境,推荐使用Google Colab 环境,百度 AI Studio 环境有巡检,安装除paddlepaddle 外框架,例如 torch 和 tensorflow 会关闭。下面的教程以 Google Colab 环境为例介绍,本地如果有 GPU 相同。
- 开发环境准备
拷贝官网源码库,并准备开发环境
!git clone https://github.com/a312863063/seeprettyface-generator-wanghong.git # 克隆代码
!cp -r seeprettyface-generator-wanghong/* . # 拷贝到当前目录(除非自己更换工作目录)
首先将相关的代码库拷贝到开发环境,在 google colab 环境下,我避免切换工作目录,所以执行了 cp 操作,将所有源代码拷贝到当前目录下,如果切换了工作目录(即 cd 进seeprettyface-generator-wanghong 目录),则不需要执行拷贝工作,执行完毕后,如图所示:
官网源代码编译是基于 tensorflow-gpu==1.14.0 版本,google colab 默认安装最新版本 tensorflow,需要卸载后重新安装,否则存在冲突导致报错
!pip uninstall -y tensorflow # 安装 tensorflow-gpu 时不会卸载 Tensorflow
!pip install tensorflow-gpu==1.14.0
到此,我们的执行环境准备完毕。
- 预训练模型下载
seeprettyface 开源了预训练生成的模型,所以我们不必在手动复现原文模型然后从零开始训练,直接下载作者开源的模型进行加载生成即可。
在上述工作环境中,从 model 文件夹中,找到作者开源的模型下载地址,作者共享模型在百度云,如果速度太慢,我已经下载转存在了 (github)[https://github.com/alg-bug-engineer/colab_models] 和 (谷歌云盘)[https://drive.google.com/file/d/1X9z-DdrAfpyIzh68ZNyWD6vnG2zHV-YI/view?usp=sharing]中,也可以直接下载
备用百度网盘链接:链接: https://pan.baidu.com/s/11MMMv6F0rpx_IjgquQ4lTg 提取码: h5sj
下载完模型后,放在提示的路径model 文件夹中,如上图所示
- 生成
环境和模型准备完毕后,我们即可进行生成,只需要执行当前目录下的generate_wanghong.py 文件即可。
需要注意的是,生成文件默认调用的是generator_wanghong_256px.pkl 模型,如果需要变更模型,需要修改生成文件,如果调整输出路径,也需要修改该文件。
!python generate_wanghong.py
生成结果默认放在当前路径的 result 文件夹中,生成数量默认是20个,同时生成文件的像素点编码文件,可以用于图像的编辑
seeprettyface 图像编辑器环境搭建和使用教程
上面的步骤讲述了如果使用 seeprettyface 开源的网红脸生成模型进行网红脸的生成,但终究是 AI 自动生成,可能存在瑕疵或不如人意的地方,幸运的是,seeprettyface同时开源了基于 stylegan 的图像编辑器,和生成模型配套使用,对图片进行编辑。那么接下来,我们看下如何使用这个图像编辑器。
- 环境准备
!git clone https://github.com/a312863063/seeprettyface-face_editor
!cp -r seeprettyface-face_editor/* .
照旧需要去下载官网的源码库,同理,将所有的文件拷贝到当前目录下
这里要注意的点是,生成器源码和图像编辑器源码存在一定的重复,cp 操作的时候,存在覆盖情况,但不会影响使用,是相同文件的覆盖
- 图像修改
下载源码后,打开play_with_dlatent.py,在如下部分共有4处可自行设置:
- 第一处是修改图像生成所使用的模型,需要和所修改图片的生成模型保持一致,不然会导致图片的 shape 不一致错误
- 第二个地方是要修改的图片的像素码文件,这个文件在生成结果 result/generate_code 文件中,只需要复制要修改图片的 txt 到 input_latent文件夹中,然后在代码中保持一致即可
- 第三处是要调整的内容,这里20+的可调整内容,具体可选项在 latent_directions 文件夹中
- 第四处是要调整的大小,每个值都会产生一张图片
修改完毕后,执行编辑代码即可,此处执行的是 smile.py 修改
!python play_with_dlatent.py
可以看到,会生成不同类型的笑脸,从中选择我们觉得可以的图片即可。
源代码
总结
以上内容就是 seeprettyface 图像生成以及图像编辑的环境搭建和使用教程啦,现在唯一我美中不足的是,官方开源的东西默认是 GPU,如何修改变成 CPU 生成,需要自己手动变更下模型加载和生成代码。总得来说,通过 seeprettyface 的生成,已经能够生成比较逼真的图片,在这个基础上,能够完成许多任务和有趣的操作了,例如变脸、分类、以假乱真的发图、头像等等,
此处给大家推荐一个对象生成的 demo,没对象的再也不用为找不到图片或图片撞车发愁啦:
- 【一】自己动手,对象我有,基于seeprettyface的图片生成(附源码+傻瓜教程)
- 【二】过年没对象?自己动手造一个(附源码+傻瓜教程)
技术无罪,谨慎使用,祝新年快乐!