FakeApp换脸简易教程
2018年1月,有人推出了Windows程序FakeApp,允许用户很轻松地自制换脸视频,即使没有任何AI方面的知识,这大大降低了deepfake的使用门槛。
文章内容:转载于简书 https://www.jianshu.com/p/c2afe8919a35
环境搭建
- 首先需要安装的便是这个能让你傻瓜式换脸的应用FakeApp了,点击链接进入官网。安装过程中并没有什么值得特殊强调的地方,咱们一笔跳过。
- 接下来就是和GPU相关的CUDA8了,选择相应的系统版本便可以下载安装。在安装方式这一步建议大家使用本地安装exe[local]的方式,exe[network]的安装方式…可能有点慢。默认情况下CUDA会自动帮你添加到环境变量,如果没有,请手动添加,这一步非常重要。
至此,所有和环境相关的部署咱们已经大功告成了。
应用简介
先简单介绍一下FakeApp的三个模块
GET DATASET: 获取数据集,在这一步中,你的素材视频将被逐帧切割成图片,程序会自动识别并提取出图片中人物的面部数据。
TRAIN: 训练模型,根据第一步中生成的数据集,机器会自动地帮你训练模型,从而进行面部的替换。
CREATE: 生成视频,这一步便是整个实验中最为神奇的地方,他能根据你训练出的模型,将给定视频素材中人物的面部进行替换,最后生成替换后的视频。
开始实验
1. 第一步,生成数据集
先创建一个文件夹fake
,将素材视频存放进去
咱们姑且用A和B来区分这两个小姐姐好了,按照FakeApp的提示,将素材路径填入,点击EXTRACT,接下来无需任何操作,等程序跑完就行了。你会看到fake
文件夹中多出了一个dataset-A
的目录,这便是我们待会儿训练模型时需要的数据集了。A的训练集生成后,重复这一步骤,生成B的训练集。至此,咱们第一步结束了。
2. 第二步,训练模型
在这一步开始前,你需要在fake
文件中创建一个model
目录,这里会存放模型文件。和之前一样,依次填入文件夹路径,下面的参数无需修改,使用默认配置即可。点击TRAIN,等待程序初始化后,会弹出一个预览框,这时,你几乎可以高枕无忧了。刚开始你会发现预览框最右侧的一列会非常模糊,不要紧,模型才刚开始训练。Loss A
和Loss B
代表模型的差异值,咱们无需关注数值产生的原理,你只需要知道,两者之差越小,说明模型训练的越好。
训练模型是一个很耗时间的活儿,以我为例,每个数据集各350张左右的面部图像,训练了大概13个小时,差异值稳定在了0.1%左右。如果你想要更好的效果,建议每个数据集不低于500张,至于如何确定数据集的大小,可以看上面的示例图A,图中的360代表dataset-A
的数据量。
值得一提的是,训练进度会被实时保存下来,也就是说你可以随时暂停训练,在预览窗口中,输入英文小写字母q
即可保存退出,下次想要继续训练的话,打开FakeApp再点击TRAIN即可。
——-———————————分割线——-———————————
13个小时过去了,最右一列已经十分清晰了,效果也令人满意,要不咱们先合成一个视频试试?
——-———————————分割线——-———————————
3.在model
中填入我们先前训练好的模型路径,Video则填入你想要替换的视频路径,依旧是傻瓜式,点击CREATE,稍安勿躁,让GPU飞一会儿~程序跑完后,你应该就能在fake
文件中看到生成的swap.mp4文件了,让我们通过视频截图,看看效果如何。
替换前
替换后
FakeApp换脸简易教程相关推荐
- qmake 简易教程
qmake 简易教程 qmake是Qt开发中默认的构建工具. posted on 2018-05-27 00:09 JichengTang 阅读(...) 评论(...) 编辑 收藏 转载于:http ...
- eslint不报错 vue_【简易教程】基于Vue-cli使用eslint指南
插件安装 首先在vscode插件中搜索eslint和prettier. 啥也不管,这俩必须得装. 插件简介 vscode插件库里的eslint是用来在你写代码的时候就直接给你报错.(vue-cli中的 ...
- Ocelot简易教程(一)之Ocelot是什么
Ocelot简易教程(一)之Ocelot是什么 原文:Ocelot简易教程(一)之Ocelot是什么 作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/955 ...
- 安装python程序后要进行什么设置-安装好Pycharm后如何配置Python解释器简易教程...
这两天有许多Python小白加入学习群,并且问了许多关于Pycharm基本使用的问题,今天小编就以配置Python解释器的问题给大家简单絮叨一下. 1.一般来说,当我们启动Pycharm,如果Pych ...
- ST单片机使用ST Visual Programmer软件烧录程序简易教程
文章原始地址: http://feotech.com/?p=100 ST单片机使用ST Visual Programmer软件烧录程序简易教程 ST Visual Programmer 是ST公司为自 ...
- mysql游标进阶_mysql进阶(三)游标简易教程
mysql游标简易教程 从mysql V5.5开始,进行了一次大的改变,就是将InnoDB作为默认的存储引擎.InnoDB支持事务,而且拥有相关的RDBMS特性:ACID事务支持,数据完整性(支持外键 ...
- Android开发简易教程
Android开发简易教程 Android 开发因为涉及到代码编辑.UI 布局.打包等工序,有一款好用的IDE非常重要.Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后来在2 ...
- 文件上传利器SWFUpload入门简易教程
凡做过网站开发的都应该知道表单file的确鸡肋. Ajax解决了不刷新页面提交表单,但是却没有解决文件上传不刷新页面,当然也有其它技术让不刷新页面而提交文件,该技术主要是利用隐藏的iFrame, 较A ...
- 【简易教程】基于Vue-cli使用eslint指南
[简易教程]基于Vue-cli使用eslint指南 插件安装 首先在vscode插件中搜索eslint和prettier. 啥也不管,这俩必须得装. 插件简介 vscode插件库里的eslint是用来 ...
最新文章
- 两地控制的项目要求_项目两地控制灯照明线路的安装.ppt
- 如何将低频内容应用转化为高频应用?
- python的二维数组操作
- How to change max_allowed_packet size
- 停止Hadoop或HBase集群的脚本
- androidstudio build tools安装_Android Studio4.0 安装及配置
- 基于tkinter模块创建GUI程序(python)
- 我如何获得了梦想中的亚马逊工作机会?
- android UDP通信
- 实时监控 轻松玩转IT运维
- 原神改文件换服务器,原神官服和b服怎么切换
- ice服务器修复教程,Bootice:系统引导菜单修复利器的功能解说
- scala--模式匹配
- 【刷题】清橙 A1339 JZPLCM(顾昱洲)
- 【矩阵论】矩阵基本概念 + 矩阵广义逆
- win10把用户中文名改为英文名
- 392高校毕业设计选题
- threejs正方体六面贴图
- 穷举暴力破解密码(真香版)
- 用C语言实现菱形图案
热门文章
- 人生 不只是程序 如何能够活得更精彩
- HD-map:大话高精地图和语义地图
- 图书馆管理系统开发(C# Sql Server)
- Oracle EBS应付发票验证不了:Invoice Validation Errors with The sum of the Percentage Recovery Rates is great
- python中输出换行符\n的使用、用format格式化变量
- CSS之三角形的奥妙
- linux 之 python升级到python3.7
- 罗辑思维,古典:“超级个体” 观后随笔
- Snail OS 0.03 user是用户进程和系统调用的简单实现
- PointNet++: