Tutoriel classification d’images avec ArcMap: 4-Post-traitement des classifications

L’image classée créée par l’outil Classification de vraisemblance maximale peut classer de manière incorrecte certaines cellules (bruit aléatoire) et créer de petites régions incorrectes. Pour améliorer la classification, vous pouvez reclasser ces cellules dans une classe ou un cluster avoisinant. Les techniques les plus courantes de nettoyage d’une image classée sont le filtrage, le lissage des limites de classe et la suppression de petites régions isolées. La carte résultant de l’application des outils de nettoyage des données est plus esthétique.

1-Filtrage de la sortie classée

Ce processus supprime les pixels isolés de l’image classée. Il est effectué par l’outil Filtre majoritaire ou l’outil Statistiques focales avec Majorité comme type de statistiques. La différence entre les deux outils est que l’outil Filtre majoritaire présuppose un voisinage carré de 3 x 3 pendant le traitement, alors que l’outil Statistiques focales prend en charge davantage de types (anneau ou cercle, par exemple) de voisinage

Ce processus de filtrage supprime les pixels isolés, ou bruit, de la sortie de classification.

L’outil remplace les cellules d’un raster selon la valeur de majorité des cellules voisines contiguës

Utilisation de Filtre Majoritaire

  • L’outil Filtre majoritaire
    doit satisfaire deux critères avant qu’un remplacement puisse avoir
    lieu. Le nombre de cellules voisines d’une valeur similaire doit être
    suffisamment élevé (il doit représenter la majorité, la moitié ou la
    totalité des cellules) et ces cellules doivent être contiguës au centre
    du noyau du filtre. Le deuxième critère lié à la connectivité spatiale
    des cellules permet de minimiser l’endommagement des structures
    spatiales cellulaires.
  • L’utilisation
    de la valeur quatre pour définir le nombre de voisins permet de
    conserver les angles des régions rectangulaires. L’utilisation de huit
    voisins permet de lisser les angles des régions rectangulaires.
  • Si
    le nombre de voisins est défini sur huit, le terme « contigu » est défini
    comme le partage d’un tronçon. Si le nombre de voisins est défini sur
    quatre, le terme « contigu » est défini comme le partage d’un angle.
  • Si le seuil de remplacement est défini sur HALF
    et que deux valeurs ont des portions égales, aucun remplacement n’a
    lieu si la valeur de la cellule de traitement est la même que celle
    d’une des moitiés. L’option HALF permet un filtrage plus intensif que l’option MAJORITY.
  • Bien
    que le critère de contiguïté soit le même pour les cellules raster des
    tronçons et des angles, elles obéissent à des règles différentes pour MAJORITY et HALF.
    Lorsque le nombre de voisins à utiliser est de quatre, une cellule de
    tronçon ou d’angle nécessite toujours deux voisins correspondants pour
    que le remplacement puisse avoir lieu. Avec huit voisins, tous les
    voisins d’une cellule d’angle doivent avoir la même valeur pour qu’elle
    soit modifiée, alors que pour une cellule de tronçon, seuls trois
    voisins contigus, dont un le long du tronçon, sont nécessaires pour
    qu’un changement ait lieu.
  • Le raster en sortie se stabilise (ne change plus) après quelques exécutions du Filtre majoritaire.

Dans le workflow de post-classification, cette tâche est la première d’une série d’étapes de traitement.

  1. Pour localiser l’outil, cliquez sur le bouton fenêtre Recherche de la barre d’outils Standard.
  2. Dans la fenêtre Recherche, saisissez filtre majoritaire puis appuyez sur Entrée.
  3. Dans les résultats des recherches, cliquez sur l’élément Filtre majoritaire. L’outil Filtre majoritaire s’ouvre.
  4. Dans la boîte de dialogue de l’outil, définissez l’image classée en tant que Raster en entrée. Acceptez les paramètres par défaut pour les autres paramètres.
  5. Cliquez sur OK pour exécuter l’outil.

Voici un exemple de filtrage. Le premier graphique est une image brute provenant d’une analyse de classification. La seconde est la même image après filtrage. Comme vous pouvez le voir, une grande partie du bruit a été supprimée.

Image non filtrée

La seconde est la même image après filtrage. Les paramètres de l’outil sont 4 voisins et Majorité.Comme vous pouvez le voir, une grande partie du bruit a été supprimée.

Image filtrée: paramètres 4 et Majorité

La troisième image est le résultat de l’outil en modifiant le paramètre de voisinage de 4 à 8, avec toujours l’option Majorité.

