Guida alla verifica dei modelli
Introduzione
Dopo aver addestrato e valutato il tuo modello, è il momento di testarlo. Il test del modello consiste nel valutare le sue prestazioni in scenari reali. I test prendono in considerazione fattori come l'accuratezza, l'affidabilità, la correttezza e la facilità di comprensione delle decisioni del modello. L'obiettivo è assicurarsi che il modello funzioni come previsto, fornisca i risultati attesi e si adatti all'obiettivo generale della tua applicazione o del tuo progetto.
Model testing is quite similar to model evaluation, but they are two distinct steps in a computer vision project. Model evaluation involves metrics and plots to assess the model's accuracy. On the other hand, model testing checks if the model's learned behavior is the same as expectations. In this guide, we'll explore strategies for testing your computer vision models.
Test del modello Vs. Valutazione del modello
Per prima cosa, cerchiamo di capire la differenza tra valutazione e test del modello con un esempio.
Suppose you have trained a computer vision model to recognize cats and dogs, and you want to deploy this model at a pet store to monitor the animals. During the model evaluation phase, you use a labeled dataset to calculate metrics like accuracy, precision, recall, and F1 score. For instance, the model might have an accuracy of 98% in distinguishing between cats and dogs in a given dataset.
Dopo la valutazione, testa il modello utilizzando le immagini di un negozio di animali per verificare la sua capacità di identificare cani e gatti in condizioni più varie e realistiche. Verifichi se è in grado di etichettare correttamente cani e gatti in movimento, in condizioni di illuminazione diverse o parzialmente oscurati da oggetti come giocattoli o mobili. Il test del modello verifica che il modello si comporti come previsto al di fuori dell'ambiente di valutazione controllato.
Preparazione per il test del modello
Computer vision models learn from datasets by detecting patterns, making predictions, and evaluating their performance. These datasets are usually divided into training and testing sets to simulate real-world conditions. Training data teaches the model while testing data verifies its accuracy.
Ecco due punti da tenere a mente prima di testare il tuo modello:
- Rappresentazione realistica: I dati di prova non visti in precedenza dovrebbero essere simili a quelli che il modello dovrà gestire una volta implementato. Questo aiuta a comprendere in modo realistico le capacità del modello.
- Dimensioni sufficienti: La dimensione del dataset di test deve essere sufficientemente grande da fornire indicazioni affidabili sulle prestazioni del modello.
Prova il tuo modello di visione computerizzata
Ecco i passi fondamentali da compiere per testare il tuo modello di computer vision e comprenderne le prestazioni.
- Esegui previsioni: Usa il modello per fare previsioni sul set di dati di prova.
- Confronta le previsioni: Verifica la corrispondenza tra le previsioni del modello e le etichette reali (verità di base).
- Calcolare le metriche delle prestazioni: Calcola metriche come l'accuratezza, la precisione, il richiamo e il punteggio F1 per capire i punti di forza e di debolezza del modello. I test si concentrano sul modo in cui queste metriche riflettono le prestazioni del mondo reale.
- Visualizzare i risultati: Crea supporti visivi come matrici di confusione e curve ROC. Questi ti aiutano a individuare le aree specifiche in cui il modello potrebbe non funzionare bene nelle applicazioni pratiche.
Successivamente, è possibile analizzare i risultati dei test:
- Immagini mal classificate: Identifica ed esamina le immagini che il modello ha classificato in modo errato per capire dove sbaglia.
- Analisi degli errori: Esegui un'analisi approfondita degli errori per capire i tipi di errori (ad esempio, falsi positivi o falsi negativi) e le loro potenziali cause.
- Bias e correttezza: Verifica che non ci siano pregiudizi nelle previsioni del modello. Assicurati che il modello abbia le stesse prestazioni in diversi sottoinsiemi di dati, soprattutto se include attributi sensibili come razza, sesso o età.
Testing Your YOLO11 Model
To test your YOLO11 model, you can use the validation mode. It's a straightforward way to understand the model's strengths and areas that need improvement. Also, you'll need to format your test dataset correctly for YOLO11. For more details on how to use the validation mode, check out the Model Validation docs page.
Using YOLO11 to Predict on Multiple Test Images
If you want to test your trained YOLO11 model on multiple images stored in a folder, you can easily do so in one go. Instead of using the validation mode, which is typically used to evaluate model performance on a validation set and provide detailed metrics, you might just want to see predictions on all images in your test set. For this, you can use the prediction mode.
Differenza tra le modalità di convalida e di previsione
- Modalità di convalida: Viene utilizzata per valutare le prestazioni del modello confrontando le previsioni con le etichette conosciute (verità di base). Fornisce metriche dettagliate come accuratezza, precisione, richiamo e punteggio F1.
- Modalità Predizione: Si usa per eseguire il modello su dati nuovi e non visti per generare previsioni. Non fornisce parametri dettagliati sulle prestazioni, ma ti permette di vedere come si comporta il modello su immagini reali.
Running YOLO11 Predictions Without Custom Training
If you are interested in testing the basic YOLO11 model to understand whether it can be used for your application without custom training, you can use the prediction mode. While the model is pre-trained on datasets like COCO, running predictions on your own dataset can give you a quick sense of how well it might perform in your specific context.
Overfitting and Underfitting in Machine Learning
Quando si testa un modello di apprendimento automatico, soprattutto nella computer vision, è importante fare attenzione all'overfitting e all'underfitting. Questi problemi possono influenzare in modo significativo il funzionamento del modello con i nuovi dati.
Overfitting
L'overfitting si verifica quando il modello apprende troppo bene i dati di addestramento, compresi il rumore e i dettagli che non si generalizzano ai nuovi dati. Nella visione computerizzata, questo significa che il tuo modello potrebbe andare benissimo con le immagini di addestramento ma faticare con quelle nuove.
Segni di overfitting
- High Training Accuracy, Low Validation Accuracy: If your model performs very well on training data but poorly on validation or test data, it's likely overfitting.
- Ispezione visiva: A volte si può notare un overfitting se il modello è troppo sensibile a piccole modifiche o a dettagli irrilevanti nelle immagini.
Underfitting
L'underfitting si verifica quando il modello non riesce a catturare i modelli sottostanti nei dati. Nella visione computerizzata, un modello poco adatto potrebbe anche non riconoscere correttamente gli oggetti nelle immagini di addestramento.
Segni di sottoadattamento
- Bassa precisione di addestramento: se il tuo modello non riesce a raggiungere un'elevata precisione sul set di addestramento, potrebbe essere in underfitting.
- Misclassificazione visiva: L'incapacità costante di riconoscere caratteristiche o oggetti evidenti suggerisce un adattamento insufficiente.
Bilanciare l'overfitting e l'underfitting
Il segreto è trovare un equilibrio tra overfitting e underfitting. Idealmente, un modello dovrebbe ottenere buoni risultati sia sui set di dati di formazione che su quelli di convalida. Il monitoraggio regolare delle prestazioni del modello attraverso metriche e ispezioni visive, insieme all'applicazione delle giuste strategie, può aiutarti a ottenere i migliori risultati.
Perdita di dati nella visione artificiale e come evitarla
Durante il test del modello, è importante tenere presente la perdita di dati. La perdita di dati si verifica quando informazioni esterne al dataset di addestramento vengono accidentalmente utilizzate per addestrare il modello. Il modello può sembrare molto accurato durante l'addestramento, ma non funzionerà bene su dati nuovi e non visti quando si verifica la perdita di dati.
Perché si verificano le perdite di dati
La perdita di dati può essere difficile da individuare e spesso deriva da pregiudizi nascosti nei dati di addestramento. Ecco alcuni modi comuni in cui possono verificarsi nella computer vision:
- Sbilanciamento della telecamera: angolazioni diverse, illuminazione, ombre e movimenti della telecamera possono introdurre modelli indesiderati.
- Sovrapposizione: loghi, timestamp o altre sovrapposizioni nelle immagini possono fuorviare il modello.
- Bias dei font e degli oggetti: font specifici o oggetti che compaiono frequentemente in determinate classi possono influenzare l'apprendimento del modello.
- Spatial Bias: Imbalances in foreground-background, bounding box distributions, and object locations can affect training.
- Bias di etichetta e di dominio: etichette errate o spostamenti dei tipi di dati possono portare a perdite.
Rilevare le fughe di dati
Per individuare le perdite di dati, puoi:
- Controlla le prestazioni: Se i risultati del modello sono sorprendentemente buoni, potrebbe avere delle perdite.
- Guarda l'importanza delle funzioni: Se una caratteristica è molto più importante di altre, potrebbe indicare una perdita.
- Ispezione visiva: Verifica che le decisioni del modello abbiano un senso intuitivo.
- Verifica la separazione dei dati: Assicurati che i dati siano stati divisi correttamente prima di qualsiasi elaborazione.
Evitare la fuga di dati
Per evitare la perdita di dati, utilizza un set di dati diversificato con immagini o video provenienti da telecamere e ambienti diversi. Esamina attentamente i tuoi dati e verifica che non ci siano pregiudizi nascosti, come ad esempio che tutti i campioni positivi siano stati presi in un determinato momento della giornata. Evitare la perdita di dati ti aiuterà a rendere i tuoi modelli di computer vision più affidabili ed efficaci nelle situazioni reali.
Cosa succede dopo il test del modello
Dopo aver testato il tuo modello, i passi successivi dipendono dai risultati. Se il tuo modello funziona bene, puoi implementarlo in un ambiente reale. Se i risultati non sono soddisfacenti, dovrai apportare dei miglioramenti. Ciò potrebbe comportare l'analisi degli errori, la raccolta di altri dati, il miglioramento della qualità dei dati, la regolazione degli iperparametri e la riqualificazione del modello.
Partecipa alla conversazione sull'intelligenza artificiale
Entrare a far parte di una comunità di appassionati di computer vision può aiutare a risolvere i problemi e a imparare in modo più efficiente. Ecco alcuni modi per entrare in contatto, cercare aiuto e condividere i tuoi pensieri.
Risorse comunitarie
- GitHub Issues: Explore the YOLO11 GitHub repository and use the Issues tab to ask questions, report bugs, and suggest new features. The community and maintainers are very active and ready to help.
- Ultralytics Server Discord: Unisciti al server Discord diUltralytics per chattare con altri utenti e sviluppatori, ricevere supporto e condividere le tue esperienze.
Documentazione ufficiale
- Ultralytics YOLO11 Documentation: Check out the official YOLO11 documentation for detailed guides and helpful tips on various computer vision projects.
Queste risorse ti aiuteranno a superare le sfide e a rimanere aggiornato sulle ultime tendenze e pratiche della comunità della computer vision.
In sintesi
Building trustworthy computer vision models relies on rigorous model testing. By testing the model with previously unseen data, we can analyze it and spot weaknesses like overfitting and data leakage. Addressing these issues before deployment helps the model perform well in real-world applications. It's important to remember that model testing is just as crucial as model evaluation in guaranteeing the model's long-term success and effectiveness.
DOMANDE FREQUENTI
Quali sono le differenze principali tra la valutazione e il test dei modelli nella computer vision?
Model evaluation and model testing are distinct steps in a computer vision project. Model evaluation involves using a labeled dataset to compute metrics such as accuracy, precision, recall, and F1 score, providing insights into the model's performance with a controlled dataset. Model testing, on the other hand, assesses the model's performance in real-world scenarios by applying it to new, unseen data, ensuring the model's learned behavior aligns with expectations outside the evaluation environment. For a detailed guide, refer to the steps in a computer vision project.
How can I test my Ultralytics YOLO11 model on multiple images?
To test your Ultralytics YOLO11 model on multiple images, you can use the prediction mode. This mode allows you to run the model on new, unseen data to generate predictions without providing detailed metrics. This is ideal for real-world performance testing on larger image sets stored in a folder. For evaluating performance metrics, use the validation mode instead.
Cosa devo fare se il mio modello di computer vision mostra segni di overfitting o underfitting?
Per risolvere il problema dell 'overfitting:
- Regularization techniques like dropout.
- Aumenta la dimensione del dataset di allenamento.
- Semplificare l'architettura del modello.
Per risolvere il problema dell'underfitting:
- Usa un modello più complesso.
- Fornisci funzioni più rilevanti.
- Increase training iterations or epochs.
Rivedere le immagini mal classificate, eseguire un'analisi approfondita degli errori e monitorare regolarmente le metriche delle prestazioni per mantenere un equilibrio. Per maggiori informazioni su questi concetti, esplora la nostra sezione su Overfitting e Underfitting.
Come posso rilevare ed evitare la perdita di dati nella computer vision?
Per rilevare la fuga di dati:
- Verifica che le prestazioni del test non siano insolitamente elevate.
- Controlla l'importanza delle caratteristiche per ottenere informazioni inaspettate.
- Rivedere in modo intuitivo le decisioni del modello.
- Assicurati che la divisione dei dati sia corretta prima dell'elaborazione.
Per evitare la perdita di dati:
- Utilizza diversi set di dati con vari ambienti.
- Esamina attentamente i dati per individuare eventuali pregiudizi nascosti.
- Assicurati che non ci siano sovrapposizioni di informazioni tra gli insiemi di formazione e di test.
Per strategie dettagliate sulla prevenzione della perdita di dati, consulta la nostra sezione sulla perdita di dati nella Computer Vision.
Quali sono i passi da compiere dopo aver testato il mio modello di computer vision?
Dopo il test, se le prestazioni del modello soddisfano gli obiettivi del progetto, procedi con la distribuzione. Se i risultati non sono soddisfacenti, prendi in considerazione:
- Analisi degli errori.
- Raccogliere dati più diversificati e di alta qualità.
- Hyperparameter tuning.
- Riaddestramento del modello.
Ottieni informazioni dalla sezione Test del modello vs. Valutazione del modello. La sezione Valutazione del modello consente di perfezionare e migliorare l'efficacia del modello nelle applicazioni reali.
How do I run YOLO11 predictions without custom training?
You can run predictions using the pre-trained YOLO11 model on your dataset to see if it suits your application needs. Utilize the prediction mode to get a quick sense of performance results without diving into custom training.