Vai al contenuto

Approfondimenti sulla valutazione e la messa a punto del modello

Introduzione

Una volta addestrato il tuo modello di computer vision, è essenziale valutarlo e perfezionarlo per ottenere prestazioni ottimali. Non è sufficiente solo addestrare il tuo modello. Devi assicurarti che il tuo modello sia accurato, efficiente e soddisfi l'obiettivo del tuo progetto di computer vision. Valutando e ottimizzando il tuo modello, puoi identificare i punti deboli, migliorarne l'accuratezza e aumentare le prestazioni complessive.



Guarda: Approfondimenti sulla valutazione e la messa a punto del modello | Suggerimenti per migliorare la precisione media media

In questa guida, condivideremo approfondimenti sulla valutazione del modello e sulla messa a punto che renderanno questa fase di un progetto di computer vision più accessibile. Discuteremo come comprendere le metriche di valutazione e implementare tecniche di messa a punto, fornendoti le conoscenze per elevare le capacità del tuo modello.

Valutazione delle prestazioni del modello tramite metriche

Valutare le prestazioni di un modello ci aiuta a capire quanto funziona efficacemente. Vengono utilizzate varie metriche per misurare le prestazioni. Queste metriche di performance forniscono informazioni chiare e numeriche che possono guidare i miglioramenti per garantire che il modello soddisfi i suoi obiettivi previsti. Diamo un'occhiata più da vicino ad alcune metriche chiave.

Punteggio di confidenza

Il punteggio di confidenza rappresenta la certezza del modello che un oggetto rilevato appartenga a una particolare classe. Varia da 0 a 1, con punteggi più alti che indicano una maggiore confidenza. Il punteggio di confidenza aiuta a filtrare le previsioni; vengono considerati validi solo i rilevamenti con punteggi di confidenza superiori a una soglia specificata.

Suggerimento rapido: Quando esegui inferenze, se non vedi alcuna previsione e hai controllato tutto il resto, prova a ridurre il punteggio di confidenza. A volte, la soglia è troppo alta, il che fa sì che il modello ignori le previsioni valide. Abbassare il punteggio consente al modello di considerare più possibilità. Questo potrebbe non soddisfare gli obiettivi del tuo progetto, ma è un buon modo per vedere cosa può fare il modello e decidere come metterlo a punto.

Intersezione sull'Unione

Intersection over Union (IoU) è una metrica nel rilevamento di oggetti che misura quanto bene il bounding box previsto si sovrappone al bounding box della ground truth. I valori di IoU variano da 0 a 1, dove uno sta per una corrispondenza perfetta. IoU è essenziale perché misura quanto strettamente i confini previsti corrispondono ai confini effettivi dell'oggetto.

Panoramica sull'Intersection over Union

Precisione Media Aritmetica Media

La Mean Average Precision (mAP) è un modo per misurare le prestazioni di un modello di rilevamento oggetti. Esamina la precisione del rilevamento di ciascuna classe di oggetti, calcola la media di questi punteggi e fornisce un numero complessivo che mostra con quanta precisione il modello può identificare e classificare gli oggetti.

Concentriamoci su due metriche mAP specifiche:

  • mAP@.5: Misura la precisione media a una singola soglia IoU (Intersection over Union) di 0.5. Questa metrica verifica se il modello riesce a trovare correttamente gli oggetti con un requisito di accuratezza meno stringente. Si concentra sul fatto che l'oggetto si trovi più o meno nel posto giusto, senza necessità di un posizionamento perfetto. Aiuta a capire se il modello è generalmente bravo a individuare gli oggetti.
  • mAP@.5:.95: Calcola la media dei valori mAP calcolati a diverse soglie IoU, da 0.5 a 0.95 con incrementi di 0.05. Questa metrica è più dettagliata e rigorosa. Fornisce un quadro più completo di quanto accuratamente il modello riesca a trovare gli oggetti a diversi livelli di rigore ed è particolarmente utile per le applicazioni che richiedono un rilevamento preciso degli oggetti.

Altre metriche mAP includono mAP@0.75, che utilizza una soglia IoU più rigorosa di 0.75, e mAP@small, medium e large, che valutano la precisione su oggetti di diverse dimensioni.

Panoramica della Precisione Media

Valutazione delle prestazioni del modello YOLO11

