OpenFaceswap 入门教程(2):软件使用篇!
安装完OpenFaceswap之后,是不是就迫不及待的想要“见证奇迹”了呢? 都说磨刀不误砍柴工。开始之前请先做一个准备。然后大致了解一下换脸的过程
换脸基本步骤是:
- 把视频切成很多图片
- 把图片中的人脸提取出来
- 通过人脸来训练模型
- 通过模型对图片换脸
- 把换脸后的图片合成视频
具体的操作过程如下:
1.创建素材目录workspace

创建一个叫workspace的目录用来放你的视频图片等素材。 所谓换脸,就是把张三的脸放到李四头上,或者反过来。所以你需要在workspace下面在创建两个目录A和B。用来放两个人的素材。
最后的目录结构大致如下:

A 里面放的是被换脸的人,A目录下应该有一个被换脸人的视频 FBB.mp4
B 放的是将要去替换别人的人。B目录下应该有一个换人的视频FMT.mp4
Face 目录是从视频里提取的人脸。
Model 为训练的模型目录
Result 为结果目录,替换完的图片和视频都会在这里。
这个目录结构完全可以自己来命名,为了方便讲解和验证请大家也创建一个这样的目录结构。
其实,FBB.mp4和FTM.mp4为换脸的视频素材,必须事先准备好。你可以自己准备,也可以用我从网上收集的两个视频。
网盘地址:
2. A的人脸截取
点击 VIDEO A 跳出一个串口,选择自己的workspace目录,选中A文件夹中的FBB.mp4

点击 IMAGES A 后面的黄色文件夹图标。选中FBB,然后点击 IMAGES A 。跳出黑色窗口,片刻之后窗口底部出现 press any key to continue… 证明这一部操作成功,在FBB目录下会出现好多图片。
点击 FACES A 后面黄色文件夹,选中Face目录,然后点击FACES A 开始从图片中提取人脸。
点击完后会出现黑色窗口,稍等片刻之后出现进度条。没出现进去条就证明你的电脑环境没有设置好,需要去查看软件安装的章节。
进度条结束之后,会显示Image Found xxx 。 告诉你发现多少张图片,提取了多少个人脸。

此时打开 Face目录,可以看到很多人脸图片,证明人脸提取已经成功。

3. B的人脸截取
B的操作和A是一毛一样,只是选择的视频和目录不同。这里选得是FTM.mp4。目录是B,FTM,Face等。


4. 训练模型
训练模型是一个比较耗时的过程,少则一两天,多则半个月,配置不同,耗时不同。 如果你之前没有穿件Model目录,可以点击黄色文件夹之后选着Create Folder 。如果已经有了就直接选中后Open。

然后点击MODEL开始训练。点击后跳出一个黑色窗口,底部会有一个动态的显示。同时出现一个叫training的预览窗口。
随着时间的推移,预览窗口会发生变化,出现很多人头,训练的过程,就是人脸从模糊变清晰的国产。
上面红色框中的数字是一个训练指标,Loss_A,Loss_B后面的数字越小越好,一般来说当数值小到0.02 或者0.0.1就差不多了,当然你也可以直接看预览图的效果,如果人脸非常清晰了,这个环节就结束了。
为了演示整个过程,我这里只是训练了几分钟,就开始进入下一个环节了。
5. 人脸替换
人脸替换的结果我们保存在Result,所以先通过点击文件夹选中Result ,然后点击Open。

点击 SWAPS开始换脸。跳出黑色窗口,出现进度条。最后出现Done! 就证明转换已经全部完成。
这一个步骤做的事情,就是把B的脸放到A的头上,最终产生的一堆换了脸的图片。
Result目录随便打开一张看一下,脸已经换过去了。我这里由于训练时间超短,所以脸是模糊的。训练久了脸就会变得清晰,看起来就不会这么假了。
6. 导出视频
我们训练的最终目的肯定不是图片换脸,而是视频换脸。所以最后一步,是将图标合成视频。
点击文件夹,选中Result,Save 。

点击 MOVIE ,弹出黑色窗口,片刻之后,出现Press any key to …. 证明合成已经结束。

此时,Result下面出现了一个FBB的视频。

到这里,整个换脸软件的使用就结束了。

刚开始,大家换出来的连肯能都是这一个样子的。 随着 MODEL环节时间的增长,效果会越来越好。除了模型的训练时长之外。最终换脸的效果很大程度取决于A 和B下面的视频素材。
更多关于 AI换脸,Deepfakes, OpenFaceSwap的问题可以去 Deepfakes中文网。
OpenFaceswap 入门教程(2):软件使用篇!的更多相关文章
- Linux Capabilities 入门教程:基础实战篇
该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...
- Capabilities 入门教程:基础实战篇
该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...
- Linux Capabilities 入门教程:进阶实战篇
原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...
- OpenFaceswap 入门教程(1):软件安装篇
---恢复内容开始--- 众多换脸软件中,DeepFaceLab其实是安装和使用最方便,更新最快的,但是由于其没有可是化界面,对于很新手来说,可能入门还是有点难度.那么今天就来介绍一款操作极其直观和简 ...
- OpenFaceswap 入门教程(3): 软件参数篇!
OpenFaceswap 的使用可以说是非常简单,只要稍加点拨就可以学会,厉害一点的人根本不需要教程,直接自己点几下就知道了.看了前面安装篇和使用篇.我想大多数人应该会了. 当学会了使用之后,你可能对 ...
- Unix/Linux环境C编程入门教程(42) 终端控制篇
函数介绍 getopt(分析命令行参数) 相关函数 表头文件 #include<unistd.h> 定义函数 int getopt(int argc,char * const argv[ ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(七)Docker API
Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...
随机推荐
- 性能测试学习第二天_性能测试工具概述Loadrunner介绍
性能测试工具概述Loadrunner介绍 http://www.51testing.com/html/42/n-6542.html 其中,T直接影响用户体验时间 性能测试的原理: 记录一个访问过程的通 ...
- ORA-29875 出现问题解决办法
出现问题:Underlying DBMS error [ORA-29875: 无法执行 ODCIINDEXINSERT 例行程序ORA-20085: Insert Spatial Reference ...
- 上机练习2 生成计算机ID
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- C#简单代码转移数据库数据
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;u ...
- 使用Foxfly.Net读取STEP文件
Foxfly.Net是具备基本的几何建模和CAD文件读取功能.本文主要介绍读取STP/STEP文件的使用方法. 1.初始化 项目中引入FoxflyNet.dll程序集,在Program.cs中初始化建 ...
- 基于HttpClient的新版正方教务系统模拟登录及信息获取API
简介 通过HttpClient获取网页数据源,通过Jsoup解析数据.先模拟登录,再获取信息.模拟浏览器正常操作,封装请求头信息获取SESSIONID.模拟登录成功后切勿断开会话,依赖登录请求得到的C ...
- win10+asp+access 父路径开启无效
如题: 在win10环境下,布署asp+access,发现在用到"../website/"时就出错,提示不能使用父路径 可是我在IIS 的asp中明明打开了父路径的 如下 但是偏偏 ...
- xaml实现无边框窗口
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/w ...
- 【MATLAB】设定坐标的轴的范围
set(gca,'XLim',[0 1.5]);%X轴的数据显示范围set(gca,'XTick',[0:0.1:1.5]);%设置要显示坐标刻度set(gca,'XTickLabel',[0:0.1 ...
- nbtscan ip地址
查找网络(192.168.1.0)中netbios名字信息,对应命令如下: nbtscan 192.168.1.1-254 找到有netbios名字后,可以使用如下的命令查看这些主机运行的服务. nb ...







