Optimiere dein Dataset für das Training von YOLO26 mit Albumentations
Wenn du Computer-Vision-Modelle entwickelst, spielen Qualität und Vielfalt deiner Trainingsdaten eine große Rolle für die Leistung deines Modells. Albumentations bietet eine schnelle, flexible und effiziente Methode, um eine breite Palette an Bildtransformationen anzuwenden, die die Fähigkeit deines Modells verbessern, sich an reale Szenarien anzupassen. Es lässt sich einfach in Ultralytics YOLO26 integrieren und hilft dir dabei, robuste Datasets für Objekterkennung, Segmentierung und Klassifizierung zu erstellen.
Durch die Nutzung von Albumentations kannst du deine YOLO26-Trainingsdaten mit Techniken wie geometrischen Transformationen und Farbanpassungen verbessern. In diesem Artikel zeigen wir dir, wie Albumentations deinen Data-Augmentation-Prozess optimieren und deine YOLO26-Projekte noch effektiver machen kann. Fangen wir an!
Albumentations für Bild-Augmentation
Albumentations ist eine Open-Source-Bibliothek für Bild-Augmentation, die im Juni 2018 erstellt wurde. Sie wurde entwickelt, um den Prozess der Bild-Augmentation in der Computer Vision zu vereinfachen und zu beschleunigen. Mit Fokus auf Performance und Flexibilität unterstützt sie zahlreiche vielfältige Augmentationstechniken, von einfachen Transformationen wie Rotationen und Spiegelungen bis hin zu komplexeren Anpassungen wie Helligkeits- und Kontraständerungen. Albumentations hilft Entwicklern dabei, reichhaltige und abwechslungsreiche Datasets für Aufgaben wie Bildklassifizierung, Objekterkennung und Segmentierung zu erstellen.
Du kannst Albumentations verwenden, um einfach Augmentationen auf Bilder, Segmentierungsmasken, BBoxes und Keypoints anzuwenden und sicherzustellen, dass alle Elemente deines Datasets gemeinsam transformiert werden. Es arbeitet nahtlos mit gängigen Deep-Learning-Frameworks wie PyTorch und TensorFlow zusammen, was es für eine breite Palette an Projekten zugänglich macht.
Darüber hinaus ist Albumentations eine großartige Option für die Augmentation, egal ob du kleine Datasets oder umfangreiche Computer-Vision-Aufgaben bearbeitest. Es sorgt für eine schnelle und effiziente Verarbeitung und reduziert die Zeit für die Datenaufbereitung. Gleichzeitig hilft es dabei, die Modellleistung zu verbessern, sodass deine Modelle in realen Anwendungen effektiver arbeiten.
Hauptfunktionen von Albumentations
Albumentations bietet viele nützliche Funktionen, die komplexe Bildaugmentationen für eine Vielzahl von Computer-Vision-Anwendungen vereinfachen. Hier sind einige der wichtigsten Funktionen:
- Große Auswahl an Transformationen: Albumentations bietet über 70 verschiedene Transformationen, einschließlich geometrischer Änderungen (z. B. Rotation, Spiegelung), Farbanpassungen (z. B. Helligkeit, Kontrast) und Rauschinjektion (z. B. Gaußsches Rauschen). Die Verfügbarkeit mehrerer Optionen ermöglicht die Erstellung hochgradig vielfältiger und robuster Trainingsdatasets.
-
Hohe Performance-Optimierung: Basierend auf OpenCV und NumPy verwendet Albumentations fortschrittliche Optimierungstechniken wie SIMD (Single Instruction, Multiple Data), das mehrere Datenpunkte gleichzeitig verarbeitet, um die Performance zu beschleunigen. Es verarbeitet große Datasets schnell und ist damit eine der schnellsten Optionen für Bild-Augmentation.
-
Drei Ebenen der Augmentation: Albumentations unterstützt drei Ebenen der Augmentation: Pixel-level, räumliche Ebene und Mixing-Ebene. Pixel-level Transformationen beeinflussen nur die Eingabebilder, ohne Masken, BBoxes oder Keypoints zu verändern. Im Gegensatz dazu werden bei räumlichen Transformationen sowohl das Bild als auch seine Elemente wie Masken und BBoxes transformiert. Darüber hinaus sind Mixing-Ebene-Transformationen eine einzigartige Möglichkeit, Daten zu augmentieren, da sie mehrere Bilder zu einem kombinieren.

