Zum Inhalt springen

Ein Leitfaden zur Modellprüfung

Einführung

Nachdem du dein Modell trainiert und ausgewertet hast, ist es an der Zeit, es zu testen. Beim Testen des Modells wird geprüft, wie gut es in realen Szenarien funktioniert. Bei der Prüfung werden Faktoren wie Genauigkeit, Zuverlässigkeit, Fairness und Nachvollziehbarkeit der Entscheidungen des Modells berücksichtigt. Das Ziel ist es, sicherzustellen, dass das Modell wie vorgesehen funktioniert, die erwarteten Ergebnisse liefert und zum Gesamtziel deiner Anwendung oder deines Projekts passt.

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.

Modellprüfung vs. Modellbewertung

Zunächst wollen wir den Unterschied zwischen Modellbewertung und -prüfung anhand eines Beispiels verstehen.

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.

Nach der Auswertung testest du das Modell mit Bildern aus einer Tierhandlung, um zu sehen, wie gut es Katzen und Hunde unter verschiedenen und realistischen Bedingungen erkennt. Du überprüfst, ob das Modell Katzen und Hunde richtig zuordnen kann, wenn sie sich bewegen, unterschiedliche Lichtverhältnisse herrschen oder sie teilweise von Gegenständen wie Spielzeug oder Möbeln verdeckt werden. Beim Modelltest wird überprüft, ob sich das Modell außerhalb der kontrollierten Testumgebung wie erwartet verhält.

Vorbereitung auf die Modellprüfung

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.

Hier sind zwei Punkte, die du beachten solltest, bevor du dein Modell testest:

  • Realistische Darstellung: Die zuvor ungesehenen Testdaten sollten den Daten ähneln, die das Modell beim Einsatz verarbeiten muss. Das hilft, ein realistisches Bild von den Fähigkeiten des Modells zu bekommen.
  • Ausreichende Größe: Die Größe des Testdatensatzes muss groß genug sein, um verlässliche Erkenntnisse über die Leistungsfähigkeit des Modells zu liefern.

Teste dein Computer Vision Modell

Hier sind die wichtigsten Schritte, die du unternehmen musst, um dein Computer Vision Modell zu testen und seine Leistung zu verstehen.

  • Vorhersagen durchführen: Verwende das Modell, um Vorhersagen für den Testdatensatz zu treffen.
  • Vorhersagen vergleichen: Überprüfe, wie gut die Vorhersagen des Modells mit den tatsächlichen Beschriftungen (Ground Truth) übereinstimmen.
  • Berechne Leistungsmetriken: Berechne Metriken wie Genauigkeit, Präzision, Wiedererkennung und F1-Score, um die Stärken und Schwächen des Modells zu verstehen. Beim Testen geht es darum, wie diese Kennzahlen die Leistung in der Realität widerspiegeln.
  • Ergebnisse visualisieren: Erstelle visuelle Hilfsmittel wie Konfusionsmatrizen und ROC-Kurven. Diese helfen dir, bestimmte Bereiche zu erkennen, in denen das Modell in der Praxis nicht gut funktioniert.

Anschließend können die Testergebnisse analysiert werden:

  • Falsch klassifizierte Bilder: Identifiziere und überprüfe Bilder, die das Modell falsch klassifiziert hat, um zu verstehen, wo der Fehler liegt.
  • Fehleranalyse: Führe eine gründliche Fehleranalyse durch, um die Arten von Fehlern (z. B. falsch-positive und falsch-negative) und ihre möglichen Ursachen zu verstehen.
  • Verzerrungen und Fairness: Überprüfe die Vorhersagen des Modells auf mögliche Verzerrungen. Vergewissere dich, dass das Modell in verschiedenen Untergruppen der Daten gleich gut funktioniert, vor allem wenn es sensible Merkmale wie Rasse, Geschlecht oder Alter enthält.

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.

Unterschied zwischen Validierungs- und Prognosemodus

  • Validierungsmodus: Wird verwendet, um die Leistung des Modells zu bewerten, indem Vorhersagen mit bekannten Kennzeichnungen (Ground Truth) verglichen werden. Er liefert detaillierte Metriken wie Genauigkeit, Präzision, Wiedererkennung und F1-Score.
  • Vorhersagemodus: Hier kannst du das Modell auf neue, ungesehene Daten anwenden, um Vorhersagen zu treffen. Er liefert keine detaillierten Leistungskennzahlen, aber du kannst sehen, wie das Modell bei realen Bildern abschneidet.

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

