Classification supervisée d’images de drone en milieu littoral (3) : statistiques descriptives de texture

Dans l’article précédent (https://www.sigterritoires.fr/index.php/classification-supervisee-dimages-de-drone-en-milieu-littoral-2-calculs-de-texture/) nous avons vu deux groupes de mesure de texture, celui du contraste et celui de l’ordre. Nous verrons ici le troisième et dernier groupe, celui des statistiques descriptives

Groupe de statistiques descriptives de la mesure de texture GLCM

Le troisième groupe de mesures de la texture utilise des équations semblables à celles des statistiques descriptives courantes, comme la moyenne ou l’écart-type (ou la variance). Cependant, tous sont calculés en utilisant les entrées dans la GLCM, pas les valeurs de pixels d’origine.

L’important est d’être clair lorsque vous utilisez un logiciel et que vous calculez la GLCM, pas la statistique de premier ordre.  De nombreux programmes contiennent également des algorithmes pour calculer la statistique du premier ordre, c’est-à-dire directement sur les valeurs des pixels d’origine.

Soyez clair lorsque vous rédigez un rapport en vous assurant que votre terminologie est toujours claire afin que le lecteur comprenne que vous utilisez la statistique de la GLCM.

Malheureusement, dans le manuel d’utilisation de r.texture de Grass 7, ce n’est pas le cas.

En effet on retrouve des mesures de texture correspondantes à « First-order statistics in the spatial domain » et à « Second-order statistics in the spatial domain ».  Comme nous l’avons expliqué plus haut, au début du chapitre « Matrice de co-occurrence de niveau gris (GLCM) », la différence entre le premier et deuxième ordresest tout simplement le support de calcul : les statistiques de premier ordre sont faites à partir des valeurs individuelles des pixels (l’image d’origine) et les statistiques de deuxième ordre sont celles réalisées à partir de la GLCM (les fréquences de paires de pixels).

Mais dans le manuel d’utilisation cette notion est différente. Les deux types d’ordre utilisent la matrice GLCM. D’ailleurs comme il est dit sur la fiche, l’ensemble des variables de calcul de texture implémentées se réfèrent à celles décrites par Haralick et al (d’après Jensen 1996). Vous pouvez accéder à ce document à l’adresse http://haralick.org/journals/TexturalFeatures.pdf .

La phrase « Note that measures « mean », « kurtosis », « range », « skewness », and « standard deviation » are available in r.neighbors. » (Notez que les mesures « moyenne », « kurtosis », « range », « skewness », et « écart-type » sont disponibles dans r.neighbors.), placée dans le chapitre « First-order statistics in the spatial domain » ajoute à la confusion. Les méthodes présentes dans le traitement r.neighbors se réfèrent bien à des statistiques de premier ordre, calculées sur les valeurs des pixels d’origine de l’image et non de la matrice GLCM.

Moyenne

La moyenne GLCM n’est pas simplement la moyenne de toutes les valeurs de pixels originales dans la fenêtre d’image. Elle est exprimée en termes de GLCM. La valeur de pixel est pondérée non pas par sa fréquence d’occurrence par elle-même (comme dans une équation moyenne « régulière » ou familière) mais par sa fréquence d’occurrence en combinaison avec une certaine valeur de pixel voisine.

L’équation calcule la moyenne sur la base des pixels de référence, μi. Il est également possible de calculer la moyenne en utilisant les pixels voisins, μj. Pour la GLCM symétrique, où chaque pixel de la fenêtre est compté une fois comme référence et une fois comme voisin, les deux valeurs sont identiques.

Voyons quelques éléments importants pour bien comprendre le fonctionnement des calculs.

La somme (S) est de 0 à (N-1), pas de 1 à N. Puisque la première cellule en haut à gauche de la GLCM est numérotée (0,0), et non (1,1), la valeur de i (0) de cette cellule est la même que la valeur du pixel de référence (0). De même, la seconde cellule en bas à partir du haut a une valeur de i de 1, et une valeur de pixel de référence de 1. Si ce n’est pas clair, retournez en arrière et regardez l’exemple de GLCM.

La valeur Pij est la valeur de probabilité de la cellule de la GLCM, c.-à-d. combien de fois cette valeur de référence se produit dans une combinaison spécifique avec un pixel voisin. Ce n’est pas une mesure du nombre de fois que le pixel de référence se produit, qui serait la moyenne « régulière » de premier ordre pour la fenêtre d’origine. La moyenne de premier ordre est un outil permettant de lisser une image pour supprimer le bruit aléatoire et de dégrader systématiquement la résolution spatiale.

Multiplier i par Pij divise effectivement l’entrée i par la somme des entrées dans la GLCM, qui est le nombre de combinaisons dans la fenêtre d’origine. C’est la même chose que lors du calcul d’une moyenne de manière « habituelle ». Si ce n’est pas clair, examinez plus haut comment Pij est calculée. La moyenne GLCM pour la GLCM horizontale est différente de celle pour la GLCM verticale car les combinaisons de pixels sont différentes dans les deux cas. Si vous utilisez une mesure de texture « non-directionnelle », le logiciel calculera simplement les deux et fera la moyenne.

Variance et Déviation standard

Le calcul de la variance GLCM suit la formule

Tandis que la Variance est calculée avec

La variance dans la texture représente la même chose que dans la statistique descriptive commune appelée variance. Il repose sur la moyenne et la dispersion autour de la moyenne, des valeurs des cellules dans la GLCM. Cependant, la variance GLCM utilise la GLCM, donc elle traite spécifiquement des combinaisons de pixel de référence et de pixel voisin, donc elle n’est pas la même que la simple variance des niveaux de gris dans l’image originale.

La variance calculée en utilisant i ou j donne le même résultat, puisque la GLCM est symétrique. Il n’y a aucun avantage particulier à utiliser l’écart-type sur la variance, autre qu’une plage de valeurs différente.

La Variance est une mesure de la dispersion des valeurs autour de la moyenne. Elle est similaire au contraste ou à la dissimilarité. Il répond à la question « Quelle est la dispersion de la différence entre la référence et les pixels voisins dans cette fenêtre ? » Il n’est pas intuitivement évident visuellement de ce que cela pourrait signifier. Il n’est pas évident non plus, en regardant une image, d’imaginer comment la variance de la GLCM se comportera. Elle semble avoir des valeurs assez différentes pour différentes textures, cependant, et peut donc très bien remplir la fonction de discriminer les classes avec différentes textures lors de la classification supervisée. Il n’y a aucun moyen de savoir à l’avance si les catégories d’intérêt dans un cas particulier seront distinguées les unes des autres par la variance de GLCM, donc l’essai et l’erreur sont à l’ordre du jour…

Corrélation

La texture de corrélation mesure la dépendance linéaire des niveaux de gris sur ceux des pixels voisins.

Elle est calculée par

Pour la matrice symétrique, le dénominateur ci-dessus se réduit à la variance (sigma au carré).

La corrélation entre les pixels signifie qu’il existe une relation prévisible et linéaire entre les deux pixels voisins dans la fenêtre, exprimée par l’équation de régression.

Prenons un exemple : Supposons qu’il existe une corrélation très élevée entre le pixel de référence et le pixel voisin, exprimée par n=2r+2, où n est la valeur du pixel voisin et r celle de la référence. Par conséquent, si r=1, n est très susceptible d’être égal à 4 ; si r=4, n=10, etc.

Une texture à forte corrélation signifie une grande prévisibilité des relations de pixels. Ceci donne lieu à quelques propriétés intéressantes de corrélation :

Les tâches individuelles d’une couverture de sol particulière ont généralement une valeur de corrélation plus élevée à leur intérieure qu’avec les objets adjacents.

Les pixels sont généralement plus fortement corrélés avec les pixels proches qu’avec les pixels plus éloignés (auto-corrélation spatiale). D’où l’observation suivante : les petites tailles de fenêtre auront généralement une valeur de corrélation plus élevée que les grandes fenêtres.

Si la corrélation est calculée successivement pour des tailles de fenêtre grandissantes, la taille à laquelle la valeur de corrélation décline peut être prise comme une indication approximative de la taille des objets définissables dans une image. Cela ne fonctionne que si tous les objets de l’image sont à peu près semblables en tailles.

Souvent, des classes différentes (par exemple, des couvertures de sol) sur une image auront des zones (objets) de tailles différentes, par exemple des prairies et des lacs.

Les personnes familières avec les semi-variogrammes verront une ressemblance avec les informations fournies par eux et par la corrélation GLCM.

La corrélation est un calcul très différent des autres mesures de texture décrites avant. En conséquence, elle est indépendante d’elles (donne des informations différentes) et peut souvent être utilisée de manière efficace en combinaison avec les autres mesures de texture.

Quelques derniers conseils

La texture est une statistique descriptive, sans valeurs figées qui peuvent être transférées d’une situation à l’autre. Autrement dit, il est impossible de dire « les forêts ont toujours des valeurs de contraste entre 0,5 et 0,7 ».

Elle est principalement utile pour comparer une partie d’une image à une autre. Si plus d’une image doit être incluse (peut-être par mosaïquage), toutes les corrections radiométriques habituelles doivent être effectuées avant le mosaïquage, et la texture doit seulement ensuite être exécutée. Toutes les mises en garde habituelles de l’analyse d’images multiples doivent être prises en considération : les images analysées doivent être équivalentes radiométriquement, en ce qui concerne l’angle du soleil, et phénologiquement en ce qui concerne les phénomènes du sol cycliquement variables.

Il est également important de se rendre compte que l’analyste doit prendre un certain nombre de décisions avant de commencer l’analyse de la texture, s’il veut être le plus efficace pour répondre à la question posée et éviter les erreurs d’interprétation. Certains d’entre eux, et des conseils pour les meilleures pratiques, sont énumérés ci-dessous.

Les textures peuvent être calculées en utilisant une seule bande de données à la fois.

  • De nombreuses mesures de texture différentes peuvent être calculées pour chaque bande
  • Les informations de bande peuvent être consolidées à l’aide d’un index (par exemple NDVI), de composants principaux (PCA) ou d’une autre méthode avant d’exécuter une mesure de texture.
  • Les mêmes mesures de texture peuvent être calculées pour plus d’une bande
  • Trois mesures de texture peuvent être visualisées simultanément à l’aide de l’outil affichage rgb mais l’analyse numérique ne se limite généralement pas à l’utilisation de trois bandes seulement
  • Il est possible d’utiliser le résultat d’une analyse en composantes de nombreuses images de texture, mais le résultat est très difficile à interpréter.

Les images de texture sont des bandes d’image (trames) avec une valeur pour chaque pixel.

  • Les images de texture peuvent être utilisées seules ou avec d’autres données pour définir des signatures pour une classification supervisée ou non supervisée.
  • Les images de texture (bandes) peuvent être utilisées dans les classifications.
  • La sortie de texture doit être placée dans un canal 32bits, au moins au début. Il peut ensuite être redimensionné en un bande de 8 bits.
  • La valeur numérique réelle d’une mesure de texture est sans importance pour la plupart des besoins. Le plus important est de savoir si elle est relativement élevée ou relativement faible par rapport aux autres zones de l’image, et sa relation avec les mêmes valeurs de mesure de texture ailleurs sur l’image.

Les textures sont calculées dans une fenêtre, une petite région de l’image. 

L’image de test utilisée dans cette série d’articles considère l’image entière comme la zone contribuant à la texture. Pour les images plus grandes, une fenêtre est choisie pour définir cette zone. Cette fenêtre est, en pratique, carrée et avec des longueurs latérales impaires. En théorie, une fenêtre peut être de n’importe quelle dimension, mais encore une fois, des problèmes de calcul pratiques se posent pour des tailles paires et des formes non carrées de fenêtres.

La taille relative de la fenêtre et des objets dans l’image déterminera l’utilité de la mesure de texture pour la classification.

On s’attend à ce que différents objets aient des mesures de texture caractéristiques différentes. Pour mettre cela en évidence, la fenêtre doit être plus petite que l’objet, mais assez grande pour couvrir la variabilité caractéristique de l’objet.

Les fenêtres utilisées pour la texture, comme celles utilisées avec les filtres, ont toujours un « effet de bord » où la fenêtre chevauche la bordure entre les objets distincts sur l’image.

Dans le prochain article nous allons voir, en pratique, comment calculer les différentes mesures de texture avec QGis et le traitement Grass 7 r.texture.

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 *