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

算法原理

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. 每年节省170万美元的文档预览费用,借助机器学习的DropBox有多强​?
  2. python入门看什么书-请问初学者学Python看那本书?
  3. mysql端口测试报错_MySQL报错:2003 - Can't connect to MySQL server on 'localhost' (10038)
  4. Endpoint 理解
  5. mysql utf8转gbk cmd_转:在CMD中操作mysql数据库出现中文乱码解决方案
  6. linux发送http请求xml报文,使用curl命令行发送/发布xml文件
  7. Dropwizard入门及开发步骤
  8. 【Beta】Scrum Meeting 2
  9. spring—aop
  10. 洛谷-DFS-1019-单词接龙-个人AC题解和公共AC题解笔记
  11. node 安装 webpack
  12. 实验四 linux进程控制实验报告,Linux系统进程控制操作系统实验报告4
  13. 计算机视觉(二)——深度学习进阶
  14. html标签--使用
  15. SIP协议详解(中文)-5
  16. 优雅的剥洋葱:浅析 Java Optional 类
  17. Word如何操作压缩图片?干货经验!怎么在Word中压缩图片?
  18. MySQL:环境搭建,初识数据库----Datawhale第一次打卡笔记
  19. 一台服务器可以架设几个不同的版本?一台服务器可以架设几个微端?
  20. Hbase Coprocessor(协处理器)的使用

热门文章

  1. 跟风购物狂欢节,百度小程序首战双11
  2. 知道这些,pycharm的开发效率翻倍
  3. php如何实现登录,php登陆功能如何实现
  4. Arduino使用土壤湿度传感器
  5. Python实现正态分布指定区间内【置信区间】概率值计算
  6. 基于java SSM框架的游戏商城系统
  7. 5款比Snapchat更好用的“阅后即焚”应用,让你大胆调情!
  8. 入门篇 第1章 初始Python
  9. C51/C52单片机,最小系统
  10. 社工考试用计算机干什么,考了社会工作者证可以用来干嘛 - 希赛网