安装完OpenFaceswap之后,是不是就迫不及待的想要“见证奇迹”了呢? 都说磨刀不误砍柴工。开始之前请先做一个准备。然后大致了解一下换脸的过程

换脸基本步骤是:

  1. 把视频切成很多图片
  2. 把图片中的人脸提取出来
  3. 通过人脸来训练模型
  4. 通过模型对图片换脸
  5. 把换脸后的图片合成视频

具体的操作过程如下:

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换脸DeepfakesOpenFaceSwap的问题可以去 Deepfakes中文网。

OpenFaceswap 入门教程(2):软件使用篇!的更多相关文章

  1. Linux Capabilities 入门教程:基础实战篇

    该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...

  2. Capabilities 入门教程:基础实战篇

    该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilit ...

  3. Linux Capabilities 入门教程:进阶实战篇

    原文链接:https://fuckcloudnative.io/posts/linux-capabilities-in-practice-2/ 该系列文章总共分为三篇: Linux Capabilit ...

  4. OpenFaceswap 入门教程(1):软件安装篇

    ---恢复内容开始--- 众多换脸软件中,DeepFaceLab其实是安装和使用最方便,更新最快的,但是由于其没有可是化界面,对于很新手来说,可能入门还是有点难度.那么今天就来介绍一款操作极其直观和简 ...

  5. OpenFaceswap 入门教程(3): 软件参数篇!

    OpenFaceswap 的使用可以说是非常简单,只要稍加点拨就可以学会,厉害一点的人根本不需要教程,直接自己点几下就知道了.看了前面安装篇和使用篇.我想大多数人应该会了. 当学会了使用之后,你可能对 ...

  6. Unix/Linux环境C编程入门教程(42) 终端控制篇

    函数介绍 getopt(分析命令行参数) 相关函数 表头文件 #include<unistd.h> 定义函数 int getopt(int argc,char * const argv[ ...

  7. Docker入门教程(五)Docker安全

    Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...

  8. Docker入门教程(八)Docker Remote API

    Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...

  9. Docker入门教程(七)Docker API

    Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...

随机推荐

  1. 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数

    不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...

  2. Windows下 bat调用TSql问题

    一.建立sql文件 在sql管理工具中写好sql文件,并保证能够正常运行,之后用unique编码保存. 二.建立一个bat文件osql -U登录用户 -P密码 -S服务器 <sql文件.sql ...

  3. android 开发-系统设置界面的实现

    具体与Preference的用法类似,这里就不做过多解释,直接贴示例代码,需要在res下新建xml文件夹,在xml文件夹下添加xml文件. xml:(注意:root节点是:PreferenceScre ...

  4. SpringMVC10 InitBinder 注册自定义编辑器

    1.配置web.xml文件 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...

  5. webpack.config.js====CSS相关:插件optimize-css-assets-webpack-plugin

    1. 安装:主要是用来压缩css文件 cnpm install --save-dev optimize-css-assets-webpack-plugin cssnano 2. webpack.con ...

  6. Linux常用命令汇总(渐更)

    后台启动jar nohup java -jar xxxxx.jar > xxxx.out 2>&1 & 封禁ip iptables -I INPUT -s 200.194. ...

  7. Centos7.5搭建ELK-6.5.0日志分析平台

    Centos7.5搭建ELK-6.5.0日志分析平台 1. 简介 工作工程中,不论是开发还是运维,都会遇到各种各样的日志,主要包括系统日志.应用程序日志和安全日志,对于开发人员来说,查看日志,可以实时 ...

  8. gitk更改主题设置打不开

    ➜ project git:(master) gitk Error in startup script: unknown color name "lime" (processing ...

  9. 阐述简称PO,VO,TO,BO,DAO,POJO

    PO(persistant object) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了.通常对应数据模型(数据库),本身还有部分业务逻辑的处理.可以看成是与数据库中 ...

  10. Visual Studio Code的快捷键和相关技巧

    编辑相关的键盘快捷键: Shift + Alt + F = 格式化代码(似乎不好用) Ctrl + Shift + Enter = 在上一行新建空行并转到上一行 Ctrl + K,Ctrl + C = ...