基于码本查找 Transformer 的鲁棒盲人脸恢复(NeurIPS 2022)
Paper | Project Page | Video
Shangchen Zhou, Kelvin C.K. Chan, Chongyi Li, Chen Change Loy
南洋理工大学 S-Lab
:star: 如果 CodeFormer 对您的图片或项目有帮助,请帮忙给此仓库点个 star。谢谢! :hugs:
更新
- 2023.07.20: 已集成至 :panda_face: OpenXLab。试用在线演示!
- 2023.04.19: :whale: 训练代码和配置文件现已公开。
- 2023.04.09: 为裁剪和对齐的人脸图像添加修复和上色功能。
- 2023.02.10: 包含
dlib作为新的人脸检测器选项,它能产生更准确的人脸身份。 - 2022.10.05: 支持视频输入
--input_path [YOUR_VIDEO.mp4]。试试增强您的视频! :clapper: - 2022.09.14: 已集成至 :hugs: Hugging Face。试用在线演示!
- 2022.09.09: 已集成至 :rocket: Replicate。试用在线演示!
- 更多
待办事项
- 添加训练代码和配置文件
- 添加人脸修复的 checkpoint 和脚本
- 添加人脸上色的 checkpoint 和脚本
-
添加背景图像增强
:panda_face: 尝试增强老照片 / 修复 AI 艺术
人脸修复

面部颜色增强与修复

面部修复

