Fakeapp 入门教程(2):使用篇!
Fakeapp软件的使用主要分成了三个步骤, 使用之前请确保你的电脑配置还可以,推荐配置是:一张显存大于4G的N卡。Fakeapp是有支持CPU选项,但是用CPU跑非常慢。
- 获取脸部图片
- 训练模型
- 生成视频
在开始之前你需要先准备两个视频,一个是A视频,一个是B视频,换脸软件可以把B的脸换到A上面。这里加上A视频是FBB(范冰冰),B视频是FTM(冯莫提)。这两个视频放在一个叫workspace的目录里面。下面的路径都为相对G:\FakeApp\workspace\的路径,路径并没有特殊要求,你可以更具自己的情况来选择。
下面就配合图片详细解说下如何操作。
1.获取脸部图片
选中GET DATESET 出现如下界面。
这一步的目的是讲视频分割成图片,然后从图片中提取脸部。
这个环节只需要填写两个地方,一个是Vidoe视频路径,一个是帧率FPS,默认为30.
因为我们有两个视频,所以需要分两次次来。.
先在Video中输入G:\FakeApp\workspace\FBB.mp4 ,这个路径不一定是这个样子要更具你的实际情况来。 帧率可以通过视频文件右键属性进行查看,一般是30,24之类。
输入完成后点击EXTRACT(提取) 开始提取。
提取分两个阶段,一个是把视频分割成图片,如上图。 一个是把图片中的人脸提取出来保存成新的图片,如下图。
等待进度条结束后跳出Traning dataset successfully 这个提示窗口就证明成功了。点击OK关闭提示窗口。
用同样的方式操作FTM.mp4
Video中输入G:\FakeApp\workspace\FTM.mp4 ,这个路径不一定是这个样子要更具你的实际情况来。同样需要输入帧率。
这两个过程完全是一样的,截图如下,就不多解释了。
2.训练模型
模型是很重要的一个东西,也是一个极其消耗时间的东西。训练模型对配置的要求也是比较高。
训练界面主要是上个输入框
Model : 模型的保存路径 (….\workspace\Model)
Data A: 被换的人脸(….\workspace\dataset_FBB\extracted)
Date B: 拿去换的人脸(…..workspace\dataset_FTM\extracted)
….代表你自己的路径。
输入路径之后,点击TRAIN开始训练。稍等片刻下面就会显示Loss A:xxxx ,LossB:xxxx 。 同时Model 目录下除了四个文件。同时还会跳出一个有很多脸的预览窗口。
这一个环节是非常耗时间的,一般需要几天时间。软件不会自动停止,你不想训练模型的时候可以手动关闭。下次开启会继续训练。 手动关闭的方法为,鼠标移动到预览窗口,然后按Q结束。
判断这个阶段是否完成了,可以通过两个指标去看。
- Loss A,Loss B 数字越来越像,小到了0.02左右,就差不多了
- 人脸预览图越来越清晰,第二列第三列和第一列一样清晰,就证明差不多了。
训练结束后,即可开始生成视频。
生成视频的过程也是细分了好几个步骤。
首先,你需要输入Model 路径(…\workspace\Model )。Video路径(…\workspace\FTM.mp4) FPS(30)
然后,点击Create。
然后程序自动开始,处理过程可分成4个阶段。
- 生成图片
- 截取脸部
- 合成图片
- 合成视频
上面四个步骤是软件自动运行,运行结束之后就可以看到一个叫swap-FTM的视频了。这就是换脸后的视频。
因为我训练时间非常短,所以这个脸是非常模糊的,几乎看不起是谁。如果你训练的时间够长,这里就会非常清晰了。
更多关于 AI换脸,Deepfakes, Fakeapp的问题可以去 Deepfakes中文网。
Fakeapp 入门教程(2):使用篇!的更多相关文章
- Systemd 入门教程:实战篇
Systemd 入门教程:实战篇 上一篇文章,介绍了 Systemd 的主要命令,这篇文章主要介绍如何使用 Systemd 来管理我们的服务,以及各项的含义: 一.开机启动 对于那些支持 System ...
- 【转帖】Systemd 入门教程:命令篇
Systemd 入门教程:命令篇 Copy From http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html 感觉 ...
- Linux 命令详解(八)Systemd 入门教程:实战篇
Systemd 入门教程:实战篇 http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
- Linux 命令详解(七)Systemd 入门教程:命令篇
Systemd 入门教程:命令篇http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html
- (转)Systemd 入门教程:命令篇
Systemd 入门教程:命令篇 原文:http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html Systemd 入门 ...
- DataVeryLite入门教程(二) Entity篇
DataVeryLite 是基于.net 4.0的数据库持久化ORM框架. 目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access. ...
- Linux Capabilities 入门教程:概念篇
原文链接:Linux Capabilities 入门教程:概念篇 Linux 是一种安全的操作系统,它把所有的系统权限都赋予了一个单一的 root 用户,只给普通用户保留有限的权限.root 用户拥有 ...
- Fakeapp 入门教程(1):安装篇!
在众多AI换脸软件中Fakeapp是流传最广,操作最简单的一款,当然他同样也是源于Deepfakes. 这款软件在设计上确实是花了一些心事,只要稍加点拨,哪怕是再小白的人也能学会.下面我就做一个入门教 ...
- Fakeapp 入门教程(3):参数篇
参数可以让软件自由度更高.Fakeapp的参数并不算多,但是也非常使用.本文就讲解下几个重要的参数.参数设置界面可以通过点击SETTINGS打开. 参数修改无需点击保存,一旦修改直接生效. Proce ...
随机推荐
- Stars(树状数组)
算法学习:http://www.cnblogs.com/George1994/p/7710886.html 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid ...
- Washing Plates 贪心
https://www.hackerrank.com/contests/101hack41/challenges/washing-plates 给定n个物品,选这个物品,贡献 + p, 不选的话,贡献 ...
- Java文件与io——复制文件和转换流
字节流与字符流的区别 在所有的流操作里,字节永远是最基础的.任何基于字节的操作都是正确的.无论是文本文件还是二进制的文件. 如果确认流里面只有可打印的字符,包括英文的和各种国家的文字,也包括中文,那么 ...
- 再谈Drupal 7.X的性能优化运行速度问题
D6升级D7之后,性能着实让人头大,不妨参考下面文章,另外站内搜索DOOOOR里其他优化文章,中西医结合吧.其中CDN和BOOST效果还可以,其他的没试过. 1,服务器 Web服务器建议,推荐使用HA ...
- Properties IO持久化
Properties IO持久化 Properties类表示一组持久的属性. Properties可以保存到流中或从流中加载. 属性列表中的每个键及其对应的值都是一个字符串. 方法: String g ...
- 《C#高效编程》读书笔记12-使用推荐成员初始化器而不是赋值语句
通常来说类都有不止一个构造函数.随着时间推移,成员变量的增加,构造函数的个数也会不断的增加.预防这种情况的最好方法是,在声明变量的时候就进行初始化,而不是在每个构造函数中进行. //初始化变量时声明 ...
- flask --db-Column属性
db.Column 中其余的参数指定属性的配置选项. 选项名 说 明 primary_key 如果设为 True,这列就是表的主键 unique 如果设为 True,这列不允许出现重复的值 index ...
- Vue打包后页面出现cannot get
学习Vue有大半个月了,然而遇到了不少坑,完全没有高手们那么容易,中间有不少值得记录下的东东,回头好好理理.先理下今天的: Vue打包命令简单啊,直接在命令行输入:npm run build 然而没一 ...
- javascript设计模式之装饰者模式
/* * 装饰者模式提供比继承更有弹性的替代方案 * 在不改变原构造函数的情况下,添加新的属性或功能 */ //需要装饰的类(函数) function Macbook() { this.cost = ...
- CheckPoint_vSEC_Cluster_R77.30
CheckPoint_vSEC_Cluster_R77.30 平台: arm 类型: ARM 模板 软件包: Check Point vSEC Gateway R77.30-041.161 Anti- ...