Between the two of us, we reviewed 22 paper submissions this summer, spread across NeurIPS , WACV , and TerraBytes (a geospatial workshop at ECCV). Fifteen of the 22 (68%) contained entirely fabricated citations, fabricated author lists for existing papers, and/or were clearly LLM-generated (e.g. hallucinated technical jargon, nonsensical writing, irrelevant citations). This is called being in the…
What colors does the Earth actually come in? We built Sentinel-2 Paint to find out: a script that scours the Sentinel-2 archive for patches of every color the planet shows, and a browser app for playing with the results. Upload a photo and the app rebuilds it as a mosaic of real satellite imagery, nearest color per cell; pick a color and it shows the chip of Earth whose average color is closest,…
The broad availability of multispectral data is one thing that separates satellite-based machine learning from mainstream computer vision. Sentinel-2 L2A data has 12 surface-reflectance bands, which include visible bands (RGB), red edge, near-infrared (NIR), and shortwave infrared (SWIR). The non-visible bands carry information that distinguishes vegetation types, water, and soil classes that may…
Disclaimer: nobody should deploy a neural network this way. This post is for the geospatial developer who has, at some point, said the words “I just want a single static binary”, “Python is not a real deployment target”, or “why isn’t this a GDAL subcommand?” out loud. If that’s not you, this is going to read like pure insanity. It kind of was. Why would anyone want this There is a specific kind…
Multi-temporal super-resolution of a Sentinel-2 scene. From left: a single S2 natural-color observation (10m), a 0.8m aerial basemap for visual reference, a bicubic 10× upsample of the S2 input, our Gaussian-splat reconstruction with a coarse-to-fine LBFGS schedule (labelled “C2F” in the panel titles), and the same reconstruction with an Adam warmup followed by LBFGS. The splat reconstructions are…
The abundance of open satellite imagery and advances in geospatial ML and remote sensing methods have made it possible to monitor a growing list of variables directly from orbit. Burke et al. ( 2021, Science ), for example, reviewed how satellite imagery combined with machine learning can measure outcomes directly linked to the UN’s Sustainable Development Goals — population, economic livelihoods,…
In our TerraBit post last time, we binary-quantized the global Clay v1.5 embeddings down to 128 bytes per patch and served 50M of them from static object storage — implementing planetary scale retrieval entirely in the browser. The first post in the series, Compressing Earth Embeddings , set up the underlying claim: int8 quantization is statistically free across every model and dataset we tested,…
Unfinished business Last time , we compressed earth embeddings 64× with less than 2% loss on patch classification. We found int8 was statistically indistinguishable from float32 and that PCA(64)+int8 was the sweet spot. Binary quantization — reducing each dimension to its sign bit — achieved 16.5× end-to-end compression on disk (32× on the raw embedding payload alone), but we hadn’t yet measured…
Update (2026-03-26): OlmoEarth-nano results throughout have been recomputed with properly normalized inputs. The initial version we released used unnormalized inputs, which significantly underestimated OlmoEarth-nano’s performance. Thanks Gabriel Tseng for flagging this issue! Foundation models like Tessera [1], OlmoEarth [2], and AlphaEarth [3] produce dense per-pixel embeddings from satellite…
How well do segmentation models actually use long-range spatial information to make decisions? No existing benchmark directly measures this, especially in remote sensing where most datasets can be solved with relatively local texture and color cues. This matters beyond any single task — remote sensing is full of cases where local appearance is ambiguous and the correct label depends on spatial…
How can you join AEF embeddings to census blocks, and how well do they predict different variables? We wrote a script for doing this! We find, for example, that statistics of AEF embeddings can differentiate between urban and rural blocks in Washington with 92.5% accuracy using a simple logistic regression. There’s a growing ecosystem of pixel-level embedding products covering the entire planet —…
One notebook, a few hundred lines of Python, and you go from raw Sentinel-2 imagery to a georeferenced water map you can open in QGIS. That’s the premise of the TorchGeo tutorial we put together for the ICLR 2026 ML4RS Workshop ( paper ). It walks through the full earth observation (EO) ML workflow: loading multispectral data, training a semantic segmentation model on the Earth Surface Water…
Welcome to GeoSpatial ML — a place to share what we’re exploring, building, and reading at the intersection of geospatial data and machine learning. Many of us already swap papers, datasets, and half-baked experiments in the TorchGeo Slack . This blog is an extension of those conversations — a more permanent home for the things we find interesting each week. What to expect Paper highlights —…