Meet YOLO26: next-gen vision AI.

Link to this sectionDatenvorverarbeitungstechniken für annotierte Computer-Vision-Daten#

Die Datenvorverarbeitung wandelt rohe, annotierte Bilder in saubere und konsistente Eingabedaten um, die ein Computer-Vision-Modell für ein optimales Training benötigt. Bei Ultralytics YOLO26 laufen die grundlegenden Pixeloperationen – RGB-Konvertierung, Skalierung auf [0, 1] und Größenanpassung – automatisch innerhalb der Trainings-Pipeline ab. Die verbleibenden Aufgaben sind daher die korrekte Aufteilung deines Datensatzes, der Ausgleich von Klassen und die Auswahl von Augmentierungen. Dieser Leitfaden behandelt diese wesentlichen Techniken: Größenanpassung, Normalisierung, Datensatzaufteilung, Datenaugmentierung und explorative Datenanalyse (EDA).



Watch: How to Use Data Preprocessing and Augmentation to Improve Model Accuracy in Real-World Scenarios 🚀

Dieser Schritt erfolgt, nachdem du deine Projektziele definiert sowie deine Daten gesammelt und annotiert hast, und er befindet sich früh im Computer-Vision-Projekt-Workflow.

Link to this sectionWarum Vorverarbeitung wichtig ist#

Durch die Vorverarbeitung werden deine Daten in ein Format gebracht, das die Rechenlast reduziert und die Modellleistung verbessert. Sie adressiert drei häufige Probleme in Rohdaten:

  • Rauschen: Irrelevante oder zufällige Variationen in den Daten.
  • Inkonsistenz: Variationen in Bildgrößen, Formaten und Qualität.
  • Ungleichgewicht: Ungleiche Verteilung von Klassen oder Kategorien im gesamten Datensatz.

Link to this sectionVorverarbeitungstechniken#

Die wichtigsten Techniken sind Größenanpassung, Normalisierung, Datensatzaufteilung und Augmentierung. Bei YOLO26 erfolgen die ersten beiden automatisch, während deine Entscheidungen bei der Aufteilung und Augmentierung am meisten ins Gewicht fallen.

Link to this sectionBilder skalieren#

Viele Modelle erfordern eine konsistente Eingabegröße; daher macht die Größenanpassung Bilder einheitlich und reduziert die rechnerische Komplexität. Zwei gängige Interpolationsmethoden sind:

  • Bilineare Interpolation: Glättet Pixelwerte durch Bildung eines gewichteten Durchschnitts der vier nächstgelegenen Pixel.
  • Nächster Nachbar: Kopiert den Wert des nächstgelegenen Pixels ohne Mittelwertbildung – schneller, erzeugt aber ein blockartigeres Bild.

Bibliotheken wie OpenCV und PIL (Pillow) bieten diese Funktionen, aber mit YOLO26 musst du die Größe normalerweise nicht manuell anpassen. Das imgsz-Argument während des Modelltrainings erledigt dies: Wenn es auf einen Wert wie 640 gesetzt ist, skaliert YOLO jedes Bild so, dass seine längste Dimension 640 Pixel beträgt, wobei das Seitenverhältnis beibehalten wird, und füllt dann die kürzere Seite auf (Standard grau, Wert 114), um eine quadratische 640 × 640-Eingabe zu erreichen.

Link to this sectionPixelwerte normalisieren#

Die Normalisierung skaliert Pixelwerte auf einen Standardbereich, was dem Modell hilft, während des Trainings schneller zu konvergieren. Zwei gängige Techniken sind:

  • Min-Max-Skalierung: Skaliert Pixelwerte auf einen Bereich von 0 bis 1.
  • Z-Score-Normalisierung: Skaliert Pixelwerte basierend auf ihrem Mittelwert und ihrer Standardabweichung.

YOLO26 handhabt die Normalisierung automatisch als Teil seiner Vorverarbeitungs-Pipeline: Es konvertiert Bilder in RGB und skaliert die Pixelwerte durch Division durch 255 auf den Bereich [0, 1] (Min-Max-Skalierung). YOLO wendet standardmäßig keine Normalisierung im ImageNet-Stil (Mittelwert/Standardabweichung, Z-Score) an, daher ist kein manueller Normalisierungsschritt erforderlich.

Link to this sectionDen Datensatz aufteilen#

Die Aufteilung der Daten in Trainings-, Validierungs- und Testsets ermöglicht es dir, das Modell mit unbekannten Daten zu bewerten und seine Generalisierung zu messen. Eine übliche Aufteilung ist 70% für das Training, 20% für die Validierung und 10% für das Testen. Tools wie scikit-learn oder TensorFlow machen dies unkompliziert.

Beachte diese Punkte bei der Aufteilung:

  • Klassenverteilung beibehalten: Stelle sicher, dass jede Klasse proportional über die Trainings-, Validierungs- und Testsets hinweg repräsentiert ist.
  • Klassen ausgleichen: Erwäge bei ungleichmäßigen Datensätzen ein Oversampling der Minderheitenklasse oder ein Undersampling der Mehrheitenklasse – dies sollte jedoch nur im Trainingsset erfolgen.
