¿Para qué sirve el muestreo de Lanczos en un contexto espacial?

46

GDAL incluye un método de remuestreo más allá de la mezcla normal de vecino más cercano, bilineal, cúbico y splines: "Lanczos windowed sinc remuestreo". Entiendo que es un filtro de convolución, pero a diferencia de las imágenes donde los resultados tienden a ser subjetivos, el remuestreo utilizado para datos espaciales tiene otras implicaciones. ¿Qué es Lanczos y cómo afecta su uso a la salida?

scw
fuente
44
Este es un duplicado exacto de stackoverflow.com/questions/1854146/… que tiene una buena respuesta.
whuber
La sección 4 de un artículo de 1979 de Claude Duchon puede ser útil.
whuber

Respuestas:

72

¿Qué es el muestreo de Lanczos?

Aunque la teoría se describe en un artículo anterior y en el artículo de Wikipedia , la mejor manera de obtener una idea de los métodos de remuestreo es al calcularlos en imágenes simples o estándar. Este puede ser un gran tema, que requiere una amplia experimentación, pero hay algunas simplificaciones disponibles:

  • Estos operadores trabajan por separado en cada canal de color. Por lo tanto, es suficiente estudiar cómo funcionan en una imagen monocromática ("blanco y negro").

  • La mayoría de los operadores de convolución utilizados en el procesamiento de imágenes funcionan de la misma manera en las direcciones x e y de forma independiente en ambas direcciones. En efecto, son realmente operadores unidimensionales aplicados primero a las filas y luego a las columnas. Esto significa que podemos estudiarlos estudiando imágenes "1D", que se pueden trazar en detalle.

  • Todo lo que necesitamos saber sobre un operador lineal (que incluye todos los operadores de convolución) se puede inferir de cómo un operador trabaja en la imagen no constante más simple de todas: este es un salto repentino de un valor a otro.

Veamos una ilustración de varios métodos populares de remuestreo. En realidad, necesitamos dos ilustraciones: una para mostrar lo que sucede en el "muestreo descendente", donde la nueva imagen es más gruesa que la anterior, y otra para ver el "muestreo ascendente", donde las nuevas imágenes son el refinamiento de lo antiguo. Comencemos con el último, porque muestra más detalles.

Upsampling

Muestreo de 7 a 80 celdas como imágenes

La imagen original de 7 por 7 a la izquierda es realmente unidimensional porque cada fila es la misma. El remuestreo ocurre a través de las columnas. La dimensión de las otras cinco imágenes es de 80 por 80, mostrando en detalle cómo cada método se interpola entre los píxeles gruesos originales. El muestreo del vecino más cercano conserva la división aguda entre la oscuridad y la luz, mientras que los otros cuatro métodos difuminan la región intermedia hasta cierto punto. En particular, el muestreador Lanczos crea algunas regiones que son más oscuras que ninguna en el original y otras que son más claras que ninguna en el original. (Esto puede tener implicaciones para el trabajo SIG, porque tal extrapolaciónde los valores originales puede hacer que los nuevos valores sean inválidos. También pueden extenderse más allá del rango del mapa de color original, a veces causando que los valores extremos en la imagen de remuestreo se representen incorrectamente. Este es un problema con el remuestreo de convolución bicúbica en ArcGIS, por ejemplo).

(Nota: El método "bicúbico" que se muestra aquí es una spline bicúbica, no la "convolución bicúbica" de ArcGIS).

El uso de la luminosidad para representar valores de imagen, aunque natural, no es muy preciso. La siguiente ilustración rectifica esto graficando los valores de las celdas (eje vertical) por columna (eje horizontal).

Muestreo de 7 a 80 celdas como parcelas

