ES
← Back to Portfolio
Geotechnical & Risk July 2026

TailWatch — InSAR Ground-Deformation Studio for Tailings Dams & Slopes

An in-browser InSAR ground-deformation studio for tailings dams and slopes. It renders a multi-temporal LOS-displacement cube (velocity, coherence, cumulative series) and runs classical velocity and inverse-velocity failure forecasting plus two small neural nets over it. Five cases are physics-simulated from a forward model; one is a real Sentinel-1 sample. Honest by design: on the held-out benchmark the classical velocity map (AUC 0.968) beats the learned anomaly autoencoder (AUC 0.898), and the app says so.

Cases
5 physics-simulated (forward model, invented dam/pit) + 1 real Sentinel-1 sample
Real sample
COMET LiCSAR / LiCSBAS Sentinel-1 frame 124D_04854_171313, Campi Flegrei caldera, 40 epochs (a volcano, used as a domain-transfer probe, not a dam)
Classical tier
Per-pixel OLS velocity + slope t-test significance · two-geometry Up/East decomposition · Fukuzono inverse-velocity forecast + split-conformal intervals
Learned tier (ONNX)
1-D CNN 6-class time-series classifier (live per clicked pixel) · denoising conv-AE anomaly map (baked); held-out CNN macro-F1 0.556, reported not hidden
Held-out benchmark
Classical |v| AUC 0.968 vs learned AE anomaly AUC 0.898 (classical wins); conformal coverage 0.892 vs 0.900 nominal
Compute
100% in-browser: TypeScript DSP + onnxruntime-web; static GitHub Pages, no backend
TailWatch — InSAR Ground-Deformation Studio for Tailings Dams & Slopes — Architecture
#geotechnical #insar #ground-deformation #tailings-dam #slope-stability #inverse-velocity #forecasting #conformal-prediction #onnx #sentinel-1 #mining

Business Context

A tailings-dam breach is among the highest-consequence failures in mining, and slope failure in an active pit stops production and endangers people. InSAR-based deformation monitoring exists to catch the pre-failure acceleration weeks ahead and convert it into a controlled response. The value here is a forecast a geotechnical engineer can actually defend: an inverse-velocity time-of-failure with a calibrated uncertainty band, significance-tested velocity so noise is not read as motion, and an explicit statement of where the learned models can and cannot be trusted, rather than a single alarm that hides its own confidence.

Strategic Value

TailWatch demonstrates a full InSAR forecasting stack running entirely client-side, and it publishes its own honest limits rather than a flattering headline. On the held-out benchmark the training-free classical velocity map reaches AUC 0.968 while the learned anomaly autoencoder reaches only 0.898: the classical baseline beats the neural net, and the Benchmark page states it. The inverse-velocity forecaster hits 5.7 percent median time-of-failure error with zero false alarms over 60 control scenes, and the split-conformal interval reaches 0.892 empirical coverage against a 0.900 nominal on a disjoint set. It is not calibrated to any real dam and it is not real-time; the single real sample is a Sentinel-1 clip over the Campi Flegrei volcanic caldera used as a domain-transfer probe, labelled as such. That discipline, publishing where the model loses, is the reusable pattern.

The Challenge

A tailings dam or a pit slope that is about to fail usually announces it in the ground first: millimetres of accelerating displacement over weeks. Satellite InSAR can see that motion without a single sensor on site, but the raw stack is noisy (atmosphere, DEM error, orbital ramps, decorrelation) and the useful questions are hard: which pixels are moving significantly, is the motion accelerating toward a collapse, and when. A single black-box alarm number does not survive a geotechnical review; the honest answer has to show its uncertainty and admit where a learned model is guessing.

Our Approach

TailWatch is a browser studio built around a line-of-sight displacement cube (160x120 grid, 60 epochs, 12-day cadence). On the selected case it runs a classical tier and a learned tier live. Classical: per-pixel OLS velocity with a slope t-statistic significance test, two-geometry LOS decomposition into Up and East where both look directions exist, and a Fukuzono inverse-velocity time-of-failure forecaster with EWMA smoothing, onset-of-acceleration detection and an r-squared gate. On top of the forecaster sits a split-conformal prediction interval (Vovk) on the failure time, calibrated per lead-time bucket on a Monte-Carlo bank and validated on a disjoint held-out set. Learned: a 1-D CNN time-series classifier (six deformation classes) runs live in the browser on every clicked pixel via onnxruntime-web, and a denoising conv-autoencoder trained on normal-only patches gives an unsupervised anomaly map. Five cases come from a physically-grounded forward model (true 3-D motion projected on real Sentinel-1 look geometry, with stratified and turbulent atmosphere, DEM-error, orbital ramp and coherence-driven noise); one case is a real Sentinel-1 clip. Everything is client-side, static on GitHub Pages.

