Eine schrittweise Anleitung zum Erkennen, Umreißen und Klassifizieren von landwirtschaftlichen Parzellen auf Satellitenbildern
Dieser Artikel ist Teil einer 2-Artikel-Serie über die Verarbeitung von Satellitenbildern in der Landwirtschaft. Wenn Sie sich für die Erfassung und Verarbeitung von Satellitenbildern interessieren, lesen Sie bitte diesen erster Artikel von Antoine Aubay.
Teil 2 konzentriert sich darauf, wie wir diese verarbeiteten Satellitenbilder in einem landwirtschaftlichen Kontext genutzt haben, um:

Illustration des Zielprozesses
Teil 2 konzentriert sich darauf, wie wir diese verarbeiteten Satellitenbilder in einem landwirtschaftlichen Kontext genutzt haben, um:
TL;DR:
Dieser Artikel wird:
Dieser Artikel setzt grundlegende Kenntnisse in data Wissenschaft und Computer Vision voraus.
Geschäftliche Motivation
Eine Lösung, die in der Lage ist, Kulturen automatisch zu erkennen und zu kennzeichnen, kann eine breite Palette von Geschäftsanwendungen haben. Die Berechnung der Anzahl der Parzellen, ihrer durchschnittlichen Größe, der Dichte der Vegetation, der Gesamtfläche bestimmter Kulturen und vieler weiterer Indikatoren könnte verschiedenen Zwecken dienen. Öffentliche Organisationen könnten diese Kennzahlen beispielsweise für nationale Statistiken verwenden, während private Landwirtschaftsunternehmen sie nutzen könnten, um ihren potenziellen Markt sehr detailliert abzuschätzen.
Natürlich wurden Satellitenbilder in Betracht gezogen und als eine sehr brauchbare data-Quelle aus 3 spezifischen Gründen identifiziert:
Schritt 1 - Erkennen von landwirtschaftlichen Flächen auf Satellitenbildern
![]()
Sentinel-2 Rohbild: 10 000 x 10 000 Pixel, jedes Pixel 10 x 10 Meter auf dem Boden (Copernicus Sentinel data 2019)
Nach dem Abrufen und der Vorverarbeitung der Sentinel 2-Bilder bestand unsere erste Herausforderung darin, die Grundstücke zu lokalisieren und uns auf bestimmte Bereiche von Interesse zu beschränken. Da jedes Bild eine sehr hohe Auflösung hat, wäre es nicht realistisch, die gesamte Verarbeitung auf Bilder in voller Größe anzuwenden. Stattdessen bestand der erste Schritt zur Lösung unseres Problems darin, große Bilder in kleinere Fragmente zu zerschneiden und die Bereiche zu identifizieren, in denen sich die Grundstücke auf diesen kleineren Bildern befanden:

Unsere gewünschte Ausgabe: Fragmente, die nur landwirtschaftliche Flächen enthalten (Copernicus Sentinel data 2019)
Lösung 1A: Training eines Pixel-Klassifikators
Die erste Lösung für die Erkennung von landwirtschaftlichen Gebieten auf großen Bildern besteht darin, einen Pixelklassifikator zu erstellen. Für jedes Pixel würde dieses maschinelle Lernmodell vorhersagen, ob dieses Pixel zu einem Wald, einer Stadt, einem Gewässer, einem Bauernhof ... und damit zu einer landwirtschaftlichen Zone gehört oder nicht.
Illustration der Pixelklassifizierung mit 3 sichtbaren Klassen von Pixeln (Copernicus Sentinel data 2019)
Denn eine Menge Ressourcen für Sentinel-2 gefunden werden kann, konnten wir beschriftete Bilder mit über 10 verschiedenen Klassen der Grundwahrheit (Wald, Wasser, Tundra, ...) finden. Wenn sich jedoch das Klima in Ihrem Untersuchungsgebiet von dem Gebiet unterscheidet, auf dem Sie Ihr Modell trainiert haben, müssen Sie die den einzelnen Pixeln zugewiesenen Klassen möglicherweise neu bewerten.
Nachdem wir beispielsweise ein Modell für Länder mit gemäßigtem Klima trainiert und auf trockenere Regionen der Welt angewendet hatten, stellten wir fest, dass das, was das Modell als Wälder und Tundren ansah, in Wirklichkeit landwirtschaftliche Nutzpflanzen waren.
Sobald Ihre Pixel klassifiziert sind, können Sie alle Bilder, die keine landwirtschaftlichen Flächen enthalten, löschen.
Lösung 1A Profis:
Lösung 1A Nachteile:
Von allen verfügbaren Methoden zur Erkennung von Landwirtschaftszonen war diese die genaueste. Wenn Sie jedoch keinen Zugang zu beschrifteten Bildern haben, haben wir zwei alternative Lösungen gefunden.
Lösung 1B: Mapping von Geokoordinaten auf Pixelkoordinaten
Wenn die Koordinaten Ihres Interessengebiets beschriftet wurden oder wenn Sie die Koordinaten selbst beschriften, können Sie diese Geokoordinaten (Breiten- und Längengrad) Ihren Bildern zuordnen.

