Link to this sectionApprofondimento sulle metriche di performance#
Link to this sectionIntroduzione#
Le metriche di performance sono strumenti chiave per valutare l'accuratezza e l'efficienza dei modelli di rilevamento oggetti. Fanno luce su quanto efficacemente un modello riesca a identificare e localizzare gli oggetti all'interno delle immagini. Inoltre, aiutano a comprendere come il modello gestisce i falsi positivi e i falsi negativi. Queste intuizioni sono cruciali per valutare e migliorare le prestazioni del modello. In questa guida, esploreremo diverse metriche di performance associate a YOLO26, il loro significato e come interpretarle.
Link to this sectionMetriche di rilevamento oggetti#
Iniziamo discutendo alcune metriche che non sono solo importanti per YOLO26, ma ampiamente applicabili a diversi modelli di rilevamento oggetti.
-
Intersection over Union (IoU): L'IoU è una misura che quantifica la sovrapposizione tra un riquadro di delimitazione previsto e uno reale (ground truth). Svolge un ruolo fondamentale nel valutare l'accuratezza della localizzazione degli oggetti.
-
Average Precision (AP): L'AP calcola l'area sotto la curva precision-recall, fornendo un singolo valore che racchiude le prestazioni di precisione e recall del modello.
-
Mean Average Precision (mAP): La mAP estende il concetto di AP calcolando i valori medi di AP su più classi di oggetti. Ciò è utile negli scenari di rilevamento oggetti multi-classe per fornire una valutazione completa delle prestazioni del modello.
-
Precisione e Recall: La precisione quantifica la proporzione di veri positivi tra tutte le previsioni positive, valutando la capacità del modello di evitare i falsi positivi. D'altra parte, il recall calcola la proporzione di veri positivi tra tutti i positivi effettivi, misurando la capacità del modello di rilevare tutte le istanze di una classe.
-
Punteggio F1: Il punteggio F1 è la media armonica tra precisione e recall, fornendo una valutazione bilanciata delle prestazioni di un modello considerando sia i falsi positivi che i falsi negativi.
Link to this sectionCome calcolare le metriche per il modello YOLO26#
Ora, possiamo esplorare la modalità di convalida di YOLO26 che può essere utilizzata per calcolare le metriche di valutazione discusse sopra.
Usare la modalità di convalida è semplice. Una volta che hai un modello addestrato, puoi invocare la funzione model.val(). Questa funzione elaborerà quindi il dataset di convalida e restituirà una varietà di metriche di performance. Ma cosa significano queste metriche? E come dovresti interpretarle?
Link to this sectionInterpretazione dell'output#
Analizziamo l'output della funzione model.val() e comprendiamo ogni segmento del risultato.
Link to this sectionMetriche per classe#
Una delle sezioni dell'output è la suddivisione per classe delle metriche di performance. Questa informazione granulare è utile quando stai cercando di capire come sta lavorando il modello per ogni specifica classe, specialmente in dataset con una vasta gamma di categorie di oggetti. Per ogni classe nel dataset viene fornito quanto segue:
-
Classe: indica il nome della classe dell'oggetto, come "persona", "auto" o "cane".
-
Immagini: questa metrica ti dice il numero di immagini nel set di convalida che contengono la classe dell'oggetto.
-
Istanze: fornisce il conteggio di quante volte la classe appare in tutte le immagini nel set di convalida.
-
Box(P, R, mAP50, mAP50-95): questa metrica fornisce approfondimenti sulle prestazioni del modello nel rilevare gli oggetti:
-
P (Precisione): l'accuratezza degli oggetti rilevati, indicando quanti rilevamenti erano corretti.
-
R (Recall): la capacità del modello di identificare tutte le istanze di oggetti nelle immagini.
-
mAP50: precisione media calcolata a una soglia di Intersection over Union (IoU) di 0.50. È una misura dell'accuratezza del modello considerando solo i rilevamenti "facili".
-
mAP50-95: la media della precisione media calcolata a diverse soglie di IoU, che vanno da 0.50 a 0.95. Offre una visione completa delle prestazioni del modello su diversi livelli di difficoltà di rilevamento.
-
Link to this sectionMetriche di velocità#
La velocità di inferenza può essere critica quanto l'accuratezza, specialmente negli scenari di rilevamento oggetti in tempo reale. Questa sezione suddivide il tempo impiegato per le varie fasi del processo di convalida, dal pre-elaborazione al post-elaborazione.
Link to this sectionValutazione delle metriche COCO#
Per gli utenti che effettuano la convalida sul dataset COCO, vengono calcolate metriche aggiuntive utilizzando lo script di valutazione COCO. Queste metriche forniscono approfondimenti sulla precisione e il recall a diverse soglie di IoU e per oggetti di dimensioni differenti.
Link to this sectionOutput visivi#
La funzione model.val(), oltre a produrre metriche numeriche, genera anche output visivi che possono fornire una comprensione più intuitiva delle prestazioni del modello. Ecco una suddivisione degli output visivi che puoi aspettarti:
-
Curva F1 Score (
BoxF1_curve.png): Questa curva rappresenta l'F1 score attraverso varie soglie. Interpretare questa curva può offrire approfondimenti sull'equilibrio del modello tra falsi positivi e falsi negativi su diverse soglie. -
Curva Precision-Recall (
BoxPR_curve.png): Una visualizzazione integrale per qualsiasi problema di classificazione, questa curva mostra i compromessi tra precisione e recall a diverse soglie. Diventa particolarmente significativa quando si ha a che fare con classi sbilanciate. -
Curva di Precisione (
BoxP_curve.png): Una rappresentazione grafica dei valori di precisione a diverse soglie. Questa curva aiuta a comprendere come varia la precisione al variare della soglia. -
Curva di Recall (
BoxR_curve.png): Corrispondentemente, questo grafico illustra come cambiano i valori di recall attraverso diverse soglie. -
Matrice di confusione (
confusion_matrix.png): la matrice di confusione fornisce una visione dettagliata dei risultati, mostrando i conteggi di veri positivi, veri negativi, falsi positivi e falsi negativi per ogni classe. -
Matrice di confusione normalizzata (
confusion_matrix_normalized.png): questa visualizzazione è una versione normalizzata della matrice di confusione. Rappresenta i dati in proporzioni piuttosto che in conteggi grezzi. Questo formato rende più semplice confrontare le prestazioni tra le classi. -
Etichette del batch di convalida (
val_batchX_labels.jpg): queste immagini raffigurano le etichette di ground truth per distinti batch dal dataset di convalida. Forniscono un quadro chiaro di quali sono gli oggetti e le loro rispettive posizioni secondo il dataset. -
Previsioni del batch di convalida (
val_batchX_pred.jpg): in contrasto con le immagini delle etichette, questi elementi visivi mostrano le previsioni fatte dal modello YOLO26 per i rispettivi batch. Confrontandole con le immagini delle etichette, puoi facilmente valutare quanto bene il modello rileva e classifica gli oggetti visivamente.
Per i task di detection, segmentation e pose, i grafici delle curve sono preceduti dal tipo di metrica: la detection scrive le curve Box*, la segmentation scrive sia le curve Box* che Mask*, e la pose scrive sia le curve Box* che Pose*.
Link to this sectionArchiviazione dei risultati#
Per riferimento futuro, i risultati vengono salvati in una directory, solitamente denominata runs/detect/val.
Link to this sectionScegliere le metriche giuste#
La scelta delle metriche giuste da valutare spesso dipende dall'applicazione specifica.
-
mAP: adatta per una valutazione ampia delle prestazioni del modello.
-
IoU: essenziale quando è cruciale una posizione precisa dell'oggetto.
-
Precisione: importante quando ridurre al minimo i falsi rilevamenti è una priorità.
-
Recall: vitale quando è importante rilevare ogni istanza di un oggetto.
-
Punteggio F1: utile quando è necessario un equilibrio tra precisione e recall.
Per le applicazioni in tempo reale, le metriche di velocità come FPS (fotogrammi al secondo) e latenza sono cruciali per garantire risultati tempestivi.
Link to this sectionInterpretazione dei risultati#
È importante comprendere le metriche. Ecco cosa potrebbero suggerire alcuni dei punteggi più bassi comunemente osservati:
-
mAP bassa: indica che il modello potrebbe aver bisogno di perfezionamenti generali.
-
IoU bassa: il modello potrebbe avere difficoltà a individuare accuratamente gli oggetti. Diversi metodi di riquadro di delimitazione potrebbero aiutare.
-
Precisione bassa: il modello potrebbe rilevare troppi oggetti inesistenti. Regolare le soglie di confidenza potrebbe ridurre questo problema.
-
Recall bassa: il modello potrebbe mancare oggetti reali. Migliorare l'estrazione di caratteristiche o utilizzare più dati potrebbe aiutare.
-
Punteggio F1 sbilanciato: c'è una disparità tra precisione e recall.
-
AP specifica per classe: punteggi bassi qui possono evidenziare le classi con cui il modello ha difficoltà.
Link to this sectionCasi d'uso#
Esempi reali possono aiutare a chiarire come funzionano queste metriche nella pratica.
Link to this sectionCaso 1#
-
Situazione: mAP e punteggio F1 sono non ottimali, ma mentre il Recall è buono, la Precisione non lo è.
-
Interpretazione e azione: potrebbero esserci troppi rilevamenti errati. Stringere le soglie di confidenza potrebbe ridurli, anche se potrebbe anche diminuire leggermente il recall.
Link to this sectionCaso 2#
-
Situazione: mAP e Recall sono accettabili, ma l'IoU è carente.
-
Interpretazione e azione: il modello rileva bene gli oggetti ma potrebbe non localizzarli con precisione. Perfezionare le previsioni dei riquadri di delimitazione potrebbe aiutare.
Link to this sectionCaso 3#
-
Situazione: alcune classi hanno un AP molto più basso di altre, anche con una mAP complessiva decente.
-
Interpretazione e azione: queste classi potrebbero essere più impegnative per il modello. Utilizzare più dati per queste classi o regolare i pesi delle classi durante l'addestramento potrebbe essere vantaggioso.
Link to this sectionConnettiti e collabora#
Attingere a una comunità di appassionati ed esperti può amplificare il tuo percorso con YOLO26. Ecco alcune strade che possono facilitare l'apprendimento, la risoluzione dei problemi e il networking.
Link to this sectionInteragisci con la community più ampia#
-
GitHub Issues: Il repository di YOLO26 su GitHub ha una scheda Issues dove puoi porre domande, segnalare bug e suggerire nuove funzionalità. La community e i manutentori sono attivi qui, ed è un ottimo posto per ottenere aiuto con problemi specifici.
-
Server Discord di Ultralytics: Ultralytics ha un server Discord dove puoi interagire con altri utenti e con gli sviluppatori.
Link to this sectionDocumentazione ufficiale e risorse:#
- Documentazione di Ultralytics YOLO26: La documentazione ufficiale fornisce una panoramica completa di YOLO26, insieme a guide sull'installazione, l'utilizzo e la risoluzione dei problemi.
Utilizzare queste risorse non solo ti guiderà attraverso eventuali sfide, ma ti terrà anche aggiornato sulle ultime tendenze e migliori pratiche nella comunità YOLO26.
Link to this sectionConclusione#
In questa guida, abbiamo esaminato da vicino le metriche di performance essenziali per YOLO26. Queste metriche sono fondamentali per capire quanto bene sta funzionando un modello e sono vitali per chiunque miri a perfezionare i propri modelli. Offrono le intuizioni necessarie per i miglioramenti e per assicurarsi che il modello funzioni efficacemente in situazioni reali.
Ricorda, la comunità di YOLO26 e Ultralytics è una risorsa inestimabile. Interagire con colleghi sviluppatori ed esperti può aprire porte a intuizioni e soluzioni non presenti nella documentazione standard. Mentre viaggi attraverso il rilevamento oggetti, mantieni vivo lo spirito di apprendimento, sperimenta nuove strategie e condividi le tue scoperte. Facendo ciò, contribuisci alla saggezza collettiva della comunità e ne garantisci la crescita.
Link to this sectionFAQ#
Link to this sectionQual è il significato della Mean Average Precision (mAP) nella valutazione delle prestazioni del modello YOLO26?#
La Mean Average Precision (mAP) è cruciale per valutare i modelli YOLO26 poiché fornisce una singola metrica che racchiude precisione e recall su più classi. mAP@0.50 misura la precisione a una soglia di IoU di 0.50, concentrandosi sulla capacità del modello di rilevare correttamente gli oggetti. mAP@0.50:0.95 media la precisione su una gamma di soglie di IoU, offrendo una valutazione completa delle prestazioni di rilevamento. Punteggi mAP elevati indicano che il modello bilancia efficacemente precisione e recall, essenziale per applicazioni come la guida autonoma e i sistemi di sorveglianza dove sia un rilevamento accurato che minimi falsi allarmi sono critici.
Link to this sectionCome interpreto il valore di Intersection over Union (IoU) per il rilevamento oggetti YOLO26?#
La Intersection over Union (IoU) misura la sovrapposizione tra i riquadri di delimitazione previsti e quelli reali (ground truth). I valori di IoU vanno da 0 a 1, dove valori più alti indicano una migliore precisione di localizzazione. Un'IoU di 1.0 significa un allineamento perfetto. Solitamente, una soglia di IoU di 0.50 viene utilizzata per definire i veri positivi in metriche come la mAP. Valori di IoU più bassi suggeriscono che il modello ha difficoltà con una localizzazione precisa dell'oggetto, cosa che può essere migliorata perfezionando la regressione del riquadro di delimitazione o aumentando l'accuratezza dell'annotazione nel tuo dataset di addestramento.
Link to this sectionPerché il punteggio F1 è importante per valutare i modelli YOLO26 nel rilevamento oggetti?#
Il punteggio F1 è importante per valutare i modelli YOLO26 perché fornisce una media armonica di precisione e recall, bilanciando sia i falsi positivi che i falsi negativi. È particolarmente prezioso quando si gestiscono dataset sbilanciati o applicazioni in cui la sola precisione o il solo recall sono insufficienti. Un punteggio F1 elevato indica che il modello rileva efficacemente gli oggetti minimizzando sia i rilevamenti mancati che i falsi allarmi, rendendolo adatto per applicazioni critiche come sistemi di sicurezza e imaging medico.
Link to this sectionQuali sono i vantaggi chiave dell'utilizzo di Ultralytics YOLO26 per il rilevamento oggetti in tempo reale?#
Ultralytics YOLO26 offre molteplici vantaggi per il rilevamento oggetti in tempo reale:
- Velocità ed efficienza: ottimizzato per un'inferenza ad alta velocità, adatto per applicazioni che richiedono una bassa latenza.
- Alta accuratezza: l'algoritmo avanzato garantisce punteggi mAP e IoU elevati, bilanciando precisione e recall.
- Flessibilità: supporta vari compiti tra cui rilevamento oggetti, segmentazione di istanze, segmentazione semantica e classificazione.
- Facilità d'uso: interfacce user-friendly, documentazione estesa e integrazione senza soluzione di continuità con strumenti come Ultralytics Platform (Guida rapida alla piattaforma).
Ciò rende YOLO26 ideale per diverse applicazioni, dai veicoli autonomi alle soluzioni per città intelligenti.
Link to this sectionIn che modo le metriche di convalida di YOLO26 possono aiutare a migliorare le prestazioni del modello?#
Le metriche di convalida di YOLO26 come precisione, recall, mAP e IoU aiutano a diagnosticare e migliorare le prestazioni del modello fornendo approfondimenti su diversi aspetti del rilevamento:
- Precisione: aiuta a identificare e ridurre al minimo i falsi positivi.
- Recall: assicura che tutti gli oggetti rilevanti vengano rilevati.
- mAP: offre un'istantanea delle prestazioni complessive, guidando i miglioramenti generali.
- IoU: aiuta a perfezionare l'accuratezza della localizzazione degli oggetti.
Analizzando queste metriche, è possibile puntare a debolezze specifiche, come regolare le soglie di confidenza per migliorare la precisione o raccogliere dati più diversificati per migliorare il recall. Per spiegazioni dettagliate di queste metriche e su come interpretarle, controlla Metriche di rilevamento oggetti e considera l'implementazione della sintonizzazione degli iperparametri per ottimizzare il tuo modello.