Klassifizierung von Anbauflächen anhand von Satellitenbild-Zeitreihen


Tiago Sanona


Crop fields can be classified with machine learning

Der Bereich der Fernerkundung hat von den Fortschritten im maschinellen Lernen (ML) profitiert. In diesem Artikel arbeiten wir mit einer modernen Modellarchitektur, dem Transformer, der ursprünglich für Probleme der natürlichen Sprachverarbeitung (NLP) entwickelt wurde und inzwischen für die Verarbeitung sequentieller Daten weit verbreitet ist. In Anlehnung an die Arbeit von Garnot et al. verwenden wir eine abgewandelte Version dieser Architektur, um Getreidefelder aus Zeitreihen von Satellitenbildern zu klassifizieren. Damit erzielen wir bessere Ergebnisse als herkömmliche Methoden (z. B. Random Forests) und benötigen weniger Ressourcen als rekurrente Netzwerke.


Anbaufelder und Satellitenbilder


Die erste Herausforderung besteht darin, Daten aus verschiedenen Quellen zu kombinieren und sie dann in ein Format zu bringen, das vom ML-Modell verarbeitet werden kann. Dies ist erforderlich, weil das Modell Zeitreihen von zufällig ausgewählten Pixeln aufnimmt, die zu Parzellen gehören, aus denen dann auf die Art der darin vorkommenden Pflanzen geschlossen wird.

Die Gemeinsame Agrarpolitik (GAP) in der EU verlangt von subventionierten Landwirten, dass sie ihre Anbauflächen jährlich melden. In diesem Bericht finden sich Informationen darüber, welche Arten angepflanzt wurden, sowie die Koordinaten für den Umriss der Parzelle, auf der sich diese Kultur befindet. Dies sind die ersten wichtigen Daten, die die Labels für das Klassifizierungsproblem und die Grenzen bilden, die zum Filtern der Satellitendaten verwendet werden, die mit ihnen in Verbindung stehen.

Der zweite Teil der Daten wird über Satellitenbilder gewonnen. Für dieses Projekt haben wir uns für die Daten von Sentinel-2 entschieden. Diese setzen sich aus 13 Spektralbändern zusammen, von denen wir 10 (2-8, 8A, 11, 12) verwendet haben, da die anderen Bänder zur Messung von Aerosolen und Wasserdampfkonzentrationen in der Atmosphäre verwendet werden und daher nicht sehr nützlich sind, um Schwankungen des Reflexionsgrads am Boden zu erkennen. Zwischen den von uns verwendeten Bändern gibt es Unterschiede in der Auflösung. In unserem Fall haben wir beschlossen, die Bilder mit einer Auflösung von 10 m in 20 m umzuwandeln. Schließlich wurden die beobachteten Werte je Kanal normalisiert.

Anschließend haben wir diese beiden Datenquellen kombiniert, indem wir die Originalbilder mit den Parzellengrenzen, die mit den Labels geliefert wurden, beschnitten haben, so dass wir in der Lage waren, die Pixel den Pflanzenlabels zuzuordnen.


Zeitreihenklassifikation


In diesem Abschnitt erläutern wir kurz die Architektur des PSE-TAE-Modells, wie es von Garnot et al. vorgeschlagen wurde, und weisen auf die Unterschiede zu unserer Implementierung hin.

1. Pixel-Set-Encoder

Da die von Satelliten gesammelten Bilder eine geringe Auflösung (10-20 m) haben, wären herkömmliche Konvolutionsmethoden nicht sehr nützlich, da die Texturinformationen der Pflanzen nicht zu erkennen wären. Außerdem können Parzellen eine große Vielfalt an Formen und Größen aufweisen, was eine einheitliche Strukturierung der Daten erschwert. Aus diesen Gründen haben die Autoren eine so genannte Pixel Set Encoder (PSE) Architektur vorgeschlagen.