Los valores más bajos en los gráficos corresponden a partes más oscuras de las imágenes. Un examen cuidadoso del original descubre una suposición oculta: aunque la imagen original parece un salto brusco de oscuro a claro, el salto en realidad ocurre más de un séptimo (1/7) de la extensión de las columnas. ¿Quién puede decir qué sucede realmente en ese intervalo en la escena original que representa la imagen? Por lo tanto, no deberíamos ser demasiado críticos con las diferencias entre los métodos de remuestreo que ocurren dentro de este breve intervalo: cada uno ofrece una representación diferente pero potencialmente igualmente válida de lo que podría estar ocurriendo en la escena original. En este sentido, ya no es evidente que el muestreo del vecino más cercano es el método de interpolación más fiel.

Una conclusión que debemos sacar es que la precisión de cualquier método de muestreo depende de la naturaleza de la escena subyacente . Si la escena consta de valores que deberían variar suavemente de un punto a otro, entonces el método de vecino más cercano probablemente sea la forma menos fiel de remuestreo entre los que se muestran.

Desmuestreo

Imágenes disminuidas

Aquí vemos el resultado de la disminución de una imagen de 16 por 16 a 8 por 8 imágenes (una agregación de 2 por 2). El vecino más cercano conserva con precisión el límite afilado. Lanczos difiere de los demás al mejorar la nitidez aparente. Una mirada cercana muestra que oscurece el área oscura en un lado del límite y aclara el área clara en el otro lado. Los gráficos aclaran esto:

Gráficos de imágenes disminuidas

Los muestreadores bilineales, bicúbicos y gaussianos muestran características de operadores de convolución que tienen todos los pesos positivos (o pesos negativos muy pequeños): promedian o "difuminan" valores vecinos. En la disminución de resolución, esto hace que las características nítidas se desdibujen. La extensión del desenfoque depende del ancho del núcleo. Al igual que estos otros, el muestreador Lanczos también difumina el salto, pero lo "supera" en ambos lados. Esa es la mejora de contraste que se ve justo arriba en las imágenes mismas. Debido a esta tendencia a aumentar el contraste (las diferencias locales entre los altos y bajos en la imagen), el muestreador Lanczos a menudo se llama un "filtro de afilado". Estos gráficos muestran que esta caracterización requiere una comprensión matizada, porque evidentemente no reduce el promedio de valores en ambos lados del salto. En el píxel 4, su valor de 0.56 es comparable a los valores calculados por los otros filtros de convolución.

¿Cómo afecta el uso a la salida?

Echemos un vistazo a lo que sucede en una imagen más compleja.

Resamples de una imagen compleja

El original, que es una imagen de 13 por 13, ahora incluye un patrón con la frecuencia espacial más alta posible (alternando entre claro y oscuro con cada columna a la derecha). No podemos esperar reproducir tales características cuando se reduzca el muestreo: la menor cantidad de píxeles simplemente no puede contener toda esta información. Centrémonos, entonces, en lo que sucede cuando se muestrea una imagen de este tipo. Si nos importa la reproducción fiel de la escena, queremos que este patrón de alta frecuencia se reproduzca con precisión.

Las imágenes más pequeñas se vuelven a muestrear a 25 por 25 píxeles: casi, pero no del todo, un refinamiento de 2: 1. En mi opinión, los métodos de Lanczos y bilineales reproducen las franjas con mayor nitidez entre los cuatro muestreadores de convolución. El vecino más cercano es, por supuesto, el más fiel (porque no puede promediar valores en absoluto).

Gráficos de la imagen compleja remuestreada

Estos gráficos de los mismos resultados muestran que el muestreador Lanczos pudo mantener el contraste en las franjas (como se ve por el tamaño de los cambios verticales de bajos a altos) a expensas de introducir una variación de intensidad dentro de la luz de valor constante área en el medio de la imagen (píxeles 5, 6, 7 del original). Esta variación aparece como artefactos en forma de banda dentro de la parte clara de la imagen (el centro). De los muestreadores que se muestran aquí, está solo en la introducción de detalles espurios.

¿Para qué es útil en una aplicación espacial?