- Benchmarking-Ergebnisse: Beim Benchmarking schneidet Albumentations durchweg besser ab als andere Bibliotheken, insbesondere bei großen Datasets.
Warum solltest du Albumentations für deine Vision-AI-Projekte verwenden?
In Bezug auf Bild-Augmentation ist Albumentations ein herausragendes und zuverlässiges Werkzeug für Computer-Vision-Aufgaben. Hier sind einige Gründe, warum du es für deine Vision-AI-Projekte in Betracht ziehen solltest:
-
Einfach zu bedienende API: Albumentations bietet eine einzige, einfache API für die Anwendung einer Vielzahl von Augmentationen auf Bilder, Masken, BBoxes und Keypoints. Sie ist darauf ausgelegt, sich leicht an verschiedene Datasets anzupassen, was die Datenaufbereitung einfacher und effizienter macht.
-
Strenge Bug-Tests: Fehler in der Augmentation-Pipeline können Eingabedaten schleichend beschädigen, was oft unbemerkt bleibt, aber letztendlich die Modellleistung mindert. Albumentations geht dies mit einer gründlichen Test-Suite an, die hilft, Fehler früh in der Entwicklung zu finden.
-
Erweiterbarkeit: Albumentations kann verwendet werden, um einfach neue Augmentationen hinzuzufügen und diese zusammen mit den integrierten Transformationen über eine einzige Schnittstelle in Computer-Vision-Pipelines zu nutzen.
Wie du Albumentations zur Daten-Augmentation für das YOLO26-Training verwendest
Nachdem wir nun geklärt haben, was Albumentations ist und was es kann, schauen wir uns an, wie du es zur Augmentation deiner Daten für das Training von YOLO26-Modellen einsetzt. Die Einrichtung ist einfach, da es direkt in den Ultralytics-Trainingsmodus integriert ist und automatisch angewendet wird, wenn du das Albumentations-Paket installiert hast.
Installation
Um Albumentations mit YOLO26 zu verwenden, stelle zunächst sicher, dass die notwendigen Pakete installiert sind. Wenn Albumentations nicht installiert ist, werden die Augmentationen während des Trainings nicht angewendet. Sobald alles eingerichtet ist, kannst du ein augmentiertes Dataset für das Training erstellen, wobei Albumentations integriert ist, um dein Modell automatisch zu optimieren.
# Install the required packages
pip install albumentations ultralyticsFür detaillierte Anleitungen und Best Practices zur Installation, schau in unserem Ultralytics-Installationsleitfaden nach. Wenn du bei der Installation der erforderlichen Pakete für YOLO26 auf Schwierigkeiten stößt, konsultiere unseren Leitfaden für allgemeine Probleme für Lösungen und Tipps.
Verwendung
Nach der Installation der erforderlichen Pakete bist du bereit, Albumentations mit YOLO26 zu nutzen. Wenn du YOLO26 trainierst, wird durch die Integration mit Albumentations automatisch ein Satz an Augmentationen angewendet, was es einfach macht, die Leistung deines Modells zu steigern.
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model with default augmentations
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Schauen wir uns als nächstes die spezifischen Augmentationen an, die während des Trainings angewendet werden.
Weichzeichnen
Die Blur-Transformation in Albumentations wendet einen einfachen Unschärfe-Effekt auf das Bild an, indem Pixelwerte innerhalb eines kleinen quadratischen Bereichs oder Kernels gemittelt werden. Dies geschieht mithilfe der OpenCV-Funktion cv2.blur, die hilft, Rauschen im Bild zu reduzieren, obwohl sie auch die Details leicht verringert.
Hier sind die in dieser Integration verwendeten Parameter und Werte:
-
blur_limit: Dies steuert den Größenbereich des Unschärfe-Effekts. Der Standardbereich ist (3, 7), was bedeutet, dass die Kernelgröße für die Unschärfe zwischen 3 und 7 Pixel variieren kann, wobei nur ungerade Zahlen zulässig sind, um die Unschärfe zentriert zu halten.
-
p: Die Wahrscheinlichkeit der Anwendung der Unschärfe. In der Integration ist p=0.01, es besteht also eine 1%ige Chance, dass diese Unschärfe auf jedes Bild angewendet wird. Diese geringe Wahrscheinlichkeit ermöglicht gelegentliche Unschärfe-Effekte und führt eine gewisse Variation ein, um dem Modell bei der Generalisierung zu helfen, ohne die Bilder zu stark zu verschwimmen.
Median Blur
Die MedianBlur-Transformation in Albumentations wendet einen Median-Unschärfe-Effekt auf das Bild an, der besonders nützlich ist, um Rauschen zu reduzieren und gleichzeitig Kanten zu bewahren. Anders als typische Unschärfemethoden verwendet MedianBlur einen Median-Filter, der besonders effektiv beim Entfernen von Salz-und-Pfeffer-Rauschen ist, während die Schärfe an den Kanten erhalten bleibt.
Hier sind die in dieser Integration verwendeten Parameter und Werte:
-
blur_limit: Dieser Parameter steuert die maximale Größe des Unschärfe-Kernels. In dieser Integration liegt er standardmäßig im Bereich von (3, 7), was bedeutet, dass die Kernelgröße zufällig zwischen 3 und 7 Pixel gewählt wird, wobei nur ungerade Werte für eine korrekte Ausrichtung zulässig sind.
-
p: Legt die Wahrscheinlichkeit für die Anwendung der Median-Unschärfe fest. Hier ist p=0.01, die Transformation hat also eine 1%ige Chance, auf jedes Bild angewendet zu werden. Diese geringe Wahrscheinlichkeit stellt sicher, dass die Median-Unschärfe sparsam eingesetzt wird, was dem Modell bei der Generalisierung hilft, indem es gelegentlich Bilder mit reduziertem Rauschen und bewahrten Kanten sieht.
Das Bild unten zeigt ein Beispiel für diese auf ein Bild angewendete Augmentation.
Graustufen
Die ToGray-Transformation in Albumentations wandelt ein Bild in Graustufen um, reduziert es auf ein einkanaliges Format und repliziert diesen Kanal optional, um eine bestimmte Anzahl von Ausgabekanälen zu erreichen. Es können verschiedene Methoden verwendet werden, um die Berechnung der Graustufen-Helligkeit anzupassen, von einfacher Mittelwertbildung bis hin zu fortgeschrittenen Techniken für eine realistische Kontrast- und Helligkeitswahrnehmung.
Hier sind die in dieser Integration verwendeten Parameter und Werte:
-
num_output_channels: Legt die Anzahl der Kanäle im Ausgabebild fest. Wenn dieser Wert größer als 1 ist, wird der einzelne Graustufenkanal repliziert, um ein mehrkanaliges Graustufenbild zu erstellen. Standardmäßig ist dieser Wert auf 3 gesetzt, was ein Graustufenbild mit drei identischen Kanälen ergibt.
-
method: Definiert die Konvertierungsmethode für Graustufen. Die Standardmethode "weighted_average" wendet eine Formel (0.299R + 0.587G + 0.114B) an, die eng an der menschlichen Wahrnehmung ausgerichtet ist und einen natürlich wirkenden Graustufen-Effekt bietet. Andere Optionen wie "from_lab", "desaturation", "average", "max" und "pca" bieten alternative Möglichkeiten, Graustufenbilder basierend auf verschiedenen Anforderungen an Geschwindigkeit, Helligkeitsbetonung oder Detailerhaltung zu erstellen.
-
p: Steuert, wie oft die Graustufen-Transformation angewendet wird. Mit p=0.01 gibt es eine 1%ige Chance, jedes Bild in Graustufen umzuwandeln, wodurch eine Mischung aus Farb- und Graustufenbildern möglich ist, um dem Modell bei der besseren Generalisierung zu helfen.
Das Bild unten zeigt ein Beispiel dieser angewendeten Graustufen-Transformation.
Contrast Limited Adaptive Histogram Equalization (CLAHE)
Die CLAHE-Transformation in Albumentations wendet Contrast Limited Adaptive Histogram Equalization (CLAHE) an, eine Technik, die den Bildkontrast durch Angleichung des Histogramms in lokalisierten Bereichen (Kacheln) anstatt über das gesamte Bild hinweg verbessert. CLAHE erzeugt einen ausgewogenen Verbesserungseffekt und vermeidet den übermäßig verstärkten Kontrast, der durch Standard-Histogrammanpassung entstehen kann, insbesondere in Bereichen mit ursprünglich geringem Kontrast.
Hier sind die in dieser Integration verwendeten Parameter und Werte:
-
clip_limit: Steuert den Kontrastverbesserungsbereich. Der Standardbereich ist auf (1, 4) gesetzt und bestimmt den maximal zulässigen Kontrast in jeder Kachel. Höhere Werte werden für mehr Kontrast verwendet, können aber auch Rauschen einführen.
-
tile_grid_size: Definiert die Größe des Kachelrasters, typischerweise als (Zeilen, Spalten). Der Standardwert ist (8, 8), was bedeutet, dass das Bild in ein 8x8-Raster unterteilt wird. Kleinere Kachelgrößen bieten lokalisiertere Anpassungen, während größere Effekte erzeugen, die eher einer globalen Anpassung entsprechen.
-
p: Die Wahrscheinlichkeit der Anwendung von CLAHE. Hier führt p=0.01 den Verbesserungseffekt nur zu 1% der Zeit ein, um sicherzustellen, dass Kontrastanpassungen sparsam für gelegentliche Variationen in Trainingsbildern angewendet werden.
Das Bild unten zeigt ein Beispiel der angewendeten CLAHE-Transformation.
Verwendung benutzerdefinierter Albumentations-Transformationen
Während die Standard-Albumentations-Integration eine solide Reihe an Augmentationen bietet, möchtest du die Transformationen möglicherweise für deinen spezifischen Anwendungsfall anpassen. Mit Ultralytics YOLO26 kannst du benutzerdefinierte Albumentations-Transformationen einfach über die Python-API mit dem augmentations-Parameter übergeben.
So definierst du benutzerdefinierte Transformationen
Du kannst deine eigene Liste von Albumentations-Transformationen definieren und diese an die Trainingsfunktion übergeben. Dies ersetzt die Standard-Albumentations-Transformationen, während alle anderen YOLO-Augmentationen (wie hsv_h, degrees, mosaic usw.) aktiv bleiben.
Hier ist ein Beispiel mit fortgeschritteneren Transformationen:
import albumentations as A
from ultralytics import YOLO
# Load model
model = YOLO("yolo26n.pt")
# Define custom transforms with various augmentation techniques
custom_transforms = [
# Blur variations
A.OneOf(
[
A.MotionBlur(blur_limit=7, p=1.0),
A.MedianBlur(blur_limit=7, p=1.0),
A.GaussianBlur(blur_limit=7, p=1.0),
],
p=0.3,
),
# Noise variations
A.OneOf(
[
A.GaussNoise(var_limit=(10.0, 50.0), p=1.0),
A.ISONoise(color_shift=(0.01, 0.05), intensity=(0.1, 0.5), p=1.0),
],
p=0.2,
),
# Color and contrast adjustments
A.CLAHE(clip_limit=4.0, tile_grid_size=(8, 8), p=0.5),
A.RandomBrightnessContrast(brightness_limit=0.3, contrast_limit=0.3, p=0.5),
A.HueSaturationValue(hue_shift_limit=20, sat_shift_limit=30, val_shift_limit=20, p=0.5),
# Simulate occlusions
A.CoarseDropout(
max_holes=8, max_height=32, max_width=32, min_holes=1, min_height=8, min_width=8, fill_value=0, p=0.2
),
]
# Train with custom transforms
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
augmentations=custom_transforms,
)Wichtige Überlegungen
Wenn du benutzerdefinierte Albumentations-Transformationen verwendest, beachte bitte diese Punkte:
- Nur Python API: Benutzerdefinierte Transformationen können nur über die Python API übergeben werden, nicht über CLI oder YAML-Konfigurationsdateien.
- Ersetzt Standardwerte: Deine benutzerdefinierten Transformationen ersetzen vollständig die Standard-Albumentations-Transformationen. Andere YOLO-Augmentationen bleiben aktiv.
- Umgang mit BBoxes: Ultralytics handhabt die Anpassung der BBoxes automatisch für die meisten Transformationen, aber komplexe räumliche Transformationen erfordern möglicherweise zusätzliche Tests.
- Performance: Einige Transformationen sind rechenintensiv. Überwache die Trainingsgeschwindigkeit und passe sie entsprechend an.
- Aufgabenkompatibilität: Benutzerdefinierte Albumentations-Transformationen funktionieren mit Aufgaben zur Objekterkennung und Segmentierung, jedoch nicht mit Klassifizierung (dafür wird eine andere Augmentation-Pipeline verwendet).
Anwendungsfälle für benutzerdefinierte Transformationen
Verschiedene Anwendungen profitieren von unterschiedlichen Augmentationsstrategien:
- Medizinische Bildgebung: Verwende elastische Deformationen, Rasterverzerrungen und spezielle Rauschmuster
- Luft-/Satellitenbilder: Wende Transformationen an, die unterschiedliche Höhen, Wetterbedingungen und Beleuchtungswinkel simulieren
- Szenarien bei schlechten Lichtverhältnissen: Betone die Rauschinjektion und Helligkeitsanpassungen, um robuste Modelle für anspruchsvolle Lichtverhältnisse zu trainieren
- Industrielle Inspektion: Füge Texturvariationen und simulierte Defekte für Qualitätskontrollanwendungen hinzu
Eine vollständige Liste der verfügbaren Transformationen und ihrer Parameter findest du in der Albumentations-Dokumentation.
Für detailliertere Beispiele und Best Practices zur Verwendung von benutzerdefinierten Albumentations-Transformationen mit YOLO26, siehe den YOLO-Data-Augmentation-Leitfaden.
Lerne weiter über Albumentations
Wenn du mehr über Albumentations erfahren möchtest, schau dir die folgenden Ressourcen für vertiefende Anleitungen und Beispiele an:
-
Albumentations-Dokumentation: Die offizielle Dokumentation bietet eine vollständige Palette unterstützter Transformationen und fortgeschrittene Techniken.
-
Ultralytics Albumentations-Leitfaden: Wirf einen genaueren Blick auf die Details der Funktion, die diese Integration ermöglicht.
-
Albumentations-GitHub-Repository: Das Repository enthält Beispiele, Benchmarks und Diskussionen, die dir beim Einstieg in die Anpassung von Augmentationen helfen.
Wichtige Erkenntnisse
In diesem Leitfaden haben wir die wichtigsten Aspekte von Albumentations untersucht, einer großartigen Python-Bibliothek für Bild-Augmentation. Wir haben die breite Palette an Transformationen, die optimierte Performance und die Nutzung in deinem nächsten YOLO26-Projekt besprochen.
Wenn du außerdem mehr über andere Ultralytics YOLO26-Integrationen wissen möchtest, besuche unsere Seite für Integrationsleitfäden. Dort findest du wertvolle Ressourcen und Einblicke.
FAQ
Wie kann ich Albumentations in YOLO26 für eine verbesserte Daten-Augmentation integrieren?
Albumentations lässt sich nahtlos in YOLO26 integrieren und wird während des Trainings automatisch angewendet, wenn du das Paket installiert hast. So fängst du an:
# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO
# Load and train model with automatic augmentations
model = YOLO("yolo26n.pt")
model.train(data="coco8.yaml", epochs=100)Die Integration beinhaltet optimierte Augmentationen wie Blur, Median Blur, Graustufen-Konvertierung und CLAHE mit sorgfältig abgestimmten Wahrscheinlichkeiten, um die Modellleistung zu steigern.
Was sind die Hauptvorteile der Verwendung von Albumentations gegenüber anderen Augmentations-Bibliotheken?
Albumentations zeichnet sich aus mehreren Gründen aus:
- Performance: Basiert auf OpenCV und NumPy mit SIMD-Optimierung für überlegene Geschwindigkeit
- Flexibilität: Unterstützt über 70 Transformationen über Pixel-level, räumliche Ebene und Mixing-Ebene-Augmentationen
- Kompatibilität: Arbeitet nahtlos mit gängigen Frameworks wie PyTorch und TensorFlow
- Zuverlässigkeit: Umfassende Test-Suite verhindert schleichende Datenbeschädigung
- Einfache Bedienung: Eine einheitliche API für alle Augmentationstypen
Welche Arten von Computer-Vision-Aufgaben können von der Albumentations-Augmentation profitieren?
Albumentations verbessert verschiedene Computer-Vision-Aufgaben, darunter:
- Objekterkennung: Verbessert die Robustheit des Modells gegenüber Licht-, Skalen- und Orientierungsvariationen
- Instanz-Segmentierung: Verbessert die Genauigkeit der Maskenvorhersage durch vielfältige Transformationen
- Klassifizierung: Erhöht die Generalisierung des Modells durch Farb- und geometrische Augmentationen
- Pose-Estimation: Hilft Modellen, sich an unterschiedliche Blickwinkel und Lichtverhältnisse anzupassen
Die vielfältigen Augmentationsoptionen der Bibliothek machen sie wertvoll für jede Vision-Aufgabe, die eine robuste Modellleistung erfordert.