La correlación de fase es un método para estimar el desplazamiento translativo relativo entre dos imágenes similares ( correlación de imágenes digitales ) u otros conjuntos de datos. Se utiliza comúnmente en el registro de imágenes y se basa en una representación de los datos en el dominio de la frecuencia , generalmente calculada mediante transformadas rápidas de Fourier . El término se aplica particularmente a un subconjunto de técnicas de correlación cruzada que aíslan la información de fase de la representación en el espacio de Fourier del correlograma cruzado .
La siguiente imagen demuestra el uso de la correlación de fase para determinar el movimiento de traslación relativo entre dos imágenes alteradas por ruido gaussiano independiente. La imagen fue trasladada por (30,33) píxeles. En consecuencia, se puede ver claramente un pico en la representación de la correlación de fase aproximadamente en (30,33).
Dadas dos imágenes de entrada y :
Aplique una función de ventana (por ejemplo, una ventana de Hamming ) en ambas imágenes para reducir los efectos de borde (esto puede ser opcional según las características de la imagen). Luego, calcule la transformada de Fourier 2D discreta de ambas imágenes.
Calcule el espectro de potencia cruzada tomando el conjugado complejo del segundo resultado, multiplicando las transformadas de Fourier elemento por elemento y normalizando este producto elemento por elemento.
¿Dónde está el producto de Hadamard (producto por entrada) y los valores absolutos también se toman por entrada? Escrito por entrada para el índice del elemento :
Obtenga la correlación cruzada normalizada aplicando la transformada de Fourier inversa.
Determinar la ubicación del pico en .
Comúnmente, se utilizan métodos de interpolación para estimar la ubicación del pico en el correlograma cruzado para valores no enteros , a pesar del hecho de que los datos son discretos, y este procedimiento a menudo se denomina "registro de subpíxeles". En la literatura técnica se proporciona una gran variedad de métodos de interpolación de subpíxeles. Se han utilizado métodos de interpolación de picos comunes, como la interpolación parabólica, y el paquete de visión artificial OpenCV utiliza un método basado en centroides , aunque estos generalmente tienen una precisión inferior en comparación con métodos más sofisticados.
Debido a que la representación de Fourier de los datos ya se ha calculado, es especialmente conveniente utilizar el teorema de desplazamiento de Fourier con desplazamientos de valores reales (subenteros) para este propósito, que esencialmente interpola utilizando las funciones de base sinusoidales de la transformada de Fourier. Un estimador basado en FT especialmente popular es proporcionado por Foroosh et al. [1] En este método, la ubicación del pico del subpíxel se aproxima mediante una fórmula simple que involucra el valor del píxel pico y los valores de sus vecinos más cercanos, donde es el valor pico y es el vecino más cercano en la dirección x (asumiendo, como en la mayoría de los enfoques, que el desplazamiento entero ya se ha encontrado y las imágenes comparando difieren solo por un desplazamiento de subpíxel).
El método de Foroosh et al. es bastante rápido en comparación con la mayoría de los métodos, aunque no siempre es el más preciso. Algunos métodos desplazan el pico en el espacio de Fourier y aplican optimización no lineal para maximizar el pico del correlograma, pero estos tienden a ser muy lentos ya que deben aplicar una transformada de Fourier inversa o su equivalente en la función objetivo. [2]
También es posible inferir la ubicación del pico a partir de las características de fase en el espacio de Fourier sin la transformación inversa, como señaló Stone. [3] Estos métodos suelen utilizar un ajuste de mínimos cuadrados lineales (LLS) de los ángulos de fase a un modelo planar. La larga latencia del cálculo del ángulo de fase en estos métodos es una desventaja, pero la velocidad a veces puede ser comparable al método de Foroosh et al. dependiendo del tamaño de la imagen. A menudo se comparan favorablemente en velocidad con las iteraciones múltiples de funciones objetivo extremadamente lentas en métodos iterativos no lineales.
Dado que todos los métodos de cálculo de desplazamiento de subpíxeles son fundamentalmente interpolativos, el rendimiento de un método en particular depende de lo bien que los datos subyacentes se ajusten a los supuestos del interpolador. Este hecho también puede limitar la utilidad de una alta precisión numérica en un algoritmo, ya que la incertidumbre debida a la elección del método de interpolación puede ser mayor que cualquier error numérico o de aproximación en el método en particular.
Los métodos de subpíxeles también son particularmente sensibles al ruido en las imágenes, y la utilidad de un algoritmo particular se distingue no sólo por su velocidad y precisión, sino también por su resistencia a los tipos particulares de ruido en la aplicación.
El método se basa en el teorema de desplazamiento de Fourier .
Sean las dos imágenes y versiones desplazadas circularmente una de la otra:
(donde las imágenes están en tamaño).
Entonces, las transformadas de Fourier discretas de las imágenes se desplazarán relativamente en fase :
Luego se puede calcular el espectro de potencia cruzada normalizado para factorizar la diferencia de fase:
ya que la magnitud de una exponencial imaginaria siempre es uno, y la fase de siempre es cero.
La transformada de Fourier inversa de una exponencial compleja es una función delta de Dirac , es decir, un solo pico:
Este resultado podría haberse obtenido calculando directamente la correlación cruzada . La ventaja de este método es que la transformada de Fourier discreta y su inversa se pueden realizar utilizando la transformada rápida de Fourier , que es mucho más rápida que la correlación para imágenes grandes.
A diferencia de muchos algoritmos de dominio espacial, el método de correlación de fase es resistente al ruido, las oclusiones y otros defectos típicos de las imágenes médicas o satelitales. [4]
El método se puede ampliar para determinar las diferencias de rotación y escala entre dos imágenes convirtiendo primero las imágenes a coordenadas log-polares . Debido a las propiedades de la transformada de Fourier , los parámetros de rotación y escala se pueden determinar de una manera invariante a la traslación. [5] [6]
En la práctica, es más probable que se trate de un simple desplazamiento lineal de , en lugar de un desplazamiento circular como lo requiere la explicación anterior. En tales casos, no será una función delta simple, lo que reducirá el rendimiento del método. En tales casos, se debe emplear una función de ventana (como una ventana gaussiana o de Tukey) durante la transformada de Fourier para reducir los efectos de borde, o las imágenes deben rellenarse con ceros para que los efectos de borde se puedan ignorar. Si las imágenes consisten en un fondo plano, con todos los detalles situados lejos de los bordes, entonces un desplazamiento lineal será equivalente a un desplazamiento circular, y la derivación anterior se mantendrá exactamente. El pico se puede agudizar utilizando correlación de bordes o vectorial. [7]
En el caso de imágenes periódicas (como un tablero de ajedrez o una cerca de estacas), la correlación de fase puede producir resultados ambiguos con varios picos en la salida resultante.
La correlación de fase es el método preferido para la conversión de estándares de televisión , ya que deja menos artefactos.
General
Televisión