Per quanto riguarda YOLO11, puoi utilizzare la modalità di convalida per valutare il modello. Inoltre, assicurati di dare un'occhiata alla nostra guida che approfondisce le metriche di performance di YOLO11 e come possono essere interpretate.

Domande frequenti della community

Quando si valuta il modello YOLO11, è possibile che si verifichino alcuni intoppi. In base alle domande più frequenti della community, ecco alcuni suggerimenti per ottenere il massimo dal tuo modello YOLO11:

Gestione di dimensioni variabili delle immagini

Valutare il tuo modello YOLO11 con immagini di dimensioni diverse può aiutarti a capire le sue prestazioni su diversi set di dati. Usando il rect=true parametro di validazione, YOLO11 regola lo stride della rete per ogni batch in base alle dimensioni dell'immagine, consentendo al modello di gestire immagini rettangolari senza forzarle a una dimensione singola.

Il imgsz Il parametro di validazione imposta la dimensione massima per il ridimensionamento delle immagini, che è di 640 per impostazione predefinita. È possibile regolarlo in base alle dimensioni massime del set di dati e alla memoria GPU disponibile. Anche con il imgsz imposta, rect=true consente al modello di gestire efficacemente le diverse dimensioni delle immagini regolando dinamicamente lo stride.

Accesso alle metriche YOLO11

Se desideri comprendere più a fondo le prestazioni del tuo modello YOLO11, puoi accedere facilmente a metriche di valutazione specifiche con poche righe di codice Python. Il seguente frammento di codice ti consentirà di caricare il tuo modello, eseguire una valutazione e stampare varie metriche che mostrano le prestazioni del tuo modello.

Utilizzo

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.pt")

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)

L'oggetto dei risultati include anche metriche di velocità come il tempo di pre-elaborazione, il tempo di inferenza, la perdita e il tempo di post-elaborazione. Analizzando queste metriche, puoi ottimizzare il tuo modello YOLO11 per ottenere prestazioni migliori, rendendolo più efficace per il tuo specifico caso d'uso.

Come funziona il Fine-Tuning?

Il fine-tuning prevede l'utilizzo di un modello pre-addestrato e la regolazione dei suoi parametri per migliorare le prestazioni su un'attività o un set di dati specifico. Il processo, noto anche come retraining del modello, consente al modello di comprendere e prevedere meglio i risultati per i dati specifici che incontrerà nelle applicazioni del mondo reale. Puoi riaddestrare il tuo modello in base alla valutazione del modello per ottenere risultati ottimali.

Suggerimenti per la messa a punto del modello

Il fine-tuning di un modello significa prestare molta attenzione a diversi parametri e tecniche vitali per ottenere prestazioni ottimali. Ecco alcuni suggerimenti essenziali per guidarti attraverso il processo.

Iniziare con un Learning Rate più alto

Solitamente, durante le epoche di addestramento iniziali, il learning rate inizia basso e aumenta gradualmente per stabilizzare il processo di addestramento. Tuttavia, poiché il tuo modello ha già appreso alcune caratteristiche dal set di dati precedente, iniziare subito con un learning rate più alto può essere più vantaggioso.

Quando si valuta il modello YOLO11, è possibile impostare il warmup_epochs parametro di validazione a warmup_epochs=0 per evitare che il tasso di apprendimento inizi troppo alto. Seguendo questo processo, l'addestramento continuerà dai pesi forniti, adattandosi alle sfumature dei nuovi dati.

Affiancamento delle immagini per oggetti di piccole dimensioni

L'affiancamento delle immagini può migliorare l'accuratezza del rilevamento per oggetti di piccole dimensioni. Dividendo le immagini più grandi in segmenti più piccoli, come la suddivisione di immagini 1280x1280 in più segmenti 640x640, si mantiene la risoluzione originale e il modello può apprendere da frammenti ad alta risoluzione. Quando si utilizza YOLO11, assicurati di regolare correttamente le etichette per questi nuovi segmenti.

Interagisci con la Community

Condividere le tue idee e domande con altri appassionati di computer vision può ispirare soluzioni creative ai problemi nei tuoi progetti. Ecco alcuni modi eccellenti per imparare, risolvere problemi e connettersi.

