A quoi sert le ré-échantillonnage de Lanczos dans un contexte spatial?

46

GDAL comprend une méthode de ré-échantillonnage allant au-delà du mélange normal de voisins, bilinéaires, cubiques et splines: "rééchantillonnage sinc de Fenzos fenêtré". Je comprends que c’est un filtre de convolution, mais contrairement aux images où les résultats tendent à être subjectifs, le ré-échantillonnage utilisé pour les données spatiales a d’autres implications. Qu'est-ce que Lanczos et en quoi son utilisation affecte-t-elle la sortie?

scw
la source
4
C'est une copie exacte de stackoverflow.com/questions/1854146/… qui a une bonne réponse.
whuber
La section 4 d'un document de Claude Duchon de 1979 peut être utile.
whuber

Réponses:

72

Qu'est-ce que le ré-échantillonnage de Lanczos?

Bien que la théorie soit décrite dans un article précédent et dans l'article de Wikipedia , il est préférable d'obtenir un "ressenti" pour les méthodes de ré-échantillonnage en les calculant sur des images simples ou standard. Cela peut être un sujet vaste, nécessitant une expérimentation poussée, mais quelques simplifications sont disponibles:

  • Ces opérateurs travaillent séparément dans chaque canal de couleur. Il suffit donc d’étudier comment ils travaillent sur une image monochromatique ("noir et blanc").

  • La plupart des opérateurs de convolution utilisés dans le traitement des images fonctionnent de la même manière dans les directions x et y et indépendamment dans les deux directions. En réalité, ce sont en fait des opérateurs unidimensionnels appliqués d'abord aux lignes, puis aux colonnes. Cela signifie que nous pouvons les étudier en étudiant les images "1D", qui peuvent être tracées en détail.

  • Tout ce que nous devons savoir sur un opérateur linéaire (qui inclut tous les opérateurs de convolution) peut être déduit de la façon dont un opérateur travaille sur la plus simple image non constante de toutes: il s'agit d'un saut soudain d'une valeur à une autre.

Regardons une illustration de plusieurs méthodes de rééchantillonnage populaires. En fait, nous avons besoin de deux illustrations: l’une pour montrer ce qui se passe dans le «sous-échantillonnage», où la nouvelle image est plus grossière que l’ancienne, et l’autre pour examiner le «suréchantillonnage», où les nouvelles images sont le raffinement de l’ancienne. Commençons par ce dernier, car il montre plus de détails.

Suréchantillonnage

Rééchantillonnage de 7 à 80 cellules sous forme d'images

L'image originale 7 sur 7 à gauche est vraiment unidimensionnelle car chaque ligne est la même. Le rééchantillonnage se produit sur les colonnes. La dimension des cinq autres images est de 80 sur 80, montrant en détail comment chaque méthode s’interpole entre les pixels grossiers d’origine. L'échantillonnage du voisin le plus proche conserve la division nette entre l'obscurité et la lumière tandis que les quatre autres méthodes brouillent la région intermédiaire dans une certaine mesure. Notamment, le ré-échantillonneur Lanczos crée des régions plus sombres que celles de l’original et d’autres plus claires que d’autres. (Cela peut avoir des implications pour le travail sur les SIG, car une telle extrapolationdes valeurs d'origine peut potentiellement rendre les nouvelles valeurs invalides. Ils peuvent également s'étendre au-delà de la plage de la palette de couleurs d'origine, entraînant parfois un rendu incorrect des valeurs extrêmes dans l'image de rééchantillonnage. Ceci est un problème avec le rééchantillonnage de convolution bicubique dans ArcGIS, par exemple.)

(Remarque: la méthode "bicubique" présentée ici est une spline bicubique et non la "convolution bicubique" d'ArcGIS.)

L'utilisation de la légèreté pour représenter les valeurs d'une image, bien que naturelle, n'est pas très précise. L'illustration suivante corrige ce problème en représentant graphiquement les valeurs de cellule (axe vertical) par colonne (axe horizontal).

Rééchantillonnage de 7 à 80 cellules en parcelles

Les valeurs les plus basses sur les graphiques correspondent aux parties les plus sombres des images. Un examen attentif de l'original révèle une hypothèse cachée: bien que l'image d'origine ressemble à un saut brusque de noir à clair, le saut se produit en réalité sur un septième (1/7) de l'étendue des colonnes. Qui peut dire ce qui se passe réellement dans cet intervalle de la scène originale que l'image représente? Il ne faut donc pas trop critiquer les différences entre les méthodes de rééchantillonnage qui se produisent dans cet intervalle court: chacune d’elles donne un rendu différent mais potentiellement tout aussi valable de ce qui pourrait se passer dans la scène originale. En ce sens, il n’est plus apparent que l’échantillonnage par le plus proche voisin est la méthode d’interpolation la plus fidèle.

Une conclusion à tirer est que la précision de toute méthode de suréchantillonnage dépend de la nature de la scène sous-jacente . Si la scène se compose de valeurs qui devraient varier en douceur d’un point à l’autre, la méthode du voisin le plus proche sera probablement la méthode de rééchantillonnage la moins fidèle parmi celles présentées.

Sous-échantillonnage

Images sous-échantillonnées

Nous voyons ici le résultat du sous-échantillonnage d’une image 16 sur 16 à une image 8 sur 8 (agrégation 2 sur 2). Le voisin le plus proche conserve avec précision la limite nette. Lanczos se distingue des autres en améliorant la netteté apparente. Un examen attentif montre qu'il assombrit la zone sombre d'un côté de la limite et éclaircit la zone claire de l'autre côté. Les graphiques clarifient ceci:

Graphes d'images sous-échantillonnées

Les ré-échantillonneurs bilinéaires, bicubiques et gaussiens présentent les caractéristiques des opérateurs de convolution qui ont tous des poids positifs (ou de très faibles poids négatifs): ils ont une moyenne ou un "frottis" des valeurs voisines. En sous-échantillonnage, cela rend les fonctions nettes floues. L'étendue du flou dépend de la largeur du noyau. Comme ces derniers, le ré-échantillonneur Lanczos est également flou, mais il le "surpasse" des deux côtés. C'est l'amélioration du contraste vue juste au-dessus dans les images elles-mêmes. En raison de cette tendance à augmenter le contraste (les différences locales entre les hauts et les bas de l'image), le ré-échantillonneur Lanczos est souvent appelé un "filtre de netteté". Ces graphiques montrent que cette caractérisation nécessite une compréhension nuancée, car il est évident que cela ne réduit pas la moyenne des valeurs des deux côtés du saut. Au pixel 4, sa valeur de 0,56 est comparable aux valeurs calculées par les autres filtres de convolution.

En quoi l'utilisation affecte-t-elle la sortie?

Regardons ce qui se passe dans une image plus complexe.

Rééchantillons d'une image complexe

L'original, qui est une image 13 sur 13, inclut désormais un motif avec la fréquence spatiale la plus élevée possible (alternant entre la lumière et l'obscurité avec chaque colonne de droite). Nous ne pouvons pas espérer reproduire de telles caractéristiques lors du sous-échantillonnage: la plus petite quantité de pixels ne peut tout simplement pas contenir toutes ces informations. Concentrons-nous sur ce qui se passe quand une telle image est suréchantillonnée. Si nous nous soucions de la reproduction fidèle de la scène, nous voudrons que ce motif haute fréquence soit reproduit avec précision.

Les images plus petites sont ré-échantillonnées à 25 x 25 pixels: presque, mais pas tout à fait, un raffinement 2: 1. À mes yeux, les méthodes de Lanczos et bilinéaire reproduisent les rayures de la manière la plus nette parmi les quatre ré-échantillonneurs à convolution. Le voisin le plus proche est, bien sûr, le plus fidèle (car il ne peut pas faire la moyenne des valeurs).

Graphes de l'image complexe rééchantillonnée

Ces graphiques des mêmes résultats montrent que le ré-échantillonneur Lanczos était capable de maintenir le contraste dans les rayures (comme le montre l'ampleur des oscillations verticales des plus bas aux plus hauts), au prix de l'introduction d'une variation d'intensité dans la lumière à valeur constante. zone située au milieu de l'image (pixels 5, 6, 7 de l'original). Cette variation apparaît sous forme d'artefacts en forme de bandes dans la partie claire de l'image (le milieu). Parmi les rééchantillonneurs présentés ici, il est le seul à introduire de tels détails parasites.

À quoi sert-il dans une application spatiale?

À l’évidence, le ré-échantillonnage de Lanczos n’est pas une panacée ou une solution globale au ré-échantillonnage. Il est supérieur à beaucoup d'autres ré-échantillonneurs à convolution pour maintenir (voire même améliorer) le contraste local. Cela peut être utile lorsque l'image ré-échantillonnée est destinée à l'affichage de l'identification des caractéristiques détaillées ou des limites. Lorsque l’image ré-échantillonnée sera analysée ou traitée ultérieurement, le ré-échantillonnage de Lanczos peut accroître la capacité de détection des contours et des entités linéaires.

Lorsque l'image rééchantillonnée sera analysée d'une autre manière, les avantages du ré-échantillonnage de Lanczos sont douteux. Il augmentera généralement (artificiellement) les mesures locales de la variabilité spatiale, telles que les plages focales et les écarts types focaux. Cela n'affectera pas les moyennes spatiales dans l'ensemble - comme les autres réamplificateurs à convolution, il est généralement normalisé (c'est-à-dire qu'il s'agit d'une moyenne pondérée locale, sans biais) - mais il peut augmenter certaines moyennes locales et en diminuer d'autres par rapport aux valeurs précédentes. autres resamplers.

L’évaluation (nécessairement brève) proposée ici suggère que le ré-échantillonneur Lanczos ne devrait généralement pas être utilisé pour le sous-échantillonnage: pour cette application, il ne semble offrir aucune méthode plus simple (et plus couramment disponible) qui conserve le désavantage potentiel d’extrapoler au-delà de la plage initiale. des valeurs de données.

Postface: un commentaire général

L'enquête décrite ici est un exemple de ce que n'importe qui peut faire lorsqu'il a une question sur le fonctionnement d'une opération SIG. Il utilise le SIG lui-même comme sujet de l'enquête: pour savoir ce que fait une opération ou une méthode d'analyse, appliquez-le simplement dans des conditions expérimentales contrôlées. Dans ce cas, cela revient à construire des images de test simples, à les ré-échantillonner selon les méthodes disponibles et à examiner les résultats.

Cette approche d’apprentissage du fonctionnement des SIG présente trois aspects critiques:

  1. Théorie . L'expérimentation ne peut généralement pas se faire à l'aveugle: il est utile de connaître certaines théories. Nous n'avons généralement pas besoin de savoir beaucoup de choses, mais nous avons besoin de bases. Dans ce cas, la théorie des convolutions a considérablement réduit le nombre et le type d'images à expérimenter. Nous n’avions pas besoin de savoir quoi que ce soit à propos de l’analyse de Fourier, etc.
  2. Pratique . En utilisant notre SIG lui-même pour effectuer l'expérience, nous pouvons voir ce qu'il fait réellement . Cela évite les déconnexions entre la théorie (qui nous dit ce que le logiciel devrait faire) et la pratique (ce qu’il fait vraiment ).
  3. Quantification . À moins que la question ne concerne la perception visuelle, pour évaluer les résultats, nous ne devrions pas nous contenter de regarder des cartes (ou, dans ce cas, des images). Pour obtenir les meilleures informations, nous devons quantifier le résultat (réalisé ici avec des graphiques) et, souvent, le décrire et le résumer à l'aide de méthodes statistiques.
whuber
la source
3

Vous connaissez peut-être les filtres Lanczos ou un type similaire de filtres de vos programmes d’image, où ils sont souvent appelés «filtres de netteté». Un bon exemple de ce forumtopic : La première image montre le fichier original et à côté de quoi ça aurait l'air après la réduction de la taille de la grille si vous utilisiez une méthode d'interpolation douce (comme le sous-échantillonnage bicubique).

http://peltarion.eu/img/comp/moire/D_lanczos3.jpg Toutefois, si vous appliquez un filtre Lanczos à cette image ou si vous l’utilisez pour rééchantillonner, les différences sont amplifiées, vous pouvez donc dire que le contraste est augmenté localement. entrez la description de l'image ici

Dans le cas de données spatiales, cela peut être très utile: imaginez que vous essayez de réduire une carte de polygone quadrillée ou si vous souhaitez exécuter des algorithmes reposant sur la détection des contours (par exemple, numériser une carte de polygone numérisée, segmentation d’image ( exemple )).

D'autre part, vous pouvez perdre de la précision spatiale. Imaginons que la carte 16x16 représente la pollution de l'air dans une ville, mais que le rééchantillonnage utilisant la moyenne représente mieux la pollution de l'air moyenne dans cette cellule.

johanvdw
la source
Je ne pense pas que ces images sont ce que vous prétendez. Le coin supérieur droit n'est clairement pas la cellule moyenne; si c'était le cas, les rayures verticales dans son quadrant supérieur gauche ne seraient pas là. Une certaine "netteté" a été appliquée à cette image pour obtenir celle qui la recouvre (en bas à droite), qui est faussement aliasée: il ne s'agit pas de la préservation des caractéristiques, mais de la création d'artefacts. Étant donné que (presque) tous les filtres sont normalisés par unité, y compris les filtres de Lanczos, votre remarque sur la moyenne s’applique à chacun d’eux, pas seulement à une moyenne de voisinage non pondérée, et n’est donc pas une caractéristique distinctive.
whuber
J'ai intégré vos commentaires. Mais à l' intérieur de la cellule, l'interpolateur lisse produirait probablement une meilleure prédiction
johanvdw le
-1

De Wikipedia :

Le rééchantillonnage Lanczos (prononciation hongroise: [ˈlaːntsoʃ]) est une méthode d'interpolation utilisée pour calculer de nouvelles valeurs pour les données échantillonnées. Il est souvent utilisé en interpolation multivariée, par exemple pour le redimensionnement d'images (pour redimensionner des images numériques), mais peut être utilisé pour tout autre signal numérique. Le noyau Lanczos indique quels échantillons des données d'origine et dans quelle proportion composent chaque échantillon des données finales. Le filtre porte le nom de Cornelius Lanczos, car il a montré comment utiliser les séries de Fourier et les polynômes de Chebyshev pour divers problèmes où il n’était pas utilisé auparavant.

Application : Le filtre Lanczos est une forme fenêtrée du filtre sinc, un filtre passe-bas "mur de briques" théoriquement optimal. La fonction sinc a une étendue infinie et n'est donc pas directement utilisable en pratique. Au lieu de cela, on utilise des approximations, appelées formes de filtre du filtre, comme indiqué dans les fonctions de fenêtre: conception du filtre, et le filtre Lanczos en est un exemple. Les fenêtres disparaissent en dehors d'une plage et l'utilisation de plages plus grandes permet d'améliorer la précision en échange de davantage de calculs.

Evaluation : Le filtre Lanczos a été comparé à d’autres filtres, en particulier d’autres fenêtres du filtre sinc. Certains ont trouvé que les Lanczos (avec a = 2) constituaient "le meilleur compromis en termes de réduction du repliement du spectre, de la netteté et de la sonnerie minimale", par rapport à sinc tronqué et à Barlett, cosinus et Hann fenêtrés sincèrement.

Limitation : étant donné que le noyau assume des valeurs négatives pour a> 1, les valeurs de sortie peuvent être négatives même avec une entrée non négative. Les valeurs négatives sont hors limites pour les signaux d'image et provoquent des artefacts de découpage. Les lobes négatifs induisent également des artefacts de sonnerie.

Cependant, le sous-dépassement et la sonnerie sont réduits par rapport au filtre sinc (sans fenêtre), en raison du fenêtrage; la sonnerie est particulièrement petite, comme le montre la taille positive du lobe, en particulier pour a = 2.

Chethan S.
la source
Pourquoi voter à la baisse? Quel est le problème avec cette réponse? J'ai aussi donné le lien original.
Chethan S.
7
Je ne vois pas comment l'extrait de wiki répond à la question de savoir quels effets le filtre de Lanczos a sur les données spatiales et à quoi cela servirait.
underdark
C'est vrai. Je viens de donner la réponse de manière générale à Qu'est-ce que Lanczos et en quoi son utilisation affecte-t-elle la sortie?
Chethan S.
9
La plupart de cet article Wikipedia est trop vague pour être utile (comme d'autres l'ont déjà noté). La réponse est en effet dans la toute dernière phrase, mais ne serait compréhensible que par quelqu'un qui sait ce que sont "le sous-dénombrement" et le "son de sonnerie" (alias "l'oscillation de Gibbs" en 2D), sait à quoi se réfère le "côté positif" lobe "et comprend en profondeur les relations entre les formes du noyau et leurs effets sur les transformations de Fourier. En bref, pour être intelligible et utile, cette réponse a besoin d’être amplifiée.
whuber