Pixelklassifizierung

Mit der Image Analyst-Lizenz verfügbar.

Die folgenden Konzepte und Methoden sind entscheidend wichtig beim Verständnis und der Durchführung der Pixelklassifizierung in ArcGIS Pro.

Semantische Segmentierung

Die semantische Segmentierung, auch als Pixel-basierte Klassifizierung bezeichnet, ist eine wichtige Aufgabe, in der die einzelnen Pixel bei der Klassifizierung einer bestimmten Klasse zugeordnet werden. In GIS kann die Segmentierung für die Landnutzungsklassifizierung oder Extraktion von Straßen oder Gebäuden aus Satellitenbildern verwendet werden.

Semantische Segmentierung

Ein Beispiel für eine semantische Segmentierung wird gezeigt.

Das Ziel der semantischen Segmentierung ist das gleiche wie bei der herkömmlichen Bildklassifizierung in der Fernerkundung. Sie wird durch die Anwendung herkömmlicher Methoden für maschinelles Lernen durchgeführt, z. B. Random Forest oder dem Maximum-Likelihood-Klassifikator. Wie bei der Bildklassifizierung gibt es auch bei der semantischen Segmentierung zwei Eingaben:

  • Ein Rasterbild mit mehreren Bändern
  • Ein Beschriftungsbild mit der Beschriftung der einzelnen Pixel

Mit geringen Datenmengen trainieren

Nicht jedes Pixel in einem Bild wird bei der Klassifizierung von Trainingsgebieten verwendet. Hierbei wird von Trainingsgebieten mit geringen Datenmengen gesprochen. Im folgenden Diagramm werden das Bild und Trainingsgebiete mit geringen Datenmengen dargestellt. Bei Trainingsgebieten mit geringen Datenmengen, wie im Fall unten, müssen Sie für den Parameter zum Ignorieren von Klassen 0 festlegen. Auf diese Weise werden die nicht für das Training klassifizierten Pixel ignoriert.

Trainingsgebiete mit geringen Datenmengen

Ein Beispiel für Trainingsgebiete mit geringen Datenmengen wird gezeigt.

U-Net

Die U-Net-Architektur lässt sich als ein Encoder-Netzwerk beschreiben, auf das ein Decoder-Netzwerk folgt. Bei der semantischen Segmentierung werden die Features von Pixeln klassifiziert. Diese Klassifizierung auf Pixelebene wird in unterschiedlichen Phasen vom Encoder erlernt.

Der Encoder macht die erste Hälfte des U-Net-Prozesses aus. Beim Encoder handelt es sich normalerweise um ein vortrainiertes Klassifizierungsnetzwerk wie VGG oder ResNet, in dem Faltungsblöcke angewendet werden, gefolgt von einer maxpool-Reduktion zur Codierung des Eingabebildes in Feature-Repräsentationen auf mehreren Ebenen1. Die zweite Hälfte des Prozesses wird vom Decoder übernommen. Ziel ist es, die vom Encoder erlernten unterschiedlichen Features (niedrigere Auflösung) semantisch auf den Pixelabstand (höhere Auflösung) zu projizieren, um eine dichte Klassifizierung zu erhalten. Der Decoder umfasst Upsampling und Verbindungen, gefolgt von normalen Faltungsvorgängen1

Referenzen

[1] Olaf Ronneberger, Philipp Fischer, Thomas Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation, https://arxiv.org/abs/1505.04597, (2015).

PSPNet

Das Pyramid Scheme Parsing Network (PSPNet)-Modell besteht aus einem Encoder und einem Decoder. Der Encoder ist dafür zuständig, Features aus dem Bild zu extrahieren. Mit dem Decoder wird die Klasse des Pixels am Ende des Prozesses vorhergesagt.

Deep Lab

Fully Convolutional Neural Networks (FCNs) werden oft für die semantische Segmentierung verwendet. Eine Schwierigkeit bei der Verwendung von FCNs für Bilder für Segmentierungsaufgaben besteht darin, dass Eingabe-Feature-Karten beim Durchlauf durch die Faltungs- und Pooling-Layer des Netzwerks kleiner werden. Dies führt zum Verlust von Informationen zu den Bildern und Ergebnissen in einer Ausgabe, in der Vorhersagen eine niedrige Auflösung aufweisen und die Objektgrenzen nicht klar umrissen sind.

Das DeepLab-Modell versucht dies mit Atrous-Faltungen und Atrous Spatial Pyramid Pooling (ASPP)-Modulen zu beheben. Die erste Version von DeepLab (DeepLabV1) greift auf Atrous-Faltung und vollständig verbundenes CRF (Conditional Random Field; willkürliches Bedingungsfeld) zurück, um festzulegen, in welcher Auflösung Bild-Features berechnet werden.

In ArcGIS Pro wird DeepLabV3 verwendet. DeepLabV3 greift ebenfalls auf Atrous-Faltung zurück, verwendet jedoch zusätzlich ein verbessertes ASPP-Modul und bezieht Batch-Normalisierung sowie Features auf Bildebene mit ein. Das in V1 und V2 verwendete, veraltete CRF (Conditional Random Fiel; willkürliches Bedingungsfeld) kommt nicht mehr zum Einsatz.

Das DeepLabV3-Modell weist die folgende Architektur auf:

  • Features werden aus dem Backbone-Netzwerk extrahiert, z. B. VGG, DenseNet und ResNet.
  • In den letzten Blöcken des Backbones wird Atrous-Faltung verwendet, um die Größe der Feature-Karte zu steuern.
  • Zusätzlich zu den extrahierten Features aus dem Backbone wird ein ASPP-Netzwerk hinzugefügt, um die einzelnen Pixel ihren Klassen entsprechend zu klassifizieren.
  • Mit der Ausgabe des ASPP-Netzwerks wird eine 1-mal-1-Faltung vorgenommen, um die tatsächliche Größe des Bildes zu erhalten, das die endgültige segmentierte Maske für das Bild darstellt.

Verwandte Themen