Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -36,27 +36,6 @@ def create_segmentation(mask_np_list):
|
|
36 |
segmentation = Image.fromarray(np.uint8(segmentation*255))
|
37 |
return segmentation
|
38 |
|
39 |
-
def load_mask_ui(input_folder="example_tmp",load_edit = False):
|
40 |
-
if not load_edit:
|
41 |
-
mask_list, mask_label_list = load_mask(input_folder)
|
42 |
-
else:
|
43 |
-
mask_list, mask_label_list = load_mask_edit(input_folder)
|
44 |
-
|
45 |
-
mask_np_list = []
|
46 |
-
for m in mask_list:
|
47 |
-
mask_np_list. append( m.cpu().numpy())
|
48 |
-
|
49 |
-
return mask_np_list, mask_label_list
|
50 |
-
|
51 |
-
def load_image_ui(load_edit, input_folder="example_tmp"):
|
52 |
-
|
53 |
-
image, mask_np_list, mask_label_list = load_mask_ui(input_folder, load_edit = load_edit)
|
54 |
-
#image = image.convert('RGB')
|
55 |
-
segmentation = create_segmentation(mask_np_list)
|
56 |
-
max_val = len(mask_np_list)-1
|
57 |
-
sliderup = gr.Slider(value = 0, minimum=0, maximum=max_val, step=1, interactive=True)
|
58 |
-
return image, segmentation, mask_np_list, mask_label_list, image, sliderup, sliderup
|
59 |
-
|
60 |
|
61 |
|
62 |
def run_segmentation_wrapper(image):
|
@@ -65,7 +44,7 @@ def run_segmentation_wrapper(image):
|
|
65 |
segmentation = create_segmentation(mask_np_list)
|
66 |
print("!!", len(mask_np_list))
|
67 |
max_val = len(mask_np_list)-1
|
68 |
-
sliderup = gr.Slider(value = 0, minimum=0, maximum=max_val, step=1,
|
69 |
return image, segmentation, mask_np_list, mask_label_list, image, sliderup, sliderup , 'Segmentation finish. Select mask id and move to the next step.'
|
70 |
|
71 |
|
@@ -123,6 +102,8 @@ def slider_release(index, image, mask_np_list_updated, mask_label_list):
|
|
123 |
segmentation = create_segmentation(mask_np_list_updated)
|
124 |
new_image = transparent_paste_with_mask(image, segmentation, mask_np, transparency = TRANSPARENCY)
|
125 |
return new_image, mask_label
|
|
|
|
|
126 |
|
127 |
def save_as_orig_mask(mask_np_list_updated, mask_label_list, input_folder="example_tmp"):
|
128 |
print(mask_np_list_updated)
|
@@ -202,17 +183,14 @@ with gr.Blocks() as demo:
|
|
202 |
mask_np_list_updated = mask_np_list
|
203 |
with gr.Column():
|
204 |
gr.Markdown("""<p style="text-align: center; font-size: 20px">Edit Mask (Optional)</p>""")
|
205 |
-
slider = gr.Slider(0, 20, step=1, label = 'mask id',
|
206 |
label = gr.Text(label='label')
|
207 |
slider.release(slider_release,
|
208 |
inputs = [slider, image_loaded, mask_np_list_updated, mask_label_list],
|
209 |
outputs= [canvas, label]
|
210 |
)
|
211 |
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
|
217 |
with gr.Tab(label="2 Optimization"):
|
218 |
with gr.Row():
|
@@ -303,7 +281,7 @@ with gr.Blocks() as demo:
|
|
303 |
gr.Markdown("""<p style="text-align: center; font-size: 20px">Editing setting (SD)</p>""")
|
304 |
|
305 |
tgt_prompt = gr.Textbox(value="White bag", label="Editing: Text prompt", interactive= True )
|
306 |
-
slider2 = gr.Slider(0, 20, step=1, label = 'mask id',
|
307 |
#tgt_index = gr.Number(value="0", label="Editing: Object index", interactive= True )
|
308 |
guidance_scale = gr.Textbox(value="6", label="Editing: CFG guidance scale", interactive= True )
|
309 |
num_sampling_steps = gr.Number(value="50", label="Editing: Sampling steps", interactive= True )
|
|
|
36 |
segmentation = Image.fromarray(np.uint8(segmentation*255))
|
37 |
return segmentation
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
|
41 |
def run_segmentation_wrapper(image):
|
|
|
44 |
segmentation = create_segmentation(mask_np_list)
|
45 |
print("!!", len(mask_np_list))
|
46 |
max_val = len(mask_np_list)-1
|
47 |
+
sliderup = gr.Slider(value = 0, minimum=0, maximum=max_val, step=1, visible=True)
|
48 |
return image, segmentation, mask_np_list, mask_label_list, image, sliderup, sliderup , 'Segmentation finish. Select mask id and move to the next step.'
|
49 |
|
50 |
|
|
|
102 |
segmentation = create_segmentation(mask_np_list_updated)
|
103 |
new_image = transparent_paste_with_mask(image, segmentation, mask_np, transparency = TRANSPARENCY)
|
104 |
return new_image, mask_label
|
105 |
+
def image_change():
|
106 |
+
return gr.Slider(value = 0, minimum=0, maximum=1, step=1, visible=False)
|
107 |
|
108 |
def save_as_orig_mask(mask_np_list_updated, mask_label_list, input_folder="example_tmp"):
|
109 |
print(mask_np_list_updated)
|
|
|
183 |
mask_np_list_updated = mask_np_list
|
184 |
with gr.Column():
|
185 |
gr.Markdown("""<p style="text-align: center; font-size: 20px">Edit Mask (Optional)</p>""")
|
186 |
+
slider = gr.Slider(0, 20, step=1, label = 'mask id', visible=False)
|
187 |
label = gr.Text(label='label')
|
188 |
slider.release(slider_release,
|
189 |
inputs = [slider, image_loaded, mask_np_list_updated, mask_label_list],
|
190 |
outputs= [canvas, label]
|
191 |
)
|
192 |
|
193 |
+
canvas.upload(image_change, inputs=[], outputs=[slider])
|
|
|
|
|
|
|
194 |
|
195 |
with gr.Tab(label="2 Optimization"):
|
196 |
with gr.Row():
|
|
|
281 |
gr.Markdown("""<p style="text-align: center; font-size: 20px">Editing setting (SD)</p>""")
|
282 |
|
283 |
tgt_prompt = gr.Textbox(value="White bag", label="Editing: Text prompt", interactive= True )
|
284 |
+
slider2 = gr.Slider(0, 20, step=1, label = 'mask id', visible=False)
|
285 |
#tgt_index = gr.Number(value="0", label="Editing: Object index", interactive= True )
|
286 |
guidance_scale = gr.Textbox(value="6", label="Editing: CFG guidance scale", interactive= True )
|
287 |
num_sampling_steps = gr.Number(value="50", label="Editing: Sampling steps", interactive= True )
|