FaceFusion 换脸工作流完整指南:从安装到批量出片,5 组调参值直接照抄
【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion
FaceFusion 是把一张源人脸换进目标图片或视频的开源工具,支持换脸、增强、唇形同步等处理器组合。面向内容创作者和技术爱好者,本文给全安装命令、配置步骤和数值区间,照做约半小时出第一条成片。
快速上手:安装与首次跑通
三步装完:
git clone https://gitcode.com/GitHub_Trending/fa/facefusion cd facefusion python install.pyinstall.py会自动装好 Python 依赖和 ONNX Runtime 推理环境。首次运行会联网拉模型文件并缓存到本地,之后离线可用。
python facefusion.py run看到什么算装成功:浏览器自动打开 Web 界面,左侧 PROCESSORS 列表默认勾好 face_swapper,左侧下方 EXECUTION PROVIDERS 显示当前可用的执行器(cuda / tensorrt / cpu 中点亮哪些就代表环境支持哪些),点 START 后 TERMINAL 区域滚动输出[FACEFUSION.CORE] processing step 1 of 1,右侧 OUTPUT 区出现结果图。
环境依赖怎么选
- Python 版本:跟随
install.py提示装对应版本即可,不建议手动混装依赖 - 有 N 卡:装好 CUDA 后界面会自动点亮 cuda 执行器,这是提速最大的开关
- 想上 tensorrt:需要额外的 TensorRT 运行库,环境搭好后它会缓存引擎文件,第二次跑同一任务明显更快
- 纯 CPU:也能跑,靠线程数榨性能,后面提速一节讲怎么设
主工作流:核心链路怎么配
第 1 步:勾选处理器。左侧 PROCESSORS 勾 face_swapper(换脸)+ face_enhancer(补细节)。最容易错:顺手勾了 lip_syncer 但目标没有音轨,会卡在音频提取上——没语音就别勾。
第 2 步:传源图和目标。中间 SOURCE 传一张正脸清晰的图,TARGET 传图片或视频。最容易错:源图侧脸、模糊、有多人,相似度会直接掉。
第 3 步:限定处理哪张脸。目标里脸多时,在 FACE SELECTOR 区按 mode、age、gender 过滤,或用 reference 模式指定参考脸。最容易错:默认全选,换到路人脸上。
第 4 步:设输出。OUTPUT PATH 填目录,下方 OUTPUT VIDEO SCALE / QUALITY / FPS 按交付规格填。最容易错:忘了降 scale,1080p 全分辨率白跑。
出活不稳?按症状调参
| 症状 | 原因 | 处方(数值区间) | 为什么这么取 |
|---|---|---|---|
| 接缝明显、肤色偏色 | 检测选错脸,或权重偏离 | 先确认 face_selector 只命中目标脸,再调 face_swapper weight 到 0.4~0.6 | 低权重保留更多原脸光影和肤色,色差难穿帮 |
| 换完的脸发糊、无质感 | 换脸模型输出分辨率有限 | face_enhancer 选 gfpgan_1.4,blend 设 70~80 | 只补细节不覆盖原纹理,100 拉满会显塑料感 |
| 表情僵硬、眼神发死 | 换脸默认偏源脸表情 | expression_restorer factor 设 50~80 | 把目标原表情回灌一部分,比全保源脸自然 |
| 运动中人脸频繁掉帧 | 跟踪置信度不足 | face_tracker_score 从 0 起步,升到 0.1~0.25 | 阈值范围 0~0.5,太高会误杀有效帧,低区间先试 |
提速与批量:量大之后怎么办
提速三档:
- 执行器:N 卡选 cuda,提升最明显;激进选 tensorrt,引擎缓存让复跑更快;都没有就留 cpu,execution_thread_count 设到物理核心数(默认 8)
- 输出分辨率:output_video_scale 降到 0.5~0.75,逐帧耗时大致砍半,发社交平台的尺寸够用
- 内存策略:长视频在 MEMORY 区把 video_memory_strategy 调低档,避免显存/内存峰值撑爆
任务队列:job-create建草稿 →job-add-step加步骤(换脸、增强可拆两步分别调参)→job-submit-all批量入队 →job-run-all一键跑完 → 失败的job-retry-all重试。所有参数组合可写入facefusion.ini,同一套配置换目标不用重填。
脚本化与 CI:headless 批量跑
不想开界面时,同一套参数走命令行,适合挂定时任务或流水线:
python facefusion.py headless-run -s source.png -t target.mp4 -o output.mp4 \ --processors face_swapper face_enhancer --face-enhancer-blend 75素材按目录组织时用batch-run配-s / -t / -o通配符模式,一次吃一个文件夹。
素材与隐私的边界
推理全程在本地跑,模型文件和临时帧都不出机器,运行时不联网。但源人脸素材必须是自己或已获本人同意的照片,发布前确认不侵犯他人肖像权。
参数速查:照抄即用
| 场景 | 建议值 | 为什么 |
|---|---|---|
| 源脸与目标光线差别大 | face_swapper weight 0.4~0.5 | 低权重保留原脸光影信息,色差更不易穿帮 |
| 输出给手机/社交端 | output_video_scale 0.5~0.75,quality 80 | 分辨率降下来,逐帧耗时大幅下降,观感损失小 |
| 换完脸明显发糊 | face_enhancer blend 70~80 | 只补细节不覆盖原纹理,比 100 混自然 |
| 无 N 卡纯 CPU 跑 | execution_thread_count = 物理核心数 | CPU 路径靠多线程接近单核峰值吞吐 |
| 复跑同一任务 | 执行器选 tensorrt | 引擎文件缓存,二次推理更快 |
你可能问到的 6 个问题
最低配置要多高?系统内存 8GB 起步;有 6GB 以上显存的 N 卡体验最好。纯 CPU 能跑,只是慢。
跑的时候必须联网吗?不需要。首次启动拉模型文件后缓存在本地,断网照常处理。
支持哪些格式?图片 JPG、PNG、WebP 等常见格式;视频 MP4、MKV、MOV、AVI、WEBM;音轨由 ffmpeg 自动提取,供唇形同步使用。
换出来的脸和源照片不像,查哪里?先查 weight 是否偏低导致向目标原脸靠拢;再查源图是否模糊或侧脸过大,换正脸高清图通常立竿见影。
中间产物会上传吗?不会。检测、换脸、增强全部本地推理,临时帧处理完留在本地临时目录。
同一张 1080p 图要多久?CPU 上数秒到十几秒,CUDA 下可压到秒级,视频按帧数线性叠加。
FaceFusion 把换脸、增强、唇形同步打包成可配置、可批量、可离线的工具链。素材请使用本人授权或已同意的照片,守住肖像权边界。想深挖实现,看 facefusion/processors/modules/face_swapper/ 的换脸管线和 facefusion/execution.py 的执行器调度。
【免费下载链接】facefusionIndustry leading face manipulation platform项目地址: https://gitcode.com/GitHub_Trending/fa/facefusion
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考