theft_detection / app.py
Kennethdotse
upp
d21529f
Raw
History Blame Contribute Delete
1.11 kB
import os
# Fix Ultralytics permission warning
os.environ["YOLO_CONFIG_DIR"] = "/tmp/Ultralytics"
import gradio as gr
from ultralytics import YOLO
import cv2
print("Loading YOLO model...")
model = YOLO("yolov8n.pt")
print("Model loaded!")
def detect(image):
if image is None:
return None
# Run YOLO inference
results = model(
image,
verbose=False
)
# Draw detections
annotated = results[0].plot()
# Convert BGR -> RGB
annotated = cv2.cvtColor(
annotated,
cv2.COLOR_BGR2RGB
)
return annotated
demo = gr.Interface(
fn=detect,
inputs=gr.Image(
sources=["webcam"],
type="numpy",
label="Mobile Camera"
),
outputs=gr.Image(
type="numpy",
label="AI Detection"
),
title="AI Shop Security Demo",
description="""
Real-time shop monitoring prototype.
Model:
- YOLOv8 Nano
Detects:
- People
- Bags
- Objects
Demo only: detections should be reviewed by humans.
"""
)
demo.launch(
server_name="0.0.0.0"
)