deepfakes/faceswapView GitHub Homepage for Latest Official Releases
FaceSwap是一个基于深度学习的面部交换工具,可以识别并交换图片和视频中的面部
GPL-3.0Pythonfaceswapdeepfakes 54.4k Last Updated: July 11, 2025
FaceSwap - 深度学习面部交换工具
项目概述
FaceSwap是一个利用深度学习技术来识别和交换图片及视频中面部的工具。该项目是开源的,可以在Windows、Linux和MacOS等多个操作系统上运行。
项目宗旨
FaceSwap项目有着明确的道德标准和使用宗旨:
正面用途
- 用于实验和发现AI技术
- 社会或政治评论
- 电影制作
- 其他合乎道德和合理的用途
- 为任何想要亲身学习AI的人提供教育和经验
禁止用途
- 不得用于创建不当内容
- 不得在未经同意或意图隐瞒使用的情况下更换面部
- 不得用于任何非法、不道德或可疑的目的
技术特点
系统要求
- Python程序
- 支持多操作系统(Windows、Linux、MacOS)
- 需要现代GPU和CUDA支持以获得最佳性能
- 通过DirectML(Windows)和ROCm(Linux)支持许多AMD GPU
主要功能模块
- 面部提取:从原始照片中提取面部
- 模型训练:基于提取的面部训练模型
- 面部转换:使用训练好的模型进行面部交换
- GUI界面:提供图形用户界面
使用流程
基本步骤
- 收集素材:准备照片和/或视频
- 面部提取:从原始照片中提取面部
- 模型训练:在提取的面部上训练模型
- 转换应用:使用模型转换源素材
命令行操作
面部提取
python faceswap.py extract
此命令将从src
文件夹中提取照片,并将面部提取到extract
文件夹中。
模型训练
python faceswap.py train
此命令将使用包含两个面部图片的文件夹进行训练,训练好的模型将保存在models
文件夹中。
面部转换
python faceswap.py convert
此命令将从original
文件夹中获取照片,并将新面部应用到modified
文件夹中。
GUI界面
python faceswap.py gui
视频处理
可以通过以下方式处理视频:
python tools.py effmpeg -h
或者使用ffmpeg将视频转换为照片,处理图像,然后将图像转换回视频。
项目架构
主要模型
- Phaze-A模型
- Villain模型
- Unbalanced模型
- OHR模型
- DFL-H128模型
- DFaker模型
核心组件
- FAN对齐器
- MTCNN检测器
- GUI界面
获取帮助
文档资源
INSTALL.md
:完整安装说明USAGE.md
:详细使用说明- 所有脚本都有
-h
/--help
选项
机器学习原理
FaceSwap基于深度学习和神经网络技术工作。简单来说,它通过以下方式运作:
- 训练数据 + 试验和错误 = 学习过程
计算机通过大量的训练数据学习如何识别和塑造面部,这是一个复杂的机器学习过程,涉及神经网络的深度训练。
技术背景
当面部交换技术首次开发和发布时,它是突破性的,是AI发展的一个巨大步骤。在"deepfakes"之前,这些技术就像黑魔法一样,只有那些能够理解所有内部工作原理的人才能实践。FaceSwap的出现改变了这一切,让任何人都可以参与AI开发,无需拥有数学、计算机理论、心理学等方面的博士学位。
注意事项
- 重复使用现有模型比从零开始训练要快得多
- 如果训练数据不足,可以从相似的人开始,然后切换数据
- 该项目严格遵循道德标准,对任何不当使用采取零容忍态度
- 所有相关的运行代码问题必须在FaceSwap论坛中提出