学习目标:

体验基于PaddleGAN的图像生成模型实现的人脸融合,模型名称:StyleGAN V2

StyleGAN V2 原理:

StyleGAN V2 的任务是image generation,给定特定长度的向量,生成该向量对应的图像,是StyleGAN的升级版,解决了StyleGAN生成的伪像等问题。

StyleGAN V2 可对多级风格向量进行混合。其内核是自适应的风格解耦。

相对于StyleGAN,其主要改进为:

生成的图像质量明显更好(FID分数更高、artifacts减少)
提出替代渐进式训练的新方法,牙齿、眼睛等细节更完美
改善了风格混合
更平滑的插值
训练速度更快


第一步,环境准备:

请参考另一篇文章,基于PaddleGAN项目人脸表情动作迁移学习(一)环境配置,下载PaddleGAN,并配置环境,特别提醒安装dilib包。

pip install dlib

如果有安装失败请参考另一篇文章记录安装dlib库失败解决过程,认识conda-forge,希望有所帮助。

第二步,人脸特征提取:

1.准备两张人脸照片,我准备用他俩的,给万历皇帝配个外国美女,上传至我的图片文件夹目录,分别是b1.png,wanli.jpg。

图片位置如下:
2.Fitting模块提取人脸向量,然后重新生成人脸。
只需要更改两个参数:
input_image:需要提取特征并重新生成人脸的照片路径;
output_path:新生成的人脸照片的存放路径,后续需要放在Mixing和生成的模块中使用;
将input_image部分放上想要融合的人脸照片即可,请注意最好是自拍和大头照,无眼镜效果更佳;
另外,因为是两张照片融合,大家需要替换input_image和output_path的路径,运行两次以下命令,生成两张StyleGAN世界中的人脸照片~

代码示例如下:

python -u tools/styleganv2fitting.py
–input_image ‘/home/work/图1名称’
–need_align
–start_lr 0.1
–final_lr 0.025
–latent_level 0 1 2 3 4 5 6 7 8 9 10 11
–step 100
–mse_weight 1
–output_path ‘/home/work/output/’
–model_type ffhq-config-f
–size 1024
–style_dim 512
–n_mlp 8
–channel_multiplier 2

  1. 进行人脸提取

进入application目录下

cd applications

分别对两张照片进行提取:
第一张

python -u tools/styleganv2fitting.py   --input_image ../image_data/aobama001.jpg   --need_align  --start_lr 0.1  --final_lr 0.025        --latent_level 0 1 2 3 4 5 6 7 8 9 10 11  --step 100   --mse_weight 1        --output_path ../image_data/output/2/  --model_type ffhq-config-f        --size 1024   --style_dim 512   --n_mlp 8  --channel_multiplier 2

第二张

python -u tools/styleganv2fitting.py   --input_image ../image_data/wanli.jpg   --need_align  --start_lr 0.1  --final_lr 0.025        --latent_level 0 1 2 3 4 5 6 7 8 9 10 11  --step 100   --mse_weight 1        --output_path ../image_data/output/2/  --model_type ffhq-config-f        --size 1024   --style_dim 512   --n_mlp 8  --channel_multiplier 2

第三步,人脸融合:

Mixing模块融合向量,StyleGAN V2生成新人脸,只需要更改三个参数:

latent1:STEP2中生成的一张人脸路径(STEP2中的output_path路径)
latent2:STEP2中生成的一张人脸路径(STEP2中的output_path路径)
output_path:两张脸融合的最终效果

python -u tools/styleganv2mixing.py
–latent1 ‘/home/work/output/dst.fitting.npy’
–latent2 ‘/home/work/output/1/dst.fitting.npy’
–weights
0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5
0.5 0.5 0.5 0.5 0.5 0.5
–output_path ‘/home/work/output/final’
–model_type ffhq-config-f
–size 1024
–style_dim 512
–n_mlp 8
–channel_multiplier 2

第二步提取后的人脸
分别存在…/image_data/output/1/,…/image_data/output/2/目录下,执行代码如下:

python -u tools/styleganv2mixing.py --latent1 ../image_data/output/1/dst.fitting.npy  --latent2 ../image_data/output/2/dst.fitting.npy  --weights  0.5 0.5 0.5 0.5 0.5 0.5   0.5 0.5 0.5 0.5 0.5 0.5   0.5 0.5 0.5 0.5 0.5 0.5  --output_path ../image_data/output/final  --model_type ffhq-config-f  --size 1024  --style_dim 512  --n_mlp 8

第四步,查看预测结果:

进入output/final文件夹内,dst.mixing.png则为融合后的人脸结果

效果如下:

融合出来说实话有点丑,凑合看吧,到此融合结束。