Datenleck vermeiden

Teile den Datensatz bevor du Augmentierungen oder andere Vorverarbeitungsschritte anwendest und wende diese Transformationen nur auf das Trainingsset an. Eine Augmentierung vor der Aufteilung lässt Informationen aus den Validierungs- oder Testbildern in das Training einfließen, was zu irreführend hohen Werten führt, die bei realen Daten einbrechen.

Link to this sectionDatensatz augmentieren#

Datenaugmentierung erhöht künstlich die Größe eines Datensatzes, indem modifizierte Versionen existierender Bilder erstellt werden. Sie hilft, Overfitting zu reduzieren und die Generalisierung zu verbessern, mit mehreren Vorteilen:

  • Robustere Modelle: Variationen in Beleuchtung, Ausrichtung und Skalierung machen das Modell resistent gegenüber realen Verzerrungen.
  • Kosteneffizient: Du erweiterst das Trainingsset, ohne neue Daten sammeln und labeln zu müssen.
  • Bessere Datennutzung: Jedes annotierte Bild liefert mehrere Trainingsvariationen.

Examples of data augmentation techniques including flips, rotations, scaling, and color adjustments applied to a sample image

Bei YOLO26 wird die Augmentierung über Trainingsargumente gesteuert, die an model.train() oder die entsprechenden CLI-Flags übergeben werden – nicht durch Bearbeiten des Datensatz-YAML, welches Metadaten wie Pfade, Klassennamen und Aufteilungen definiert. Zu den integrierten Augmentierungen gehören:

  • Mosaic, MixUp und CutMix (mosaic, mixup, cutmix): Kombiniere mehrere Bilder zu einem Trainingsbeispiel.
  • Spiegelungen (fliplr, flipud): Spiegele Bilder horizontal oder vertikal.
  • Geometrische Transformationen (degrees, translate, scale, shear, perspective): Rotiere, verschiebe, zoome und verzerre Bilder.
  • HSV-Farb-Jitter (hsv_h, hsv_s, hsv_v): Variiere Farbton, Sättigung und Helligkeit.
  • Copy-Paste (copy_paste): Füge Objekte zwischen Bildern für die Segmentierung ein.
Augmentierungsstärke beim Training einstellen
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Augmentation is configured with training arguments, not the dataset YAML
model.train(data="coco8.yaml", epochs=10, hsv_h=0.015, fliplr=0.5, mosaic=1.0, degrees=10.0)

Die vollständige Liste der Augmentierungsargumente und deren Standardwerte findest du in der Referenz der Augmentierungseinstellungen sowie im speziellen YOLO-Leitfaden zur Datenaugmentierung. Wenn das albumentations-Paket installiert ist, aktiviert YOLO auch automatisch seine integrierten Albumentations-basierten Augmentierungen.

Link to this sectionEine Fallstudie: Vorverarbeitung für die Fahrzeugerkennung#

Betrachte ein Projekt zur Erkennung und Klassifizierung von Fahrzeugen in Verkehrsbildern mit YOLO26, ausgehend von Bildern, die mit BBoxen und Labels annotiert wurden. So sieht jede Vorverarbeitungsentscheidung aus:

  • Größenanpassung: Keine manuelle Arbeit – YOLO26 passt die Größe während des Trainings automatisch auf imgsz an.
  • Normalisierung: Keine manuelle Arbeit – YOLO26 skaliert Pixelwerte automatisch auf [0, 1].
  • Aufteilung: Teile den Datensatz in 70% Training, 20% Validierung und 10% Test auf und halte die Klassenverteilung über die Splits hinweg konsistent.
  • Augmentierung: Setze Trainingsargumente, die für Verkehrsszenen geeignet sind – zum Beispiel fliplr für Richtungs-Invarianz, hsv_v für Tag/Nacht-Beleuchtung und mosaic für abwechslungsreiche Objektdichte.

Nachdem diese Entscheidungen getroffen wurden, ist der Datensatz bereit für die explorative Datenanalyse (EDA).

Link to this sectionExplorative Datenanalyse (EDA)#

EDA verwendet Statistiken und Visualisierungen, um Muster und Verteilungen in deinen Daten aufzudecken, was dir hilft, Probleme wie Klassenungleichgewicht oder Ausreißer vor dem Training zu erkennen.

Link to this sectionStatistische EDA-Techniken#

Statistische EDA beginnt mit grundlegenden Metriken – Mittelwert, Median, Standardabweichung und Bereich –, die über Eigenschaften wie Pixelintensitätsverteilungen berechnet werden. Diese geben einen schnellen Überblick über die Qualität deines Datensatzes und decken Unregelmäßigkeiten früh auf.

Link to this sectionVisuelle EDA-Techniken#

