开源项目
deepfakes/faceswap avatar
deepfakes/faceswap

FaceSwap 实测评估:从提取、训练到转换的完整工作流

适合所有人的 Deepfakes 软件。请参阅此论坛帖子:Manifesto FaceSwap 具有道德用途。

57,551 个 Star13,473 个 ForkPythonGPL-3.0

秒懂

它是什么?
FaceSwap 是一个用 Python 编写的开源换脸工具,面向 Windows、Linux 和 macOS。本文分析其提取、训练、转换三阶段流程,指出 GPU 依赖和伦理边界,并对比替代方案。
适合谁用?
FaceSwap 适合希望动手学习深度学习换脸技术的开发者,尤其是能接受 Python 环境和 CUDA GPU 依赖的用户。不适合需要一键式商业解决方案或没有独立显卡的团队,因为文档明确说明需要现代 CUDA 支持 GPU,AMD 仅限 Linux 下的 ROCm。
能商用吗?
可以,但有条件。GPL-3.0 是 copyleft 许可证:如果你分发包含它的软件,就必须以同一许可证公开该软件的源代码。只在内部运行、不对外分发,则不会触发这项义务。
还在维护吗?
在维护。仓库最近一次提交在 41 天前。
用什么语言写的?
主要是 Python(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

FaceSwap 解决什么问题

FaceSwap 是一个用 Python 编写的开源工具,用于在图片和视频中识别并交换人脸。它把深度学习换脸技术从学术论文变成可下载、可运行的程序。项目 README 中强调,在 deepfakes 出现之前,这类技术需要数学和计算机理论的深厚背景,普通人无法接触。FaceSwap 的目标是让任何人通过实验学习 AI,同时明确声明其不用于创建不当内容或未经同意的换脸。它面向三类人:想理解生成模型的开发者、想参与代码贡献的工程师、以及想进行合法换脸实验的爱好者。

三阶段工作流:提取、训练、转换

FaceSwap 的核心流程分为三步。先运行 `python faceswap.py extract`,从 `src` 文件夹的图片中提取人脸,输出到 `extract` 文件夹。接着运行 `python faceswap.py train`,它从两个文件夹中读取两个人的脸部图片,训练一个模型,模型保存在 `models` 文件夹。最后运行 `python faceswap.py convert`,将 `original` 文件夹中的图片应用新脸,结果写入 `modified` 文件夹。这个流程是串行的,每一步都依赖前一步的输出。训练是计算密集的环节,需要 GPU 加速。

GUI 与命令行入口

除了命令行,FaceSwap 还提供图形界面。README 中提到项目有多个入口点,GUI 是其中之一。用户可以选择用命令行精确控制,或者用 GUI 可视化操作。GUI 适合不熟悉命令行的用户,但文档没有详细说明 GUI 的具体功能,只提到它存在。命令行方式更透明,便于脚本化或集成到自动化流程。对于工程师,命令行可能更实用,因为可以重复执行和调试。

安装与硬件要求

安装前必须阅读 INSTALL.md 文件。FaceSwap 支持 Windows、Linux 和 macOS,但性能依赖现代 GPU。README 明确说:你需要一个支持 CUDA 的 GPU 以获得最佳性能,许多 AMD GPU 通过 ROCm 在 Linux 上受支持。这意味着没有 NVIDIA GPU 的 macOS 用户可能只能依赖 CPU,速度会慢很多。安装步骤没有在 README 中展开,但指向 INSTALL.md,说明安装过程可能涉及依赖管理,比如 Python 版本、CUDA 工具包和深度学习库。

伦理声明与使用边界

FaceSwap 的 README 包含一份宣言,强调其伦理用途。它明确禁止创建不当内容、未经同意的换脸以及任何非法或不道德的目的。项目采取零容忍态度,会主动劝阻这类使用。这对组织采用是一个重要考量:即使工具本身合法,使用场景必须符合声明。文档没有提供技术手段来限制滥用,比如水印或检测机制,所以伦理约束主要靠使用者自律。这一点在评估时不能忽视。

维护与升级成本

项目最近有活跃的发布记录。v3.0.0 于 2025 年 12 月发布,提供 Windows、Linux 和 macOS 安装程序,v2.3.0 和 v2.2.0 分别在此前发布。这表明项目在持续维护,但升级频率不规律,v2.2.0 到 v2.3.0 间隔了两年多。这意味着升级可能需要适应 API 变化或模型格式变化。安装程序的存在降低了部署成本,但命令行用户仍需处理 Python 环境的依赖。许可为 GPL-3.0,如果你分发修改版本,必须开源。

替代方案与差异

一个常见的替代方案是使用商业换脸软件或在线服务,它们通常提供图形界面和预训练模型,不需要用户理解训练过程。但 FaceSwap 的优势在于完全本地运行,数据不出设备,且代码可修改。另一个开源替代是 DeepFaceLab,它采用类似的提取-训练-转换流程,但更偏向 Windows 和命令行,社区文档更分散。FaceSwap 的安装程序和跨平台支持更完整,而 DeepFaceLab 在某些模型上可能更成熟。选择取决于你对平台的需求和是否愿意处理 Python 环境。

编辑结论

FaceSwap 适合希望动手学习深度学习换脸技术的开发者,尤其是能接受 Python 环境和 CUDA GPU 依赖的用户。不适合需要一键式商业解决方案或没有独立显卡的团队,因为文档明确说明需要现代 CUDA 支持 GPU,AMD 仅限 Linux 下的 ROCm。采用前应验证:你的 GPU 是否兼容 CUDA 或 ROCm,安装步骤是否能在你的操作系统上顺利执行,以及你是否接受 GPL-3.0 许可对衍生作品的开源要求。项目自身的伦理声明要求使用者不得用于未经同意的换脸,这一点在组织内部需要明确。最终,FaceSwap 的价值在于其可实验性和透明度,而非开箱即用的便利。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记