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.

Die Modellprüfung ist der Modellbewertung sehr ähnlich, aber es sind zwei unterschiedliche Schritte in einem Computer Vision Projekt. Bei der Modellbewertung wird die Genauigkeit des Modells mit Hilfe von Metriken und Diagrammen beurteilt. Bei der Modellprüfung hingegen wird überprüft, ob das gelernte Verhalten des Modells den Erwartungen entspricht. In diesem Leitfaden stellen wir dir Strategien zum Testen deiner Computer Vision Modelle vor.

Modellprüfung vs. Modellbewertung

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

Angenommen, du hast ein Computer-Vision-Modell zur Erkennung von Katzen und Hunden trainiert und möchtest dieses Modell in einer Tierhandlung zur Überwachung der Tiere einsetzen. Während der Evaluierungsphase des Modells verwendest du einen beschrifteten Datensatz, um Kennzahlen wie Genauigkeit, Präzision, Wiedererkennung und F1-Score zu berechnen. Das Modell könnte zum Beispiel eine Genauigkeit von 98 % bei der Unterscheidung zwischen Katzen und Hunden in einem bestimmten Datensatz haben.

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-Modelle lernen aus Datensätzen, indem sie Muster erkennen, Vorhersagen treffen und ihre Leistung bewerten. Diese Datensätze werden in der Regel in Trainings- und Testdaten unterteilt, um reale Bedingungen zu simulieren. Anhand der Trainingsdaten lernt das Modell, während die Testdaten die Genauigkeit des Modells überprüfen.

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.

Teste dein YOLOv8 Modell

Um dein YOLOv8 Modell zu testen, kannst du den Validierungsmodus verwenden. Das ist eine einfache Möglichkeit, um die Stärken des Modells und die Bereiche, die verbessert werden müssen, zu verstehen. Außerdem musst du deinen Testdatensatz für YOLOv8 richtig formatieren. Weitere Informationen zur Verwendung des Validierungsmodus findest du auf der Dokumentseite zur Modellvalidierung.

YOLOv8 zur Vorhersage auf mehreren Testbildern verwenden

Wenn du dein trainiertes YOLOv8 Modell an mehreren in einem Ordner gespeicherten Bildern testen möchtest, kannst du dies ganz einfach in einem Durchgang tun. Anstatt den Validierungsmodus zu verwenden, der in der Regel dazu dient, die Leistung des Modells an einem Validierungssatz zu bewerten und detaillierte Metriken zu liefern, möchtest du vielleicht nur die Vorhersagen für alle Bilder in deinem Testsatz sehen. Hierfür kannst du den Vorhersagemodus verwenden.

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.

YOLOv8 Vorhersagen ohne eigenes Training durchführen

Wenn du das Basismodell von YOLOv8 testen möchtest, um herauszufinden, ob es ohne eigenes Training für deine Anwendung geeignet ist, kannst du den Vorhersagemodus verwenden. Auch wenn das Modell bereits auf Datensätzen wie COCO trainiert wurde, kannst du durch Vorhersagen auf deinem eigenen Datensatz schnell herausfinden, wie gut es in deinem speziellen Kontext funktionieren könnte.

Overfitting und Underfitting beim maschinellen Lernen

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

  • Hohe Trainingsgenauigkeit, niedrige Validierungsgenauigkeit: Wenn dein Modell bei den Trainingsdaten sehr gut abschneidet, bei den Validierungs- oder Testdaten aber schlecht, ist es wahrscheinlich überangepasst.
  • 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.
  • Räumliche Verzerrung: Ungleichgewichte bei der Verteilung von Vordergrund und Hintergrund, Bounding Boxen und Objektpositionen können das Training beeinflussen.
  • 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: Erkunde das YOLOv8 GitHub Repository und nutze die Registerkarte Issues, um Fragen zu stellen, Fehler zu melden und neue Funktionen vorzuschlagen. Die Community und die Betreuer sind sehr aktiv und bereit zu helfen.
  • 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 YOLOv8 Dokumentation: In der offiziellen Dokumentation YOLOv8 findest du ausführliche Anleitungen und hilfreiche Tipps zu verschiedenen Computer Vision Projekten.

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

Die Entwicklung zuverlässiger Computer-Vision-Modelle beruht auf rigorosen Modelltests. Indem wir das Modell mit zuvor ungesehenen Daten testen, können wir es analysieren und Schwachstellen wie Überanpassung und Datenlecks aufdecken. Wenn diese Probleme vor dem Einsatz behoben werden, kann das Modell in realen Anwendungen gut funktionieren. Es ist wichtig, daran zu denken, dass das Testen von Modellen genauso wichtig ist wie die Modellbewertung, um den langfristigen Erfolg und die Effektivität des Modells zu gewährleisten.

FAQ

Was sind die wichtigsten Unterschiede zwischen Modellevaluation und Modelltest in der Computer Vision?

Modellevaluierung und Modelltests sind unterschiedliche Schritte in einem Computer Vision Projekt. Bei der Modellevaluierung wird ein markierter Datensatz verwendet, um Kennzahlen wie Genauigkeit, Präzision, Wiedererkennungswert und F1-Punktzahl zu berechnen, die Aufschluss über die Leistung des Modells mit einem kontrollierten Datensatz geben. Beim Testen des Modells hingegen wird die Leistung des Modells in realen Szenarien bewertet, indem es auf neue, ungesehene Daten angewendet wird. Eine detaillierte Anleitung findest du in den Schritten eines Computer Vision Projekts.

Wie kann ich mein Ultralytics YOLOv8 Modell an mehreren Bildern testen?

Um dein Ultralytics YOLOv8 Modell an mehreren Bildern zu testen, kannst du den Vorhersagemodus verwenden. In diesem Modus kannst du das Modell auf neue, ungesehene Daten anwenden, um Vorhersagen zu erstellen, ohne detaillierte Metriken zu liefern. Dies ist ideal für Leistungstests mit größeren Bildmengen, die in einem Ordner gespeichert sind. Für die Auswertung von Leistungskennzahlen solltest du stattdessen den Validierungsmodus verwenden.

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

Um Overfitting zu vermeiden:

  • Regularisierungstechniken wie 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.
  • Erhöhe die Anzahl der Trainingswiederholungen oder Epochen.

Ü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.
  • Abstimmung der Hyperparameter.
  • 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.

Wie mache ich YOLOv8 Vorhersagen ohne eigenes Training?

Du kannst Vorhersagen mit dem vortrainierten YOLOv8 Modell auf deinem Datensatz durchführen, um zu sehen, ob es für deine Anwendung geeignet ist. Nutze den Vorhersagemodus, um ein schnelles Gefühl für die Leistungsergebnisse zu bekommen, ohne ein eigenes Training durchführen zu müssen.



Erstellt am 2024-07-04, Aktualisiert am 2024-07-05
Autoren: glenn-jocher (2), abirami-vina (1)

Kommentare