65.9K
CodeProject 正在变化。 阅读更多。
Home

生成深度伪造的方法

starIconstarIconstarIconstarIconstarIcon

5.00/5 (2投票s)

2021年3月25日

CPOL

3分钟阅读

viewsIcon

7240

在本文中,我将解释我们可以选择哪些不同的选项来创建深度伪造。

深度伪造——利用深度学习将一个人的脸替换到视频中的另一个人身上——是当今人工智能最有趣令人担忧的应用方式之一。

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

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

之前的文章中,我对深度伪造生成以及该过程中涉及的元素进行了总体概述。在本文中,我将简要解释一下您可以用来生成深度伪造的一些方法:自编码器(DIY)、DeepFaceLab(预打包)和Faceswap(预打包)。还有其他多种选择,但从我的角度来看,这些是最相关的解决方案。由于本系列专注于DIY解决方案的细节,因此我将更多地关注自编码器。

自编码器概述

我发现自编码器易于理解和使用。这种神经网络是一种自监督学习结构,旨在从较低维度的表示中重建其输入。换句话说,它们的主要优点是它们将输入压缩为潜在空间表示(压缩数据的潜在或隐藏表示),然后从这种简化的表示中重建它。最终输出应该是摄取的完全相同的东西。这种特殊的网络由两个要素组成

  • 编码器:网络的这一部分获取输入数据并将其压缩为潜在空间表示。
  • 解码器:网络的这一部分输出重建的数据,它从潜在空间表示中生成数据。

这是一般的自编码器结构的样子

在不丢失重要信息的情况下使输入数据变小的过程称为降维,它是深度伪造生成器中的关键。

DeepFaceLab 概述

该软件改变了深度伪造的制作方式。正如其创建者在官方存储库中所说的那样,它是“创建深度伪造的领先软件”,它令人叹为观止。DeepFaceLab 是一个简单灵活的换脸开源框架,在 GitHub 上非常受欢迎。它可以生成逼真的深度伪造视频,无需任何编码,但对于不了解深度学习的用户来说仍然很灵活。

DeepFaceLab 可以安装在 Windows、Linux 上,或者在 Google Colab 笔记本中使用,这在您没有强大的本地计算机时非常有用。它提供了一组良好的功能:您可以替换部分或整个面部、对面部进行去老化处理、替换整个头部或操纵视频中的嘴唇。我从他们的官方 GitHub 存储库中获取了一些图像和视频,只是为了向您展示这个解决方案是多么的棒。看看

这些可识别的面孔看起来很正常,直到您意识到它们不属于它们所出现的场景中!

这是原始版本和换脸版本的直接比较

 

这里有一个视频:https://www.youtube.com/watch?v=Ddx5B-84ebo

如您所见,这种方法非常出色!这些家伙为此付出了巨大的努力,甚至包括文档。我邀请您去看看!

Faceswap 概述

Faceswap,就像 DeepFaceLab 一样,也很棒!它与 Windows、Linux 和 MacOS 兼容,并且基于 TensorFlow、Keras 和 Python 构建。他们有一个很棒的GitHub 存储库和一个很棒的论坛,您可以在其中获得有关应用程序本身遇到的任何问题的帮助。

在训练速度和最终结果方面,我想说它生成的深度伪造在质量上与 DeepFaceLab 非常相似。您应该去看看它,如果您有时间,可以试用一下!

下一篇文章中,我们将开始关注我们的 DIY 方法。我将讨论应用于深度伪造的自编码器。再见!

© . All rights reserved.