Académique Documents
Professionnel Documents
Culture Documents
Raffiner les stratégies de suivi de l’état des cultures en les adaptant aux
différents types de pratiques agricoles, pour alimenter des systèmes
d’alerte précoce pour la sécurité alimentaire
Etudier l’impact des activités agricoles sur les territoires d’un point de vue
écologique (ex. biodiversité, ressources naturelles) et/ou socio-
économique (ex. réponse aux besoins des populations)
Introduction
Ecrire son propre code en C++ via l’API nécessite une maitrise
importante en développements informatiques
Utiliser les applications pour un grand nombre de traitements de
base, l’OTB met à disposition des fonctions pouvant être appelé par ligne
de commande ou par des interfaces graphiques dédiées (ex. dans QGIS)
Utiliser Monteverdi2 l’OTB fournit également un environnement
graphique pour l’utilisation des applications permettant également la
visualisation et la gestion des données
Que font les applications de l’OTB ?
Accès aux données : lecture des métadonnées, calcul de statistiques
Si la fenêtre de droite s’affiche avec la liste des applications, tout est prêt.
Configuration de QGIS (>= 3.8)
Lors que possible, nous allons utiliser l’OTB directement via QGIS, si
vous disposez d’une version à partir de la 3.8, celles-ci étant déjà
équipées avec les éléments permettant l’interfaçage de l’OTB.
Site d'étude situé près de la ville de Nîmes, dans le sud de la France. Le fond de la carte est une image optique acquise par le satellite Sentinel-2 en
Juillet 2016. Les coordonnées géographiques sont en WGS84 (décimaux).
Zone d’étude
Pour ce TP, nous disposons de données de référence pour l’occupation des
sols constitués par l’intégration par photo-interprétation de bases de
données SIG existantes1. Elle comporte 7 classes d’OcSol, listées dans la
légende ci-dessous.
1 Principalement la BD Topo et la BD Forêt (IGN) et Registre Parcellaire Graphique pour le cadastre agricole.
Résumé de la démarche
Cet exercice vous permettra de réaliser « manuellement » les
différentes étapes de traitement des images qui mèneront à la
production d’une carte d’occupation du sol à partir d’une série
temporelle d’images Sentinel-2.
Cette image correspond à la bande du rouge (B4) d’une tuile entière S2,
en réflectance de surface (L2A), telle que mise à disposition par le CES
Réflectance du Pôle THEIA via le portail https://theia.cnes.fr.
L’ExtractROI doit être répété, en principe, sur toutes les bandes S2 qui
seront utilisées par la suite (toutes les 10 bandes dans notre cas) ainsi
que sur le masque de nuage à la résolution spatiale appropriée.
2.2_Resample10m\S2-L2A-THEIA_0_20161231_31TFJ
2.2 Stack S2 monodate à 10m
Comme vous le savez certainement, les images S2 sont fournies à
plusieurs résolutions spatiales selon la longueur d’onde (bande) :
SENTINEL2A_20161231-103428-460_L2A_T31TFJ_D_V1-4_FRE_B5_gard_site.tif
SENTINEL2A_20161231-103428-460_L2A_T31TFJ_D_V1-4_FRE_B4_gard_site.tif
2.2 Stack S2 monodate à 10m
Avec l’application Superimpose, nous allons produire une version à 10m de
résolution de la bande B5. Effectuez les réglages suivants et exécutez :
Conseil : une fois les saisies effectuées pour une image dans l’interface OTB,
vous n’avez qu’à modifier le fichier de l’image à reprojeter ainsi que celui de
sortie et relancer.
2.2 Stack S2 monodate à 10m
La dernière opération à effectuer dans cette étape est l’empilement des
images à 10m de résolution, en prenant garde à respecter l’ordre des
longueurs d’onde originaire de l’image S2.
Remarquez que le codage de sortie a été fixé ici à uint 8 (entiers sans signe
à 8 bit), le format plus « économique », car l’image de sortie n’a que deux
valeurs possibles (0 ou 1). Exécutez donc l’application.
2.3 Interpolation multi-temporelle
Exercice 2.3.1 : ouvrez le masque binaire généré dans QGIS et vérifiez
qu’effectivement les valeurs égales à 1 correspondent à des pixels nuageux.
Si c’est le cas, répétez ce même procédé pour les autres images de la série.
Exercise 2.3.2 : une fois tous les masques produits, générez, à l’aide de
l’application ConcatenateImages, les empilements suivants en prenant
garde à conserver l’ordre temporel (attention au dates) :
Les différents stack monodate en un seul fichier (ex. S2_REFL.tif – int 16)
Les différents masques de validités en un seul fichier (ex. S2_GAPS.tif – uint 8)
2.3 Interpolation multi-temporelle
Si l’exercice a été complété correctement, tout est pour le paramétrage de
l’application OTB qui réalise l’interpolation multi-temporelle, nommée
ImageTimeSeriesGapFilling (ouvrez-la dans Mapla).
Leur préparation est simple : il suffit de lister les dates dans un fichier texte
au format YYYYMMJJ, en saisissant une date par ligne.
Dans notre cas, nous allons créer une image tous les deux mois, datant du
1er du mois courant, du 01/03/2016 au 01/11/2016, ce qui va donner :
Pour cela, allons régler l’affichage dans QGIS en choisissant, dans le style
des couches, une composition en Couleurs à bandes multiples, utilisant les
bandes 13 (rouge), 12 (vert), et 11 (blue) pour S2_REFL et S2_REFL_GAPF,
qui correspondent aux bandes rouge, vert et bleu de la deuxième date pour
les deux séries temporelles.
Exercice 2.3.3 : effectuez également une analyse visuelle des autres dates
de la série temporelle. Vous remarquerez la présence de nuages résidus
(non détectés par la correction atmosphérique) ainsi que des artefacts en
correspondance des pixels « synthétiques ». Ces effets sont normaux dans
cette opération, et sont en général moins marqués lorsqu’on travaille à
partir de séries temporelles plus denses.
2.4 Extraction d’indices radiométriques
En général, pour la cartographie de l’occupation du sol, l’utilisation
d’indices radiométrique (par ex. de végétation, de sol ou d’eau) en
complément des réflectances S2 d’origine est une pratique commune dans
la plupart des solution faisant l’état de l’art.
La chaîne iota2, qui peut dans le cas général inclure un nombre arbitraire
d’indices radiométriques (ou autres), préconise comme ligne de base,
l’utilisation des trois indices suivant :
Lié à la densité et santé de Sensible aux surfaces humides Fait ressortir les sols nus et
la végétation et à la quantité d’eau les surfaces artificialisés
dans le bassins
2.4 Extraction d’indices radiométriques
Comme le calcul de ces indices radiométriques se fait par des expressions
mathématiques à partir des réflectances des images, l’application qu’on
utilisera pour cette étape est une version amélioré de BandMath, appelée
BandMathX, qui permet d’avoir des fichiers multi-bande en sortie.
Pour rappel, l’ordre des bandes S2 de nos stack monodate est le suivant :
Grace au plugin Group Stats de QGIS (voir dans les extensions), il est
également possible d’analyser les statistiques de la couche. Ci-dessous, le
nombre de polygones ainsi que la surface couverte par chaque classe.
2.5 Traitement données de référence
Ouvrons donc l’outil de sélection aléatoire parmi des sous-ensembles de
QGIS (dans Vecteur Outils de recherche).
Afin d’effectuer une sélection de 70% des polygones qui seront utilisés
pour l’apprentissage (le restant 30% sera réservé pour la validation),
saisissez le paramétrage suivant :
2.5 Traitement données de référence
1
Stack de classification 2
3
4
2.6 Apprentissage d’un classifieur
Si l’application a tourné correctement, le fichier du modèle de classification
doit avoir être produit.
La précision globale (overall accuracy) : ratio #pixels bien classés / #pixels de validation
La précision et le rappel : par classe, respectivement le ratio #pixels bien classées / #pixels de
validation pour la classe et le ratio #pixels bien classées / #pixels identifiés dans la classe
Le F-score : indicateur de précision par classe (moyenne harmonique entre précision et rappel)
Le Kappa de Cohen : indicateur statistique permettant d’estimer la fiabilité de la classification
2.7 Classification et évaluation
L’application OTB permettant de calculer la matrice de confusion ainsi que
les indicateurs dérivés s’appelle ComputeConfusionMatrix. Voici les réglages
à effectuer pour évaluer la carte produite avec la référence valid.shp :
Input Image est la classification (la
sortie de ImageClassifier).
La précision globale est d’environ 75% (0.75, Kappa de ~0.68). Il s’agit d’un
« score » pas très élevé, mais améliorable si l’on considère que :
Les classes non agricoles (fôret, zones urbaines et eau) qui n’ont pas une
temporalité très marquée sont aussi relativement bien classées.
Autoroute
Eau
2.8 Post-traitement de la carte
Plusieurs interventions peuvent être effectuées sur la carte produite pour
pallier aux erreurs de classification, en particulier à ceux qui sont dûs à
l’approche de classification par pixels.
L’OTB dispose d’une application prévue réaliser ce type de filtrage sur une
carte thématique, nommée ClassificationMapRegularisation. Essayez donc
les paramétrages suivants pour produire une carte régularisée :
Input classification image est la carte
à régulariser. La carte de sortie est à
indiquer dans Output regularized
image.
L’exercice est terminé. Celles qui suivent sont des appendices à consulter
par ceux qui veulent aller plus loin. N’hésitez pas à consulter la
documentation de l’OTB pour avoir des précisions.
Appendice 1 : fichier batch
Ci-dessous, un exemple de fichier en format batch de Windows (fourni)
permettant de réaliser l’intégralité de la démarche de classification (2.6 à
2.8) en utilisant les applications de l’OTB en ligne de commande.
Appendice 2 : classification à objet
Composite Blue/Vert/Rouge/PIR sur une date « claire »
Appendice 2 : classification à objet
Segmentation avec algorithme de Baatz & Schape (GenericRegionMerging)
Appendice 2 : classification à objet
Vectorisation de la segmentation : Boîte à Outils QGIS GDAL
Conversion Raster Polygoniser (Raster vers Vecteur)
Appendice 2 : classification à objet
Création des échantillons d’apprentissage
Ce module de formation
« COPERNICUS et Agriculture »
L’ensemble de la formation est réalisé dans le cadre d’un marché d’AgroParisTech avec le CNES
(n° 5700003548 / DIA095).
L’opération a bénéficié d’un soutien financier de l’Union Européenne dans le cadre du FPA
« Caroline Herschel ».