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 varie attività di analisi dei dati visivi come il rilevamento di oggetti e la segmentazione delle istanze. Per comprenderne appieno le capacità, puoi effettuare il benchmark delle sue prestazioni su diverse configurazioni per vedere come gestirà gli scenari del mondo reale.
In questo articolo esploreremo come effettuare il benchmark dei Ultralytics YOLO models come YOLO11, confrontare le loro prestazioni su vari hardware e vedere come diversi formati di esportazione influiscono sulla loro velocità ed efficienza. Iniziamo!
Cos'è 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 la definizione di una linea di base 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ù semplice decidere quale sia il più adatto per la tua AI solution specifica. In particolare, un benchmark dataset viene spesso utilizzato per fornire 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 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.
Confronto tra benchmarking, valutazione e test dei modelli#
Il benchmarking, la valutazione e il test dei modelli sono termini di intelligenza artificiale popolari che vengono usati insieme. Pur essendo simili, non sono la stessa cosa e hanno funzioni differenti. Il Model testing verifica le prestazioni di un singolo modello eseguendolo su un dataset di test e misurando fattori come precisione e velocità. Nel frattempo, la valutazione del modello fa un ulteriore passo avanti analizzando i risultati per comprendere i punti di forza, i punti di debolezza del modello e quanto funzioni bene 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 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.
Una panoramica di Ultralytics YOLO11#
Ultralytics YOLO11 è un modello di intelligenza artificiale visiva affidabile progettato per eseguire varie computer vision tasks con precisione. 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 Ultralytics 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.
Ultralytics YOLO11 è disponibile in varie dimensioni di modello, ciascuna ottimizzata per compiti differenti. Il benchmarking aiuta a determinare quale versione si adatta meglio alle tue esigenze specifiche. Ad esempio, un'intuizione chiave che il benchmarking può rivelare è che i modelli più piccoli, come nano o small, tendono a girare più velocemente ma potrebbero sacrificare un po' di precisione.
Come eseguire il benchmark dei modelli YOLO come Ultralytics YOLO11#
Ora che abbiamo capito cos'è il benchmarking e qual è la sua importanza, vediamo come puoi eseguire il benchmark di modelli YOLO come Ultralytics YOLO11 e valutarne l'efficienza per raccogliere preziose informazioni.
Per iniziare, puoi installare il Ultralytics Python package eseguendo il seguente comando nel tuo terminale o prompt dei comandi: “pip install ultralytics”. Se riscontri problemi durante l'installazione, consulta la nostra Common Issues Guide per suggerimenti sulla risoluzione dei problemi.
Una volta installato il pacchetto, puoi facilmente benchmark 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, quanti fotogrammi può gestire in un secondo e quanto accuratamente rileva gli oggetti.
Il riferimento a “coco8.yaml” nel codice si riferisce a un file di configurazione del dataset basato sul dataset COCO8 (Common Objects in Context), una piccola versione di esempio del dataset COCO completo, spesso utilizzata per test e sperimentazioni.
Se stai testando Ultralytics YOLO11 per un'applicazione specifica, come il monitoraggio del traffico o l'imaging medico, l'uso di un dataset pertinente (ad esempio, un dataset sul traffico o medico) fornirà informazioni più accurate. L'esecuzione del benchmark con COCO offre un'idea generale delle prestazioni, ma per i migliori risultati puoi scegliere un dataset che rifletta il tuo caso d'uso reale.
Comprendere gli output di benchmark di Ultralytics YOLO11#
Una volta eseguito il benchmark di Ultralytics YOLO11, il passo successivo è interpretare i risultati. Dopo aver eseguito il benchmark, vedrai vari numeri nei risultati. Queste metriche aiutano a valutare le prestazioni di YOLO11 in termini di accuratezza e velocità.
Ecco alcune metriche di benchmarking di Ultralytics 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.
Altri fattori da considerare durante il benchmark di Ultralytics 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.
- Export formats: 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.
Come eseguire il benchmark di Ultralytics YOLO11 su hardware diversi#
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 ONNX format può accelerare le prestazioni in vari ambienti. D'altra parte, OpenVINO migliora l'efficienza sull'hardware Intel e formati come CoreML o TF SavedModel sono ideali per dispositivi Apple e applicazioni mobili.
Diamo un'occhiata a come puoi effettuare il benchmark di Ultralytics YOLO11 in un formato specifico. Il codice sottostante esegue il benchmark di YOLO11 nel formato ONNX, ampiamente utilizzato per eseguire modelli di IA 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 self-driving cars richiedono un rilevamento di oggetti veloce. Se prevedi di utilizzare le 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 di oggetti nelle auto a guida autonoma.
Punti 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.
L'hardware e le impostazioni giusti possono fare una grande differenza. La regolazione di parametri come la dimensione del modello e il dataset ti consente di ottimizzare Ultralytics YOLO11 per ottenere le migliori prestazioni, sia che tu lo stia eseguendo su una GPU di fascia alta o localmente su un edge device.
Connettiti con our community ed esplora progetti di intelligenza artificiale all'avanguardia sul our GitHub repository. Scopri l'impatto di AI in agriculture e il ruolo di computer vision in manufacturing attraverso le nostre pagine di soluzioni. Esplora our licensing plans e inizia subito il tuo viaggio nell'intelligenza artificiale!






