In einer digitalisierten Welt sind präzise und aktuelle Daten entscheidend. In dieser Blogserie zeige ich, wie moderne Technologien wie Deep Learning genutzt werden können, um Daten zu Rollstuhlparkplätzen effizient zu aktualisieren und zu pflegen. Begleiten Sie mich im ersten Teil auf eine Reise durch die Welt der Datenverarbeitung für ein möglichst barrierefreies Umfeld.
Die Entstehung von rollstuhlparkplatz.ch
Im Jahr 2010 haben BITBEE Solutions, das Geometa Lab der HSR (heute: OST) und der Berufsverband Ingenieur-Geometer Schweiz (IGS) die Plattform «rollstuhlparkplatz.ch» ins Leben gerufen. Ziel dieser Initiative ist es, schweizweit qualitativ hochwertige Daten über Rollstuhlparkplätze bereitzustellen. Bis dato werden diese Daten durch Geometerbüros mit modernen Messtechnologien erfasst und dokumentiert und anschliessend über interaktive Karten auf Webseiten wie www.rollstuhlparkplatz.ch oder über die Mobile-App «ParaMap» zugänglich gemacht.
Heute [Mai 2024] sind auf der Plattform rund 11’400 öffentliche Rollstuhlparkplätze verzeichnet. Die Zahl der neu erfassten Parkplätze stagniert aber seit Jahren. Wurden zu Beginn des Projekts noch mehrere Tausend neue Parkplätze pro Jahr registriert, sind es mittlerweile 200-300 jährlich. Ein grosser Teil der Parkplätze scheint sicher erfasst, doch nach mehr als zehn Jahren sind viele dieser wichtigen Daten nicht mehr aktuell.
2013 war ich selbst in der Erfassung von Rollstuhlparkplätzen für einen Geometer tätig. Diese Erfahrung hat mir wertvolle Einblicke gegeben und mich für die Bedeutung präziser Daten sensibilisiert. Heute bin ich in engem Kontakt mit dem Verein «Accessibility Data». Gemeinsam verfolgen wir ein ehrgeiziges Ziel: Wir wollen die Qualität und Aktualität der Parkplatz-Daten in absehbarer Zukunft regelmässig und automatisiert nachführen können.
Automatisiertes Monitoring – aber wie?
Es ist rein aufgrund der Mengengerüste klar, dass die Überwachung nicht wie bisher manuell durch Geometerbüros erfolgen kann. Es muss eine Lösung gefunden werden, die eigenständig arbeitet, konsistente Ergebnisse liefert und dennoch kostengünstig betrieben werden kann. Was sind mögliche Vorgehensweisen?
Öffentliche Webseiten als Datenquelle?
Theoretisch könnten wir öffentliche Webseiten von Gemeinden und Städten automatisiert überwachen, um relevante Informationen zu Rollstuhlparkplätzen zu extrahieren und möglichst automatisiert weiterzuverarbeiten. Leider fehlen dort, wo solche Informationen grundsätzlich überhaupt online auffindbar sind, oft die räumlichen Anhaltspunkte zur exakten Verortung dieser Infrastrukturen. Zudem erheben die online zugänglichen Behördeninformationen keinen Anspruch auf Vollständigkeit. Der erste Umstand macht die automatisierte Aufbereitung der Daten teilweise unmöglich. Der zweite Umstand beschränkt die theoretisch auf diesem Weg maximale erreichbare Datenbasis.
Crowdsourcing als Alternative?
Eine alternative Lösung bestünde darin, Bürger:innen aktiv über Crowdsourcing zu ermutigen, Änderungen und Aktualisierungen von Rollstuhlparkplätzen über eine dedizierte App zu melden. Dieses Vorgehen hätte das Potenzial, eine Vielzahl von Informationen zu liefern, die sonst möglicherweise übersehen würden. Die Datenqualität entspräche aber wohl zu oft nicht den bisherigen Anforderungen. Allenfalls könnte man Crowdsourcing im vorliegenden Kontext als «Hinweisgeber» für präzise Datenerhebungen durch Profis nutzen.
Deep Learning ist die Lösung!
Ein dritter Ansatz ist die Nutzung der auffälligen Rollstuhl-Piktogramme auf den Parkplätzen, die sich in hochauflösenden Luftbildern gut erkennen lassen (siehe Abbildung unten), in einem automatisierten Workflow. Da die bisher erfassten Rollstuhlparkplätze bereits mit Koordinaten vorliegen und das Bundesamt für Landestopografie swisstopo entzerrte Luftbilder (Orthofotos) mit einer Bodenauflösung von 10 cm flächendeckend über die ganze Schweiz kostenlos zur Verfügung stellt, bietet sich der Einsatz von Deep Learning zur Lokalisierung dieser Parkplätze als optimale Lösung an. Dieser Ansatz ist der vielversprechendste und wurde weiterverfolgt.
Deep Learning für die Erkennung von Rollstuhlparkplätzen
In einer Zeit, in der künstliche Intelligenz (KI) und fortschrittliche Technologien zunehmend verbreitet sind, stolpert man rasch über den Ansatz des Deep Learning. Deep Learning ist ein Teilbereich des maschinellen Lernens und eignet sich besonders für die Erkennung und Klassifizierung von Objekten aus grossen unstrukturierten Datenbeständen wie zum Beispiel Bildern. Als technische Grundlage von Deep Learning dienen dabei künstliche Netze, die während des Lernvorgangs immer wieder neu verknüpft werden. Das neuronale Netz («KNN» für «künstliches neuronales Netzwerk» bzw. «ANN» für «Artificial Neural Network») ist eine Art abstrahiertes Modell des menschlichen Gehirns und besteht aus künstlichen Neuronen.
Für die Bilderkennung werden üblicherweise spezielle Arten von künstlichen neuronalen Netzen verwendet – Convolutional Neural Networks (CNN). CNN können Merkmale in Bildern analysieren und verfügen im Vergleich zu KNN über zusätzliche Schichten künstlicher Neuronen. Für weiterführende Details verweise ich auf die Fachliteratur, da eine umfassende Erläuterung den Rahmen dieses Blogs sprengen würde.
Einsatz von Faster R-CNN
Für unseren Anwendungsfall setzen wir auf die «Faster R-CNN»-Architektur, welche auf CNN basiert und die Ergebnisse in Form einer Bounding Box zurückgibt. Die untenstehende Abbildung zeigt eine grobe Übersicht über die «Faster R-CNN»-Architektur.
Der «Faster R-CNN»-Algorithmus bietet unter den Algorithmen für Objekterkennung mitunter die höchste Genauigkeit. Er ist sehr flexibel und kann auf eine Vielzahl von Objekten und Szenarien angewandt werden, von allgemeinen Objekterkennungsaufgaben bis hin zu spezifischen Anwendungen wie eben der Detektion von Rollstuhl-Piktogrammen auf Parkplätzen.
Im Vergleich zu Ein-Stufen-Modellen wie YOLO (You Only Look Once) und SSD (Single-Shot Detection) verwendet Faster R-CNN einen Zwei-Stufen-Ansatz: Zuerst generiert das Region Proposal Network (RPN) mögliche Objektregionen, die dann klassifiziert und lokalisiert werden. Dieser Ansatz ist komplexer und langsamer, bietet jedoch eine höhere Genauigkeit, die für unseren Anwendungsfall entscheidend ist.
Datenbeschaffung und erste Vorbereitungen
Um ein Deep-Learning-Modell zu entwickeln, das Rollstuhlparkplätze auf Luftbildern erkennen kann, benötigen wir eine grosse Menge an Bildern als Input (links). Für jedes dieser Bilder erstellen wir entsprechende Labels, die Parkplätze markieren. Diese Labels dienen als Lösung bzw. Output und sind Bestandteil der Trainingsdaten für unseren Algorithmus.
Transformation und Speicherung der Parkplatz-Daten
Das Labeln ist beim Deep Learning oft ein langwieriger Prozess, da Deep Learning-Modelle zum Lernen in der Regel grosse Mengen von gelabelten Daten benötigen. Glücklicherweise verfügen wir in unserem Anwendungsfall bereits über Punktkoordinaten der bisher erfassten Parkplätze. Diese vorhandenen Daten können wir natürlich als Labels für das Trainieren des Algorithmus nutzen.
Die Daten der bestehenden Rollstuhlparkplätze (inklusive Koordinaten) liegen im CSV-Format vor. Unwichtige Attribute werden gleich mal entfernt. Die «alten» Koordinaten des Bezugsrahmen LV03 werden mittels NTv2 nach LV95 transformiert. Da wir die Rollstuhlparkplätze in Luftbildern detektieren wollen und diese deshalb sichtbar sein müssen, können (sollen!) wir überdachte Parkplätze (inklusive Parkplätze in Parkhäusern) möglichst rausfiltern. 98% aller erfassten Parkplätze stehen im Freien und können für das Training grundsätzlich weiterverwendet werden. Im Einzelfall kann ein Parkplatz bzw. das Rollstuhl-Piktogramm aber natürlich auch im Freien verdeckt sein, beispielsweise von einem parkierten Fahrzeug oder einem schattenspendenden Baum. Wir speichern fürs erste die verbleibenden relevanten Punkte im Parquet– und GeoJSON-Format.
Automatisierte Beschaffung und Verarbeitung von SWISSIMAGE-Orthofotos
Seit dem 1. März 2021 stehen alle digitalen Standardprodukte von swisstopo online als offene Verwaltungsdaten kostenlos zur Verfügung. Darunter fallen auch die digitalen Farbluftbilder über der ganzen Schweiz mit einer Bodenauflösung von 10 cm im Flachland und 25 cm in den Alpen. Die Bilder werden unter dem Produktenamen „SWISSIMAGE 10 cm“ als zusammengesetztes und georeferenziertes Orthofotomosaik mit drei Farbkanälen (Rot, Grün, Blau) angeboten.
Diese Orthofotos können jeweils im Format GeoTiff heruntergeladen werden. Eine einzelne Bild-Kachel (circa 55 MB) lässt sich beispielweise über folgenden Link beziehen:
https://data.geo.admin.ch/ch.swisstopo.swissimage-dop10/swissimage-dop10_2019_2676-1237/swissimage-dop10_2019_2676-1237_0.1_2056.tif
Für unser Anwendungsbeispiel wollen wir natürlich nur Kacheln herunterladen, welche mindestens einen Parkplatz aufweisen. Aus Zeitgründen wollen und können wir die gewünschten Orthofoto-Kacheln nicht von Hand selektieren. Diese Arbeiten würden zu lange dauern. Wir automatisieren deshalb folgende Arbeitsschritte mithilfe von Python:
- Rastereinteilung für SWISSIMAGE 10 cm von swisstopo herunterladen
- Rastereinteilung mit bekannten Parkplatz-Positionen räumlich verschneiden
- Für jeden Rollstuhlparkplatz ermitteln, in welcher Kachel-ID er liegt
- Orthofoto-Kacheln mit schwacher Auflösung im Alpenraum (> 10 cm) aus dem Set von Kacheln entfernen, da Rollstuhl-Piktogramme darin nicht erkennbar sind:
- Anhand der gefunden Kachel-IDs, Aufnahmejahren und der Bild-Auflösung die Download-Links für relevante Kacheln erstellen:
- Über die Download-Links die Orthofotos herunterladen
- Orientierungsparameter der einzelnen Kacheln lesen und für jede Bild-Kachel in separaten *.tfw-Dateien speichern, so dass die Bilder korrekt georeferenziert dargestellt werden können
- Orthofoto-Mosaik erstellen
Mit diesem Vorgehen werden etwa 2’600 Kacheln im Umfang von circa 152 GB heruntergeladen und zu einem Orthofoto-Mosaik verarbeitet.
In diesem ersten Teil der Blogserie habe ich die Grundlagen der Datenbeschaffung und die Anwendung von Deep Learning zur Erkennung von Rollstuhlparkplätzen erläutert. Im nächsten Teil werde ich tiefer in die Modellierung und die technischen Herausforderungen einsteigen. Wir werden die Trainingsdaten für Faster R-CNN vorbereiten, das neuronale Netz trainieren und aufzeigen, worauf man dabei achten muss. Bleiben Sie dran!
Haben Sie selbst Projekte oder Herausforderungen im Bereich der automatisierten Datenerfassung und -verarbeitung, bei denen moderne Technologien wie künstliche Intelligenz und Deep Learning nützlich sein könnten? Oder möchten Sie sich einfach über die Möglichkeiten dieser Technologien austauschen? Kontaktieren Sie mich unverbindlich.
Entdecke mehr von digital.ebp.ch
Subscribe to get the latest posts sent to your email.