3 Présentation de la chaine de traitement

3.1 Contexte général

Les travaux de Hamrouni et al. (2022) ont porté sur la cartographie nationale des peupleraies à partir des séries temporelles d’images Sentinel-2.

L’approche s’appuie sur une classification supervisée avec un modèle Random Forest exploitant un nouvel indice spectral, le Poplar Index \(\mathrm{PI}_2\), calculé à partir des bandes B5, B11 et B12 de Sentinel-2 sur plusieurs années.

\[ \mathrm{PI}_2 = B5 - (B11 + B12) \]

Six années de cartes des peupleraies ont ainsi été produites pour la période de 2017 à 2022.

L’ensemble des traitements ont été réalisés sur le cluster du CNES, offrant un accès direct au catalogue Sentinel-2 sans téléchargement préalable des images à l’échelle nationale.

La France est couverte par environ 89 tuiles Sentinel-2, aquises tous les 5 jours avec 10 bandes spectrales disponibles.

3.2 Chaîne de classification initiale

Afin de représenter la diversité nationale, la classification supervisée s’est appuyée sur un apprentissage réalisé à partir de trois tuiles Sentinel-2 choisies pour leur forte variabilité en termes de pratiques sylvicoles et de conditions stationnelles.

Tuiles Sentinel-2 de r<U+00E9>f<U+00E9>rence

FIGURE 3.1: Tuiles Sentinel-2 de r<U+00E9>f<U+00E9>rence

Le modèle Random Forest a été entraîné pour distinguer 8 classes :

  • Peuplier (classe cible)
  • Six classes de feuillus
  • Une classe regroupant les résineux

Ce modèle entraîné a ensuite été appliqué pour prédire l’ensemble du territoire français.

12 To de données brutes 70 Go pour les 89 tuiles par année

Sorties par tuile :

  • Carte de classification : chaque pixel est affecté à une des 8 classes avec des valeurs de 1 à 8 (peuplier = 1)
  • Carte de confiance : chaque pixel reçoit une valeur entre 0 et 1 représentant la confiance du modèle dans la classe prédite (0 = pas confiant, 1 = très confiant)
Rasters de classification et de confiance

FIGURE 3.2: Rasters de classification et de confiance

Performance moyenne : 95 %

3.3 Limites de la classification brute

Malgré les bonnes performances, plusieurs limites empêchent l’utilisation directe des cartes et leur diffusion aux utilisateurs finaux :

  • Absence de masque forêt/non-forêt : le modèle prédit sur tout le territoire y compris sur les plans d’eau les champs agricoles, etc.
  • Confusion avec d’autres occupations du sol (OCS), en particulier les cultures ou certaines classes de résineux (exp. dans le Tarn).
  • Difficulté à détecter les jeunes plantations, souvent assimilées à du sol nu avec une faible confiance du modèle.
  • Dépendance à des données auxiliaires (exp. RPG, BD Forêt) parfois indisponibles ou obsolètes.

3.4 La chaîne de post-traitement

Pour pallier ces limites, une chaîne de post-traitement a été développée combinant des règles expertes et des opérations de géotraitement spatial afin d’affiner les cartes issues de la classification brute.

🎯 Objectif : restreindre les peupleraies prédites à des zones cohérentes thématiquement et spatialement.

3.4.1 Etapes du post-traitement :

Le post-traitement comprend six étapes différentes :

1. Binarisation des classes : conversion de la carte de classification en binaire, où les pixels peupliers valent 1, les autres 0. Ensuite, on multiplie cette carte binaire (masque) par la carte de confiance, ce qui a pour effet de conserver les valeurs de confiance uniquement là où il y a du peuplier, et de mettre à zéro la confiance ailleurs.

2. Application d’un seuil de pente : exclusion des zones avec une pente supérieure 30 %, inadaptée aux plantations de peupliers.

3. Application d’un seuil de hauteur : suppression des zones où la hauteur de végétation est inférieure à 3 m pour éviter la confusion avec les champs agricoles.

4. Filtrage médian (3x3) : lissage des valeurs de confiance pour réduire le bruit.

5. Application d’un seuil de confiance : suppression des pixels dont la confiance est inférieure à 30 %.

6. Tamisage : suppression des groupes de pixels isolées ou trop petits (< 0,5 ha).


Diagramme des <U+00E9>tapes de post-traitement

FIGURE 3.3: Diagramme des <U+00E9>tapes de post-traitement

3.4.2 Les données, les paramètres et les formats

Site d’étude : la région Nouvelle-Aquitaine

  • Couverture : 27 tuiles Sentinel-2

  • Dimensions des tuiles : 100 km x 100 km

  • Résolution spatiale : 10 m

  • Deux années d’étude : 2017 et 2018

