开源项目

faceswap

faceswap

利用深度学习在人脸图片和视频中自动识别并交换面部的开源软件,提供完整GUI界面,支持多种模型(如Phaze-A、Villain等)。亮点在于长期维护、社区活跃,并提供了从提取到训练再到转换的完整工作流,适合AI换脸爱好者和研究者学习实践。注意项目附有道德使用声明,禁止用于不当内容。

README

deepfakes_faceswap

Patreon 和 PayPal 支持者重要信息。请查看此论坛帖子:https://forum.faceswap.dev/viewtopic.php?f=14&t=3120


FaceSwap 是一个利用深度学习(deep learning)识别并替换图片和视频中人脸的工具。

    


使用 Phaze-A 模型进行的 Emma Stone / Scarlett Johansson 人脸替换(FaceSwap)


使用 Villain 模型进行的 Jennifer Lawrence / Steve Buscemi 人脸替换(FaceSwap)

构建状态(Build Status) 文档状态(Documentation Status)

开始之前请务必查看 INSTALL.md。

宣言(Manifesto)

FaceSwap 有合乎道德的用途。

当人脸替换技术最初被开发并发布时,这项技术是开创性的,它是人工智能发展的一大步。然而在学术界之外,它完全被忽视,因为代码晦涩且零散。它需要对复杂人工智能技术的透彻理解,并且需要付出大量努力才能理清头绪。直到有一个人将所有这些整合到一个单一、连贯的集合中。它能够运行、工作,并且正如互联网上新兴技术经常遇到的情况一样,它立刻被用来制作不恰当的内容。尽管该软件最初被用于不当用途,但它是第一个任何人均可下载、运行并通过实验学习的人工智能代码,无需拥有数学、计算机理论、心理学等博士学位。在 "deepfakes" 之前,这些技术就像是黑魔法,只有那些能理解深奥且无比复杂的书籍和论文中所描述的全部内在机制的人才能实践。

"Deepfakes" 改变了这一切,任何人都可以参与到人工智能开发中来。对我们开发者而言,这段代码的发布开启了一个绝佳的学习机会。它让我们能够在他人的想法基础上构建,与各种熟练的编码人员协作,一边学习新技能一边试验人工智能,并最终为一项随着发展只会得到更多主流应用的新兴技术做出贡献。

是否有人用类似的软件做可怕的事?是的。正因如此,开发者们一直遵循严格的道德标准。我们中的许多人甚至不用它来制作视频,我们只是摆弄代码看看它做什么。可悲的是,媒体只关注这款软件的不道德用途。不幸的是,这就是它最初向公众展示的方式,但这并不能代表它被创造的原因,也不能代表我们现在如何使用它,也不能代表我们对它未来的展望。与任何技术一样,它既可以用于善,也可以被滥用。我们的意图是以一种既能最大程度减少其滥用潜力,又能最大限度发挥其作为学习、实验工具以及(是的)合法人脸替换工具潜力的方式来开发 FaceSwap。

我们并非试图贬低名人或侮辱任何人。我们是程序员、工程师、好莱坞 VFX 艺术家、活动家、爱好者、人类。为此,我们认为现在是时候就我们开发者而言,发布一份关于该软件是什么和不是什么的标准声明了。

  • FaceSwap 不是为了制作不当内容。
  • FaceSwap 不是为了在未经同意或意图隐藏其使用的情况下更换人脸。
  • FaceSwap 不是为了任何非法、不道德或可疑的目的。
  • FaceSwap 的存在是为了实验和发现人工智能技术,用于社会或政治评论,用于电影,以及各种合乎道德且合理的用途。

我们对 FaceSwap 可能被用于不道德和声名狼藉的事情感到非常不安。然而,我们支持开发可以道德使用的工具和技术,并为任何想要动手学习人工智能的人提供教育和经验。我们将对任何使用本软件从事不道德目的的行为采取零容忍态度,并将积极劝阻任何此类用途。

如何设置并运行项目

FaceSwap 是一个 Python 程序,可在多种操作系统上运行,包括 Windows、Linux 和 MacOS。

完整的安装说明请参见 INSTALL.md。为获得最佳性能,你需要一块支持 CUDA 的现代 GPU。许多 AMD GPU 通过 ROCm(Linux)得到支持。

概览(Overview)

项目有多个入口点。你需要:

  • 收集照片和/或视频
  • 从原始照片中提取(Extract) 人脸
  • 在从照片/视频中提取的人脸上训练(Train) 一个模型
  • 使用模型转换(Convert) 你的源素材

更详细的说明请查看 USAGE.md。

