Objekte in Bildern erkennen und Bilder klassifizieren – so lassen sich Deep Learning Verfahren in ArcGIS nutzen.

Spracherkennung, automatische Übersetzung, exakte Bildanalyse: Deep Learning hat längst Einzug in kommerzielle Anwendungen gefunden. Nur: Was ist Deep Learning genau?

Deep Learning

Deep Learning ist eine Technik des Maschinenlernens, also einer Disziplin im Bereich der Künstlichen Intelligenz. Theoretisch betrachtet ist Deep Learning eine Wiederbelebung älterer Methoden, nämlich der künstlichen neuronalen Netze.

Dabei wird das dicht verwobene Netz aus den einfachen Nervenzellen des Gehirns simuliert. Neuronale Netze lernen dabei aus Erfahrung, indem sie die Stärke der jeweiligen Verbindungen passgenau ändern können. Dazu werden entsprechend große Mengen an Daten verarbeitet – in der Vergangenheit fehlten dafür sowohl die Rechenleistung als auch die notwendigen Datenmengen.

ArcGIS bietet mehrere Möglichkeiten, um externe Deep Learning Frameworks, wie z.B. Tensorflow, CNTK oder PyTorch, zu integrieren. So stehen in ArcGIS Pro Geoprocessing Tools zur Verfügung um Modelle dieser externen Frameworks direkt einzubinden. Alternativ kann dies auch über die ArcGIS API für Python und den ArcGIS Notebookserver geschehen.

Typischer Deep Learning Ablauf mit ArcGIS

Automatisierte Bilderkennung

Ein häufiges Einsatzgebiet von Deep Learning ist das Erkennen von Objekten auf Bildern (Visual Object Recognition). ArcGIS bietet Werkzeuge, um diese Technologie direkt in der Software zu unterstützen.

Da Neuronale Netze neben spektralen Eigenschaften auch Muster erkennen, kann unter Umständen eine bessere Generalisierung erzielt werden. Diese Art der Neuronalen Netzwerke hat im Bereich der Computer Vision großen Erfolg. Trotzdem müssen Deep Learning Modelle in der Regel trainiert werden, um Objekte in Bilddaten erkennen zu können.

„Vortrainierte“ Modelle sind zwar denkbar, scheitern aber an der Realität: Bilddaten sind in der Regel nicht gleich, selbst die weitgehend standardisierten Luftbildbefliegungen der Landesvermessungsämter finden nicht immer zur gleichen Jahres- und Tageszeit statt. Entsprechend sind die Bildeigenschaften (Beleuchtung, Kontrast, Objektdarstellu, etc.) selten ähnlich.


Systeme Trainieren

ArcGIS bietet die Möglichkeit, Trainingsdaten sowohl für Objekterkennung als auch Klassifizierung mittels Deep Learning zu erstellen. Geographische Informationssysteme sind für diese Aufgabe prädestiniert, da sie notwendige Objektinformationen für Trainingsdaten bereitstellen können.

Mit diesen Trainingsdaten werden anschließend in Deep Learning Frameworks wie Tensorflow, PyTorch oder CNTK die Modelle trainiert. Dies erfolgt außerhalb der ArcGIS Pro Umgebung.

Das Ergebnis ist ein Deep-Learning-Paket, das eine Modell-Definitionsdatei und das trainierte Modell enthält. Beispiele dafür finden sich auf im Github-Repository von Esri .

Das Paket ist die Voraussetzung, um die vorhandenen Geoprocessing Tools für Deep Learning ArcGIS Pro zu nutzen. Mit dem Tool „Objekte mit Deep Learning ermitteln“ werden von dem Model erkannte Objekte direkt in eine neue Feature-Klasse geschrieben. Das Tool „Pixel mit Deep Learning klassifizieren“ erzeugt als Ergebnis eine neue Raster-Datei mit den Klassifizierungen des Modells. Die Werkzeuge sind Teil der Image Analyst Erweiterung für ArcGIS Pro.

Da die angesprochenen Deep Learning Frameworks komplett Python-basiert sind, lässt sich der gesamte Ablauf übrigens auch bequem und übersichtlich in einem Jupyter Notebook abbilden. Die ArcGIS Funktionalität wird über die ArcGIS API for Python adressiert. Dadurch können die Ergebnisse auch gleich direkt in der ArcGIS Plattform abgelegt werden.

Ein typisches Beispiel ist die automatisierte Erkennung von Objekten oder Pflanzen. Im unten stehen Bild sehen Sie rot umringten Palmen: Anhand dieser wurde das Deep Learning Modell trainiert. Mit dem Modell konnten anschließend in ArcGIS die restlichen Palmen im Bild erkannt werden. Das Beispiel lässt sich mithilfe einer Lektion in Learn ArcGIS nachstellen.

Abbildung 3) Beispiel einer automatisierten Erkennung von Palmen

In diesem englischsprachigem ArcGIS Blog Post wird das Verfahren am Beispiel der Erkennung von Swimmingpools erläutert.

Einen Überblick zu weiteren Beispielen erhalten sie in der Storymap „Unlocking Information from Imagery in ArcGIS“.