Spaces:
Sleeping
Sleeping
import gradio as gr | |
import cv2 | |
import torch | |
import numpy as np | |
# Load the YOLOv5 model | |
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True) | |
# Function to run inference on an image | |
def run_inference(image): | |
# Convert the image from PIL format to a format compatible with OpenCV | |
image = np.array(image) | |
# Run YOLOv5 inference | |
results = model(image) | |
# Convert the annotated image from BGR to RGB for display | |
annotated_image = results.render()[0] | |
annotated_image = cv2.cvtColor(annotated_image, cv2.COLOR_BGR2RGB) | |
return annotated_image | |
# Create the Gradio interface | |
interface = gr.Interface( | |
fn=run_inference, | |
inputs=gr.Image(type="pil"), | |
outputs=gr.Image(type="pil"), | |
title="YOLOv5 Object Detection", | |
description="Upload an image to run YOLOv5 object detection and see the results." | |
) | |
# Launch the app | |
interface.launch() | |