ObjectDetection / app.py
lopesdri's picture
Update app.py
3e1b9a6
raw
history blame
998 Bytes
import torch
import cv2
import numpy as np
import gradio as gr
from PIL import Image
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)
model.conf = 0.25
model.iou = 0.45
model.agnostic = False
model.multi_label = False
model.max_det = 1000
def detect(img):
results = model(img, size=640)
predictions = results.pred[0]
boxes = predictions[:, :4] # x1, y1, x2, y2
scores = predictions[:, 4]
categories = predictions[:, 5]
new_image = np.squeeze(results.render())
scale_percent = 60 # percent of original size
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
# resize image
new_image = cv2.resize(new_image, dim, interpolation = cv2.INTER_AREA)
return new_image
img = gr.inputs.Image(shape=(192, 192))
intf = gr.Interface(fn=detect, inputs=img, outputs='image', output_width=192, output_height=192)
intf.launch(inline=False)