Dans cette série d’articles nous utilisons le plugin SCP de QGis pour effectuer un classement supervisé avec calcul de texture. Nous avons vu dans l’article précédent le traitement classique des trois bandes RVB des images photographiques de drone sur une zone littorale.
Dans cet article nous allons voir le traitement après calcul des valeurs de texture de ces mêmes images.
Chargement des bandes
Ce deuxième traitement est réalisé à partir du chargement des trois bandes originales du traitement précédent, et des douze bandes normalisées issues du traitement r.texture sur la bande verte de l’image d’origine.
On retrouve alors un band set tel que le suivant :
On crée rapidement un fichier d’entrainement avec nos trois classes.
Si on commence par la zone d’herbier de Spartine, on a le message d’avertissement suivant :
Sur le ROI des zostères on obtient le même avertissement. Par contre pour le ROI de sédiments il n’en est rien.
Nous avons donc nos trois ROIs correspondants à nos trois classes recherchées.
Explication du message d’avertissement
Le message d’avertissement est dû à une seule raison : lors du calcul de la matrice de covariances des valeurs des différentes bandes, on obtient une matrice singulière.
Une raison fréquente est que la zone du ROI correspondant est trop petite ou quelle est trop homogène.
Dans notre cas c’est un peu plus compliqué. Voyons le graphe des signatures spectrales de la classe « herbier »:
De la classe « zostère »:
Et de la classe « sédiment »:
Notre problème vient de la prise en compte de deux bandes, les numéros 12 et 15, où les valeurs pour les deux types d’herbier sont 0. Ce n’est pas le cas pour les sédiments.
Étant donné que la méthode de maximum de vraisemblance calcule une distribution gaussienne pour chaque bande, avec des valeurs de 0 cela devient impossible.
Nous avons donc le choix entre garder ces bandes et exclure dès maintenant l’utilisation de cet algorithme pour notre classification, ou bien éliminer ces bandes en entrée et de garder cette possibilité.
Comme nous disposons d’un nombre important de bandes, il peut être plus avisé d’en éliminer deux et garder la possibilité de l’algorithme de maximum de vraisemblance.
On peut même aller plus loin. Nous avons vu que l’utilisation des trois bandes RVB d’origine n’est pas vraiment discriminante. Nous pouvons donc essayer un traitement qui ne prenne pas non plus en compte ces trois bandes.
Classification basée sur seulement les dix bandes issues de r.texture
Chargement des bandes
Ce troisième traitement est réalisé à partir du chargement des dix bandes normalisées issues du traitement r.texture sur la bande verte de l’image d’origine. Nous excluons les bandes 12 et 15 correspondantes aux valeurs de r.texture DV et MOC-2 ainsi que les trois bandes RVB d’origine.
On retrouve alors un band set tel que le suivant :
Avec un rendu différent des précédents, car nous n’avons plus les trois bande visibles RGV.
Nous créons rapidement un fichier d’entrainement avec nos trois classes. Ce qui donne au niveau des données d’entrainement la configuration suivante:
Analyse des signatures spectrales
On charge les trois classes dans le Graphique de Signatures Spectrales du plugin SCP pour avoir une vue de la signature spectrale de chacune des classes.
Le but est d’avoir une idée d’en quelle mesure nous arriverons à discriminer les trois classes recherchées.
On ouvre la fenêtre de calcul des distances spectrales, comme lors du premier traitement :
L’ensemble des valeurs obtenus est bonne. Dans les distances de Jeffries-Matusita on voit que l’on peut utiliser l’algorithme de vraisemblance maximal, même pour discriminer les deux types d’herbier, avec une valeur de 1,79 (sur une échelle de 0 à 2). Les angles spectraux sont suffisamment éloignés pour pouvoir utiliser l’algorithme de calcul d’angle spectral. Les distances euclidiennes sont suffisamment grandes pour utiliser l’algorithme de distance minimal.
Maintenant que l’on a un band set adapté à nos objectifs, on pourrait commencer à affiner les critères de classification. Mais s’il y avait toujours un doute sur la discrimination d’une ou plusieurs classes, nous allons voir,dans le prochain article, une autre solution possible à de stade : l’utilisation de l’analyse en composantes principales.
Merci beaucoup pour avoir bien voulu partager des connaissances d’un très haut niveau.
Bon courage