Sie können Ihre eigenen Polygone auf GoogleMaps entwerfen und sich so auf ein bestimmtes Gebiet Ihrer Wahl konzentrieren, während Sie Hindernisse (Wasser, Städte ...) umgehen.
Wenn Sie beispielsweise über die Koordinaten großer landwirtschaftlicher Gebiete verfügen oder selbst große Polygone in Google Maps einzeichnen, können Sie ganz einfach Geokoordinaten von landwirtschaftlichen Gebieten erhalten. Dann müssen Sie diese Koordinaten nur noch Ihren Satellitenbildern zuordnen und Ihre Bilder so filtern, dass sie nur die Zonen innerhalb Ihrer Polygone abdecken.
Lösung 1B Profis:
Lösung 1B Nachteile:
Lösung 1C: Verwendung eines Vegetationsindexes
Es ist möglich, einen Vegetationsindex aus den von den Satellitenbildern gelieferten Farbbändern zu berechnen. Ein Vegetationsindex ist eine Formel, die mehrere Farbbänder kombiniert, die oft stark mit dem Vorhandensein oder der Dichte der Vegetation (oder anderen Indikatoren wie dem Vorhandensein von Wasser) korreliert sind.
Mehrere Indizes existieren, aber einer der am häufigsten in der Landwirtschaft verwendeten ist der NDVI (Normalized Difference Vegetation Index). Dieser Index wird verwendet, um die Dichte der Vegetation auf dem Boden abzuschätzen, was dazu dienen kann, landwirtschaftliche Flächen über ein großes Bild zu erkennen.

Visuelle Darstellung des NDVI in einer landwirtschaftlichen Zone und in einer Wüste (Copernicus Sentinel data 2019)
Nachdem Sie die NDVI-Werte für jedes Pixel berechnet haben, können Sie einen Schwellenwert festlegen, um Pixel ohne Vegetation schnell zu eliminieren. Wir haben NDVI als Beispiel verwendet, aber das Experimentieren mit verschiedenen Indizes könnte zu besseren Ergebnissen führen.
Beachten Sie, dass die Berechnung eines Vegetationsindexes Ihnen nützliche Informationen liefern kann, um Ihre Analyse zu bereichern, selbst wenn Sie bereits eine andere Methode zur Erkennung von landwirtschaftlichen Flächen implementiert haben.
Lösung 1C Profis:
Lösung 1C Nachteile:
Schritt 2 - Erkennen und Abgrenzen von landwirtschaftlichen Parzellen
Aufbau eines unüberwachten Kantendetektors
Sobald Sie die Lage Ihrer Landwirtschaftszonen bestimmt haben, können Sie sich darauf konzentrieren, die einzelnen Parzellen auf diesen spezifischen Flächen abzustecken.
Da keine markierten data vorliegen, haben wir uns für einen unüberwachten Ansatz entschieden, der auf OpenCV's Canny Kantenerkennung. Die Kantenerkennung besteht darin, ein bestimmtes Pixel zu betrachten und es mit den umliegenden Pixeln zu vergleichen. Wenn der Kontrast zu den benachbarten Pixeln hoch ist, kann das Pixel als Kante betrachtet werden.
Ein Beispiel für die Kantenerkennung auf landwirtschaftlichen Grundstücken mit OpenCV (Copernicus Sentinel data 2019)
Sobald alle Pixel, die potenziell echte Kanten sein könnten, identifiziert sind, können wir damit beginnen, die Kanten zu glätten und versuchen, Polygone zu bilden. Wie erwartet, erweist sich die Leistung des Algorithmus zur Kantenerkennung als viel besser, wenn er auf große Plots angewendet wird:

Illustration des gesamten Prozesses der Skizzierung von Plots (Copernicus Sentinel data 2019)
Mit dieser Methode konnten wir fast 7 000 Parzellen in unserem Interessengebiet automatisch identifizieren. Da wir die Pixel-Klassifizierungsmethode (siehe Schritt 1A) verwendet haben, konnten wir echte landwirtschaftliche Grundstücke von anderen Polygonen trennen und so nur die relevanten data behalten.
Polygone, die aus einer Minderheit von “Farm-Pixeln” bestehen, wurden eliminiert (Copernicus Sentinel data 2019)
Optimierung der Leistung des Algorithmus zur Kantenerkennung
Um die bestmöglichen Ergebnisse zu erzielen, kann es sich als nützlich erweisen, Änderungen an Ihrem Bild vorzunehmen, insbesondere indem Sie mit Kontrast, Sättigung oder Schärfe spielen:

