AI Canopy-to-Impervious Ratio: Intelligente Stadtplanung
Auf einen Blick #
Kontext: Projekt für “Baum Schwyz” im Studium im Modul APPLAI
Ziel: Automatisierte Berechnung des Verhältnisses von Baumkronen zu versiegelten Flächen (CIR).
Tech Stack: PyTorch (U-Net), LiDAR, GeoPandas, Python.
Ergebnis: Eine Pipeline, die hochauflösende Heatmaps generiert, um Pflanzorte für Bäume strategisch zu planen.
Motivation #
In Zeiten des Klimawandels sind städtische Hitzeinseln und Biodiversitätsverlust massive Probleme. Die Initiative “Baum Schwyz” will gegensteuern, doch effektive Interventionen benötigen Daten: Wo bringt ein neuer Baum am meisten?
Das Ziel dieses Projekts war es, von blossen Schätzungen wegzukommen und eine skalierbare, automatisierte Metrik zu entwickeln: Die Canopy-to-Impervious Ratio (CIR). Wir wollten “Hotspots” identifizieren – Gebiete mit viel Beton und wenig Schatten.
Die Lösung #
Ich entwickelte ein System, das zwei unterschiedliche Datenströme fusioniert:
- 3D-LiDAR-Daten für die präzise Erkennung von Vegetation.
- Hochauflösende Luftbilder (RGB) für die Erkennung von versiegelten Flächen (Asphalt, Beton, Dächer).
Das Ergebnis ist nicht nur eine Tabelle, sondern eine visuelle Heatmap, die Stakeholdern auf einen Blick zeigt, wo Handlungsbedarf besteht.
Methodik & Tech-Stack #
1. Daten-Pipeline #
Ich nutzte zwei primäre Quellen:
- Baum-Erkennung (LiDAR): Hier trainierte ich kein Modell von Null, sondern nutzten klassifizierte Punktwolken von swisstopo. Durch einen Höhen-Filter (> 3m über Boden) isolierte ich Bäume zuverlässig von Büschen und Gras.
- Versiegelungs-Erkennung (Aerial Imagery): Hier fehlten präzise Daten. Deshalb trainierte ich ein eigenes ML-Modell.
2. Das Modell: U-Net statt YOLO #
Anfangs experimentierte ich mit Object Detection (YOLO).
- Problem: Eine Strasse ist kein diskretes Objekt wie ein “Auto” mit einer Bounding Box. Sie ist eine kontinuierliche Fläche mit komplexen Grenzen.
- Lösung: Wechsel zu U-Net (Semantic Segmentation). Dieses Modell klassifiziert jeden einzelnen Pixel als “Versiegelt” oder “Unversiegelt”.
Architektur Details:
- Backbone: ResNet34 (pre-trained auf ImageNet) für schnelle Konvergenz.
- Input: 512x512 Pixel Tiles (Training) / 256x256 Tiles (Inference).
- Tiling: Um die riesigen Luftbilder zu verarbeiten, zerlegt das System die Karte in kleine Kacheln, analysiert sie und setzt sie nahtlos wieder zusammen.
Herausforderungen #
“Ist das Wasser oder Asphalt?” #
Die grösste Hürde war die Unterscheidung visuell ähnlicher Oberflächen.
- Dunkle Seen sahen für das Modell aus wie frischer Asphalt.
- Helle Schotterwege sahen aus wie Beton.
Lösung: Ich führte spezifische “Labeling-Runden” durch, die sich nur auf diese Edge-Cases konzentrierten (Seeufer, Waldwege), um dem Modell den Unterschied beizubringen. Zudem nutzte ich einen Gaussian Filter, um die Heatmap zu glätten und “Rauschen” (einzelne fehlklassifizierte Pixel) zu unterdrücken.
Ergebnisse #
Das finale Modell erreichte einen IoU (Intersection-over-Union) von ~85%.
Die Pipeline (cir_report) ist vollständig automatisiert. Man gibt eine Bounding Box (Swiss LV95 Koordinaten) ein und erhält:
- Shapefiles (.shp): Für GIS-Profis zur Weiterverarbeitung.
- Visual Report: Eine Heatmap für Entscheidungsträger.

Lust auf ein Projekt?