依赖项与安装
- Pytorch >= 1.7.1
- CUDA >= 10.1
requirements.txt中的其他必需包
# git clone this repository
git clone https://github.com/sczhou/CodeFormer
cd CodeFormer
# create new anaconda env
conda create -n codeformer python=3.8 -y
conda activate codeformer
# install python dependencies
pip3 install -r requirements.txt
python basicsr/setup.py develop
conda install -c conda-forge dlib (only for face detection or cropping with dlib)
快速推理
下载预训练模型:
从 [Releases | Google Drive | OneDrive] 下载 facelib 和 dlib 预训练模型到 weights/facelib 文件夹。您可以手动下载预训练模型,或者运行以下命令进行下载:
python scripts/download_pretrained_models.py facelib
python scripts/download_pretrained_models.py dlib (only for dlib face detector)
从 [Releases | Google Drive | OneDrive] 下载 CodeFormer 预训练模型到 weights/CodeFormer 文件夹。您可以手动下载预训练模型,或者运行以下命令进行下载:
python scripts/download_pretrained_models.py CodeFormer
准备测试数据:
您可以将测试图像放在 inputs/TestWhole 文件夹中。如果您希望在裁剪和对齐的人脸上进行测试,可以将它们放在 inputs/cropped_faces 文件夹中。您可以通过运行以下命令获取裁剪和对齐的人脸:
# you may need to install dlib via: conda install -c conda-forge dlib
python scripts/crop_align_face.py -i [input folder] -o [output folder]
测试:
[注意] 如果您想在论文中比较 CodeFormer,请运行以下命令并指定 --has_aligned(用于裁剪和对齐的人脸),因为整图命令将涉及人脸-背景融合过程,这可能会破坏边界处的头发纹理,从而导致不公平的比较。
保真度权重 w 位于 [0, 1] 之间。通常,较小的 w 倾向于产生更高质量的结果,而较大的 w 则产生更高保真度的结果。结果将保存在 results 文件夹中。
🧑🏻 人脸修复(裁剪和对齐的人脸)
# For cropped and aligned faces (512x512)
python inference_codeformer.py -w 0.5 --has_aligned --input_path [image folder]|[image path]
:framed_picture: 整图增强
# For whole image
# Add '--bg_upsampler realesrgan' to enhance the background regions with Real-ESRGAN
# Add '--face_upsample' to further upsample restorated face with Real-ESRGAN
python inference_codeformer.py -w 0.7 --input_path [image folder]|[image path]
:clapper: 视频增强
# For Windows/Mac users, please install ffmpeg first
conda install -c conda-forge ffmpeg
# For video clips
# Video path should end with '.mp4'|'.mov'|'.avi'
python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path]
🌈 人脸上色(裁剪并对齐的人脸)
# For cropped and aligned faces (512x512)
# Colorize black and white or faded photo
python inference_colorization.py --input_path [image folder]|[image path]
🎨 人脸修复(裁剪并对齐的人脸)
# For cropped and aligned faces (512x512)
# Inputs could be masked by white brush using an image editing app (e.g., Photoshop)
# (check out the examples in inputs/masked_faces)
python inference_inpainting.py --input_path [image folder]|[image path]
训练:
许可证
本项目基于 NTU S-Lab License 1.0 授权。再分发和使用应遵循此许可证。
🐼 生态系统应用与部署
CodeFormer 已被广泛采用并部署于众多(>20)在线应用、平台、API 服务和独立网站中,并集成到许多开源项目和工具包中。
仅 Hugging Face Space、Replicate 和 OpenXLab 上的演示是由作者维护的官方部署。以下列出的所有其他演示、API、应用、网站和集成均为第三方(非官方),与 CodeFormer 作者无关。请核实其合法性,以避免潜在的财务损失。
网站(非官方)
⚠️⚠️⚠️ 以下网站非官方且不由我们运营。它们在未获得任何许可或授权的情况下使用了我们的模型。请核实其合法性,以避免潜在的财务损失。
| 网站 | 链接 | 备注 |
|---|---|---|
| CodeFormer.net | https://codeformer.net/ | 非官方网站 |
| CodeFormer.cn | https://www.codeformer.cn/ | 非官方网站 |
| CodeFormerAI.com | https://codeformerai.com/ | 非官方网站 |
在线演示 / API 平台
| 平台 | 链接 | 备注 |
|---|---|---|
| Hugging Face | https://huggingface.co/spaces/sczhou/CodeFormer | 由作者维护 |
| Replicate | https://replicate.com/sczhou/codeformer | 由作者维护 |
| OpenXLab | https://openxlab.org.cn/apps/detail/ShangchenZhou/CodeFormer | 由作者维护 |
| Segmind | https://www.segmind.com/models/codeformer | 非官方 |
| Sieve | https://www.sievedata.com/functions/sieve/codeformer | 非官方 |
| Fal.ai | https://fal.ai/models/fal-ai/codeformer | 非官方 |
| VaikerAI | https://vaikerai.com/sczhou/codeformer | 非官方 |
| Scade.pro | https://www.scade.pro/processors/lucataco-codeformer | 非官方 |
| Grandline | https://www.grandline.ai/model/codeformer | 非官方 |
| AI Demos | https://aidemos.com/tools/codeformer | 非官方 |
| Synexa | https://synexa.ai/explore/sczhou/codeformer | 非官方 |
| RentPrompts | https://rentprompts.ai/models/Codeformer | 非官方 |
| ElevaticsAI | https://elevatics.ai/models/super-resolution/codeformer | 非官方 |
| Anakin.ai | https://anakin.ai/apps/codeformer-online-face-restoration-by-codeformer-19343 | 非官方 |
| Relayto | https://relayto.com/explore/codeformer-yf9rj8kwc7zsr | 非官方 |
开源项目与工具包
| 项目 / 工具包 | 链接 | 备注 |
|---|---|---|
| Stable Diffusion GUI | https://nmkd.itch.io/t2i-gui | 集成 |
| Stable Diffusion WebUI | https://github.com/AUTOMATIC1111/stable-diffusion-webui | 集成 |
| ChaiNNer | https://github.com/chaiNNer-org/chaiNNer | 集成 |
| PyPI | https://pypi.org/project/codeformer/ ; https://pypi.org/project/codeformer-pip/ | Python 包 |
| ComfyUI | https://stable-diffusion-art.com/codeformer/ | 集成 |
致谢
本项目基于 BasicSR。部分代码来自 Unleashing Transformers、YOLOv5-face 和 FaceXLib。我们还采用了 Real-ESRGAN 以支持背景图像增强。感谢他们的出色工作。
引用
如果我们的工作对你的研究有帮助,请考虑引用:
@inproceedings{zhou2022codeformer,
author = {Zhou, Shangchen and Chan, Kelvin C.K. and Li, Chongyi and Loy, Chen Change},
title = {Towards Robust Blind Face Restoration with Codebook Lookup TransFormer},
booktitle = {NeurIPS},
year = {2022}
}
联系
如果你有任何问题,请随时通过 shangchenzhou@gmail.com 与我联系。


