File size: 2,182 Bytes
7e51154
455bb17
103e730
d658d2a
be01a58
 
469f5eb
12f4e43
e91ac97
12f4e43
 
 
 
 
 
 
b6679b7
2928955
103e730
 
12f4e43
 
 
416c8ad
ccfbba4
7e51154
4054722
f77392c
 
4054722
e29e9b5
2928955
 
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
26
27
28
29
30
31
32
33
import os 
import gradio as gr
from PIL import Image
os.system('pip install dlib')
os.system("wget https://www.dropbox.com/s/fgupbov77x4rrru/blendgan.pt")
os.system("wget https://www.dropbox.com/s/v8q0dd3r4u20659/psp_encoder.pt")
os.system("wget https://github.com/kim-ninh/align_face_ffhq/raw/main/shape_predictor_68_face_landmarks.dat -P /home/user/app/ffhq_dataset/")


from ffhq_dataset.gen_aligned_image import FaceAlign


fa = FaceAlign()
import cv2



def inference(content, style, index):
    content.save('content.png')
    style.save('style.png')
    imgc = cv2.imread('content.png')
    img_cropc = fa.get_crop_image(imgc)
    cv2.imwrite('contentcrop.png', img_cropc)
    os.system("""python style_transfer_folder.py --size 1024 --add_weight_index """+str(int(index))+""" --ckpt ./blendgan.pt --psp_encoder_ckpt ./psp_encoder.pt --style_img_path style.png --input_img_path contentcrop.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',6]]
gr.Interface(inference, [gr.inputs.Image(type="pil"),gr.inputs.Image(type="pil"),gr.inputs.Slider(minimum=1, maximum=30, step=1, default=6, label="Weight Index")
], gr.outputs.Image(type="file"),title=title,description=description,article=article,enable_queue=True,examples=examples,allow_flagging=False).launch()