Des cartes d'occupation des sols obtenues rapidement avec les données SPOT4 (Take5) sur le site Sudmipy

=>

Au CESBIO, nous développons des techniques de production de cartes d'occupation des sols, adaptées aux séries temporelles d'images à haute résolution, comme celles que fourniront bientôt Venµs et Sentinel-2. Quand les données SPOT4 (Take5) ont été disponibles sur notre zone d'étude dans le Sud-Ouest, nous nous sommes dépêchés de mettre à l'épreuve nos chaînes de traitement sur ce jeu d'images. Les premiers résultats ont été évoqués lors de la journée des utilisateurs Take5 qui a eu lieu début octobre 2013.

1. Expérimentation

Dans ce billet, nous décrivons le travail réalisé pour générer ces premières classifications d'occupation du sol avec les données SPOT4-(Take 5) de la zone Sudmipy Est et Ouest, et nous comparons les résultats obtenus sur la zone commune à ces deux zones.

 

En amont de ce travail, nous avons organisé, de manière synchrone aux acquisitions, la collecte de données terrain pour la réalisation et la validation des classifications envisagées. Ces collectes ont été effectuées sur trois zones d'études (figure 1) qui ont été visitées à 6 reprises entre les mois de février et de septembre 2013, au total 2000 parcelles culturales ont été suivies. Ceci a permis de suivre le cycle cultural des cultures d’hiver, des cultures d’été avec une spécification concernant l’irrigation ; les surfaces en herbe, les surfaces de bois et les zones bâties. In fine, la nomenclature comporte 16 classes d'occupation du sol.

 

L’objectif était de connaître la pertinence d’une classification effectuée en utilisant des données terrain limitées tant en terme de quantité que de répartition spatiale. Nous souhaitions aussi vérifier que nous pouvions fusionner les deux traces Est et Ouest de SPOT4 (Take5). Pour ce faire nous avons utilisé 5 images de niveau 2A acquises à un jour d'écart, pour chaque zone, et les données de terrain émanant de la zone commune aux deux emprises (en rose sur la figure ci-contre).

 

OUEST EST
2013-02-16
2013-02-21
2013-03-03
2013-04-17
2013-06-06
2013-02-17
2013-02-22
2013-03-04
2013-04-13
2013-06-07
2. Résultats

Les premiers résultats des classifications supervisées par la méthode SVM (utilisant l'ORFEO Toolbox) apparaissent d'ores et déjà comme très encourageants : ils permettent d'obtenir + de 90% de pixels bien classés, tant pour la partie Ouest que pour la partie Est, et la continuité entre les deux zones est excellente. Quelques confusions existent entre sols nus/surfaces minérales et cultures d'été, qui devraient être largement réduites par l'utilisation d'images LANDSAT 8 acquises en été, période pendant lesquelles les cultures d'été vont se développer.

Assemblage des cartes d'occupation du sol obtenues sur la partie ouest et est du site Sudmipy (en excluant les zones nuageuses des deux zones sur les 5 dates choisies). La comparaison avec la vérité terrain (les points noirs sur la carte au Sud Ouest de Toulouse) donne un kappa de 0.89 à l'Ouest et de 0.92 à l'Est. Cet excellent résultat est un peu surévalué car favorisé par le fait que toutes les vérités terrain sont dans la même zone

 

OUEST EST

Ce zoom compare les résultats obtenus sur la zone commune, à gauche à l'ouest, à droite à l'Est. les deux classifications ont été obtenues indépendamment, à partir de la même méthode et de la même vérité terrain, mais avec des images acquises à des dates différentes sous des angles de prise de vue différents. Les principales confusions concernent le mais et les sols nus, ce qui n'est pas étonnant, car à la date de la dernière image disponible, le mais venait juste d'émerger. On note aussi les habituelles confusions entre orge et blé (mais même sur le terrain, il faut être un spécialiste pour faire la différence)


3. Retour d'expérience

Nous avons été très satisfaits de constater l'opérationnalité des outils. En effet, étant donné le volume de données à traiter (environ 10 GO d'images) on aurait pu craindre des temps de calcul très longs ou tout simplement des limitations de capacité de mémoire des logiciels utilisés (après tout, nous ne sommes que des scientifiques dans un laboratoire ...). Vous ne serez pas surpris d'apprendre que les chaînes de traitement sont basées sur l'Orfeo Toolbox. Plus précisément, le cœur de la chaîne utilise des applications fournies avec l'OTB pour l'apprentissage et la classification d'images. Il suffit de construire une image multi-canal, où chaque composante est un attribut de classification (réflectances, NDVI, etc.) et de fournir aussi une donnée vecteur (fichier shapefile, par exemple) avec les données d'apprentissage (et/ou validation). Ensuite, il suffit d'une ligne de commande pour l'apprentissage (voir la ligne de commande à la fin de l'article) et d'une autre pour la classification (idem).

Les temps de calcul restent très intéressants : quelques minutes pour l'apprentissage et quelques dizaines de minutes pour la classification. Un des gros avantages de la classification avec les applications OTB est de profiter de façon automatique du calcul parallèle quand on utilise une machine multi-processeurs (notre machine préférée a 24 cœurs, mais n'importe quel PC standard actuel en a entre 4 et 12!).

Nous allons continuer à exploiter ces données, car nous avons d'autres jeux de données de référence issues de campagnes terrain mieux réparties sur la zone qui devraient nous permettre de contraindre la carte d'occupation des sols, et nous ajouterons les données LANDSAT 8 acquises en été pour éviter les confusions sur les cultures d'été.

 

4. Exemples de lignes de commandes

Nous commençons par construire une image multi-canal avec chaque acquisition Take5 (cet exemple ne prend pas en compte les masques de nuages).

otbcli_ConcatenateImages -il SPOT4_HRVIR_XS_20130217_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130222_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130304_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130413_N1_TUILE_CSudmipyE.TIF
SPOT4_HRVIR_XS_20130607_N1_TUILE_CSudmipyE.TIF -out
otbConcatImg_Spot4_Take5_5dat2013.tif

Nous calculons ensuite les statistiques des images afin de normaliser les canaux :

otbcli_ComputeImagesStatistics -il otbConcatImg_Spot4_Take5_5dat2013.tif -out
EstimateImageStatistics_Take5_5dat2013.xml

Nous lançons l'apprentissage d'un SVM avec un noyau RBG (gaussien) :

otbcli_TrainSVMImagesClassifier -io.il otbConcatImg_Spot4_Take5_5dat2013.tif
-io.vd DT2013_Take5_CNES_1002_Erod_Perm_Dissolve16cl.shp -sample.vfn "Class"
-io.imstat EstimateImageStatistics_Take5_5dat2013.xml -svm.opt 1 -svm.k rbf-io.out svmModel_Take5Est_5dat2013_train6.svm

Et hop, nous lançons la classification :

otbcli_ImageSVMClassifier -in otbConcatImg_Spot4_Take5_5dat2013.tif -mask
EmpriseTake5_CnesAll.tif -imstat EstimateImageStatistics_Take5_5dat2013.xml
-svm svmModel_Take5Est_5dat2013_train_6.svm -out ClasSVMTake5_5dat_16cl_6.tif

Posted under: Applications, Code, En Français, SPOT4 (Take 5), SudMiPy

Tagged as: , , ,

One comment

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>