Étude des coraux avec Sentinel-2 Deep Resolution 3 (S2DR3) avec QGis et SCP


Suite à l’article « Comment augmenter la résolution des images Sentinel 2 de 10 à 1m », puis de « Utiliser S2DR3 dans Google Colab pour l’étude des coraux à Maurice », voyons ici comment exploiter les couches de super-résolution dans QGis avec le plugin SCP.



1. Chargement des données dans QGIS

  1. Ouvrez QGIS → menu Compléments → Semi-Automatic Classification Plugin (SCP).
  2. Dans le panneau SCP → onglet Preprocessing, ajoutez le fichier GeoTIFF issus de Colab :

    • Chemin : /MyDrive/Sentinel2_Coraux_S2DR3/output/…_MS.tif (il contient toutes les bandes)

  3. Cliquez sur “Band set” → “Create band set”, puis ajoutez toutes les bandes S2DR3 (B0 à B9).
  4. Vérifiez que la résolution est 1 m et que les bandes s’alignent correctement.


Voici le tableau complet des bandes Sentinel-2 avec leurs longueurs d’onde centrales et résolutions natives (avant super-résolution S2DR3).

Bandes Sentinel-2 et longueurs d’onde

Bande Nom / Description Longueur d’onde (nm) Résolution native (m) Utilisation typique
B1 Côtière / Aérosols 443 60 Étude de l’atmosphère, eau côtière peu profonde
B2 Bleu 490 10 Eau claire, bathymétrie, santé corallienne
B3 Vert 560 10 Végétation aquatique, coraux, herbiers
B4 Rouge 665 10 Détection de la chlorophylle, coraux stressés
B5 Red Edge 1 705 20 Transition rouge/NIR, végétation
B6 Red Edge 2 740 20 Santé de la végétation, turbidité
B7 Red Edge 3 783 20 Analyse fine de la végétation côtière
B8 NIR (Infrarouge proche) 842 10 Détection de la végétation, profondeur (eau claire)
B8A Red Edge 4 865 20 Amélioration des contrastes entre sol et végétation
B9 Bande de vapeur d’eau 945 60 Correction atmosphérique (vapeur d’eau)
B10 Cirrus 1375 60 Détection des nuages cirrus
B11 SWIR 1 (Infrarouge court) 1610 20 Sédiments, humidité, turbidité
B12 SWIR 2 (Infrarouge court) 2190 20 Discrimination des sols, turbidité forte


Applications coralliennes clés

Thème Bandes principales Explication
Détection des coraux vivants B2, B3, B4 Les coraux reflètent davantage dans le vert que dans le bleu, mais absorbent fortement dans le rouge.
Herbiers et algues B3, B5, B6 Le Red Edge révèle les pigments chlorophylliens des herbiers marins.
Bathymétrie (profondeur relative) B2/B3, B3/B4 Plus la profondeur augmente, plus la réflectance bleue diminue rapidement.
Turbidité / sédiments B8, B11, B12 L’infrarouge est fortement absorbé par l’eau mais bien réfléchi par les particules en suspension.


2. Compositions RGB pour visualiser les récifs

Thème Bandes (R-G-B) Effet visuel principal
True color (naturelle) B4-B3-B2 Vue réaliste de l’eau et des fonds.
Litoral / coraux peu profonds B3-B2-B1 Meilleure sensibilité aux variations de profondeur et aux herbiers.
Détection turbidité / sédiments B11-B8-B4 Fait ressortir les zones troubles ou sableuses.
Analyse bathymétrique B2-B3-B4 (ou B2-B3-B8) Idéal pour visualiser la variation des profondeurs sur fond clair.

Astuce : réglez la transparence de l’eau avec la courbe de contraste pour mieux distinguer les coraux.


3. Bandes utiles pour les coraux

Bande Nom Résolution native Sensibilité principale
B1 Coastal aerosol 60 m → 1 m S2DR3 Colonies coralliennes peu profondes, turbidité.
B2 Blue 10 m → 1 m Eaux claires, profondeur, substrat.
B3 Green 10 m → 1 m Réflectance des coraux et herbiers.
B4 Red 10 m → 1 m Contraste avec les zones terrestres.
B8 NIR 10 m → 1 m Santé de la végétation littorale, turbidité.
B11 SWIR1 20 m → 1 m Humidité, sédiments, profondeur.
B12 SWIR2 20 m → 1 m Détection zones humides et minérales.


4. Indices spectrales recommandés

Indice Formule (SCP → Band calc) Interprétation
NDWI (Indice d’eau normalisé) (B3 - B8) / (B3 + B8) Délimite les zones d’eau / terres émergées.
BSI (Bare Soil Index) ((B11 + B4) - (B8 + B2)) / ((B11 + B4) + (B8 + B2)) Identifie sable / substrats découverts.
NDTI (Turbidity Index) (B11 - B8) / (B11 + B8) Détecte l’eau trouble ou chargée en sédiments.
Coral Index (expérimental) (B3 - B2) / (B3 + B2) Met en évidence les zones coralliennes peu profondes (plus la valeur est élevée, plus la réflectance verte domine).
Depth Ratio (profondeur relative) B2 / B3 Estime les variations bathymétriques sur fonds clairs.

Pour tous ces indices :

  • Appliquez un filtre 3×3 pour réduire le bruit.
  • Utilisez la palette “Spectral” pour mieux visualiser les gradients.


