Zum Inhalt springen

Verbessern Sie Ihren Datensatz, um YOLO11 mit Albumentations zu trainieren

Beim Erstellen von Computer-Vision-Modellen spielen die Qualität und Vielfalt Ihrer Trainingsdaten eine große Rolle für die Leistung Ihres Modells. Albumentations bietet eine schnelle, flexible und effiziente Möglichkeit, eine breite Palette von Bildtransformationen anzuwenden, die die Fähigkeit Ihres Modells verbessern können, sich an reale Szenarien anzupassen. Es lässt sich problemlos in Ultralytics YOLO11 integrieren und kann Ihnen helfen, robuste Datensätze für Objekterkennung-, Segmentierungs- und Klassifizierungsaufgaben zu erstellen.

Durch die Verwendung von Albumentations können Sie Ihre YOLO11-Trainingsdaten mit Techniken wie geometrischen Transformationen und Farbanpassungen verbessern. In diesem Artikel erfahren wir, wie Albumentations Ihren Datenerweiterungsprozess verbessern und Ihre YOLO11-Projekte noch wirkungsvoller machen kann. Fangen wir an!

Albumentations für Bild-Augmentierung

Albumentations ist eine Open-Source-Bibliothek für Bildaugmentierung, die im Juni 2018 erstellt wurde. Sie wurde entwickelt, um den Bildaugmentierungsprozess im Computer Vision zu vereinfachen und zu beschleunigen. Es wurde mit Blick auf Leistung und Flexibilität entwickelt und unterstützt viele verschiedene Augmentierungstechniken, die von einfachen Transformationen wie Drehungen und Spiegelungen bis hin zu komplexeren Anpassungen wie Helligkeits- und Kontraständerungen reichen. Albumentations hilft Entwicklern, umfangreiche, vielfältige Datensätze für Aufgaben wie Bildklassifizierung, Objekterkennung und Segmentierung zu generieren.

Mit Albumentations können Sie auf einfache Weise Augmentierungen auf Bilder, Segmentierungsmasken, Begrenzungsrahmen und Key Points anwenden und sicherstellen, dass alle Elemente Ihres Datensatzes zusammen transformiert werden. Es funktioniert nahtlos mit beliebten Deep-Learning-Frameworks wie PyTorch und TensorFlow, wodurch es für eine Vielzahl von Projekten zugänglich ist.

Albumentations ist auch eine gute Option für die Augmentierung, egal ob Sie kleine Datensätze oder umfangreiche Computer-Vision-Aufgaben bearbeiten. Es gewährleistet eine schnelle und effiziente Verarbeitung und reduziert den Zeitaufwand für die Datenaufbereitung. Gleichzeitig trägt es zur Verbesserung der Modellleistung bei, wodurch Ihre Modelle in realen Anwendungen effektiver werden.

Hauptmerkmale von Albumentations

Albumentations bietet viele nützliche Funktionen, die komplexe Bildaugmentierungen für eine Vielzahl von Computer-Vision-Anwendungen vereinfachen. Hier sind einige der wichtigsten Funktionen:

  • Breites Spektrum an Transformationen: Albumentations bietet über 70 verschiedene Transformationen, darunter geometrische Änderungen (z. B. Drehung, Spiegelung), Farbanpassungen (z. B. Helligkeit, Kontrast) und Rauschaddition (z. B. Gaußsches Rauschen). Die Vielzahl an Optionen ermöglicht die Erstellung von sehr vielfältigen und robusten Trainingsdatensätzen.

Beispiel für Bild-Augmentierungen

  • Hochleistungsoptimierung: Albumentations basiert auf OpenCV und NumPy und verwendet fortschrittliche Optimierungstechniken wie SIMD (Single Instruction, Multiple Data), die mehrere Datenpunkte gleichzeitig verarbeiten, um die Verarbeitung zu beschleunigen. Es verarbeitet große Datensätze schnell und ist damit eine der schnellsten verfügbaren Optionen für die Bildaugmentierung.

  • Drei Stufen der Augmentierung: Albumentations unterstützt drei Stufen der Augmentierung: Transformationen auf Pixelebene, Transformationen auf räumlicher Ebene und Transformationen auf Mischungsebene. Transformationen auf Pixelebene wirken sich nur auf die Eingabebilder aus, ohne Masken, Begrenzungsrahmen oder Key Points zu verändern. Bei Transformationen auf räumlicher Ebene werden sowohl das Bild als auch seine Elemente wie Masken und Begrenzungsrahmen transformiert. Darüber hinaus sind Transformationen auf Mischungsebene eine einzigartige Möglichkeit, Daten zu erweitern, da sie mehrere Bilder zu einem kombinieren.

