Community • 10. März 2025

QGIS: GeoAI mit dem Deepness Plugin

KI-Anwendungen sind seit der Veröffentlichung von Chat-GPT 2022 in aller Munde. Bei Chat-GPT handelt es sich um ein sogenanntes „Large Language Model“ das basierend auf Textdokumenten trainiert worden ist. Im GIS-Bereich kommen KI-Anwendungen ebenfalls schon länger zum Einsatz, insbesondere bei der Mustererkennung, Vorhersage und Automatisierung bietet sich der Einsatz von maschinellem Lernen und Deep Learning an. Hierfür wird inzwischen der Begriff GeoAI verwendet. Mit der GeoAI werden häufig die folgenden Anwendungsfälle bearbeitet:

  • Die Segmentierung teilt ein Bild oder eine Karte in verschiedene Regionen oder Segmente auf, die jeweils bestimmten Objekten oder Merkmalen entsprechen. Ziel ist es jedes Pixel im Bild zu klassifizieren, um zu bestimmen, zu welchem Objekt oder welcher Klasse es gehört. Eine typische Anwendung ist z.B. Identifizierung von Landnutzungsklassen.
  • Die Detektion identifiziert und lokalisiert bestimmte Objekte innerhalb eines Bildes oder einer Karte mit dem Ziel Objekte durch Begrenzungsrahmen oder andere geometrische Formen zu umreißen. Ein Anwendungsfall ist z.B. das Zählen von Autos oder anderen Fahrzeugen.
  • Bei der Regression werden kontinuierliche Werte vorausgesagt, wie z. B. Temperatur, Höhe oder Bevölkerungsdichte. Es wird eine Beziehung zwischen Eingabedaten (z. B. Satellitenbilder, topografische Daten) und einem kontinuierlichen Zielwert hergestellt. Ein Beispiel ist die Schätzung von Ernteerträgen.

Dabei wird die GeoAI mittels eines vorbereiteten Modells trainiert, wobei sie lernt, Muster und Beziehungen zu erkennen. Das trainierte Modell wird anhand eines separaten Datensatzes (Validierungsdatensatz) evaluiert, um seine Leistung zu überprüfen. Bei Bedarf werden die Modellparameter angepasst oder das Modell erneut trainiert, um die Genauigkeit zu verbessern. Das trainierte Modell kann dann auf neue, unbekannte Daten angewendet werden, um Segmentierungen, Detektionen oder Regressionen durchzuführen. Wichtig zu beachten ist dabei, dass

  • die Qualität und Quantität der Trainingsdaten einen entscheidenden Einfluss auf die Leistung des Modells haben.
  • Deep-Learning-Modelle oft große Datensätze und erhebliche Rechenressourcen erfordern.
  • die Auswahl des geeigneten Modells von der spezifischen Aufgabe und den verfügbaren Daten abhängt.

Deep Learning mit QGIS

Mit dem Deepness Plugin steht ein Tool für QGIS-Benutzer zur Verfügung, die nicht mit maschinellem Lernen vertraut sind. Das Plugin packt die gesamte Komplexität hinter eine einfache Benutzeroberfläche, sodass der Benutzer seine Daten problemlos mit der Leistung von neuralen Netzwerken verarbeiten kann. Natürlich muss ein Modell zuerst von jemandem erstellt werden, der mit maschinellem Lernen vertraut ist. Jedoch ist die gesamte Komplexität der Verarbeitung im Plugin implementiert und für den Anfang stehen einige vorkonfigurierte Modelle zur Verfügung. Im Folgenden sehen wir uns die Installation und den Test des Plugins anhand eines der vorkonfigurierten Modelle an.

Installation

Die Installation erfolgt über den Plugin-Manager von QGIS (Erweiterungen → Erweiterungen verwalten und installieren…) und der Auswahl des „Deepness“-Plugins.

Hier gibt es auch einen Link auf die zugehörige Homepage mit weiteren Informationen und Links zu vorbereiteten Modellen. Nach dem Klicken auf den Button „Erweiterung installieren“ erscheint ein weiteres Fenster, dass Abhängigkeiten zu weiteren Python-Bibliotheken zeigt, die das Plugin benötigt. Man kann nun die benötigten Bibliotheken mit „pip install“ selber installieren oder man lässt das automatisiert durch das Plugin machen, in dem man den Button „Install Packages“ klickt, was ich an dieser Stelle unbedingt empfehlen würde.

