nickmuchi commited on
Commit
4405a21
1 Parent(s): eb5b6ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +12 -6
app.py CHANGED
@@ -52,6 +52,12 @@ def visualize_prediction(pil_img, output_dict, threshold=0.5, id2label=None):
52
  ax.text(xmin, ymin, f"{label}: {score:0.2f}", fontsize=15, bbox=dict(facecolor="yellow", alpha=0.5))
53
  plt.axis("off")
54
  return fig2img(plt.gcf())
 
 
 
 
 
 
55
 
56
  def detect_objects(model_name,url_input,image_input,webcam_input,threshold):
57
 
@@ -60,14 +66,14 @@ def detect_objects(model_name,url_input,image_input,webcam_input,threshold):
60
 
61
  model = YolosForObjectDetection.from_pretrained(model_name)
62
 
 
63
  if validators.url(url_input):
64
- image = Image.open(requests.get(url_input, stream=True).raw)
65
  #Make prediction
66
  processed_outputs = make_prediction(image, feature_extractor, model)
67
  #Visualize prediction
68
  viz_img = visualize_prediction(image, processed_outputs, threshold, model.config.id2label)
69
-
70
- return viz_img, image
71
 
72
  elif image_input:
73
  image = image_input
@@ -81,7 +87,7 @@ def detect_objects(model_name,url_input,image_input,webcam_input,threshold):
81
  #Visualize prediction
82
  viz_img = visualize_prediction(image, processed_outputs, threshold, model.config.id2label)
83
 
84
- return viz_img, None
85
 
86
  def set_example_image(example: list) -> dict:
87
  return gr.Image.update(value=example[0])
@@ -136,7 +142,7 @@ with demo:
136
  img_output_from_url = gr.Image(shape=(750,750))
137
 
138
  with gr.Row():
139
- example_url = gr.Dataset(components=[url_input],samples=[[str(url)] for url in urls])
140
 
141
  url_but = gr.Button('Detect')
142
 
@@ -163,7 +169,7 @@ with demo:
163
  img_but.click(detect_objects,inputs=[options,url_input,img_input,web_input,slider_input],outputs=[img_output_from_upload,original_image],queue=True)
164
  cam_but.click(detect_objects,inputs=[options,url_input,img_input,web_input,slider_input],outputs=[img_output_from_webcam,original_image],queue=True)
165
  example_images.click(fn=set_example_image,inputs=[example_images],outputs=[img_input])
166
- example_url.click(fn=set_example_url,inputs=[example_url],outputs=[url_input])
167
 
168
 
169
  gr.Markdown("![visitor badge](https://visitor-badge.glitch.me/badge?page_id=nickmuchi-face-mask-detections-with-yolos)")
 
52
  ax.text(xmin, ymin, f"{label}: {score:0.2f}", fontsize=15, bbox=dict(facecolor="yellow", alpha=0.5))
53
  plt.axis("off")
54
  return fig2img(plt.gcf())
55
+
56
+ def get_original_image(url_input):
57
+ if validators.url(url_input):
58
+ image = Image.open(requests.get(url_input, stream=True).raw)
59
+
60
+ return image
61
 
62
  def detect_objects(model_name,url_input,image_input,webcam_input,threshold):
63
 
 
66
 
67
  model = YolosForObjectDetection.from_pretrained(model_name)
68
 
69
+
70
  if validators.url(url_input):
71
+ image = get_original_image(url_input)
72
  #Make prediction
73
  processed_outputs = make_prediction(image, feature_extractor, model)
74
  #Visualize prediction
75
  viz_img = visualize_prediction(image, processed_outputs, threshold, model.config.id2label)
76
+
 
77
 
78
  elif image_input:
79
  image = image_input
 
87
  #Visualize prediction
88
  viz_img = visualize_prediction(image, processed_outputs, threshold, model.config.id2label)
89
 
90
+ return viz_img
91
 
92
  def set_example_image(example: list) -> dict:
93
  return gr.Image.update(value=example[0])
 
142
  img_output_from_url = gr.Image(shape=(750,750))
143
 
144
  with gr.Row():
145
+ example_url = gr.Dataset(components=[url_input,original_image],samples=[[str(url)] for url in urls],[])
146
 
147
  url_but = gr.Button('Detect')
148
 
 
169
  img_but.click(detect_objects,inputs=[options,url_input,img_input,web_input,slider_input],outputs=[img_output_from_upload,original_image],queue=True)
170
  cam_but.click(detect_objects,inputs=[options,url_input,img_input,web_input,slider_input],outputs=[img_output_from_webcam,original_image],queue=True)
171
  example_images.click(fn=set_example_image,inputs=[example_images],outputs=[img_input])
172
+ example_url.click(fn=[set_example_url,get_original_image],inputs=[example_url,example_url],outputs=[url_input,original_image])
173
 
174
 
175
  gr.Markdown("![visitor badge](https://visitor-badge.glitch.me/badge?page_id=nickmuchi-face-mask-detections-with-yolos)")