Link to this sectionWie du Computer-Vision-Modelle testest#
Link to this sectionEinführung#
Beim Modelltest wird überprüft, wie sich ein trainiertes Modell auf bisher ungesehenen, realen Daten schlägt – also bei sich bewegenden, schlecht beleuchteten oder teilweise verdeckten Objekten statt nur anhand eines kuratierten Benchmarks. Während die Modellevaluierung Metriken auf einem gelabelten Datensatz misst, verifiziert der Test, ob das erlernte Verhalten des Modells vor der Bereitstellung mit den Zielen deiner Anwendung übereinstimmt. Dieser Leitfaden behandelt die Vorbereitung von Testdaten, das Testen von Ultralytics YOLO26-Modellen sowie das Erkennen von Overfitting, Underfitting und Data Leakage.
Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀
Link to this sectionModelltest vs. Modellevaluierung#
Modelltest und Modellevaluierung sind zwei unterschiedliche Schritte in einem Computer-Vision-Projekt. Die Evaluierung misst die Leistung mithilfe von Metriken auf einem gelabelten Datensatz; beim Testen wird geprüft, ob das erlernte Verhalten des Modells unter Bedingungen Bestand hat, die denen der Bereitstellung ähneln.
Angenommen, du hast ein Computer-Vision-Modell trainiert, um Katzen und Hunde zu erkennen, und möchtest dieses Modell in einem Tiergeschäft einsetzen, um die Tiere zu überwachen. Während der Phase der Modellevaluierung verwendest du einen gelabelten Datensatz, um Metriken wie Genauigkeit, Präzision und Recall zu berechnen. Zum Beispiel könnte das Modell in einem gegebenen Datensatz Katzen und Hunde mit 98 % Genauigkeit unterscheiden.
Nach der Evaluierung testest du das Modell mit Bildern aus dem Tiergeschäft, um zu sehen, wie gut es Katzen und Hunde unter variableren und realistischeren Bedingungen erkennt. Du prüfst, ob es Katzen und Hunde korrekt labeln kann, wenn sie sich bewegen, bei unterschiedlichen Lichtverhältnissen oder wenn sie teilweise durch Gegenstände wie Spielzeug oder Möbel verdeckt sind. Der Modelltest stellt sicher, dass sich das Modell außerhalb der kontrollierten Evaluierungsumgebung wie erwartet verhält.
Link to this sectionVorbereitung auf den Modelltest#
Computer-Vision-Datensätze werden normalerweise in Trainings- und Testsets unterteilt, um reale Bedingungen zu simulieren: Trainingsdaten bringen dem Modell etwas bei, während Testdaten sein Verhalten an Beispielen verifizieren, die es noch nie zuvor gesehen hat. Die Ultralytics Plattform bündelt die Organisation und Annotation von Datensätzen an einem Ort, was beim Erstellen eines gelabelten Testsets hilfreich ist.
- Realistische Repräsentation: Die bisher ungesehenen Testdaten sollten den Daten ähneln, die das Modell nach der Bereitstellung verarbeiten wird. Dies ergibt ein realistisches Bild der Fähigkeiten des Modells.
- Ausreichende Größe: Der Testdatensatz muss groß genug sein, um zuverlässige Erkenntnisse über die Leistung des Modells zu liefern.
Link to this sectionSo testest du ein YOLO26-Modell#
Das Testen eines trainierten YOLO26-Modells umfasst zwei sich ergänzende Arbeitsabläufe: die Validierung auf einem gelabelten Test-Split, um quantitative Metriken zu erhalten, und die Vorhersage auf neuen Bildern, um das Verhalten qualitativ zu überprüfen.
Link to this sectionValidierung auf einem gelabelten Test-Split#
Der Validierungsmodus vergleicht die Vorhersagen des Modells mit den Ground-Truth-Labels und meldet Präzision, Recall, mAP50 und mAP50-95 für Erkennungsmodelle. Er speichert zudem visuelle Hilfsmittel wie eine Konfusionsmatrix und eine Precision-Recall-Kurve, die dir helfen, spezifische Bereiche zu identifizieren, in denen das Modell möglicherweise nicht gut abschneidet.
from ultralytics import YOLO
# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")
# Validate; add split="test" if your dataset YAML defines a test split
metrics = model.val(data="coco8.yaml")
print(metrics.box.map) # mAP50-95Standardmäßig wird die Validierung auf dem val-Split des Datensatzes ausgeführt. Um die Leistung auf einem dedizierten Testset zu messen, definiere einen test:-Split in deinem Datensatz-YAML und übergebe split="test".
Link to this sectionVorhersage auf neuen Bildern#
Der Vorhersagemodus führt das Modell auf neuen, ungesehenen Daten aus, ohne dass Labels erforderlich sind. Er liefert keine Leistungsmetriken, aber das Speichern der annotierten Ausgaben ermöglicht es dir, das Verhalten des Modells an realen Bildern zu überprüfen – zum Beispiel für einen ganzen Ordner mit Testbildern auf einmal.
from ultralytics import YOLO
# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")
# Run predictions on a folder of test images and save annotated results
results = model.predict(source="path/to/test_images", save=True)Um zu prüfen, ob YOLO26 für deine Anwendung geeignet ist, bevor du in ein individuelles Training investierst, führe den Vorhersagemodus mit einem vortrainierten Checkpoint auf deinen eigenen Bildern aus. Die Modelle sind auf Datensätzen wie COCO vortrainiert, sodass die Ergebnisse schnell zeigen, wie gut das Modell in deinem spezifischen Kontext abschneiden könnte.
Link to this sectionValidierungs- vs. Vorhersagemodus#
| Modus | Zweck | Erfordert Labels | Ausgabe |
|---|---|---|---|
| Validierung | Quantifizierung der Leistung gegenüber Ground Truth | Ja | Präzision, Recall, mAP50, mAP50-95, Konfusionsmatrix, PR-Kurven |
| Vorhersage | Überprüfung des Modellverhaltens auf neuen, ungelabelten Daten | Nein | Annotierte Bilder und Vorhersageergebnisse, keine Metriken |
Link to this sectionSo analysierst du Testergebnisse#
Sobald Vorhersagen und Metriken vorliegen, untersuche, wo und warum das Modell versagt:
- Fehlklassifizierte Bilder: Identifiziere und überprüfe Bilder, die das Modell falsch klassifiziert hat, um zu verstehen, wo Fehler passieren.
- Fehleranalyse: Führe eine gründliche Fehleranalyse durch, um die Arten von Fehlern (z. B. False Positives vs. False Negatives) und deren mögliche Ursachen zu verstehen.
- Voreingenommenheit und Fairness: Prüfe auf Voreingenommenheiten in den Vorhersagen des Modells. Stelle sicher, dass das Modell über verschiedene Datenteilmengen hinweg gleich gut funktioniert, insbesondere wenn sensible Attribute wie Rasse, Geschlecht oder Alter enthalten sind.
Link to this sectionOverfitting und Underfitting beim maschinellen Lernen#
Beim Testen eines Machine-Learning-Modells, insbesondere bei Computer Vision, ist es wichtig, auf Overfitting und Underfitting zu achten. Diese Probleme können erheblichen Einfluss darauf haben, wie gut dein Modell mit neuen Daten funktioniert.
| Problem | Häufige Anzeichen | Wie man damit umgeht |
|---|---|---|
| Overfitting | Hohe Trainingsgenauigkeit, aber geringe Validierungsgenauigkeit; Überempfindlichkeit gegenüber kleinen Änderungen oder irrelevanten Details in Bildern | Wende Regularisierung wie Dropout an, vergrößere den Trainingsdatensatz, vereinfache die Modellarchitektur |
| Underfitting | Geringe Genauigkeit selbst im Trainingsset; beständiges Versagen bei der Erkennung offensichtlicher Merkmale oder Objekte | Verwende ein komplexeres Modell, stelle relevantere Merkmale bereit, erhöhe die Trainings-Epochen |
Der Schlüssel ist ein Gleichgewicht, damit das Modell sowohl auf Trainings- als auch auf Validierungsdatensätzen gut funktioniert. Die regelmäßige Überwachung der Metriken und die visuelle Inspektion der Vorhersagen während des Tests helfen dir, eine Drift in Richtung eines der beiden Extreme zu erkennen.
Link to this sectionData Leakage bei Computer Vision und wie man es vermeidet#
Data Leakage tritt auf, wenn Informationen von außerhalb des Trainingsdatensatzes versehentlich zum Trainieren des Modells verwendet werden. Das Modell mag während des Trainings sehr genau erscheinen, aber es wird bei neuen, ungesehenen Daten nicht gut funktionieren, wenn Data Leakage vorliegt.
Leckagen können schwer zu erkennen sein und entstehen oft durch verborgene Verzerrungen in den Trainingsdaten:
| Art der Voreingenommenheit | Was es bedeutet |
|---|---|
| Kamera-Voreingenommenheit | Unterschiedliche Winkel, Beleuchtung, Schatten und Kamerabewegungen führen unerwünschte Muster ein |
| Overlay-Voreingenommenheit | Logos, Zeitstempel oder andere Overlays in Bildern führen das Modell in die Irre |
| Schriftarten- und Objekt-Voreingenommenheit | Spezifische Schriftarten oder Objekte, die häufig in bestimmten Klassen vorkommen, verzerren das Lernen des Modells |
| Räumliche Voreingenommenheit | Ungleichgewichte in Vordergrund-Hintergrund-Verteilungen, Bounding-Box-Verteilungen und Objektpositionen beeinflussen das Training |
| Label- und Domain-Voreingenommenheit | Falsche Labels oder Verschiebungen in Datentypen führen zu Leckagen |
Link to this sectionSo erkennst und vermeidest du Data Leakage#
Um Data Leakage zu finden, prüfe, ob die Ergebnisse des Modells überraschend gut sind, untersuche, ob ein Merkmal deutlich wichtiger ist als andere, stelle sicher, dass die Entscheidungen des Modells intuitiv sinnvoll sind, und verifiziere, dass die Daten vor jeder Verarbeitung korrekt unterteilt wurden.
Um es zu verhindern, verwende einen vielfältigen Datensatz mit Bildern oder Videos aus verschiedenen Kameras und Umgebungen und überprüfe deine Daten sorgfältig auf verborgene Verzerrungen – wie zum Beispiel, dass alle positiven Beispiele zu einer bestimmten Tageszeit aufgenommen wurden. Die Vermeidung von Data Leakage macht deine Computer-Vision-Modelle in realen Situationen zuverlässiger.
Link to this sectionWas kommt nach dem Modelltest#
Nach dem Testen deines Modells hängen die nächsten Schritte von den Ergebnissen ab. Wenn dein Modell gut abschneidet, kannst du es in einer realen Umgebung bereitstellen. Wenn die Ergebnisse nicht zufriedenstellend sind, musst du Verbesserungen vornehmen. Dies könnte die Fehleranalyse, das Sammeln weiterer Daten, die Verbesserung der Datenqualität, das Anpassen der Hyperparameter und das erneute Trainieren des Modells umfassen.
Link to this sectionFazit#
Ein gründlicher Modelltest – Validierung auf einem separaten Test-Split, Vorhersage auf realen Bildern und Überprüfung auf Overfitting und Data Leakage – macht aus einem gut evaluierten Modell ein zuverlässiges. Behebe die Probleme, die der Test aufdeckt, vor der Bereitstellung, dann ist die Wahrscheinlichkeit viel höher, dass dein Modell in der Produktion wie beabsichtigt funktioniert. Falls währenddessen Fragen aufkommen, frage die Community im Ultralytics GitHub Repository oder auf dem Ultralytics Discord-Server.
Link to this sectionFAQ#
Link to this sectionWas sind die Hauptunterschiede zwischen Modellevaluierung und Modelltest bei Computer Vision?#
Die Modellevaluierung misst die Leistung mit Metriken auf einem gelabelten Datensatz, während der Modelltest prüft, wie sich das Modell auf neuen, ungesehenen Daten verhält, die den Einsatzbedingungen ähneln. Die Evaluierung liefert Zahlen wie Präzision und mAP aus einem kontrollierten Datensatz; beim Testen zeigt sich, ob das erlernte Verhalten bei unterschiedlicher Beleuchtung, Bewegung oder Verdeckung Bestand hat. Siehe Modelltest vs. Modellevaluierung für ein praktisches Beispiel.
Link to this sectionWie kann ich mein Ultralytics YOLO26-Modell auf mehreren Bildern testen?#
Verwende den Vorhersagemodus und übergebe einen Ordnerpfad als source – YOLO26 wird auf jedes Bild in dem Ordner angewendet und kann die annotierten Ergebnisse zur Überprüfung speichern. Der Vorhersagemodus berechnet keine Metriken; um die Leistung auf einem gelabelten Set zu quantifizieren, verwende stattdessen den Validierungsmodus. Beide Arbeitsabläufe werden in So testest du ein YOLO26-Modell gezeigt.
Link to this sectionWelche Metriken meldet die YOLO26-Validierung auf einem Testset?#
Für Erkennungsmodelle meldet die Validierung Präzision, Recall, mAP50 und mAP50-95 und speichert Diagramme, einschließlich einer Konfusionsmatrix und einer Precision-Recall-Kurve. Um auf einem dedizierten Test-Split statt auf dem standardmäßigen val-Split zu validieren, definiere test: in deinem Datensatz-YAML und übergebe split="test". Siehe den Leitfaden zu Leistungsmetriken für Informationen zur Interpretation der einzelnen Metriken.
Link to this sectionWas soll ich tun, wenn mein Computer-Vision-Modell Anzeichen von Overfitting oder Underfitting zeigt?#
Bei Overfitting wende Regularisierungstechniken wie Dropout an, vergrößere den Trainingsdatensatz oder vereinfache die Modellarchitektur. Bei Underfitting verwende ein komplexeres Modell, stelle relevantere Merkmale bereit oder trainiere für mehr Epochen. Die Anzeichen für jedes Problem und die entsprechenden Lösungen sind in Overfitting und Underfitting beim maschinellen Lernen zusammengefasst.
Link to this sectionWie kann ich Data Leakage bei Computer Vision erkennen und vermeiden?#
Vermute Data Leakage, wenn die Testleistung überraschend gut aussieht, ein einzelnes Merkmal die Vorhersagen dominiert oder die Entscheidungen des Modells intuitiv keinen Sinn ergeben. Verhindere dies, indem du vielfältige Datensätze aus verschiedenen Kameras und Umgebungen verwendest, Daten auf verborgene Verzerrungen überprüfst und verifizierst, dass die Train/Test-Aufteilung vor jeder Verarbeitung erfolgte. Siehe Data Leakage bei Computer Vision für die häufigen Arten von Voreingenommenheiten.
Link to this sectionWelche Schritte sollte ich nach dem Testen meines Computer-Vision-Modells unternehmen?#
Wenn die Ergebnisse deine Projektziele erfüllen, stelle das Modell bereit; wenn nicht, verbessere es vor der Bereitstellung. Das kann bedeuten, Fehler zu analysieren, vielfältigere Daten zu sammeln, die Datenqualität zu verbessern, Hyperparameter abzustimmen und das Modell erneut zu trainieren. Wiederhole den Test nach jeder Runde von Änderungen, um sicherzustellen, dass die Korrekturen funktioniert haben.