Nach der Installation meldet sich QGIS mit einem Crash-Fenster, nach dem Neustart von QGIS ist das Plugin jedoch ordentlich installiert und bereit zur Verwendung.

Für einen ersten Test bietet sich die Verwendung eines existierenden Modells an, da das Erstellen und Trainieren eines neuen Modells einiges an Erfahrung braucht. Auf der Homepage des Plugins finden sich zahlreiche vordefinierte und trainierte Modelle (https://qgis-plugin-deepness.readthedocs.io/en/latest/main/main_model_zoo.html). Für diesen Blog-Artikel teste ich das YOLOv7-m Modell „Aerial Cars Detection“, welches aus einem Luftbild Autos detektiert. Dazu muss man das dazugehörige Modell im ONNX Format  auswählen und herunterladen. ONNX steht für „Open Neural Network Exchange“ ein offenes Format zum Austausch von Modellen zwischen verschiedenen KI-Tools. Das Modell benötigt als Eingangsdaten ein Luftbild mit mindestens 10 cm Bodenauflösung, also 1 Pixel entspricht 10 cm. Hierzu verwende ich den NRW Orthofoto-WMS-Dienst der Bezirksregierung Köln (https://www.wms.nrw.de/geobasis/wms_nw_dop) und zoome mich in den Bereich der Eifelstraße 7 in Bonn – mal sehen was so an Autos vor unserer Firmenzentrale rumsteht.

Nach dem Start des Plugins über einen Tool-Button (1) oder über das Menü (Erweiterungen → Deepness) erscheint rechts ein neues Widget zum Steuern der Parameter für das Plugin.

Um das Plugin zu testen sind nun nur noch wenige Schritte notwendig. Als erstes wählt man bei „Input data“ (2) das zu untersuchende Luftbild und den zu untersuchenden Bereich aus, z.B. den sichtbaren Bereich im Kartenfenster. Anschließend muss das heruntergeladene Modell im ONNX Format geladen werden (3). Das Modell setzt nun alle wesentlichen Parameter in den verschiedenen Bereichen des Steuerungswidgets. Diese kann man selbstverständlich auch verändern. Aber für einen ersten Test nehme ich alles so, wie es durch das Modell eingestellt worden ist. Anschließend braucht man nur den breiten Button „Run“ (4) am unteren Ende zu drücken und das Deepness-Plugin beginnt mit der Detektion von Autos im vorliegenden Ausschnitt des Luftbildes. Da ich nur einen kleinen Ausschnitt verwende, geht die Arbeit auch schnell vonstatten und nach wenigen Sekunden erscheint ein Dialog mit dem Ergebnis der Berechnung. Die gefunden Autos sind mit kleinen Bounding-Boxen umrandet. Allerdings sind tatsächlich nicht alle Autos gefunden worden, hier kann man also noch mit den anderen Parametern spielen und versuchen, das Ergebnis zu verbessern.

Fazit

Das Deepness-Plugin bietet für QGIS Nutzer einen relativ einfachen Zugang zu Deep Learning Anwendungen und zur Auswertung von GIS-Daten mit GeoAI. Es deckt alle wesentlichen Bereiche wie Segmentierung, Detektierung und Regression ab. Über die Homepage des Plugins stehen für den Anfang zahlreiche Modelle aus unterschiedlichen fachlichen Bereichen zur Verfügung. Darüber hinaus bietet die Homepage nützliche Hinweise zur Entwicklung eigener Modelle oder zur Erweiterung bereits bestehender Modelle (https://qgis-plugin-deepness.readthedocs.io/en/latest/creators/creators_tutorial.html). Durch die Verwendung des ONNX Format für Modelle besteht zudem die Möglichkeit auch Modelle anderer Tools zu verwenden.

Weitere Beiträge, die Sie interessieren könnten:

Stefan Giese

Stefan Giese ist Diplom-Geologe und seit 2016 als GIS-Consultant und QGIS-Trainer bei der WhereGroup tätig. Er lebt und arbeitet in Freiburg im Breisgau und beschäftigt sich neben seiner Arbeit bei der WhereGroup mit der geophysikalischen Erkundung von archäologischen Bodendenkmälern.

Artikel teilen: