一张自拍即可实现变老变年轻,带你感受时光流逝之美
✨ 项目效果飞浆是一个由百度推出的深度学习开发平台,为开发者提
2023-03-09(资料图片)
PaddleGAN
是飞浆在图像生成和处理领域的一个代表性项目,通过深度学习的技术和飞浆的支持,PaddleGAN
可以实现多种惊人的图像处理效果,例如图像转换、人脸编辑、动态效果生成等等。其中内置了StyleGAN V2
与FOM
分别实现人脸属性编辑和人脸动画效果。这些技术和应用在很多领域都有广泛的应用,例如娱乐
、广告
、电影制作
、虚拟现实
等等。Anaconda
搭建本地环境,因为如果项目太多,后期非常不好管理另外推荐全局更换 pip
源:pip config set global.index-url https://mirror.baidu.com/pypi/simple
如果未更换源的话,下载会超级慢,甚至下载失败,也可以通过 -i
临时设置源:pip install xxx -i https://mirror.baidu.com/pypi/simple
# 创建环境conda create --name PaddleGAN python=3.6# 激活环境activate PaddleGAN# 安装依赖cmakepip install cmake -i https://mirror.baidu.com/pypi/simple# 安装依赖boost pip install boost -i https://mirror.baidu.com/pypi/simple# 安装依赖numpypip install numpy -i https://mirror.baidu.com/pypi/simple# 安装依赖dlibpip install dlib==19.8.1 -i https://mirror.baidu.com/pypi/simple
GAN
是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一在安装依赖的时候,因使用的环境是 python3.6
,所以需要将 requirements.txt
文件中的 opencv-python
加上一个版本号opencv-python==4.3.0.38
,不然默认安装最新版本的,而最新版本的无法被下载成功# 下载源码git clone https://gitee.com/PaddlePaddle/PaddleGAN# 进入项目目录cd PaddleGAN# 安装项目依赖,这里一定要设置全局源pip install -r requirements.txt# 安装环境python setup.py develop
CPU
版本,不容易出错,但速度会有点慢,如果有 GPU
尽量使用 GPU
版本我这里只安装最新的,如果想要安装指定版本,请查看飞浆官方教程# CPU版本pip install paddlepaddle# GPU版本pip install paddlepaddle-gpu
Latent Code
input_image:
输入的图像路径output_path:
生成图片存放的路径weight_paht:
预训练模型路径model_type:
PaddleGAN
内置模型类型,若输入 PaddleGAN
已存在的模型类型,weight_paht
将失效,当前可用:ffhq-inversion
,ffhq-toonify
seed:
随机数种子size:
模型参数,输出图片的分辨率style_dim:
模型参数,输出图片的分辨率n_mlp:
模型参数,风格z所输入的多层感知层的层数channel_multiplier:
模型参数,通道乘积,影响模型大小和生成图片的质量cpu:
是否使用 cpu
推理,若不使用,请在命令去除测试人像是用 StyleGAN2
技术模型生成的,仅用做测试,不存在侵犯任何人肖像权# 命令模板cd applications/python -u tools/styleganv2.py \ --input_image <替换为输入的图像路径> \ --output_path <替换为生成图片存放的文件夹> \ --weight_path <替换为你的预训练模型路径> \ --model_type ffhq-inversion \ --seed 233 \ --size 1024 \ --style_dim 512 \ --n_mlp 8 \ --channel_multiplier 2 \ --cpu# 使用的命令python -u applications/tools/pixel2style2pixel.py --input_image E:/PaddleGAN/results/input/beauty.jpg --output_path E:/PaddleGAN/results/output --model_type ffhq-inversion --seed 233 --size 1024 --style_dim 512 --n_mlp 8 --channel_multiplier 2 --cpu
latent:
要编辑的代表图像的风格向量的路径。可来自 Pixel2Style2Pixel
生成的 dst.npy
,也就是上面生成的潜码 latent2:
第二个风格向量的路径。来源同第一个风格向量output_path:
生成图片存放的文件夹weight_path:
预训练模型路径model_type:
PaddleGAN
内置模型类型,若输入 PaddleGAN
已存在的模型类型,weight_paht
将失效,当前建议使用:ffhq-config-f
size:
模型参数,输出图片的分辨率n_mlp:
模型参数,风格z的维度channel_multiplier:
模型参数,通道乘积,影响模型大小和生成图片的质量direction_path:
存放一系列属性名称及对象属性向量的文件路径。默认为空,即使用 ppgan
自带的文件。若不使用,请在命令中去除direction_name:
要编辑的属性名称,对于 ffhq-config-f
有预先准备的这些属性:age
、eyes_open
、eye_distance
、eye_eyebrow_distance
、eye_ratio
、gender
、lip_ratio
、mouth_open
、mouth_ratio
、nose_mouth_distance
、nose_ratio
、nose_tip
、pitch
、roll
、smile
、yaw
# 命令模板cd applications/python -u tools/styleganv2editing.py \ --latent <潜码路径> \ --output_path <新人脸(年龄变换后)的保存路径> \ --model_type ffhq-config-f \ --size 1024 \ --style_dim 512 \ --n_mlp 8 \ --direction_name age \ --direction_offset 3 # 使用的命令python -u applications/tools/styleganv2editing.py --latent E:/PaddleGAN/results/output/dst.npy --output_path E:/PaddleGAN/results/old --model_type ffhq-config-f --size 1024 --style_dim 512 --n_mlp 8 --channel_multiplier 2 --direction_name age --direction_offset 3
direction_offset:
这个参数的绝对值越大,处理程度越重,绝对值越大显得越年轻或者老龄化越严重cd applications/python -u tools/styleganv2editing.py \ --latent <潜码路径> \ --output_path <新人脸(年龄变换后)的保存路径> \ --model_type ffhq-config-f \ --size 1024 \ --style_dim 512 \ --n_mlp 8 \ --direction_name age \ --direction_offset -3# 使用的命令python -u applications/tools/styleganv2editing.py --latent E:/PaddleGAN/results/output/dst.npy --output_path E:/PaddleGAN/results/young --model_type ffhq-config-f --size 1024 --style_dim 512 --n_mlp 8 --channel_multiplier 2 --direction_name age --direction_offset -3