Key Performance Indicators

KPIBaselineResultImpact
Forecast honestyA single black-box alarm numberInverse-velocity time-of-failure with a split-conformal band: 0.892 coverage vs 0.900 nominal on a disjoint held-out setA forecast a geotechnical review can defend, with its own uncertainty
Classical vs learned, reported openlyHeadline neural-net accuracyHeld-out AUC: classical |v| 0.968 BEATS the learned AE anomaly 0.898You see where the model loses, published on the Benchmark page
Forecaster reliabilityThreshold on raw displacement5.7% median time-of-failure error, 0 false alarms over 60 control scenes (stable / linear / seasonal)Detects the acceleration without crying wolf on stable ground
ComputeServer / GPU InSAR processing service100% client-side: TypeScript DSP + two ONNX models (1-D CNN classifier live per clicked pixel)Static hosting, nothing to install, zero backend

Architecture

tailwatch pipeline

tailwatch pipeline

From a noisy InSAR stack to a defensible time-of-failure

TailWatch is an in-browser InSAR ground-deformation studio for tailings dams and slopes. It renders a multi-temporal line-of-sight displacement cube (velocity, coherence, cumulative series) and runs classical failure forecasting plus two small neural nets over it. Live at tailwatch.fasl-work.com, part of the Faena mining-analytics hub.

What runs on the selected case

  • Classical tier (training-free): per-pixel OLS velocity with a slope t-statistic significance test, two-geometry LOS decomposition into Up and East where both look directions exist, and a Fukuzono inverse-velocity time-of-failure forecaster (EWMA velocity, onset-of-acceleration detection, r-squared gate). A split-conformal prediction interval (Vovk) wraps the failure time, calibrated per lead-time bucket and validated on a disjoint held-out set.
  • Learned tier (ONNX, in-browser): a 1-D CNN six-class time-series classifier runs live on every clicked pixel, and a denoising conv-autoencoder trained on normal-only patches produces an unsupervised anomaly map.

The data, stated plainly

Five of six cases are simulated from a physically-grounded forward model: true 3-D motion projected on real Sentinel-1 look geometry (C-band, 12-day repeat), plus stratified and turbulent atmosphere, DEM-error, orbital ramp and coherence-driven decorrelation. Every error term is a real InSAR error source, but the dam, the pit and the collapse are invented. One case is real: a COMET LiCSAR / LiCSBAS Sentinel-1 clip over the Campi Flegrei caldera (Lazecky et al. 2020; Morishita et al. 2020). That is a volcano, not a tailings dam: it is used as a domain-transfer probe, and the repo says so. On the real case the learned outputs are cross-domain synthetic-trained, not ground truth, and the collapse-time forecast there is illustrative only.

The honest benchmark

On a held-out split (train scenes 1-16, held out 17-20, split by scene) the classical velocity map beats the learned anomaly detector: |v| AUC 0.968 vs the AE anomaly AUC 0.898, and the Benchmark page reports it rather than hiding it. The inverse-velocity forecaster reaches 5.7% median time-of-failure error with 0 false alarms over 60 control scenes, and the split-conformal interval reaches 0.892 empirical coverage against a 0.900 nominal. TailWatch is not calibrated to a real dam, not a real-time ingest system, and makes no full SBAS network-inversion or map-fused-alarm claim.

Live demo · Source on GitHub

Technology Stack

TypeScript React Vite DSP ONNX onnxruntime-web PyTorch uPlot KaTeX

In action

A short tour of the live app — the real interface, recorded from the deployed site.

TailWatch — InSAR Ground-Deformation Studio for Tailings Dams & Slopes in action

Application Screenshots

TailWatch — InSAR Ground-Deformation Studio for Tailings Dams & Slopes
TailWatch — InSAR Ground-Deformation Studio for Tailings Dams & Slopes