File size: 2,434 Bytes
1d24639
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import spaces
import gradio as gr
from inference_utils import inference


@spaces.GPU
def send_to_model(id_image, makeup_image, guidance_scale):
    if guidance_scale is None:
        # when creating example caches.
        guidance_scale = 1.6
    return inference(id_image, makeup_image, guidance_scale, size=512)

if __name__ == "__main__":
    with gr.Blocks() as demo:
        gr.HTML(
        """
            <h1 style="text-align: center; font-size: 32px; font-family: 'Times New Roman', Times, serif;">
                Stable-Makeup: When Real-World Makeup Transfer Meets Diffusion Model
            </h1>
            <p style="text-align: center; font-size: 20px; font-family: 'Times New Roman', Times, serif;">
                <a style="text-align: center; display:inline-block"
                    href="https://xiaojiu-z.github.io/Stable-Makeup.github.io/">
                    <img src="https://huggingface.co/datasets/huggingface/badges/raw/main/paper-page-sm.svg#center"
                    alt="Paper Page">
                </a>
                <a style="text-align: center; display:inline-block" href="https://huggingface.co/spaces/sky24h/Stable-Makeup-unofficial?duplicate=true">
                    <img src="https://huggingface.co/datasets/huggingface/badges/raw/main/duplicate-this-space-sm.svg#center" alt="Duplicate Space">
                </a>
            </p>
            """
    )
        gr.Interface(
            fn=send_to_model,
            inputs=[
                gr.Image(type="pil", label="id_image", height=512, width=512),
                gr.Image(type="pil", label="makeup_image", height=512, width=512),
                gr.Slider(minimum=1.01, maximum=3, value=1.6, step=0.05, label="guidance_scale", info="1.05-1.15 is suggested for light makeup and 2 for heavy makeup."),
            ],
            outputs="image",
            allow_flagging="never",
            description="This is an unofficial demo for the paper 'Stable-Makeup: When Real-World Makeup Transfer Meets Diffusion Model'.",
            examples=[
                ["./test_imgs/id/1.jpg", "./test_imgs/makeup/1.jpg"],
                ["./test_imgs/id/2.jpg", "./test_imgs/makeup/2.jpg"],
                ["./test_imgs/id/3.jpg", "./test_imgs/makeup/3.jpg"],
                ["./test_imgs/id/4.jpg", "./test_imgs/makeup/4.png"],
            ],
            cache_examples=True,
        )
        demo.queue(max_size=10).launch()