Zum Inhalt springen

Verbessern Sie Ihren Datensatz, um YOLO11 mit Hilfe von Albumentationen zu trainieren.

Bei der Erstellung von Computer-Vision-Modellen können die Qualität und die Vielfalt der Trainingsdaten eine große Rolle für die Leistungsfähigkeit des Modells spielen. Albumentations bietet eine schnelle, flexible und effiziente Methode zur Anwendung einer breiten Palette von Bildtransformationen, die die Anpassungsfähigkeit Ihres Modells an reale Szenarien verbessern können. Es lässt sich leicht integrieren mit Ultralytics YOLO11 und kann Ihnen helfen, robuste Datensätze für Objekterkennung, Segmentierung und Klassifizierung zu erstellen.

Mit Albumentations können Sie Ihre YOLO11 Trainingsdaten mit Techniken wie geometrischen Transformationen und Farbanpassungen aufwerten. In diesem Artikel werden wir sehen, wie Albumentations Ihren Datenerweiterungsprozess verbessern und Ihre YOLO11 Projekte noch effektiver machen kann. Lassen Sie uns beginnen!

Albumentationen zur Bildverbesserung

Albumentations ist eine Open-Source-Bibliothek zur Bilderweiterung, die im Juni 2018 erstellt wurde. Sie wurde entwickelt, um den Prozess der Bilderweiterung in der Computer Vision zu vereinfachen und zu beschleunigen. Sie 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 bei der Erstellung umfangreicher, vielfältiger Datensätze für Aufgaben wie Bildklassifizierung, Objekterkennung und Segmentierung.

Mit Albumentations können Sie ganz einfach Augmentierungen auf Bilder, Segmentierungsmasken, Bounding Boxes und Schlüsselpunkte anwenden und sicherstellen, dass alle Elemente Ihres Datensatzes gemeinsam transformiert werden. Es arbeitet nahtlos mit gängigen Deep-Learning-Frameworks wie PyTorch und TensorFlowund ist damit für eine breite Palette von Projekten geeignet.

Außerdem ist Albumentations eine großartige Option für die Erweiterung, egal ob Sie kleine Datensätze oder umfangreiche Computer-Vision-Aufgaben bearbeiten. Es sorgt für eine schnelle und effiziente Verarbeitung und verkürzt die Zeit für die Datenaufbereitung. Gleichzeitig trägt es zur Verbesserung der Modellleistung bei und macht Ihre Modelle in realen Anwendungen effektiver.

Hauptmerkmale von Albumentations

Albumentations bietet viele nützliche Funktionen, die komplexe Bildvergrößerungen für eine breite Palette 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. Drehen, Spiegeln), Farbanpassungen (z. B. Helligkeit, Kontrast) und Hinzufügen von Rauschen (z. B. Gaußsches Rauschen). Dank der zahlreichen Optionen lassen sich sehr unterschiedliche und robuste Trainingsdatensätze erstellen.

Beispiel für Bildverbesserungen

  • Leistungsstarke Optimierung: 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, was es zu einer der schnellsten Optionen für die Bildvergrößerung macht.

  • Drei Ebenen der Augmentation: Albumentations unterstützt drei Ebenen der Augmentation: 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 Schlüsselpunkte zu verändern. Bei der Transformation auf räumlicher Ebene werden sowohl das Bild als auch seine Elemente, wie Masken und Begrenzungsrahmen, transformiert. Darüber hinaus sind Transformationen auf Mischebene eine einzigartige Möglichkeit, Daten zu erweitern, da sie mehrere Bilder zu einem einzigen zusammenfassen.

Überblick über die verschiedenen Stufen der Augmentationen

  • Benchmarking-Ergebnisse: Beim Benchmarking schneidet Albumentations durchweg besser ab als andere Bibliotheken, insbesondere bei großen Datensätzen.

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

Albumentations ist ein zuverlässiges Werkzeug für Computer-Vision-Aufgaben im Bereich der Bildverbesserung. Hier sind ein paar wichtige Gründe, warum Sie es für Ihre Vision AI-Projekte verwenden sollten:

  • Einfach zu verwendende API: Albumentations bietet eine einzige, unkomplizierte API für die Anwendung einer breiten Palette von Augmentierungen auf Bilder, Masken, Bounding Boxes und Keypoints. Sie ist so konzipiert, dass sie sich leicht an verschiedene Datensätze anpassen lässt, was die Datenaufbereitung einfacher und effizienter macht.

  • Strenge Fehlerprüfung: Fehler in der Augmentierungspipeline können die Eingabedaten stillschweigend beschädigen, was oft unbemerkt bleibt, aber letztendlich die Leistung des Modells verschlechtert. Albumentations begegnet diesem Problem mit einer gründlichen Testsuite, die dazu beiträgt, Fehler frühzeitig in der Entwicklung zu erkennen.

  • Erweiterbarkeit: Albumentations kann verwendet werden, um neue Augmentationen einfach hinzuzufügen und sie in Computer Vision Pipelines über eine einzige Schnittstelle zusammen mit eingebauten Transformationen zu verwenden.

Wie man Albumentationen zur Erweiterung der Daten für YOLO11 Training verwendet

Nachdem wir nun erklärt haben, was Albumentations ist und was es kann, wollen wir uns ansehen, wie Sie es verwenden können, um Ihre Daten für das Training des Modells YOLO11 zu erweitern. Es ist einfach einzurichten, da es direkt in den Trainingsmodus vonUltralytics integriert ist und automatisch angewendet wird, wenn Sie das Albumentations-Paket installiert haben.

Einrichtung

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 beim Training nicht angewendet. Nach der Einrichtung sind Sie bereit, einen erweiterten Datensatz für das Training zu erstellen, wobei Albumentations integriert ist, um Ihr Modell automatisch zu verbessern.

Einrichtung

# Install the required packages
pip install albumentations ultralytics

Detaillierte Anweisungen und bewährte Verfahren für den Installationsprozess finden Sie in unserem Ultralytics Installationshandbuch. Wenn Sie bei der Installation der erforderlichen Pakete für YOLO11 auf Schwierigkeiten stoßen, finden Sie in unserem Leitfaden für häufige Probleme Lösungen und Tipps.

Verwendung

Nachdem Sie die erforderlichen Pakete installiert haben, können Sie Albumentations mit YOLO11 verwenden. Wenn Sie YOLO11 trainieren, wird durch die Integration mit Albumentations automatisch eine Reihe von Erweiterungen angewendet, die es Ihnen erleichtern, die Leistung Ihres Modells zu verbessern.

Verwendung

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 einen genaueren Blick auf die spezifischen Verstärkungen werfen, die während der Ausbildung eingesetzt werden.

Unschärfe

Die Unschärfe-Transformation in Albumentations wendet einen einfachen Unschärfe-Effekt auf das Bild an, indem sie die Pixelwerte innerhalb eines kleinen quadratischen Bereichs (Kernel) mittelt. Dies geschieht mit OpenCVs cv2.blur Funktion, die dazu beiträgt, das Bildrauschen zu reduzieren, aber auch die Bilddetails leicht verringert.

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

  • blur_limit: Hiermit wird der Größenbereich des Weichzeichnereffekts festgelegt. Der Standardbereich ist (3, 7), was bedeutet, dass die Kernelgröße für den Weichzeichner zwischen 3 und 7 Pixeln variieren kann, wobei nur ungerade Zahlen erlaubt sind, um den Weichzeichner zentriert zu halten.

  • p: Die Wahrscheinlichkeit der Anwendung der Unschärfe. Bei der Integration beträgt p=0,01, d. h. es besteht eine Wahrscheinlichkeit von 1 %, dass diese Unschärfe auf jedes Bild angewendet wird. Die niedrige Wahrscheinlichkeit ermöglicht gelegentliche Unschärfeeffekte und führt ein wenig Variation ein, damit das Modell verallgemeinert werden kann, ohne dass die Bilder übermäßig unscharf werden.

Ein Beispiel für die Unschärfe Augmentation

Median Unschärfe

Die Transformation MedianBlur in Albumentations wendet einen Median-Weichzeichnungseffekt auf das Bild an, der besonders nützlich ist, um Rauschen zu reduzieren und gleichzeitig die Kanten zu erhalten. Im Gegensatz zu typischen Unschärfemethoden verwendet MedianBlur einen Medianfilter, der besonders effektiv bei der Entfernung von Salz-und-Pfeffer-Rauschen ist, während die Schärfe an den Kanten erhalten bleibt.

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

  • blur_limit: Dieser Parameter steuert die maximale Größe des Unschärfekerns. In dieser Integration ist er standardmäßig auf einen Bereich von (3, 7) eingestellt, was bedeutet, dass die Kernelgröße für die Unschärfe 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 der Anwendung der Median-Weichzeichnung fest. Hier ist p=0,01, d. h. die Wahrscheinlichkeit, dass die Transformation auf jedes Bild angewendet wird, liegt bei 1 %. Diese niedrige Wahrscheinlichkeit stellt sicher, dass der Median-Weichzeichner sparsam eingesetzt wird und hilft dem Modell, sich zu verallgemeinern, indem es gelegentlich Bilder mit reduziertem Rauschen und erhaltenen Kanten sieht.

Die nachstehende Abbildung zeigt ein Beispiel für die Anwendung dieser Vergrößerung auf ein Bild.

Ein Beispiel für die MedianBlur Augmentation

Graustufen

Die ToGray-Transformation in Albumentations wandelt ein Bild in Graustufen um, reduziert es auf ein einkanaliges Format und repliziert diesen Kanal optional, damit er einer bestimmten Anzahl von Ausgabekanälen entspricht. Für die Berechnung der Graustufenhelligkeit können verschiedene Methoden verwendet werden, von der einfachen Mittelwertbildung bis hin zu fortschrittlicheren Techniken für eine realistische Wahrnehmung von Kontrast und Helligkeit.

Hier sind die Parameter und Werte, die bei 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 Mehrkanal-Graustufenbild zu erzeugen. Standardmäßig ist der Wert auf 3 gesetzt, was ein Graustufenbild mit drei identischen Kanälen ergibt.

  • Methode: Legt die Methode der Graustufenumwandlung fest. Die Standardmethode "weighted_average" wendet eine Formel (0,299R + 0,587G + 0,114B) an, die der menschlichen Wahrnehmung sehr nahe kommt und einen natürlich wirkenden Graustufeneffekt erzeugt. Andere Optionen wie "from_lab", "desaturation", "average", "max" und "pca" bieten alternative Möglichkeiten zur Erstellung von Graustufenbildern, die auf unterschiedlichen Anforderungen an Geschwindigkeit, Helligkeitsbetonung oder Detailerhalt basieren.

  • p: Steuert, wie oft die Graustufenumwandlung angewendet wird. Bei p=0,01 besteht eine Wahrscheinlichkeit von 1 %, dass jedes Bild in Graustufen umgewandelt wird, so dass eine Mischung aus Farb- und Graustufenbildern dem Modell zu einer besseren Generalisierung verhilft.

Das folgende Bild zeigt ein Beispiel für die Anwendung dieser Graustufenumwandlung.

Ein Beispiel für die ToGray Augmentation

Kontrastbegrenzte adaptive Histogramm-Entzerrung (CLAHE)

Die CLAHE-Transformation in Albumentations wendet die Contrast Limited Adaptive Histogram Equalization (CLAHE) an, eine Technik, die den Bildkontrast verbessert, indem sie das Histogramm in lokalisierten Regionen (Kacheln) ausgleicht anstatt im gesamten Bild. CLAHE erzeugt einen ausgewogenen Verbesserungseffekt und vermeidet den übermäßig verstärkten Kontrast, der sich aus der Standard-Histogramm-Entzerrung ergeben kann, insbesondere in Bereichen mit ursprünglich geringem Kontrast.

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

  • clip_limit: Steuert den Bereich der Kontrastverbesserung. Er ist auf den Standardwert (1, 4) eingestellt und bestimmt den maximal zulässigen Kontrast in jeder Kachel. Höhere Werte werden für mehr Kontrast verwendet, können aber auch zu Rauschen führen.

  • tile_grid_size: Legt die Größe des Kachelrasters fest, in der Regel als (Zeilen, Spalten). Der Standardwert ist (8, 8), was bedeutet, dass das Bild in ein 8x8-Raster unterteilt ist. Kleinere Kachelgrößen ermöglichen lokalere Anpassungen, während größere Größen eher eine globale Angleichung bewirken.

  • p: Die Wahrscheinlichkeit der Anwendung von CLAHE. Hier führt p=0,01 nur in 1 % der Fälle zu einem Anhebungseffekt, wodurch sichergestellt wird, dass die Kontrastanpassungen bei gelegentlichen Schwankungen in den Trainingsbildern sparsam angewendet werden.

Die folgende Abbildung zeigt ein Beispiel für die Anwendung der CLAHE-Transformation.

Ein Beispiel für die CLAHE-Erweiterung

Lernen Sie weiter über Albumentationen

Wenn Sie mehr über Albumentationen erfahren möchten, finden Sie in den folgenden Ressourcen ausführliche Anleitungen und Beispiele:

Wichtigste Erkenntnisse

In diesem Leitfaden haben wir die Hauptaspekte von Albumentations, einer großartigen Python Bibliothek zur Bildvergrößerung, untersucht. Wir haben die breite Palette an Transformationen und die optimierte Leistung besprochen und wie Sie sie in Ihrem nächsten YOLO11 Projekt einsetzen können.

Wenn Sie mehr über andere Ultralytics YOLO11 Integrationen erfahren möchten, besuchen Sie unseren Integrationsleitfaden. Dort finden Sie wertvolle Ressourcen und Einblicke.

FAQ

Wie kann ich Albumentations in YOLO11 integrieren, um die Daten besser zu ergänzen?

Albumentations lässt sich nahtlos in YOLO11 integrieren und wird automatisch während der Ausbildung angewendet, wenn Sie das Paket installiert haben. Hier erfahren Sie, wie Sie loslegen können:

# 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 Erweiterungen wie Unschärfe, Medianunschärfe, Graustufenumwandlung und CLAHE mit sorgfältig abgestimmten Wahrscheinlichkeiten zur Verbesserung der Modellleistung.

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

Albumentations zeichnet sich aus mehreren Gründen aus:

  1. Leistung: Basiert auf OpenCV und NumPy mit SIMD-Optimierung für überragende Geschwindigkeit
  2. Flexibel: Unterstützt mehr als 70 Transformationen auf Pixelebene, räumlicher Ebene und Mischungsebene
  3. Kompatibilität: Funktioniert nahtlos mit gängigen Frameworks wie PyTorch und TensorFlow
  4. Verlässlichkeit: Umfangreiches Testprogramm verhindert stille Datenkorruption
  5. Benutzerfreundlichkeit: Eine einzige, einheitliche API für alle Augmentationsarten

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

Albumentations verbessert verschiedene Computer-Vision-Aufgaben, darunter:

  • Objekt-Erkennung: Verbessert die Robustheit des Modells gegenüber Beleuchtungs-, Maßstabs- und Ausrichtungsschwankungen
  • Instanz-Segmentierung: Verbessert die Genauigkeit der Maskenvorhersage durch verschiedene Transformationen
  • Klassifizierung: Verbesserte Modellverallgemeinerung durch farbliche und geometrische Erweiterungen
  • Schätzung der Pose: Hilft den Modellen, sich an unterschiedliche Blickwinkel und Lichtverhältnisse anzupassen

Die vielfältigen Erweiterungsmöglichkeiten der Bibliothek machen sie wertvoll für jede Bildverarbeitungsaufgabe, die eine robuste Modellleistung erfordert.

📅 Created 1 month ago ✏️ Updated 15 days ago

Kommentare