Controllo verde
Link copiato negli appunti

Come effettuare il benchmark dei modelliYOLO di Ultralytics come YOLO11

Scopri come eseguire il benchmark di Ultralytics YOLO11, confrontare le prestazioni tra i vari dispositivi ed esplorare i diversi formati di esportazione per ottimizzare velocità, precisione ed efficienza.

Con il crescente numero di modelli di IA oggi disponibili, selezionare quello più adatto alla tua specifica applicazione di IA è essenziale per ottenere risultati accurati e affidabili. Ogni modello varia in termini di velocità, precisione e prestazioni complessive. Quindi, come possiamo determinare quale sia il modello più adatto per un determinato compito? Questo aspetto è particolarmente importante per i sistemi in tempo reale come i veicoli autonomi, le soluzioni di sicurezza e la robotica, dove è fondamentale prendere decisioni rapide e affidabili.

Il benchmarking aiuta a rispondere a questa domanda valutando un modello in diverse condizioni. Fornisce informazioni sulle prestazioni del modello in diverse configurazioni e configurazioni hardware, consentendo di prendere decisioni più informate.

Ad esempio, Ultralytics YOLO11 è un modello di computer vision che supporta diverse attività di analisi dei dati visivi come il rilevamento degli oggetti e la segmentazione delle istanze. Per comprendere appieno le sue capacità, puoi fare un benchmark delle sue prestazioni su diverse configurazioni per vedere come gestirà gli scenari del mondo reale.

In questo articolo scopriremo come effettuare il benchmark dei modelliYOLO diUltralytics come YOLO11, confrontando le loro prestazioni su vari hardware e vedendo come i diversi formati di esportazione influiscono sulla loro velocità ed efficienza. Iniziamo!

Che cos'è il benchmarking dei modelli?

Quando si tratta di utilizzare un modello di Vision AI in un'applicazione reale, come si fa a capire se sarà sufficientemente veloce, preciso e affidabile? Il benchmarking del modello può fornire informazioni utili per rispondere a questa domanda. Il benchmarking dei modelli è un processo che consiste nel testare e confrontare diversi modelli di intelligenza artificiale per vedere quale si comporta meglio. 

