使用自动编码器生成深度伪造





5.00/5 (2投票s)
在本文中,我们将开始关注我们的 DIY 方法。
深度伪造——利用深度学习将一个人的脸替换到视频中的另一个人身上——是当今人工智能最有趣且令人担忧的应用方式之一。
虽然深度伪造可以用于合法目的,但它们也可能被用于虚假信息传播。 能够轻松地将某人的脸替换到任何视频中,我们真的能相信我们眼睛看到的东西吗? 政治家或演员做出或说出令人震惊的事情的逼真视频可能根本不是真实的。
在这个文章系列中,我们将展示深度伪造的工作原理,并展示如何从头开始实现它们。 然后,我们将了解 DeepFaceLab,这是一款功能齐全的 Tensorflow 驱动工具,通常用于创建令人信服的深度伪造。
在 上一篇文章 中,我们讨论了生成深度伪造的一些不同方法。 在本文中,我将介绍理解 DIY 解决方案实际模型所需的理论。
为了创建我们的深度伪造,我们将使用卷积神经网络,它们已被证明在这个领域非常成功。 这些网络与自编码器架构相结合,将是我们所要处理的。 以下是关于这些网络的简要概述以及如何在深度伪造生成中使用它们。
卷积自编码器应用于深度伪造
我们从这个系列的 第一篇文章 开始讨论自编码器,现在是时候了解如何使用它们来生成深度伪造了。
为了生成深度伪造,我们必须收集两个面部数据集—— src 和 dst ——这些数据集必须足够大,才能涵盖两个个体所有可能的面部表情,为每个数据集分配一个自编码器,并训练它们,直到达到可接受的误差指标(每个自编码器都应尽可能无缝地将输入面部复制到输出)。 最后,我们交换自编码器的解码器并开始面部转换过程。 我知道这起初可能有点令人困惑,所以让我们可视化这个过程
自编码器不是整个深度伪造生成过程的唯一元素,但它们绝对是最重要的。 它们的训练需要多次迭代,有时超过 50000 次,如果没有强大的 GPU,可能需要几天时间。 这就是为什么我们有时需要在云端支持我们的训练过程。
现在我们对整个生成过程有了基本的了解,就可以深入研究实际代码了! 在 下一篇文章 中,我将介绍预处理视频并准备它们以馈送到我们的模型中所需的步骤。 我们在那里见!