Spaces:
Runtime error
Runtime error
import torch | |
import cv2 | |
from ultralyticsplus import YOLO, render_result | |
# load model | |
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 | |
#from IPython.display import display, Javascript | |
#from google.colab.output import eval_js | |
#from base64 import b64decode | |
def take_photo(filename='photo.jpg', quality=0.8): | |
# program to capture single image from webcam in python | |
# importing OpenCV library | |
from cv2 import imshow | |
from cv2 import imwrite | |
# initialize the camera | |
# If you have multiple camera connected with | |
# current device, assign a value in cam_port | |
# variable according to that | |
cam_port = 0 | |
cam = cv2.VideoCapture(cam_port) | |
# reading the input using the camera | |
result, filename = cam.read() | |
# If image will detected without any error, | |
# show result | |
if result: | |
# showing result, it take frame name and image | |
# output | |
imshow("photo.jpg", filename) | |
# saving image in local storage | |
imwrite("photo.jpg", filename) | |
# If keyboard interrupt occurs, destroy image | |
# window | |
cv2.waitKey(0) | |
cv2.destroyAllWindows() | |
# cv2.destroyWindow("photo.jpg") | |
# If captured image is corrupted, moving to else part | |
else: | |
print("No image detected. Please! try again") | |
#with open(filename, 'wb') as f: | |
# f.write(binary) | |
return filename | |
#take_photo() | |
#from ultralyticsplus import YOLO, render_result | |
def safety_helmet(): | |
# perform inference | |
#results = model.predict(image_path) | |
results = model.predict(filename) | |
# self.assertEqual(array.shape, (1, 224, 224, 3)) | |
# observe results | |
print(results[0].boxes) | |
render = render_result(model=model, image=filename, result=results[0]) | |
render.show() | |
import gradio as gr | |
demo = gr.Interface(fn=safety_helmet, inputs=take_photo(), outputs=safety_helmet(), description="Safety Helmet Detection") | |
demo.launch(share=True) |