Beim Testen eines maschinellen Lernmodells, vor allem im Bereich Computer Vision, ist es wichtig, auf Über- und Unteranpassung zu achten. Diese Probleme können sich erheblich darauf auswirken, wie gut dein Modell mit neuen Daten funktioniert.

Überanpassung

Eine Überanpassung liegt vor, wenn dein Modell die Trainingsdaten zu gut lernt, einschließlich des Rauschens und der Details, die sich nicht auf neue Daten übertragen lassen. In der Computer Vision bedeutet das, dass dein Modell mit den Trainingsbildern gut zurechtkommt, aber mit neuen Bildern Schwierigkeiten hat.

Anzeichen für 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.
  • Visuelle Inspektion: Manchmal kannst du eine Überanpassung feststellen, wenn dein Modell zu empfindlich auf kleine Veränderungen oder irrelevante Details in den Bildern reagiert.

Underfitting

Unteranpassung liegt vor, wenn dein Modell die zugrunde liegenden Muster in den Daten nicht erfassen kann. In der Computer Vision erkennt ein unzureichend angepasstes Modell möglicherweise nicht einmal die Objekte in den Trainingsbildern richtig.

Anzeichen für Unterversorgung

  • Geringe Trainingsgenauigkeit: Wenn dein Modell in der Trainingsmenge keine hohe Genauigkeit erreicht, passt es sich möglicherweise nicht richtig an.
  • Visuelle Fehlklassifizierung: Wenn offensichtliche Merkmale oder Objekte nicht erkannt werden, deutet dies auf eine unzureichende Anpassung hin.

Ausgleich zwischen Overfitting und Underfitting

Der Schlüssel liegt darin, ein Gleichgewicht zwischen Overfitting und Underfitting zu finden. Im Idealfall sollte ein Modell sowohl in den Trainings- als auch in den Validierungsdatensätzen gut abschneiden. Wenn du die Leistung deines Modells regelmäßig anhand von Metriken und visuellen Inspektionen überprüfst und die richtigen Strategien anwendest, kannst du die besten Ergebnisse erzielen.

Überblick über Overfitting und Underfitting

Datenlecks in der Computer Vision und wie man sie vermeidet

Beim Testen deines Modells ist es wichtig, Datenverluste zu berücksichtigen. Ein Datenleck entsteht, wenn Informationen von außerhalb des Trainingsdatensatzes versehentlich zum Trainieren des Modells verwendet werden. Das Modell kann während des Trainings sehr genau erscheinen, aber es wird bei neuen, ungesehenen Daten nicht gut abschneiden, wenn Datenlecks auftreten.

Warum es zu Datenlecks kommt

Datenlecks können schwer zu erkennen sein und entstehen oft durch versteckte Verzerrungen in den Trainingsdaten. Hier sind einige gängige Möglichkeiten, wie dies in der Computer Vision passieren kann:

  • Kameraschwankungen: Unterschiedliche Winkel, Beleuchtung, Schatten und Kamerabewegungen können unerwünschte Muster erzeugen.
  • Overlay Bias: Logos, Zeitstempel oder andere Overlays in Bildern können das Modell in die Irre führen.
  • Schriftart- und Objektverzerrung: Bestimmte Schriftarten oder Objekte, die häufig in bestimmten Klassen vorkommen, können die Lernleistung des Modells beeinträchtigen.
  • Spatial Bias: Imbalances in foreground-background, bounding box distributions, and object locations can affect training.
  • Label und Domain Bias: Falsche Labels oder Verschiebungen der Datentypen können zu Lecks führen.

Datenlecks aufspüren

Um Datenlecks zu finden, kannst du:

  • Prüfe die Leistung: Wenn die Ergebnisse des Modells überraschend gut sind, könnte es undicht sein.
  • Achte auf die Wichtigkeit der Merkmale: Wenn ein Merkmal viel wichtiger ist als andere, könnte das ein Hinweis auf ein Leck sein.
  • Visuelle Inspektion: Überprüfe, ob die Entscheidungen des Modells intuitiv sinnvoll sind.
  • Überprüfe die Datentrennung: Vergewissere dich, dass die Daten vor der Verarbeitung richtig aufgeteilt wurden.

Vermeiden von Datenlecks

