Come eseguire il benchmarking dei modelli Ultralytics YOLO come YOLO11
Scopri come eseguire il benchmarking di Ultralytics YOLO11, confrontare le prestazioni tra dispositivi ed esplorare diversi formati di esportazione per ottimizzare velocità, accuratezza ed efficienza.

Con il numero crescente di modelli di intelligenza artificiale disponibili oggi, selezionare quello più adatto alla tua specifica applicazione di intelligenza artificiale è essenziale per ottenere risultati accurati e affidabili. Ogni modello varia in termini di velocità, accuratezza e prestazioni complessive. Quindi, come possiamo determinare quale modello sia più adatto a una determinata attività? Questo è particolarmente importante per i sistemi in tempo reale, come veicoli autonomi, soluzioni di sicurezza e robotica, dove è fondamentale prendere decisioni rapide e affidabili.
Il benchmarking aiuta a rispondere a questa domanda valutando un modello in condizioni diverse. Fornisce informazioni sulle prestazioni del modello con varie configurazioni e componenti hardware, consentendo di prendere decisioni più consapevoli.
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 comprenderne appieno le capacità, puoi eseguire il benchmark delle sue prestazioni con configurazioni diverse e verificare come gestirà gli scenari del mondo reale.
In questo articolo vedremo come eseguire il benchmark dei modelli Ultralytics YOLO come YOLO11, confrontarne le prestazioni su diversi componenti hardware e capire in che modo i vari formati di esportazione influiscono su velocità ed efficienza. Iniziamo!
Che cos'è il benchmarking dei modelli?#
Quando utilizzi un modello di intelligenza artificiale per la visione in un'applicazione reale, come puoi sapere se sarà abbastanza veloce, accurato e affidabile? Il benchmarking del modello può fornire informazioni utili per rispondere a questa domanda. Il benchmarking dei modelli è il processo di test e confronto di diversi modelli di intelligenza artificiale per capire quale offre le prestazioni migliori.
Consiste nello stabilire una base di riferimento per il confronto, scegliere le misure delle prestazioni appropriate (come accuratezza o velocità) e testare tutti i modelli nelle stesse condizioni. I risultati aiutano a individuare i punti di forza e di debolezza di ciascun modello, semplificando la scelta di quello più adatto alla tua specifica soluzione di intelligenza artificiale. In particolare, spesso si utilizza un dataset di benchmark per effettuare confronti equi e valutare le prestazioni di un modello in diversi scenari del mondo reale.

Fig. 1. Perché eseguire il benchmark dei modelli di computer vision? Immagine dell'autore.
Un esempio evidente dell'importanza del benchmarking riguarda le applicazioni in tempo reale, come la videosorveglianza o la robotica, dove anche piccoli ritardi possono influire sul processo decisionale. Il benchmarking aiuta a valutare se un modello è in grado di elaborare rapidamente le immagini continuando a fornire previsioni affidabili.
Svolge inoltre un ruolo fondamentale nell'individuazione dei colli di bottiglia delle prestazioni. Se un modello è lento 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 essenziali per scegliere la configurazione più efficace.
Benchmarking dei modelli a confronto con valutazione e test dei modelli#
Benchmarking, valutazione e test dei modelli sono termini comuni nell'intelligenza artificiale che vengono spesso utilizzati insieme. Sebbene siano simili, non sono la stessa cosa e hanno funzioni diverse. Il test del modello verifica le prestazioni di un singolo modello eseguendolo su un dataset di test e misurando fattori come accuratezza e velocità. La valutazione del modello, invece, fa un passo ulteriore analizzando i risultati per comprendere 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, confronta più modelli fianco a fianco utilizzando gli stessi test e dataset. Aiuta a scoprire quale modello funziona meglio per un'attività specifica, evidenziando le differenze di accuratezza, velocità ed efficienza. Mentre test e valutazione si concentrano su un singolo modello, il benchmarking aiuta a scegliere quello giusto (o il migliore) confrontando equamente diverse opzioni.

Fig. 2. Differenze tra benchmarking, valutazione e test dei modelli. Immagine dell'autore.
Panoramica di Ultralytics YOLO11#
Ultralytics YOLO11 è un affidabile modello di intelligenza artificiale per la visione, progettato per eseguire con accuratezza diverse attività di computer vision. Migliora le versioni precedenti dei modelli YOLO ed è dotato di funzionalità che possono aiutare a risolvere problemi del mondo reale. Ad esempio, può essere utilizzato per rilevare oggetti, classificare immagini, segmentare regioni, tracciare movimenti e molto altro. Può inoltre essere impiegato in applicazioni di numerosi settori, dalla sicurezza all'automazione e all'analisi dei dati.

