Fonctionnement du lissage avec préservation des entités

Disponible avec une licence Spatial Analyst.

L’outil Lissage avec préservation des entités lisse un raster de surface en entrée, tel qu’un raster de modèle numérique d’élévation (MNE) ou un raster de modèle numérique de surface (MNS). Le raster obtenu est une version lissée du MNE d’origine duquel on a supprimé le bruit (comme les petites inégalités, les dépressions et les interruptions de pente à faible gradient) sans modifier de manière significative les autres entités de paysage.

L’outil comporte plusieurs paramètres en entrée qui permettent de contrôler le processus de lissage, comme la distance de voisinage en entrée, le seuil de différence de normale en entrée, le nombre d’itérations en entrée et le seuil de changement d’élévation maximal en entrée. Chacun de ces paramètres contrôle une perspective unique du processus de lissage ou de préservation des entités. Mais, il est souvent nécessaire de les combiner pour obtenir le lissage en sortie désiré.

Distance du voisinage

Le paramètre Neighborhood Distance (Distance du voisinage) définit la taille du voisinage utilisée par l’algorithme de lissage. Il peut être exprimé en nombre de cellules ou selon une distance sur la carte, en fonction du paramètre Distance Units (Unités de distance). Il se mesure entre le centre de la cellule de traitement actuelle et le centre d’un voisin orthogonal. La plus petite distance de voisinage autorisée est de 1 cellule (ou égale à la taille de cellule du raster en entrée si celle-ci est indiquée avec une valeur de distance), ce qui donne une fenêtre de 3 cellules sur 3.

Relation entre la distance de voisinage et le nombre de cellules de la fenêtre mobile
La relation entre la distance de voisinage (ligne orange) et le nombre de cellules de la fenêtre mobile est présentée. Pour une taille de cellule de 10 mètres, une distance de voisinage de 10 mètres utilisera une fenêtre de 3 cellules par 3. Une distance de voisinage de 20 mètres utilisera une fenêtre de 5 cellules par 5, et une distance de voisinage de 30 mètres utilisera une fenêtre de 7 cellules par 7.

Si la distance de voisinage spécifiée ne produit pas d’intervalle entier de la taille de cellule, elle est arrondie à l’intervalle supérieur suivant de la taille de cellule. Par exemple, pour une taille de cellule de 10 mètres, si une distance de voisinage de 19 mètres a été spécifiée, l’algorithme arrondira à l’intervalle supérieur suivant de la taille de cellule, à savoir 20 mètres (deux fois la taille de cellule), ce qui produit une fenêtre de 5 cellules par 5.

La taille du voisinage influe sur l’efficacité de l’algorithme de lissage. Un voisinage plus grand peut augmenter le niveau de lissage global de la sortie. Un voisinage plus petit permet de centrer davantage l’outil sur la variabilité locale dans le paysage, ce qui a pour effet de lisser les petites entités. Le bruit étant généralement un phénomène se produisant à petite échelle, la taille du voisinage doit être petite. Par exemple, une valeur de 5 pour le paramètre Neighborhood Distance (Distance de voisinage), qui produit une fenêtre de traitement de 11 cellules par 11, permet généralement de s’assurer que seul le bruit est lissé.

L’effet de la distance de voisinage
L’effet des distances de voisinage sur le lissage en sortie est présenté. De gauche à droite : la première image montre le raster de surface en entrée d’une résolution de 1 mètre ; la deuxième image montre la sortie avec une distance de voisinage de 2 cellules ; la troisième image montre la sortie avec une distance de voisinage de 5 cellules.

Seuil de différence de normale

Avec l’outil Lissage avec préservation des entités, l’algorithme de filtrage calcule la moyenne pondérée sur les vecteurs normaux et non sur les valeurs de cellules. Un vecteur normal est un vecteur 3D perpendiculaire au plan tangent à l’emplacement d’une cellule, avec une magnitude de 1. L’image suivante illustre un vecteur normal à une surface dans une vue en coupe transversale :

Vecteur normal à une surface
Une vue en coupe transversale montre un vecteur normal à une surface au point T.

L’outil calcule un champ de vecteur normal pour toutes les cellules dans le voisinage de la cellule de traitement actuelle. Une différence de normale est définie comme étant l’angle formé entre le vecteur normal de la cellule de traitement actuelle et le vecteur normal d’une cellule voisine. L’image suivante montre un exemple de champ de vecteur normal et de différence de normale :

Champ de vecteur normal et différence de normale
Le champ de vecteur normal pour un exemple de voisinage de 5 par 5 est affiché. Le sous-ensemble illustre une instance de la différence de normale (θ) entre la cellule actuelle (violet) et une cellule voisine (vert).

Toutes les cellules voisines ne seront pas utilisées dans le filtrage. Le paramètre Normal Difference Threshold (Seuil de différence de normale) est utilisé par l’algorithme de filtrage pour déterminer quelles cellules voisines sont utilisées - seules les cellules dont la différence de normale avec la cellule actuelle est inférieure à la valeur de ce paramètre seront utilisées.