Si tratta di stabilire una linea di base per il confronto, scegliere le giuste misure di performance (come l'accuratezza o la velocità) e testare tutti i modelli nelle stesse condizioni. I risultati aiutano a identificare i punti di forza e di debolezza di ciascun modello, rendendo più facile decidere quale sia il più adatto per la tua specifica soluzione di intelligenza artificiale. In particolare, un set di dati di riferimento viene spesso utilizzato per fornire confronti equi e valutare le prestazioni di un modello in diversi scenari del mondo reale.

Figura 1. Perché fare benchmark dei modelli di computer vision? Immagine dell'autore.

Un chiaro esempio del perché il benchmarking è fondamentale nelle applicazioni in tempo reale come la sorveglianza o la robotica, dove anche lievi ritardi possono avere un impatto sul processo decisionale. Il benchmarking aiuta a valutare se un modello è in grado di elaborare le immagini in modo rapido e allo stesso tempo di fornire previsioni affidabili. 

Inoltre, svolge un ruolo fondamentale nell'identificare i colli di bottiglia delle prestazioni. Se un modello funziona lentamente o utilizza risorse eccessive, il benchmarking può rivelare se il problema deriva da limitazioni hardware, configurazioni del modello o formati di esportazione. Queste informazioni sono fondamentali per selezionare la configurazione più efficace.

Il benchmarking dei modelli rispetto alla valutazione e al test dei modelli

Il benchmarking, la valutazione e il test dei modelli sono termini popolari di AI che vengono utilizzati insieme. Pur essendo simili, non sono la stessa cosa e hanno funzioni diverse. Il test del modello verifica le prestazioni di un singolo modello eseguendolo su un set di dati di prova e misurando fattori come l'accuratezza e la velocità. La valutazione del modello, invece, fa un passo avanti analizzando i risultati per capire i punti di forza e di debolezza del modello e il suo funzionamento in situazioni reali. Entrambi si concentrano su un solo modello alla volta.

Il benchmarking dei modelli, invece, mette a confronto più modelli uno accanto all'altro utilizzando gli stessi test e set di dati. Aiuta a scoprire quale modello funziona meglio per un compito specifico, evidenziando le differenze in termini di accuratezza, velocità ed efficienza. Mentre i test e le valutazioni si concentrano su un singolo modello, il benchmarking aiuta a scegliere quello giusto (o il migliore) confrontando in modo equo le diverse opzioni.

Figura 2. Come il benchmarking dei modelli è diverso dalla valutazione e dal test. Immagine dell'autore.

Una panoramica di Ultralytics YOLO11

Ultralytics YOLO11 è un modello AI di visione affidabile, progettato per eseguire in modo accurato diversi compiti di computer vision. Migliora le versioni precedenti del modello YOLO ed è ricco di funzioni che possono aiutare a risolvere i problemi del mondo reale. Ad esempio, può essere utilizzato per rilevare oggetti, classificare immagini, segmentare regioni, tracciare movimenti e altro ancora. Inoltre, può essere utilizzato in molti settori, dalla sicurezza all'automazione e all'analisi.

Figura 3. Un esempio di utilizzo di YOLO11 per segmentare le persone in un'immagine.

Uno dei vantaggi principali di Ultralytics YOLO11 è la sua facilità di utilizzo. Con poche righe di codice, chiunque può integrarlo nei propri progetti di intelligenza artificiale senza dover affrontare configurazioni complicate o competenze tecniche avanzate. 

Inoltre, funziona senza problemi su hardware diversi, funzionando in modo efficiente su CPU (Central Processing Unit), GPU (Graphics Processing Unit) e altri acceleratori AI specializzati. Sia che venga distribuito su dispositivi edge che su server cloud, offre prestazioni elevate. 

YOLO11 è disponibile in vari modelli, ognuno ottimizzato per compiti diversi. Il benchmarking aiuta a determinare la versione più adatta alle tue esigenze specifiche. Ad esempio, un aspetto fondamentale che il benchmarking può rivelare è che i modelli più piccoli, come il nano o il piccolo, tendono a funzionare più velocemente, ma possono rinunciare a una certa precisione.

Come confrontare i modelli YOLO come YOLO11

Ora che abbiamo capito cos'è il benchmarking e la sua importanza. Vediamo come è possibile effettuare un benchmark dei modelli YOLO come YOLO11 e valutare la loro efficienza per raccogliere informazioni preziose.

Per iniziare, puoi installare il pacchettoUltralytics Python eseguendo il seguente comando nel tuo terminale o prompt dei comandi: "pip install ultralytics". Se dovessi riscontrare dei problemi durante l'installazione, consulta la nostra Guida ai problemi comuni per trovare dei suggerimenti per la risoluzione dei problemi.

Una volta installato il pacchetto, puoi facilmente eseguire il benchmark di YOLO11 con poche righe di codice Python :

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Quando esegui il codice mostrato sopra, calcola la velocità con cui il modello elabora le immagini, il numero di fotogrammi che può gestire in un secondo e la precisione con cui rileva gli oggetti. 

La menzione di "coco8.yaml" nel codice si riferisce a un file di configurazione del set di dati basato sul set di dati COCO8 (Common Objects in Context), una versione campione di dimensioni ridotte del set di dati COCO completo, spesso utilizzata per test e sperimentazioni.

Se stai testando YOLO11 per un'applicazione specifica, come il monitoraggio del traffico o l'imaging medico, l'utilizzo di un set di dati pertinente (ad esempio, un set di dati sul traffico o un set di dati medici) fornirà indicazioni più precise. Il benchmarking con COCO fornisce un'idea generale delle prestazioni, ma per ottenere risultati migliori puoi scegliere un set di dati che rifletta il tuo caso d'uso effettivo.

Comprendere i risultati del benchmarking di YOLO11

Una volta eseguito il benchmark di YOLO11 , il passo successivo è l'interpretazione dei risultati. Dopo aver eseguito il benchmark, vedrai diversi numeri nei risultati. Queste metriche aiutano a valutare le prestazioni di YOLO11 in termini di precisione e velocità. 

Ecco alcune importanti metriche di benchmarking di YOLO11 a cui prestare attenzione:

  • mAP50-95: misura l'accuratezza del riconoscimento degli oggetti. Un valore più alto significa che il modello è migliore nel riconoscimento degli oggetti.
  • accuracy_top5: è comunemente utilizzato per le attività di classificazione. Mostra la frequenza con cui l'etichetta corretta compare tra le prime cinque previsioni.
  • Tempo di inferenza: Il tempo necessario per elaborare una singola immagine, misurato in millisecondi. Valori più bassi significano un'elaborazione più veloce.
Figura 4. Un grafico che mostra le prestazioni del benchmark di YOLO11.

Altri fattori da prendere in considerazione per l'analisi comparativa di YOLO11 

I risultati dei benchmark raccontano solo una parte della storia. Per capire meglio le prestazioni, è utile confrontare diverse impostazioni e opzioni hardware. Ecco alcuni aspetti importanti da tenere in considerazione:

  • GPU vs. CPU: Le GPU possono elaborare le immagini molto più velocemente delle CPU. I benchmark ti aiutano a capire se una CPU è abbastanza veloce per le tue esigenze o se puoi trarre vantaggio dall'uso di una GPU.
  • Impostazioni di precisione (FP32, FP16, INT8): Controllano il modo in cui il modello gestisce i numeri. Una precisione inferiore (come FP16 o INT8) rende il modello più veloce e utilizza meno memoria, ma potrebbe ridurre leggermente la precisione.
  • Formati di esportazione: La conversione del modello in un formato come TensorRT può renderlo molto più veloce su determinati hardware. Questo è utile se stai ottimizzando la velocità su dispositivi specifici.

Come eseguire il benchmark di YOLO11 su diversi hardware

Il pacchetto Ultralytics Python ti permette di convertire i modelli YOLO11 in diversi formati che funzionano in modo più efficiente su hardware specifici, migliorando sia la velocità che l'utilizzo della memoria. Ogni formato di esportazione è ottimizzato per diversi dispositivi. 

Da un lato, il formatoONNX può accelerare le prestazioni in diversi ambienti. Dall'altro lato, OpenVINO migliora l'efficienza sull'hardware Intel e formati come CoreML o TF SavedModel sono ideali per i dispositivi Apple e le applicazioni mobili. 

Vediamo come eseguire il benchmark di YOLO11 in un formato specifico. Il codice che segue esegue il benchmark di YOLO11 nel formato ONNX , ampiamente utilizzato per l'esecuzione di modelli di intelligenza artificiale sia su CPU che su GPU.

from ultralytics.utils.benchmarks import benchmark  

# Benchmark a specific export format (e.g., ONNX)  
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, format="onnx")  

Al di là dei risultati dei benchmark, la scelta del formato giusto dipende dalle specifiche del tuo sistema e dalle esigenze di implementazione. Ad esempio, le auto a guida autonoma hanno bisogno di un rilevamento rapido degli oggetti. Se intendi utilizzare le GPU NVIDIA per accelerare le prestazioni, il formato TensorRT è la scelta ideale per eseguire YOLO11 su unaGPU NVIDIA .

Figura 5. Utilizzo di YOLO11 per il rilevamento di oggetti nelle auto a guida autonoma.

Punti di forza

Il pacchetto Ultralytics Python semplifica il benchmarking di YOLO11 fornendo semplici comandi che possono gestire i test delle prestazioni per te. Con pochi passaggi, puoi vedere come le diverse configurazioni influenzano la velocità e l'accuratezza dei modelli, aiutandoti a fare scelte consapevoli senza dover avere una profonda esperienza tecnica.

Anche l'hardware e le impostazioni giuste possono fare una grande differenza. La regolazione di parametri come la dimensione del modello e il set di dati ti permette di mettere a punto YOLO11 per ottenere le migliori prestazioni, sia che tu lo stia eseguendo su una GPU di fascia alta o localmente su un dispositivo edge.

Entra in contatto con la nostra comunità ed esplora i progetti di IA all'avanguardia sul nostro repository GitHub. Scopri l'impatto dell'IA nell'agricoltura e il ruolo della computer vision nella produzione attraverso le nostre pagine dedicate alle soluzioni. Esplora i nostri piani di licenza e inizia subito il tuo viaggio nell'IA!

Logo di LinkedInLogo di TwitterLogo di FacebookSimbolo di copia-link

Leggi tutto in questa categoria

Costruiamo insieme il futuro
di AI!

Inizia il tuo viaggio nel futuro dell'apprendimento automatico