Neuronale Netze mit Hilfe von Augmentierungen verbessern


Durch die Augmentierung von Bilddaten, lässt sich die Qualität von neuronalen Netzen deutlich verbessern. Was genau man unter dem Begriff Augmentierung versteht und wie Sie damit auch Ihre neuronalen Netze verbessern können, erfahren Sie in diesem Beitrag.

Deep Learning Data Augmentation

Auf die folgenden Themen gehen wir in diesem Beitrag näher ein:

  • Was bedeutet Augmentierung von Bilddaten?
  • Wieso macht es Sinn, Bilddaten zu augmentieren?
  • Was sind Augmentierungs-Pipelines und wie lassen sich diese effektiv verwenden?

Was bedeutet Augmentierung von Bilddaten?


In dem Bereich Deep Learning bedeutet das Augmentieren von Bilddaten, dass mit Hilfe von verschiedenen Prozessen die Originalbilddaten verändert werden. Beispielsweise kann ein Bild gedreht werden oder es ist möglich einen Filter über das Bild zu legen. Dieser Prozess lässt sich mit der richten Software automatisiert starten und geschieht nachdem die Originaldaten gelabelt wurden. Das bedeutet, dass die veränderten Bilddaten nicht erneut gelabelt werden müssen. Die bereits definierten ROI’s in den Originalaufnahmen werden in die frisch erzeugten Bilddaten übertragen.

Deap Learning ROI Augmentation

Wieso macht es Sinn, Bilddaten zu augmentieren?


Grundsätzlich macht es in den meißten Anwendungsfällen Sinn, die Bilddaten nach dem Labeln zu augmentieren, da das Augmentieren viele Vorteile für den Anwender und das neuronale Netz bringt.

Einer der Hauptgründe ist, dass dadurch die Originaldaten vervielfältigt werden. In vielen Projekten ist die Datenbeschaffung einer der kritischsten und zeitaufwendigsten Meilensteine. Durch das systematische Verändern der Originaldaten ist es möglich schnell und unkompliziert neue Daten zu erschaffen, welche sich von den bereits vorhandenen Originaldaten unterscheiden, jedoch nicht so unterschiedlich sind, dass das System die Daten nicht sinnvoll verwerten kann.

Data Augmentation Multiple

Ebenso verbessern Sie durch das Augmentieren Ihrer Bilddaten die Qualität Ihres Datensatzes für das neuronale Netz. Sie schaffen auf künstlichem Weg mehr unterschiedliche Varienten ihrer Objekte im Bild und somit wird ihr neuronales Netz flexibler und kommt auch mit Daten, welche sich mehr von den Originaldaten unterscheiden besser klar.

Durch das Augmentieren von Bilddaten lässt sich also deutlich Zeit einsparen und die Qualität des neuronalen Netz kann ebenfalls verbessert werden. In beinahe jedem Anwendungsfall übersteigt der gewonnene Mehrwert der Bilddaten den zusätzlichen Aufwand zum Erzeugen dieser Daten deutlich.

Was sind Augmentierungs-Pipelines und wie lassen sich diese effektiv verwenden?


Wenn man das Potential von Augmentierten Bilddaten voll ausschöpfen möchte, ist es sinnvoll sich mit dem Thema Augmentierungs-Pipelines näher zu befassen. Durch diese Pipelines lässt sich das Augmentieren von Bilddaten effektiver gestalten und die Qualität des Datensatz kann weiter verbessert werden.

Augmentation Pipeline

Unter einer Augmentierungs-Pipeline versteht man eine Abfolge von verschiednen Augmentierungen die Schritt für Schritt auf das Originalbild angewandt werden. Beispielsweise kann ein Bild zuerst gedreht werden, und dann mit einem Graustufenfilter versehen werden. Duch solche Pipelines ist es möglich, die Bilddaten schrittweise so anzupassen, dass man am Ende das gewünschte Ergebnis erhält.

Ein weiterer Vorteil besteht darin, dass beliebig viele Pipelines definiert werden können. Dadurch lassen sich für unterschiedliche Bilddaten individuelle Pipelines anlegen. Beispielsweise könnte ein Datensatz aus unterschiedlichen Bildern bestehen die aus unterschiedlichen Perspektiven und Distanzen angefertigt wurden. In diesem Fall ist es möglich eine Pipeline zu definieren, in welcher die Bilder vergrößert werden und diese Pipeline dann den Bildern zuzuweisen, welche mit einer größeren Distanz aufgenommen wurden.

Ein weiterer essenzieller Vorteil beim Verwenden von Pipelines ist es, dass durch die schrittweise Veränderung der Originaldaten sehr viele neue Bilddaten erzeugt werden. Wenn man zum Beispiel eine Pipeline mit 3 Schritten definiert erhält man am Ende der Pipeline neben dem Originalbild noch 3 weitere unterschiedliche Bilder, welche die Schritte der Pipeline wiederspiegeln. Beispielsweise ist das erste Bild um 90° gedreht, das zweite Bild ist um 90° gedreht und zusätzlich mit einem Kontrast Filter versehen und das Dritte erzeugt Bild entählt die Drehung, den Filter und ist noch vergrößert. Mit diesem Verfahren können die Bilddaten sehr einfach und effektiv künstlich erzeugt werden und durch die zahlreichen möglichen Varianten wird das neuronale Netz flexibler und Erkennt die gewüschten Objekte im Bild besser.

Fazit


Das Augmentieren von Bilddaten und das Verwenden von Augmentierungs-Pipelines macht sogut wie immer Sinn. Die Qualität des Datensatz wird gesteigert und dadurch auch direkt die Qualität des neuronalen Netz welches anhand der Daten trainiert wird.

Der Aufwand für das Augmentieren und das Definieren von Pipelines ist im Vergleich zu den gewonnen Ergebnissen nicht erwähenenswert und lohnt sich für beinahe alle Anwendungsfälle.

Mit unserem Annotation Tool lassen sich Augmentierungs-Pipelines bequem definieren und anwenden. Mehr Informationen über unser Annotation.ComVISTEC Tool, finden Sie hier.