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

Con il numero crescente di modelli AI disponibili oggi, selezionare quello più adatto alla tua specifica applicazione AI è essenziale per ottenere risultati accurati e affidabili. Ogni modello varia in velocità, precisione e prestazioni complessive. Quindi, come possiamo determinare quale modello è più adatto a un dato compito? Questo è particolarmente importante per i sistemi in tempo reale come i veicoli autonomi, le soluzioni di sicurezza e la robotica, dove un processo decisionale rapido e affidabile è fondamentale.
Il benchmarking aiuta a rispondere a questa domanda valutando un modello in diverse condizioni. Fornisce approfondimenti su quanto bene il modello esegue su varie configurazioni hardware e impostazioni, consentendo un processo decisionale più informato.
Ad esempio, Ultralytics YOLO11 è un modello di computer vision che supporta vari compiti di analisi dei dati visivi come il rilevamento di oggetti e la segmentazione di istanze. Per comprendere appieno le sue capacità, puoi testare le sue prestazioni su diverse configurazioni per vedere come gestirà scenari del mondo reale.
In questo articolo, esploreremo come eseguire il benchmark dei modelli Ultralytics YOLO come YOLO11, confronteremo le loro prestazioni su vari hardware e vedremo come diversi formati di esportazione influiscono sulla loro velocità ed efficienza. Iniziamo!
Link to this sectionCos'è il benchmarking dei modelli?#
Quando si tratta di utilizzare un modello di visione AI in un'applicazione del mondo reale, come puoi sapere se sarà abbastanza veloce, accurato e affidabile? Il benchmarking del modello può fornire spunti per rispondere a questa domanda. Il benchmarking dei modelli è il processo di test e confronto di diversi modelli AI per vedere quale offre le prestazioni migliori.
Implica l'impostazione di una base di riferimento per il confronto, la scelta delle giuste misure di prestazione (come precisione o velocità) e il test di 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 AI. In particolare, un dataset di benchmark viene spesso utilizzato per fornire confronti equi e valutare quanto bene un modello si comporta in diversi scenari del mondo reale.

Fig 1. Perché eseguire il benchmark dei modelli di computer vision? Immagine dell'autore.
Un chiaro esempio del perché il benchmarking è vitale si trova nelle applicazioni in tempo reale come la sorveglianza o la robotica, dove anche lievi ritardi possono influire sul processo decisionale. Il benchmarking aiuta a valutare se un modello può elaborare le immagini rapidamente pur continuando a fornire previsioni affidabili.
Svolge anche un ruolo chiave 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. Questi approfondimenti sono cruciali per selezionare la configurazione più efficace.
Link to this sectionConfronto tra benchmarking, valutazione e test dei modelli#
Il benchmarking, la valutazione e il test dei modelli sono termini popolari nell'IA che vengono usati insieme. Sebbene simili, non sono la stessa cosa e hanno funzioni diverse. Il test del modello controlla quanto bene un singolo modello si comporta eseguendolo su un dataset di test e misurando fattori come precisione e velocità. Nel frattempo, la valutazione del modello fa un passo avanti analizzando i risultati per comprendere i punti di forza, i punti deboli del modello e quanto bene funziona in situazioni del mondo reale. 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 compito specifico evidenziando le differenze di precisione, velocità ed efficienza tra loro. Mentre il test e la valutazione si concentrano su un singolo modello, il benchmarking aiuta a scegliere quello giusto (o il migliore) confrontando equamente le diverse opzioni.

Fig 2. In che modo il benchmarking dei modelli è diverso dalla valutazione e dal test. Immagine dell'autore.
Link to this sectionUna panoramica di Ultralytics YOLO11#
Ultralytics YOLO11 è un modello di visione AI affidabile progettato per eseguire vari compiti di computer vision in modo accurato. Migliora le versioni precedenti dei modelli YOLO ed è ricco 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 altro ancora. Può anche essere utilizzato in applicazioni in molti settori, dalla sicurezza all'automazione e all'analisi.

