É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

BandeNom / DescriptionLongueur d’onde (nm)Résolution native (m)Utilisation typique
B1Côtière / Aérosols44360Étude de l’atmosphère, eau côtière peu profonde
B2Bleu49010Eau claire, bathymétrie, santé corallienne
B3Vert56010Végétation aquatique, coraux, herbiers
B4Rouge66510Détection de la chlorophylle, coraux stressés
B5Red Edge 170520Transition rouge/NIR, végétation
B6Red Edge 274020Santé de la végétation, turbidité
B7Red Edge 378320Analyse fine de la végétation côtière
B8NIR (Infrarouge proche)84210Détection de la végétation, profondeur (eau claire)
B8ARed Edge 486520Amélioration des contrastes entre sol et végétation
B9Bande de vapeur d’eau94560Correction atmosphérique (vapeur d’eau)
B10Cirrus137560Détection des nuages cirrus
B11SWIR 1 (Infrarouge court)161020Sédiments, humidité, turbidité
B12SWIR 2 (Infrarouge court)219020Discrimination des sols, turbidité forte

Applications coralliennes clés

ThèmeBandes principalesExplication
Détection des coraux vivantsB2, B3, B4Les coraux reflètent davantage dans le vert que dans le bleu, mais absorbent fortement dans le rouge.
Herbiers et alguesB3, B5, B6Le Red Edge révèle les pigments chlorophylliens des herbiers marins.
Bathymétrie (profondeur relative)B2/B3, B3/B4Plus la profondeur augmente, plus la réflectance bleue diminue rapidement.
Turbidité / sédimentsB8, B11, B12L’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èmeBandes (R-G-B)Effet visuel principal
True color (naturelle)B4-B3-B2Vue réaliste de l’eau et des fonds.
Litoral / coraux peu profondsB3-B2-B1Meilleure sensibilité aux variations de profondeur et aux herbiers.
Détection turbidité / sédimentsB11-B8-B4Fait ressortir les zones troubles ou sableuses.
Analyse bathymétriqueB2-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

BandeNomRésolution nativeSensibilité principale
B1Coastal aerosol60 m → 1 m S2DR3Colonies coralliennes peu profondes, turbidité.
B2Blue10 m → 1 mEaux claires, profondeur, substrat.
B3Green10 m → 1 mRéflectance des coraux et herbiers.
B4Red10 m → 1 mContraste avec les zones terrestres.
B8NIR10 m → 1 mSanté de la végétation littorale, turbidité.
B11SWIR120 m → 1 mHumidité, sédiments, profondeur.
B12SWIR220 m → 1 mDétection zones humides et minérales.

4. Indices spectrales recommandés

IndiceFormule (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 / B3Estime 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

BandeNomLongueur d’onde (nm)Utilité
B2Bleu490Sensible à l’eau claire et aux zones de faible profondeur
B3Vert560Réflectance maximale des coraux vivants
B4Rouge665Absorbé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 *