Ricerca di Aiuto e Supporto

  • Problemi su GitHub: Esplora il repository YOLO11 su GitHub e utilizza la scheda Issues per porre domande, segnalare bug e suggerire funzionalità. La community e i manutentori sono disponibili per assistere con qualsiasi problema tu possa incontrare.
  • Server Discord di Ultralytics: unisciti al server Discord di Ultralytics per entrare in contatto con altri utenti e sviluppatori, ottenere supporto, condividere conoscenze e fare brainstorming di idee.

Documentazione ufficiale

  • Documentazione di Ultralytics YOLO11: Consulta la documentazione ufficiale di YOLO11 per guide complete e preziose informazioni su varie attività e progetti di computer vision.

Considerazioni finali

La valutazione e la messa a punto del tuo modello di computer vision sono passaggi importanti per una distribuzione del modello di successo. Questi passaggi aiutano a garantire che il tuo modello sia accurato, efficiente e adatto alla tua applicazione complessiva. La chiave per addestrare il miglior modello possibile è la sperimentazione e l'apprendimento continui. Non esitare a modificare i parametri, provare nuove tecniche ed esplorare diversi set di dati. Continua a sperimentare e a spingere i confini di ciò che è possibile!

FAQ

Quali sono le metriche chiave per valutare le prestazioni del modello YOLO11?

Per valutare le prestazioni del modello YOLO11, le metriche importanti includono il punteggio di confidenza, l'Intersection over Union (IoU) e la Mean Average Precision (mAP). Il punteggio di confidenza misura la certezza del modello per ogni classe di oggetti rilevata. IoU valuta quanto bene la bounding box prevista si sovrappone alla ground truth. La Mean Average Precision (mAP) aggrega i punteggi di precisione tra le classi, con mAP@.5 e mAP@.5:.95 che sono due tipi comuni per diverse soglie IoU. Scopri di più su queste metriche nella nostra guida alle metriche di performance di YOLO11.

Come posso ottimizzare un modello YOLO11 pre-addestrato per il mio dataset specifico?

Il fine-tuning di un modello YOLO11 pre-addestrato comporta la regolazione dei suoi parametri per migliorare le prestazioni su un'attività o un set di dati specifico. Inizia valutando il tuo modello utilizzando le metriche, quindi imposta un tasso di apprendimento iniziale più elevato regolando il warmup_epochs parametro a 0 per una stabilità immediata. Utilizzare parametri come rect=true per gestire efficacemente dimensioni variabili delle immagini. Per una guida più dettagliata, fare riferimento alla nostra sezione su fine-tuning dei modelli YOLO11.

Come posso gestire dimensioni variabili delle immagini quando valuto il mio modello YOLO11?

Per gestire dimensioni variabili delle immagini durante la valutazione, usa il parametro rect=true parametro in YOLO11, che regola lo stride della rete per ogni batch in base alle dimensioni dell'immagine. Il imgsz parametro imposta la dimensione massima per il ridimensionamento dell'immagine, di default a 640. Regola imgsz per adattarsi al tuo dataset e alla memoria della GPU. Per maggiori dettagli, visita la nostra sezione sezione sulla gestione di dimensioni variabili delle immagini.

Quali misure pratiche posso adottare per migliorare la precisione media (mean average precision) del mio modello YOLO11?

Migliorare la precisione media media (mAP) per un modello YOLO11 comporta diversi passaggi:

  1. Ottimizzazione degli iperparametri: Sperimenta con diversi tassi di apprendimento, dimensioni dei batch e aumenti delle immagini.
  2. Aumento dei dati: Utilizza tecniche come Mosaic e MixUp per creare diversi campioni di addestramento.
  3. Tiling dell'immagine: dividi le immagini più grandi in riquadri più piccoli per migliorare l'accuratezza del rilevamento per oggetti piccoli. Fai riferimento alla nostra guida dettagliata sulla messa a punto del modello per strategie specifiche.

Come posso accedere alle metriche di valutazione del modello YOLO11 in python?

È possibile accedere alle metriche di valutazione del modello YOLO11 utilizzando Python seguendo questi passaggi:

Utilizzo

from ultralytics import YOLO

# Load the model
model = YOLO("yolo11n.pt")

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)

L'analisi di queste metriche aiuta a mettere a punto e ottimizzare il tuo modello YOLO11. Per un approfondimento, consulta la nostra guida sulle metriche YOLO11.



📅 Creato 1 anno fa ✏️ Aggiornato 5 mesi fa

Commenti