CodeFormer 开源项目使用教程
1、项目介绍
CodeFormer 是一个用于鲁棒盲人脸修复的开源项目,由 S-Lab 的 Shangchen Zhou、Kelvin C.K. Chan、Chongyi Li 和 Chen Change Loy 开发。该项目在 NeurIPS 2022 上发表,旨在通过代码本查找变换器(Codebook Lookup Transformer)实现对人脸图像的鲁棒修复。CodeFormer 支持多种人脸修复任务,包括人脸修复、颜色增强、修复和背景图像增强。
2、项目快速启动
环境准备
首先,确保你的环境满足以下要求:
- Pytorch >= 1.7.1
- CUDA >= 10.1
- 其他依赖包详见
requirements.txt
安装步骤
-
克隆项目仓库:
git clone https://github.com/sczhou/CodeFormer.git cd CodeFormer
-
创建并激活 Conda 环境:
conda create -n codeformer python=3.8 -y conda activate codeformer
-
安装 Python 依赖:
pip3 install -r requirements.txt python basicsr/setup.py develop
-
安装 dlib(可选,用于人脸检测或裁剪):
conda install -c conda-forge dlib
快速推理
-
下载预训练模型:
python scripts/download_pretrained_models.py facelib python scripts/download_pretrained_models.py dlib # 仅在使用 dlib 人脸检测时需要 python scripts/download_pretrained_models.py CodeFormer
-
准备测试数据: 将测试图像放入
inputs/TestWhole
文件夹,或裁剪对齐后放入inputs/cropped_faces
文件夹。 -
运行推理:
# 对裁剪对齐的人脸进行修复 python inference_codeformer.py -w 0.5 --has_aligned --input_path [image folder]|[image path] # 对整个图像进行增强 python inference_codeformer.py -w 0.7 --input_path [image folder]|[image path] --bg_upsampler realesrgan --face_upsample # 对视频进行增强 conda install -c conda-forge ffmpeg python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path]
3、应用案例和最佳实践
人脸修复
CodeFormer 可以用于修复老旧照片中的人脸,恢复其细节和清晰度。通过调整 -w
参数,可以在质量和保真度之间找到平衡。
人脸颜色增强
对于黑白或褪色的照片,CodeFormer 提供了颜色增强功能,可以恢复照片的原始色彩。
人脸修复和背景增强
在修复人脸的同时,CodeFormer 还可以增强背景图像,确保整体图像的和谐统一。
4、典型生态项目
Real-ESRGAN
Real-ESRGAN 是一个用于图像超分辨率的工具,CodeFormer 集成了 Real-ESRGAN 用于背景图像的增强。
BasicSR
BasicSR 是一个开源的图像和视频恢复工具包,CodeFormer 基于 BasicSR 构建,提供了更高级的人脸修复功能。
FaceXLib
FaceXLib 是一个专注于人脸分析和处理的库,CodeFormer 从中借鉴了一些代码,用于人脸检测和对齐。
通过这些生态项目的结合,CodeFormer 能够提供更全面和高效的人脸修复解决方案。