基于PaddleGAN项目人脸表情动作迁移学习(三)人脸融合相关推荐

  1. 基于PaddleGAN项目人脸表情动作迁移学习(五)图像补帧上色与超分修复

    学习目标 体验基于PaddleGAN的图像上色.补针.超分等功能,涉及模型包括DAIN.DeOldify.RealSR.DeepRemaster.EDVR.PPMSVSR等. 一.算法原理 1.补帧模 ...

  2. 基于PaddleGAN项目人脸表情动作迁移学习(四)人脸动漫化

    学习目标: 体验基于PaddleGAN的真实人脸实现动漫化,相关模型:AnimeGANv2. AnimeGANv2原理: 人脸动漫化(Photo to Cartoon)是指将真实人脸转化成动漫风格,在 ...

  3. 人脸识别迁移学习的应用

    https://github.com/jindongwang/transferlearning 关于迁移学习的一些资料 这个仓库包含关于迁移学习一些资料,包括:介绍,综述文章,代表工作及其代码,常用数 ...

  4. 【CV】使用Keras和迁移学习从人脸图像中预测体重指数BMI

    作者:Leo Simmons   编译:ronghuaiyang 导读 和人脸属性预测非常相似的一个应用. 这篇文章描述了一个神经网络,它可以通过人脸图像预测一个人的BMI([身体质量指数]).这个项 ...

  5. 用两个使用Caffe的小项目案例演示迁移学习的实用性

    近年来随着深度学习的急剧升温,不管是学术界还是工业界都把大量资源投入了深度学习.作为一个普通的工程师或者程序员,也想对机器学习,尤其是深度学习有所了解,应当如何入手?最好的回答当然是"get ...

  6. 基于模型与不基于模型的深度增强学习_CVPR2018: 基于时空模型无监督迁移学习的行人重识别...

    Unsupervised Cross-dataset Person Re-identification by Transfer Learning of Spatial-Temporal Pattern ...

  7. 使用Keras和迁移学习从人脸图像中预测体重指数BMI

    点击上方"AI公园",关注公众号,选择加"星标"或"置顶" 作者:Leo Simmons 编译:ronghuaiyang 导读 和人脸属性预 ...

  8. 《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读

    目录 突出 抽象 引言 1.1动机 1.2文献综述获得的结论 1.3贡献 1.4组织 2方法 2.1燃汽轮机组故障知识共享 2.2迁移学习 2.3 基于卷积神经网络的深度迁移学习 2.4用于燃气轮机燃 ...

  9. 半监督分类算法_基于同质区和迁移学习的高光谱图像半监督分类

    作 者 信 息 赵婵娟,周绍光,丁 倩,刘丽丽 (河海大学 地球科学与工程学院,江苏 南京 211100) " [摘要]针对高光谱遥感图像分类中标记样本难获取的问题,提出了一种基于同质区和迁 ...

最新文章

  1. windows7 64位机上配置MinGW+Codeblocks+ wxWidgets
  2. OpenCV Python + Tesseract-OCR轻松实现中文识别
  3. SpringBoot 2.0 编程方式配置,不使用默认配置方式
  4. http-关于application/x-www-form-urlencoded等字符编码的解释说明
  5. 到现在了还不会Webpack?我帮你总结好了
  6. dataframe 控对象_iOS知识 - 常用小技巧大杂烩
  7. 怎么查询表中BLOB字段的大小
  8. php文件名函数,详解php 获取文件名basename()函数的用法
  9. 软件架构入门,看这篇就够了···
  10. linux-uboot 移植四 uboot的移植
  11. 微型计算机3c认证元器件清单,3C认证产品目录.pdf
  12. 风雨java路之【基础篇】——异常的那些事儿
  13. PyTorch搭建LSTM实现多变量输入多变量输出时间序列预测(多任务学习)
  14. [轻笔记] SHAP值的计算步骤
  15. 变焦单目论文阅读笔记
  16. 基于android的记账软件,基于Android的记账软件的设计与实现
  17. C语言中 .h文件和.c文件的区别 (转)
  18. 还在为网速烦恼?你可能没有使用华为云CDN加速服务
  19. 【时间序列分析】12. ARMA(1,1)模型
  20. Java序列化与反序列化的深度思考

热门文章

  1. Unity中如何给你的场景模型mesh减面——【一】
  2. 信道编码:分组码和卷积码
  3. 藉由GZipStream的壓縮,來減少Web Service的傳輸量
  4. 第十四章 简单数据库应用的创建及MASTAPP介绍(三)
  5. 美国留学计算机专业就业怎么办,美国留学计算机专业就业前景
  6. linux学习lesson25
  7. C++生成随机整数和随机种子
  8. 支持向量机SVM--sklearn.svm.SVC【机器学习笔记简摘】
  9. 基于单片机心率测试仪毕业设计全套
  10. 2022年10月大学英语B统考题库网考大学英语B试题(完整版)