mrbeliever commited on
Commit
282890f
1 Parent(s): a4b6c5e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +83 -72
app.py CHANGED
@@ -1,72 +1,83 @@
1
- # -* coding:UTF-8 -*
2
- # !/usr/bin/env python
3
- import numpy as np
4
- import gradio as gr
5
- import roop.globals
6
- from roop.core import (
7
- start,
8
- decode_execution_providers,
9
- suggest_max_memory,
10
- suggest_execution_threads,
11
- )
12
- from roop.processors.frame.core import get_frame_processors_modules
13
- from roop.utilities import normalize_output_path
14
- import os
15
- from PIL import Image
16
-
17
-
18
- def swap_face(source_file, target_file,doFaceEnhancer):
19
-
20
- source_path = "input.jpg"
21
- target_path = "target.jpg"
22
-
23
- source_image = Image.fromarray(source_file)
24
- source_image.save(source_path)
25
- target_image = Image.fromarray(target_file)
26
- target_image.save(target_path)
27
-
28
- print("source_path: ", source_path)
29
- print("target_path: ", target_path)
30
-
31
- roop.globals.source_path = source_path
32
- roop.globals.target_path = target_path
33
- output_path = "output.jpg"
34
- roop.globals.output_path = normalize_output_path(
35
- roop.globals.source_path, roop.globals.target_path, output_path
36
- )
37
- if doFaceEnhancer == True:
38
- roop.globals.frame_processors = ["face_swapper","face_enhancer"]
39
- else:
40
- roop.globals.frame_processors = ["face_swapper"]
41
- roop.globals.headless = True
42
- roop.globals.keep_fps = True
43
- roop.globals.keep_audio = True
44
- roop.globals.keep_frames = False
45
- roop.globals.many_faces = False
46
- roop.globals.video_encoder = "libx264"
47
- roop.globals.video_quality = 18
48
- roop.globals.max_memory = suggest_max_memory()
49
- roop.globals.execution_providers = decode_execution_providers(["cuda"])
50
- roop.globals.execution_threads = suggest_execution_threads()
51
-
52
- print(
53
- "start process",
54
- roop.globals.source_path,
55
- roop.globals.target_path,
56
- roop.globals.output_path,
57
- )
58
-
59
- for frame_processor in get_frame_processors_modules(
60
- roop.globals.frame_processors
61
- ):
62
- if not frame_processor.pre_check():
63
- return
64
-
65
- start()
66
- return output_path
67
-
68
-
69
- app = gr.Interface(
70
- fn=swap_face, inputs=[gr.Image(), gr.Image(),gr.Checkbox(label="face_enhancer?", info="do face enhancer?")], outputs="image"
71
- )
72
- app.launch()
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import gradio as gr
3
+ import roop.globals
4
+ from roop.core import (
5
+ start,
6
+ decode_execution_providers,
7
+ suggest_max_memory,
8
+ suggest_execution_threads,
9
+ )
10
+ from roop.processors.frame.core import get_frame_processors_modules
11
+ from roop.utilities import normalize_output_path
12
+ import os
13
+ from PIL import Image
14
+
15
+
16
+ def swap_face(source_file, target_file, doFaceEnhancer):
17
+ source_path = "input.jpg"
18
+ target_path = "target.jpg"
19
+
20
+ source_image = Image.fromarray(source_file)
21
+ source_image.save(source_path)
22
+ target_image = Image.fromarray(target_file)
23
+ target_image.save(target_path)
24
+
25
+ print("source_path: ", source_path)
26
+ print("target_path: ", target_path)
27
+
28
+ roop.globals.source_path = source_path
29
+ roop.globals.target_path = target_path
30
+ output_path = "output.jpg"
31
+ roop.globals.output_path = normalize_output_path(
32
+ roop.globals.source_path, roop.globals.target_path, output_path
33
+ )
34
+ if doFaceEnhancer:
35
+ roop.globals.frame_processors = ["face_swapper", "face_enhancer"]
36
+ else:
37
+ roop.globals.frame_processors = ["face_swapper"]
38
+ roop.globals.headless = True
39
+ roop.globals.keep_fps = True
40
+ roop.globals.keep_audio = True
41
+ roop.globals.keep_frames = False
42
+ roop.globals.many_faces = False
43
+ roop.globals.video_encoder = "libx264"
44
+ roop.globals.video_quality = 18
45
+ roop.globals.max_memory = suggest_max_memory()
46
+ roop.globals.execution_providers = decode_execution_providers(["cuda"])
47
+ roop.globals.execution_threads = suggest_execution_threads()
48
+
49
+ print(
50
+ "start process",
51
+ roop.globals.source_path,
52
+ roop.globals.target_path,
53
+ roop.globals.output_path,
54
+ )
55
+
56
+ for frame_processor in get_frame_processors_modules(
57
+ roop.globals.frame_processors
58
+ ):
59
+ if not frame_processor.pre_check():
60
+ return
61
+
62
+ start()
63
+ return output_path
64
+
65
+
66
+ with gr.Blocks() as app:
67
+ with gr.Column():
68
+ with gr.Row():
69
+ gr.Markdown("")
70
+ with gr.Row():
71
+ source_file = gr.Image(label="Source File")
72
+ target_file = gr.Image(label="Target File")
73
+ with gr.Row():
74
+ doFaceEnhancer = gr.Checkbox(label="Face Enhancer", info="Do face enhancer?")
75
+ with gr.Row():
76
+ swap_button = gr.Button("Swap Face")
77
+ with gr.Row():
78
+ output_image = gr.Image(label="Output")
79
+
80
+ swap_button.click(swap_face, inputs=[source_file, target_file, doFaceEnhancer], outputs=output_image)
81
+
82
+ app.launch()
83
+