Methodology

How Sentinel-2 NDVI Shifts Reveal Deforestation Within 48 Hours

 ·  Rohan Pillai

Aerial view showing NDVI vegetation index gradient across forest clearing boundary

When a chainsaw starts at 6 a.m. in a 40,000-hectare protected area in the Colombian Llanos, the ranger station is four hours of river travel away. By the time the sound carries far enough for anyone to notice, the crew may have already cleared the first quarter-hectare. By the time a patrol reaches the site, the equipment is gone and the edge of the clearing is already cooling on infrared sensors.

This is the practical problem that spectral change detection exists to solve. Not "was there deforestation last year?" — that question is answerable by annual composites and has been for a decade. The harder question is: can we detect a 0.3-hectare clearing event fast enough for a field response to still matter? The short answer is yes, and the mechanism is NDVI differencing on dense Sentinel-2 time series.

What NDVI Actually Measures — and What It Misses

The Normalized Difference Vegetation Index is built from two Sentinel-2 bands: Band 8 (near-infrared, centered at 842 nm) and Band 4 (red, centered at 665 nm). The formula is (NIR − Red) / (NIR + Red). Healthy forest canopy produces values between 0.6 and 0.9. Bare soil typically falls between 0.1 and 0.25. Fresh clearing — where the canopy has been removed but the soil disturbance is recent — usually appears in the 0.05 to 0.3 range depending on residual slash and litter.

