RoboSat is an end-to-end Python 3 pipeline developed by Mapbox for extracting features from aerial and satellite imagery through semantic segmentation. The system can identify and extract visually distinguishable features such as buildings, parking lots, roads, water bodies, and clouds from satellite and drone imagery. However, it is important to note that RoboSat is no longer maintained or actively developed by Mapbox, as indicated in the repository's README. The main developers who created the project are no longer with the organization.
The repository is organized around three primary functional categories: data preparation, training and modeling, and post-processing. The data preparation tools assist users in creating datasets for training feature extraction models by downloading aerial imagery and generating corresponding masks. The system works with the Slippy Map tile format to standardize geo-referenced imagery into uniform tile sizes, abstracting away geographic complexity. For imagery acquisition, RoboSat provides convenient tools to automatically download aerial imagery from the Mapbox Maps API and generate masks from OpenStreetMap geometries, though users are not restricted to these sources and can bring their own imagery and masks.
The modeling component focuses on training fully convolutional neural networks for semantic segmentation tasks. RoboSat is designed to leverage GPU acceleration, with the developers having tested the system on AWS p2 and p3 instances as well as GTX 1080 TI GPUs. After training a model, users can save checkpoints and run predictions on either GPU or CPU infrastructure. The post-processing tools clean up segmentation results by denoising, simplifying geometries, converting pixel coordinates from Slippy Map tiles to world coordinates in GeoJSON format, and properly handling tile boundaries.
The toolkit includes numerous specialized commands accessible through the rs command-line interface. The rs extract tool processes OpenStreetMap .osm.pbf files to gather feature geometries. The rs cover tool generates tile lists covering extracted features. The rs download tool retrieves imagery from Slippy Map endpoints like the Mapbox Maps API. The rs rasterize tool converts GeoJSON features into mask images. The rs train tool trains fully convolutional neural networks on image-mask pairs. The rs export tool converts trained models to ONNX format for cross-platform deployment. The rs predict tool generates class probability predictions for image tiles. Additional tools handle masking, feature extraction, merging, deduplication, serving, weight calculation, comparison, and subsetting operations.
RoboSat is distributed through pre-built Docker images available on Docker Hub for both CPU and GPU environments, simplifying deployment across different computational setups. The system requires configuration files for datasets and models, with examples provided in the repository's configs directory. Users must adapt these configurations to their specific tile resolutions, deployment setups, and computational resources.
According to GitGenius activity tracking, the repository shows minimal recent engagement with a median issue and pull request response latency of 946.8 hours. The most active tracked contributor is rlin1214 with one recorded event. The repository shares overlapping contributors with pytorch/pytorch, flutter/flutter, and keplergl/kepler.gl, indicating connections to broader machine learning and geospatial visualization communities. RoboSat is classified across multiple domains including satellite image processing, semantic segmentation, geospatial data analysis, remote sensing, deep learning, and land cover mapping, reflecting its comprehensive approach to automated feature extraction from aerial imagery.