File size: 1,688 Bytes
2c45f04
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45ef1ef
2c45f04
45ef1ef
2c45f04
 
 
 
 
 
 
88fb8cc
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from asyncio import constants
import gradio as gr
import requests
import os 
from base64 import b64decode
from PIL import Image
import io
import numpy as np


def generate_image(seed,psi):
  iface = gr.Interface.load("spaces/hysts/StyleGAN-Human")
  
  print("calling interface",seed,psi)
  img=iface(seed,psi)
  return img
  
  #img=iface.fns[0].fn(seed,psi)
  #wrong format, gah! convert to numpy array
  #header, encoded = img.split(",", 1)
  #data = b64decode(encoded)
  #image = Image.open(io.BytesIO(data))
  #image_np = np.array(image)
  #return image_np

def generate_model(img):

    print("about to die")
    iface = gr.Interface.load("spaces/radames/PIFu-Clothed-Human-Digitization")
    print("calling interface")
    #model,file=iface.fns[0].fn(img)
    model,file=iface(img)
    #print("got result",result)
    return model,file


demo = gr.Blocks()

with demo:
  gr.Markdown("<h1><center>StyleGan-Human + PIFu </center></h1>")
  gr.Markdown(
        "create a person and then generate a model from that person's image"
    )
    
  
  with gr.Row():
    b0 = gr.Button("generate image")
    b1 = gr.Button("generate model")
  
  with gr.Row():  
    seed=gr.Number(value=0, label='Seed')
    psi=gr.Slider(0, 2, step=0.05, value=0.7, label='Truncation psi')
    #outputImage = gr.Image(label="portrait",type="filepath", shape=(256,256))
    output_image = gr.Image(type="filepath", label='Output')
    model = gr.Model3D(clear_color=[0.0, 0.0, 0.0, 0.0],  label="3D Model")
    file= gr.File(label="Download 3D Model")

  
  b0.click(generate_image,inputs=[seed,psi],outputs=output_image)
  b1.click(generate_model, inputs=output_image, outputs=[model,file])

demo.launch()