Machine Learning · Remote Sensing
Geo Mapper
Unsupervised copper-zone detection from Sentinel-2 imagery — spectral indices plus a CNN autoencoder that learns local geology and flags anomalies, with no labelled training data.
Organisation
Independent Project
Role
Solo — pipeline, model, frontend
Timeline
2026
Stack
Overview
Geo Mapper detects copper-associated mineral zones — quartz veins, hydrothermal clay alteration, iron oxide gossans and sulphide-bearing zones — from real satellite imagery without any labelled training data. You draw a bounding box on a map; the system pulls the matching Sentinel-2 scene, runs a two-stage detection pipeline, and returns a heatmap, colour-coded polygons and pins over the area.
The pipeline is entirely unsupervised. The model is never told what copper looks like. It learns what normal geology looks like in that specific scene, and flags what deviates.
Key Features
- Stage 1 — spectral index analysis over six Sentinel-2 L2A bands, computing iron oxide (B04/B02), clay minerals (B11/B12), silica (B12/B11) and ferrous iron (B11/B8A) ratios, with NDVI masking to strip vegetation that would otherwise mimic mineral signatures. Deliberately permissive: high recall, filtered downstream.
- Stage 2 — CNN autoencoder anomaly detection, a symmetric 6→32→64→128 convolutional autoencoder trained fresh on 5,000 random background patches per scene so it adapts to local geology, scoring each candidate by reconstruction error under an adaptive threshold (95th percentile and mean + 2σ, whichever is stricter).
- Clustering and vectorisation with DBSCAN (eps 5px, min_samples 3) grouping detection pixels into zones, convex-hulled via Shapely into GeoJSON polygons labelled by dominant mineral type, each carrying score, centroid, area and index value.
- Hybrid source mode fusing Sentinel spectral proxies with Esri RGB visual proxies, producing separate oxide, sulphide and combined copper-potential layers — with automatic fallback to Sentinel-only scoring, a warning flag in metadata, and cache-key isolation so degraded runs never poison later hybrid requests.
- Interactive Leaflet frontend with a rectangle draw tool, three independently toggleable layers (Gaussian-smoothed heatmap overlay, polygons, centroid pins) and sensitivity presets from conservative to high-sensitivity.
Impact
Exploration screening normally needs labelled ground truth that does not exist for most terrain. By framing detection as anomaly detection against locally learned background, Geo Mapper produces target maps anywhere Sentinel-2 has a cloud-free pass — in minutes, on CPU, with no GPU and no training set. The outputs are screening candidates, not proven ore, and the pipeline is explicit about that.