Skip to content
Back to selected work2026 · Geospatial AI / network analysis

Project case study / 02

Trace

From pixels to a routable city graph — then a test of what breaks first.

Live public demo · Three-person team · ML and graph ownership

At a glance / inspectable evidence

Project evidence

Validation IoU
0.670

Held-out DeepGlobe road-segmentation data

CPU tests
76

Topology and application logic covered independently

Public demo
Live

Explore road extraction and closure simulation

01 / Overview

Role
ML pipeline, graph analysis, and product engineering in a team of three
Stack
Python · PyTorch · SegFormer · NetworkX · Streamlit · Folium

An end-to-end geospatial ML pipeline that extracts roads, reconstructs network topology, and lets users simulate critical junction closures and rerouting.

02 / Context & problem

The problem

Satellite imagery shows roads visually but does not directly reveal which junctions are structurally critical or how closures affect connectivity.

The response

Trace segments road pixels, heals and reconstructs them as a graph, ranks junctions through network analysis, and exposes the results in an interactive map-based dashboard.

03 / System path

Follow the work from input to outcome.

  1. 01

    Satellite image

  2. 02

    Road segmentation

  3. 03

    Gap healing

  4. 04

    Network graph

  5. 05

    Closure simulation

04 / Contribution

My contribution.

  1. 01

    Owned the road-segmentation pipeline, data tooling, evaluation, and cross-stage integration

  2. 02

    Compared model variants and released the selected checkpoint with 0.670 validation IoU

  3. 03

    Connected segmentation outputs to graph artifacts and coordinated the CPU deployment and live demo

05 / Engineering pressure

The hard parts.

  • 01Recovering road continuity beneath trees, shadows, and ambiguous terrain
  • 02Converting noisy masks into useful routable topology
  • 03Making graph resilience analysis understandable through interaction

06 / Outcome & reflection

What came out of it.

Reached 0.670 IoU on held-out DeepGlobe validation; the trained model and repository were released publicly.

Lessons carried forward

  • A visually plausible mask is not automatically a useful graph.
  • Domain metrics matter more when they connect to an explorable decision.
  • Testing topology logic separately made model iteration safer.