import gradio as gr
# load libraries
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
import supervision as sv
from PIL import Image

# download model
model_path = hf_hub_download(
    repo_id="arnabdhar/YOLOv8-Face-Detection", filename="model.pt"
)

# load model
model = YOLO(model_path)

import cv2
import numpy as np
import gradio as gr

def sepia(input_img):
    output = model(input_img)
    results = sv.Detections.from_ultralytics(output[0])

    bounding_box_annotator = sv.BoundingBoxAnnotator()
    annotated_frame = bounding_box_annotator.annotate(
        scene = input_img.copy(),
        detections = results
    )

    return annotated_frame

demo = gr.Interface(sepia, gr.Image(), "image")
if __name__ == "__main__":
    demo.launch()