Spaces:
Runtime error
Runtime error
Commit
·
ed4a7a1
1
Parent(s):
c2f6332
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,23 +1,45 @@
|
|
| 1 |
from transformers import DetrFeatureExtractor, DetrForObjectDetection
|
| 2 |
-
from PIL import Image
|
| 3 |
import requests
|
| 4 |
import gradio as gr
|
| 5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
def object_classify(img):
|
| 7 |
feature_extractor = DetrFeatureExtractor.from_pretrained('facebook/detr-resnet-50')
|
| 8 |
model = DetrForObjectDetection.from_pretrained('facebook/detr-resnet-50')
|
| 9 |
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
logits = outputs.logits
|
| 14 |
-
bboxes = outputs.pred_boxes
|
| 15 |
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
interface=gr.Interface(fn=object_classify,
|
| 21 |
-
inputs=gr.inputs.Image(shape=(224,224),label='Insert Image'),
|
| 22 |
examples = [],description='??',allow_flagging="never")
|
| 23 |
interface.launch()
|
|
|
|
| 1 |
from transformers import DetrFeatureExtractor, DetrForObjectDetection
|
| 2 |
+
from PIL import Image, ImageDraw, ImageFont
|
| 3 |
import requests
|
| 4 |
import gradio as gr
|
| 5 |
|
| 6 |
+
# Draw bounding box definition
|
| 7 |
+
def draw_bounding_box(im, score, label, xmin, ymin, xmax, ymax, index, num_boxes):
|
| 8 |
+
""" Draw a bounding box. """
|
| 9 |
+
# Draw the actual bounding box
|
| 10 |
+
outline = 'blue'
|
| 11 |
+
im_with_rectangle = ImageDraw.Draw(im)
|
| 12 |
+
im_with_rectangle.rounded_rectangle((xmin, ymin, xmax, ymax), outline = outline, width = 3, radius = 10)
|
| 13 |
+
|
| 14 |
+
# Return the result
|
| 15 |
+
return im
|
| 16 |
+
|
| 17 |
def object_classify(img):
|
| 18 |
feature_extractor = DetrFeatureExtractor.from_pretrained('facebook/detr-resnet-50')
|
| 19 |
model = DetrForObjectDetection.from_pretrained('facebook/detr-resnet-50')
|
| 20 |
|
| 21 |
+
object_detector = pipeline("object-detection", model = model, feature_extractor = feature_extractor)
|
| 22 |
+
bboxes = object_detector(img)
|
| 23 |
+
|
|
|
|
|
|
|
| 24 |
|
| 25 |
+
# Iteration elements
|
| 26 |
+
num_boxes = len(bounding_boxes)
|
| 27 |
+
index = 0
|
| 28 |
+
|
| 29 |
+
# Draw bounding box for each result
|
| 30 |
+
for bounding_box in bounding_boxes:
|
| 31 |
+
box = bounding_box['box']
|
| 32 |
+
#Draw the bounding box
|
| 33 |
+
output_image = draw_bounding_box(img, bounding_box['score'],
|
| 34 |
+
bounding_box['label'],
|
| 35 |
+
box['xmin'], box['ymin'],
|
| 36 |
+
box['xmax'], box['ymax'],
|
| 37 |
+
index, num_boxes)
|
| 38 |
+
index += 1
|
| 39 |
+
return output_image
|
| 40 |
+
|
| 41 |
|
| 42 |
interface=gr.Interface(fn=object_classify,
|
| 43 |
+
inputs=gr.inputs.Image(shape=(224,224),label='Insert Image'),outputs = gr.outputs.Image(),
|
| 44 |
examples = [],description='??',allow_flagging="never")
|
| 45 |
interface.launch()
|