codeformer 中文文档 下载 App

黑白照片上色:colorization 脚本用法和效果预期

上色脚本在哪

CodeFormer 仓库根目录有 inference_colorization.py——它不是 inference_codeformer.py 的子命令,是独立脚本。

python inference_colorization.py --input_path inputs/cropped_faces/

先决条件

基本用法

单张黑白人脸

python inference_colorization.py --input_path inputs/black_white/portrait.png

批量文件夹

python inference_colorization.py \
    --input_path inputs/black_white/ \
    --output_path results/colorized/

上色原理

黑白上色效果
黑白照片上色前后

colorization 模型和 face restoration 模型是两个独立的预训练权重:

colorization 模型学到了 FFHQ(高质量彩色人脸库)里的肤色和发色分布,它会:

  1. 判断人脸的肤色范围(从五官几何 + 光照推断)
  2. 生成匹配的肤色
  3. 头发颜色根据人脸整体色调推断(黑发 / 棕发 / 金发的概率分布)

效果预期

能做好的

做不好的

推荐工作流

老照片上色通常分两步:

第一步:人脸上色

# 1. 裁脸对齐
python scripts/crop_align_face.py -i inputs/old_photos -o inputs/faces_bw

# 2. 人脸上色
python inference_colorization.py --input_path inputs/faces_bw --output_path results/faces_color

# 3. 人脸修复
python inference_codeformer.py -w 0.7 --has_aligned \
    --input_path results/faces_color --output_path results/faces_fixed

第二步:整体上色(可选)

背景和非人脸区域的上色,用专门的整图上色模型(如 DeOldify、Bringing-Old-Photos-Back-to-Life)。CodeFormer 不管这部分。

第三步:贴回原图

# 你需要自己把处理好的彩色脸贴回原老照片
# 用 Photoshop / GIMP 的修复画笔

这一步没有自动化脚本,因为背景上色和人脸贴回需要人工判断。

参数

参数默认说明
--input_path—单张或文件夹
--output_pathresults/colorization/输出目录
--weights_pathweights/CodeFormer/colorization_codeformer.pth上色权重路径

上色脚本没有 w 权重、没有背景增强、没有上采样——因为上色任务不需要保真度权衡。

和其他上色工具对比

工具风格质量自动程度
CodeFormer colorization自然、写实中只上色人脸
DeOldify鲜艳、饱和度高中整图上色
BOPL(Bringing-Old-Photos-Back-to-Life)学术、保守较高整图上色 + 修复
Photoshop 神经网络滤镜稳定、可控高(需人工)手动调色

CodeFormer 的定位是老照片修复流程中的"人脸上色"环节,不是独立的整图上色器。