Das Experimentieren mit Kontrast, Sättigung oder Schärfe kann helfen, die Effizienz der Kantenerkennung zu verbessern (Copernicus Sentinel data 2019)
Ein weiterer kritischer Erfolgsfaktor ist das Erzwingen von konvexen Polygonen. Die meisten Plots folgen regelmäßigen Formen. Wenn Sie konvexe Polygone erzwingen, können Sie in der Regel viel bessere Ergebnisse erzielen.

Das Erzwingen konvexer Formen passt zu den meisten Plots viel besser (Copernicus Sentinel data 2019)
Schritt 3 - Klassifizierung jeder Parzelle zur Erkennung bestimmter Kulturen
Sobald alle Parzellen identifiziert sind, können Sie nun jede einzelne zuschneiden und als einzelne Bilddateien speichern. Der nächste Schritt besteht darin, ein Klassifizierungsmodell zu trainieren, um jede Parzelle anhand ihrer Kultur zu unterscheiden. Mit anderen Worten: Versuchen Sie, Tomatenpflanzen von Getreide oder Kartoffeln zu unterscheiden.
Erstellen eines gelabelten Trainingssatzes
Da wir kein bereits beschriftetes data-Set zur Verfügung hatten und die manuelle Beschriftung von Hunderten von Bildern zu zeitaufwändig gewesen wäre, haben wir nach ergänzenden data-Sets gesucht, die die Informationen über die Kulturen für bestimmte Parzellen zu einem bestimmten Zeitpunkt und an einem bestimmten Ort enthalten.
Das ideale Szenario wäre es, über vorbeschriftete Bilder zu verfügen, aber in unserem Fall hatten wir nur die Geokoordinaten und Kulturen von ein paar hundert landwirtschaftlichen Parzellen in unserem Interessengebiet. Dieses dataset enthielt eine Liste der Parzellen, den Breiten- und Längengrad ihres Zentrums und die zu einem bestimmten Zeitpunkt des Jahres darauf angebaute Pflanze.

Abbildung der externen Erntequelle data
Um unser Trainingsset zu erstellen, haben wir unseren Konverter für die Umwandlung von Geokoordinaten in Pixelkoordinaten verwendet (gemeinsam genutzt in Teil 1), um die spezifischen Parzellen zu identifizieren, für die wir ein Etikett (den Ausschnitt) in unserer Bilddatenbank hatten.
Von den 7 000 in Schritt 2 identifizierten Parzellen konnten wir dank unserer externen data-Quelle etwa 500 Parzellen beschriften. Diese 500 beschrifteten Grundstücke dienten zum Trainieren und Bewerten des Klassifizierungsmodells.
Modellierung
Wir haben uns für ein neuronales Faltungsnetzwerk entschieden, das die Fastai-Bibliothek, da dies eine effiziente Methode zur Klassifizierung unserer Bilder war.
Um den bestmöglichen Klassifikator zu finden, haben wir mit der Eingabe data experimentiert:

Dutzende von Modellen wurden auf data-Sets trainiert, die mit verschiedenen data-Präparationstechniken erzeugt wurden
Nach dem Experimentieren mit verschiedenen Klassifizierungsmodellen erreichten wir eine Genauigkeit von 78% und eine Wiedererkennung von 74% bei der binären Klassifizierung der kleinsten (und damit aufgrund der geringen Anzahl von Pixeln am schwierigsten zu klassifizierenden) Parzellen.
Zu beachtende Herausforderungen
Bei der Arbeit mit landwirtschaftlichen Parzellen können schon ein paar Wochen einen erheblichen Unterschied ausmachen. Innerhalb weniger Wochen kann die Weizenernte von grün zu gold bis zur Ernte übergehen:
Bei der Arbeit mit landwirtschaftlichen Parzellen können schon wenige Wochen einen großen Unterschied ausmachen (Copernicus Sentinel data 2019)
Es gibt also zwei Dinge, die Sie beachten sollten, wenn Sie dieses Projekt das ganze Jahr über wiederholen wollen:
Fazit
Die Arbeit mit Satellitenbildern eröffnet eine endlose Reihe von Möglichkeiten. Wenn man bedenkt, dass jeder Satellit unterschiedliche Funktionen bietet und dass die Verfügbarkeit und das Format von ergänzenden data je nach Studiengebiet weltweit variieren kann, wird jedes einzelne Projekt zu einem einzigartigen Anwendungsfall.
Wir hoffen, dass der Austausch über unsere Sichtweise und Methoden Sie bei Ihren eigenen Projekten inspirieren wird! Wenn Sie Lust haben, an Ihrem eigenen Satellitenbildprojekt zu arbeiten, lesen Sie unbedingt “Nutzung von Satellitenbildern für Computer-Vision-Anwendungen mit maschinellem Lernen” von Antoine Aubay.
Vielen Dank fürs Lesen, zögern Sie nicht Folgen Sie dem Artefact Technik-Blog wenn Sie benachrichtigt werden möchten, wenn unser nächster Artikel erscheint!

BLOG






