本项目是一个基于 FLUX.2 Klein 模型开发的 AI 智能换头工具。通过集成 SDNQ (Spatial Dynamic Neural Quantization) 4-bit 动态量化技术,在显著降低显存占用的同时,保持了卓越的图像生成质量。配合 BFS (Best Face Swap) LoRA 模型,能够精准地实现人头替换,并完美融合原图的光照、角度和背景。
✨ 核心功能
🚀 极速与低显存优化
SDNQ 4-bit 量化:采用先进的动态量化技术,将大模型压缩至极小体积,大幅减少显存需求。
双模式切换:
4B 模式:适合低显存显卡(约 8GB VRAM),生成速度快。
9B 模式:提供更高的人脸细节和光影一致性(需更高显存支持)。
INT8 加速:自动检测硬件并启用 INT8 矩阵乘法加速,进一步提升推理效率。
CPU 卸载:智能管理显存,自动将不使用的模型层卸载至内存,防止显存溢出。
🎨 智能自动化体验
分辨率自适应:上传“目标图像”后,系统会自动读取原图尺寸,并自动调整为符合模型要求的最佳分辨率(无需手动输入)。
即传即生:上传两张图片后自动触发生成流程,无需繁琐点击。
自动归档:生成的图片自动保存至 output/ 目录,文件名自动附带日期和随机编号,便于管理和查找。
🖼️ 高质量换脸
光影融合:不仅替换人脸,还能根据原图的环境光、阴影自动调整新的人脸肤色和光照。
角度匹配:模型能理解头部姿态,尝试匹配原头部的旋转角度和朝向。
🛠️ 系统要求
显存 (VRAM):
4B 模型:建议 8GB 及以上
9B 模型:建议 12GB 以上
📖 使用指南
1. 启动与配置
运行脚本后,终端会提示选择模型版本:
输入 1 并回车:加载 4B 模型 (速度快,省显存)。
输入 2 并回车:加载 9B 模型 (质量高,细节好)。
2. 上传图片
参考人脸:上传一张您想换上去的正面人脸照片。
目标图像:上传一张背景或身体照片(系统将以此图的尺寸为基准)。
3. 生成与调整
上传完成后,系统会自动开始处理。
在处理过程中,您可以观察下方的进度条。
生成完成后,拖动对比滑块查看换脸前后的效果。
4. 查看结果
生成的图片会自动保存在代码同目录下的 output 文件夹中。
界面上可以直接下载或预览。
⚙️ 高级设置说明
如果您需要对结果进行微调,可以点击“高级设置”:
随机种子:控制生成的随机性。固定种子可以复现完全相同的结果。
宽度/高度:通常系统会自动设置。如果需要生成特定尺寸(如高清大图),可在此手动调整(需为 8 的倍数)。
推理步数:默认为 4。对于蒸馏模型,4步通常为最佳平衡点。增加步数可能会略微提升细节,但会显著增加耗时。
引导系数:默认为 1.0。控制模型对提示词的遵循程度。数值过高可能导致图像过度饱和或扭曲。
⚠️ 注意事项
显存不足:如果遇到 CUDA Out Of Memory 错误,请尝试使用 4B 模型或减小生成尺寸(如 512x512 或 768x768)。
生成质量:请尽量上传清晰、光线充足的“参考人脸”,模糊或遮挡严重的脸部会影响换脸效果。





随手生成的一些换头照片你们看看





















整合包说明
1 最低支持英伟达8G显卡,内存至少24G。
2 集合了 FLUX.2-klein 9B和4B,启动的时候自己选择。
3 个人觉得是个不错的工具。
20260212 更新记录
1 修正部分bug
2 提升显存大于10G显卡的执行效率
20260302 更新记录
1 添加批量处理
2 修正一些小bug
20260322 更新记录
1 添加 参考人脸列表显示
2 修正一些小bug
解压失败,有文件缺失。这是解压教程
https://mp.weixin.qq.com/s/AMq5sIoaAfhyb3CQproEFQ
Traceback (most recent call last):
File "secure_core.pyx", line 550, in secure_core.run_pyarmor_entry
File "src\jian27.py", line 181, in
File "F:\Flux2-Klein-Face-Swap-20260323\jian27\Lib\site-packages\huggingface_hub\utils\_validators.py", line 89, in _inner_fn
return fn(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^
File "F:\Flux2-Klein-Face-Swap-20260323\jian27\Lib\site-packages\diffusers\pipelines\pipeline_utils.py", line 847, in from_pretrained
cached_folder = cls.
safetensors_rust.SafetensorError: Error while deserializing header: incomplete metadata, file not fully covered
帮忙看一下这个是什么问题
解压失败,有文件缺失。这是解压教程
https://mp.weixin.qq.com/s/AMq5sIoaAfhyb3CQproEFQ
处理文件出错: GET was unable to find an engine to execute this computation
开始批量处理,共 1 张图片...
0%| | 0/3 [00:00
楼主,这个报错怎么搞??GET was unable to find an engine to execute this computation
把完整错误信息复制出来看看
笔电5060 8G.关键是程序就运行不下去了。
会不会是报毒删了什么?我都放白名单了呀
Not enough SMs to use max_autotune_gemm mode
2个办法 第一个用钞能力升级你的显卡,第二个 不用理会
没有啊,直接解压在根目录下的
处理文件出错: backend='inductor' raised:
UnicodeDecodeError: 'utf-32-be' codec can't decode bytes in position 272-273: truncated data
Set TORCHDYNAMO_VERBOSE=1 for the internal stack trace (please do this especially if you're reporting a bug to PyTorch). For even more developer context, set TORCH_LOGS="+dynamo"
运行就报错了,请问该如何解决?
看看路径是不是有中文或者符号或者空格
谢谢分享!
大哥,我下载的软件,联网验证后,还是无法离线启动软件,提示还得需要联网验证,是不是这款软件必须得联网才能用吗?
刚维护了下 验证服务器
我的意思是和输入的参考人脸不一致,基本看不出参考人脸的样子,变样了
那说明你选的参考人脸 辨识度不好
我的换完后和原来的人脸一致性很差,都变样了,是什么原因?
换后如果和原来的人脸一样?那不是换个寂寞?
这个软件不能离线启动吗?
需要网络验证