Eine schrittweise Anleitung zum Erkennen, Umreißen und Klassifizieren von landwirtschaftlichen Parzellen auf Satellitenbildern

Dieser Artikel ist Teil einer 2-teiligen Serie über die Verarbeitung von Satellitenbildern in der Landwirtschaft. Wenn Sie an der Erfassung und Verarbeitung von Satellitenbildern interessiert sind, lesen Sie bitte den ersten Artikel von Antoine Aubay.

Teil 2 konzentriert sich darauf, wie wir diese verarbeiteten Satellitenbilder in einem landwirtschaftlichen Kontext nutzen, um:

  • Landwirtschaftliche Flächen auf großen Satellitenbildern lokalisieren

  • Erkennen und Umreißen der Grenzen der einzelnen Parzellen innerhalb dieser Bereiche

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

Illustration des Zielprozesses

Illustration des Zielprozesses

Teil 2 konzentriert sich darauf, wie wir diese verarbeiteten Satellitenbilder in einem landwirtschaftlichen Kontext nutzen, um:

TL;DR:
Dieser Artikel wird:

  • Sie lernen verschiedene Anwendungen des maschinellen Lernens und der Computer Vision für Satellitenbilder in der Landwirtschaft kennen
  • Vorstellung einer Reihe von Algorithmen zur erfolgreichen Erkennung und Kennzeichnung landwirtschaftlicher Parzellen
  • Vorschlagen alternativer Methoden je nach Verfügbarkeit von data

    Dieser Artikel geht von grundlegenden Kenntnissen in data Wissenschaft und Computer Vision aus.

  • Unternehmerische 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 Einrichtungen könnten diese Kennzahlen beispielsweise für nationale Statistiken nutzen, während private Landwirtschaftsunternehmen damit ihr Marktpotenzial sehr detailliert abschätzen könnten.

    Natürlich wurden Satellitenbilder in Betracht gezogen und als sehr brauchbare Quelle für data identifiziert, und zwar aus drei spezifischen Gründen:

    • Skalierbarkeit: Eine Datenbank mit Bildern, die die ganze Welt abdeckt, ist sofort verfügbar und wird regelmäßig aktualisiert.

    • Data Reichtum: Satellitenbilder können sehr 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 (ein detaillierterer Vergleich der Quellen data ist in Teil 1 verfügbar).

    Schritt 1 - Erkennung 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 Parzellen auf diesen kleineren Bildern befanden:

    Unser gewünschtes Ergebnis: Fragmente, die nur landwirtschaftliche Flächen enthalten (Copernicus Sentinel data 2019)

    Lösung 1A: Training eines Pixelklassifikators

    Die erste Lösung für die Erkennung landwirtschaftlicher Gebiete 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 Pixelklassen (Copernicus Sentinel data 2019)

    Da für Sentinel-2 viele Ressourcen zur Verfügung stehen, konnten wir beschriftete Bilder mit mehr als 10 verschiedenen Klassen von Ground Truth (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 möglicherweise die jedem Pixel zugewiesenen Klassen neu bewerten.

    Nachdem wir beispielsweise ein Modell für Länder mit gemäßigtem Klima trainiert hatten und es auf trockenere Regionen der Welt anwandten, stellten wir fest, dass das, was das Modell als Wälder und Tundren ansah, in Wirklichkeit landwirtschaftliche Kulturen waren.

    Sobald Ihre Pixel klassifiziert sind, können Sie alle Bilder, die keine landwirtschaftlichen Flächen enthalten, löschen.

    Lösung 1A Profis:

    • Zuverlässigste und granulare Ergebnisse (Pixel)

    Lösung 1A Nachteile:

    • Ein Datensatz mit beschrifteten Pixeln ist erforderlich

    • Die Klassifizierung jedes einzelnen Pixels ist mit einem hohen Rechenaufwand verbunden

    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: Umwandlung von Geokoordinaten in Pixelkoordinaten

    Wenn die Koordinaten Ihres Interessengebiets bereits 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 leicht Geokoordinaten von landwirtschaftlichen Gebieten erhalten. Dann müssen Sie diese Koordinaten nur noch Ihren Satellitenbildern zuordnen und die Bilder so filtern, dass sie nur die Gebiete 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 den landwirtschaftlichen Regionen zugeordnet 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 errechnen. Ein Vegetationsindex ist eine Formel, in der mehrere Farbbänder kombiniert werden, die häufig in hohem Maße mit dem Vorhandensein oder der Dichte der Vegetation (oder anderen Indikatoren wie dem Vorhandensein von Wasser) korreliert sind.

    Es gibt mehrere Indizes, aber einer der in der Landwirtschaft am häufigsten verwendeten ist der NDVI (Normalized Difference Vegetation Index). Dieser Index wird zur Schätzung der Vegetationsdichte auf dem Boden verwendet, was dazu dienen kann, landwirtschaftliche Flächen auf einem großen Bild zu erkennen.

    Visuelle Darstellung des NDVI in einem landwirtschaftlichen Gebiet 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 den 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 eingesetzt haben.

    Lösung 1C Profis:

    • Keinerlei Kennzeichnung erforderlich data

    Lösung 1C Nachteile:

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

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

    Schritt 2 - Erkennung und Abgrenzung der landwirtschaftlichen Parzellen

    Aufbau eines unüberwachten Kantendetektors

    Sobald Sie die Lage Ihrer Landwirtschaftszonen bestimmt haben, können Sie damit beginnen, einzelne Parzellen auf diesen spezifischen Flächen abzustecken.

    Da es keine beschrifteten data gibt, haben wir uns für einen unüberwachten Ansatz entschieden, der auf der Canny Edge Detection von OpenCV basiert. Bei der Kantenerkennung wird ein bestimmtes Pixel betrachtet und mit den umliegenden Pixeln verglichen. Wenn der Kontrast zu den benachbarten Pixeln hoch ist, kann das Pixel als Kante betrachtet werden.

    Ein Beispiel für die Kantenerkennung auf landwirtschaftlichen Flächen mit OpenCV (Copernicus Sentinel data 2019)

    Sobald alle Pixel, die potenziell echte Kanten sein könnten, identifiziert sind, können wir mit der Glättung der Kanten beginnen und versuchen, Polygone zu bilden. Wie erwartet, ist die Leistung des Algorithmus zur Kantenerkennung bei großen Plots deutlich besser:

    Veranschaulichung des gesamten Prozesses der Skizzierung von Parzellen (Copernicus Sentinel data 2019)

    Diese Methode ermöglichte es uns, fast 7 000 Parzellen in unserem Interessengebiet automatisch zu identifizieren. Da wir die Pixelklassifizierungsmethode (siehe Schritt 1A) verwendet haben, konnten wir echte landwirtschaftliche Grundstücke von anderen Polygonen trennen und so nur relevante 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 die Erzwingung konvexer Polygone. Die meisten Plots folgen regelmäßigen Formen, die Erzwingung konvexer Polygone kann in der Regel viel bessere Ergebnisse liefern.

    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 sie beschneiden 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: Sie versuchen, Tomatenpflanzen von Getreide oder Kartoffeln zu unterscheiden.

    Aufbau einer gelabelten Trainingsmenge

    Da uns kein bereits beschrifteter Datensatz zur Verfügung stand und die manuelle Beschriftung von Hunderten von Bildern zu zeitaufwendig gewesen wäre, haben wir nach ergänzenden Datensätzen gesucht, die Informationen über die Kulturen für bestimmte Parzellen zu einem bestimmten Zeitpunkt und an einem bestimmten Ort enthalten.

    Ideal wäre es, wenn die Bilder bereits beschriftet wären, aber in unserem Fall hatten wir nur die Geokoordinaten und Kulturen von ein paar hundert landwirtschaftlichen Parzellen in unserem Interessengebiet. Dieser Datensatz enthielt eine Liste der Parzellen, den Breiten- und Längengrad ihres Zentrums und die zu einem bestimmten Zeitpunkt des Jahres darauf angebauten Pflanzen.

    Illustration der externen Quelle der Ernte data

    Um unseren Trainingssatz zu erstellen, haben wir unseren Geokoordinaten-Pixel-Koordinaten-Konverter (wie in Teil 1 beschrieben) verwendet, um die spezifischen Grundstücke zu identifizieren, für die wir ein Label (den Ausschnitt) in unserer Bilddatenbank hatten.

    Von den in Schritt 2 ermittelten 7 000 Parzellen konnten wir dank unserer externen Quelle data etwa 500 Parzellen beschriften. Diese 500 beschrifteten Parzellen dienten zum Trainieren und Bewerten des Klassifizierungsmodells.

    Modellierung

    Wir haben uns für ein neuronales Faltungsnetzwerk unter Verwendung der fastai-Bibliothek entschieden, da es eine effiziente Methode zur Klassifizierung unserer Bilder darstellt.

    Um den bestmöglichen Klassifikator zu finden, haben wir mit der Eingabe data experimentiert:

    • Auswahl 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 Datensätzen trainiert, die mit verschiedenen data Aufbereitungstechniken erstellt wurden.

    Nach dem Experimentieren mit verschiedenen Klassifizierungsmodellen erreichten wir bei der binären Klassifizierung der kleinsten (und damit aufgrund der geringen Pixelzahl am schwierigsten zu klassifizierenden) Parzellen eine Genauigkeit von 78 % und eine Wiedererkennung von 74 %.

    Zu beachtende Herausforderungen

    Bei der Arbeit mit landwirtschaftlichen Parzellen können schon wenige Wochen einen erheblichen Unterschied ausmachen. Innerhalb weniger Wochen können Weizenpflanzen 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 man beachten muss, wenn man dieses Projekt das ganze Jahr über durchführen will:

    • Sie müssen für jeden Zeitraum des Jahres ein Modell erstellen

    • Ihr Etikett data mit Informationen über die Pflanzen muss regelmäßig aktualisiert werden.

    Schlussfolgerung

    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 Ihr eigenes Projekt mit Satellitenbildern in Angriff nehmen möchten, lesen Sie unbedingt "Nutzung von Satellitenbildern für Computer-Vision-Anwendungen mit maschinellem Lernen" von Antoine Aubay.

    Vielen Dank für die Lektüre, zögern Sie nicht, dem Artefact tech blog zu folgen, wenn Sie benachrichtigt werden möchten, wenn unser nächster Artikel erscheint!