目录

准备输入数据和设置笔记本

初始化Notebook并安装依赖项

数据集导入

从原始视频中提取和去噪帧

人脸检测

可选:排序和增强Facesets

模型训练

合并结果帧

获取结果视频:深度伪造


  • 下载项目文件 - 75.5 MB

深度伪造——使用深度学习在视频中将一个人的脸换成另一个人的脸——是当今使用人工智能的最有趣最可怕的方式之一。

虽然深度伪造可用于合法目的,但它们也可用于虚假信息。能够轻松地将某人的脸换成任何视频,我们真的可以相信我们的眼睛告诉我们的吗?政治家或演员做或说令人震惊的事情的真实视频可能根本不是真实的。

在本系列文章中,我们将展示深度伪造的工作原理,并展示如何从头开始实现它们。然后我们将看看DeepFaceLab,它是一种多合一的Tensorflow驱动的工具,通常用于创建令人信服的深度伪造。

在上一篇文章中,我们完成了深度伪造DIY解决方案的管道。在本文中,我想为您概述如何使用DeepFaceLab来实现与我们之前获得的视频类似的结果。我已经给你介绍了DeepFaceLab,所以在本节中,我将向你展示如何从一个有点不寻常的角度实现它:我想继续从云操作的角度来看,而不是遵循常规的本地路径,所以我将向您解释如何使用运行在Google Colab之上的DeepFaceLab,这样即使您没有超级强大的本地机器,您仍然可以遵循本教程。

在开始之前,花点时间阅读他们的GitHub存储库和DFL Google Colab指南。你可以得到他们的官方Colab notebook  在这里和我的notebook  在这里。话虽如此,让我们把它完成!

准备输入数据和设置笔记本

DFL要求您创建一个名为“workspace”的文件夹,其中包含两个视频:data_src.mp4 和data_dst.mp4。这些将分别是您要插入转换后的人脸的源视频和您将从中获取目标人脸的视频。完成后,将文件夹压缩到一个名为“workspace.zip”的文件中。将此文件上传到您的Google Drive的根目录。如果您使用我从一开始就使用的示例,您可以在此处找到此文件,只需下载并上传到您的云端硬盘即可。

现在复制官方DFL Notebook(或我的),并通过转到运行时 > 更改运行时类型 > 硬件加速器:GPU来确保您的Notebook实例启用了GPU。

此外,转到“编辑”>“Notebook设置”并确保您看到与上述相同的选项。

初始化Notebook并安装依赖项

我不会深入探讨Notebook的解释,因为它的文档非常详细。相反,我将向您展示如何获得最佳视频。仔细检查实例是否启用了GPU后,运行Notebook的前三个单元格:

重要提示:确保在运行第三个单元格之前选择下拉列表中的“安装”选项并选择“Download_FFHQ”选项。

数据集导入

DFL安装完成后,展开第四个单元并按原样运行第一和第二个代码块。这将导入您上传到云端硬盘的数据集,并将笔记本输出导出设置为您的云端硬盘:

从原始视频中提取和去噪帧

让我们处理从您的云端硬盘获取的视频。为此,展开第五个单元格,从下拉列表中选择“data_src”并运行该块。该脚本需要您提供一些输入:在询问输出图像格式时输入“0”作为 FPS(每秒帧数)和“png”,然后让它提取帧。

然后,当它完成提取时,返回下拉列表,这次选择“data_dst”,并重复该过程:

一旦提取了两组帧,就可以对这些帧进行去噪。这一步是完全可选的,但无论如何我都会这样做。继续为"data_src"和"data_dst"运行第二个块,每当它要求去噪因子时,使用默认值7:

人脸检测

一旦帧被去噪,就该检测它们上的人脸了。使用“S3FD”检测器继续运行“data_src”和“data_dst”的第六个块。它将要求您输入一些参数:将“人脸类型”设置为“wf”(意思是“整张脸”),将“图像的最大人脸数”设置为0,将“JPEG质量”设置为90:

可选:排序和增强Facesets

尽管这些步骤是可选的,但我鼓励您运行它们。第一个是通过直方图相似性对数据集进行排序,第二个是增强人脸集合,从而在训练中获得更好的结果。为“data_src”和“data_dst”运行两个块,使用GPU增强的人脸集合(在需要时输入选项0)并在询问您是否要合并数据集时同意:

模型训练

要开始此过程,请在“模型”选项的下拉列表中选择“SAEHD”,选择每小时备份的选项,并选择“静默启动”。你会被要求定义几个关于训练的参数。使用所有默认选项,仅将“每N小时自动备份”修改为1:

我们缩减的数据集的训练默认时间非常长,因此在2或3小时后,您可以按Enter停止它。它将停止训练过程并保存最后一个模型。作为参考,这些是我在8200、23000和37300次迭代后在训练期间获得的一些示例结果。请注意右侧列在迭代增加时如何改进:

一旦模型训练开始输出可接受的转换预览,停止它。(您可以在左侧的Colab文件浏览器中看到它们,在模型下。找到DFL_SAEHD_preview_SAEHD masked.jpg文件并下载它)

合并结果帧

使用“SAEHD”模型和所有默认参数运行下一个模块,除了:

  • 选择模式:输入“3”进行无缝换脸。
  • 选择锐化模式:为高斯输入“2”。这是为了提高换脸质量。
  • 选择超分辨率功率:输入“20”。

获取结果视频:深度伪造

最后,通过运行最后一个块来获取结果视频。如果需要,请选择“复制到驱动器”选项并将参数保留为默认值:

结束后,您将找到保存在云端硬盘和/content/workspace/result.mp4的最终视频。这是我最后的深度伪造的样子:

很神奇,不是吗?如果您想查看最终视频,请在此处找到 。最后,我想强调的是,DFL结果比我们使用DIY解决方案实现的结果要好得多,但请记住,DeepFaceLab背后有大量的时间和奉献,与我们的DIY解决方案相比只有几天。我鼓励你自己改进我的结果。这只是花时间调整细节和训练更多时期的自动编码器的问题。

我们已经到了本系列文章的结尾。我希望你喜欢这段漫长而激动人心的旅程!请记住,出于善意使用深度伪造。

https://www.codeproject.com/Articles/5298031/DeepFaceLab-A-Pre-Packaged-Alternative-DIY-Deep-Fa

(十)DeepFaceLab:预包装的DIY深度伪造替代品相关推荐

  1. (一)深度伪造的视频人脸传输

    目录 Deep Fakes简介 了解深度伪造背后的概念 Deep Fakes一般概述 下载项目文件 - 75.5 MB Deep Fakes简介 深度伪造--使用深度学习在视频中将一个人的脸换成另一个 ...

  2. 2022年ISC第十届互联网安全大会——深度伪造对抗技术进展与挑战学习笔记

    文章目录 深度伪造现状与趋势 概念和内涵 基本概念: 主要内涵: 发展趋势 深度伪造的典型案例 深度伪造在认知对抗中的定位 深伪对抗的关键技术 深伪对抗技术体系 文本仿写技术 语音合成技术 视频伪造技 ...

  3. (二)生成深度伪造的方法

    目录 自编码器概述 DeepFaceLab概述 换脸概述 下载项目文件 - 75.5 MB 深度伪造--使用深度学习在视频中将一个人的脸换成另一个人的脸--是当今使用人工智能的最有趣和最可怕的方式之一 ...

  4. (九)把一切放在一起:用深度伪造换脸

    目录 将src人脸转换为dst人脸 用dst人脸交换来自src帧的人脸 视频重建:获取我们的深度伪造视频 下载项目文件 - 75.5 MB 深度伪造--使用深度学习在视频中将一个人的脸换成另一个人的脸 ...

  5. (三)使用自动编码器进行深度伪造

    目录 应用于深度伪造的卷积自编码器 下载项目文件 - 75.5 MB 深度伪造--使用深度学习在视频中将一个人的脸换成另一个人的脸--是当今使用人工智能的最有趣和最可怕的方式之一. 虽然深度伪造可用于 ...

  6. 关上Deepfake的潘多拉魔盒,RealAI推出深度伪造视频检测工具

    诞生之初,Deepfake是一项有趣的图像处理技术,仅仅带来搞笑和娱乐视频,但殊不知,潘多拉魔盒就此被打开,催生出色情黑产.恶搞政客"操纵"民意,Deepfake正逐步进化为一种新 ...

  7. (七)准备在云中训练深度伪造模型

    目录 检查先决条件 在本地计算机上设置所有内容 创建提交训练作业所需的局部变量 创建项目所需的Bucket 下载项目文件 - 75.5 MB 深度伪造--使用深度学习在视频中将一个人的脸换成另一个人的 ...

  8. (五)构建和训练深度伪造自动编码器

    目录 在Notebook中设置基础 数据集创建和拆分 创建和训练自动编码器 在Keras中交换编码器和解码器 下载项目文件 - 75.5 MB 深度伪造--使用深度学习在视频中将一个人的脸换成另一个人 ...

  9. (四)为深度伪造预处理数据集

    目录 在Notebook上设置基础 提取视频帧 人脸检测和提取 下载项目文件 - 75.5 MB 深度伪造--使用深度学习在视频中将一个人的脸换成另一个人的脸--是当今使用人工智能的最有趣和最可怕的方 ...

最新文章

  1. Cannot place PIO comp S on the proposed PIO site PB6C / F5 because the types of their IOLOGICs a...
  2. linux mv 环境变量,linux环境变量 cp mv 以及文档查看的几个命令
  3. docker mysql编辑器_docker官方mysql镜像自定义配置详解
  4. 数据库-日期计算-获取年月日
  5. 程序代码初学者_初学者:如何使用热键在Windows中启动任何程序
  6. 马云今日正式退休!卸任后的他,仍有12个身份...
  7. ASMSupport教程4.7 生成关系运算符
  8. 以下不是python内置函数的是_为什么说python内置函数并不是万能的?
  9. 20172303 2017-2018-2 《程序设计与数据结构》实验五报告
  10. C++RAII惯用法:C++资源管理的利器
  11. 关于element el-button使用$attrs的一个注意要点
  12. 递归计算二叉树的叶子节点个数
  13. Apple iPhone 8G手机误升级至2.0降级破解日记
  14. 购物网站的商品推荐算法有哪些?
  15. 2010世界财富排行榜
  16. (NO.00001)iOS游戏SpeedBoy Lite成形记(十九)
  17. 百度天算,大数据和人工智能的全面开放
  18. HbuilderX连接小米手机/运行到小程序
  19. CBTC系统标准: 1474.4---系统特点及应用
  20. Python 3 教程(二)

热门文章

  1. php echo nbsp,关于include里面的函数echo的问题
  2. 计算机统考第五次作业操作题,计算机基础第5次作业 第五章 Powerpoint知识题
  3. aws s3 獲取所有文件_前端上传文件到Aws S3文件服务器
  4. 难以拒绝的中国风雅致新年元旦海报来袭
  5. UI设计素材|动画的妙处,有助于吸引你的用户
  6. 超级实用的设计类网址导航--一流设计导航
  7. 新拟物素材|时髦iOS 主屏幕图标
  8. UI网页头部设计模板素材|这么多讲究,你知道吗?
  9. 平面设计师如何利用图片素材提升工作效率
  10. 继承单例模式 php_解决 PhpStorm 对 用单例模式实例化PHP类时,代码自