Objekt-Erkennung auf Satellitenbildern mit neuronalen Netzen

Autor
Maxim Samarin
Universität Basel

Virtuelle Kartendienste erlauben es uns eine Reihe von nützlichen geografischen Informationen zu erlangen. Sie ermöglichen geeignete Fahrrouten zu bestimmen, virtuelle Spaziergänge durch Städte durchzuführen oder die Nachbarschaft aus der Vogelperspektive zu erkunden. Die reichhaltigen Informationen können gezielt dazu genutzt werden, spezifische Objekte zu erkennen. Systematische Untersuchungen umfassen häufig grosse Regionen und damit grosse Datensätze, die besondere Analysemethoden verlangen.

Stellen Sie sich vor, Sie würden gerne die Anzahl an Fahrzeugen in Ihrem Quartier feststellen wollen. Ein möglicher Weg bestünde darin, ein Satellitenbild des Quartiers aufzurufen und jedes einzelne Fahrzeug zu zählen, um eine Schätzung zu erhalten. Eine einzelne Person könnte dies für eine überschaubare räumliche Ausdehnung zufriedenstellend bewerkstelligen, jedoch würde die gleiche Aufgabe bezogen auf eine Stadt oder eine Region einen grossen Zeitaufwand bedeuten und ein hohes Mass an Konzentration erfordern. Betrachtet man beispielsweise Luftbilder, wie sie vom Bundesamt für Landestopografie, kurz swisstopo, erstellt werden, und nimmt eine räumliche Auflösung von 50 cm x 50 cm pro Pixel an, würde für die gesamte Schweiz ein Datensatz von mehr als 500 GB oder 180 Milliarden Pixeln anfallen. Eine manuelle Bearbeitung wäre da kaum möglich.

In den Geowissenschaften und in der Fernerkundung wurden Methoden entwickelt, die diese Herausforderung adressieren. Eine klassische Methode stellt die Object-based Image Analysis dar, in welcher räumliche und spektrale Eigenschaften zur Erkennung von Objekten in Satelliten- oder Luftbildern genutzt werden. Zunächst wird für jedes Objekt in einem Bild eine möglichst genaue Abgrenzung oder Segmentierung der einzelnen Objekte gefunden und dann die Art der Objekte bestimmt, also ob es sich beispielsweise um ein Fahrzeug, eine Strasse oder ein Haus handelt.

Untersuchung von Erosion in den Alpen

Als konkretes Anwendungsbeispiel untersuchen wir in unserem Forschungsprojekt «weObserve» verschiedene Erosionsformen in den Alpen. Bei Bodenerosion handelt es sich um ein relevantes Umweltproblem, das nicht nur ökologische Auswirkungen hat, sondern auch die landwirtschaftliche Nutzung oder durch Erdrutsche den Menschen direkt betrifft. In diesem Zusammenhang nutzen wir Satelliten- und Luftbilder, auf denen verschiedene Arten von Bodenerosion bei geeigneter Auflösung zu erkennen sind. Ein solches Satellitenbild ist in Bild 1 für einen Ausschnitt des Urserentals im Kanton Uri gegeben, auf welchem Erosionsflächen erkennbar sind.

Bild 1: Exemplarisches Satelliten-Bild des Urserentals im Kanton Uri (Google Earth, 2010). Neben vereinzelten Gebäuden, Wegen, einem Fluss (rechte untere Ecke) und bewaldetem Gebiet (mittig) sind gräuliche Flächen zu erkennen, auf denen Erdrutsche aufgetreten sind (linke obere Ecke).

Um gute Ergebnisse mit der zuvor erwähnten Methode zu erzielen, benötigt es ein gewisses Mass an Expertise in der Parameterwahl zur Erstellung der Segmentierung und Bestimmung der Objekt-Arten. Eine weitere Schwierigkeit kommt dadurch hinzu, dass Satellitenbilder systematische Unterschiede aufweisen können. So kann es sein, dass Aufnahmen zu einer anderen Jahreszeit oder Tageszeit zu veränderten Farbwerten führen kann. Dies erschwert die Übertragbarkeit der eingestellten Parameter von einem Satellitenbild auf ein anderes.

Zum Umgehen dieser Schwierigkeiten können künstliche neuronale Netze eingesetzt werden. In den vergangenen Jahren haben diese beeindruckende Ergebnisse im Bereich der Objekt-Erkennung erzielt. Bei dieser speziellen Art von neuronalen Netzen, häufig als Convolutional Neural Networks bezeichnet, handelt es sich um Algorithmen, die in der Lage sind eigenständig zu lernen, welche Eigenschaften ein Objekt in einem Bild ausmachen. In der Erkennung von Erosionsflächen bedeutet dies, dass das neuronale Netz, ähnlich dem menschlichen Experten, erlernt, welche Eigenschaften, wie Form, Farbe oder Beschaffenheit, eine Erosionsfläche auf einem Satellitenbild ausmachen. Dabei kann es sogar Gesetzmässigkeiten entdecken, die dem menschlichen Betrachter entgehen.

Bild 2: Vereinfachte Darstellung der Funktionsweise eines Convolutional Neural Networks. (1) Das Eingabebild wird mit einem Filter auf Merkmale abgesucht. (2) Für jeden Durchlauf werden numerische Werte abgespeichert und mehrere Merkmalskarten erstellt. (3) Diese neue Darstellung des Eingabebilds wird in weiteren Schritten prozessiert, sodass (4) für jede Objektart eine Wahrscheinlichkeit errechnet wird. Bildquelle für Fahrzeugbild:
https://commons.wikimedia.org/wiki/File:2017_Suzuki_Swift_(AZ)_GLX_Turbo_5-door_hatchback_(2017-07-15)_01.jpg, 
By EurovisionNim [CC BY-SA 4.0 (https://creativecommons.org/licenses/by-sa/4.0)], from Wikimedia Commons

In einem solchen neuronalen Netz wird ein Eingabebild mit einer Art Lupe oder Filter abgesucht, mit dem Ziel spezifische Eigenschaften zu identifizieren. Um dieses «Wissen» zu erlernen, muss das neuronale Netz zunächst mit Beispielen trainiert werden. In einem ersten Schritt muss also beispielsweise ein Bild von einem Fahrzeug mit der Information, dass ein Fahrzeug erkannt werden soll, zur Verfügung gestellt werden. Ist das neuronale Netz einmal erfolgreich kalibriert, kann es effizient Objekte erkennen und ist dabei in der Regel robust gegenüber Veränderungen im Eingabebild. Die Leistung dieser Netze kann in bestimmten Aufgabestellungen mit der menschlichen Leistung konkurrieren oder diese sogar übertreffen. Künstliche neuronale Netze stellen daher eine sinnvolle Ergänzung zu bestehenden Methoden in der Objekt-Erkennung dar und bieten eine Möglichkeit, automatisierte Objekt-Erkennung auf Satellitenbildern zu betreiben.

Zum Projekt

Weiterführende Links