Fig 3. Un esempio di utilizzo di YOLO11 per segmentare le persone in un'immagine.
Uno dei vantaggi principali relativi a Ultralytics YOLO11 è la facilità d'uso. Con poche righe di codice, chiunque può integrarlo nei propri progetti AI senza dover affrontare configurazioni complicate o richiedere una competenza tecnica avanzata.
Inoltre funziona senza problemi su diversi hardware, eseguendo in modo efficiente su CPU (Central Processing Units), GPU (Graphics Processing Units) e altri acceleratori AI specializzati. Che venga distribuito su dispositivi edge o server cloud, offre prestazioni elevate.
YOLO11 è disponibile in diverse dimensioni di modello, ciascuna ottimizzata per compiti differenti. Il benchmarking aiuta a determinare quale versione si adatta meglio alle tue esigenze specifiche. Ad esempio, una scoperta chiave che il benchmarking può rivelare è che i modelli più piccoli, come nano o small, tendono a essere più veloci ma potrebbero scendere a compromessi su una parte della precisione.
Link to this sectionCome eseguire il benchmark dei modelli YOLO come YOLO11#
Ora che abbiamo compreso cos'è il benchmarking e la sua importanza, vediamo come puoi eseguire il benchmark dei modelli YOLO come YOLO11 e valutarne l'efficienza per raccogliere preziose informazioni.
Per iniziare, puoi installare il pacchetto Python di Ultralytics eseguendo il seguente comando nel tuo terminale o 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 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, quanti fotogrammi può gestire in un secondo e quanto accuratamente rileva gli oggetti.
La menzione di “coco8.yaml” nel codice si riferisce a un file di configurazione del dataset basato sul dataset COCO8 (Common Objects in Context), una piccola versione campione del dataset 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, utilizzare un dataset pertinente (ad es. un dataset sul traffico o medico) fornirà informazioni più accurate. Il benchmarking con COCO fornisce un'idea generale delle prestazioni, ma per i migliori risultati, puoi scegliere un dataset che rispecchi il tuo caso d'uso reale.
Link to this sectionComprendere gli output del benchmarking di YOLO11#
Una volta che YOLO11 è stato sottoposto a benchmark, il passo successivo è interpretare i risultati. Dopo aver eseguito il benchmark, vedrai vari numeri nei risultati. Queste metriche aiutano a valutare quanto bene YOLO11 si comporta in termini di precisione e velocità.
Ecco alcune metriche di benchmarking di YOLO11 degne di nota a cui prestare attenzione:
- mAP50-95: Misura la precisione del rilevamento degli oggetti. Un valore più alto significa che il modello è migliore nel riconoscere gli oggetti.
- accuracy_top5: È comunemente usato per compiti di classificazione. Mostra quanto spesso l'etichetta corretta appare nelle prime cinque previsioni.
- Tempo di inferenza: Il tempo impiegato per elaborare una singola immagine, misurato in millisecondi. Valori più bassi significano un'elaborazione più rapida.

Fig 4. Un grafico che mostra le prestazioni di benchmark di YOLO11.
Link to this sectionAltri fattori da considerare quando si esegue il benchmark di YOLO11#
Guardare solo ai risultati del benchmark racconta solo una parte della storia. Per ottenere una migliore comprensione delle prestazioni, è utile confrontare diverse impostazioni e opzioni hardware. Ecco alcuni punti importanti da osservare:
- GPU vs. CPU: Le GPU possono elaborare le immagini molto più velocemente delle CPU. Il benchmarking ti aiuta a vedere se una CPU è abbastanza veloce per le tue esigenze o se trarrai vantaggio dall'utilizzo di una GPU.
- Impostazioni di precisione (FP32, FP16, INT8): Queste controllano come 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ò farlo funzionare molto più velocemente su determinati hardware. Questo è utile se stai ottimizzando per la velocità su dispositivi specifici.
Link to this sectionCome eseguire il benchmark di YOLO11 su diversi hardware#
Il pacchetto Python di Ultralytics ti consente di convertire i modelli YOLO11 in diversi formati che funzionano in modo più efficiente su hardware specifico, migliorando sia la velocità che l'utilizzo della memoria. Ogni formato di esportazione è ottimizzato per dispositivi diversi.
Da un lato, il formato ONNX può accelerare le prestazioni in vari ambienti. Dall'altro, OpenVINO migliora l'efficienza su hardware Intel, e formati come CoreML o TF SavedModel sono ideali per dispositivi Apple e applicazioni mobili.
Diamo un'occhiata a come puoi eseguire il benchmark di YOLO11 in un formato specifico. Il codice qui sotto esegue il benchmark di YOLO11 nel formato ONNX, ampiamente utilizzato per eseguire modelli AI 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")Oltre ai risultati del benchmarking, la scelta del formato giusto dipende dalle specifiche del tuo sistema e dalle esigenze di distribuzione. Ad esempio, le auto a guida autonoma necessitano di un rapido rilevamento degli oggetti. Se prevedi di utilizzare GPU NVIDIA per accelerare le prestazioni, il formato TensorRT è la scelta ideale per eseguire YOLO11 su una GPU NVIDIA.

Fig 5. Utilizzo di YOLO11 per il rilevamento di oggetti nelle auto a guida autonoma.
Link to this sectionPunti chiave#
Il pacchetto Python di Ultralytics rende facile il benchmarking di YOLO11 fornendo semplici comandi che possono gestire i test delle prestazioni per te. Con pochi passaggi, puoi vedere come diverse configurazioni influenzano la velocità e la precisione dei modelli, aiutandoti a fare scelte informate senza bisogno di una profonda competenza tecnica.
Anche l'hardware e le impostazioni giuste possono fare una grande differenza. Regolare parametri come la dimensione del modello e il dataset ti consente 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.
Connettiti con la nostra community ed esplora progetti AI all'avanguardia sul nostro repository GitHub. Scopri l'impatto dell'AI nell'agricoltura e il ruolo della computer vision nella produzione attraverso le nostre pagine di soluzioni. Esplora i nostri piani di licenza e inizia subito il tuo percorso nell'AI!






