Back to portfolio
Remote Sensing · McGill University · Cardille Lab · 2024
BULC-D
A Bayesian filter that fuses a stream of noisy land-cover classifications into probabilities, and flags deforestation as it happens.

Overview
A single satellite classification is noisy, and in cloudy tropical regions clear images are rare. BULC (Bayesian Updating of Land Cover) treats each classification as evidence and updates a posterior over land-cover classes at every time step. BULC-D extends it to detect deviation from expected values, such as new deforestation.
What I built
- Implemented the Bayesian update: each observation becomes an event, combined with the prior and normalized, with a probability floor so classes can recover.
- Output class probabilities with a confidence surface, not a single label.
- Combined BULC-D with the Kalman filter, and built a headless Earth Engine runner for batch experiments with parameter validation and dry runs.
Tech stack
PythonJavaScriptGoogle Earth Engine