经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
图像处理│一张自拍即可实现变老变年轻,带你感受时光流逝之美
来源:cnblogs  作者:极客飞兔  时间:2023/3/3 8:54:03  对本文有异议

?? 项目效果

  • 飞浆是一个由百度推出的深度学习开发平台,为开发者提供了高效、易用、灵活和全面的深度学习开发工具和服务。
  • PaddleGAN是飞浆在图像生成和处理领域的一个代表性项目,通过深度学习的技术和飞浆的支持,PaddleGAN可以实现多种惊人的图像处理效果,例如图像转换、人脸编辑、动态效果生成等等。
  • 其中内置了StyleGAN V2FOM分别实现人脸属性编辑和人脸动画效果。这些技术和应用在很多领域都有广泛的应用,例如娱乐广告电影制作虚拟现实等等。
官方效果预览

?? 环境搭建

  • 这里个人推荐使用 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
  1. # 创建环境
  2. conda create --name PaddleGAN python=3.6
  3. # 激活环境
  4. activate PaddleGAN
  5. # 安装依赖cmake
  6. pip install cmake -i https://mirror.baidu.com/pypi/simple
  7. # 安装依赖boost
  8. pip install boost -i https://mirror.baidu.com/pypi/simple
  9. # 安装依赖numpy
  10. pip install numpy -i https://mirror.baidu.com/pypi/simple
  11. # 安装依赖dlib
  12. pip install dlib==19.8.1 -i https://mirror.baidu.com/pypi/simple

?? 下载PaddleGAN

  • GAN 是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一
  • 在安装依赖的时候,因使用的环境是 python3.6,所以需要将 requirements.txt 文件中的 opencv-python 加上一个版本号opencv-python==4.3.0.38,不然默认安装最新版本的,而最新版本的无法被下载成功
  1. # 下载源码
  2. git clone https://gitee.com/PaddlePaddle/PaddleGAN
  3. # 进入项目目录
  4. cd PaddleGAN
  5. # 安装项目依赖,这里一定要设置全局源
  6. pip install -r requirements.txt
  7. # 安装环境
  8. python setup.py develop

?? 安装飞浆

  • 安装 CPU 版本,不容易出错,但速度会有点慢,如果有 GPU 尽量使用 GPU 版本
  • 我这里只安装最新的,如果想要安装指定版本,请查看飞浆官方教程
  1. # CPU版本
  2. pip install paddlepaddle
  3. # GPU版本
  4. pip install paddlepaddle-gpu

?? 生成图片潜码

  • 需要通过命令生成原图对应的 Latent Code
  • input_image: 输入的图像路径
  • output_path: 生成图片存放的路径
  • weight_paht: 预训练模型路径
  • model_type: PaddleGAN 内置模型类型,若输入 PaddleGAN 已存在的模型类型,weight_paht 将失效,当前可用:ffhq-inversionffhq-toonify
  • seed: 随机数种子
  • size: 模型参数,输出图片的分辨率
  • style_dim: 模型参数,输出图片的分辨率
  • n_mlp: 模型参数,风格z所输入的多层感知层的层数
  • channel_multiplier: 模型参数,通道乘积,影响模型大小和生成图片的质量
  • cpu: 是否使用 cpu 推理,若不使用,请在命令去除
  • 测试人像是用 StyleGAN2 技术模型生成的,仅用做测试,不存在侵犯任何人肖像权
数字人像原图
  1. # 命令模板
  2. cd applications/
  3. 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
  4. # 使用的命令
  5. 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 有预先准备的这些属性:ageeyes_openeye_distanceeye_eyebrow_distanceeye_ratiogenderlip_ratiomouth_openmouth_rationose_mouth_distancenose_rationose_tippitchrollsmileyaw
老龄化
  1. # 命令模板
  2. cd applications/
  3. 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
  4. # 使用的命令
  5. 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: 这个参数的绝对值越大,处理程度越重,绝对值越大显得越年轻或者老龄化越严重
年轻化
  1. cd applications/
  2. 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
  3. # 使用的命令
  4. 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

原文链接:https://www.cnblogs.com/tinygeeker/p/17171441.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号