面向鲁棒的盲目人脸修复的代码本查找变换器(NeurIPS 2022)
论文 | 项目页面 | 视频
周尚晨,陈克康,李崇义,陈长乐
S-Lab,南洋理工大学
⭐ 如果CodeFormer对您的图片或项目有帮助,请帮忙给这个仓库点个星。谢谢!🤗
更新
待办事项
添加训练代码和配置文件
添加人脸修复的检查点和脚本
添加面部着色的检查点和脚本-
添加背景图像增强
尝试增强旧照片/修复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)
快速推断
下载预训练模型:
从[发布 | 谷歌云盘 | OneDrive]下载facelib和dlib预训练模型到 weights/facelib
文件夹。您可以手动下载预训练模型,或者通过运行以下命令进行下载。
python scripts/download_pretrained_models.py facelib
python scripts/download_pretrained_models.py dlib (only for dlib face detector)
从[发布 | 谷歌云盘 | 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]
整体图像增强
# 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]
🎬 Video Enhancement
# 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
🌈 面部上色(裁剪和对齐的脸部)
# 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]
培训
培训命令可以在文档中找到:English | 简体中文。
引用
如果我们的工作对您的研究有用,请考虑引用:
@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}
}
许可证
该项目在NTU S-Lab License 1.0下获得许可。重新分发和使用应遵循此许可证。
确认
该项目基于BasicSR。部分代码来自Unleashing Transformers、YOLOv5-face和FaceXLib。我们还采用了Real-ESRGAN来支持背景图像增强。感谢他们出色的工作。
联系
如果您有任何问题,请随时联系我,邮箱为 shangchenzhou@gmail.com
。