Überblick über die verschiedenen Stufen der Augmentierungen

  • Benchmarking-Ergebnisse: Beim Benchmarking übertrifft Albumentations andere Bibliotheken konstant, insbesondere bei großen Datensätzen.

Warum sollten Sie Albumentations für Ihre Vision-KI-Projekte verwenden?

In Bezug auf die Bildaugmentierung zeichnet sich Albumentations als zuverlässiges Werkzeug für Computer-Vision-Aufgaben aus. Hier sind einige wichtige Gründe, warum Sie es für Ihre Vision-AI-Projekte in Betracht ziehen sollten:

  • Einfach zu bedienende API: Albumentations bietet eine einzige, unkomplizierte API zum Anwenden einer breiten Palette von Augmentierungen auf Bilder, Masken, Begrenzungsrahmen und Keypoints. Es ist so konzipiert, dass es sich leicht an verschiedene Datensätze anpassen lässt, wodurch die Datenaufbereitung einfacher und effizienter wird.

  • Gründliche Fehlerprüfung: Fehler in der Augmentierungspipeline können Eingabedaten unbemerkt beschädigen, was oft unbemerkt bleibt, aber letztendlich die Modellleistung beeinträchtigt. Albumentations begegnet diesem Problem mit einer umfassenden Testsuite, die hilft, Fehler frühzeitig in der Entwicklung zu erkennen.

  • Erweiterbarkeit: Albumentations kann verwendet werden, um auf einfache Weise neue Augmentierungen hinzuzufügen und sie über eine einzige Schnittstelle zusammen mit integrierten Transformationen in Computer-Vision-Pipelines zu verwenden.

Wie man Albumentations verwendet, um Daten für das YOLO11-Training zu augmentieren

Nachdem wir nun behandelt haben, was Albumentations ist und was es kann, wollen wir uns ansehen, wie Sie es verwenden können, um Ihre Daten für das YOLO11-Modelltraining zu erweitern. Die Einrichtung ist einfach, da es direkt in den Trainingsmodus von Ultralytics integriert wird und automatisch angewendet wird, wenn das Albumentations-Paket installiert ist.

Installation

Um Albumentations mit YOLO11 zu verwenden, stellen Sie zunächst sicher, dass Sie die erforderlichen Pakete installiert haben. Wenn Albumentations nicht installiert ist, werden die Erweiterungen während des Trainings nicht angewendet. Nach der Einrichtung können Sie einen erweiterten Datensatz für das Training erstellen, wobei Albumentations integriert ist, um Ihr Modell automatisch zu verbessern.

Installation

# Install the required packages
pip install albumentations ultralytics

Detaillierte Anweisungen und Best Practices zum Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, konsultieren Sie unser Handbuch zu häufigen Problemen für Lösungen und Tipps.

Nutzung

Nach der Installation der erforderlichen Pakete können Sie Albumentations mit YOLO11 verwenden. Wenn Sie YOLO11 trainieren, wird automatisch eine Reihe von Augmentierungen durch die Integration mit Albumentations angewendet, wodurch es einfach ist, die Leistung Ihres Modells zu verbessern.

Nutzung

from ultralytics import YOLO

# Load a pre-trained model
model = YOLO("yolo11n.pt")

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Als Nächstes wollen wir uns die spezifischen Augmentierungen genauer ansehen, die während des Trainings angewendet werden.

Unschärfe

Die Blur-Transformation in Albumentations wendet einen einfachen Weichzeichnungseffekt auf das Bild an, indem Pixelwerte innerhalb eines kleinen quadratischen Bereichs oder Kernels gemittelt werden. Dies geschieht mit OpenCV. cv2.blur Funktion, die dazu beiträgt, das Rauschen im Bild zu reduzieren, obwohl sie auch die Bilddetails leicht reduziert.

Hier sind die Parameter und Werte, die in dieser Integration verwendet werden:

  • blur_limit: Dies steuert den Größenbereich des Weichzeichnungseffekts. Der Standardbereich ist (3, 7), was bedeutet, dass die Kernelgröße für die Weichzeichnung zwischen 3 und 7 Pixel variieren kann, wobei nur ungerade Zahlen zulässig sind, um die Weichzeichnung zentriert zu halten.

  • p: Die Wahrscheinlichkeit, die Weichzeichnung anzuwenden. In der Integration ist p=0,01, es besteht also eine Wahrscheinlichkeit von 1 %, dass diese Weichzeichnung auf jedes Bild angewendet wird. Die geringe Wahrscheinlichkeit ermöglicht gelegentliche Weichzeichnungseffekte, wodurch eine gewisse Variation eingeführt wird, die dem Modell hilft, zu generalisieren, ohne die Bilder zu stark zu verwischen.

Ein Beispiel für die Blur-Augmentierung

Median Blur

Die MedianBlur-Transformation in Albumentations wendet einen Median-Weichzeichnungseffekt auf das Bild an, der besonders nützlich ist, um Rauschen zu reduzieren und gleichzeitig Kanten zu erhalten. Im Gegensatz zu typischen Weichzeichnungsmethoden verwendet MedianBlur einen Medianfilter, der besonders effektiv bei der Entfernung von Salt-and-Pepper-Rauschen ist und gleichzeitig die Schärfe um die Kanten herum beibehält.

Hier sind die Parameter und Werte, die in dieser Integration verwendet werden:

  • blur_limit: Dieser Parameter steuert die maximale Größe des Weichzeichnungskernels. In dieser Integration ist er standardmäßig auf einen Bereich von (3, 7) eingestellt, was bedeutet, dass die Kernelgröße für die Weichzeichnung zufällig zwischen 3 und 7 Pixeln gewählt wird, wobei nur ungerade Werte zulässig sind, um eine korrekte Ausrichtung zu gewährleisten.

  • p: Legt die Wahrscheinlichkeit für die Anwendung der Median-Weichzeichnung fest. Hier ist p=0,01, sodass die Transformation eine Wahrscheinlichkeit von 1 % hat, auf jedes Bild angewendet zu werden. Diese geringe Wahrscheinlichkeit stellt sicher, dass die Median-Weichzeichnung sparsam eingesetzt wird, was dem Modell hilft, zu generalisieren, indem es gelegentlich Bilder mit reduziertem Rauschen und erhaltenen Kanten sieht.

Das Bild unten zeigt ein Beispiel für diese Augmentierung, die auf ein Bild angewendet wird.

Ein Beispiel für die MedianBlur-Augmentierung

Graustufen

Die ToGray-Transformation in Albumentations konvertiert ein Bild in Graustufen, reduziert es auf ein Einkanalformat und repliziert diesen Kanal optional, um einer bestimmten Anzahl von Ausgabekanälen zu entsprechen. Es können verschiedene Methoden verwendet werden, um die Berechnung der Graustufenhelligkeit anzupassen, von einfacher Mittelwertbildung bis hin zu fortschrittlicheren Techniken für eine realistische Wahrnehmung von Kontrast und Helligkeit.

Hier sind die Parameter und Werte, die in dieser Integration verwendet werden:

  • 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 er auf 3 eingestellt, was ein Graustufenbild mit drei identischen Kanälen ergibt.

  • method: Definiert die Graustufenkonvertierungsmethode. Die Standardmethode „weighted_average“ wendet eine Formel (0,299R + 0,587G + 0,114B) an, die eng an die menschliche Wahrnehmung angelehnt ist und einen natürlich aussehenden Graustufeneffekt bietet. Andere Optionen wie „from_lab“, „desaturation“, „average“, „max“ und „pca“ bieten alternative Möglichkeiten, Graustufenbilder zu erstellen, basierend auf verschiedenen Anforderungen an Geschwindigkeit, Helligkeitsbetonung oder Detailerhaltung.

  • p: Steuert, wie oft die Graustufentransformation angewendet wird. Mit p=0,01 besteht eine Wahrscheinlichkeit von 1 %, jedes Bild in Graustufen zu konvertieren, wodurch eine Mischung aus Farb- und Graustufenbildern möglich ist, um dem Modell zu helfen, besser zu generalisieren.

Das Bild unten zeigt ein Beispiel für diese angewendete Graustufentransformation.

Ein Beispiel für die ToGray-Augmentierung

Contrast Limited Adaptive Histogram Equalization (CLAHE)

Die CLAHE-Transformation in Albumentations wendet Contrast Limited Adaptive Histogram Equalization (CLAHE) an, eine Technik, die den Bildkontrast verbessert, indem sie das Histogramm in lokalen Regionen (Kacheln) anstelle des gesamten Bildes ausgleicht. CLAHE erzeugt einen ausgewogenen Verbesserungseffekt und vermeidet den übermäßig verstärkten Kontrast, der aus der Standard-Histogrammausgleichung resultieren kann, insbesondere in Bereichen mit anfänglich geringem Kontrast.

Hier sind die Parameter und Werte, die in dieser Integration verwendet werden:

  • clip_limit: Steuert den Kontrastverbesserungsbereich. Auf einen Standardbereich von (1, 4) eingestellt, bestimmt er den maximal zulässigen Kontrast in jeder Kachel. Höhere Werte werden für mehr Kontrast verwendet, können aber auch Rauschen verursachen.

  • tile_grid_size: Definiert die Größe des Kachelraster, typischerweise als (Zeilen, Spalten). Der Standardwert ist (8, 8), was bedeutet, dass das Bild in ein 8x8-Raster unterteilt wird. Kleinere Kachelgrößen ermöglichen lokalere Anpassungen, während größere Kachelgrößen Effekte erzeugen, die eher einer globalen Entzerrung entsprechen.

  • p: Die Wahrscheinlichkeit, CLAHE anzuwenden. Hier führt p=0,01 den Verbesserungseffekt nur in 1 % der Fälle ein, wodurch sichergestellt wird, dass Kontrastanpassungen sparsam für gelegentliche Variationen in Trainingsbildern angewendet werden.

Das Bild unten zeigt ein Beispiel für die angewendete CLAHE-Transformation.

Ein Beispiel für die CLAHE-Augmentierung

Mehr über Albumentations erfahren

Wenn Sie mehr über Albumentations erfahren möchten, sehen Sie sich die folgenden Ressourcen für detailliertere Anweisungen und Beispiele an:

  • Albumentations-Dokumentation: Die offizielle Dokumentation bietet eine vollständige Palette unterstützter Transformationen und fortschrittlicher Anwendungstechniken.

  • Ultralytics Albumentations-Anleitung: Erhalten Sie einen genaueren Einblick in die Details der Funktion, die diese Integration ermöglicht.

  • Albumentations GitHub-Repository: Das Repository enthält Beispiele, Benchmarks und Diskussionen, die Ihnen den Einstieg in die Anpassung von Augmentierungen erleichtern.

Wichtige Erkenntnisse

In diesem Leitfaden haben wir die wichtigsten Aspekte von Albumentations untersucht, einer großartigen python-Bibliothek für die Bildaugmentation. Wir haben die breite Palette an Transformationen, die optimierte Leistung und die Verwendung in Ihrem nächsten YOLO11-Projekt besprochen.

Wenn Sie mehr über andere Ultralytics YOLO11-Integrationen erfahren möchten, besuchen Sie unsere Seite mit Integrationsanleitungen. Dort finden Sie wertvolle Ressourcen und Einblicke.

FAQ

Wie kann ich Albumentations mit YOLO11 integrieren, um die Datenerweiterung zu verbessern?

Albumentations lässt sich nahtlos in YOLO11 integrieren und wird während des Trainings automatisch angewendet, wenn Sie das Paket installiert haben. So legen Sie los:

# Install required packages
# !pip install albumentations ultralytics
from ultralytics import YOLO

# Load and train model with automatic augmentations
model = YOLO("yolo11n.pt")
model.train(data="coco8.yaml", epochs=100)

Die Integration umfasst optimierte Augmentierungen wie Weichzeichnung, Median-Weichzeichnung, Graustufenkonvertierung und CLAHE mit sorgfältig abgestimmten Wahrscheinlichkeiten, um die Modellleistung zu verbessern.

Was sind die Hauptvorteile der Verwendung von Albumentations gegenüber anderen Augmentationsbibliotheken?

Albumentations zeichnet sich aus mehreren Gründen aus:

  1. Performance: Basiert auf OpenCV und NumPy mit SIMD-Optimierung für überragende Geschwindigkeit
  2. Flexibilität: Unterstützt über 70 Transformationen in den Bereichen Pixel-, Raum- und Mischebenen-Augmentierungen
  3. Kompatibilität: Funktioniert nahtlos mit populären Frameworks wie PyTorch und TensorFlow
  4. Zuverlässigkeit: Umfassende Testsuite verhindert unbemerkte Datenbeschädigung
  5. Benutzerfreundlichkeit: Einheitliche API für alle Augmentierungstypen

Welche Arten von Computer-Vision-Aufgaben können von der Albumentations-Augmentierung profitieren?

Albumentations verbessert verschiedene Computer Vision Aufgaben, einschließlich:

  • Objekterkennung: Verbessert die Modellrobustheit gegenüber Beleuchtungs-, Skalierungs- und Orientierungsvariationen
  • Instanzsegmentierung: Erhöht die Genauigkeit der Maskenvorhersage durch vielfältige Transformationen
  • Klassifizierung: Erhöht die Modellgeneralisierung mit Farb- und Geometrie-Augmentierungen
  • Pose Estimation: Hilft Modellen, sich an unterschiedliche Blickwinkel und Lichtverhältnisse anzupassen

Die vielfältigen Augmentierungsoptionen der Bibliothek machen sie für jede Vision-Aufgabe wertvoll, die eine robuste Modellleistung erfordert.



📅 Erstellt vor 9 Monaten ✏️ Aktualisiert vor 2 Monaten

Kommentare