20065320rp's picture
Update app.py
74cdc62
import gradio as gr
import numpy as np
from ultralyticsplus import YOLO, render_result
import cv2
from PIL import Image
from cv2 import imshow
from cv2 import imwrite
#image=[gr.Image(label="Input Image", source="webcam")
def PPE(image):
# load model
#model = YOLO('keremberke/yolov8m-protective-equipment-detection')
model = YOLO('keremberke/yolov8m-hard-hat-detection')
# set model parameters
model.overrides['conf'] = 0.25 # NMS confidence threshold
model.overrides['iou'] = 0.45 # NMS IoU threshold
model.overrides['agnostic_nms'] = False # NMS class-agnostic
model.overrides['max_det'] = 1000 # maximum number of detections per image
# perform inference
results = model.predict(image)
# observe results
print(results[0].boxes)
render = render_result(model=model, image=image, result=results[0])
render.show()
return render
#demo = gr.Interface(
# PPE,
# gr.Image(source="webcam", streaming=True),
# "image",
# live=True
#)
#demo.launch()
#def snap(image):
# return np.flipud(image)
#iface = gr.Interface(PPE, gr.inputs.Image(source="webcam", tool=None), "image")
#iface.launch()
#demo = gr.Interface(
# fn=PPE,
# inputs=gr.inputs.Image(source="webcam", tool=None),
# outputs="image",
#)
#demo.launch()
demo = gr.Interface(
fn=PPE,
inputs="image",
outputs="image",
)
demo.launch()