YOLO Vision 2026:

Wie du Computer-Vision-Modelle testest#

Einführung#

Modelstests prüfen, wie sich ein trainiertes Modell auf zuvor ungesehenen Realdaten schlägt – bei bewegten, schlecht beleuchteten oder teilweise verdeckten Objekten statt in einem kuratierten Benchmark. Während die Modellevaluierung Kennzahlen auf einem annotierten Datensatz misst, stellt das Testen sicher, dass das erlernte Verhalten des Modells vor dem Deployment den Zielen deiner Anwendung entspricht. Dieser Leitfaden behandelt das Vorbereiten 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 🚀

Modelltest vs. Modellevaluierung#

Modelltest und Modellevaluierung sind zwei unterschiedliche Schritte in einem Computer-Vision-Projekt. Die Evaluierung misst die Leistung anhand von Kennzahlen auf einem annotierten Datensatz; das Testen prüft, ob das erlernte Verhalten des Modells unter Bedingungen standhält, die dem Deployment ähneln.

Angenommen, du hast ein Computer-Vision-Modell darauf trainiert, Katzen und Hunde zu erkennen, und möchtest dieses Modell in einer Tierhandlung einsetzen, um die Tiere zu überwachen. Während der Modellevaluierungsphase verwendest du einen annotierten Datensatz, um Metriken wie Genauigkeit, Präzision und Sensitivität zu berechnen. Beispielsweise könnte das Modell in einemgegebenen Datensatz mit 98 % Genauigkeit zwischen Katzen und Hunden 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.

Vorbereitung auf den Modelltest#

Computer-Vision-Datensätze werden normalerweise in Trainings- und Testsätze unterteilt, um reale Bedingungen zu simulieren: Trainingsdaten bringen dem Modell etwas bei, während Testdaten sein Verhalten an Beispielen überprüfen, die es noch nie gesehen hat. Die Ultralytics Platform hält die Organisation und Annotation von Datensätzen an einem Ort zusammen, was beim Aufbau eines annotierten Testsatzes hilft.

Bevor du testest
  • 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.

So 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.

Validierung auf einem gelabelten Test-Split#

Der Validierungsmodus vergleicht die Vorhersagen des Modells mit Ground-Truth-Labels und gibt für Erkennungsmodelle Präzision, Sensitivität, mAP50 und mAP50-95 aus. Er speichert auch visuelle Hilfsmittel wie eine Konfusionsmatrix und eine Precision-Recall-Kurve, mit denen du bestimmte Bereiche erkennen kannst, in denen das Modell möglicherweise nicht optimal abschneidet.

Verwendung
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-95

Standardmäßig wird die Validierung auf dem val-Split des Datensatzes ausgeführt. Um die Leistung auf einem separaten Test-Split zu messen, definiere einen test:-Split in deiner Dataset-YAML und übergebe split="test".

Vorhersage auf neuen Bildern#

Vorhersagemodus führt das Modell auf neuen, ungesehenen Daten aus, ohne dass Labels erforderlich sind. Er liefert zwar keine Leistungskennzahlen, aber das Speichern der annotierten Ausgaben ermöglicht es dir zu überprüfen, wie sich das Modell auf realen Bildern verhält – zum Beispiel in einem gesamten Ordner mit Testbildern auf einmal.

Verwendung
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)
Testen eines vortrainierten Modells vor einem benutzerdefinierten Training

Um zu prüfen, ob YOLO26 für deine Anwendung geeignet ist, bevor du in ein benutzerdefiniertes 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 einen schnellen Eindruck davon vermitteln, wie gut das Modell in deinem spezifischen Kontext abschneiden könnte.

Validierungs- vs. Vorhersagemodus#

ModusZweckErfordert LabelsAusgabe
ValidierungQuantifizierung der Leistung gegenüber Ground TruthJaPräzision, Recall, mAP50, mAP50-95, Konfusionsmatrix, PR-Kurven
VorhersageÜberprüfung des Modellverhaltens auf neuen, ungelabelten DatenNeinAnnotierte Bilder und Vorhersageergebnisse, keine Metriken

So 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.

Overfitting und Underfitting beim maschinellen Lernen#

Beim Testen eines Machine-Learning-Modells, insbesondere im Bereich Computer Vision, ist es wichtig, auf Overfitting und Underfitting zu achten. Diese Probleme können die Funktionsweise deines Modells mit neuen Daten erheblich beeinträchtigen.

ProblemHäufige AnzeichenWie man damit umgeht
OverfittingHohe Trainingsgenauigkeit, aber geringe Validierungsgenauigkeit; Überempfindlichkeit gegenüber kleinen Änderungen oder irrelevanten Details in BildernWende Regularisierung wie Dropout an, vergrößere den Trainingsdatensatz oder vereinfache die Modellarchitektur
UnderfittingGeringe Genauigkeit selbst im Trainingsset; beständiges Versagen bei der Erkennung offensichtlicher Merkmale oder ObjekteVerwende ein komplexeres Modell, stelle relevantere Features 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.

