Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import numpy as np | |
| from PIL import Image | |
| import os | |
| os.system('pip install basicsr') | |
| os.system('pip install realesrgan') | |
| from gfpgan import GFPGANer | |
| # installing version 1 of GFPGAN | |
| os.system('wget https://github.com/TencentARC/GFPGAN/releases/download/v0.1.0/GFPGANv1.pth') | |
| # installing version 1.2 of GFPGAN | |
| os.system('wget https://github.com/TencentARC/GFPGAN/releases/download/v0.2.0/GFPGANCleanv1-NoCE-C2.pth') | |
| # installing version 1.3 of GFPGAN (latest) | |
| os.system('wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth') | |
| def interface(image: Image, model: str = "GFPGANv1.3.pth", useRealesrgan=False): | |
| if model == "": | |
| model = "GFPGANv1.3.pth" | |
| if model != "GFPGANv1.pth" and model != "GFPGANCleanv1-NoCE-C2.pth" and model != "GFPGANv1.3.pth": | |
| model = "GFPGANv1.3.pth" | |
| if useRealesrgan == True: | |
| from basicsr.archs.rrdbnet_arch import RRDBNet | |
| from realesrgan import RealESRGANer | |
| BGupscaler = RealESRGANer( | |
| scale=2, | |
| model_path='https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.1/RealESRGAN_x2plus.pth', | |
| model=RRDBNet(num_in_ch=3, num_out_ch=3, num_feat=64, num_block=23, num_grow_ch=32, scale=2), | |
| tile=0, | |
| tile_pad=10, | |
| pre_pad=0 | |
| ) | |
| else: | |
| BGupscaler = None | |
| restorer = GFPGANer( | |
| model_path=model, | |
| arch="original" if model == "GFPGANv1.pth" else "clean", | |
| bg_upsampler=BGupscaler, | |
| channel_multiplier=1 if model == "GFPGANv1.pth" else 2, | |
| upscale=2) | |
| img = np.array(image).copy() | |
| cropped_faces, restored_faces, restored_img = restorer.enhance(img) | |
| return restored_img | |
| gr.Interface( | |
| interface, | |
| [ | |
| gr.components.Image( | |
| type="pil", | |
| label="Image", | |
| ), | |
| gr.components.Radio([ | |
| "GFPGANv1.pth", | |
| "GFPGANCleanv1-NoCE-C2.pth", | |
| "GFPGANv1.3.pth", | |
| ], | |
| label="model", | |
| default="GFPGANv1.3.pth", | |
| type="value"), | |
| gr.Checkbox(label="realesrgan?"), | |
| ], | |
| [gr.components.Image(label="Enhanced Image")], | |
| ).launch() |