Evidentemente, el muestreo de Lanczos no es una solución panacea u omnibus para el muestreo. Es superior a muchos otros muestreadores de convolución para mantener (o incluso mejorar) el contraste local. Esto puede ser útil cuando la imagen muestreada está destinada a visualizar la identificación de características o límites detallados. Cuando la imagen muestreada será analizada o procesada posteriormente, el remuestreo de Lanczos puede aumentar la capacidad de detectar bordes y características lineales.

Sin embargo, cuando la imagen muestreada se analizará de otras maneras, los beneficios del muestreo de Lanczos son dudosos. Típicamente aumentará (artificialmente) las medidas locales de variabilidad espacial, como los rangos focales y las desviaciones focales estándar. No afectará a los medios espaciales en general, como los otros muestreadores de convolución, generalmente está normalizado (lo que significa que es un promedio ponderado local, sin sesgo introducido), pero puede aumentar algunos promedios locales y disminuir otros en comparación con el otros muestreadores

La evaluación (necesariamente breve) aquí sugiere que el muestreador de Lanczos generalmente no debe usarse para la disminución de muestras: para esa aplicación, parece no ofrecer nada que los métodos más simples (y más comúnmente disponibles) tengan, lo que conserva la desventaja potencial de extrapolar más allá del rango original de valores de datos.

Epílogo: un comentario general

La investigación descrita aquí es un ejemplo de lo que cualquiera puede hacer cuando tiene una pregunta sobre cómo funciona una operación SIG. Utiliza el SIG mismo como el tema de la investigación: para saber qué hace alguna operación o método analítico, simplemente aplíquelo bajo condiciones experimentales controladas. En este caso, eso equivale a construir imágenes de prueba simples, volver a muestrearlas según los métodos disponibles y examinar los resultados.

Hay tres aspectos críticos de este enfoque para aprender cómo funciona el SIG:

  1. Teoría . La experimentación generalmente no se puede hacer "a ciegas": ayuda a conocer alguna teoría. Por lo general, no necesitamos saber mucho, pero necesitamos lo básico. En este caso, la teoría de las circunvoluciones redujo en gran medida el número y los tipos de imágenes con las que necesitamos experimentar. No necesitábamos saber nada sobre el análisis de Fourier, etc. (No se equivoque, tal conocimiento es beneficioso. Pero la falta de conocimiento especializado de este tipo no debería detenernos).
  2. La práctica . Al usar nuestro SIG para realizar el experimento, podemos ver lo que realmente hace . Esto evita desconexiones entre la teoría (que nos dice qué debe hacer el software ) y la práctica (que es lo que realmente hace).
  3. La cuantificación . A menos que la pregunta se refiera a la percepción visual, para evaluar los resultados no debemos confiar únicamente en mirar mapas (o, en este caso, imágenes). Para obtener la mejor información, necesitamos cuantificar el resultado (hecho aquí con gráficos) y, a menudo, describirlo y resumirlo con métodos estadísticos.
whuber
fuente
3

Es posible que conozca los filtros Lanczos o un tipo similar de filtros de sus programas de imagen, donde a menudo se los llama "filtros de nitidez". Un buen ejemplo de este tema del foro : la primera imagen muestra el archivo original, y junto a él, cómo se vería después de reducir el tamaño de la cuadrícula si usa un método de interpolación suave (como disminución de resolución bicúbica).

http://peltarion.eu/img/comp/moire/D_lanczos3.jpg Sin embargo, si aplica un filtro Lanczos a esta imagen, o lo usa para volver a muestrear, las diferencias se amplifican, podría decir que el contraste aumenta localmente. ingrese la descripción de la imagen aquí

En el caso de los datos espaciales, esto puede ser muy útil: imagine que está tratando de reducir un mapa poligonal cuadriculado, o si desea ejecutar algoritmos que se basan en la detección de bordes (por ejemplo, digitalizar un mapa poligonal escaneado, segmentación de imagen ( ejemplo )).

Por otro lado, puede perder algo de precisión espacial. Imagine que el mapa de 16x16 representa la contaminación del aire en una ciudad, que el remuestreo que utiliza la media representará más adecuadamente la contaminación del aire media dentro de esa celda de la cuadrícula.

