3.5 – Détection de changement : cartographie des inondations

Contenu du cours
Section 1 – Introduction à la Télédétection
Découvrez les fondements de la télédétection, les objectifs du cours et la propagation du rayonnement électromagnétique depuis la source jusqu'à l'analyse finale. Cette section pose les bases de notre parcours scientifique.
0/2
Section 2 – Télédétection Optique ( Sentinel-2 )
Maîtriser la chaîne complète de prétraitement optique Sentinel-2 : correction atmosphérique, harmonisation géométrique, découpe spatiale et extraction d'indices spectraux (NDVI). Durée : 3 heures | 6 parties structurées | 4 vidéos tutoriels
0/10
Section 4 – Projets Pratiques et Évaluation
M232 – Physique de la Télédétection : Optique, Radar et Ingénierie du Traitement (ESA SNAP)

Principe de la détection de changement SAR

La détection de changement par imagerie SAR analyse une paire d’images acquises sur la même zone géographique à des instants différents — généralement une image avant catastrophe et une autre après — pour identifier les changements survenus. Cette méthode est particulièrement efficace pour la cartographie rapide des inondations grâce à la forte réponse différentielle de l’eau.

Référence publiée : Hamdi et al., Computer Optics, 2021DOI: 10.18287/2412-6179-CO-814

Les 3 étapes fondamentales

  1. Prétraitement des deux images selon le pipeline complet de la leçon 3.4 (Calibration → Lee → Terrain Correction → Clipping)
  2. Calcul de la différence entre les deux images calibrées :
    • Par soustraction : D = I2 − I1
    • Par ratio : R = I2 / I1
    • Par log-ratio : log(I2/I1) — préféré car réduit l’effet multiplicatif du speckle
  3. Seuillage et classification : extraction des zones de changement via un seuil statistique ou global

Méthode 1 : Composition colorée multi-temporelle

Cette approche permet de visualiser rapidement les changements sur une seule image couleur RGB :

  • Canal Rouge (R) = image date 1 (pré-inondation, 11 sept. 2018)
  • Canal Vert (V) = image date 2 (post-inondation, 23 sept. 2018)
  • Canal Bleu (B) = image date 2 (post-inondation, 23 sept. 2018)

Interprétation des couleurs résultantes :

  • Zones en cyan → apparition de nouvelles surfaces d’eau (I2 ↑, I1 faible)
  • Zones en rouge → disparition de surfaces d’eau ou changements inverses
  • Zones grises → pas de changement significatif

Méthode 2 : Seuillage global sur σ⁰

Expression du seuil de binarisation (masque eau/non-eau) dans l’outil de traitement :

255 * (Sigma0_VV < 2.22E-2)

Ce seuil (~−16.5 dB) est déterminé par analyse de l’histogramme de σ⁰. Les pixels ayant un σ⁰ inférieur au seuil sont classés comme eau (valeur 255), les autres comme non-eau (valeur 0).

Justification statistique : l’eau calme produit une réponse spéculaire très faible (σ⁰ < −15 dB), nettement séparée du sol (σ⁰ entre −10 et 0 dB).

Cas d’étude : Barrage El Mansour Eddahbi (Ouarzazate)

L’inondation de septembre 2018 autour du barrage El Mansour Eddahbi a été analysée avec la méthode présentée dans ce cours.

Paramètre Valeur
Zone d’étude Barrage El Mansour Eddahbi, Ouarzazate, Maroc
Image pré-inondation Sentinel-1B, 11 septembre 2018, mode IW, VV+VH
Image post-inondation Sentinel-1B, 23 septembre 2018, mode IW, VV+VH
Surface inondée détectée ~12 km² (variation par rapport à la pré-inondation)
Seuil appliqué σ⁰ < 2.22E-2 (≈ −16.5 dB)
Paramètres Rayleigh (σ) 0.045 (pré-inondation), 0.032 (post-inondation)
Coordonnées bbox 30°55’N–30°58’N, 6°41’W–6°51’W

Distribution gaussienne de la différence

Comme démontré dans la leçon 3.3, la différence D = I2 − I1 suit une distribution gaussienne :

fG(h; μ, σ) = (1/σ√2π) · exp(-(h-μ)²/2σ²)

Sur nos données : μ ≈ 0.01, σ ≈ 0.05. Le seuil optimal correspond à μ − kσ où k est déterminé par minimisation des fausses alarmes.

Pipeline Python complet

import rasterio
import numpy as np

# Chargement des images prétraitées
with rasterio.open('pre_flood_sigma0_VV.tif') as src:
    pre = src.read(1)
with rasterio.open('post_flood_sigma0_VV.tif') as src:
    post = src.read(1)

# Seuillage direct
threshold = 2.22e-2  # ~-16.5 dB
water_mask = (post < threshold).astype(np.uint8) * 255

# Log-ratio pour visualisation
log_ratio = np.log10(post / (pre + 1e-10))

# Composition colorée RGB
rgb = np.stack([pre, post, post], axis=0)

Points clés à retenir

  • La détection de changement SAR repose sur la différence radiométrique entre deux dates
  • La composition colorée (R=date1, V=B=date2) permet une visualisation rapide sans calcul numérique
  • Le seuil σ⁰ < 2.22E-2 est efficace pour Sentinel-1 bande C sur les inondations marocaines
  • La distribution gaussienne de la différence justifie l’utilisation de seuils statistiques
  • L’événement Eddahbi (sept. 2018) est le cas d’étude de référence de ce module