Um Datenlecks zu vermeiden, solltest du einen vielfältigen Datensatz mit Bildern oder Videos von verschiedenen Kameras und Umgebungen verwenden. Prüfe deine Daten sorgfältig und stelle sicher, dass es keine versteckten Verzerrungen gibt, z. B. dass alle positiven Proben zu einer bestimmten Tageszeit aufgenommen wurden. Wenn du Datenlecks vermeidest, werden deine Bildverarbeitungsmodelle in der Praxis zuverlässiger und effektiver.

Was kommt nach der Modellprüfung?

Nachdem du dein Modell getestet hast, hängen die nächsten Schritte von den Ergebnissen ab. Wenn dein Modell gut abschneidet, kannst du es in einer realen Umgebung einsetzen. Wenn die Ergebnisse nicht zufriedenstellend sind, musst du Verbesserungen vornehmen. Das kann bedeuten, dass du Fehler analysierst, mehr Daten sammelst, die Datenqualität verbesserst, Hyperparameter anpasst und das Modell neu trainierst.

Beteilige dich an der KI-Konversation

Teil einer Gemeinschaft von Computer Vision Enthusiasten zu werden, kann dabei helfen, Probleme zu lösen und effizienter zu lernen. Hier sind einige Möglichkeiten, sich zu vernetzen, Hilfe zu suchen und deine Gedanken zu teilen.

Ressourcen der Gemeinschaft

  • 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 Discord Server: Tritt dem Ultralytics Discord-Server bei, um mit anderen Nutzern und Entwicklern zu chatten, Unterstützung zu erhalten und deine Erfahrungen zu teilen.

Offizielle Dokumentation

  • Ultralytics YOLO11 Documentation: Check out the official YOLO11 documentation for detailed guides and helpful tips on various computer vision projects.

Diese Ressourcen werden dir helfen, Herausforderungen zu meistern und über die neuesten Trends und Praktiken in der Computer Vision Community auf dem Laufenden zu bleiben.

In der Zusammenfassung

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.

FAQ

Was sind die wichtigsten Unterschiede zwischen Modellevaluation und Modelltest in der 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.

Was soll ich tun, wenn mein Bildverarbeitungsmodell Anzeichen von Overfitting oder Underfitting zeigt?

Um Overfitting zu vermeiden:

  • Regularization techniques like dropout.
  • Erhöhe die Größe des Trainingsdatensatzes.
  • Vereinfache die Modellarchitektur.

Um eine Unteranpassung zu vermeiden:

  • Verwende ein komplexeres Modell.
  • Biete mehr relevante Funktionen an.
  • Increase training iterations or epochs.

Überprüfe falsch klassifizierte Bilder, führe eine gründliche Fehleranalyse durch und verfolge regelmäßig die Leistungskennzahlen, um ein Gleichgewicht zu erhalten. Weitere Informationen zu diesen Konzepten findest du in unserem Abschnitt zu Overfitting und Underfitting.

Wie kann ich Datenlecks in der Computer Vision erkennen und vermeiden?

Um Datenlecks zu entdecken:

  • Überprüfe, ob die Testleistung nicht ungewöhnlich hoch ist.
  • Überprüfe die Bedeutung von Merkmalen für unerwartete Erkenntnisse.
  • Überprüfe Modellentscheidungen intuitiv.
  • Achte vor der Verarbeitung auf eine korrekte Dateneinteilung.

Um Datenverluste zu vermeiden:

  • Verwende verschiedene Datensätze mit unterschiedlichen Umgebungen.
  • Prüfe die Daten sorgfältig auf versteckte Verzerrungen.
  • Achte darauf, dass sich keine Informationen zwischen Trainings- und Testgruppen überschneiden.

Detaillierte Strategien zur Vermeidung von Datenlecks findest du in unserem Abschnitt über Datenlecks in der Computer Vision.

Welche Schritte sollte ich unternehmen, nachdem ich mein Computer Vision Modell getestet habe?

Wenn die Leistung des Modells nach dem Test den Projektzielen entspricht, kannst du mit der Einführung fortfahren. Wenn die Ergebnisse nicht zufriedenstellend sind, überlege:

  • Fehleranalyse.
  • Sammeln von vielfältigeren und hochwertigeren Daten.
  • Hyperparameter tuning.
  • Das Modell neu trainieren.

Erfahre im Abschnitt " Modellprüfung vs. Modellbewertung, um die Effektivität von Modellen in der Praxis zu verbessern und zu erhöhen.

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.

📅 Created 4 months ago ✏️ Updated 1 month ago

Kommentare