File size: 2,022 Bytes
7e51154
455bb17
754ac4e
 
 
 
 
be01a58
 
754ac4e
b6679b7
1d11e4b
754ac4e
 
 
 
085c620
ccfbba4
7e51154
4054722
f77392c
 
4054722
3392f5b
d375c2f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import os 
import gradio as gr
os.system('pip install matplotlib')
os.system('pip install deepface')
from deepface import DeepFace
backends = ['opencv', 'ssd', 'dlib', 'mtcnn']

os.system("wget https://www.dropbox.com/s/fgupbov77x4rrru/blendgan.pt")
os.system("wget https://www.dropbox.com/s/v8q0dd3r4u20659/psp_encoder.pt")
import matplotlib.pyplot as plt

def inference(content, style):
    conimg = DeepFace.detectFace(content.name, detector_backend = backends[0])
    plt.imsave('content.png', conimg, cmap='Greys')
    styleimg = DeepFace.detectFace(style.name, detector_backend = backends[0])
    plt.imsave('style.png', styleimg, cmap='Greys')
    os.system("""python style_transfer_folder.py --size 1024 --ckpt ./blendgan.pt --psp_encoder_ckpt ./psp_encoder.pt --style_img_path style.png --input_img_path content.png""")
    return "out.jpg"
  
title = "BlendGAN"
description = "Gradio Demo for BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation. To use it, simply upload your images, or click one of the examples to load them. Read more at the links below. Please use a cropped portrait picture for best results similar to the examples below."
article = "<p style='text-align: center'><a href='https://arxiv.org/abs/2110.11728' target='_blank'>BlendGAN: Implicitly GAN Blending for Arbitrary Stylized Face Generation</a> | <a href='https://github.com/onion-liu/BlendGAN' target='_blank'>Github Repo</a></p><p style='text-align: center'>samples from repo: <img src='https://user-images.githubusercontent.com/6346064/142623312-3e6f09aa-ce88-465c-b956-a8b4db95b4da.gif' alt='animation'/> <img src='https://user-images.githubusercontent.com/6346064/142621044-086cde48-8604-467b-8c43-8768b6670ec2.gif' alt='animation'/></p>"

examples=[['000000.png','100001.png']]
gr.Interface(inference, [gr.inputs.Image(type="pil"),gr.inputs.Image(type="pil")], gr.outputs.Image(type="file"),title=title,description=description,article=article,enable_queue=True,examples=examples,allow_flagging=False).launch()