Fig. 3. Un esempio dell'utilizzo di Ultralytics YOLO11 per segmentare le persone in un'immagine.
Uno dei principali vantaggi di Ultralytics YOLO11 è la sua facilità d'uso. Con poche righe di codice, chiunque può integrarlo nei propri progetti di intelligenza artificiale senza dover gestire configurazioni complesse o possedere competenze tecniche avanzate.
Funziona inoltre senza problemi su componenti hardware diversi, operando in modo efficiente su CPUs (unità di elaborazione centrale), GPUs (unità di elaborazione grafica) e altri acceleratori di intelligenza artificiale specializzati. Che venga implementato su dispositivi edge o server cloud, offre prestazioni elevate.
Ultralytics YOLO11 è disponibile in diverse dimensioni del modello, ciascuna ottimizzata per attività differenti. Il benchmarking aiuta a determinare quale versione sia più adatta alle tue esigenze specifiche. Ad esempio, una delle informazioni che il benchmarking può rivelare è che i modelli più piccoli, come nano o small, tendono a essere più veloci, ma possono sacrificare parte dell'accuratezza.
Come eseguire il benchmark dei modelli YOLO come Ultralytics YOLO11#
Ora che abbiamo compreso che cos'è il benchmarking e perché è importante, vediamo come puoi eseguire il benchmark dei modelli YOLO come Ultralytics YOLO11 e valutarne l'efficienza per ottenere informazioni utili.
Per iniziare, puoi installare il pacchetto Python Ultralytics eseguendo il seguente comando nel terminale o nel prompt dei comandi: “pip install ultralytics”. Se riscontri problemi durante l'installazione, consulta la nostra Guida ai problemi comuni per suggerimenti sulla risoluzione dei problemi.
Una volta installato il pacchetto, puoi facilmente eseguire il benchmark di Ultralytics 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 l'accuratezza con cui rileva gli oggetti.
La menzione di “coco8.yaml” nel codice si riferisce a un file di configurazione del dataset basato sul dataset COCO8 (oggetti comuni nel contesto), una versione ridotta e di esempio del dataset COCO completo, spesso utilizzata per test e sperimentazione.
Se stai testando Ultralytics YOLO11 per un'applicazione specifica, come il monitoraggio del traffico o l'imaging medicale, l'utilizzo di un dataset pertinente (ad esempio, un dataset sul traffico o un dataset medico) fornirà informazioni più accurate. Il benchmarking con COCO offre un'idea generale delle prestazioni, ma per ottenere i risultati migliori puoi scegliere un dataset che rifletta il tuo caso d'uso effettivo.
Interpretazione degli output del benchmarking di Ultralytics YOLO11#
Dopo aver eseguito il benchmark di Ultralytics YOLO11, il passaggio successivo consiste nell'interpretare i risultati. Al termine del benchmark, nei risultati vedrai diversi valori. Queste metriche aiutano a valutare le prestazioni di YOLO11 in termini di accuratezza e velocità.
Ecco alcune metriche importanti del benchmarking di Ultralytics YOLO11 a cui prestare attenzione:
- mAP50-95: misura l'accuratezza del rilevamento degli oggetti. Un valore più alto indica che il modello riconosce meglio gli oggetti.
- accuracy_top5: viene comunemente utilizzata per le attività di classificazione. Indica 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 indicano un'elaborazione più veloce.

Fig. 4. Grafico delle prestazioni del benchmark di YOLO11.
Altri fattori da considerare durante il benchmarking di Ultralytics YOLO11#
Considerare solo i risultati del benchmark racconta una parte della storia. Per comprendere meglio le prestazioni, è utile confrontare impostazioni e opzioni hardware diverse. Ecco alcuni aspetti importanti da esaminare:
- GPU vs. CPU: le GPU possono elaborare le immagini molto più velocemente delle CPU. Il benchmarking ti aiuta a capire se una CPU è abbastanza veloce per le tue esigenze o se trarrai vantaggio dall'utilizzo 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) consente al modello di funzionare più velocemente e utilizzare meno memoria, ma può ridurre leggermente l'accuratezza.
- I formati di esportazione: convertire il modello in un formato come TensorRT può renderlo molto più veloce su determinati componenti hardware. È utile se stai ottimizzando la velocità su dispositivi specifici.
Come eseguire il benchmark di Ultralytics YOLO11 su componenti hardware diversi#
Il pacchetto Python Ultralytics consente di convertire i modelli YOLO11 in formati diversi, che funzionano in modo più efficiente su componenti hardware specifici, migliorando sia la velocità sia l'utilizzo della memoria. Ogni formato di esportazione è ottimizzato per dispositivi diversi.
Da un lato, il formato ONNX può aumentare le prestazioni in diversi ambienti. Dall'altro, OpenVINO migliora l'efficienza sull'hardware Intel, mentre formati come CoreML o TF SavedModel sono ideali per i dispositivi Apple e le applicazioni mobili.
Vediamo come puoi eseguire il benchmark di Ultralytics YOLO11 in un formato specifico. Il codice seguente esegue il benchmark di YOLO11 nel formato ONNX, ampiamente utilizzato per eseguire modelli di intelligenza artificiale sia su CPU sia 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")Oltre ai risultati del benchmark, la scelta del formato appropriato dipende dalle specifiche del tuo sistema e dai requisiti di implementazione. Ad esempio, le auto a guida autonoma necessitano di un rilevamento rapido degli oggetti. Se prevedi di utilizzare GPU NVIDIA per accelerare le prestazioni, il formato TensorRT è la scelta ideale per eseguire Ultralytics YOLO11 su una GPU NVIDIA.

Fig. 5. Utilizzo di YOLO11 per il rilevamento degli oggetti nelle auto a guida autonoma.
Punti chiave#
Il pacchetto Python Ultralytics semplifica il benchmarking di YOLO11 fornendo comandi semplici in grado di gestire i test delle prestazioni al posto tuo. Con pochi passaggi puoi vedere in che modo le diverse configurazioni influiscono sulla velocità e sull'accuratezza dei modelli, aiutandoti a prendere decisioni consapevoli senza dover possedere competenze tecniche approfondite.
Anche l'hardware e le impostazioni appropriati possono fare una grande differenza. Regolando parametri come la dimensione del modello e il dataset, puoi ottimizzare Ultralytics YOLO11 per ottenere le migliori prestazioni, sia che lo esegua su una GPU di fascia alta sia localmente su un dispositivo edge.
Connettiti con la nostra community ed esplora progetti di intelligenza artificiale all'avanguardia nel nostro repository GitHub. Scopri l'impatto dell'intelligenza artificiale nell'agricoltura e il ruolo della computer vision nella produzione industriale attraverso le nostre pagine dedicate alle soluzioni. Esplora i nostri piani di licenza e inizia subito il tuo percorso nell'intelligenza artificiale!









