Rilevamento oggetti interattivo: Gradio e Ultralytics YOLO26 🚀#
Introduzione al rilevamento oggetti interattivo#
Questa interfaccia Gradio offre un modo semplice e interattivo per eseguire il rilevamento di oggetti utilizzando il modello Ultralytics YOLO26. Puoi caricare immagini e regolare parametri come la soglia di confidenza e la soglia IoU per ottenere risultati di rilevamento in tempo reale.
Watch: Deploy Ultralytics YOLO26 in a Browser with Gradio | Complete Tutorial | Vision AI 🌐
Perché usare Gradio per il rilevamento oggetti?#
- Interfaccia intuitiva: Gradio offre una piattaforma semplice per consentire agli utenti di caricare immagini e visualizzare i risultati del rilevamento senza alcuna necessità di programmazione.
- Regolazioni in tempo reale: Parametri come le soglie di confidenza e IoU possono essere regolati al volo, consentendo un feedback immediato e l'ottimizzazione dei risultati di rilevamento.
- Ampia accessibilità: L'interfaccia web di Gradio è accessibile a chiunque, rendendola uno strumento eccellente per dimostrazioni, scopi educativi ed esperimenti rapidi.
Come installare Gradio#
pip install gradioCome utilizzare l'interfaccia#
- Carica immagine: Fai clic su 'Upload Image' per scegliere un file immagine per il rilevamento oggetti.
- Regola parametri:
- Soglia di confidenza: Slider per impostare il livello di confidenza minimo per il rilevamento degli oggetti.
- Soglia IoU: Slider per impostare la soglia IoU per distinguere diversi oggetti.
- Visualizza risultati: Verrà visualizzata l'immagine elaborata con gli oggetti rilevati e le relative etichette.
Casi d'uso di esempio#
- Immagine campione 1: Rilevamento di autobus con soglie predefinite.
- Immagine campione 2: Rilevamento su un'immagine sportiva con soglie predefinite.
Esempio di utilizzo#
Questa sezione fornisce il codice Python utilizzato per creare un'interfaccia Gradio per il rilevamento oggetti con Ultralytics YOLO26. L'esempio può essere adattato per classificazione, segmentazione di istanze, posa e altre attività YOLO caricando il relativo checkpoint del modello.
import gradio as gr
from PIL import Image
from ultralytics import ASSETS, YOLO
model = YOLO("yolo26n.pt")
def predict_image(img, conf_threshold, iou_threshold):
"""Predicts objects in an image using a YOLO26 model with adjustable confidence and IoU thresholds."""
results = model.predict(
source=img,
conf=conf_threshold,
iou=iou_threshold,
show_labels=True,
show_conf=True,
imgsz=640,
)
for r in results:
im_array = r.plot()
im = Image.fromarray(im_array[..., ::-1])
return im
iface = gr.Interface(
fn=predict_image,
inputs=[
gr.Image(type="pil", label="Upload Image"),
gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"),
gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"),
],
outputs=gr.Image(type="pil", label="Result"),
title="Ultralytics Gradio",
description="Upload images for inference. The Ultralytics YOLO26n model is used by default.",
examples=[
[ASSETS / "bus.jpg", 0.25, 0.45],
[ASSETS / "zidane.jpg", 0.25, 0.45],
],
)
if __name__ == "__main__":
iface.launch()Spiegazione dei parametri#
| Nome parametro | Tipo | Descrizione |
|---|---|---|
img | Image | L'immagine su cui verrà eseguito il rilevamento oggetti. |
conf_threshold | float | Soglia di confidenza per il rilevamento degli oggetti. |
iou_threshold | float | Soglia di intersection-over-union per la separazione degli oggetti. |
Componenti dell'interfaccia Gradio#
| Componente | Descrizione |
|---|---|
| Input immagine | Per caricare l'immagine per il rilevamento. |
| Slider | Per regolare le soglie di confidenza e IoU. |
| Output immagine | Per visualizzare i risultati del rilevamento. |
FAQ#
Per utilizzare Gradio con Ultralytics YOLO26 per il rilevamento oggetti, puoi seguire questi passaggi:
- Installa Gradio: Usa il comando
pip install gradio. - Crea l'interfaccia: Scrivi uno script Python per inizializzare l'interfaccia Gradio. Puoi fare riferimento all'esempio di codice fornito nella documentazione per i dettagli.
- Carica e regola: Carica la tua immagine e regola le soglie di confidenza e IoU sull'interfaccia Gradio per ottenere risultati di rilevamento oggetti in tempo reale.
Ecco un frammento di codice minimale come riferimento:
import gradio as gr from ultralytics import YOLO model = YOLO("yolo26n.pt") def predict_image(img, conf_threshold, iou_threshold): results = model.predict( source=img, conf=conf_threshold, iou=iou_threshold, show_labels=True, show_conf=True, ) return results[0].plot() if results else None iface = gr.Interface( fn=predict_image, inputs=[ gr.Image(type="pil", label="Upload Image"), gr.Slider(minimum=0, maximum=1, value=0.25, label="Confidence threshold"), gr.Slider(minimum=0, maximum=1, value=0.45, label="IoU threshold"), ], outputs=gr.Image(type="pil", label="Result"), title="Ultralytics Gradio YOLO26", description="Upload images for YOLO26 object detection.", ) iface.launch()- Installa Gradio: Usa il comando
L'utilizzo di Gradio per il rilevamento oggetti con Ultralytics YOLO26 offre diversi vantaggi:
- Interfaccia intuitiva: Gradio fornisce un'interfaccia intuitiva per consentire agli utenti di caricare immagini e visualizzare i risultati del rilevamento senza alcuno sforzo di programmazione.
- Regolazioni in tempo reale: Puoi regolare dinamicamente i parametri di rilevamento come le soglie di confidenza e IoU e vederne immediatamente gli effetti.
- Accessibilità: L'interfaccia web è accessibile a chiunque, rendendola utile per esperimenti rapidi, scopi educativi e dimostrazioni.
Per ulteriori dettagli, puoi leggere questo post del blog sull'IA in radiologia che mostra tecniche di visualizzazione interattiva simili.
Sì, Gradio e Ultralytics YOLO26 possono essere utilizzati insieme in modo efficace a scopo didattico. L'intuitiva interfaccia web di Gradio rende facile per studenti ed educatori interagire con modelli di deep learning all'avanguardia come Ultralytics YOLO26 senza bisogno di competenze di programmazione avanzate. Questa configurazione è ideale per dimostrare concetti chiave nel rilevamento di oggetti e nella computer vision, poiché Gradio fornisce un riscontro visivo immediato che aiuta a comprendere l'impatto dei diversi parametri sulle prestazioni di rilevamento.
Nell'interfaccia Gradio per YOLO26, puoi regolare le soglie di confidenza e IoU utilizzando i cursori forniti. Queste soglie aiutano a controllare l'accuratezza delle previsioni e la separazione degli oggetti:
- Soglia di confidenza: Determina il livello minimo di confidenza per il rilevamento degli oggetti. Scorri per aumentare o diminuire la confidenza richiesta.
- Soglia IoU: Imposta la soglia di intersection-over-union per distinguere tra oggetti sovrapposti. Regola questo valore per affinare la separazione degli oggetti.
Per maggiori informazioni su questi parametri, visita la sezione di spiegazione dei parametri.
Le applicazioni pratiche della combinazione di Ultralytics YOLO26 con Gradio includono:
- Dimostrazioni di rilevamento oggetti in tempo reale: Ideale per mostrare come funziona il rilevamento oggetti in tempo reale.
- Strumenti educativi: Utile in contesti accademici per insegnare i concetti di rilevamento oggetti e computer vision.
- Sviluppo di prototipi: Efficiente per sviluppare e testare rapidamente prototipi di applicazioni di rilevamento oggetti.
- Community e collaborazioni: Rende facile condividere modelli con la community per feedback e collaborazione.
Per esempi di casi d'uso simili, dai un'occhiata al blog di Ultralytics sul monitoraggio del comportamento animale che mostra come la visualizzazione interattiva possa migliorare gli sforzi di conservazione della fauna selvatica.