Visualisierungen zeigen Muster auf, die statistische Zusammenfassungen übersehen, wie etwa Klassenungleichgewicht und Ausreißer. Gängige Werkzeuge sind:

  • Histogramme und Boxplots: Zeigen die Verteilung von Pixelwerten und markieren Ausreißer in Intensitäts- oder Merkmalsverteilungen.
  • Balkendiagramme: Enthüllen Klassenungleichgewicht durch Vergleich der Anzahl der Beispiele pro Klasse.
  • Streudiagramme: Untersuchen Beziehungen zwischen Bildmerkmalen oder Annotationen.
  • Heatmaps: Visualisieren Pixelintensitätsverteilungen oder die räumliche Verteilung von Annotationen über Bilder hinweg.

Link to this sectionUltralytics Plattform für EDA#

Für einen No-Code-Ansatz zur EDA kannst du deinen Datensatz auf die Ultralytics Plattform hochladen. Der Charts-Tab des Datensatzes generiert automatisch wichtige EDA-Visualisierungen: Split-Verteilung, Top-Klassenzählungen, Histogramme der Bildbreite/-höhe sowie 2D-Heatmaps der Annotationspositionen und Bildabmessungen. Der Images-Tab ermöglicht es dir, deine Daten in Raster-, Kompakt- oder Tabellenansichten mit Annotation-Overlays zu durchsuchen, wodurch es einfach wird, falsch gelabelte Beispiele oder unausgewogene Klassen zu identifizieren, ohne Code schreiben zu müssen.

Link to this sectionFazit#

Korrekt aufgeteilte, normalisierte und augmentierte Daten reduzieren Rauschen und verbessern die Generalisierung, wodurch eine rohe Sammlung von Bildern zu einem zuverlässigen Trainingsset wird. Nachdem dein Datensatz vorverarbeitet ist, ist der nächste Schritt das Training deines Modells. Wenn unterwegs Fragen auftauchen, frage die Community im Ultralytics GitHub Repository oder auf dem Ultralytics Discord-Server.

Link to this sectionFAQ#

Link to this sectionWarum ist Datenvorverarbeitung in Computer-Vision-Projekten wichtig?#

Vorverarbeitung stellt sicher, dass deine Daten sauber, konsistent und in einem für das Training optimierten Format vorliegen. Durch das Behandeln von Rauschen, Inkonsistenz und Klassenungleichgewicht in Rohdaten reduzieren Schritte wie Größenanpassung, Normalisierung, Augmentierung und Datensatzaufteilung die Rechenlast und verbessern die Modellleistung. Siehe die Schritte eines Computer-Vision-Projekts, um zu sehen, wie dies in den weiteren Workflow passt.

Link to this sectionWie verwende ich Ultralytics YOLO für die Datenaugmentierung?#

Konfiguriere die Augmentierung über Trainingsargumente, nicht über das Datensatz-YAML. Übergebe Argumente wie fliplr, mosaic, hsv_h und degrees an model.train() (oder die entsprechenden CLI-Flags), um die Wahrscheinlichkeit und Stärke jeder Transformation festzulegen. Diese sind in den Augmentierungseinstellungen definiert und im YOLO-Leitfaden zur Datenaugmentierung erklärt.

Link to this sectionWas sind die besten Normalisierungstechniken für Computer-Vision-Daten?#

Die beiden gängigsten Techniken sind Min-Max-Skalierung (Reskalierung der Pixel auf einen Bereich von 0 bis 1) und Z-Score-Normalisierung (Reskalierung basierend auf Mittelwert und Standardabweichung). YOLO26 wendet die Min-Max-Skalierung automatisch an – indem Bilder in RGB konvertiert und die Pixelwerte durch 255 geteilt werden –, sodass du keinen manuellen Normalisierungsschritt benötigst. Es wendet standardmäßig keine Z-Score-Normalisierung an.

Link to this sectionWie sollte ich meinen annotierten Datensatz für das Training aufteilen?#

Eine gängige Praxis sind 70% für das Training, 20% für die Validierung und 10% für das Testen. Behalte die Klassenverteilung über alle drei Splits hinweg bei und vermeide Datenlecks, indem du die Augmentierung erst nach der Aufteilung nur auf das Trainingsset anwendest. Tools wie scikit-learn oder TensorFlow erledigen die Aufteilung effizient. Siehe den Leitfaden zur Datensammlung und -annotation für die vorgelagerte Datensatzvorbereitung.

Link to this sectionKann YOLO26 mit variierenden Bildgrößen ohne manuelle Größenanpassung umgehen?#

Ja. Das imgsz-Argument passt die Größe der Bilder während des Trainings und der Inferenz so an, dass die längste Dimension der angegebenen Größe entspricht (z. B. 640 Pixel), wobei das Seitenverhältnis beibehalten wird, und füllt dann die kürzere Seite auf. Du musst die Bilder nicht selbst in der Größe anpassen – siehe die Dokumentation zum Modelltraining für Details.

Kommentare