Image filtrée: paramètres 8 et Majorité

La dernière image est le résultat de l’outil en modifiant le paramètre de filtrage en Moitié (half) tout en gardant le nombre de voisins à 4.

Image filtrée: paramètres 4 et Moitié

2-Lissage de limites de classe

L’outil Nettoyage de limites regroupe les classes et lisse les tronçons irréguliers des classes. L’outil fonctionne en développant puis en réduisant les classes. Il augmente la cohérence spatiale de l’image classée. Les régions adjacentes peuvent être connectées.

Utilisation de Nettoyage des limites

  • Toutes les régions de moins de trois cellules dans la direction x ou y sont modifiées.
  • Deux
    processus de lissage sont disponibles. Ils diffèrent dans le nombre de
    sessions d’expansion-contraction. Avec le paramètre activé par défaut Exécuter deux fois l’expansion et la contraction (TWO_WAY
    dans Python), la session d’expansion-contraction visant à lisser les
    valeurs de cellule en entrée est réalisée deux fois, tandis que lorsque
    l’option n’est pas activée (ONE_WAY dans Python), elle n’est réalisée qu’une seule fois.Lors
    de la première session pour les deux techniques, si des cellules de
    traitement figurant dans le raster développé comporte un voisin de la
    valeur initiale de la cellule de traitement, cette valeur initiale est
    rétablie. En outre, dans l’opération de contraction de la deuxième
    session dans le cadre de l’option à deux sessions, les cellules dans le
    raster développé qui ne sont pas entièrement entourées par huit cellules
    de même valeur récupèrent la valeur initiale.
  • L’expansion est identique pour le premier et deuxième passage.
  • Les
    cellules en entrée dotées de la valeur NoData ont la priorité la plus
    faible dans le type de tri à une session, ou dans la première session du
    tri à deux sessions. Lors d’une deuxième session du tri à deux
    sessions, les cellules NoData ont la priorité la plus élevée

Pour exécuter l’outil:

  1. Ouvrez la fenêtre Recherche en cliquant sur le bouton fenêtre Recherche de la barre d’outils Standard.
  2. Dans la fenêtre, tapez Nettoyage de limites puis appuyez sur Entrée.
  3. Dans les résultats des recherches, cliquez sur Nettoyage de limites. Cela ouvre l’outil Nettoyage de limites.
  4. Dans la boîte de dialogue de l’outil, définissez la sortie filtrée (ou la sortie de tout autre traitement) en tant que Raster en entrée. Choisissez Croissant comme Méthode de tri. Désactivez le paramètre optionnel Exécuter deux fois l’expansion et la contraction.
  5. Cliquez sur OK pour exécuter l’outil.

Voici
un exemple de la sortie une fois les limites de classe lissées. La
première image est un zoom agrandi sur une zone d’une image classée. La
deuxième image est la même zone après exécution de l’opération de
nettoyage de limites. Comme vous pouvez le voir, la limite est lissée
dans la seconde image. Certaines régions adjacentes sont connectées.

Zoom agrandi sur une section d’image avant le processus de nettoyage de limites :

Après le nettoyage de limites :

3-Généralisation de la sortie en supprimant de petites régions isolées

Après
le processus de filtrage et de lissage, l’image classée doit être
beaucoup plus propre qu’avant. Toutefois, il peut subsister quelques
petites régions sur l’image classée. Le processus de généralisation
nettoie davantage l’image en supprimant ces petites régions de l’image.
Il s’agit d’un processus multi-étape qui implique plusieurs outils
Spatial Analyst.

  1. Exécutez l’outil Groupes par régions avec l’image classée pour affecter des valeurs uniques à chaque région sur l’image.
  2. Ouvrez la table attributaire de la nouvelle couche raster créée par l’outil Groupes par régions. Utilisez le nombre de pixels pour identifier le seuil de petites régions à supprimer.
  3. Créez un raster de masque pour les régions à supprimer. Pour ce faire, exécutez l’outil SetNull pour définir les régions avec de petits nombres de pixels sur une valeur Null.
  4. Exécutez l’outil Grignotage sur l’image classée. Utilisez le raster de masque créé à partir de l’outil SetNull de l’étape précédente comme Masque raster en entrée. Il fusionne les petites régions de l’image en sortie.

Ce
processus supprime de petites régions isolées d’une image classée. Les
régions de taille supérieure à un certain nombre de pixels restent sur
l’image. Les outils Groupes par régions, SetNull et Grignotage permettent d’accomplir cette tâche.

Outil Groupes par région

Pour chaque cellule en sortie, l’identité de la région connectée à
laquelle appartient la cellule est enregistrée. Un numéro unique est
attribué à chaque région.

Utilisation

  • La première région analysée reçoit la valeur un, la deuxième, la valeur deux, etc., jusqu’à ce qu’une valeur soit affectée à toutes les régions. Le balayage s’effectue de gauche à droite, de haut en bas. Les valeurs affectées aux zones en sortie dépendent du moment où elles sont détectées par le processus d’analyse.
  • Par défaut, l’option Ajouter un champ de liaison en sortie est activée. Celle-ci crée un élément appelé LINK dans la table attributaire du raster en sortie, qui conserve la valeur originale pour chaque cellule du raster en entrée.
  • Le champ LINK permet de tracer l’ascendance de chacune des régions nouvellement créées pour les requêtes ou aux fins d’analyse.Par exemple, la table attributaire associée au raster en sortie de l’illustration ci-dessus est la suivante :Exemple d’élément LINK dans la table attributaire
  • Le traitement est sensiblement accéléré si le champ LINK n’est pas créé. Si la valeur d’origine de chaque région n’est plus nécessaire, décochez cette option.

Outil SetNull

L’outil SetNull définit les emplacements de cellule identifiés sur la valeur NoData en fonction des critères indiqués. Il renvoie une valeur NoData si une évaluation conditionnelle est vraie et renvoie la valeur spécifiée par un autre raster si celle-ci est fausse.

Outil Grignotage (Nibble)

La fonction Grignotage permet aux zones sélectionnées d’un raster de se voir attribuer la valeur du voisin le plus proche. Cela est utile pour mettre à jour les zones d’un raster où les données sont erronées.

D’abord, l’algorithme détermine toutes les zones du raster de masque contenant la valeur NoData. Les zones correspondantes du raster en entrée seront grignotées. Ensuite, une allocation euclidienne interne est effectuée pour attribuer les valeurs aux cellules masquées en fonction de la distance euclidienne.

Exécution des trois outils

Dans le workflow de post-classification, cette tâche doit être exécutée après les étapes de filtrage et de lissage de limite des classes.

  1. Ouvrez la fenêtre Recherche en cliquant sur le bouton fenêtre Recherche de la barre d’outils Standard.
  2. Recherchez l’outil Groupes par régions et ouvrez-le en cliquant dessus dans les résultats de recherche.
  3. Exécutez l’outil à l’aide de l’image classée comme raster en entrée. Attribuez un nom parlant à la sortie, par exemple regiongroup_out.tif.
  4. Dans ArcMap, ouvrez la table attributaire de la sortie de l’outil Groupes par régions.
    Examinez le champ Total et essayez d’identifier toutes les régions
    comptant un nombre relativement petit de pixels et prenez-en note. Ces
    régions seront supprimées lorsque toutes les étapes seront terminées.
  5. Recherchez et ouvrez l’outil SetNull (reportez-vous aux étapes 1 et 2).
  6. Dans la boîte de dialogue de l’outil, définissez la sortie issue de l’étape 3 (par exemple, regiongroup_out.tif) en tant que Raster de condition en entrée. Dans la zone Expression, saisissez une expression identifiant le seuil, tel que Total < 40
    (le nombre 40 dans cet exemple représentant le total minimal de pixels.
    Vous pouvez spécifier un nombre différent). Saisissez la valeur 1 dans le paramètre Raster de valeurs fausses. Donnez un nom approprié (par exemple, nibble_mask.tif) à la sortie. Cliquez sur OK pour exécuter l’outil.
  7. Recherchez et ouvrez l’outil Grignotage (reportez-vous aux étapes 1 et 2).
  8. Dans la boîte de dialogue de l’outil, spécifiez l’image classée en tant que Raster en entrée. Spécifiez la sortie issue de l’étape 6 (nibble_mask.tif dans cet exemple) comme Masque raster en entrée. Acceptez les valeurs par défaut des autres paramètres.
  9. Cliquez sur OK pour exécuter l’outil.Les
    petites régions comptant un total de pixels inférieur au seuil
    sélectionné (40 dans cet exemple) doivent disparaître, par fusion selon
    les valeurs de cellule environnantes les plus proches.

Les
images suivantes illustrent un exemple de sortie généralisée. La
première est l’image initiale, la seconde affiche le résultat après
généralisation. Comme vous pouvez le constater, de nombreuses petites
régions ont été fusionnées.

Image avant généralisation :

Image après généralisation :

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 *