Le paramètre Normal Difference Threshold (Seuil de différence de normale) représente un seuil de préservation de déclivité des tronçons. Les tronçons des entités qui sont plus plats que cette valeur peuvent être lissés. Les tronçons des entités dont la déclivité est supérieure à cette valeur sont préservés. Dans la plupart des cas, il convient de spécifier une valeur faible (comme 15 degrés ou moins) pour ce paramètre afin de s’assurer que seules les entités plates sont lissées.

L’effet du seuil de différence de normale
L’effet du seuil de différence de normale sur les tronçons des entités en sortie est présenté. De gauche à droite : la première image montre le raster de surface en entrée d’une résolution de 1 mètre ; la deuxième image montre la sortie avec un seuil de différence de normale de 5 degrés ; la troisième image montre la sortie avec un seuil de différence de normale de 30 degrés.

Nombre d’itérations

Plusieurs itérations du processus de lissage peuvent être nécessaires pour atteindre le degré de lissage en sortie requis. Spécifier une valeur supérieure à 1 pour le paramètre Number of Iterations (Nombre d’itérations) permet à l’outil de répéter le processus de lissage plusieurs fois.

L’’augmentation du nombre d’itérations améliorera le lissage du raster en sortie, au prix d’un temps de traitement plus grand. Dans la plupart des cas, une valeur faible (telle que 3) donnera de bons résultats.

L’effet du nombre d’itérations
L’effet obtenu sur le lissage en sortie lorsque l’on augmente le nombre d’itérations est présenté. De gauche à droite : la première image montre le raster de surface en entrée d’une résolution de 1 mètre ; la deuxième image montre la sortie après une itération ; la troisième image montre la sortie après cinq itérations.

Changement d’élévation maximal

Le paramètre Maximum Elevation Change (Changement d’élévation maximal) vous permet de définir le changement maximal autorisé des valeurs de cellules au cours d'une itération.

Ce paramètre constitue un seuil pour les changements de hauteur des entités. Les entités dont la hauteur est inférieure à cette valeur peuvent être lissées. Les entités dont la hauteur est supérieure à cette valeur sont préservées. Dans la plupart des cas, il convient de spécifier une valeur faible (comme 0,5 mètre) pour ce paramètre afin de garantir que seules les entités de faible hauteur sont lissées.

L’effet du changement d’élévation maximal
L’effet du changement d’élévation maximal sur la préservation des entités est présenté. De gauche à droite : la première image montre le raster de surface en entrée d’une résolution de 1 mètre ; la deuxième image montre la sortie avec un changement d’élévation maximal de 0,05 mètre ; la troisième image montre la sortie avec changement d’élévation maximal de 1,0 mètre.

Algorithme de lissage avec préservation des entités

L’outil Lissage avec préservation des entités repose sur une approche de vecteur normal 3D qui lisse les rasters MNE (voir Lindsay et al, 2019).

Pour une cellule données, un vecteur normal 3D, n = (a, b, c) est un vecteur perpendiculaire au plan tangent à l’emplacement d’une cellule. Le plan est défini par l’équation suivante :

ax + by + cz + d = 0

L’outil calcule d’abord un vecteur normal pour chaque cellule dans le voisinage de la cellule actuelle.

L’outil calcule ensuite, pour la cellule actuelle, la moyenne pondérée des vecteurs normaux des cellules voisines. La pondération pour une cellule voisine j est déterminée comme suit :

Si θj est inférieur à θt, l’équation suivante s’applique :

Équation de pondérations

  • Où :

    θj est la différence de normale entre la cellule actuelle et la cellule voisine j

    θt est le seuil de différence de normale

Si θj est supérieur ou égal à θt, alors Wj = 0, ce qui exclut la cellule voisine j de la moyenne pondérée.

Enfin, le vecteur normal de surface lissée est utilisé pour dériver une nouvelle valeur de hauteur à l’emplacement de la cellule actuelle en substituant a, b, et c dans la première équation et calculer la valeur z.

Lorsque la nouvelle valeur z est utilisée pour mettre à jour la valeur à l’emplacement de la cellule, elle est comparée à la valeur d’élévation d’origine à cet emplacement. Si la différence n’est pas supérieure à la valeur du paramètre en entrée Maximum Elevation Change (Changement d’élévation maximal), la nouvelle valeur z est utilisée. Dans le cas contraire, la valeur d’élévation d’origine est conservée. Le processus de lissage est répété selon le nombre d’itérations défini par la valeur du paramètre en entrée Number of Iterations (Nombre d’itérations).

Utiliser un GPU

Cet outil propose des performances accrues si un certain matériel GPU est installé sur votre système. Reportez-vous à la rubrique Traitement GPU avec Spatial Analyst pour en savoir plus sur la prise en charge, la configuration et l’activation de cette fonctionnalité.

Bibliographie

Lindsay, John B., Anthony Francioni et Jaclyn M. H. Cockburn. 2019. "LiDAR DEM Smoothing and the Preservation of Drainage Features." Remote Sensing 11, Number 16, 1926. https://doi.org/10.3390/rs11161926

Sun, Xiangfang, Paul L. Rosin, Ralph Martin et Frank Langbein. 2007. "Fast and effective feature-preserving mesh denoising." IEEE Transactions on Visualization and Computer Graphics Volume 13, Issue 5. pp. 925–938. https://doi.org/10.1109/TVCG.2007.1065

Rubriques connexes