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:

  • Lokalisieren Sie landwirtschaftliche Flächen auf großen Satellitenbildern

  • Erkennen und umreißen Sie die Grenzen der einzelnen Grundstücke innerhalb dieser Bereiche.

  • Klassifizieren Sie die Kulturen auf diesen Parzellen (Weizen, Tomaten, Mais ...)

Illustration of the target process

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:

  • Zeigen Sie Ihnen verschiedene Anwendungen von maschinellem Lernen und Computer Vision für Satellitenbilder in der Landwirtschaft
  • Präsentieren Sie eine Reihe von Algorithmen zur erfolgreichen Erkennung und Kennzeichnung landwirtschaftlicher Parzellen
  • Schlagen Sie alternative Methoden vor, je nach Verfügbarkeit von data

    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:

    • Skalierbarkeit: Eine Datenbank mit Bildern aus der ganzen Welt ist sofort verfügbar und wird regelmäßig aktualisiert.

    • Data Reichtum: Satellitenbilder können viel mehr Informationen liefern als einfache Bilder. Anstelle eines 3-Band-Bildes mit roten, grünen und blauen Pixeln können einige Satelliten mehr als 15 Merkmale pro Pixel liefern

    • Kosten: Obwohl Satellitenbilder recht kostspielig sein können, sind einige Optionen völlig kostenlos, wie z.B. Sentinel 2, das wir schließlich als Hauptquelle für data ausgewählt haben (einen detaillierten Vergleich der data-Quellen finden Sie in Teil 1)

    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:

    • Zuverlässige und granulare Ergebnisse (Pixel)

    Lösung 1A Nachteile:

    • Ein data-Set von markierten Pixeln ist erforderlich

    • Die Klassifizierung jedes Pixels verursacht hohe Rechenkosten

    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:

    • Auch eine zuverlässige Methode

    Lösung 1B Nachteile:

    • Sie benötigen eine Liste von Koordinaten, die mit landwirtschaftlichen Regionen verbunden sind

    • Die manuelle Erstellung dieser Koordinaten kann zeitaufwändig sein

    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:

    • Absolut kein etikettiertes data erforderlich

    Lösung 1C Nachteile:

    • Nicht sehr genau: Es könnte zum Beispiel schwierig sein, landwirtschaftliche Nutzpflanzen von Wäldern zu unterscheiden.

    • Die Schwellenwerte müssen je nach Klima und anderen Besonderheiten feinabgestimmt werden

    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:

    • Auswählen verschiedener Kombinationen von Farbbändern (Rot, Grün, Blau, Nahinfrarot ...)

    • Benachbarte Pixel auf unterschiedliche Weise behandeln: transparent, weiß, schwarz ... oder unangetastet lassen

    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:

    • Sie müssen für jede Periode des Jahres ein Modell erstellen

    • Ihr Etikett data, das Informationen über die Pflanzen enthält, muss regelmäßig erneuert werden.

    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!