Comparación de la interpolación bicúbica con algunas interpolaciones unidimensionales y bidimensionales. Los puntos negros y rojos / amarillos / verdes / azules corresponden al ...
Hispanopedia WikiContenido en espanolLectura gratuita
Comparación de la interpolación bicúbica con algunas interpolaciones unidimensionales y bidimensionales. Los puntos negros y rojos / amarillos / verdes / azules corresponden al punto interpolado y a las muestras vecinas, respectivamente. Sus alturas sobre el suelo corresponden a sus valores.
En el procesamiento de imágenes , la interpolación bicúbica se suele preferir a la bilineal o a la del vecino más cercano en el remuestreo de imágenes , cuando la velocidad no es un factor crítico. A diferencia de la interpolación bilineal, que solo considera 4 píxeles (2×2), la interpolación bicúbica considera 16 píxeles (4×4). Las imágenes remuestreadas con interpolación bicúbica pueden presentar diferentes artefactos de interpolación , dependiendo de los valores de b y c seleccionados.
Supongamos que los valores de la funcióny los derivados,yson conocidos en las cuatro esquinas,,, ydel cuadrado unitario. La superficie interpolada se puede escribir entonces como
El problema de interpolación consiste en determinar los 16 coeficientes.. CoincidenciaCon los valores de la función se obtienen cuatro ecuaciones:
Asimismo, ocho ecuaciones para las derivadas en ely elinstrucciones:
Las expresiones anteriores han utilizado las siguientes identidades:
Este procedimiento produce una superficieen la unidad cuadradaque es continua y tiene derivadas continuas. La interpolación bicúbica en una cuadrícula regular de tamaño arbitrario se puede realizar uniendo dichas superficies bicúbicas, asegurando que las derivadas coincidan en los límites.
Agrupación de los parámetros desconocidosen un vector y dejar El sistema de ecuaciones anterior se puede reformular en una matriz para la ecuación lineal..
Invertir la matriz da como resultado la ecuación lineal más útil., dónde lo cual permiteque se pueda calcular de forma rápida y sencilla.
Puede existir otra forma matricial concisa para 16 coeficientes: o dónde
Extensión a cuadrículas rectilíneas
A menudo, las aplicaciones requieren interpolación bicúbica utilizando datos en una cuadrícula rectilínea, en lugar del cuadrado unitario. En este caso, las identidades parayconvertirse dóndees elespaciado de la celda que contiene el puntoy similar paraEn este caso, el enfoque más práctico para calcular los coeficientes eses dejar luego para resolverconcomo antes. A continuación, se calculan las variables de interpolación normalizadas como dóndeyson losycoordenadas de los puntos de la cuadrícula que rodean el puntoEntonces, la superficie de interpolación se convierte en
Cálculo de derivadas a partir de valores de funciones
Si se desconocen las derivadas, normalmente se aproximan a partir de los valores de la función en puntos vecinos a las esquinas del cuadrado unitario, por ejemplo, utilizando diferencias finitas .
Para hallar cualquiera de las derivadas simples,oUtilizando ese método, encuentre la pendiente entre los dos puntos circundantes en el eje apropiado. Por ejemplo, para calcularPara uno de los puntos, encuentrepara los puntos a la izquierda y a la derecha del punto objetivo y calcular la pendiente de la línea recta entre ellos, y de manera similar para.
Para hallar la derivada cruzada, tome la derivada en ambos ejes, uno a la vez. Por ejemplo, primero se puede usar laprocedimiento para encontrar elderivadas de los puntos por encima y por debajo del punto objetivo, luego utilice laprocedimiento sobre esos valores (en lugar de, como es habitual, los valores depara esos puntos) para obtener el valor depara el punto objetivo. (O se puede hacer en la dirección opuesta, calculando primeroy luegode esos. Ambos dan resultados equivalentes.)
En los extremos del conjunto de datos, cuando faltan algunos puntos circundantes, estos pueden aproximarse mediante diversos métodos. Un método sencillo y común consiste en suponer que la pendiente desde el punto existente hasta el punto objetivo continúa sin cambios, y utilizar esta suposición para calcular un valor hipotético para el punto faltante.
Algoritmo de convolución bicúbica
núcleo de convoluciónNúcleo de convolución (expandido en 2D)
La interpolación mediante splines bicúbicas requiere la solución del sistema lineal descrito anteriormente para cada celda de la cuadrícula . Se puede obtener un interpolador con propiedades similares aplicando una convolución con el siguiente núcleo en ambas dimensiones: dóndePor lo general, se establece en −0,5 o −0,75. Tenga en cuenta queypara todos los enteros distintos de cero.
Este enfoque fue propuesto por Rifman de TRW Systems Group, dirigido a datos de imágenes de ERTS (Earth Resources Technology Satellite, posteriormente Landsat 1 ). [ 1 ] [ 2 ] [ 3 ] Inicialmente,se fijó en -1, pero luego fue parametrizado por Simon de la misma compañía, haciendo que -0.5, -0.75 y -1.0 fueran valores significativos. [ 4 ] Sin embargo, estas propuestas no presentaban suficientemente el proceso de derivación ni las fórmulas, por lo que Keys luego lo volvió a proponer de forma completa, demostrando que con, se logra la convergencia cúbica con respecto al intervalo de muestreo de la función original. [ 5 ]
El núcleo de convoluciónse deriva de la siguiente manera [ 6 ] :
Con las siguientes condiciones:,, también para la primera derivada:,, obtenemos;
Resolviendo el sistema de ecuaciones anterior obtenemos: y la ecuación anterior.
Notación matricial
Núcleo de convolución desplazado de 0 a 1 para notación matricial.
Si utilizamos la notación matricial, podemos expresar la ecuación de una manera más amigable: paraentre 0 y 1 para una dimensión [ 7 ] . Tenga en cuenta que para la interpolación de convolución cúbica unidimensional se requieren 4 puntos de muestra. Para cada consulta, dos muestras se ubican a su izquierda y dos muestras a su derecha. Estos puntos se indexan de -1 a 2 en este texto. La distancia desde el punto indexado con 0 hasta el punto de consulta se denota poraquí.
Desde, coincide con la spline de Catmull-Rom [ 7 ] . Por lo tanto, la interpolación bicúbica conempezar aA veces se la denomina "interpolación de Catmull-Rom". [ 8 ]
Para dos dimensiones aplicadas por primera vez una vez eny de nuevo en:
Continuidad diferencial
Es continua en la primera derivada por definición, y se puede verificar fácilmente utilizando la siguiente notación matricial.
Por lo tanto, es continua en la primera derivada.
Por lo tanto, no es continua en la segunda derivada.
Comparación con otros métodos
A continuación se muestra una comparación de las funciones kernel para cada método:
Uso en gráficos por computadora
El algoritmo bicúbico se utiliza frecuentemente para escalar imágenes y vídeos para su visualización (véase remuestreo de mapas de bits ). Conserva mejor los detalles finos que el algoritmo bilineal común.
El algoritmo bicúbico también se utiliza para la reducción de escala de imágenes, pero debido a que el remuestreo durante la reducción de escala difiere del efecto de alejar la imagen en la óptica real, otros métodos pueden ser más adecuados [ 9 ] .
Efecto del parámetro "a"
La mitad inferior de esta figura es una ampliación de la mitad superior, que muestra cómo se crea la aparente nitidez de la línea de la izquierda. La interpolación bicúbica provoca un sobreimpulso, lo que aumenta la nitidez .
Sin embargo, debido a los lóbulos negativos en el núcleo, provoca sobreimpulso (halo). Esto puede causar recorte y es un artefacto (véase también artefactos de anillo ), pero aumenta la nitidez (nitidez aparente) y puede ser deseable. Este efecto es mayor cuando el parámetroesoque cuando es.
Cuando, el resultado de la interpolación coincide con la aproximación de Taylor hasta la segunda derivada (excluyendo el término restante) de la imagen original (la función continua antes del muestreo). [ 10 ] [ 11 ] Un ejemplo claro de este efecto es cuando la imagen original es una función lineal (una imagen de gradiente simple) y el resultado interpolado es una función lineal solo cuando. Por ejemplo, si la entrada es El resultado interpolado es y es una función lineal (los términos cuadráticos y cúbicos son 0) solo cuando. [ 12 ]
A continuación se muestra una imagen simple con degradado ampliada 16 veces y una porción de la imagen de prueba estándar "cameraman" [ 13 ] ampliada 8 veces [ 14 ] . Las rayas verticales en la primera y el patrón moteado artificial alrededor de las sienes en la segunda son artefactos causados por el efecto mencionado anteriormente.
Tenga en cuenta que cuando, la segunda derivada del núcleo de convolución es continua en[ 12 ] , pero el resultado de la interpolación no tiene una segunda derivada continua. Además, cuando, la derivada del núcleo de convolución coincide con la derivada de la función sinc en[ 12 ] , pero esto no tiene ninguna importancia más allá de la comparación conla interpolación sinc.
Posición de remuestreo
Al ampliar una imagen mediante un múltiplo entero , es común establecer la posición de remuestreo entre los píxeles de la imagen original de manera que el centro de gravedad de la imagen ampliada no se desplace con respecto a la imagen original (véase la imagen de la izquierda a continuación). Por otro lado, también existe un método para establecer la posición de remuestreo de forma que se superponga a los píxeles de la imagen original (véase la imagen de la derecha a continuación). Este método garantiza la reversibilidad de la transformación. [ 15 ]
Ejemplo de posición de remuestreo
Extrapolación
Se requieren dos píxeles de la imagen de entrada a la izquierda y a la derecha (o arriba y abajo) para la interpolación. Dado que los bordes exteriores de la imagen no son válidos, se requiere extrapolación. El método de extrapolación varía según la implementación. A continuación se muestra un ejemplo de cómo copiar y extrapolar los píxeles más externos. [ 15 ]
Ejemplo de extrapolación mediante la copia de los valores de píxeles más externos.
↑ Rifman, Samuel S. (1973). "Rectificación digital de imágenes multiespectrales ERTS" . Informe técnico de la NASA 73N28327 .
↑ Bauer, Brian P. (1980). "ESTUDIO DE TÉCNICAS DE REMUESTREO UTILIZANDO MSS E IMÁGENES SINTÉTICAS" (PDF) . Documento EDC 0044, Centro de Datos EROS del USGS : 12.
^ Wolberg, George (1994). Deformación de imágenes digitales, tercera edición . págs. 130-131 . ISBN0-8186-8944-7.
↑ Simon, KW (1975). "Reconstrucción y remuestreo de imágenes digitales para manipulación geométrica" . Simposios LARS, artículo 67 .
↑ R. Keys (1981). "Interpolación de convolución cúbica para el procesamiento de imágenes digitales". IEEE Transactions on Acoustics, Speech, and Signal Processing . 29 (6): 1153– 1160. Bibcode : 1981ITASS..29.1153K . CiteSeerX 10.1.1.320.776 . doi : 10.1109/TASSP.1981.1163711 .