// the find
mapbox/robosat
Semantic segmentation on aerial and satellite imagery. Extracts features such as: buildings, parking lots, roads, water, clouds
RoboSat is an end-to-end pipeline for semantic segmentation of aerial and satellite imagery, built to extract features like buildings and parking lots as GeoJSON. It uses a U-Net architecture trained on OSM-derived masks and outputs clean polygons suitable for map import. Officially abandoned by Mapbox in 2019 — the README says so in the first line.
The pipeline design is genuinely well-thought-out: each step (extract → cover → download → rasterize → train → predict → features) is a discrete CLI tool that operates on the Slippy Map tile format, so you can swap in your own imagery or masks without touching model code. The post-processing chain (denoising, polygon simplification, tile-boundary merging, OSM deduplication) is the part most ML geospatial projects skip, and skipping it is why their outputs are useless in practice. Docker images for CPU and GPU environments lower the setup friction considerably. The ONNX export path means you can run inference somewhere other than a Python/PyTorch environment.
Abandoned in 2019 and the dependencies have aged badly — PyTorch and torchvision APIs it relies on have had multiple breaking changes since then, so getting it running at all requires archaeology. Only one model architecture (U-Net) with no attention mechanisms or modern backbones; anything published after 2018 in the segmentation literature just doesn't exist here. The data pipeline is tightly coupled to Mapbox's tile API for imagery download, which costs money and requires a Mapbox token — not a neutral open data story. No support for multi-class segmentation in a single training run; each feature type (buildings, roads) requires its own model and pipeline run.