Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -4,8 +4,17 @@ from transformers import pipeline, DetrForObjectDetection, DetrConfig, DetrImage
|
|
| 4 |
import numpy as np
|
| 5 |
import cv2
|
| 6 |
from PIL import Image
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
def model_is_panoptic(model_name):
|
| 8 |
return "panoptic" in model_name
|
|
|
|
| 9 |
def load_model(model_name, threshold):
|
| 10 |
config = DetrConfig.from_pretrained(model_name, threshold=threshold)
|
| 11 |
model = DetrForObjectDetection.from_pretrained(model_name, config=config)
|
|
@@ -13,6 +22,7 @@ def load_model(model_name, threshold):
|
|
| 13 |
return pipeline(task='object-detection', model=model, image_processor=image_processor)
|
| 14 |
# Initial model with default threshold
|
| 15 |
od_pipe = load_model("facebook/detr-resnet-101", 0.25)
|
|
|
|
| 16 |
def draw_detections(image, detections, model_name):
|
| 17 |
np_image = np.array(image)
|
| 18 |
np_image = cv2.cvtColor(np_image, cv2.COLOR_RGB2BGR)
|
|
@@ -38,6 +48,7 @@ def draw_detections(image, detections, model_name):
|
|
| 38 |
final_image = cv2.cvtColor(np_image, cv2.COLOR_BGR2RGB)
|
| 39 |
final_pil_image = Image.fromarray(final_image)
|
| 40 |
return final_pil_image
|
|
|
|
| 41 |
def get_pipeline_prediction(model_name, threshold, pil_image):
|
| 42 |
global od_pipe
|
| 43 |
od_pipe = load_model(model_name, threshold)
|
|
@@ -66,4 +77,5 @@ with gr.Blocks() as demo:
|
|
| 66 |
with gr.Tab("Description"):
|
| 67 |
description_output = gr.Textbox()
|
| 68 |
run_button.click(get_pipeline_prediction, inputs=[model_dropdown, threshold_slider, inp_image], outputs=[output_image, output_data, description_output])
|
|
|
|
| 69 |
demo.launch()
|
|
|
|
| 4 |
import numpy as np
|
| 5 |
import cv2
|
| 6 |
from PIL import Image
|
| 7 |
+
import warnings
|
| 8 |
+
import logging
|
| 9 |
+
# To suppress all warnings entries
|
| 10 |
+
warnings.filterwarnings('ignore')
|
| 11 |
+
|
| 12 |
+
# To ignore specific loggings from the Transformers library
|
| 13 |
+
logging.getLogger("transformers").setLevel(logging.ERROR)
|
| 14 |
+
|
| 15 |
def model_is_panoptic(model_name):
|
| 16 |
return "panoptic" in model_name
|
| 17 |
+
|
| 18 |
def load_model(model_name, threshold):
|
| 19 |
config = DetrConfig.from_pretrained(model_name, threshold=threshold)
|
| 20 |
model = DetrForObjectDetection.from_pretrained(model_name, config=config)
|
|
|
|
| 22 |
return pipeline(task='object-detection', model=model, image_processor=image_processor)
|
| 23 |
# Initial model with default threshold
|
| 24 |
od_pipe = load_model("facebook/detr-resnet-101", 0.25)
|
| 25 |
+
|
| 26 |
def draw_detections(image, detections, model_name):
|
| 27 |
np_image = np.array(image)
|
| 28 |
np_image = cv2.cvtColor(np_image, cv2.COLOR_RGB2BGR)
|
|
|
|
| 48 |
final_image = cv2.cvtColor(np_image, cv2.COLOR_BGR2RGB)
|
| 49 |
final_pil_image = Image.fromarray(final_image)
|
| 50 |
return final_pil_image
|
| 51 |
+
|
| 52 |
def get_pipeline_prediction(model_name, threshold, pil_image):
|
| 53 |
global od_pipe
|
| 54 |
od_pipe = load_model(model_name, threshold)
|
|
|
|
| 77 |
with gr.Tab("Description"):
|
| 78 |
description_output = gr.Textbox()
|
| 79 |
run_button.click(get_pipeline_prediction, inputs=[model_dropdown, threshold_slider, inp_image], outputs=[output_image, output_data, description_output])
|
| 80 |
+
|
| 81 |
demo.launch()
|