stringtranslate.com

interpolación bicúbica

Comparación de la interpolación bicúbica con algunas interpolaciones unidimensionales y bidimensionales. Los puntos
negro y rojo / amarillo / verde / azul corresponden al punto interpolado y a las muestras vecinas, respectivamente.
Sus alturas sobre el suelo corresponden a sus valores.

En matemáticas , la interpolación bicúbica es una extensión de la interpolación spline cúbica (un método para aplicar la interpolación cúbica a un conjunto de datos) para interpolar puntos de datos en una cuadrícula regular bidimensional . La superficie interpolada (es decir, la forma del núcleo, no la imagen) es más suave que las superficies correspondientes obtenidas mediante interpolación bilineal o interpolación del vecino más cercano . La interpolación bicúbica se puede lograr utilizando polinomios de Lagrange , splines cúbicos o algoritmos de convolución cúbica.

En el procesamiento de imágenes , la interpolación bicúbica a menudo se elige en lugar de la interpolación bilineal o del vecino más cercano en el remuestreo de imágenes , cuando la velocidad no es un problema. A diferencia de la interpolación bilineal, que sólo tiene en cuenta 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 tener diferentes artefactos de interpolación , según los valores b y c elegidos.

Cálculo

Interpolación bicúbica en el cuadrado que consta de 25 cuadrados unitarios unidos. Interpolación bicúbica según la implementación de Matplotlib . El color indica el valor de la función. Los puntos negros son las ubicaciones de los datos prescritos que se interpolan. Observe cómo las muestras de color no son radialmente simétricas.
Interpolación bilineal en el mismo conjunto de datos que el anterior. Las derivadas de la superficie no son continuas sobre los límites del cuadrado.
Interpolación del vecino más cercano en el mismo conjunto de datos que el anterior.

Supongamos que los valores de la función y las derivadas , y se conocen en las cuatro esquinas , , y del cuadrado unitario. La superficie interpolada se puede escribir como

El problema de interpolación consiste en determinar los 16 coeficientes . Al hacer coincidir los valores de la función se obtienen cuatro ecuaciones:

Asimismo, ocho ecuaciones para las derivadas en las direcciones y :

Y cuatro ecuaciones para la derivada parcial mixta :

Las expresiones anteriores han utilizado las siguientes identidades:

Este procedimiento produce una superficie en el cuadrado unitario que es continua y tiene derivadas continuas. La interpolación bicúbica en una cuadrícula regular de tamaño arbitrario se puede lograr uniendo dichas superficies bicúbicas, asegurando que las derivadas coincidan en los límites.

Agrupar los parámetros desconocidos en un vector.

Invertir la matriz da la ecuación lineal más útil , donde

Puede haber otra forma matricial concisa para 16 coeficientes:

Ampliación a rejillas rectilíneas

A menudo, las aplicaciones requieren interpolación bicúbica utilizando datos en una cuadrícula rectilínea, en lugar de la unidad cuadrada. En este caso, las identidades para y se convierten

Encontrar derivadas 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 encontrar cualquiera de las derivadas individuales, o , usando ese método, encuentre la pendiente entre los dos puntos circundantes en el eje apropiado. Por ejemplo, para calcular uno de los puntos, busque los puntos a la izquierda y a la derecha del punto objetivo y calcule su pendiente, y de manera similar para .

Para encontrar la derivada cruzada , toma la derivada en ambos ejes, uno a la vez. Por ejemplo, primero se puede usar el procedimiento para encontrar las derivadas de los puntos por encima y por debajo del punto objetivo, luego usar el procedimiento con esos valores (en lugar de, como es habitual, los valores de para esos puntos) para obtener el valor de para el punto objetivo. (O se puede hacerlo en la dirección opuesta, primero calculando y luego a partir de esos. Los dos dan resultados equivalentes).

En los bordes del conjunto de datos, cuando faltan algunos de los puntos circundantes, los puntos faltantes se pueden aproximar mediante varios métodos. Un método simple y común es asumir que la pendiente desde el punto existente hasta el punto objetivo continúa sin cambios adicionales y utilizar esto para calcular un valor hipotético para el punto faltante.

Algoritmo de convolución bicúbica

La interpolación spline bicúbica 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:

Este enfoque fue propuesto por Keys, quien demostró que produce convergencia de tercer orden con respecto al intervalo de muestreo de la función original. [1]

Si usamos la notación matricial para el caso común , podemos expresar la ecuación de una manera más amigable:

Para dos dimensiones, se aplica primero una y otra vez en :

Uso en gráficos por computadora

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 exceso, lo que aumenta la acutancia .

El algoritmo bicúbico se utiliza con frecuencia para escalar imágenes y vídeos para su visualización (consulte remuestreo de mapas de bits ). Conserva los detalles finos mejor que el algoritmo bilineal común .

Sin embargo, debido a los lóbulos negativos del núcleo, se produce un exceso (halo). Esto puede causar recorte y es un artefacto (ver también artefactos de timbre ), pero aumenta la acutancia (nitidez aparente) y puede ser deseable.

Ver también

Referencias

  1. ^ R. Claves (1981). "Interpolación de convolución cúbica para procesamiento de imágenes digitales". Transacciones IEEE sobre acústica, voz y procesamiento de señales . 29 (6): 1153-1160. Código Bib : 1981ITASS..29.1153K. CiteSeerX  10.1.1.320.776 . doi :10.1109/TASSP.1981.1163711.

enlaces externos