Exemple de la profondeur relative

Le ratio entre les bandes B2 et B3 permet de visualiser les variations bathymétriques. Nous allons voir en détail comment faire.

  1. Dans SCP, allez à l’onglet « Calcul de bande »,
  2. rentrez la formule « bandset1b2″/ « bandset1b3 »
  3. Cliquez sur Lancer

On obtient alors le raster de l’index

On peut comparer notre résultat à celui obtenu avec le ICESat_2 Space_Based Laser Bathymetry disponible dans Arcgis Online


Exemple : Détection des coraux vivants (B2, B3, B4 – Sentinel-2)

Objectif

Identifier les zones où les coraux vivants se distinguent du sable et des herbiers,
en exploitant leur réflectance plus forte dans le vert et faible dans le rouge.


1. Bandes nécessaires

Bande Nom Longueur d’onde (nm) Utilité
B2 Bleu 490 Sensible à l’eau claire et aux zones de faible profondeur
B3 Vert 560 Réflectance maximale des coraux vivants
B4 Rouge 665 Absorbée par les pigments zooxanthelles (coraux vivants)


2. Indice spectral “Coral Index” (CI)

Formule simple inspirée du principe NDVI, adaptée aux coraux :

\(\text{Coral Index} = \frac{B3 – B4}{B3 + B4}
\)

Cet indice est positif pour les coraux vivants (réflectance plus forte dans le vert que dans le rouge), et tend vers 0 ou négatif pour le sable ou les zones d’eau profonde.


3. Calcul de l’indice dans QGIS / SCP

  1. Ouvrez SCP → onglet “Jeux de bande”

    • Ajoutez les bandes B2, B3, B4 (prétraitées ou issues de S2DR3).

  2. Cliquez sur “Calcul de bande” (calculatrice).
  3. Dans la zone de formule, écrivez : (« bandset1b3 »- « bandset1b4 »)/ (« bandset1b3″+ « bandset1b4 ») qui correspond à (B3 - B4) / (B3 + B4)
  4. Choisissez un nom de sortie : Coral_Index.tif
  5. Cliquez sur Lancer

Dans notre cas on obtient:

La présence de terre ferme donne des valeurs négatives. On peut appliquer un masque pour cacher les zones qui ne nous intéressent pas, ou bien, tout simplement forcer la symbologie en ne gardant que les valeurs positives

Ce qui donne:


4. Filtrage 3×3 (réduction du bruit)

Dans QGIS :

  • Ouvrez la Boîte à outils de traitement
  • Recherchez Grass->Raster->r.neighbors
    → Entrée : CoralIndex.tif
    → Taille du noyau : 3
    → Sortie : CoralIndex_filtered.tif

La différence entre l’index brut et l’index filtré se voit bien quand on zoome sur une zone de coraux:

Coral_Index.tif …………………………………………………… Coral_Index_Filtered.tif


5. Visualisation

  • Style → Palette pseudo-couleurs (viridis ou RdYlGn)
  • Régle :

    • Valeurs élevées (vertes) → coraux vivants probables
    • Valeurs faibles (bleues / rouges) → sable, herbiers ou eau profonde


6. Interprétation terrain (Blue Bay – Île aux Aigrettes)

  • Zones vert-jaune clair : récifs sains, coraux vivants
  • Zones vert foncé-bleues : substrat nu ou coraux morts
  • Zones bleues : herbiers ou eau profonde
  • Zones très sombres : turbidité ou ombres d’eau


5. Comparaison Sentinel-2 original vs S2DR3

  1. Téléchargez la scène Sentinel-2 originale (L2A, 10 m) pour la même date via Copernicus Hub ou SCP → Download products.
  2. Dans QGIS :

    • Créez une composition RGB 10 m et une autre avec les bandes 1 m S2DR3.
    • Utilisez “Swipe map view” ou “Transparency slider” pour les comparer visuellement.

  3. Option quantitative :

    • Calculez NDWI, NDVI ou Coral Index pour les deux images.
    • Utilisez Raster → Raster calculator pour générer une différence (Δ) : NDWI_S2DR3 - NDWI_Sentinel2
    • Les zones de forte différence indiquent les détails ajoutés ou les variations détectées.


6. Conseils pour analyse fiable

  • Vérifiez les métadonnées : date, couverture nuageuse, angle solaire.
  • Évitez les jours avec forte houle ou turbidité (les reflets modifient les ratios).
  • Les détails S2DR3 sont inférés par IA : utilisez-les pour repérage, pas pour mesure métrique précise.
  • Pour les zones d’intérêt scientifique, combinez S2DR3 avec des observations drone ou photo aérienne pour validation.


7. Exemple de workflow SCP (résumé)

  1. Charger les bandes S2DR3 (1 m) → créer Band Set.
  2. Calculer NDWI, NDTI, Coral Index.
  3. Classifier avec “Unsupervised → K-means” ou “Supervised → ROI + Classification”.
  4. Exporter les classes (corail, herbiers, sable, eau profonde).
  5. Comparer avec Sentinel-2 10 m pour validation.


Si cet article vous a intéressé et que vous pensez qu'il pourrait bénéficier à d'autres personnes, n'hésitez pas à le partager sur vos réseaux sociaux en utilisant les boutons ci-dessous. Votre partage est apprécié !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *