unet image Face Fusion输出文件在哪?results目录管理指南
你刚跑完一次人脸融合,结果图生成了,但左找右找就是找不到保存在哪——别急,这其实是很多刚接触 unet image Face Fusion 的朋友最常遇到的“第一困惑”。它不弹窗、不提示、不自动打开文件夹,只默默把图存进某个角落,等你去发现。本文就来彻底理清:融合结果到底输出到哪?outputs 目录结构长什么样?怎么高效管理、批量查找、避免覆盖?全程不讲原理、不堆参数,只说你真正用得上的实操细节。
1. 默认输出路径:不是 outputs,而是 outputs/faceswap/
很多用户习惯性去outputs/根目录下翻找,结果空手而归。真相是:unet image Face Fusion 默认将所有融合结果保存在outputs/faceswap/子目录中,而不是平铺在outputs/下。
这个设计是有逻辑的——它为未来扩展预留空间(比如后续可能加入outputs/retouch/用于美颜修复、outputs/animation/用于动态融合),所以当前所有 WebUI 生成的人脸融合图,都统一归入faceswap这个专属文件夹。
你可以通过以下任一方式快速定位:
终端直达(推荐):
cd /root/cv_unet-image-face-fusion_damo/outputs/faceswap/ ls -lt | head -10ls -lt按修改时间倒序列出,最新生成的图永远在最上面。文件管理器导航: 打开系统文件管理器 → 进入
/root/cv_unet-image-face-fusion_damo/→ 进入outputs→ 进入faceswapWebUI 界面辅助确认(小技巧): 融合成功后,右下角状态栏会显示类似:
融合成功!已保存至: faceswap/20260105_142318_result.png这里的路径是相对路径,完整绝对路径即
/root/cv_unet-image-face-fusion_damo/outputs/faceswap/20260105_142318_result.png
关键提醒:该路径由项目根目录决定,如果你把整个项目解压到了
/home/user/my-face-fusion/,那实际路径就是/home/user/my-face-fusion/outputs/faceswap/。请先确认你的项目安装位置。
2. 文件命名规则:时间戳 + 类型标识,拒绝混乱
你可能会看到一堆类似20260105_142318_result.png、20260105_142502_result.png的文件。它们不是随机命名,而是严格遵循「日期时间 + 固定后缀」规则:
20260105:年月日(2026年1月5日)_142318:时分秒(14点23分18秒)_result.png:固定结尾,表示这是最终融合结果图
这种命名方式带来两个核心好处:
- 天然按时间排序:无论用命令行
ls还是图形界面,新图永远排在最前,一眼锁定最新成果; - 零重名风险:同一秒内多次运行也不会覆盖——因为毫秒级精度由系统自动保障(实际文件名含毫秒,如
20260105_142318_732_result.png)。
你完全不需要手动改名、建子文件夹、加前缀。只要保持默认设置,你的 results 目录就会像日志一样清晰、可追溯、无冲突。
2.1 为什么没有原始图/中间图?
有用户问:“我上传的目标图和源图,也会被存下来吗?”答案是:不会。unet image Face Fusion 严格区分「输入」与「输出」:
- 上传的图片仅在内存中临时加载,处理完毕即释放;
- 不保存任何原始输入文件;
- 不生成中间过程图(如人脸检测框图、对齐后图、蒙版图);
- 唯一落盘的,只有最终融合完成的
*_result.png文件。
这既是轻量化的体现,也是隐私设计的考量——你的源素材不会意外残留。
3. 目录结构详解:不止一个 faceswap,还有这些隐藏文件夹
进入outputs/目录,你会发现它并非只有faceswap/,而是包含多个用途明确的子目录。理解它们,能帮你更聪明地管理工程:
outputs/ ├── faceswap/ # 主力输出区:所有融合结果图(.png) ├── temp/ # 临时缓存区:运行时生成的中间缓存(如对齐特征点、临时mask),每次重启WebUI自动清空 ├── logs/ # 📄 日志记录区:`face_fusion.log` 记录每次融合的参数、耗时、错误信息(排查问题必查) └── debug/ # 调试专用区:仅当启用 DEBUG 模式时生成,含人脸关键点坐标、仿射变换矩阵等(二次开发用)faceswap/:你的主战场,日常只需关注这里;temp/:不用管,也别手动删——它由程序自动维护,删了可能导致下次运行卡顿;logs/:当你遇到“融合失败”“结果发黑”“人脸错位”等问题时,打开face_fusion.log,搜索ERROR或最近的时间戳,90% 的原因都能直接定位;debug/:普通用户无需开启,如需做二次开发(比如想提取融合后的关键点坐标),可在启动脚本中添加DEBUG=1环境变量。
实操建议:每天下班前,执行一次
find /root/cv_unet-image-face-fusion_damo/outputs/ -name "*.png" -mtime +7 -delete,自动清理7天前的 result 图,既释放空间,又保持目录清爽。
4. 自定义输出路径:三步永久修改,适配你的工作流
如果你希望结果图直接输出到桌面、NAS 或指定相册文件夹,无需硬链接或软链接——项目原生支持路径自定义,且修改后永久生效。
4.1 修改配置文件
打开项目根目录下的config.yaml(路径:/root/cv_unet-image-face-fusion_damo/config.yaml),找到这一段:
output: base_dir: "outputs" sub_dir: "faceswap"将base_dir改为你想要的绝对路径,例如:
output: base_dir: "/home/user/Pictures/FaceFusion_Results" sub_dir: "faceswap"注意事项:
- 必须使用绝对路径(以
/开头); - 目录需提前创建好,且当前用户有写入权限(
chmod 755 /home/user/Pictures/FaceFusion_Results); sub_dir可保留为faceswap,也可改为my_works、client_deliveries等更具业务意义的名称。
4.2 重启服务生效
修改保存后,执行重启指令:
/bin/bash /root/run.sh再次运行一次融合,检查新路径下是否生成了*_result.png—— 成功即表示配置已生效。
4.3 进阶:按项目/客户自动分目录(二次开发友好)
如果你是设计师或工作室,需要为不同客户隔离结果,可以进一步改造run.sh启动脚本,在调用 Python 主程序前动态设置环境变量:
export FACE_FUSION_OUTPUT_ROOT="/mnt/nas/client_a_2026Q1" /bin/bash /root/run.sh然后在代码中读取该变量替代config.yaml的硬编码路径。这对批量处理、自动化交付非常实用。
5. 批量管理与快速查找:告别一张张点开确认
当faceswap/里积累上百张图,人工翻找效率极低。这里分享三个真实高效的管理方法:
5.1 命令行批量预览(Linux/macOS)
不用打开图片查看器,一行命令快速浏览缩略图:
# 安装 imagemagick(如未安装) sudo apt install imagemagick # Ubuntu/Debian # 或 brew install imagemagick # macOS # 生成当前目录所有 result 图的 200x200 缩略图并横向拼接 montage *.png -geometry 200x200+2+2 -tile x1 thumbnails.jpg生成的thumbnails.jpg就是一张长图,从左到右依次展示所有融合效果,滑动即可快速比对。
5.2 按参数筛选文件(精准定位)
所有融合参数(比例、模式、分辨率)都会写入图片的 EXIF 元数据。你可以用exiftool提取:
exiftool -s -ImageSize -XMP:FaceFusionRatio -XMP:FaceFusionMode faceswap/*.png | grep -A2 "20260105"输出示例:
======== faceswap/20260105_142318_result.png ImageSize : 1024x1024 FaceFusionRatio : 0.65 FaceFusionMode : blend这样就能精准找出“所有 1024x1024 分辨率 + blend 模式 + 比例 0.6~0.7”的结果,无需肉眼识别。
5.3 自动归档脚本(每日归集)
将以下脚本保存为archive_daily.sh,加入 crontab 每日凌晨执行:
#!/bin/bash DATE=$(date +%Y%m%d) mkdir -p /root/facefusion_archive/$DATE mv /root/cv_unet-image-face-fusion_damo/outputs/faceswap/*.png /root/facefusion_archive/$DATE/ 2>/dev/null从此,每天的结果自动打包进独立日期文件夹,历史可溯、查找无忧。
6. 常见问题直答:那些让你抓耳挠腮的“找不到”时刻
Q1:我明明点了“开始融合”,右侧也显示成功,但 faceswap 里啥也没有?
A:90% 是权限问题。检查outputs/faceswap/目录归属:
ls -ld /root/cv_unet-image-face-fusion_damo/outputs/faceswap/ # 正确应为:drwxr-xr-x 2 root root ... # 如果显示 root:root 但运行 WebUI 的是其他用户(如 user),则需: sudo chown -R user:user /root/cv_unet-image-face-fusion_damo/outputs/Q2:结果图是黑的/全白/只有半张脸,是保存出错了吗?
A:不是保存问题,是融合过程异常。立刻去outputs/logs/face_fusion.log查最后几行,通常会看到:
ERROR face_aligner.py: failed to detect face in source image说明源图人脸未被识别(侧脸、遮挡、过暗)。换一张正脸高清图重试即可。
Q3:能设置成自动保存为 JPG 吗?PNG 太大了。
A:可以。编辑webui.py中save_image()函数,将cv2.imwrite(..., '.png')改为'.jpg',并在imwrite前添加压缩参数:
cv2.imwrite(save_path.replace('.png', '.jpg'), img, [cv2.IMWRITE_JPEG_QUALITY, 95])(注意:JPG 不支持透明通道,若融合涉及透明背景,请坚持用 PNG)
Q4:手机上传的图,名字全是 IMG_20260105_123456.jpg,结果图却叫 20260105_142318_result.png,怎么关联起来?
A:看时间戳。IMG_20260105_123456.jpg的拍摄时间 ≈20260105_142318_result.png的生成时间(WebUI 处理延迟通常 <3 秒)。你也可以在上传前,用手机文件管理器批量重命名为source_zhangsan.jpg/target_beijing.jpg,结果图仍会按时间命名,但你知道哪张是哪个任务。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。