"切勿滥用技术,切勿商用"

算法原理

Faceswap ,在 Encoder-Decoder 自编解码架构之上又引入 GAN技术,显著提升换脸效果

Encoder-Decoder 自编解码换脸:通过将任意扭曲的人脸进行还原,整个过程包含:

1.获取正常人脸照片

2.扭曲变换人脸照片

3. Encoder编码向量

4.Decoder解码向量

5.还原正常人脸照片

总体上,「Faceswap」换脸主要分为以下三个过程:人脸检测

特征提取

人脸转换

环境搭建

代码clone到本地

git clone deepfakes/faceswap

创建虚拟环境

conda create -n faceswap python=3.7

安装必要的库

pip install -r _requirements_base.txt

最新版本提示需要

python3.7

tensorflow-GPU=2.2.0

重新安装即可

以及CUDA等的安装踩坑记录网上搜索即可

"也可以用CPU版本体验"

环境搭建完成后启动GUI界面

python faceswap.py gui

首次启动会提示你选择使用 CPU或者是GPU,有GPU选择GPU

主要有四个功能:Extract:数据集制作,可以自动提取视频或图片中的人脸

Train:训练模型,有多种算法可供选择

Convert:换脸,使用训练好的模型对图片或视频换脸

Tools:很多图像处理小工具,可以通过排序等筛选人脸

Input Dir: 对象视频文件

Output Dir: 提取视频中的人脸并保存到本文件夹

Alignments: 人脸对齐文件(自动生成,不需要追加)

设定完成后 执行 Extract 提取人脸图像,并生成人脸对齐文件

人脸提取完之后,需要使用人脸识别接口或者人工清晰一遍数据,将无用的数据删除。

删除图片之后,需要根据剩余的图片重新生成 alignments.fsa 文件。

这时候,就需要用到 Tools 里面的功能。

选择 Tools 标签下的 Sort 选项,Input 填写为刚刚处理完图片的文件夹,Output 填写新的文件夹,其余选项默认,点击 Sort 执行按钮,对所有图片进行重新排序。

图片名处理完了,再选择 Tools 标签下的 Alignments,job 选项 Remove-Faces

执行Alignments

数据集 A处理完成 数据集B同理 ,数据集 A和 数据集 B 越多越好

模型训练

训练模型 选择数据集 A 和 数据集 B 的地址,以及两个数据集对应的人脸对齐文件。

最后指定一个模型保存地址

执行 Train

训练生成的模型

最后执行Convert 转换

python 视频ai换脸_Python实现AI换脸--Faceswap相关推荐

  1. python国际象棋ai程序_Python开发AI应用-国际象棋应用

    AI 部分总述 AI在做出决策前经过三个不同的步骤.首先,他找到所有规则允许的棋步(通常在开局时会有20-30种,随后会降低到几种).其次,它生成一个棋步树用来随后决定最佳决策.虽然树的大小随深度指数 ...

  2. python视频处理代码_python如何实现视频转代码视频

    本文实例为大家分享了python如何实现视频转代码视频的具体代码,供大家参考,具体内容如下 # -*- coding:utf-8 -*- #coding:utf-8 import argparse i ...

  3. python视频处理模块_python视频处理库:moviepy

    处理视频是一个常见的需求.那么在python中如何用代码处理视频呢?最近我无意间发现了一个很好用的python视频处理库moviepy,其使用起来简单易用,而且功能比较强大,这里记录一下分享给大家. ...

  4. python实现视频ai换脸_python 实现 AI 换脸

    #!/usr/bin/python # -*- coding: utf-8 -*- # @Time : 2019/9/1 8:50 # @Author : cuijianzhe # @File : A ...

  5. python实现视频换脸_Python实现AI换脸功能

    importrequestsimportjsonimportsimplejsonimportbase64#第一步:获取人脸关键点 deffind_face(imgpath):""& ...

  6. python人工智能课程实例_python人工智能AI深度学习/机器学习全套课程 视频教程+ppt+代码...

    这是一套Python/人工智能/AI/机器学习/深度学习 全套实战课程,包含视频教程以及文档.源码等,欢迎下载 01. python数据分析与机器学习实战 02.深度学习入门视频课程(上篇) 03.深 ...

  7. python人物抠图算法_Python实现AI自动抠图实例解析

    一.简介 抠图是用PS? 用魔棒和快速选择工具? 遇到复杂背景怎么办? 最近发现一个神奇的工具--Remove Image Background https://www.remove.bg/zh 它是 ...

  8. python人工智能应用实例_Python实现AI自动抠图实例解析

    一.简介 抠图是用PS? 用魔棒和快速选择工具? 遇到复杂背景怎么办? 最近发现一个神奇的工具--Remove Image Background https://www.remove.bg/zh 它是 ...

  9. 用python制作飞机大战_Python制作AI且mini版飞机大战

    下载W3Cschool手机App,0基础随时随地学编程导语 大家新年快乐呀~~~ T_T 大年三十终于偷得半日清闲想起来有些日子没更公众号了~~~ So,来更一波文章hhhhh~~~ 之前貌似水了好几 ...

最新文章

  1. Linux篇---ftp服务器的搭建
  2. 招聘带来的Silverlight团队技能指标
  3. ascx页面获取标签的通用方法
  4. 设置上传文件的最大大小
  5. 机器人或抢走2000万人“饭碗”
  6. Oracle创建用户,创建表空间,将空间分配给用户,给用户授权
  7. powerdesigner显示工具面板_10分钟看懂Photoshop 绘画(画笔面板1-3)
  8. 01. Node js Hello world
  9. django源码简析——后台程序入口
  10. Pentium 4处理器架构/微架构/流水线 (10) - NetBurst执行核详解 - 高速缓存/数据预取
  11. Linux关机和重启命令
  12. 头条限流是什么原因_教训:千万不要用百家号去绑定头条号,后果你想象不到...
  13. maven打包报错:-source 1.5 中不支持 diamond 运算符
  14. 联通loid认证_光纤LOID 认证 需要填写的用户名是什么?有人说不...
  15. Python编曲实践(九):如何计算并估计音乐的调性(大/小调+主音)?Krumhansl-Schmuckler调性分析算法的原理与实现
  16. Windows商店安装问题已解决 Xbox应用将改善游戏安装
  17. SCI论文写作辅助利器-知云文献翻译
  18. dubbo使用带有密码的redis注册中心完整配置及遇到问题解决、RestTemplate配置【持续更新】
  19. ThinkPHP5结合云之讯短信验证简单案例
  20. C++头文件---algorithm

热门文章

  1. PRS多基因风险评分的几个算法
  2. SpringMVC学习心得
  3. 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十六集
  4. mendeley在word上使用
  5. 基于java SSM框架的游戏商城系统
  6. 百度网盘在线观看倍速播放方法
  7. 2020年你还没用BEM?
  8. java给xyz大小排序_java递归实现string xyz排序
  9. linux中文件名以圆点开头的文件是,在UNIX下以小圆点开头的文件是( )。
  10. 市场调研报告-全球与中国超细玻璃纤维棉市场现状及未来发展趋势