📌 项目地址:deepfakes/faceswap | ⭐
56,146 颗星 | 🔧 Python | 📜 未标注
这不是玩具,是正经的ML工程
deepfakes/faceswap 是 GitHub 上最早的端到端换脸开源项目之一,5.6
万星。项目创始人把碎片化的深度学习代码整合成了 Extract → Train →
Convert
三条流水线,配有图形界面(GUI)。在这之前,跑通一个换脸模型需要理解对抗网络、自编码器、人脸对齐算法,还得自己写数据管道。
这个项目把这些全封装了。
README 的 Manifesto 章节特意强调了一件事:FaceSwap has
ethical uses。
项目承认最初代码被用于不当内容,但他们明确反对滥用。这不是一句空话。文档里反复提示用户注意法律风险。
核心工作流:三个步骤
从 README 看,完整流程只有三步,所有操作通过 GUI 或命令行完成。
1. Extract(提取人脸)
从源视频或图片中定位人脸,裁剪并对齐。这一步的输出是干净的、角度标准的人脸图集。质量直接影响后续训练效果。
2. Train(训练模型)
用两个数据集(目标人物 A 和源人物 B)训练神经网络。模型学会把 A
的脸“翻译”成 B 的脸。官网文档建议用 NVIDIA GPU(CUDA),显存至少
4GB。CPU 训练一个月未必能跑完。 README
的示例图里提到了两种模型:
- Phaze-A:用于 Emma Stone/Scarlett Johansson
的换脸 - Villain:用于 Jennifer Lawrence/Steve Buscemi
的换脸
不同模型在速度、效果和显存占用上有差异。官方文档有对比表,选型时请对照自己的硬件。
3. Convert(转换视频)
用训练好的模型逐帧替换人脸。GUI
里可以调颜色校正、遮罩边缘,提升画面真实度。
如果服务器没有显示器,全程用命令行也能跑。具体参数查官方文档的命令行参考。
安装是最大的坑
项目依赖 TensorFlow、OpenCV、dlib 等底层库。GitHub Pages
上的说明文档(https://faceswap.readthedocs.io/en/latest/)有详细的依赖清单和版本要求。
README 特别强调:安装前必须看 INSTALL.md。
我试过的坑: – Conda 环境比 pip 省事很多 – Windows
用户要装 Visual Studio Build Tools,否则 dlib 编译报错 – 显存不足可以用
--memory-saving 参数减半 batch size
伦理不是口号
项目 README 开头的 Manifesto
不是摆设。未经许可换脸他人肖像,在绝大多数国家和地区都违法。
项目官方不提供任何现成人脸数据,也不支持下载模型权重。你要自己准备素材,自己训练。
这个项目适合的人: –
想做影视特效的个人制作者(手里有授权素材) –
研究面部生成的学生和从业者
这个项目不适合: – 想一键换脸外网视频的人 – 没有 GPU
的用户 – 缺乏耐心的用户(训练 10 小时起步)
注意事项
- 素材最低要求:每人至少几百张不同角度、不同表情的正面脸图。光照和遮挡越少越好。
- 模型选型:Phaze-A
适合细节要求高的场景(毛发、皮肤纹理),Villain
训练速度快但清晰度偏低。 - 法律风险:你可以用它做刘德华换脸黄渤的搞笑视频发朋友圈,但用在公开商业项目上必须有授权。
项目官方社区在 Discord 和论坛(forum.faceswap.dev)。README 里专门给
Patreon 和 PayPal
赞助者开了一个公告页面(https://forum.faceswap.dev/viewtopic.php?f=14&t=3120),说明他们认真对待社区秩序。
如果你只是想体验换脸,不想花时间训练,去看看
roop(轻量级推理工具)就行。但如果你要控制训练过程、追求高精度输出,deepfakes/faceswap
是目前最成熟的开源方案。