codeformer 中文文档 下载 App

对齐人脸修复(has_aligned 模式):最快、最稳定的 CodeFormer 用法

什么时候用 --has_aligned

如果你的图片已经是裁好并对齐到 512×512 的人脸(只有脸、没有背景),用 --has_aligned 模式:

python inference_codeformer.py -w 0.7 --has_aligned --input_path [图片或文件夹]

为什么更快更稳

常规整图处理流程:

  1. YOLOv5 人脸检测(0.1s)
  2. dlib / 5 点 landmark 对齐(0.1s)
  3. CodeFormer 推理(0.2s)
  4. back projection 融合回原图(0.05s)= ~0.45s/张

--has_aligned 流程:

  1. CodeFormer 推理(0.2s)= ~0.2s/张

省掉检测+对齐+融合三步。对于已经有人脸检测结果的批量场景(如从视频里抽帧、从相册里批量挑头像),效率提升一倍以上。

准备对齐好的人脸

方式一:用 CodeFormer 自带脚本

python scripts/crop_align_face.py -i inputs/TestWhole -o inputs/cropped_faces

这一步需要 dlib(参考 dlib 安装 页)。脚本会自动检测人脸、对齐、输出 512×512 的裁切结果。

方式二:手动准备

如果你不想装 dlib,可以自己用 OpenCV 或其他工具把人脸裁出来:

对齐的质量影响修复效果

CodeFormer 对对齐精度很敏感:

5 点 landmark 对齐(两眼 + 鼻子 + 两嘴角)是 CodeFormer 的黄金标准。

完整命令

单张图片

python inference_codeformer.py -w 0.7 --has_aligned --input_path inputs/cropped_faces/photo.png

批量文件夹

python inference_codeformer.py -w 0.6 --has_aligned --input_path inputs/cropped_faces/

脚本会自动遍历文件夹里所有 jpg/jpeg/png/bmp。

自定义输出目录

python inference_codeformer.py -w 0.7 --has_aligned \
    --input_path inputs/cropped_faces/ \
    --output_path results/my_output/

不指定 --output_path 时默认输出到 results/CodeFormer_aligned/。

参数说明

参数简写默认说明
--fidelity_weight-w0.5w 权重,0=质量好,1=身份准
--upscale-s2最终上倍倍率(2 / 4)
--has_aligned—False必须显式传才启用对齐模式
--input_path——单张图片或文件夹路径
--output_path—results/CodeFormer_aligned输出目录

--bg_upsampler 和 --face_upsample 在 --has_aligned 模式下不起作用(没有背景、不需要再上采样)。

典型输出

输入是 inputs/cropped_faces/portrait.jpg,w=0.7:

[Restoration] - Faces: 1
[Restoration] - Time: 0.21s for portrait.jpg
Saving results/CodeFormer_aligned/portrait.png

输出的是仅人脸(512×512,按 upscale 参数上采样),不包含原图背景。

怎么挑 w 值

见 w 权重调参指南。快速参考: