MCPcopy
hub / github.com/sczhou/CodeFormer

github.com/sczhou/CodeFormer @v0.1.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.1.0 ↗
552 symbols 1,443 edges 70 files 173 documented · 31%
README

Towards Robust Blind Face Restoration with Codebook Lookup Transformer

Paper | Project Page | Video

google colab logo

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

S-Lab, Nanyang Technological University

:star: If CodeFormer is helpful to your pothos or projects, please help star this repo. Thanks! :hugs:

Updates

  • 2022.08.07: Integrate Real-ESRGAN to support background image enhancement.
  • 2022.07.29: New face detector with supporting ['YOLOv5', 'RetinaFace'].
  • 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

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
# If you want to enhance the background regions with Real-ESRGAN,
# you can add '--bg_upsampler realesrgan' in the following command
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:

@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. We also borrow some codes from Unleashing Transformers, YOLOv5-face, and FaceXLib.

Contact

If you have any question, please feel free to reach me out at shangchenzhou@gmail.com.

Core symbols most depended-on inside this repo

get
called by 39
basicsr/utils/registry.py
conv_dw
called by 13
facelib/detection/retinaface/retinaface_net.py
get_root_logger
called by 10
basicsr/utils/logger.py
keys
called by 8
basicsr/utils/registry.py
scandir
called by 7
basicsr/utils/misc.py
close
called by 7
basicsr/utils/lmdb_util.py
normalize
called by 7
basicsr/archs/vqgan_arch.py
imwrite
called by 5
facelib/utils/misc.py

Shape

Method 260
Function 192
Class 100

Languages

Python100%

Modules by API surface

facelib/detection/yolov5face/models/common.py42 symbols
basicsr/losses/losses.py31 symbols
basicsr/archs/vqgan_arch.py30 symbols
facelib/detection/retinaface/retinaface_net.py25 symbols
basicsr/ops/dcn/deform_conv.py24 symbols
facelib/detection/retinaface/retinaface_utils.py19 symbols
facelib/parsing/bisenet.py18 symbols
basicsr/utils/file_client.py18 symbols
basicsr/data/prefetch_dataloader.py17 symbols
basicsr/archs/codeformer_arch.py17 symbols
basicsr/archs/arch_util.py17 symbols
basicsr/archs/arcface_arch.py17 symbols

Dependencies from manifests, versioned

torch1.7.1 · 1×

For agents

$ claude mcp add CodeFormer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact