Vai al contenuto

Rilevamento interattivo degli oggetti: Gradio e Ultralytics YOLO11 🚀

Introduzione al rilevamento interattivo degli oggetti

Questa interfaccia Gradio fornisce un modo semplice e interattivo per eseguire il rilevamento degli oggetti utilizzando il modello Ultralytics YOLO11 modello. Gli utenti possono caricare immagini e regolare parametri come la soglia di confidenza e la soglia di intersezione-sovra-unione (IoU) per ottenere risultati di rilevamento in tempo reale.



Guarda: Integrazione di Gradio con Ultralytics YOLO11

Perché utilizzare Gradio per il rilevamento degli oggetti?

  • Interfaccia facile da usare: Gradio offre agli utenti una piattaforma semplice per caricare le immagini e visualizzare i risultati del rilevamento senza alcun requisito di codifica.
  • Regolazioni in tempo reale: Parametri come la fiducia e le soglie 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, il che la rende uno strumento eccellente per dimostrazioni, scopi educativi e rapidi esperimenti.

Schermata di esempio di Gradio

Come installare Gradio

pip install gradio

Come utilizzare l'interfaccia

  1. Carica immagine: Fare clic su "Carica immagine" per scegliere un file immagine per il rilevamento dell'oggetto.
  2. Regolare i parametri:
    • Soglia di confidenza: Cursore per impostare il livello minimo di fiducia per il rilevamento degli oggetti.
    • Soglia IoU: Cursore per impostare la soglia IoU per distinguere i diversi oggetti.
  3. Visualizza risultati: Viene visualizzata l'immagine elaborata con gli oggetti rilevati e le relative etichette.

Casi d'uso esemplificativi

  • Immagine di esempio 1: rilevamento del bus con soglie predefinite.
  • Immagine di esempio 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 YOLO11 . Supporta compiti di classificazione, rilevamento, segmentazione e punti chiave.

import gradio as gr
import PIL.Image as Image

from ultralytics import ASSETS, YOLO

model = YOLO("yolo11n.pt")


def predict_image(img, conf_threshold, iou_threshold):
    """Predicts objects in an image using a YOLO11 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 YOLO11n 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 degli oggetti.
conf_threshold float Soglia di fiducia per il rilevamento di oggetti.
iou_threshold float Soglia di intersezione per la separazione degli oggetti.

Componenti dell'interfaccia di Gradio

Componente Descrizione
Ingresso immagine Per caricare l'immagine per il rilevamento.
Cursori Per regolare le soglie di confidenza e di IoU.
Uscita immagine Per visualizzare i risultati del rilevamento.

FAQ

Come si usa Gradio con Ultralytics YOLO11 per il rilevamento degli oggetti?

Per utilizzare Gradio con Ultralytics YOLO11 per il rilevamento degli oggetti, è possibile seguire i seguenti passaggi:

  1. Installare Gradio: Utilizzare il comando pip install gradio.
  2. Creare l'interfaccia: Scrivere uno script Python per inizializzare l'interfaccia di Gradio. Per i dettagli si può fare riferimento all'esempio di codice fornito nella documentazione.
  3. Caricamento e regolazione: Caricare l'immagine e regolare le soglie di confidenza e IoU sull'interfaccia Gradio per ottenere risultati di rilevamento degli oggetti in tempo reale.

Ecco un frammento di codice minimo come riferimento:

import gradio as gr

from ultralytics import YOLO

model = YOLO("yolo11n.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 YOLO11",
    description="Upload images for YOLO11 object detection.",
)
iface.launch()

Quali sono i vantaggi dell'utilizzo di Gradio per il rilevamento di oggetti Ultralytics YOLO11 ?

L'uso di Gradio per il rilevamento degli oggetti di Ultralytics YOLO11 offre diversi vantaggi:

  • Interfaccia facile da usare: Gradio offre agli utenti un'interfaccia intuitiva per caricare le immagini e visualizzare i risultati del rilevamento senza alcuno sforzo di codifica.
  • Regolazioni in tempo reale: È possibile 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, il che la rende utile per esperimenti rapidi, scopi educativi e dimostrazioni.

Per maggiori dettagli, potete leggere questo post sul blog.

Posso utilizzare Gradio e Ultralytics YOLO11 insieme per scopi didattici?

Sì, Gradio e Ultralytics YOLO11 possono essere utilizzati insieme per scopi didattici in modo efficace. L'interfaccia web intuitiva di Gradio consente a studenti ed educatori di interagire facilmente con modelli di deep learning all'avanguardia come Ultralytics YOLO11 senza dover disporre di competenze avanzate di programmazione. Questa configurazione è ideale per dimostrare i concetti chiave del rilevamento degli oggetti e della visione artificiale, poiché Gradio fornisce un feedback visivo immediato che aiuta a comprendere l'impatto dei diversi parametri sulle prestazioni del rilevamento.

Come si regolano le soglie di confidenza e IoU nell'interfaccia di Gradio per YOLO11?

Nell'interfaccia di Gradio per YOLO11, è possibile regolare le soglie di confidenza e IoU utilizzando gli appositi cursori. Queste soglie aiutano a controllare l'accuratezza della previsione e la separazione degli oggetti:

  • Soglia di confidenza: Determina il livello minimo di confidenza per il rilevamento degli oggetti. Scorrere per aumentare o diminuire la fiducia richiesta.
  • Soglia IoU: Imposta la soglia di intersezione-sovra-unione per distinguere gli oggetti che si sovrappongono. Regolare questo valore per affinare la separazione degli oggetti.

Per ulteriori informazioni su questi parametri, visitate la sezione di spiegazione dei parametri.

Quali sono le applicazioni pratiche dell'uso di Ultralytics YOLO11 con Gradio?

Le applicazioni pratiche della combinazione di Ultralytics YOLO11 con Gradio includono:

  • Dimostrazioni di rilevamento degli oggetti in tempo reale: Ideale per mostrare il funzionamento del rilevamento degli oggetti in tempo reale.
  • Strumenti didattici: Utili in ambito accademico per insegnare i concetti di rilevamento degli oggetti e di visione artificiale.
  • Sviluppo di prototipi: Efficiente per sviluppare e testare rapidamente prototipi di applicazioni di rilevamento degli oggetti.
  • Comunità e collaborazioni: Semplificare la condivisione dei modelli con la comunità per ottenere feedback e collaborazione.

Per esempi di casi d'uso simili, consultate il blogUltralytics .

La fornitura di queste informazioni all'interno della documentazione contribuirà a migliorare l'usabilità e l'accessibilità di Ultralytics YOLO11 , rendendolo più accessibile agli utenti di tutti i livelli di competenza.

📅C reato 9 mesi fa ✏️ Aggiornato 1 mese fa

Commenti