Spaces:
Runtime error
Runtime error
add masked items option
Browse files
app.py
CHANGED
@@ -5,13 +5,18 @@ from model import SegmentationTool
|
|
5 |
seg_tool = SegmentationTool()
|
6 |
|
7 |
|
8 |
-
def segment(input_img):
|
9 |
-
mask_image, transparent_mask_image, image, items, room =
|
|
|
10 |
return mask_image
|
11 |
|
12 |
|
13 |
demo = gr.Interface(fn=segment,
|
14 |
-
inputs=
|
|
|
|
|
|
|
|
|
15 |
outputs=['image'],
|
16 |
allow_flagging='never')
|
17 |
if __name__ == "__main__":
|
|
|
5 |
seg_tool = SegmentationTool()
|
6 |
|
7 |
|
8 |
+
def segment(input_img, masked_items):
|
9 |
+
mask_image, transparent_mask_image, image, items, room = (
|
10 |
+
seg_tool.get_mask(image=input_img, masked_items=masked_items))
|
11 |
return mask_image
|
12 |
|
13 |
|
14 |
demo = gr.Interface(fn=segment,
|
15 |
+
inputs=[
|
16 |
+
gr.Image(type='pil'),
|
17 |
+
gr.CheckboxGroup([("Door", 14), ("Window", 8)],
|
18 |
+
value=[8, 14],
|
19 |
+
label="Masked Items")],
|
20 |
outputs=['image'],
|
21 |
allow_flagging='never')
|
22 |
if __name__ == "__main__":
|
model.py
CHANGED
@@ -68,7 +68,7 @@ class SegmentationTool:
|
|
68 |
|
69 |
return mask_image
|
70 |
|
71 |
-
def get_mask(self, image_path=None, image=None):
|
72 |
if image_path:
|
73 |
image = Image.open(image_path)
|
74 |
else:
|
@@ -76,13 +76,15 @@ class SegmentationTool:
|
|
76 |
raise ValueError("no image provided")
|
77 |
|
78 |
# display(image)
|
|
|
79 |
prediction = self._predict(image)
|
80 |
|
81 |
label_ids = np.unique(prediction)
|
82 |
|
83 |
# mask_items = [0, 3, 5, 8, 14]
|
84 |
-
mask_items = [8] # windowpane
|
85 |
-
|
|
|
86 |
if 73 in label_ids or 50 in label_ids or 61 in label_ids:
|
87 |
# mask_items = [0, 3, 5, 8, 14, 50, 61, 71, 73, 118, 124, 129]
|
88 |
room = 'kitchen'
|
|
|
68 |
|
69 |
return mask_image
|
70 |
|
71 |
+
def get_mask(self, image_path=None, image=None, masked_items=None):
|
72 |
if image_path:
|
73 |
image = Image.open(image_path)
|
74 |
else:
|
|
|
76 |
raise ValueError("no image provided")
|
77 |
|
78 |
# display(image)
|
79 |
+
# print(image)
|
80 |
prediction = self._predict(image)
|
81 |
|
82 |
label_ids = np.unique(prediction)
|
83 |
|
84 |
# mask_items = [0, 3, 5, 8, 14]
|
85 |
+
# mask_items = [8] # windowpane
|
86 |
+
if masked_items is None:
|
87 |
+
masked_items = []
|
88 |
if 73 in label_ids or 50 in label_ids or 61 in label_ids:
|
89 |
# mask_items = [0, 3, 5, 8, 14, 50, 61, 71, 73, 118, 124, 129]
|
90 |
room = 'kitchen'
|