sczhou / CodeFormer
- суббота, 26 ноября 2022 г. в 00:36:16
[NeurIPS 2022] Towards Robust Blind Face Restoration with Codebook Lookup Transformer
Paper | Project Page | Video
Shangchen Zhou, Kelvin C.K. Chan, Chongyi Li, Chen Change Loy
S-Lab, Nanyang Technological University
[News]:
--input_path [YOUR_VIDOE.mp4]
. Try it to enhance your videos! --face_upsample
for high-resolution AI-created face enhancement.['RetinaFace'(default), 'YOLOv5']
.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
Download the facelib pretrained models from [Google Drive | OneDrive] to the weights/facelib
folder. You can manually download the pretrained models OR download by runing the following command.
python scripts/download_pretrained_models.py facelib
Download the CodeFormer pretrained models from [Google Drive | OneDrive] to the weights/CodeFormer
folder. You can manually download the pretrained models OR download by runing the following command.
python scripts/download_pretrained_models.py CodeFormer
You can put the testing images in the inputs/TestWhole
folder. If you would like to test on cropped and aligned faces, you can put them in the inputs/cropped_faces
folder.
[Note] If you want to compare CodeFormer in your paper, please run the following command indicating --has_aligned
(for cropped and aligned face), as the command for the whole image will involve a process of face-background fusion that may damage hair texture on the boundary, which leads to unfair comparison.
🧑🏻 Face Restoration (cropped and aligned face)
# For cropped and aligned faces
python inference_codeformer.py -w 0.5 --has_aligned --input_path [input folder]
# 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]
# For video clips
# Set frame rate of saved video via '--save_video_fps 24'
python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path] --save_video_fps 24
Fidelity weight w lays in [0, 1]. Generally, smaller w tends to produce a higher-quality result, while larger w yields a higher-fidelity result.
The results will be saved in the results
folder.
If our work is useful for your research, please consider citing:
@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}
}
This project is licensed under NTU S-Lab License 1.0. Redistribution and use should follow this license.
This project is based on BasicSR. Some codes are brought from Unleashing Transformers, YOLOv5-face, and FaceXLib. We also adopt Real-ESRGAN to support background image enhancement. Thanks for their awesome works.
If you have any question, please feel free to reach me out at shangchenzhou@gmail.com
.