Skip to content

Rilevamento interattivo di oggetti: Gradio e Ultralytics YOLO11 🚀

Introduzione all'Object Detection interattivo

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



Guarda: Integrazione di Gradio con Ultralytics YOLO11

Perché usare Gradio per il rilevamento di oggetti?

  • Interfaccia intuitiva: Gradio offre una piattaforma semplice per consentire agli utenti di caricare immagini e visualizzare i risultati del rilevamento senza dover scrivere codice.
  • 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.

Screenshot di esempio di Gradio

Come installare Gradio

pip install gradio

Come utilizzare l'interfaccia

  1. Carica immagine: Clicca su 'Carica immagine' per scegliere un file immagine per l'object detection.
  2. Regola i parametri:
    • Soglia di confidenza: Cursore per impostare il livello minimo di confidenza per il rilevamento degli oggetti.
    • Soglia IoU: Cursore per impostare la soglia IoU per distinguere diversi oggetti.
  3. Visualizza i risultati: Verrà visualizzata l'immagine elaborata con gli oggetti rilevati e le relative etichette.

Esempi di casi d'uso

  • Immagine di esempio 1: Rilevamento di autobus 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. Il codice supporta attività di classificazione, attività di rilevamento, attività di segmentazione e attività di 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 Parametro Tipo Descrizione
img Image L'immagine su cui verrà eseguito il rilevamento degli 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

Come posso usare Gradio con Ultralytics YOLO11 per il rilevamento di oggetti?

Per utilizzare Gradio con Ultralytics YOLO11 per il rilevamento di oggetti, puoi seguire questi passaggi:

  1. Installa Gradio: Utilizza il comando pip install gradio.
  2. Crea Interfaccia: Scrivi uno script python per inizializzare l'interfaccia Gradio. Puoi fare riferimento all'esempio di codice fornito nella documentazione per i dettagli.
  3. Carica e regola: Carica la tua immagine e regola le soglie di confidenza e IoU sull'interfaccia Gradio per ottenere risultati di object detection in tempo reale.

Ecco un frammento di codice minimo per 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'utilizzo di Gradio per il rilevamento di oggetti Ultralytics YOLO11 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 codifica.
  • Regolazioni in tempo reale: È possibile regolare dinamicamente i parametri di rilevamento come le soglie di confidenza e IoU e vedere immediatamente gli effetti.
  • Accessibilità: L'interfaccia web è accessibile a chiunque, rendendola utile per esperimenti rapidi, scopi didattici e dimostrazioni.

Per maggiori dettagli, è possibile leggere questo articolo del blog sull'IA in radiologia che illustra tecniche di visualizzazione interattiva simili.

Posso utilizzare Gradio e Ultralytics YOLO11 insieme per scopi didattici?

Sì, Gradio e Ultralytics YOLO11 possono essere utilizzati insieme efficacemente per scopi didattici. L'interfaccia web intuitiva di Gradio rende facile per studenti ed educatori interagire con modelli di deep learning all'avanguardia come Ultralytics YOLO11 senza bisogno di competenze avanzate di programmazione. Questa configurazione è ideale per dimostrare concetti chiave nel rilevamento di oggetti e nella computer vision, poiché Gradio fornisce un feedback visivo immediato che aiuta a comprendere l'impatto dei diversi parametri sulle prestazioni di rilevamento.

Come posso regolare le soglie di confidenza e IoU nell'interfaccia Gradio per YOLO11?

Nell'interfaccia Gradio per YOLO11, puoi regolare le soglie di confidenza e IoU utilizzando i cursori forniti. 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. 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.

Quali sono alcune applicazioni pratiche dell'utilizzo di Ultralytics YOLO11 con Gradio?

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

  • Dimostrazioni di rilevamento di oggetti in tempo reale: Ideale per mostrare come funziona il rilevamento di oggetti in tempo reale.
  • Strumenti didattici: Utili in contesti accademici per insegnare il rilevamento di oggetti e i concetti di computer vision.
  • Sviluppo di prototipi: Efficiente per sviluppare e testare rapidamente applicazioni prototipo di rilevamento oggetti.
  • Community e Collaborazioni: Semplificare la condivisione di modelli con la community per feedback e collaborazione.

Per esempi di casi d'uso simili, consulta il blog di Ultralytics sul monitoraggio del comportamento animale, che dimostra come la visualizzazione interattiva possa migliorare gli sforzi di conservazione della fauna selvatica.



📅 Creato 1 anno fa ✏️ Aggiornato 5 mesi fa

Commenti