Spaces:
Build error
Build error
Add segmented image
Browse files
app.py
CHANGED
|
@@ -29,15 +29,18 @@ with demo:
|
|
| 29 |
btn_next = gr.Button("Get Next Sample")
|
| 30 |
|
| 31 |
with gr.Column():
|
| 32 |
-
with gr.Row():
|
| 33 |
-
info = gr.Text(label="Sample Info")
|
| 34 |
with gr.Row():
|
| 35 |
img = gr.Image(label="Sample", type="numpy")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 36 |
|
| 37 |
btn_next.click(
|
| 38 |
fn=sample.explorateSamples,
|
| 39 |
inputs=[username,predictions,category,model,split,next_idx_sample],
|
| 40 |
-
outputs=[next_idx_sample, progress, img, info])
|
| 41 |
|
| 42 |
demo.queue(concurrency_count=10)
|
| 43 |
demo.launch(debug=False)
|
|
|
|
| 29 |
btn_next = gr.Button("Get Next Sample")
|
| 30 |
|
| 31 |
with gr.Column():
|
|
|
|
|
|
|
| 32 |
with gr.Row():
|
| 33 |
img = gr.Image(label="Sample", type="numpy")
|
| 34 |
+
with gr.Row():
|
| 35 |
+
with gr.Column():
|
| 36 |
+
info = gr.Text(label="Info")
|
| 37 |
+
with gr.Column():
|
| 38 |
+
img_seg = gr.Image(label="Segmentation", type="numpy")
|
| 39 |
|
| 40 |
btn_next.click(
|
| 41 |
fn=sample.explorateSamples,
|
| 42 |
inputs=[username,predictions,category,model,split,next_idx_sample],
|
| 43 |
+
outputs=[next_idx_sample, progress, img, info, img_seg])
|
| 44 |
|
| 45 |
demo.queue(concurrency_count=10)
|
| 46 |
demo.launch(debug=False)
|
utils.py
CHANGED
|
@@ -22,8 +22,8 @@ class SampleClass:
|
|
| 22 |
img = np.array(pill_img)
|
| 23 |
return img
|
| 24 |
|
| 25 |
-
def __loadPredictions(self, split, model):
|
| 26 |
|
|
|
|
| 27 |
assert(split in ['test','val'])
|
| 28 |
assert(model in ['baseline','extended'])
|
| 29 |
|
|
@@ -56,7 +56,6 @@ class SampleClass:
|
|
| 56 |
pos_tags = sample['pos_tags'].values[0]
|
| 57 |
plural_tks = sample['plural_tks'].values[0]
|
| 58 |
|
| 59 |
-
|
| 60 |
cat_intrinsic = sample['intrinsic'].values[0]
|
| 61 |
cat_spatial = sample['spatial'].values[0]
|
| 62 |
cat_ordinal = sample['ordinal'].values[0]
|
|
@@ -67,10 +66,6 @@ class SampleClass:
|
|
| 67 |
('ordinal',cat_ordinal),
|
| 68 |
('relational',cat_relational),
|
| 69 |
('plural',cat_plural)]
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
img_path = "saiapr_tc-12"+sample['file_path'].values[0].split("saiapr_tc-12")[1]
|
| 73 |
-
# print(img_path)
|
| 74 |
|
| 75 |
hit = sample['hit'].values[0]
|
| 76 |
hit_o = sample['hit_other'].values[0]
|
|
@@ -92,7 +87,11 @@ class SampleClass:
|
|
| 92 |
x1_pred_o,y1_pred_o,x2_pred_o,y2_pred_o = bp_o_bbox
|
| 93 |
# x1_pred_o,y1_pred_o,x2_pred_o,y2_pred_o = tuple(map(float,bp_o_bbox[1:-1].split(",")))
|
| 94 |
|
| 95 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
| 96 |
fig, ax = plt.subplots(1)
|
| 97 |
ax.imshow(self.__get(img_path), interpolation='bilinear')
|
| 98 |
|
|
@@ -128,7 +127,9 @@ class SampleClass:
|
|
| 128 |
data = np.frombuffer(fig.canvas.tostring_rgb(), dtype=np.uint8)
|
| 129 |
w, h = fig.canvas.get_width_height()
|
| 130 |
img = data.reshape((int(h), int(w), -1))
|
| 131 |
-
|
|
|
|
|
|
|
| 132 |
|
| 133 |
def explorateSamples(self,
|
| 134 |
username,
|
|
@@ -160,8 +161,8 @@ class SampleClass:
|
|
| 160 |
|
| 161 |
next_idx_sample = user_ids[username][ min(id_+1, len(user_ids[username])-1) ]
|
| 162 |
progress = {f"{id_}/{len(user_ids[username])-1}":id_/(len(user_ids[username])-1)}
|
| 163 |
-
info, img = self.__getSample(user_ids[username][id_])
|
| 164 |
info = "".join([str(k)+":\t"+str(v)+"\n" for k,v in list(info.items())[1:]]).strip()
|
| 165 |
|
| 166 |
-
return (gr.Number.update(value=next_idx_sample),progress,img,info)
|
| 167 |
|
|
|
|
| 22 |
img = np.array(pill_img)
|
| 23 |
return img
|
| 24 |
|
|
|
|
| 25 |
|
| 26 |
+
def __loadPredictions(self, split, model):
|
| 27 |
assert(split in ['test','val'])
|
| 28 |
assert(model in ['baseline','extended'])
|
| 29 |
|
|
|
|
| 56 |
pos_tags = sample['pos_tags'].values[0]
|
| 57 |
plural_tks = sample['plural_tks'].values[0]
|
| 58 |
|
|
|
|
| 59 |
cat_intrinsic = sample['intrinsic'].values[0]
|
| 60 |
cat_spatial = sample['spatial'].values[0]
|
| 61 |
cat_ordinal = sample['ordinal'].values[0]
|
|
|
|
| 66 |
('ordinal',cat_ordinal),
|
| 67 |
('relational',cat_relational),
|
| 68 |
('plural',cat_plural)]
|
|
|
|
|
|
|
|
|
|
|
|
|
| 69 |
|
| 70 |
hit = sample['hit'].values[0]
|
| 71 |
hit_o = sample['hit_other'].values[0]
|
|
|
|
| 87 |
x1_pred_o,y1_pred_o,x2_pred_o,y2_pred_o = bp_o_bbox
|
| 88 |
# x1_pred_o,y1_pred_o,x2_pred_o,y2_pred_o = tuple(map(float,bp_o_bbox[1:-1].split(",")))
|
| 89 |
|
| 90 |
+
# Create Fig with predictions
|
| 91 |
+
img_path = "saiapr_tc-12"+sample['file_path'].values[0].split("saiapr_tc-12")[1]
|
| 92 |
+
img_seg_path = img_path.replace("images","segmented_images")
|
| 93 |
+
|
| 94 |
+
|
| 95 |
fig, ax = plt.subplots(1)
|
| 96 |
ax.imshow(self.__get(img_path), interpolation='bilinear')
|
| 97 |
|
|
|
|
| 127 |
data = np.frombuffer(fig.canvas.tostring_rgb(), dtype=np.uint8)
|
| 128 |
w, h = fig.canvas.get_width_height()
|
| 129 |
img = data.reshape((int(h), int(w), -1))
|
| 130 |
+
|
| 131 |
+
|
| 132 |
+
return info, img, self.__get(img_seg_path)
|
| 133 |
|
| 134 |
def explorateSamples(self,
|
| 135 |
username,
|
|
|
|
| 161 |
|
| 162 |
next_idx_sample = user_ids[username][ min(id_+1, len(user_ids[username])-1) ]
|
| 163 |
progress = {f"{id_}/{len(user_ids[username])-1}":id_/(len(user_ids[username])-1)}
|
| 164 |
+
info, img, img_seg = self.__getSample(user_ids[username][id_])
|
| 165 |
info = "".join([str(k)+":\t"+str(v)+"\n" for k,v in list(info.items())[1:]]).strip()
|
| 166 |
|
| 167 |
+
return (gr.Number.update(value=next_idx_sample),progress,img,info,img_seg)
|
| 168 |
|