Données d’entrée :

  • Les images utilisées sont issues de la classification supervisée appliquée aux 27 tuiles Sentinel-2 pour les deux années étudiées.

    • Classification : rasters au format GeoTIFF encodés en Int16

    • Confiance associée : rasters au format GeoTIFF encodés en Float32

  • Deux données auxilliaires permettent d’intégrer des règles expertes pour fiabiliser les résultats :

    • 🗺️ slope_nouvelle_aquitaine.tif : raster de pente dérivé du MNT RGE ALTI® 5 m, exprimé en pourcentage. Les valeurs vont de 0 % (terrain plat) à environ 150 % (pentes fortes). Cette couche est utilisée pour exclure les zones topographiquement peu favorables aux peupleraies.

    • 🗺️ height_nouvelle_aquitaine.tif : raster de hauteur de végétation en centimètres, issu du produit FORMS (Schwartz et al. 2023).

Cette information permet de filtrer les cultures agricoles, souvent confondues avec les peupleraies. Un seuil de hauteur est appliqué pour éliminer la végétation basse tout en conservant les jeunes plantations de peupliers, qui restent généralement plus hautes que les cultures.

Ces deux raster auxilliaires sont également disponibles sous forme de tuiles déjà prédécoupés de la même taille que les rasters Classification et Confiance. Ils sont également dans le répertoire /data_folder/auxiliary/

Paramètres à appliquer en post-traitement

  • Seuil de pente : 30 %
  • Seuil de hauteur : 30 cm
  • Taille de la fenêtre pour le filtre médian : 3 x 3 pixels
  • Seuil de confiance : 30 %
  • Taille minimale des objets conservés (tamisage) : 50 pixels (0.5 ha)

Organisation du dépôt de données :

📁 DATA_FOLDER/
├── 📁 auxiliary/
│   ├── 🗺️ slope_nouvelle_aquitaine.tif
│   └── 🗺️ height_nouvelle_aquitaine.tif
├── 📁 years/
│   ├── 📁 2017/
│   │   ├── 📁 inputs/
│   │   │   ├── 📁 classification/
│   │   │   │   └── 🗺️ classification*.tif
│   │   │   ├── 📁 confiance/
│   │   │   │   └── 🗺️ confiance*.tif
│   │   └── 📁 outputs/
│   │       ├── 📁 classification/
│   │       ├── 📁 confiance/
│   │       ├── 📁 visualization/
│   │       └── 📁 reports/
│   ├── 📁 2018/
│   │   └── (structure identique à 2017)

3.5 GDAL ? Pas cette fois-ci !

La chaîne de post-traitement a d’abord été développée avec GDAL en s’appuyant sur des boucles classiques pour lire, traiter et écrire les données raster.

Cette approche, bien que fonctionnelle, présentait plusieurs limitations importantes :

  • Les traitements étaient entièrement séquentiels, rendant le traitement des 89 tuiles Sentinel-2 (écehlle natioanle) extrêmement long.
  • La lecture/écriture disque était peu optimisée (pas de gestion automatique des blocs ou de la mémoire).
  • Le code devenait difficile à maintenir et peu flexible dès que plusieurs couches ou règles expertes devaient être combinées.
  • La parallélisation était complexe à mettre en place sans réécrire la chaîne complète avec multiprocessing ou des scripts batch faits maison.

Pour cet atelier HPC, un véritable changement de paradigme a été adopté : plutôt que de chercher à adapter laborieusement GDAL à une logique parallèle, la chaîne a été entièrement repensée à l’aide d’outils plus adaptés aux gros volumes de données et au traitement distribué. En Python, la nouvelle chaîne s’appuie sur :

  • xarray : structure de données multi-dimensionnelle permettant de manipuler efficacement les tuiles (x, y, bandes, années…).
  • rioxarray : extension de xarray pour lire/écrire des GeoTIFF en conservant les métadonnées spatiales (CRS, transform, etc.).
  • dask : moteur de parallélisation permettant de découper les traitements en blocs et distribuer les calculs sur plusieurs cœurs (voire un cluster si besoin).

En R, la logique pipeline a été assurée par :

  • targets : pour structurer les étapes de traitement sous forme de dépendances reproductibles et parallélisables.
  • terra : pour les opérations raster, en s’appuyant sur GDAL avec une interface moderne et vectorisée.

3.6 Explication de la chaîne par blocs

La chaîne initiale était codée sous forme de boucles séquentielles traitant les données étape par étape.

Plusieurs types de parallélisation ont été envisagés pour accélérer le traitement :

  • Parallélisation au niveau de l’année : traiter les différentes années en parallèle.

  • Parallélisation au niveau de la tuile :

    • Option 1 : appliquer tous les traitements sur une tuile, puis passer à la suivante, en traitant plusieurs tuiles en parallèle.
    • Option 2 : appliquer un traitement unique sur toutes les tuiles, puis passer au traitement suivant, en traitant plusieurs traitements en parallèle.