Skip to content

This repository implements a workflow for land cover change detection using Omnibus statistical methods on multi-temporal Sentinel-1 GRD SAR data.

Notifications You must be signed in to change notification settings

Atomar04/SAR-Omnibus-Change-Detection

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Change Detection Using Omnibus Statistical Methods (Sentinel-1 SAR)

This repository implements a workflow for multi-temporal land cover change detection using Morton J. Canty’s Omnibus test based on the complex Wishart distribution. The method is applied to Sentinel-1 GRD SAR data processed in Google Earth Engine.

The current case study focuses on the Bhindawas Wildlife Sanctuary region, utilizing descending-pass acquisitions at 10 m spatial resolution for the period January 2020 to December 2021.

Theoretical Background

The Omnibus test assumes that multi-look SAR covariance matrices follow a complex Wishart distribution. This distribution is the complex multivariate generalization of the chi-squared distribution and is characterized by:

  • $p$: Dimensionality (number of polarization channels)
  • $n$: Number of looks (averaging factor)
  • $\Sigma$: Complex variance–covariance matrix

The Omnibus test serves as a Likelihood Ratio Test (LRT). It evaluates whether a sequence of covariance matrices originates from the same distribution (Null Hypothesis: no change) or if at least one change has occurred (Alternative Hypothesis).


Omnibus Test Statistic

Let there be $k$ observations in the time series. The Omnibus test statistic $Q$ is derived from the likelihood of the Wishart distribution.

Log-Likelihood Form

For numerical stability, the test is often expressed in its logarithmic form:

$$ \ln Q = n \left( p k \ln k + \sum_{i=1}^{k} \ln |X_i| - k \ln \left| \sum_{i=1}^{k} X_i \right| \right) $$

Where:

  • $Q$ = Omnibus test statistic
  • $n, p$ = Wishart distribution parameters
  • $k$ = Number of observations
  • $X_i = n \hat{\Sigma}_i$
  • $\hat{\Sigma}_i$ = Estimated covariance matrix at time $i$

Stepwise Change Detection

To pinpoint the exact timing of changes, the Omnibus test is decomposed into a sequence of statistics, $R_j$. This allows us to localize the first change event in the time series.

Hypotheses

For each time index $j$:

Null Hypothesis ($H_{0,j}$): $$\Sigma_1 = \Sigma_2 = \dots = \Sigma_{j-1} = \Sigma_j$$ (No change has occurred before or at time j)

Alternative Hypothesis ($H_{1,j}$): $$\Sigma_1 = \Sigma_2 = \dots = \Sigma_{j-1} \neq \Sigma_j$$ (The first change occurs between time j-1 and j)

Stepwise Test Statistic ($R_j$)

The LRT statistic $R_j$ for a specific time step is defined as:

$$ \ln R_j = n \left( p \left( j \ln j - (j-1) \ln (j-1) \right) + (j-1) \ln \left| \sum_{i=1}^{j-1} X_i \right| + \ln |X_j| - j \ln \left| \sum_{i=1}^{j} X_i \right| \right) $$

The overall Omnibus statistic $Q$ is related to the stepwise statistics by:

$$ Q = \prod_{j=2}^{k} R_j $$

Interpretation

  • If $R_j \approx 1$ ($\ln R_j \approx 0$): The covariance at time $j$ is consistent with the pooled covariance of the previous observations. No change.
  • If $R_j$ is small ($\ln R_j$ is large negative): Separating $X_j$ from the previous group explains the data better. Change detected at time $j$.

Algorithm Workflow

  1. Initialize the time index.
  2. Test Homogeneity: Apply the Omnibus statistic ($Q$) across the entire time series.
  3. Check Significance: * If the Null Hypothesis is accepted, stop (no change).
    • If rejected (change detected), proceed to step 4.
  4. Localize Change: Apply the stepwise test using $R_j$ to find the first break point.
  5. Iterate: Update the start interval and repeat to find subsequent changes.
  6. Visualize: Generate the output maps.

Output Maps

The workflow produces four distinct change detection products:

  1. Binary Map (bmap) Indicates the presence of change between consecutive intervals and the direction of scatter (positive/negative).

  2. Frequency Map (fmap) Counts the total number of times a pixel has undergone a statistically significant change during the observation period.

  3. Cumulative Map (cmap) Identifies the time interval of the most recent change.

  4. Segmentation Map (smap) Identifies the time interval of the first detected change.

About

This repository implements a workflow for land cover change detection using Omnibus statistical methods on multi-temporal Sentinel-1 GRD SAR data.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published