news 2026/9/6 23:19:57

FaceFusion 保姆级教程:本地部署视频换脸,10 分钟跑通第一次换脸

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FaceFusion 保姆级教程:本地部署视频换脸,10 分钟跑通第一次换脸

FaceFusion 保姆级教程:本地部署视频换脸,10 分钟跑通第一次换脸

【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion

FaceFusion 是可本地部署的视频换脸开源项目:给一张源脸照片加一段目标视频,它把视频里的人脸替换成源脸,还能顺带做增强、年龄修改。适合会基础命令行的人,最低环境是 Python 3.10 以上加 ffmpeg,有 NVIDIA 显卡更好,纯 CPU 也能跑。

10 分钟跑通第一次换脸

结论:四步命令,看到输出 mp4 且第一帧脸变了就算部署成功。FaceFusion 的本质是一条处理器流水线——每一帧先过人脸检测,再依次进你勾选的模块,最后合成输出,所以"跑通"意味着检测和交换两个环节都通了。

依次执行(install.py 启动时会自己检查 Python 版本,并自动下载全部模型权重,不用手动找文件):

git clone https://gitcode.com/GitHub_Trending/fa/facefusion cd facefusion python -m pip install -r requirements.txt python install.py

install.py跑完后,终端滚完下载进度、无红色报错即为成功。然后跑第一次换脸:

python facefusion.py run \ --source-path 照片.jpg \ --target-path 视频.mp4 \ --output-path 输出.mp4

看到输出.mp4生成、人脸已经是源脸,部署完成。

换脸模型怎么选:先跑通用 inswapper_128

inswapper_128是默认款,快、稳,第一次跑务必选它。完整模型清单在 face_swapper 的 choices.py:blendswap_256ghost_1_256hyperswap_1a_256simswap_256uniface_256等都属于更大的交换模型,人脸细节更足,但显存占用和处理时间明显上升。

建议路径:先用inswapper_128确认流程无误,觉得细节不够再换大模型。指定模型加一个参数即可:

python facefusion.py run \ --source-path 照片.jpg \ --target-path 视频.mp4 \ --processors face_swapper \ --face-swapper-model blendswap_256 \ --output-path 输出.mp4

显存小于 8G 的机器,大模型搭配512x512以上的工作分辨率很容易爆显存,换模型前先想好这一档怎么退(见后文)。

把功能串成流水线:换脸 + 增强 + 年龄修改

多个能力靠--processors逗号分隔串起来,执行顺序就是你写的顺序。增强解决"脸清不清",年龄修改解决"脸像多大":age_modifier--age-modifier-direction取值 -100 到 100,30变年轻、-30变年长。注意它是"整体偏移",不重排五官,幅度超过 50 后往往会开始不自然。

一条"换脸 + 增强 + 轻微变年轻"的最小流水线:

python facefusion.py run \ --processors face_swapper,face_enhancer,age_modifier \ --face-swapper-model inswapper_128 \ --face-enhancer-model gfpgan_1.4 \ --age-modifier-direction 30 \ --source-path 照片.jpg \ --target-path 视频.mp4 \ --output-path 输出.mp4

增强模型里gfpgan_1.4是常用起点,codeformerrestoreformer_plus_plus也在可选清单里,可按需替换。

最值得动的 5 个参数:附推荐值

调参主战场是 facefusion.ini,ini 里的每个键都有对应命令行参数,改 ini 或传 CLI 效果相同。

  • face_swapper_pixel_boost:交换模型的工作分辨率 → 128x128 到 1024x1024 六档 → 推荐 256x256 起步 → 提到 512x512 细节更锐但速度约降一半,1024x1024 显存压力大
  • face_detector_score:人脸检测置信度阈值(0~1)→ 推荐 0.5~0.7 → 调高会漏掉侧面、遮挡的小脸,调低到 0.3 会把背景里的"鬼脸"也框进来
  • face_mask_blur:换脸边缘羽化程度(0~1)→ 推荐 0.2~0.4 → 低于 0.1 边缘生硬像贴片,高于 0.5 额头边界发糊
  • video_memory_strategy:内存占用策略 → strict / moderate / tolerant 三档 → 1080p 以上建议 strict → tolerant 最快但吃显存,strict 会反复重载帧
  • output_video_preset:ffmpeg 编码速度档位 → ultrafast 到 veryslow 共 9 档 → 交付用 medium、快速预览用 fast → 同画质下越慢文件越小

🔧 改完参数后,长视频别直接跑全片,用--target-frame-amount 100只处理前 100 帧验证效果,成本最低。

显存爆了怎么退档

结论:按"策略 → 分辨率 → 帧范围"三级退,每退一级跑一次短片段确认。

  1. 先把video_memory_strategy切到strict(或加参数--video-memory-strategy strict),这是收益最大的一步;
  2. 还爆就把face_swapper_pixel_boost退回256x256--face-swapper-pixel-boost 256x256);
  3. 长视频处理到一半卡死,先用--target-frame-amount 200只跑部分帧测试,定位是某段画面还是整体超限。

CPU 机器另有一档:execution_providers改成cpuexecution_thread_count设到物理核心数附近即可,别盲目开满。

脸飘、贴片感、输出糊:排查清单

现象 1:一跑就提示模型文件缺失原因:install.py没跑完或下载中断,模型缓存不全。 解法:重跑python install.py,或执行python facefusion.py force-download强制补齐。

现象 2:人脸边缘有"贴上去"的感觉原因:检测框贴边、mask 羽化不足。 解法:face_detector_margin从 0 提到 20,face_mask_blur提到 0.3。

现象 3:整段视频脸在飘、中途换脸原因:跟踪阈值太松,远处或模糊的脸也被锁定。 解法:face_tracker_score从 0.5 降到 0.3。

现象 4:输出视频比原片糊原因:output_video_qualityoutput_video_scale被调低了。 解法:quality 保持 90 以上、scale 用 1.0,并先确认源视频本身分辨率够。

改代码或模型配置前想验证行为,tests/ 目录里每个模块都有对应的test_cli_*.py用例,跑一遍能立刻发现回归。


完整动作链:git clonepython install.py下模型 →run命令跑通第一次换脸 → 用face_swapper_pixel_boostface_mask_blurvideo_memory_strategy三个参数找画质与显存的平衡 → 出错按上面四条清单对号入座。这条链走顺之后,剩下的事就是换更重的交换模型、拼更长的处理器流水线了。

【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 23:05:25

抖音视频号快手AI无人小游戏直播实操全解

抖音 视频号 快手 AI无人小游戏直播实用工具实录!帮助咱们拉时长! 最近有不少朋友在群里问,抖音、视频号、快手这几个平台的“无人小游戏直播”到底是怎么跑起来的?是不是真的有工具能一键搞定?自己搭的话,…

作者头像 李华