提取(Extract)

在你的设置文件夹中,运行 python faceswap.py extract。这将从 src 文件夹中获取照片并将提取的人脸放入 extract 文件夹。

训练(Train)

在你的设置文件夹中,运行 python faceswap.py train。这将从包含两种人脸图片的两个文件夹中获取图片,并训练一个模型,该模型将保存在 models 文件夹中。

转换(Convert)

在你的设置文件夹中,运行 python faceswap.py convert。这将从 original 文件夹中获取照片,并将新的人脸应用到 modified 文件夹中。

GUI

或者,你也可以通过运行 python faceswap.py gui 来启动图形界面。

通用说明

  • 所有提到的脚本都有 -h/--help 选项,并附有它们可以接受的参数。你很聪明,能弄清楚这是怎么工作的,对吧?!

注意:有一个视频转换工具。可以通过运行 python tools.py effmpeg -h 来访问。或者,你也可以使用 ffmpeg 将视频转换为照片,处理图像,然后将图像转换回视频。

一些小提示:

复用现有模型的训练速度会比从头开始快得多。 如果没有足够的训练数据,可以先从长相相似的人开始训练,然后再切换数据。

我需要帮助!

Discord 服务器

你最好的选择是加入 FaceSwap Discord 服务器,那里有很多用户愿意提供帮助。请注意,与这个仓库一样,这也是一个 SFW(安全工作环境)服务器!

FaceSwap 论坛

或者,你也可以在 FaceSwap 论坛 中发布问题。请不要在本仓库中发布一般的支持问题,因为它们可能会被删除而不予回复。

捐赠(Donate)

开发者们不知疲倦地工作来改进和开发 FaceSwap。他们投入了大量时间才使软件达到今天的状态,但这是一个极其耗时的过程,并且没有经济回报。如果你喜欢使用该软件,请考虑向开发者捐款,这样他们就能花更多时间来实施改进。

Patreon

支持我们的最佳方式是通过我们的 Patreon 页面:

成为赞助者

一次性捐赠

或者,你也可以向我们的任何一位开发者进行一次性捐赠:

@torzdf

FaceSwap 的代码几乎没有不被 torzdf 触及过的。他负责实现 GUI、FAN 对齐器、MTCNN 检测器,并将 Villain、DFL-H128 和 DFaker 模型移植到 FaceSwap,同时还显著改进了代码的许多方面。

比特币(Bitcoin): bc1qpm22suz59ylzk0j7qk5e4c7cnkjmve2rmtrnc6

以太坊(Ethereum): 0xd3e954dC241B87C4E8E1A801ada485DC1d530F01

门罗币(Monero): 45dLrtQZ2pkHizBpt3P3yyJKkhcFHnhfNYPMSnz3yVEbdWm3Hj6Kr5TgmGAn3Far8LVaQf1th2n3DJVTRkfeB5ZkHxWozSX

Paypal: torzdf

@andenixa

Unbalanced 和 OHR 模型的创建者,并扩展了训练过程中的各种能力。Andenixa 目前正在研究新模型,并会接受捐赠请求。

Paypal: andenixa

如何贡献

对生成模型感兴趣的人

  • 前往 'faceswap-model' 讨论/建议/提交当前算法的替代方案。

开发者

  • 完整阅读本 README
  • Fork 此仓库
  • 动手尝试
  • 查看带有 'dev' 标签的问题
  • 对于更关注计算机视觉和 openCV 的开发者,请查看带有 'opencv' 标签的问题。也欢迎添加你自己的替代方案/改进

非开发者高级用户

  • 完整阅读本 README
  • 克隆此仓库
  • 动手尝试
  • 查看带有 'advuser' 标签的问题
  • 同时前往 'faceswap 论坛' 帮助他人。

最终用户

  • 在此处获取代码并尝试使用(如果可以的话)
  • 你也可以前往 faceswap 论坛 帮助他人或寻求帮助。
  • 请耐心等待。这对开发者来说也是一项相对较新的技术。已经有很多努力在投入,以使这个程序对普通用户更加易用。只是需要时间!
  • 注意 任何与运行代码相关的问题都必须在 faceswap 论坛 中提出!

关于机器学习

计算机如何识别/塑造人脸?机器学习如何工作?什么是神经网络(neural network)?

这很复杂。这里有一个很好的视频能让这个过程变得易懂: 机器学习是如何工作的

这里还有一个稍微深入一点的视频,试图解释神经网络的基本工作原理: 机器学习是如何工作的

简而言之:训练数据 + 试错

开源项目deepfakes2026-07-29原文

相关内容