Die Idee hinter dem PSE besteht darin, bei jedem Trainingsschritt verschiedene Pixelsätze aus den Satellitenbildern abzutasten und sie durch eine Reihe von vollständig verbundenen Schichten (fully connected layers), Batch-Normalisierungen und ReLUs zu leiten, die ein mehrschichtiges Perzeptron (MLP) bilden. So entsteht ein Modell, das in der Lage ist, jedes dieser Mehrkanalbilder unterschiedlicher Größe in einen Tensor konstanter Dimension einzubetten.

In der Veröffentlichung beziehen die Autoren auch einen Vektor vorberechneter geometrischer Merkmale als Eingabe für die PSE mit ein und argumentieren, dass bei Experimenten ohne diesen Zusatzvektor ein Leistungsabfall festgestellt wurde. In unserer Implementierung haben wir uns entschieden, diesen Schritt vorerst auszulassen.

2. Temporal Attention Encoder (TAE)

Nun reduziert sich das Problem darauf, eine Einbettung für jede der Zeitreihen der Pakete zu finden. Zu diesem Zweck haben sich die Autoren für den Einsatz einer modernen Technik zur Verarbeitung von sequentiellen Informationen entschieden. Sie schlagen eine Architektur vor, die auf dem Transformer von Vaswani et al. basiert, mit den folgenden Änderungen:

- Die Eingaben basieren auf den Einbettungen, die von der PSE generiert werden, die gleichzeitig mit dem Attention-Mechanismus trainiert wird, im Gegensatz zu den vortrainierten Worteinbettungen, die im ursprünglichen Modell verwendet werden.

- Der Positionskodierer berücksichtigt die Anzahl der Tage seit einem bestimmten Datum (erste Beobachtung) und nicht den Index der Beobachtungen, was dazu beiträgt, eine inkonsistente zeitliche Abtastung der Daten zu berücksichtigen. Da die Sequenzen außerdem kürzer sind, wird die Position durch $$1000^{2i/d}$$ geteilt, wobei $$d$$ die Dimension der Einbettungen ist.

- Die von jedem Aufmerksamkeitskopf erzeugten Abfragetensoren werden zu einer einzigen Hauptabfrage zusammengefasst, da das Ziel des Netzwerks darin besteht, eine gesamte Zeitreihe zu klassifizieren, anstatt für jedes Element der Sequenz eine Ausgabe zu erzeugen.

 Image 3 - Diagram of TAE. The positional encoding tensor is added to the input embedding (in this case generated by PSE), being then the resulting tensor passed to the attention heads. Each head computes a query ($$q_h$$) and a key ($$k_h$$), through $$FC_1$$.  The queries of each head are then averaged and passed through $$FC_2$$ generating a master query ($$\hat{q}_h$$). Using the embedding added to the positional encoding as the value tensor, the master query and the key, the scaled dot product attention is computed in each head. The results are then concatenated and passed through $$MLP_3$$.

3. Dekodierung in eine Klasse

Nachdem alle Bilder parallel von der PSE eingebettet und von der TAE verarbeitet wurden, wird ein letzter Decoder MLP hinzugefügt, um die Klassenlogits zu erzeugen.


Ergebnisse


Die Ergebnisse, die wir mit unserer Implementierung erzielt haben, sind in Tabelle 1 detailliert nach Metrik und Pflanzentyp aufgeführt.

 Table 1 - Validation metrics detailed by crop

Daraus können wir ersehen, dass die Schwierigkeit der Klassifizierung von Anbaufeldern mit dieser Methode variiert. Beispielsweise sind die F1-Werte für Kartoffeln niedriger, was darauf zurückzuführen sein könnte, dass auf ein und derselben Parzelle oft mehrere Kartoffelsorten angebaut werden, so dass es für das Modell schwieriger ist, eine konsistente Vorhersage für diese zu lernen.

Falls Sie an einer Umsetzung der Theorie interessiert sind: Zusammen mit dem GFZ haben wir bereits ein Projekt zur automatischen Klassifizierung von Kulturpflanzenarten abgeschlossen.