Come effettuare il benchmark dei modelli YOLO di Ultralytics come YOLO11

Abirami Vina

5 minuti di lettura

28 aprile 2025

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

Con il crescente numero di modelli di IA oggi disponibili, la scelta di quello più adatto per la vostra 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 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à, è possibile eseguire un benchmark delle sue prestazioni su diverse configurazioni per vedere come gestirà gli scenari del mondo reale.

In questo articolo, analizzeremo come effettuare il benchmark dei modelli YOLO di Ultralytics 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 Vision AI in un'applicazione reale, come si fa a capire se sarà sufficientemente veloce, preciso e affidabile? Il benchmarking del modello può fornire indicazioni per rispondere a questa domanda. Il benchmarking del modello è il processo di test e confronto di diversi modelli di IA per vedere quale si comporta meglio. 

Si tratta di stabilire una linea di base per il confronto, scegliere le giuste misure di performance (come la precisione 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 vostra specifica soluzione di IA. 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 sia fondamentale è rappresentato dalle 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 rapidamente le immagini pur fornendo previsioni affidabili. 

Inoltre, svolge un ruolo fondamentale nell'identificare i colli di bottiglia delle prestazioni. Se un modello viene eseguito 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 IA 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, va oltre, 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 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 precisione, 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 equamente 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 visione artificiale. 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. Può essere utilizzato anche in applicazioni di 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à d'uso. 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 (unità di elaborazione centrale), GPU (unità di elaborazione grafica) e altri acceleratori AI specializzati. Sia che venga distribuito su dispositivi edge che su server cloud, offre prestazioni elevate. 

YOLO11 è disponibile in vari modelli, ciascuno ottimizzato per compiti diversi. Il benchmarking aiuta a determinare la versione più adatta alle vostre 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 eseguire il benchmark dei modelli YOLO come YOLO11

Ora che abbiamo capito cos'è il benchmarking e la sua importanza. Vediamo come è possibile effettuare il benchmarking di modelli YOLO come YOLO11 e valutarne l'efficienza per raccogliere informazioni preziose.

Per iniziare, potete installare il pacchetto Ultralytics Python eseguendo il seguente comando nel vostro terminale o prompt dei comandi: "pip install ultralytics". Se si verificano problemi durante l'installazione, consultare la nostra Guida ai problemi comuni per i suggerimenti sulla risoluzione dei problemi.

Una volta installato il pacchetto, è possibile eseguire facilmente 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 si esegue il codice mostrato sopra, si 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 si sta 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 è possibile scegliere un set di dati che rifletta il caso d'uso effettivo.

Comprendere i risultati del benchmarking YOLO11

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

Ecco alcune metriche di benchmarking degne di nota di YOLO11:

  • mAP50-95: misura l'accuratezza del rilevamento degli oggetti. Un valore più alto significa che il modello è in grado di riconoscere meglio gli oggetti.
  • accuracy_top5: è comunemente usato per compiti di classificazione. Mostra la frequenza con cui l'etichetta corretta compare nelle prime cinque previsioni.
  • Tempo di inferenza: Il tempo necessario per elaborare una singola immagine, misurato in millisecondi. Valori più bassi significano un'elaborazione più rapida.
Figura 4. Un grafico che mostra le prestazioni del benchmark di YOLO11.

Altri fattori da considerare nel confronto con YOLO11 

L'esame dei soli risultati dei benchmark racconta solo una parte della storia. Per comprendere meglio le prestazioni, è utile confrontare diverse impostazioni e opzioni hardware. Ecco alcuni elementi importanti da tenere in considerazione:

  • GPU vs. CPU: Le GPU possono elaborare le immagini molto più velocemente delle CPU. I benchmark aiutano a capire se la CPU è sufficientemente veloce per le proprie esigenze o se si può 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 si sta ottimizzando la velocità su dispositivi specifici.

Come eseguire il benchmark di YOLO11 su hardware diversi

Il pacchetto Ultralytics Python consente 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 formato ONNX può accelerare le prestazioni in vari ambienti. D'altro canto, 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 sottostante 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 sistema e dalle esigenze di implementazione. Ad esempio, le auto a guida autonoma necessitano di un rilevamento rapido degli oggetti. Se si prevede di utilizzare le GPU NVIDIA per accelerare le prestazioni, il formato TensorRT è la scelta ideale per eseguire YOLO11 su una GPU 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 voi. Con pochi passaggi, è possibile vedere come le diverse configurazioni influenzano la velocità e l'accuratezza dei modelli, aiutandovi a fare scelte informate senza bisogno di profonde competenze tecniche.

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 consente di mettere a punto YOLO11 per ottenere le migliori prestazioni, sia che lo si esegua su una GPU di fascia alta o localmente su un dispositivo edge.

Connettetevi con la nostra comunità ed esplorate i progetti di IA all'avanguardia sul nostro repository GitHub. Scoprite l'impatto dell'IA in agricoltura e il ruolo della computer vision nella produzione attraverso le nostre pagine dedicate alle soluzioni. Esplorate i nostri piani di licenza e iniziate subito il vostro viaggio nell'IA!

Costruiamo insieme il futuro
dell'IA!

Iniziate il vostro viaggio nel futuro dell'apprendimento automatico

Iniziare gratuitamente
Link copiato negli appunti