## Towards Robust Blind Face Restoration with Codebook Lookup Transformer [Paper](https://arxiv.org/abs/2206.11253) | [Project Page](https://shangchenzhou.com/projects/CodeFormer/) | [Video](https://youtu.be/d3VDpkXlueI) google colab logo [Shangchen Zhou](https://shangchenzhou.com/), [Kelvin C.K. Chan](https://ckkelvinchan.github.io/), [Chongyi Li](https://li-chongyi.github.io/), [Chen Change Loy](https://www.mmlab-ntu.com/person/ccloy/) S-Lab, Nanyang Technological University ### Updates - **2022.07.17**: The Colab demo of CodeFormer is available now. google colab logo - **2022.07.16**: Test code for face restoration is released. :blush: - **2022.06.21**: This repo is created. #### Face Restoration #### Face Color Enhancement and Restoration #### Face Inpainting ### Dependencies and Installation - Pytorch >= 1.7.1 - CUDA >= 10.1 - Other required packages in `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 source activate codeformer # install python dependencies pip3 install -r requirements.txt python basicsr/setup.py develop conda install -c conda-forge dlib ``` ### Quick Inference ##### Download Pre-trained Models: Download the dlib pretrained models from [[Google Drive](https://drive.google.com/drive/folders/1YCqeuNDGCsJBAm90eGh7M_WWKTt19yIY?usp=sharing) | [OneDrive](https://entuedu-my.sharepoint.com/:f:/g/personal/s200094_e_ntu_edu_sg/Em2BaKU2OjhDolr11ngbrUgBu8q6SPn8E0jW-AC7nJF0Ig?e=HkjYrF)] to the `weights/dlib` folder. You can download by run the following command OR manually download the pretrained models. ``` python scripts/download_pretrained_models.py dlib ``` Download the CodeFormer pretrained models from [[Google Drive](https://drive.google.com/drive/folders/1CNNByjHDFt0b95q54yMVp6Ifo5iuU6QS?usp=sharing) | [OneDrive](https://entuedu-my.sharepoint.com/:f:/g/personal/s200094_e_ntu_edu_sg/EoKFj4wo8cdIn2-TY2IV6CYBhZ0pIG4kUOeHdPR_A5nlbg?e=AO8UN9)] to the `weights/CodeFormer` folder. You can download by run the following command OR manually download the pretrained models. ``` python scripts/download_pretrained_models.py CodeFormer ``` ##### Prepare Testing Data: 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. ##### Testing on Face Restoration: ``` # For cropped and aligned faces python inference_codeformer.py --w 0.5 --has_aligned --test_path [input folder] # For the whole images # Please set `--upsample_num_times 2` when faces are small and failed detected python inference_codeformer.py --w 0.7 -upsample_num_times 1 --test_path [input folder] ``` NOTE that *w* is 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. ### Citation If our work is useful for your research, please consider citing: @article{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}, journal = {arXiv preprint arXiv:2206.11253}, year = {2022} } ### License Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. ### Acknowledgement This project is based on [BasicSR](https://github.com/XPixelGroup/BasicSR).