Comparison of underfitting, appropriate fitting, and overfitting on the same dataset

Data 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 VoreingenommenheitWas es bedeutet
Kamera-VoreingenommenheitUnterschiedliche Winkel, Beleuchtung, Schatten und Kamerabewegungen führen unerwünschte Muster ein
Overlay-VoreingenommenheitLogos, Zeitstempel oder andere Overlays in Bildern führen das Modell in die Irre
Schriftarten- und Objekt-VoreingenommenheitSpezifische Schriftarten oder Objekte, die häufig in bestimmten Klassen vorkommen, verzerren das Lernen des Modells
Räumliche VoreingenommenheitUngleichgewichte im Vorder- und Hintergrund, bei Bounding-Box-Verteilungen und Objektpositionen beeinträchtigen das Training
Label- und Domain-VoreingenommenheitFalsche Labels oder Verschiebungen in Datentypen führen zu Leckagen

So 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.

Was kommt nach dem Modelltest#

Nach dem Testen deines Modells hängen die nächsten Schritte von den Ergebnissen ab. Wenn dein Modell gute Leistungen erbringt, kannst du es in einer realen Umgebung deployen. Wenn die Ergebnisse nicht zufriedenstellend sind, musst du Verbesserungen vornehmen. Dies kann die Analyse von Fehlern, das Sammeln weiterer Daten, die Verbesserung der Datenqualität, das Anpassen von Hyperparametern und das erneute Training des Modells umfassen.

Fazit#

Gründliche Modelltests – Validierung auf einem separaten Test-Split, Vorhersagen auf realen Bildern sowie die Prüfung auf Overfitting und Data Leakage – machen aus einem gut evaluierten Modell ein zuverlässiges. Behebe die durch das Testen aufgedeckten Probleme vor dem Deployment, und dein Modell wird mit viel höherer Wahrscheinlichkeit wie gewünscht in der Produktion funktionieren. Wenn dabei Fragen auftreten, frage die Community im Ultralytics GitHub repository oder auf dem Ultralytics Discord server.

FAQ#

  • Modellevaluierung misst die Leistung mit Kennzahlen auf einem annotierten Datensatz, während beim Modelltest geprüft wird, wie sich das Modell auf neuen, ungesehenen Daten verhält, die den Deployment-Bedingungen ähneln. Die Evaluierung liefert Zahlen wie Präzision und mAP aus einem kontrollierten Datensatz; das Testen zeigt, ob das erlernte Verhalten bei unterschiedlichen Lichtverhältnissen, Bewegungen oder Verdeckungen standhält. Siehe Modelltest vs. Modellevaluierung für ein ausgearbeitetes Beispiel.

  • Verwende den Vorhersagemodus und übergebe einen Ordnerpfad als source – YOLO26 läuft auf jedem Bild im Ordner und kann die annotierten Ergebnisse zur Überprüfung speichern. Der Vorhersagemodus berechnet keine Metriken; um die Leistung in einem annotierten Satz zu quantifizieren, verwende stattdessen den Validierungsmodus. Beide Arbeitsabläufe werden unter So testest du ein YOLO26-Modell gezeigt.

  • Für Erkennungsmodelle meldet die Validierung Präzision, Sensitivität, mAP50 und mAP50-95 und speichert Diagramme einschließlich einer Konfusionsmatrix und einer Precision-Recall-Kurve. Um anstelle des Standard-Splits val an einem dedizierten Test-Split zu validieren, definiere test: in deiner Dataset-YAML und übergebe split="test". Im Leitfaden zu Leistungsmetriken erfährst du, wie du die einzelnen Metriken interpretierst.

  • Wende bei Overfitting Regularisierungstechniken wie Dropout an, vergrößere den Trainingsdatensatz oder vereinfache die Modellarchitektur. Verwende bei Underfitting ein komplexeres Modell, stelle relevantere Features bereit oder trainiere für mehr Epochen. Die Anzeichen für jedes Problem und die entsprechenden Korrekturen sind unter Overfitting und Underfitting im Machine Learning zusammengefasst.

  • Gehe von Data Leakage aus, wenn die Testleistung überraschend gut aussieht, ein einzelnes Feature die Vorhersagen dominiert oder die Entscheidungen des Modells keinen intuitiven Sinn ergeben. Verhindere dies, indem du diverse Datensätze von verschiedenen Kameras und Umgebungen verwendest, Daten auf versteckte Verzerrungen überprüfst und sicherstellst, dass der Train/Test-Split vor jeder Verarbeitung erfolgt ist. Siehe Data Leakage im Computer Vision für die gängigen Arten von Verzerrungen.

  • Wenn die Ergebnisse deinen Projektzielen entsprechen, deploye das Modell; wenn nicht, verbessere es vor dem Deployment. Das kann bedeuten, Fehler zu analysieren, vielfältigere Daten zu sammeln, die Datenqualität zu verbessern, Hyperparameter anzupassen und das Training zu wiederholen. Wiederhole das Testen nach jeder Änderungswelle, um zu bestätigen, dass die Korrekturen funktioniert haben.

Kommentare