Coder Social home page Coder Social logo

sungkukpark / codeformer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sczhou/codeformer

1.0 1.0 0.0 12.03 MB

PyTorch codes for "Towards Robust Blind Face Restoration with Codebook Lookup Transformer" (NeurIPS 2022)

License: Other

C++ 7.66% Python 80.94% Cuda 11.40%

codeformer's Introduction

Towards Robust Blind Face Restoration with Codebook Lookup Transformer (NeurIPS 2022)

Paper | Project Page | Video

google colab logo Replicate Hugging Face visitors

Shangchen Zhou, Kelvin C.K. Chan, Chongyi Li, Chen Change Loy

S-Lab, Nanyang Technological University

โญ If CodeFormer is helpful to your images or projects, please help star this repo. Thanks! ๐Ÿค—

Update

  • 2022.09.14: Integrated to ๐Ÿค— Hugging Face. Try out online demo! Hugging Face
  • 2022.09.09: Integrated to ๐Ÿš€ Replicate. Try out online demo! Replicate
  • 2022.09.04: Add face upsampling --face_upsample for high-resolution AI-created face enhancement.
  • 2022.08.23: Some modifications on face detection and fusion for better AI-created face enhancement.
  • 2022.08.07: Integrate Real-ESRGAN to support background image enhancement.
  • 2022.07.29: Integrate new face detectors of ['RetinaFace'(default), 'YOLOv5'].
  • 2022.07.17: Add Colab demo of CodeFormer. google colab logo
  • 2022.07.16: Release inference code for face restoration. ๐Ÿ˜Š
  • 2022.06.21: This repo is created.

TODO

  • Add checkpoint for face inpainting
  • Add training code and config files
  • Add background image enhancement

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
conda activate codeformer

# install python dependencies
pip3 install -r requirements.txt
python basicsr/setup.py develop

Quick Inference

Download Pre-trained Models:

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
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
# 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 --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:

@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}
}

License

This project is licensed under S-Lab License 1.0. Redistribution and use for non-commercial purposes should follow this license.

Acknowledgement

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.

Contact

If you have any question, please feel free to reach me out at [email protected].

codeformer's People

Contributors

chenxwh avatar sczhou avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.