The physics matters here. Chlorophyll-containing leaf tissue strongly absorbs red light for photosynthesis and strongly reflects near-infrared due to cell wall scattering. Remove that canopy and you expose mineral soil, which has a much flatter spectral response — moderate red reflectance, moderate NIR reflectance, hence low NDVI. A sudden NDVI drop from 0.75 to 0.15 over a 5×5 pixel cluster (roughly 0.5 ha at Sentinel-2's 10 m resolution) is a hard signal.

What NDVI misses: it's a two-band ratio that cannot distinguish canopy stress from canopy removal at low confidence thresholds. A drought event, a fire scar from adjacent land, or even a dense cloud shadow can temporarily suppress NIR response and produce a false drop. This is why band differencing alone is not our detection trigger — it's one component in a multi-spectral confirmation stack.

The Role of SWIR: Soil Exposure as a Confirmation Signal

Shortwave infrared bands — specifically Sentinel-2 Band 11 (SWIR1 at 1610 nm) and Band 12 (SWIR2 at 2190 nm) — respond strongly to soil moisture and mineral content. When a forest patch is cleared, the exposed mineral soil reflects far more SWIR energy than vegetated canopy did. Simultaneously, the NIR signal drops because you've removed the layer of leaf cells that scatter it.

This creates a diagnostic signature: NIR drop + SWIR rise. The two signals move in opposite directions upon canopy removal and in the same direction during drought stress (both may fall during severe moisture stress but neither will show the SWIR spike from bare soil). Computing a band combination like the Normalized Burn Ratio (NBR = (NIR − SWIR2) / (NIR + SWIR2)) adds a second dimension to the change signal that clouds and shadows don't mimic nearly as well.

In our processing pipeline, we require both signals to confirm: NDVI must drop below a scene-adaptive threshold (calibrated against the rolling 90-day baseline for that pixel), and NBR change must also exceed a minimum delta. Neither alone fires an alert. The dual-band confirmation drops our cloud-shadow false positive rate from roughly 18% (NDVI-only) to under 4% across validation test sites.

Sentinel-2 Revisit Cadence and Why 48 Hours is Achievable

Sentinel-2 consists of two satellites — Sentinel-2A and Sentinel-2B — flying in the same orbit plane with a 180-degree phase offset. Each has a 10-day revisit cycle at the equator for a given path. With both satellites combined, actual revisit at tropical latitudes where deforestation pressure is highest falls to 5 days. At mid-latitudes (30–60°N/S), swath overlap between adjacent passes means effective revisit can drop to 2–3 days.

The 48-hour detection window we advertise is not the revisit interval — it's the time from the satellite acquiring a cloud-free scene over a clearing event to when we've processed and delivered the alert. Sentinel-2 Level-1C data is typically available on the Copernicus hub within 3–6 hours of acquisition. Our ingestion pipeline processes new scenes within 90 minutes of hub availability: atmospheric correction to Level-2A surface reflectance (Sen2Cor parameters calibrated for tropical and temperate forest biomes), cloud masking via the Scene Classification Layer (SCL), and then the differencing computation against the pixel-level baseline.

The actual detection lag therefore depends on when the satellite passed over the clearing. If a clearing starts on a Tuesday morning and the next cloud-free Sentinel-2 overpass is Wednesday afternoon, the alert lands Wednesday evening — about 36 hours after clearing began. If cloud cover persists for three days, the alert may come later. This is the honest constraint: we're detecting from optical data, and optical data has a cloud gap. For persistently cloudy regions (parts of the Congo Basin during the wet season, for example), this is where Sentinel-1 SAR integration becomes critical — which we'll cover in a separate post.

Building a Pixel-Level Baseline: The Rolling Composite Approach

Change detection requires a reference state to compare against. Early systems used annual composites — a Landsat median composite from the prior year, for instance. The problem with annual baselines is that they're too stale. If a pixel had a clearing event in August of the baseline year that wasn't caught, the composite captures the cleared state as "normal," and subsequent regrowth appears as positive change rather than recovery.

We use a rolling 90-day median composite for each pixel, assembled from all cloud-free observations in that window. The median operation effectively suppresses residual cloud, shadow, and noise without requiring explicit cloud masking at the composite stage. The composite is updated on a rolling basis — as new cloud-free observations come in, the oldest ones drop off.

The threshold for flagging a change is scene-adaptive: we compute the standard deviation of pixel values within the 90-day composite period and require that the new observation deviate by more than 2.5 standard deviations in the direction of devegetation (NIR decrease, SWIR increase). This means the threshold for a pixel in a seasonally dry forest — where natural NIR variation is higher due to phenology — is looser than for an evergreen rainforest pixel that barely varies across seasons. Fixed global thresholds are a reliable source of both missed detections in variable-phenology landscapes and false positives in stable ones.

Minimum Mapping Unit: Why 0.3 Hectares, Not Smaller

Sentinel-2's native resolution is 10 m per pixel for the visible and NIR bands, 20 m for the SWIR bands. A 0.3-hectare clearing corresponds to roughly 300 square meters — a 3×10 pixel cluster at 10 m. That sounds detectable at face value, but single-pixel anomalies are overwhelmed by point spread function effects, mixed pixels at clearing boundaries, and radiometric noise. Our minimum detection unit is a spatially contiguous cluster of at least 3 pixels showing concurrent change, which at 10 m resolution gives us a practical floor of approximately 0.3 ha.

We're not saying 0.3 ha is the ecological threshold of concern — some high-value forest types see meaningful biodiversity impact from clearings smaller than that. We're saying it's the honest detection limit given the sensor and algorithm. For use cases requiring sub-0.3 ha detection, we can integrate PlanetScope commercial imagery (3–5 m resolution) on a targeted basis once Sentinel-2 flags an area of interest, but that changes the cost model significantly.

From Signal to Alert: Confidence Scoring and Spatial Clustering

Not every pixel-cluster that passes the spectral threshold represents an anthropogenic clearing. Agricultural burning at a field boundary can produce a compact NDVI drop. Windthrow events from severe convective storms create irregular patches of sudden canopy disturbance. A landslide on a forested slope looks spectrally identical to a small clearing.

We assign each candidate detection a confidence score (0–100) based on four factors: magnitude of spectral change (larger deviations score higher), spatial compactness (clearing-shaped polygons score higher than irregular windthrow shapes), contextual land-use classification (forest interior events score higher than forest-edge events adjacent to agriculture), and temporal persistence (does the change persist across multiple subsequent observations, or does it recover?). Alerts with confidence below 60 go into a review queue for human analyst confirmation rather than being delivered directly to field teams.

The practical result in our test deployments: conservation teams receive fewer total alerts than they would from a threshold-only system, but a much higher fraction of those alerts are confirmed clearings. The tradeoff is deliberate — an alert system that cries wolf 40% of the time trains field teams to ignore it, which is worse than a slightly slower but higher-precision system.

What the Pipeline Still Can't Do

Speed has limits that are worth stating plainly. The 48-hour detection time assumes a cloud-free observation occurs within that window. In the Congo Basin wet season, cloud cover can persist for 10–15 consecutive days over a site; Sentinel-2 simply cannot observe through it. Deforestation events that begin and end within a cloud gap period — a fast clearing operation that removes a small stand in two days — can in principle escape detection entirely until regrowth or recovery signals appear in later scenes.

Additionally, NDVI-based detection is a biomass-removal signal, not a legal or intent signal. A permitted timber harvest, an agricultural expansion that meets local zoning requirements, and an illegal clearing in a protected area all produce the same spectral signature. The platform flags the change; it cannot by itself determine legality. That determination requires integration with cadastral data, protected area boundaries, and ideally verified land-use permits — all of which we provide as ancillary context layers, but the legal determination remains with the user organization.

These are real constraints, and field teams working with our alerts understand them. A 48-hour flag on a confirmed clearing in a protected area, delivered before the equipment has left the site, is genuinely useful to a ranger force. An alert that arrives five days after a cloud gap clears is still useful for documentation and legal evidence, even if the intervention window has passed.