johanvdw
fuente
No creo que estas imágenes sean lo que reclamas. La parte superior derecha claramente no es la media celular; si lo fuera, las rayas verticales en su cuadrante superior izquierdo no estarían allí. Se aplicó alguna forma de "nitidez" a esa imagen para obtener la que está debajo (abajo a la derecha), que tiene un falso alias: esto no es preservación de características, sino creación de artefactos. Debido a que (casi) todos los filtros están normalizados por unidad, incluidos los filtros de Lanczos, su punto sobre la media se aplica a cada uno de ellos, no solo a una media de vecindad no ponderada y, por lo tanto, no es una característica distintiva.
whuber
He integrado tus comentarios. Pero dentro de la célula, el interpolador suave más probable sería producir una mejor predicción
johanvdw
-1

De Wikipedia :

El muestreo de Lanczos (pronunciación húngara: [ˈlaːntsoʃ]) es un método de interpolación utilizado para calcular nuevos valores para los datos muestreados. A menudo se usa en la interpolación multivariante, por ejemplo para escalar imágenes (para cambiar el tamaño de las imágenes digitales), pero se puede usar para cualquier otra señal digital. El núcleo de Lanczos indica qué muestras en los datos originales, y en qué proporción, forman cada muestra de los datos finales. El filtro lleva el nombre de Cornelius Lanczos, porque mostró cómo usar la serie de Fourier y los polinomios de Chebyshev para varios problemas donde no se usaba antes.

Aplicación : El filtro Lanczos es una forma de ventana del filtro de sinc, un filtro de paso bajo "pared de ladrillos" teóricamente óptimo. La función sinc tiene una extensión infinita y, por lo tanto, no se puede utilizar directamente en la práctica. En cambio, uno usa aproximaciones, llamadas formas de ventana del filtro, como se discute en las funciones de ventana: diseño de filtro, y el filtro Lanczos es una de esas ventanas. Las ventanas se desvanecen fuera de un rango, y el uso de rangos más grandes permite mejorar la precisión a cambio de más cómputo.

Evaluación : El filtro de Lanczos se ha comparado con otros filtros, particularmente otras ventanas del filtro de sinc. Algunos han encontrado los Lanczos (con a = 2) el "mejor compromiso en términos de reducción de aliasing, nitidez y zumbido mínimo", en comparación con el sinc truncado y el sinc con ventana Barlett, coseno y Hann.

Limitación : Debido a que el núcleo asume valores negativos para a> 1, los valores de salida pueden ser negativos incluso con entradas no negativas. Los valores negativos están fuera de los límites para las señales de imagen y causan artefactos de recorte. Los lóbulos negativos también inducen artefactos de llamada.

Sin embargo, tanto el underhoot como el zumbido se reducen en comparación con el filtro sinc (sin ventana), debido a la ventana; el timbre es particularmente pequeño, como lo demuestra el tamaño positivo del lóbulo lateral, especialmente para a = 2.

Chethan S.
fuente
¿Por qué bajar el voto? ¿Qué hay de malo en esta respuesta? También he dado el enlace original.
Chethan S.
77
No veo cómo el extracto wiki responde a la pregunta de qué efectos tiene el filtro Lanczos en los datos espaciales y para qué sería útil.
oscuro
Es verdad. Acabo de dar la respuesta en un sentido general para What's Lanczos y cómo afecta el uso a la salida.
Chethan S.
99
La mayor parte de este artículo de Wikipedia es demasiado vago para ser útil (como otros han señalado anteriormente). De hecho, la respuesta está en la última oración, pero sería entendible solo por alguien que sepa lo que son "underhoot" y "ringing" (también conocido como "oscilación de Gibbs" en 2D), sabe a qué se refiere el "lado positivo" lóbulo ", y comprende profundamente las relaciones entre las formas del núcleo y sus efectos en las transformadas de Fourier. En resumen, para ser inteligible y útil, esta respuesta necesita algo de amplificación.
whuber