Rilevamento oggetti interattivo: Gradio e Ultralytics YOLO26 🚀
Introduzione al rilevamento oggetti interattivo
Questa interfaccia Gradio fornisce un modo semplice e interattivo per eseguire il rilevamento oggetti utilizzando il modello Ultralytics YOLO26. Gli utenti possono caricare immagini e regolare parametri come la soglia di confidenza e la soglia di IoU (Intersection-over-Union) per ottenere risultati di rilevamento in tempo reale.
Watch: Gradio Integration with Ultralytics YOLO26
Perché usare Gradio per il rilevamento oggetti?
- Interfaccia intuitiva: Gradio offre una piattaforma semplice per caricare immagini e visualizzare i risultati del rilevamento senza bisogno di programmare.
- 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 un ottimo strumento 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 i parametri:
- Soglia di confidenza: Cursore per impostare il livello di confidenza minimo per rilevare gli oggetti.
- Soglia IoU: Cursore per impostare la soglia IoU per distinguere diversi oggetti.
- Visualizza i risultati: Verrà visualizzata l'immagine elaborata con gli oggetti rilevati e le relative etichette.
Esempi di casi d'uso
- 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 l'interfaccia Gradio con il modello Ultralytics YOLO26. Il codice supporta attività di classificazione, rilevamento, segmentazione e keypoint.
import gradio as gr
import PIL.Image as 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 del 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. |
| Cursori | Per regolare le soglie di confidenza e IoU. |
| Output immagine | Per visualizzare i risultati del rilevamento. |
FAQ
Come posso utilizzare Gradio con Ultralytics YOLO26 per il rilevamento oggetti?
Per utilizzare Gradio con Ultralytics YOLO26 per il rilevamento oggetti, puoi seguire questi passaggi:
- Installa Gradio: Usa il comando
pip install gradio. - Crea 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 minimo 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()Quali sono i vantaggi dell'utilizzo di Gradio per il rilevamento oggetti con Ultralytics YOLO26?
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 vedere gli effetti immediatamente.
- Accessibilità: L'interfaccia web è accessibile a chiunque, rendendola utile per esperimenti rapidi, scopi educativi e dimostrazioni.
Per ulteriori dettagli, puoi leggere questo post sul blog sull'IA in radiologia che mostra tecniche di visualizzazione interattiva simili.
Posso usare Gradio e Ultralytics YOLO26 insieme per scopi educativi?
Sì, Gradio e Ultralytics YOLO26 possono essere utilizzati insieme in modo efficace per scopi educativi. L'interfaccia web intuitiva di Gradio rende facile per studenti e docenti 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 oggetti e nella visione artificiale, poiché Gradio fornisce un feedback visivo immediato che aiuta a comprendere l'impatto dei diversi parametri sulle prestazioni di rilevamento.
Come regolo le soglie di confidenza e IoU nell'interfaccia Gradio per YOLO26?
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 di confidenza minimo per rilevare gli 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 ulteriori informazioni su questi parametri, visita la sezione di spiegazione dei parametri.
Quali sono alcune applicazioni pratiche dell'utilizzo di Ultralytics YOLO26 con Gradio?
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: Utili in contesti accademici per insegnare i concetti di rilevamento oggetti e visione artificiale.
- Sviluppo di prototipi: Efficiente per sviluppare e testare rapidamente prototipi di applicazioni di rilevamento oggetti.
- Comunità e collaborazioni: Rende facile condividere modelli con la comunità per feedback e collaborazione.
Per esempi di casi d'uso simili, dai un'occhiata al blog di Ultralytics sul monitoraggio del comportamento animale che dimostra come la visualizzazione interattiva possa migliorare gli sforzi di conservazione della fauna selvatica.