Spaces:
Sleeping
Sleeping
import gradio as gr | |
from huggingface_hub import hf_hub_download | |
from ultralytics import YOLO | |
import cv2 | |
# Download and load the model | |
repo_id = "truthdotphd/vessel-detection" | |
model_path = hf_hub_download(repo_id=repo_id, filename="model.pt") | |
model = YOLO(model_path) | |
def detect_vessels(image, conf_threshold, iou_threshold): | |
# Run inference with custom thresholds | |
results = model(image, conf=conf_threshold, iou=iou_threshold) | |
# Plot results | |
annotated_image = results[0].plot() | |
return cv2.cvtColor(annotated_image, cv2.COLOR_BGR2RGB) | |
# Create Gradio interface | |
demo = gr.Interface( | |
fn=detect_vessels, | |
inputs=[ | |
gr.Image(type="numpy"), | |
gr.Slider(minimum=0.1, maximum=1.0, value=0.25, step=0.05, label="Confidence Threshold"), | |
gr.Slider(minimum=0.1, maximum=1.0, value=0.7, step=0.05, label="IoU Threshold") | |
], | |
outputs=gr.Image(), | |
title="Maritime Vessel Detection", | |
description="Upload an image to detect vessels. Adjust confidence and IoU thresholds to filter detections.", | |
examples=[["vessels.jpg", 0.25, 0.7]], | |
theme=gr.themes.Soft() | |
) | |
# Launch the app | |
demo.launch() |