Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

89
UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio PRESENTA Ing. Sotero Ordoñes Nogales PARA OBTENER EL GRADO DE Maestro en Ciencias en Ingeniería Electrónica y Computación DIRECTOR Dr. Jorge Luis Flores Núñez CO-DIRECTOR Dr. José Antonio Muñoz Gómez Guadalajara, Jalisco. Agosto de 2016

Transcript of Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

Page 1: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

UNIVERSIDAD DE GUADALAJARACENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS

Algoritmo Iterativo Eficiente para elAnálisis de Interferogramas conCorrimiento de Fase Aleatorio

PRESENTAIng. Sotero Ordoñes Nogales

PARA OBTENER EL GRADO DEMaestro en Ciencias en Ingeniería Electrónica y Computación

DIRECTORDr. Jorge Luis Flores Núñez

CO-DIRECTORDr. José Antonio Muñoz Gómez

Guadalajara, Jalisco. Agosto de 2016

Page 2: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 3: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

A mi Mamá por enseñarme quea veces conviene soñar.

Page 4: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 5: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 6: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 7: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 8: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 9: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 10: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 11: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Agradecimientos

Aprende algo. Andar por los

caminos enseña mucho.

Juan Rulfo

He llegado al final de una pequeña travesía en el viaje de la vida; durante éste trayectohe adquirido experiencia que han dejado estelas imborrables. Este marinero no es nadie sinla ayuda de aquellos que lo han acompañado en el barco. Quiero agradecer a esas personascon las que no sólo compartí este viaje, sino colaboraron en la toma del rumbo, me refieroa la tripulación:

A mi familia. Por estar allí siempre apoyándome, toda la paciencia y esfuerzo que hanrealizado para ver cumplido este sueño. Especialmente a mi señora madre a quien no mealcanzará toda una vida, ni cada una de las palabras del mundo para agradecer por todolo que ha hecho por mi. A mis hermanos Juan, Isabel, Angelina y Julio que sin su ayudaésto no sería posible.

Al Dr. José Antonio. Gracias por su apoyo incondicional durante la realización delpresente documento, en particular, los cursos de análisis numérico y de mínimos cuadra-dos.Además, como olvidar las tardes de café en las que discutimos los métodos multigridy otros temas. En especial agradezco por encaminar mi formación profesional y personal.

Al Dr. Jorge Luis. Gracias por sus lecciones académicas, por su paciencia, consejos enla escritura de los trabajos académicos pero sobre todo; gracias por su apoyo que me hanpermitido cumplir esta meta.

A los doctores Manuel, Guillermo y Osbaldo. Gracias por todas las lecciones ysu dedicación para arrojar luz en los temas obscuros de la metrología óptica. Dr. Manuelgracias por hacer de esa estancia en el CIO toda una experiencia académica y personal. Dr.Guillermo gracias por apoyo y sus aportaciones, alegrar las mañanas en UMOE, tambiénagradezco que me invitara a este programa de maestría. Dr. Osbaldo gracias por el cursode teoría de espacios vectoriales que esclareció ese mundo llamado álgebra lineal.

IX

Page 12: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

X Agradecimientos

Para llevar a puerto ésta pequeña embarcación colaboraron personas como los doctoresAbimael, Omar y Luis Isidro a quienes doy gracias por su valiosa amistad. En el mismo sen-tido, a mis compañeros Ricardo, Adriana, Roberto y muchas otras personas que por ahorame es imposible nombrar; todos esos momentos que hicieron divertida la travesía. Tambiénquiero agradecer al Consejo Nacional de Ciencia y Tecnología por poner el combustible delbarco a través de las becas asignadas.

Page 13: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Índice general

Índice de figuras XIII

Índice de tablas XV

Resumen XVII

1. Introducción 1

2. Metrología óptica 72.1. La naturaleza de la luz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2. Fenómeno de interferencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3. Interferometría óptica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.3.1. Interferómetros de división de frente de onda . . . . . . . . . . . . . 112.3.2. Interferómetros de división de amplitud . . . . . . . . . . . . . . . . 12

2.4. Proyección de franjas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Análisis de franjas 173.1. Método por transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . 183.2. Interferometría de corrimiento de fase . . . . . . . . . . . . . . . . . . . . . 19

3.2.1. Algoritmo de Carré . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2.2. Algoritmo de Hariharan . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.3. Algoritmo de 2+1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2.4. Algoritmo generalizado de mínimos cuadrados . . . . . . . . . . . . . 24

3.3. Desenvolvimiento de fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4. PSI aleatorio 314.1. El problema de los mínimos cuadrados . . . . . . . . . . . . . . . . . . . . . 314.2. Algoritmo Iterativo Avanzado . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2.1. Descripción matemática . . . . . . . . . . . . . . . . . . . . . . . . . 354.2.2. Esquema computacional . . . . . . . . . . . . . . . . . . . . . . . . . 39

XI

Page 14: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

XII Índice general

5. Incremento del desempeño computacional 415.1. Cómputo de alto desempeño . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1.1. Loop unrolling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.1.2. Procesamiento vectorial . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2. Estimación inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.2.1. Análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6. Resultados 556.1. Estimador inicial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.1.1. Datos sintéticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566.1.2. Datos experimentales . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.2. Desempeño computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

7. Conclusiones 63

Bibliografía 65

Page 15: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Índice de figuras

2.1. Metrología óptica: procedimiento para realizar una medición. . . . . . . . . 72.2. Diagrama esquemático de una onda electromagnética. . . . . . . . . . . . . 82.3. Superposición de dos ondas armónicas. . . . . . . . . . . . . . . . . . . . . . 92.4. Interferómetros de división de frente de onda: (a) de Young y (b) de Rayleigh. 112.5. Interferómetro de Twymman-Green para medir la topografía de un espejo M2. 132.6. Interferómetros de división de amplitud: (a) de Mach-Zehnder y (b) de Sagnac. 142.7. Configuración de un sistema de proyección de franjas. . . . . . . . . . . . . 15

3.1. Esquema de la variación de intensidad con diferencia de fase. . . . . . . . . 173.2. Espectro de Fourier para un patrón de franjas. . . . . . . . . . . . . . . . . 183.3. Respuesta de un dispositivo desplazador tipo PZT (línea sólida) versus res-

puesta ideal (línea punteada). . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4. Ejemplo de interferogramas sintéticos corridos en fase: (a) δ1 = 0, (b) δ2 =

π/2, (c) δ3 = π y (d) δ4 = 3π/2. . . . . . . . . . . . . . . . . . . . . . . . . . 213.5. Fase recuperada mediante el algoritmo de cuatro pasos: (a) mapa de distri-

bución de fase envuelta y (b) perfil de la fase estimada. . . . . . . . . . . . 223.6. Espectro de frecuencias radiales de un patrón de franjas con corrimiento de

fase α = ω0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.7. Representación esquemática del error de detuning: (a) FTF de un algoritmo

de tres pasos con datos desintonizados y, (b) diagrama fasorial. . . . . . . . 253.8. Algoritmos de PSI: sensibilidad al error lineal en el corrimiento de fase α. . 273.9. Función de fase desenvuelta y su interpretación como diferencia de camino

óptico: (a) mapa de distribución de fase y, (b) perfil del mapa de diferenciade camino óptico en micrómetros. . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1. Interpretación geométrica del problema de mínimos cuadrados. . . . . . . . 324.2. Diagrama esquemático para determinar los corrimientos de fase δk de un

conjunto de k interferogramas. . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.1. Tiempo de acceso a los niveles de memoria. . . . . . . . . . . . . . . . . . . 415.2. Rendimiento computacional con loop unrolling para IEEE-754 de precisión

simple: (a) AXPY, (b) COPY, (c) DOT, (d) SCAL y, (e) SUM. . . . . . . . 44

XIII

Page 16: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

XIV Índice de figuras

5.3. Rendimiento computacional con vectorización Intel AVX y loop unrollingpara IEEE-754 de precisión simple: (a) AXPY, (b) COPY, (c) DOT, (d)SCAL y, (e) SUM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.4. Tiempos de ejecución de diferentes versiones del producto punto con 256KBde datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.5. Relación del número de iteraciones con respecto a la estimación inicial. . . . 485.6. Representación gráfica de las raíces de Moivre del polinomio zn = 1: (a)

para n = 3 y (b) para n = 6. . . . . . . . . . . . . . . . . . . . . . . . . . . 515.7. Representación de una señal con diferentes mallas en el dominio de Fourier. 525.8. Magnitud de la DFT de un patrón de franjas, (a) malla fina y (b) malla

gruesa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.1. Patrones de franjas con ruido gaussiano aditivo de µ = 0 y σ = 0.08 confunción de fase: (a) plano, (b) gaussiana y, (c) función peaks. . . . . . . . . 55

6.2. Estimación de fase con el algoritmo AIA evaluando patrones de franjas sin-téticos con función de fase gaussiana y ruido blanco aditivo de µ = 0 yσ = 0.08, (a) fase envuelta estimada, (b) perfil de la fase estimada conrespecto a la solución analítica y, (c) residuos de fase estimada por AIA yempleando distintas mallas como estimador. . . . . . . . . . . . . . . . . . . 56

6.3. Patrones de franjas sinusoidales proyectados se emplea un casquete de esferacomo objeto de prueba, (a) objeto con las franjas proyectas, (b) franjasproyectadas sobre la pantalla de referencia, (c) fase envuelta estimada y (d)fase desenvuelta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.4. Tiempos de ejecución del algoritmo AIA con diferentes técnicas de compu-tación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Page 17: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Índice de tablas

6.1. Comparación de número de iteraciones de AIA vs. AIA con estimador inicial. 576.2. Comparación de la convergencia de AIA vs. AIA con estimador inicial. . . . 586.3. Tiempos de ejecución de AIA vs. AIA con estimador inicial. . . . . . . . . . 60

XV

Page 18: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 19: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Resumen

En análisis de franjas por interferometría de corrimiento de fase, no es posible controlarcon exactitud la cantidad de corrimiento de fase real, a causa de los errores de no-linealidady otros factores relacionados con el dispositivo desplazador. Por lo tanto, este error esintroducido en los interferogramas capturados. En la literatura se han reportado algoritmosde auto-calibración insensibles al error aleatorio de los corrimientos de fase, por ejemploel Algoritmo Iterativo Avanzado. Sin embargo, los métodos de auto-calibración tienen uncosto computacional elevado, por lo tanto, su empleo en aplicaciones en tiempo real estárestringido. En la presente tesis se propone un método para incrementar el rendimientocomputacional del Algoritmo Iterativo Avanzado desde dos enfoques: 1) mejorar el tiempode ejecución de cada iteración mediante técnicas de cómputo y, 2) reducir el número deiteraciones mediante un estimador inicial computacionalmente eficiente para determinar loscorrimientos de fase. El estimador inicial propuesto fue validado con patrones de franjassintéticos y experimentales; los resultados muestran una reducción mayor al 50 % en elnúmero de iteraciones. Con el estudio realizado, en promedio se incrementó el desempeñocomputacional del esquema en un factor de 10x, es decir, el tiempo de cómputo se redujoun orden de magnitud.

XVII

Page 20: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 21: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 1Introducción

A lo largo de la historia, el ser humano ha tenido la necesidad de medir propiedadesfísicas del mundo que lo rodea. Con esta finalidad ha fabricado distintos instrumentos quele han permitido comprender mejor la naturaleza y crear o mejorar nuevos productos, asísurge la necesidad de que los instrumentos empleados en las mediciones sean cada vez másexactos.

La metrología es la ciencia cuyo objeto de estudio son las propiedades físicas medi-bles, los sistemas de unidades, los métodos de medición y su evolución; garantizando sunormalización mediante la trazabilidad. Recientemente, la metrología dimensional ha ad-quirido un interés especial como consecuencia de las necesidades industriales y médicas,principalmente, para medir objetos y generar sus modelos tridimensionales. De hecho, lastécnicas empleadas para generar dichos modelos son clasificadas en dos categorías princi-pales: invasivas y no invasivas, las cuales está en función de su interacción con el objeto deprueba.

En las técnicas invasivas los instrumentos empleados se caracterizan por tener contactofísico con el objeto. Su principal ventaja es que no requieren de modelos matemáticos. Sinembargo, la resolución de la medición está restringida a consecuencia de la mecánica delinstrumento. Además, el tiempo requerido en cada medición es considerable dado que elinstrumento tiene contacto con toda la superficie del objeto a través de un estilete. Por otrolado, en las técnicas no invasivas los instrumentos no tienen interacción física con el objeto;su principal ventaja. El desarrollo reciente en hardware ha permitido crear dispositivos demedida que utilizan ondas acústicas, ópticas o magnéticas para realizar mediciones. Enestos instrumentos, los modelos matemáticos permiten recuperar y/o mejorar la exactitudde las mediciones.

En el área de óptica, existen diversas técnicas no invasivas para medir propiedadesfísicas. Por ejemplo, la visión estereoscópica utilizada en reconstrucción tridimensional deobjetos, la cual consiste en capturar imágenes del objeto mediante cámaras dispuestas enposiciones adecuadas. La principal ventaja del método es que no requiere de una fuente deiluminación específica. La desventaja del método es la localización de los puntos comunescuando se unen las imágenes [1]. Por otro lado, la técnica de triangulación láser está basadaen el principio de triangulación activa, los datos son obtenidos a partir de la proyección

1

Page 22: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

2 Capítulo 1. Introducción

de líneas láser sobre el objeto de prueba y el mapa de reflexión es capturado medianteuna cámara [2]. La ventaja de este método es su alta precisión, la cual está sujeta alcampo de visión del arreglo óptico y al ángulo de sensibilidad que debe ser elegido talque restrinja la sombras producidas por la topografía del objeto. Otra técnica óptica esla proyección de franjas, en la cual se emplea un vídeo-proyector y una cámara [3]; estatécnica también está basada en el principio de triangulación activa. La principal ventajade este método es su simplicidad del arreglo óptico y su desventaja radica principalmenteen que los patrones proyectados no son exactamente los generados, esto se debe al factorgamma del vídeo-proyector que introduce un término de distorsión no-lineal en los patronesde franjas generados mediante una computadora. La técnica de moiré consiste en proyectarun patrón sobre el objeto bajo prueba. Este patrón es generado al hacer pasar la luz a travésde una rejilla moduladora. Para distinguir la información del objeto de la información dela rejilla se emplea un patrón de referencia que contiene sólo la información de la rejilla yel patrón que inside sobre el objeto; la superposición de ambos genera el patrón de moirécon la información del objeto bajo prueba [4].

En el mismo sentido, la interferometría es una técnica no invasiva que emplea la luz paramedir propiedades físicas con la longitud de onda como unidad de medida. Las medicionesson determinadas en forma indirecta, dado que los valores observados son patrones de in-terferencia (valores de intensidad con cierta distribución) generados por la diferencia delcamino recorrido por la luz debido a la topografía del objeto; dicha distancia se manifiestacomo una diferencia de fase. Por lo tanto, los valores de la medición del objeto son de-terminados mediante la resolución de un problema inverso que busca determinar la causa,diferencia de fase, que genera el fenómeno observado, es decir el patrón de interferencia.

La interferometría de corrimiento de fase (PSI, por sus siglas en inglés) es una técnicaexacta utilizada principalmente para perfilometría, la cual requiere de al menos tres pa-trones de interferencia corridos en valores de fase conocido. Sin embargo, conmúnmentese utilizan más de tres patrones para reducir la influencia del ruido y otros factores queocurren durante la medición que afectan la exactitud de la misma [5]. Los corrimientos defase son introducidos principalmente utilizando un transductor piezo-eléctrico (tipo PZT)o con láminas retardadoras fabricadas para fracciones de longitud de onda. En la práctica,la cantidad de corrimiento de fase no es conocida con precisión debido a problemas conla calibración del dispositivo desplazador, éste error hace que se deteriore la precisión deltérmino de fase estimado.

Para reducir el error en la fase recuperada generado por los corrimientos inexactos,se ha abordado el problema desde dos enfoques. El primero consiste en mejorar la cali-bración del dispositivo PZT, cuya respuesta al voltaje aplicado es no-lineal, para ello sehan propuesto métodos como phase-lock que requiere de electrónica adicional y restringeque los corrimientos deben ser mayores a noventa grados [6]. Otro método consiste en ladetección de valores sinusoidales extremos donde los valores de calibración son obtenidosmediante un filtro diferenciador que detecta los valores extremos, el método es muy sensiblea la turbulencia generada por el aire [7]. En 2013, Ionita et al. [8] propusieron un méto-do de calibración in-line que obtiene los parámetros de calibración a partir de un ajustepolinomial de grado cinco lo cual implica un costo computacional muy elevado, donde losautores reportan un error de dispersión de 10 nanómetros, esto implica una incertidumbreaproximada de 6 grados cuando se emplea un láser de Helio-Neón. En general, un PZT de

Page 23: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capítulo 1. Introducción 3

buena calidad tiene un error de no linealidad menor al 1 %, además se presentan errorescomo histéresis y ruido térmico [6]. Lo anterior dificulta calibrar las pequeñas variacionesno-lineales como consecuencia que dichas variaciones no presentan repetitividad.

Un segundo enfoque para reducir la influencia del error en los corrimientos de fase es eldesarrollo de algoritmos matemáticos para estimar el corrimiento o esquemas insensibles adicho error. En este sentido, el desarrollo realizado por Servín et al. [9,10] permite diseñaresquemas robustos a error en los corrimientos bajo la restricción que las desviaciones enlos corrimientos sean homogéneos, sin embargo, los valores absolutos de fase introducidosno son determinados y una corrección fina no es posible. Otros esquemas permiten recu-perar la cantidad de corrimiento real que es utilizada para corregir la estimación del mapade distribución de fase, el trabajo de Farrell y Player [11] proponen estimar la cantidadde cambio de fase utilizando una figura de Lissajous y el ajuste a una elipse mediantemínimos cuadrados, sin embargo, su método tiene un buen desempeño si los corrimien-tos son cercanos a π/2 debido al ajuste del elipse. En la misma línea de investigación sehan propuesto algoritmos para determinar los corrimientos mediante los promedios de lasdesviaciones [12], con el producto punto de dos patrones de franjas [13–15], utilizando lasnormas de Hölder para matrices como L1 y L2 [16, 17], o empleando la ley de cosenoscon corrección mediante la varianza del ruido [18]. Estos esquemas fueron diseñados paraescenarios donde los corrimientos son cercanos a cero y aunado a ello la mayoría de esosesquemas son sensibles a las desviaciones generadas por el ruido en los datos.

Los algoritmos de auto-calibración son un enfoque que consiste en estimar el mapa defase y recalcular los corrimientos para corregir la primera estimación del mapa de fase.El esquema propuesto por Hu et al. [19] utiliza la transformada discreta del coseno pararecuperar el mapa de distribución de fase y los corrimientos son estimados mediante unmétodo determinista basado en gradiente. La ventaja del esquema es que el mapa de fasecompleto es calculado en una operación, cálculo de la transformada inversa del coseno.La principal desventaja del método es la estimación de los corrimientos que requiere unainicialización adecuada de los parámetros del algoritmos el cual es un proceso lento ycomputacionalmente costoso. En general, los algoritmos de auto-calibración corrigen enforma iterativa las estimaciones de la distribución de fase y los corrimientos, por ejemplolos trabajos propuestos en las referencias [20–26] están basados en mínimos cuadrados. Enparticular, el Algoritmo Iterativo Avanzado (AIA) propuesto por Wang y Han [23] es unesquema lineal iterativo derivado del principio de estimación-maximización. El método AIAutiliza la redundancia de información espacial para calcular iterativamente la distribución ylos corrimientos de fase mediante un esquema de mínimos cuadrados. En la literatura se hareportado que éste método tiene un error aproximado de 0.2 grados en la estimación de loscorrimientos de fase [27]. Sin embargo, la convergencia del método es lenta lo cual restringesu aplicación en problemas reales o en dispositivos con poder de cómputo restringido, porejemplo FPGAs y DSPs.

En el presente trabajo de tesis se propone un método para incrementar el desempeñocomputacional del Algoritmo Iterativo Avanzado desde dos enfoques, el primero es reducirel número de iteraciones y, el segundo incrementar la velocidad de cálculos aritméticos encada iteración.

Page 24: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

4 Capítulo 1. Introducción

JustificaciónComo se mencionó anteriormente, la interferometría de corrimiento de fase es una

técnica exacta, sin embargo, debido al ruido durante la adquisición de datos y el error en lacantidad de cambio de fase introducido, deteriora la exactitud de la medición. Para resolvereste problema se utiliza un mayor número de patrones de franjas y algoritmos robustos alerror en los corrimientos de fase, como el algoritmo AIA.

De la literatura es conocido que el método AIA tiene una convergencia lenta, es decirel número de iteraciones es elevada y por lo tanto el tiempo de cómputo es considerable,lo cual inhabilita su aplicación a problemas en tiempo real.

El presente trabajo de tesis está encauzado a incrementar el desempeño computacionaldel algoritmo AIA, lo cual permite que el esquema pueda ser utilizado con imágenes degrandes dimensiones y/o con un número mayor de patrones de franjas, sin que el tiempode cómputo se incremente dramáticamente. Con lo anterior, se busca obtener medicionesmás precisas en una misma unidad de tiempo empleando una mayor cantidad de datos.

Objetivo GeneralIncrementar el rendimiento computacional del algoritmo AIA (Advanced iterative algo-

rithm for phase extraction and randomly phase-shifted interferograms) empleando técnicasavanzadas de computación científica.

Objetivos particulares1. Estudiar diversas técnicas de ajuste de datos por mínimos cuadrados. Así como los

algoritmos de minimización aplicados a interferogramas basados en dicho métodonumérico.

2. Estudiar algoritmos de minimización por mínimos cuadrados aplicados a interfero-gramas.

3. Proponer un esquema numérico computacionalmente eficiente que permita reducirdrásticamente el número de iteraciones.

4. Investigar diversas técnicas avanzadas de cómputo de alto rendimiento: loop unro-lling, pipeline y vectorización.

5. Implementar el algoritmo desarrollado en el lenguaje de programación ANSI C ensus versiones serial y paralela.

6. Validar el esquema propuesto empleando inversión de interferogramas sintéticos yexperimentales.

La presente tesis está organizada de la siguiente manera: en el siguiente capítulo semuestra una introducción a la metrología óptica enfocada principalmente en describir laluz como un fenómeno electromagnético, así como la interferencia de la luz. Además, se

Page 25: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5

describe la interferometría óptica como una técnica para realizar mediciones con luz em-pleando interferómetros. En el capítulo tres se describe el proceso de análisis de franjas, conparticular interés en métodos de demodulación de interferogramas: método de transformadade Fourier y algoritmos para interferometría por corrimiento de fase. Además se descri-be el problema de desenvolvimiento de fase. En el capítulo cuatro se describe el métodode mínimos cuadrados con el enfoque algebraico, además, se detalla el Algoritmo IterativoAvanzado desde el punto de vista de método numérico. En el capítulo cinco se muestran lastécnicas computacionales empleadas para incrementar la intensidad de cómputo: cómputode alto desempeño y un estimador inicial. En el capítulo seis se muestran los resultadosprincipales del trabajo de tesis. Finalmente, en el capítulo siete se enlistan las conclusionesprincipales.

Page 26: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 27: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 2Metrología óptica

La metrología óptica es la rama de la óptica cuyo propósito es realizar mediciones em-pleando las ondas de luz como escala. Para ello se emplea, principalmente, la interferometríaóptica, la cual se basa en el fenómeno de interferencia mediante el modelo ondulatorio de laluz. Los instrumentos usados para inducir la interferencia de dos haces de luz son conocidoscomo interferómetros.

El procedimiento general de metrología óptica está descrito en los siguientes pasos (verFigura 2.1):

1. Adquisición de datos. El objetivo es obtener uno o más patrones de franjas; la infor-mación de la medición se encuentra en la fase. Las técnicas comúnmente empleadaspara adquirir los datos son la interferometría, moiré y proyección de franjas.

2. Demodulación. En este paso se extrae la fase de los patrones de franjas. Los métodosmatemáticos empleados normalmente estiman la función de fase envuelta.

3. Desenvolvimiento de fase. Este procedimiento tiene por objetivo estimar la funciónde fase continua a partir de la fase discontinua del paso anterior.

4. Interpretación de fase. En este paso se convierten las unidades de fase en unidadesque le den sentido físico a la medición.

Evidentemente el procedimiento anterior es la solución de un problema inverso por que serequiere estimar la función de fase (causa) a partir de los datos observados (efecto). Por

8

01234567

910

Figura 2.1: Metrología óptica: procedimiento para realizar una medición.

7

Page 28: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

8 Capítulo 2. Metrología óptica

Figura 2.2: Diagrama esquemático de una onda electromagnética.

lo tanto, el problema es bien planteado en el sentido de Hadamard –la solución existe y esúnica para cada dato, además, la solución depende continuamente de los datos–.

En el presente capítulo se realiza una descripción breve de la naturaleza de la luze interferencia. Además, se describen los interferómetros más conocidos. Finalmente, sedetalla el método de proyección de franjas.

2.1. La naturaleza de la luz

La luz es una forma de radiación electromagnética la cual puede ser caracterizada porla longitud de onda, su amplitud, la velocidad y dirección de propagación, así como la fase.Las ecuaciones de Maxwell describen completamente una onda electromagnética como laluz. En la Figura 2.2 se muestra el diagrama general de una onda luminosa, donde se puedeobservar la relación del campo eléctrico con el magnético. En el caso de interferometría elestudio está orientado principalmente al campo eléctrico, debido a que interesa la formade onda y no su física básica.

Sea una onda linealmente polarizada en la dirección x de frecuencia ν y que se estápropagando en la dirección z, entonces el campo eléctrico E está determinado por,

Ex = A cos (ωt− kz) ,

Ey = 0,

Ez = 0,

donde A es la amplitud que se mantiene constante conforme la onda se está propagando, esdecir, es una onda plana. La frecuencia angular ω y el número de onda k están determinadospor,

ω = 2πν, k = 2π/λ,

donde λ es la longitud de onda. El término «polarización» está relacionado con la orien-tación del campo eléctrico en función de la propagación en el tiempo. En el caso de po-larización lineal nos indica que la orientación se mantiene constante, es decir, el plano devibración de E es constante conforme se propaga la onda.

Page 29: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

2.2. Fenómeno de interferencia 9

Figura 2.3: Superposición de dos ondas armónicas.

2.2. Fenómeno de interferenciaEl fenómeno de interferencia óptica está fundamentado en el modelo del movimiento

ondulatorio de la luz, en este sentido, dos ondas E1 y E2 linealmente polarizadas puedenser expresadas como,

E1 (r, t) = E01 cos (k1 · r− ωt+ ε1) ,

E2 (r, t) = E02 cos (k2 · r− ωt+ ε2) .

Sea S = E1 + E1 el «vector de Poyting», entonces, la irradiancia debida a la superpo-sición de ambas ondas durante un periodo T está dado por el valor promedio del «vectorde Poyting», esto es I = ϵv

⟨(E1 + E2)

2⟩T

. Si despreciamos los valores de las constantesdel medio, la permitividad ϵ y la velocidad de la luz v en el medio, expandiendo el términocuadrático se tiene,

I =⟨E2

1 + E22 + 2E1 ·E2

⟩T=⟨E2

1

⟩T+⟨E2

1

⟩T+ 2 ⟨E1 ·E2⟩T .

Por la definición de irradiancia se obtiene,

I = I1 + I2 + I12,

donde I12 es conocido como el «término de interferencia» determinado por,

I12 = ⟨2 [E01 ·E02 cos (k1 · r− ωt+ ε1)× cos (k2 · r− ωt+ ε2)]⟩T .

Considerando el valor medio de una función y dado que el periodo T es mucho mayorque el periodo de la función armónica (T ≫ 2π/ω), entonces,

I12 = 2 ⟨E1 ·E2⟩T = E1 ·E2 cosϕ,

donde ϕ = k1 · r − ωt + ε1 − k2 · r − ε2 es la «diferencia de fase». Así la irradiancia de lainterferencia de las dos ondas observada durante un periodo T queda expresa como,

I = I1 + I2 + 2√

I1I2 cosϕ. (2.1)

La expresión anterior, nos indica que en varios puntos del espacio el valor de irradianciaserá máxima cuando ϕ sea un múltiplo par de π y, mínima cuando sea impar.

Page 30: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

10 Capítulo 2. Metrología óptica

En la Figura 2.3 se muestra el resultado de la superposición de dos ondas armónicascon una diferencia de fase de π/4. Considerando dos haces, cuyas ondas tienen las caracte-rísticas anteriores respectivamente, y con base en la Eq. (2.1), entonces, la distribución deintensidad en el plano perpendicular a la dirección de propagación de ambos haces, estarádeterminado en función de sus variables espaciales como,

I(x, y) = A(x, y) +B(x, y) cosϕ(x, y), (2.2)

donde I es el valor de intensidad, A es la intensidad de fondo, B es la visibilidad de lasfranjas y ϕ es la diferencia de fase. Por lo tanto, la irradiancia de un frente de onda duranteT es una distribución espacial de máximos y mínimos.

Es conocido que la interferencia con luz policromática puede observarse, el patrónque se obtiene es difuso y presenta coloraciones en la franjas (excepto en la central). Porello, se requiere cumplir ciertas condiciones tales que permitan que la imagen I(x, y) sea«observable» durante un periodo T suficientemente grande, para lo cual se requiere quelos dos haces sean coherentes, es decir, deben mantener una fase constante uno respectodel otro. Además las fuentes deben ser monocromáticas, es decir, de una misma longitudde onda.

2.3. Interferometría ópticaLa interferometría óptica, en adelante simplemente interferometría, es una técnica que

consiste en generar patrones de interferencia conocidos como interferograma y la informa-ción de la medición se encuentra cifrada en los valores de intensidad del mismo. Esta técnicaconsiste en las etapas: a) adquisición de datos en la cual se generan los interferogramas,b) demodulación de los datos y, c) interpretación de la información para determinar losvalores de la medición. En esta sección se trata la idea general del procedimiento de inducirel fenómeno de interferencia.

Los sistemas ópticos utilizados para inducir el fenómeno de interferencia son conocidoscomo interferómetros. La idea básica consiste en que dos haces viajen por caminos ópticosseparados y posteriormente hacerlos interferir. Uno de los haces es utilizado como referenciay el segundo para realizar la medición, estos son obtenidos a partir de la misma fuente deluz. En este sentido los interferómetros se puede clasificar en aquellos por «división defrente de onda» y los de «división de amplitud» [28]. El primer caso consiste en separar elfrente de onda en dos porciones, por ejemplo los interferómetros de Young y de Rayleighfuncionan bajo este concepto. En el segundo, los dos haces son obtenidos de la mismaporción del haz como son los casos de los interferómetros de Michelson, el Mach-Zehndery el Sagnac.

El objetivo en interferometría es determinar la diferencia de camino óptico (DCO) delos haces que se hacen interferir. La DCO está determinada por,

DCO =ϕλ

2π, (2.3)

donde λ es la longitud de onda de luz y ϕ es la diferencia de fase de los haces. Dado que λes un valor conocido entonces para determinar la DCO se debe determinar la diferencia de

Page 31: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

2.3. Interferometría óptica 11

(a) (b)

Figura 2.4: Interferómetros de división de frente de onda: (a) de Young y (b) de Rayleigh.

fase ϕ de la Eq. (2.2). Así, para λ = 638 nm y una diferencia de fase de π/4 se tiene unaDCO de 78 nm. La DCO está determinada por la configuración del sistema óptico utilizado,a continuación se describen algunos de los interferómetros ampliamente utilizados.

2.3.1. Interferómetros de división de frente de ondaInterferómetro de Young. Thomas Young propuso el interferómetro para discernirsobre la naturaleza de luz corpuscular u ondulatoria. En la Figura 2.4(a) se observa quea partir de la fuente S se obtienen dos fuentes puntuales coherentes (S1 y S2) colocandouna rejilla en una recta sobre el eje x y ésta rejilla se encuentra a una distancia D de unapantalla de observación (en la dirección de propagación). La distancia de la recta |S1S2| esd. Las fuentes S1 y S2 por provenir de la misma fuente S poseen la misma amplitud, suscampos eléctricos son paralelos y tienen la misma diferencia de fase para cualquier instantede tiempo. Considerando un punto P situado sobre la pantalla en el cual la amplitud deS1 = S2 = A, entonces, la intensidad en ese punto estará dado por

I = 4A2 cos2 δ

2,

donde la diferencia de fase se debe a la diferencia de los caminos ópticos recorridos. En elcaso que las ondas se estén propagando en el vacío, dicha diferencia estará en función dela diferencia de los caminos geométricos, es decir,

δ =2π

λ(S1 − S2) =

λd = cte.

Bajo el supuesto que S1 y S2 están emitiendo con la misma intensidad y que la diferencia|S1P − S2P | es muy pequeña (micrómetros). Entonces, las variaciones de las amplitudesde las dos ondas en P son despreciables. En este sentido la diferencia de fase δ está dada

Page 32: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

12 Capítulo 2. Metrología óptica

en función de distancia d y la ubicación de la pantalla, es decir,

δ =2πxd

λD= cte. (2.4)

Finalmente, si consideramos las dimensiones de la pantalla (respecto al eje x) entoncesse forma un patrón de interferencia. El patrón formado estará modulado debido a queconforme nos alejamos del centro la intensidad de una de las fuentes va a disminuir debidoa que tanto S1 como S2 son ondas esféricas, por lo tanto, su amplitud disminuye conformeel radio aumenta.

Interferómetro de Rayleigh. Desarrollado por Lord Rayleigh fue ideado para medirel índice de refracción de gases, líquidos y soluciones [28,29]. En la Figura 2.4(b) se observaque la fuente de iluminación S es colimada por la lente L1 y en la doble rendija el hazes dividido en dos fuentes S1 y S2. Los haces provenientes de dichas fuentes viajan através de los tubos T1 y T2, posteriormente atraviesan los compensadores de altura G1

y G2, respectivamente. Finalmente, los haces son enfocados por una segunda lente L2.Considerando que la longitud de camino óptico está dado por los cambios de índice derefracción, entonces se tiene

LCO =

m∑i=1

nidi,

donde ni es el i-ésimo índice de refracción y di es la distancia que viaja la luz para ni, asím es el total de cambios de índice de refracción. Por lo tanto, el frente de onda sufre unainclinación en función del ángulo de refracción del medio, el cual puede ser ajustado por uncompensador. En el caso donde se considera que el índice de refracción del tubo de pruebaes homogéneo, el número de franjas estará determinado por,

N =(n− 1)d

λ.

Las desventajas principales del sistema óptico son: se requiere un fuente puntual o linealpara una buena visibilidad de las franjas y éstas deben ser vistas con alta amplificaciónóptica.

2.3.2. Interferómetros de división de amplitudInterferómetro de Michelson (Twymman-Green). Inicialmente propuesto por Al-bert Michelson era iluminado con lámpara de gas y fue empelado para medir unidades delongitud, principalmente. Cuando se utiliza una fuente coliminada, entonces se habla de uninterferómetro en configuración Twymman-Green como se muestra en la Figura 2.5 [30].En la cual se observa el interferómetro dispuesto para medir la topografía de un espejo(M2 en la imagen). La fuente colimada corresponde a expandir y colimar el haz del láser.El elemento D1 divide el haz por su amplitud; una porción del mismo es dirigido hacia elespejo de referencia M1 y el resto hacia el espejo de prueba M2. Ambos haces son reflejadospor sus respectivos espejos con dirección hacia el divisor de haz para después dirigirse haciala dirección de la lente L1 donde ocurre la interferencia (D1 → L1). La lente L1 cumple

Page 33: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

2.3. Interferometría óptica 13

Figura 2.5: Interferómetro de Twymman-Green para medir la topografía de un espejo M2.

la función de expandir el resultado de dicha superposición. Si se supone que las distanciasde los brazos del interferómetro son equivalentes dD1→M1 = dD1→M2 para M2 = M1, esdecir, si el espejo M2 tiene las mismas características que M1, entonces, la «longitud decamino óptico» (LCO) es igual para los dos haces y la interferencia es constructiva paratodo el frente de onda. Cuando los espejos M1 = M2 y ambos son perpendiculares y ladiferencia |dD1→M1 − dD1→M2 | es mínima, entonces, el patrón de franjas son del tipo dedisco de Newton. Por lo tanto la «diferencia de camino óptico» (DCO) está dado por

DCO =∑m

ndM1 −∑p

ndM2 ,

donde se considera además el número de ocasiones que el haz atraviesa el divisor de haz.En el caso mostrado en la Figura 2.5, el frente de onda experimenta una deformación enfunción de la topografía del espejo bajo prueba M2 y, por lo tanto, la diferencia de DCOestá en función de ésta superficie.

Interferómetro de Mach-Zehnder. A finales del siglo XIX, los físicos Ludwig Machy Ludwig Zehnder propopusieron (en distintos trabajos) el interferómetro que lleva susnombres. En la Figura 2.6(a) se observa que un haz colimado incide sobre D1, una partees transmitida hacia M1 y el resto es reflejada hacia M2. Ambos espejos reflejan el haz queincide sobre ellos hacia D2. En la dirección D2 →Plano de Observación se superponen el hazque es reflejado por D1 y el haz que es reflejado por M1 y luego parcialmente transmitidopor D2. Dicha superposición de los haces coherentes produce un patrón de interferencia. Envirtud que la sepación de los dos haces puede ser tan amplia como se deseé, el interferómetrode Mach-Zender es muy sensible a los cambios del índice de refracción por la longitud decamino óptico debido al aspecto del patrón de interferencia [31]. El interferómetro de Mach-Zander es matemáticamente equivalente al de Michelson. El principal inconveniente coneste instrumento es la distancia de separación de los dos haces, además la alineación delmismo es difícil.

Interferómetro de Sagnac. La característica principal de éste interferómetro es queexisten dos caminos ópticos que son recorridos al mismo tiempo por dos haces de luz en

Page 34: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

14 Capítulo 2. Metrología óptica

(a) (b)

Figura 2.6: Interferómetros de división de amplitud: (a) de Mach-Zehnder y (b) de Sagnac.

dirección opuesta. Como se muestra en la Figura 2.6(b), el haz parcialmente transmitidopor D1 realiza el recorrido, D1 → M3 → M2 → M1 → D1, así la porción de haz quese transmite a través de D1 se hace interferir con el haz que ha realizado la direcciónopuesta. Debido a que los haces están superpuestos el interferómetro no es empleado enusos convencionales, sin embargo, es comúnmente utilizado como sensor de rotación [32].Considerando que la longitud de camino óptico para cada haz es L1 y L2 y que τ = LG/c esel tiempo que tarda la luz en recorrer la distancia geométrica del interferómetro, entonces,la diferencia de camino óptico está dado por,

∆L = L1 − L2 = (LG + ωL1τ)− (LG − ωL2τ),

donde ω es la velocidad angular de la luz, por lo tanto la diferencia de fase está determinadapor

δ = 2π∆L/λ.

Cuando la diferencia de camino óptico aumente la diferencia de fase aumentará.

2.4. Proyección de franjasEl método propuesto inicialmente por Rowe y Welford consiste en proyectar sobre un

objeto patrones de intensidad en forma de franjas, capturar las proyecciones sobre el objeto,finalmente, analizar las capturas para determinar las mediciones correspondientes, comopor ejemplo la superficie tridimensional de un objeto [3]. Con los avances tecnológicos,surge la proyección digital de franjas (DFP, por sus siglas en inglés) en la cual los patronesson generados digitalmente. La principal ventaja de la DFP es la sencillez del arregloexperimental que consta de un proyector comercial, una cámara CCD y una computadorapara el análisis. Las técnicas de DFP se pueden dividir por el número de capturas: deuna captura y de múltiples. Las de una captura permiten medir objetos en movimiento(rapidez). Mientras que las de múltiples capturas permiten obtener una mayor resolución.

Page 35: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

2.4. Proyección de franjas 15

Figura 2.7: Configuración de un sistema de proyección de franjas.

En las técnicas que requieren múltiples capturas se pueden emplear algoritmos de in-terferometría de corrimiento de fase para la demodulación de la misma. En este sentido,se utilizan patrones de tipo sinusoidales, triangulares o trapezoidales que son proyectadosen forma secuencial y son capturados con la CCD (acrónimo de charged-coupled device),donde no es estrictamente necesario que la cámara y el proyector estén sincronizados. Lasdeformaciones que sufren los patrones, debido a la topografía del objeto, contiene la infor-mación suficiente para recuperar los datos de la medición. Normalmente, las dimensionesde profundidad se determinan por algún método de triangulación.

El método de proyección de franjas presenta inconvenientes relacionados con el proyec-tor y con la cámara. Cuando los patrones son generados en escala de grises o monocromáti-cos, la no–linealidad de la cámara es despreciable en comparación con la del proyector [33].Así la respuesta del sistema de proyección queda representada como

IC(x, y) = [I(x, y)]γ , (2.5)

donde I(x, y) es la intensidad proyectada, IC(x, y) es la capturada y γ es el valor «gamma»del proyector, usualmente mayor a 1. En la Eq. (2.5) se muestra que los patrones capturadostienen armónicos de la misma señal; observar que [I(x, y)]γ es un polinomio de grado γ elcual puede ser representado como una combinación lineal de polinomios con base I(x, y).Por otro lado, cuando se proyectan patrones en RGB (un patrón del color de cada canal)surge el «crosstalk» (o diafonía cromática) que aparece como una respuesta no–lineal paracada canal así como el fenómeno de «aliasing» entre los canales adyacentes, esto es

ICr (x, y) = Ir(x, y) + αgrIg(x, y),

ICg (x, y) = Ig(x, y) + αrgIr(x, y) + αbgIb(x, y), (2.6)IC

b (x, y) = Ib(x, y) + αgbIg(x, y),

donde ICr , IC

g , ICb son los patrones capturados e Ir, Ig, Ib son los proyectados, respectiva-

mente en cada canal. Los coeficientes αgr, αbg, αgb son las contribuciones del patrón delcanal verde en el canal rojo, el canal azul al verde y el canal verde al canal azul [34].De las Eqs. (2.6) se puede inferir que los valores máximos de amplitud de los patronescapturados no son iguales entre ellos; lo cual sucede en la experimentación y entonces

Page 36: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

16 Capítulo 2. Metrología óptica

αgr = αbg = αgb. Además, los valores de fase nominal son afectados por un valor ∆δ, esteproblema se describe en los textos [33–35].

En la Figura 2.7 se muestra una configuración típica para el método de proyección defranjas, donde el eje óptico del proyector y de la CCD se encuentran en el mismo plano yes paralelo al plano de referencia el cual está situado a una distancia d de las pupilas delproyector y de la CCD. Los rayos principales del proyector y de la CCD tienen un ánguloθ que es la sensibilidad del cambio de fase. El objeto bajo prueba es colocado en el planode referencia hacia la CCD. Con estas consideraciones y basados en el diagrama (Figura2.7) la altura del objeto es determinada como,

∆z(x, y) =Tph

2πd∆ϕ, (2.7)

donde Tp es el periodo de los patrones capturados y ∆ϕ = ϕa − ϕb es la diferencia de faseen cada punto, tal que ϕa es el valor de fase en un punto a de la superficie del objeto y ϕb

es el valor de fase en el plano de referencia. Un proceso de calibración es requerido paradeterminar los valores necesarios de la Eq. (2.7), como por ejemplo el propuesto por Jia etal. [36] donde se emplean varios planos de referencia con lo cual se mejora considerablementela resolución.

En el presente trabajo de tesis se emplea el método de proyección de franjas con unaconfiguración experimental como la mostrada en la Figura 2.7. En el próximo capítulo sedescriben algoritmos para el análisis de franjas; desmodulación y desenvolvimiento de fase.

Page 37: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 3Análisis de franjas

En este capítulo se describe el procedimiento para extracción del mapa de distribuciónde fase de los patrones de franjas capturados. A partir de dicho mapa, se determina ladiferencia de camino óptico cuya interpretación es la información correspondiente a lamedición, es decir convertir los radianes a las unidades de la magnitud física medida.

Antes de abordar los esquemas para la extracción de fase se describen los conceptosnecesarios. Considere en una dimensión la Eq. (2.2) que describe la intensidad de un in-terferograma con respecto de tres variables: la luminosidad de fondo A(x), la modulaciónde la intensidad de las franjas B(x) y la diferencia de fase ϕ(x), como se muestra en laFigura 3.1. De hecho, la información requerida está contenida en la diferencia de fase, porlo tanto, es deseable determinar dichos valores a partir del modelo mencionado.

Diversas técnicas se han desarrollado para extraer la diferencia de fase ϕ(x, y) de la Eq.(2.2), se destacan aquellas basadas en la transformada de Fourier que consisten en extraerel espectro correspondiente a la diferencia de fase. Por otra parte, las técnicas basadasen el planteamiento de un sistema de ecuaciones que dan origen a la interferometría porcorrimiento de fase [5, 10].

En la siguiente sección se describe el procedimiento para la extracción de fase mediantela transformada de Fourier. En la sección dos se tratan algunos algoritmos de interferome-

Figura 3.1: Esquema de la variación de intensidad con diferencia de fase.

17

Page 38: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

18 Capítulo 3. Análisis de franjas

Figura 3.2: Espectro de Fourier para un patrón de franjas.

tría de corrimiento de fase. En la sección tres se aborda el problema de desenvolvimientode fase.

3.1. Método por transformada de FourierEl método introducido por Takeda et al. [37] basado en la transformada de Fourier,

consiste en extraer el espectro correspondiente a ϕ(x, y). La idea fundamental del métodoes la de introducir un frecuencia portadora f0, entonces la Eq. (2.2) queda representadacomo,

I(x, y) = a(x, y) + b(x, y) cos [ϕ(x, y) + 2πf0x] , (3.1)donde la frecuencia de la portadora está en la dirección x. Haciendo c(x, y) = 1/2b(x, y)eiϕ(x,y)

podemos representar la Eq. (3.1) en su forma compleja,

I(x, y) = a(x, y) + c(x, y)ei2πf0x + c∗(x, y)e−2πf0x, (3.2)

donde el superíndice de c(x, y) indica el complejo conjugado. La transformada de Fourierdel interferograma con respecto de x, está dada por

Fx I(x, y) = A (fx, y) + C (fx − f0, y) + C∗ (fx + f0, y) , (3.3)

donde F· es el operador asociado a la transformada de Fourier y las letras mayúsculasindican la pertenencia al dominio de las frecuencias.

En la Figura 3.2 se muestra el espectro de un interferograma donde C(fx − f0, y) es elintervalo de frecuencia que se desea recuperar como sigue,

C (fx − f0, y) = Fx I(x, y) ·H (fx − f0, y) , (3.4)

donde H (fx − f0, y) es un filtro que permite extraer el intervalo espectral deseado, verFigura 3.2. Posteriormente se traslada C (fx − f0, y) tal que quede centrado en el origenfx = 0. Finalmente, la diferencia de fase queda determinada por,

ϕW(x, y) = arctan Imc(x, y)Rec(x, y) , (3.5)

donde Re· y Im· representan las partes real e imaginaria de c(x, y), respectivamente. Elsub-índice de ϕ(x, y) indica que los valores de la diferencia de fase se encuentran envueltos

Page 39: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

3.2. Interferometría de corrimiento de fase 19

Figura 3.3: Respuesta de un dispositivo desplazador tipo PZT (línea sólida) versus res-puesta ideal (línea punteada).

con rango (−π, π].1 Por lo tanto, a la función de fase estimada se le aplica un operadorde desenvolvimiento W−1 tal que se eliminan las discontinuidades que normalmente sepresentan, es decir ϕ(x, y) = W−1ϕW(x, y) donde ϕ(x, y) es continua. Posteriormente,la diferencia de camino óptico es calculado mediante la Eq. (2.3). El problema de desen-volvimiento de fase se aborda posteriormente.

La principal fuente de error del método por transformada de Fourier es la pérdidade energía que ocurre durante la etapa de filtrado. Ventanas de Hamming y de Han sonutilizadas para compensar dicha pérdida.

3.2. Interferometría de corrimiento de faseLa técnica conocida como interferometría de corrimiento de fase (PSI, por sus siglas

en inglés) está basada en la idea de plantear un sistema de ecuaciones, el cual permitadeterminar la diferencia de fase. Como se observa en la Eq. (2.2) se tienen tres incógnitas(A,B, ϕ), entonces se requiere de al menos tres ecuaciones tal que el sistema formado porellas sea consistente. De hecho, el sistema es consistente si se aplica un corrimiento defase de referencia δ ∈ [0, 2π) a cada ecuación. Por lo tanto, cada interferograma estarárepresentado por,

I(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + δ] , (3.6)

donde δ = cte, es conocido como «el término de corrimiento de fase».Diversas técnicas se han desarrollado que permiten agregar el término de corrimiento

de fase: aplicando un cambio en la frecuencia, y modificando la diferencia de la longitudde camino óptico. En el último caso, destaca el dezplazamiento constante del frente deonda, o bien, el corrimiento como función de un ángulo producido por la inclinación de unespejo [5]. En el interferómetro Twymman-Green (Figura 2.5), los corrimientos de fase sonintroducidos mediante el desplazamiento del espejo M1 a lo largo del eje óptico. Para ellose utiliza un dispositivo piezo-eléctrico tipo PZT. En la Figura 3.3 se muestra la respuesta

1En la Eq. (3.5), la función arctan es el arco tangente de cuatro cuadrantes, en el presente trabajoutilizamos indistintamente arctan o tan−1 para referirnos a la misma función.

Page 40: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

20 Capítulo 3. Análisis de franjas

de un dispositivo PZT donde se observa una relación no-lineal entre el voltaje aplicadoy el desplazamiento experimentado. Para contravenir este problema se han desarrolladométodos de calibración teniendo por resultado una incertidumbre de 10 grados [6]. Perodado que dicho error de no-linealidad está influenciado por el material del piezo-eléctrico, lahistéresis y la temperatura de ambiente, entonces, la respuesta del dispositivo contendrá ungrado de no-linealidad después de la calibración y este error puede modelarse como ruidoaleatorio. Por lo tanto, la calibración del dispositivo no es suficiente cuando se requierealta exactitud en los corrimientos, es decir los corrimientos introducidos experimentaránuna variación absoluta de tipo aleatoria. En el presente trabajo de tesis se consideraninterferogramas cuyos corrimientos presentan el ruido descrito anteriormente.

A continuación realizamos una breve descripción de algunos algoritmos de corrimientode fase, cuya formulación se consideró que los corrimientos de fase están homogéneamenteespaciados. Con base en la Eq. (3.6), el sistema de ecuaciones construidos con los interfe-rogramas capturados está dado por,

I1(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + δ1] ,

I2(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + δ2] ,

...IM (x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + δM ] . (3.7)

Algunos métodos consisten en realizar ciertas disposiciones geométricas para simplificar laextracción de fase mediante operaciones sencillas, por ejemplo, los «algoritmos de tres» y«cuatro pasos».

El «algoritmo de tres pasos» requiere del número mínimo de interferogramas paradeterminar el mapa de fase del frente de onda. El procedimiento consiste en utilizar loscorrimientos δ = −α, 0, α con α como el valor absoluto de corrimiento de fase. Así, elsistema de ecuaciones queda representado como,

I1(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y)− α] ,

I2(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y)] ,I3(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + α] , (3.8)

cuya solución para algún α es,

ϕW(x, y) = tan−1

[g(α)

senα

]I1(x, y)− I3(x, y)

2I2(x, y)− f(x, y)

, (3.9)

A(x, y) =f(x, y)− 2I2(x, y) cosα

2g(α),

B(x, y) =

g(α) [I1(x, y)− I3(x, y)]2 + senα [2I2(x, y)− f(x, y)]2

12

2g(α) senα,

γ(x, y) =

g(α) [I1(x, y)− I3(x, y)]2 + senα [2I2(x, y)− f(x, y)]2

12

[f(x, y)− 2I2(x, y) cosα] senα,

Page 41: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

3.2. Interferometría de corrimiento de fase 21

(a) (b) (c) (d)

Figura 3.4: Ejemplo de interferogramas sintéticos corridos en fase: (a) δ1 = 0, (b) δ2 = π/2,(c) δ3 = π y (d) δ4 = 3π/2.

donde f(x, y) = I1(x, y)+I3(x, y) y, g(α) = 1−cosα. La función γ(x, y) es la visibilidad delas franjas, la cual indica la razón entre la intensidad de fondo y la moduladora. Esta infor-mación permite elegir los puntos (x, y) donde la modulación es buena para que la relaciónseñal a ruido sea adeacuada. De hecho, el umbral para los datos modulados normalmentese encuentra en el rango de 5-10 % [5].

Una variación interesante del «algoritmo de tres pasos» es cuando δ = π/4, 3π/4, 5π/4que simplifica los cálculos. En general, el método en cuestión es simple de utilizar y requiereel mínimo de datos. Sin embargo, este algoritmo es el más sensible a los errores como sedescribirá más adelante.

El «algoritmo de cuatro pasos» es un procedimiento simple que permite comprenderla idea fundamental para la extracción de la fase a partir de los patrones de intensidad.El procedimiento requiere de cuatro interferogramas corridos en fase, en particular, seintroduce un corrimiento de fase de π/2 como referencia, esto es

δi = 0, π/2, π, 3π/2; i = 1, 2, 3, 4.

Sustituyendo dichos valores en Eq. (3.7), se obtiene el sistema,

I1(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y)] ,I2(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + π/2] ,

I3(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + π] ,

I4(x, y) = A(x, y) +B(x, y) cos [ϕ(x, y) + 3π/2] , (3.10)

por la identidad trigonométrica cos(π/2 − θ) = sen θ, el sistema anterior queda descritocomo,

I1(x, y) = A(x, y) +B(x, y) cosϕ(x, y),I2(x, y) = A(x, y)−B(x, y) senϕ(x, y),

I3(x, y) = A(x, y)−B(x, y) cosϕ(x, y),I4(x, y) = A(x, y) +B(x, y) senϕ(x, y). (3.11)

Page 42: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

22 Capítulo 3. Análisis de franjas

(a) (b)

Figura 3.5: Fase recuperada mediante el algoritmo de cuatro pasos: (a) mapa de distribuciónde fase envuelta y (b) perfil de la fase estimada.

Las incógnitas son determinadas como,

ϕW(x, y) = tan−1

I4(x, y)− I2(x, y)

I1(x, y)− I3(x, y)

, (3.12)

A(x, y) = I1(x, y) + I2(x, y) + I3(x, y) + I4(x, y),

B(x, y) = 2[I4(x, y)− I2(x, y)]

2 + [I1(x, y)− I3(x, y)]2 1

2,

γ(x, y) =B(x, y)

A(x, y).

La Eq. (3.12) permite estimar la fase mediante el «algoritmo de cuatro pasos», cabeseñalar que, esta función se evalúa en cada píxel del patrón de intensidad. Como ejemplose consideran los patrones de interferencia sintéticos que se muestran en la Figura 3.4,al aplicar la Eq. (3.12) se obtiene la fase envuelta ϕW la cual se muestra en la Figura3.5. En dicho gráfico se puede observar las discontinuidades generadas por la función arcotangente y, por tanto debe ser desenvuelta para así obtener la fase continua. Por otro lado,cuando los patrones de franjas provienen de un interferómetro, la fase desenvuelta permitedeterminar la diferencia de camino óptico mediante la ecuación,

DCO(x, y) =λϕ(x, y)

2π, (3.13)

donde λ = 632.8 nm para un láser He-Ne. Dicho procedimiento será abordado más adelante.En la práctica, los algoritmos descritos anteriormente son susceptibles a los errores pre-

sentes durante la captura de los datos, por ejemplo vibraciones, cambios de temperatura,error de corrimiento de fase, etc. Distintos métodos se han desarrollado para contrarrestarlos efectos de dichas fuentes de error. En el resto de la sección se describen algunos algo-ritmos que contravienen los errores antes mencionados con especial énfasis en el error decorrimiento de fase.

3.2.1. Algoritmo de CarréEl trabajo realizado por Carré [38] es una variación del método de cuatro pasos, en

el cual se asume que los corrimientos son espaciados homogéneamente a una distancia

Page 43: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

3.2. Interferometría de corrimiento de fase 23

absoluta de 2α. Los valores δi están expresados como,

δ = −3α,−α, α, 3α .

Mediante manipulaciones matemáticas del sistema de ecuaciones formado por los patronesde intensidades Eq. (3.7), se determina la solución para ϕ(x, y) como sigue,

ϕ(x, y) = tan−1

tan[α(x, y)] [I1(x, y)− I4(x, y)] + [I2(x, y)− I3(x, y)]

[I2(x, y) + I3(x, y)]− (I1(x, y) + I4(x, y)

, (3.14)

donde α(x, y) es determinada como,

α(x, y) = tan−1

3[I2(x, y)− I3(x, y)]− [I1(x, y)− I4(x, y)]

[I1(x, y)− I4(x, y)] + [I2(x, y)− I3(x, y)]

12

. (3.15)

Sustituyendo tan[α(x, y)] en la Eq. (3.14) se obtiene,

ϕ(x, y) = tan−1

[3(I2 − I3)− (I1 − I4)][(I1 − I4) + (I2 − I3)]

12

(I2 + I3)− (I1 + I4)

, (3.16)

donde el numerador es el | sen[ϕ(x, y)]|, entonces ϕ(x, y) ∈ (0, π). En este sentido se deberealizar una «corrección de fase» en la Eq. (3.16) para que ϕ(x, y) esté en módulo 2π. Paradicho procedimiento se emplean las proporciones,

sen[ϕ(x, y)] ∝ I2(x, y)− I3(x, y),

cos[ϕ(x, y)] ∝ I2(x, y) + I3(x, y)− I1(x, y)− I4(x, y).

Con ello se determina el signo del numerador en la Eq. (3.16) para cada punto (x, y) [5].El algoritmo de Carré es robusto a errores de corrimiento de fase siempre y cuando esténuniformemente espaciados.

3.2.2. Algoritmo de HariharanEl método de cinco pasos propuesto por Hariharan et al. [39] requiere que los patrones

de intensidad adquiridos estén corridos en fase por α, tal que,

δ = −2α,−α, 0, α, 2α .

En forma análoga a los procedimientos anteriores, se determina la siguiente solución parael mapa de fase,

tanϕW(x, y) =senα senϕ(x, y)

(1− cos 2α) cosϕ(x, y) =2[I2(x, y)− I4(x, y)]

2I3(x, y)− I5(x, y)− I1(x, y), (3.17)

con α = π/2. Con base en la Eq. (3.17), cuando la diferencia de los corrimientos presentauna pequeña desviación ϵ (15, por mencionar), la diferencia entre la fase «verdadera»ϕ(x, y) y la calculada ϕ(x, y) es aproximada como,

∆ϕ(x, y) = ϕ(x, y)− ϕ(x, y) =ϵ2 sen 2ϕ(x, y)

4. (3.18)

Así el desarrollo (3.18) permite reducir el error nominal hasta en dos ordenes de magnitud[5, 39]. Este algoritmo se desarrolló con la suposición que ϵ es constante para todas lasintensidades capturadas.

Page 44: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

24 Capítulo 3. Análisis de franjas

Figura 3.6: Espectro de frecuencias radiales de un patrón de franjas con corrimiento defase α = ω0.

3.2.3. Algoritmo de 2+1El método propuesto por Angel y Wizinowich [40,41] aborda el problema de compensar

los errores introducidos por la turbulencia del ambiente. El algoritmo consiste en capturardos interferogramas desfasados 90 al mismo tiempo. El tercero es el promedio de los dospatrones con un corrimiento de 180, entonces los corrimientos son,

δ = 0,−π/2, 0 y π .

El mapa de diferencia de fase queda determinado como

ϕW(x, y) = tan−1 I2(x, y)− I3(x, y)

I1(x, y)− I3(x, y). (3.19)

En la ecuación anterior se puede observar que el tercer patrón reduce los picos productode las vibraciones, por lo tanto, si existe una desviación en los corrimientos de fase δi el errorcrecerá sin control. Como mencionan Schreiber y Bruning [5], el principal inconvenientepara implementar éste algoritmo está relacionado con el sistema óptico, una descripciónde la implementación del sistema óptico puede ser encontrada en la referencia [41].

3.2.4. Algoritmo generalizado de mínimos cuadradosLa formulación moderna de algoritmos para interferometría de corrimiento de fase

consiste en interpretar el método como un filtro que al ser aplicado a un conjunto depatrones Ik(x, y)Mk=1 permite estimar la función de fase buscada.

Por consistencia con los textos que emplean la formulación moderna representamos elvalor absoluto del corrimiento de fase mediante ω0, con lo cual ω0 = α. La transformada deFourier de un patrón de franjas sinusoidal corrido en fase, ver Eq. (3.6), está determinadapor,

I(ω) = aδ(ω) +b

2eiϕδ(ω − ω0) +

b

2e−iϕδ(ω + ω0), (3.20)

donde δ(ω) es la «delta de Dirac». El primer término de la ecuación corresponde al términode DC, el segundo y tercero a la frecuencia fundamental. En la Figura 3.6 se muestra elgráfico de la Eq. (3.20), donde el objetivo es conservar el término (b/2)eiϕδ(ω − ω0). Seah(t) un filtro lineal que cumple con el criterio de cuadratura, cuando se aplica el filtro alconjunto de interferogramas se obtine,

I(t) ∗ h(t) =M−1∑m=0

cnI(t−m),

Page 45: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

3.2. Interferometría de corrimiento de fase 25

(a) (b)

Figura 3.7: Representación esquemática del error de detuning: (a) FTF de un algoritmo detres pasos con datos desintonizados y, (b) diagrama fasorial.

donde cn son los coeficientes del filtro y,

h(t) =

M−1∑m=0

cnδ(t−m),

en forma equivalente en el espacio de Fourier se obtiene,

I(ω)H(ω)eiϕδ(ω − ω0).

Si bien el soporte de I(t) ∗ h(t) es t = 2M − 1, únicamente se utiliza el resultado hastat = M − 1 para estimar la señal analítica, es decir,

b

2H(ω)eiϕ = I(t) ∗ h(t)|t=M−1. (3.21)

La expresión anterior es la ecuación general para un PSA lineal [10], el término de laizquierda es conocido como la señal analítica. Finalmente, la función de fase buscada quedadeterminada por,

ϕ(x, y)W = Arg[b

2H(ω)eiϕ

]= Arg [I(t) ∗ h(t)|t=M−1]

= Arg [c0IM−1 + c1IM−2 + · · ·+ cM−1I0] , (3.22)

donde Arg(·) es el argumento del número complejo.Con base en la formulación anterior, el método propuesto por Surrel [42] puede expre-

sarse con respecto a su función de transferencia en frecuencia (FTF) como sigue,

H(ω) =

M−2∏m=0

[1− ei(ω+mω0)

]. (3.23)

Page 46: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

26 Capítulo 3. Análisis de franjas

donde M ≥ 3 para que el sistema sea bien planteado (en el sentido de Hadamard) [43], ylos corrimientos se determinan como ω0 = 2π/M o en su caso como múltiplos de 2π porla periodicidad de la transformada discreta de Fourier. Con base en la Eq. (3.23), la FTFdel método de cuatro pasos, ver Eq. (3.10), queda determinada como,

H(ω) =(1− eiω) (1− ei(ω+π/2)

)(1− ei(ω+π)

), (3.24)

donde se observa que el filtro elimina las frecuencias radiales 0,−π/2, π y la componenteπ/2 es conservada.

Ahora bien, si los patrones de franjas presentan error en el corrimiento de fase (∆α),entonces la FTF del algoritmo no estará sintonizada y ocasiona un «error de detuning».En la Figura 3.7(a) se muestra la FTF del método de cuatro pasos de la Eq (3.24). Comose observa, la señal se encuentra desintonizada por lo cual la componente negativa no escompletamente eliminada, y por lo tanto existe una contribución de energía a la señalfiltrada, es decir

I(ω)H(ω) =b

2H(ω0 +∆α)eiϕei(ω0+∆α) +

b

2H(−ω0 −∆α)e−iϕe−i(ω0+∆α), (3.25)

y la señal analítica queda determinada como,

Aeiϕ = |H(ω0 +∆α)| eiϕ + |H(−ω −∆α)| e−iϕ, (3.26)

como se observa en la Figura 3.7(b). Finalmente, la fase estimada por «error de detuning»puede ser expresada en términos trigonométricos como [10],

tan ϕ =|H(ω0 +∆α)| − |H(−ω0 −∆α)||H(ω0 +∆α)|+ |H(−ω0 −∆α)|

tanϕ. (3.27)

En la Eq. (3.26) se puede observar la necesidad de reducir la magnitud |H(−ω −∆α)| e−iϕ

para incrementar la exactitud de la estimación cuando el «error de detuning» esté presente.En adelante llamaremos error lineal de corrimiento de fase al caso de «error de detuning» dela Eq. (3.27), es decir, cuando todos lo patrones de franjas presenten un error de corrimiento∆α.

En la presente sección se describieron algunos algoritmos de la literatura para la ex-tracción de fase, dichos métodos son exactos en la medida que los corrimientos son exactos.Sin embargo, en la práctica la exactitud no está garantizada, por ejemplo cuando se utili-za un actuador piezo-eléctrico, la calibración inadecuada, la histéresis, no-linealidad, etc.,repercuten en un error en la fase nominal del desplazamiento deseado. En la Figura 3.8se muestra la sensibilidad de los algoritmos al error lineal en los corrimientos de fase, esdecir, cuando los valores α presentan una desviación (-20 % a 20 %) con respecto al valoróptimo del algoritmo, el eje-y representa

∣∣∣ϕ− ϕ∣∣∣ con ϕ el valor calculado. En la gráfica se

muestra que los métodos de tres y cuatro pasos presentan un crecimiento lineal respecto aun ∆α. Por otra parte, los algoritmos de Hariharan y de Carré son robusto a dicho error.Sin embargo, cuando los corrimientos δi no está uniformemente espaciados ninguno delos métodos descritos tiene la capacidad para mantener acotado el error, por lo tanto, esdeseable desarrollar algoritmos con dichas capacidades.

Page 47: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

3.3. Desenvolvimiento de fase 27

Figura 3.8: Algoritmos de PSI: sensibilidad al error lineal en el corrimiento de fase α.

3.3. Desenvolvimiento de faseEl procedimiento para el desenvolvimiento de fase consiste en recuperar los valores

originales de fase a partir de los valores principales (fase envuelta), es decir, se obtiene unmapa de fase continua a partir de uno discontinuo. Formalmente el problema puede serplanteado como,

ϕW =Wϕ = ϕ− 2πRound(

ϕ

), (3.28)

donde la función Round(x) redondea su argumento al entero más cercano para algún x ∈ Ry W es el operador de envolvimiento definido como,

Wθ def= arctan

(sen θ

cos θ

)(3.29)

tal que Wθ ∈ (−π, π] y arctan(·) es el arco tangente de cuatro cuadrantes. En la Eq.(3.29) se observa queW es sobreyectivo pero no inyectivo. Por lo tanto, el desenvolvimientode fase es un problema matemáticamente mal planteado. Sin embargo, el valor ϕ(x, y) esdependiente espacial y/o temporalmente, entonces, el contexto proporciona la informaciónnecesaria para poder realizar el desenvolvimiento.

El método propuesto por Itoh [44] consiste en desenvolver la fase progresivamente.Rescribiendo la Eq. (3.28) como sigue,

ϕ = ϕW ± 2πk(x), (3.30)

tomando la derivada discreta (D·) de la ecuación anterior,

Dϕ(x) = DϕW(x) ±D2πk(x)ϕ(x)− ϕ(x− 1) = ϕW(x)− ϕW(x− 1)± 2π [k(x)− k(x− 1)] , (3.31)

donde [k(x)− k(x− 1)] ∈ Z por propiedades del campo. Aplicando el operador de envol-vimiento,

WDϕ(x) =WDϕW ±D2πk(x) =WDϕW(x). (3.32)

Page 48: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

28 Capítulo 3. Análisis de franjas

La expresión anterior es un resultado muy importante; indica que la derivada de la faseenvuelta es equivalente a la derivada de la fase desenvuelta. Finalmente, la función de fasedesenvuelta es determinada como,

ϕ = ϕW(0) +

x−1∑n=0

WDϕ(n), (3.33)

y generalizando a N -dimensiones,

ϕ(r) = ϕW(r0) +

∫RW∇ϕ(r)dr, (3.34)

donde r es el vector de posición espacial, r0 es el punto inicial y R es la ruta de integración.Es conocido que el método de Itoh es sensible al ruido como consecuencia de la respuestafrecuencial del operador de derivada, lo cual restringe aplicación a datos experimentales.Sin embargo, establece el fundamento para métodos prácticos.

En la literatura se han reportado una gran cantidad de trabajos para resolver el pro-blema de desenvolvimiento de fase en 2-D. Los métodos propuesto pueden ser organizadosen tres categorías principales:

1. Algoritmos brach-cuts. Estos métodos propuestos inicialmente por Goldstein etal. [45] consisten en identificar los residuos y conectarlos mediante «brach-cuts». Enconcreto, estos algoritmos asumen que las discontinuidades de fase se encuentranen los caminos entre lo positivo y los residuos negativos, conocido como «brach-cuts». Éstos últimos conectan las cargas positivas y negativas, los cuales sirven comoun muro para la integración. Si se selecciona una ruta de integración la cual evitedichas discontinuidades, entonces, se determina una función de fase desenvuelta auto-consistente única. El objetivo es reducir al mínimo la longitud total de los «brach-cuts» dado que son los únicos lugares donde se permite una discontinuidad de fase.

2. Métodos de flujo de red. En ciencias de la computación, las teorías de flujo de redson ampliamente estudiadas y su principal ventaja es que éstos algoritmos propor-cionan medios para resolver las funciones objetivo, a diferencias de los algoritmos Lp.Similar a los métodos «brach-cuts», se basan en el mismo supuesto para determinarlas discontinuidades de la fase [46,47]. Sin embargo, en los algoritmos de flujo de redcuantifican explícitamente las discontinuidades píxel a píxel para después minimizarlas discontinuidades generales en el mapa de fase desenvuelta para lo cual se empleauna función de fiabilidad. Los bordes con mayor fiabilidad se desenvuelven prime-ro [48]. Los métodos como los propuestos en [49, 50] emplean costos estadísticos quepermiten reducir al mínimo las discontinuidades.

3. Minimizar la norma Lp. Consiste en formular el desenvolvimiento de fase comoun problema de determinar el mínimo de una función bajo una norma específica.El objetivo es determinar una función de fase cuyos gradientes, independientes entrayectoria, los cuales sean lo más cercano posibles a los gradientes de la fase en-vuelta (valores medidos). En particular, cuando se utiliza la norma L2 para medirel error de ajuste, el enfoque variacional tiene una solución analítica expresada por

Page 49: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

3.3. Desenvolvimiento de fase 29

(a) (b)

Figura 3.9: Función de fase desenvuelta y su interpretación como diferencia de caminoóptico: (a) mapa de distribución de fase y, (b) perfil del mapa de diferencia de caminoóptico en micrómetros.

la ecuación de Poisson con condiciones de frontera tipo Neumann. El método puedeser implementado eficientemente utilizando la trasformada rápida de Fourier y la delcoseno discreto [51, 52] o utilizando métodos multigrid [53]. Por otra parte, Ghilia yShipman [54] proponen un método generalizado para minimizar la función empleandola norma Lp. El método es eficaz, pero es computacionalmente costoso.

Recientemente, Rivera et al. [55] propuso el desenvolvimiento de fase como la minimi-zación de la función de costo,

U(ϕ, ω; ρ) =1

2

∑r∈L

∑s∈Nr

ω2rs

[(ϕr − ϕs − ρrs)

2 + λ (ϕr − ϕs)2]+ µ (1− ωrs)

2, (3.35)

donde Nr es el conjunto de píxeles vecinos al píxel r tal que para un s ∈ Nr que cumplen|ϕr − ϕs| < π y ∥r − s∥2 = 0, ρrs = W ϕW(r)− ϕW(s) = ϕr − ϕs en una retícula L enla cual está definido el mapa de diferencia de fase. Los términos λ, µ son parámetros delalgoritmo que suavizan el cálculo del residual y la sensibilidad para discontinuidades (defase) o detección de bordes, respectivamente. Los pesos ωrs ∈ [0, 1] están sujetos a,

(ϕr − ϕs − ρrs)2 + λ (ϕr − ϕs)

2 > µ.

Sea φr el residuo desenvuelto en r, tal que,

ϕ(k+1)r = ϕ(k)

r + φr, (3.36)

donde el índice k denota la k-ésima iteración y con φr − φs = ρrs = ρrs −(ϕ(k)r − ϕ

(k)s

).

El residuo φr queda determinado a partir de,

φ, ω = argminφ,ω

U(φ, ω; ρrs). (3.37)

El planteamiento anterior es un medio robusto para contravenir los residuos que sean ma-yores a π, es decir ∃(r, s) : |ϕr−ϕs| > π, este problema es producto de las discontinuidades

Page 50: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

30 Capítulo 3. Análisis de franjas

en la fase envuelta y de ruido de la misma. Finalmente, el mapa de diferencia de fase desen-vuelto ϕ es determinado iterativamente a partir de la Eq. (3.36). En el presente trabajo detesis se utiliza la implementación de la referencia [56].

En la sección anterior se ilustró un ejemplo para la extracción de fase donde se empleóel algoritmo de cuatro pasos. En la Figura 3.9 se muestra la fase desenvuelta obtenida y elperfil de la diferencia de camino óptico calculada mediante la Eq. (3.13). Se observa quela DCO para el frente de onda responde a un ángulo α del plano perpendicular al eje depropagación. Naturalmente, en la recuperación de la información de medición es necesarioreducir el rango de incertidumbre, en el siguiente capítulo se describe un algoritmo iterativoque contraviene la no-homogeneidad de los corrimientos de fase.

Page 51: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 4PSI aleatorio

En el presente capítulo se aborda el problema de recuperación de fase cuando los interfe-rogramas están corridos en fase aleatoriamente, para ello se emplea un algoritmo basado enel método de los mínimos cuadrados. En la primera sección se introduce al método generalde los mínimos cuadrados lineales. En la segunda sección, se realiza el desarrollo matemá-tico para extraer el mapa de fase envuelto. Además, se aborda el modelo computación deesquema.

4.1. El problema de los mínimos cuadrados

En problemas relacionados con mediciones físicas, las observaciones son frecuentementerepresentadas con un modelo no-lineal. En la práctica, se busca aproximar a dichos modelosmediante funciones lineales, con el objetivo de simplificar tanto su resolución como su aná-lisis. Generalmente, la linealización de modelo conduce a un planteamiento por mínimoscuadrados lineales, especialmente cuando se desea reducir la influencia de los errores alea-torios. La idea principal consiste en resolver un sistema de ecuaciones sobre-determinadotal que minimiza la suma de los cuadrados de los residuos; criterio del «mínimo error cua-drático». En el resto de la sección se describe el método de los mínimos cuadrados sobreun espacio de Hilbert real.

Considere el planteamiento por mínimos cuadrados del ajuste de una curva a un con-junto de datos como sigue,

argminc∈Rn

∥y −Ac∥22 , (4.1)

donde ∥·∥2 es la norma euclidiana, A ∈ Rm×n y y, c ∈ Rm, son los datos y el vector decoeficientes, respectivamente. Por lo tanto, se busca determinar un vector c tal que la sumade los cuadrados sea mínima.

El espacio columna de A esta definido como,

R(A) = z = Ac | c ∈ Rn , (4.2)

31

Page 52: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

32 Capítulo 4. PSI aleatorio

Figura 4.1: Interpretación geométrica del problema de mínimos cuadrados.

y el espacio nulo de AT esta dado por,

N(AT)=y ∈ Rm |AT y = 0

, (4.3)

donde N(AT)

es el complemento ortogonal de R(A) en Rm. En la Figura 4.1 se muestra lainterpretación geométrica, el vector de residual r ∈ N

(AT), y y /∈ R(A). Por conveniencia

se reescribe r = y −Ac, entonces el cuadrado de la norma euclidiana de r está dada por,

∥r∥2 = ⟨r, r⟩ = rT r = yT y − 2cTAT y + cTATAc. (4.4)

La solución del problema de acuerdo a la Eq. (4.1) es determinar un c tal que ∥r∥2 seamínima. De cálculo es conocido que el mínimo para ∥r∥22 se localiza donde el gradiente escero (con respecto de c), es decir,

∇c ∥r∥2 = 2ATAc− 2AT y = 0.

Por lo tanto,ATAc = AT y, (4.5)

donde AT y ∈ R(AT)= R

(ATA

). Si la matriz ATA es no singular implica que la Eq.

(4.5) es una solución particular para el problema de mínimos cuadrados; dicha soluciónes conocida como «el sistema de ecuaciones normales». La solución del sistema quedadeterminada como,

c =(ATA

)−1AT y, (4.6)

donde(ATA

)−1AT es la pseudoinversa generalizada de Moore-Penrose de A [57], entonces

el vector de residual queda expresado de la siguiente manera,

r = y −A(ATA

)−1AT y. (4.7)

El sistema de ecuaciones (4.5) tiene solución no trivial siempre que la matriz A sea de rangocompleto, esto implica que ATA es una matriz cuadrada no singular simétrica y definidapositiva.

Demostración: A es de rango completo. Si A es de rango completo implica que ATA es nosingular. Suponemos que ATA es singular, entonces es de rango deficiente. Esto implicaque para x = 0 se cumple ATAx = xTATAx = 0, luego ∥Ax∥22 = 0. Por lo tanto, A nece-sariamente debe ser singular y de rango deficiente. Ahora bien, como ATA es no singularse satisface que xTATAx = ∥Ax∥22 > 0 y ATA debe ser definida positiva.

Page 53: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

4.1. El problema de los mínimos cuadrados 33

Ahora analizaremos la solución de mínimos cuadrados desde el punto de vista geo-métrico. Sea S = c ∈ Rn | ∥y −Ac∥2 = mín el conjunto de soluciones del problema demínimos cuadrados, se considera el caso cuando S ⊂ Rm es un subespacio. Sea el operadorde proyección ortogonal PS : Rm −→ S con PS ∈ Rm×m, entonces S es la imagen de PS ,es decir S = R(PS) y se cumplen,

P2S = PS , PT

S = PS , (4.8)

considerando (I −PS) como el operador de proyección del subespacio complementario alde S. Ahora bien, sea P1,P2 : Rm −→ S proyectores ortogonales y w ∈ Rm, por la Eq.(4.8) se tiene,

∥(P1 − P2)w∥22 = wTP1 (I − P2)w + wTP2 (I −P1)w = 0, (4.9)

entonces, necesariamente P1 = P2 y el operador PS es único. A partir de la interpretacióngeométrica, sea PR(A) el operador de proyección ortogonal de Rm sobre R(A), tal que,

Ac = PR(A)y, (4.10)

donde Ac⊥r, r =(I − PR(A)

)y, luego y = Ac + r con Ac ∈ R(A) y r ∈ N (AT ). Por lo

tanto, Ac es la proyección ortogonal de y en R(A). Para A de rango completo, el operadorPR(A) queda definido como,

PR(A) = A(ATA

)−1AT . (4.11)

Ahora bien, si A es de rango deficiente, entonces tiene un espacio nulo no trivial y lasolución de mínimos cuadrados no es única. Sin perder la generalidad, a continuación sedefine el problema de los mínimos cuadrados.

Definición (Problema de los mínimos cuadrados). Determinar un x∗ tal que mini-mice,

F (x)def=

1

2∥F (x)∥22 =

1

2

m∑i=1

[fi(x)]2 , (4.12)

donde fi son funciones tal que fi : Rn −→ R, i = 1, 2, . . . ,m con m ≥ n.

En la definición anterior se considera que x∗ es un minimizador local para la funciónobjetivo F . En general, determinar el minimizador global x+ es difícil, por tanto, se buscaun x∗ tal que F (x∗) ≤ F (x) para ∥x− x∗∥2 < ϵ, con ϵ un umbral de error. Asumiendo quela función F (x) es suave, entonces, un valor cercano F (x+ h) está determinado por,

F (x+ h) = F (x) + hTF ′(x) +1

2hTF ′′(x)h+O

(∥h∥32

). (4.13)

Si no existe un valor F (x + h) menor que F (x∗) implica que x∗ es un minimizador local(para lo cual se requiere que ∥h∥2 sea suficientemente pequeño). De hecho, si x∗ es unminimizador implica que F ′(x∗) ≡ 0. En este sentido, la solución del problema abordadoes determinar x∗.

Page 54: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

34 Capítulo 4. PSI aleatorio

En el área de análisis numérico se han desarrollado una gran cantidad de métodosnuméricos que permiten resolver numéricamente problemas modelados con mínimos cua-drados. De hecho, el método numérico elegido dependerá principalmente de la dimensiónde los datos y la base de funciones. Para un mayor análisis y aplicaciones de los distintosmétodos se puede consultar los textos [57,58].

En la siguiente sección se plantea una solución por mínimos cuadrados para la extracciónde fase con corrimientos aleatorios.

4.2. Algoritmo Iterativo AvanzadoEn la presente sección se describe el desarrollo matemático del algoritmo de extracción

del corrimiento de fase aleatorio propuesto por Wang y Han [23]. Considere que la distri-bución de la intensidad de un patrón de interferencia capturado por una cámara se puedeexpresar matemáticamente como,

Ii = Ai +Bi cos(ϕi + δ), (4.14)donde Ai es la intensidad de fondo, Bi es la modulación de franjas, ϕi es la fase angular y δes un corrimiento de fase generalmente conocido, el subíndice i corresponde al indexado depíxeles del interferograma tal que 1 ≤ i ≤ N , con N como el total de píxeles en la imagen.

A partir de la Eq. (4.14), un conjunto de interferogramas queda descrito como,Iki = Ak

i +Bki cos(ϕi + δk), (4.15)

donde k es el índice de la imagen. En la Eq. (4.15) observamos que los patrones de franjastienen distintos corrimientos de fase δk ∈ [0, 2π), y el número total de imágenes estádeterminado por M .

La solución del problema de la Eq. (4.15) es especialmente compleja por el número devariables y la no-lineal de las mismas, como puede observarse en la siguiente función deerror,

Γ(ϕ, δ)def=

N∑i=1

[Ai +Bi cos (ϕi + δk)− Iki

]2, (4.16)

en el planteamiento anterior asumimos que la intensidad de fondo y la modulación no variaentre los patrones capturados, es decir sólo están en función de la distribución espacial.Para reducir la complejidad, la Eq. (4.16) se plantea como un método iterativo por pasostal que en cada iteración se optimice alternando las variables, es decir,

Mientras∥∥∥δ(n+1) − δ(n)

∥∥∥ > η

(1) ϕ(n+1) ← argminΓ(ϕ; δ(n)

)(4.17)

(2) δ(n+1) ← argminΓ(δ;ϕ(n+1)

), (4.18)

donde n + 1 es la iteración actual. El algoritmo propuesto por Wang y Han [23] consisteen abordar los problemas no-lineales de las Eqs. (4.17) y (4.18) mediante un enfoque delinealización que no conlleva a un esquema iterativo lineal por mínimos cuadrados. Esto sedescribe en el resto de la presente sección.

Page 55: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

4.2. Algoritmo Iterativo Avanzado 35

4.2.1. Descripción matemáticaComo primer paso abordamos la solución de la Eq. (4.17) la cual permite determinar

el mapa de distribución de fase. Posteriormente se resuelve la Eq. (4.18) con la cual sedeterminan los corrimientos.

Determinar ϕi. Desde un punto de vista teórico, la intensidad de fondo (Ai) y la mo-dulación de amplitud (Bi) en la Eq. (4.15) no necesariamente deben cambiar entre losinterferogramas. Por lo tanto, suponemos que Ai y Bi se mantienen constantes para todaslas imágenes, entonces,

ai = Aki , βi cos(ϕi + δk) = Bk

i cos(ϕi + δk). (4.19)

Sustituyendo la Eq. (4.19) en (4.15) y aplicando la identidad trigonométricacos(x± y) = cosx cos y ∓ senx sen y se obtiene,

Iki = ai + βi (cosϕi cos δk − senϕi sen δk) , (4.20)

definiendo bi = βi cosϕi y ci = −βi senϕi, la Eq. (4.20) queda definida como un problemalineal de la forma,

Iki = ai + bi cos δk + ci sen δk, (4.21)

donde ai, bi y ci son las incógnitas. Para estimar dichos parámetros a, b, c, plantearemosel esquema de mínimos cuadrados en términos del error acumulado entre un valor teóricoIi y el observado Ii,

εi =M∑k=1

(Iki − Iki

)2. (4.22)

El valor teórico se sustituye por el planteamiento de la Eq. (4.21), es decir,

εi =

M∑k=1

[ai + bi cos δk + ci sen δk − Iki

]2. (4.23)

La expresión anterior es la función de costo que se desea minimizar.Es conocido que el valor óptimo de una función cuadrática está localizado donde la

deriva sea cero. Por lo tanto, el mínimo de la función εi está determinado por,

∂εi∂ai

= 0,∂εi∂bi

= 0,∂εi∂ci

= 0. (4.24)

A continuación se realiza el desarrollo matemático para determinar el punto críticodado por la Eq. (4.24). Considerando la derivada parcial de εi con respecto de ai igual a0, es decir,

∂εi∂ai

=∂

∂ai

M∑k=1

[ai + bi cos δk + ci sen δk − Iki

]2= 0.

Page 56: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

36 Capítulo 4. PSI aleatorio

Expandiendo el término de sumatoria anterior

∂εi∂ai

=∂

∂ai

[ai + bi cos δ1 + ci sen δ1 − I1i

]2+

∂ai

[ai + bi cos δ2 + ci sen δ2 − I2i

]2...

+∂

∂ai

[ai + bi cos δM + ci sen δM − IMi

]2= 0,

donde el súper-índice 1, 2, . . . ,M indica el índice del interferograma observado. Sea fkMk=1

un conjunto de funciones tal que,

fkMk=1 = ai + bi cos δk + ci sen δk,

sustituyendo fk para simplificar la ecuación diferencial tal que,

∂εi∂ai

=∂

∂aif21 +

∂aif22 + · · ·+ ∂

∂aif2M = 0.

Aplicando la «regla de la cadena» se determina la derivada como,

∂εi∂ai

= 2f1 · f ′1 + 2f2 · f ′

2 + · · ·+ 2fM · f ′M = 0,

donde ∂fk/∂ai = 1. Sustituyendo fk y expresando la ecuación anterior en términos desumatoria se obtiene,

∂εi∂ai

= 2

M∑k=1

[ai + bi cos δk + ci sen δk − Iki

]= 0. (4.25)

En forma análoga se desarrolla la derivada con respecto bi [Eq. 4.24],

∂εi∂bi

= 2f1 · f ′1 + 2f2 · f ′

2 + · · ·+ 2fM · f ′M = 0,

con ∂fk/∂bi = cos δk, y expresando lo anterior en términos de una sumatoria se obtiene,

∂εi∂bi

= 2M∑k=1

[ai cos δk + bi cos2 δk + ci sen δk cos δk − Iki cos δk

]= 0. (4.26)

Finalmente, en la última expresión de la Eq. (4.24) se obtiene ∂fk/∂ci = sen δk. Comoen los casos anteriores, se expresa ésta en términos de una sumatoria teniendo por resultadola siguiente ecuación,

∂εi∂ci

= 2

M∑k=1

[ai sen δk + bi cos δk sen δk + ci sen2 δk − Iki sen δk

]= 0. (4.27)

Page 57: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

4.2. Algoritmo Iterativo Avanzado 37

Transcribiendo las Eqs. (4.25–4.27) como un sistema de ecuaciones lineales en su formamatricial Ax = y. La matriz de coeficientes queda representada como,

A =

M

M∑k=1

cos δkM∑k=1

sen δk

M∑k=1

cos δkM∑k=1

cos2 δkM∑k=1

sen δk cos δkM∑k=1

sen δkM∑k=1

cos δk sen δkM∑k=1

sen2 δk

, (4.28)

el vector de términos independientes tiene la forma,

y =

[M∑k=1

Iki ,M∑k=1

Iki cos δk,M∑k=1

Iki sen δk

]T, (4.29)

y el vector de incógnitas,x = [ai, bi, ci]

T . (4.30)

Los valores óptimos en el sentido de mínimos cuadrados para x están dados por la solucióndel sistema lineal de ecuaciones, es decir,

x = A−1y, (4.31)

donde A−1 es la matriz inversa de A. Para garantizar que exista la matriz inversa de A serequiere de al menos tres interferogramas (o corrimientos de fase δk). Con base en el vectorsolución x, podemos determinar el valor de la fase en i-ésimo píxel (ϕi) como,

ϕi = tan−1

(−cibi

), i = 1, 2, . . . , N. (4.32)

Cabe señalar que el sistema de ecuaciones lineales de la Eq. (4.31) debe ser resuelto paracada píxel de la imagen. Además, el valor estimado de ϕi está envuelta, es decir, ϕi ∈[−π, π).

Determinar δk. Ahora se considera que la intensidad de fondo A y la modulación deamplitud B no tienen variación con respecto a los píxeles. El escenario anterior se puededescribir matemáticamente por,

Iki = Ak +Bk [cosϕi cos δk − senϕi sen δk] , (4.33)

donde observa que Ak y Bk se mantienen constantes en toda la imagen Ik.Mediante el cambio de variable a′k = Ak, b′k = Bk cos δk y c′k = −Bk sen δk, se reescribe

la Eq. (4.33) como el modelo lineal,

Iki = a′k + b′k cosϕi + c′k senϕi, (4.34)

Page 58: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

38 Capítulo 4. PSI aleatorio

donde ϕi fue determinado por la Eq. (4.32). Las incógnitas a′k, b′k y c′k son determinadas a

partir de la suma de los cuadrados de los residuos, es decir,

ε′k =

N∑i=1

(Iki − Iki

)2, (4.35)

donde Iki es el valor teórico del interferograma e Iki es la distribución de intensidad obser-vada. Sustituyendo Iki por el modelo lineal (4.34) se obtiene,

ε′k =

N∑i=1

[a′k + b′k cosϕi + c′k senϕi − Iki

]2, (4.36)

donde N corresponde al número de píxeles en la imagen. De forma análoga al apartadoanterior, el mínimo para ε′k está sujeto a:

∂ε′k∂a′k

= 0,∂ε′k∂b′k

= 0,∂ε′k∂c′k

= 0. (4.37)

Desarrollando las expresiones de (4.37) se obtiene el sistema lineal de ecuaciones,

N∑i=1

[a′k + b′k cosϕi + c′k senϕi − Iki

]= 0

N∑i=1

[a′k cosϕi + b′k cos2 ϕi + c′k senϕi cosϕi − Iki cosϕi

]= 0

N∑i=1

[a′k senϕi + b′k cosϕi senϕi + c′k sen2 ϕi − Iki senϕi

]= 0,

cuya representación matricial se muestra a continuación,

A′ =

N

N∑i=1

cosϕi

N∑i=1

senϕi

N∑i=1

cosϕi

N∑i=1

cos2 ϕi

N∑i=1

senϕi cosϕi

N∑i=1

senϕi

N∑i=1

cosϕi senϕi

N∑i=1

sen2 ϕi

, (4.38)

y′ =

[N∑i=1

Iki ,

N∑i=1

Iki cosϕi,

N∑i=1

Iki senϕi

]T, (4.39)

x′ =[a′k, b′k, c′k

]T. (4.40)

Finalmente, los valores óptimos en el sentido de mínimos cuadrados están dados por,

x′ = [A′]−1y′, (4.41)

Page 59: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

4.2. Algoritmo Iterativo Avanzado 39

Determinar la aproximacin inicial

para el corrimiento de fase δ0k

Calcular la distribucion de fase φn

basado en los corrimientos de fase δn−1

k

Calcular los nuevos corrimientos de fase δnk

con base en la distribucion de fase φn

∣δnk− δn−1

k

∣ ≤ η

Comprobarla convergencia No

Determinar el corrimientode fase final

Si

Figura 4.2: Diagrama esquemático para determinar los corrimientos de fase δk de un con-junto de k interferogramas.

donde [A′]−1 es la matriz inversa de A′. Los corrimientos de fase δk son calculados a partirdel vector solución x′ como sigue,

δk = tan−1

(−c′kb′k

), k = 1, 2, . . . ,M. (4.42)

Cabe señalar que el sistema de ecuaciones lineales de la Eq. (4.40) debe ser resuelto paracada interferograma. Además, el valor estimado de δk está envuelto, es decir, δk ∈ [−π, π).

Recapitulando, el procedimiento expuesto consiste en linealizar por partes el problemano-lineal inicial; como resultado se obtiene un algoritmo lineal iterativo. Cada iteraciónestá dividida en dos partes: la primera consiste en determinar la distribución de fase y enla segunda, se estiman los valores del corrimiento de fase. El esquema está basado en elmétodo de los mínimos cuadrados donde se resuelven dos sistemas de ecuaciones linealesde 3× 3 «sobre determinados» como se puede apreciar en las ecuaciones (4.31) y (4.41).

4.2.2. Esquema computacional

En la presente sección se describe el algoritmo expuesto en la sección anterior perodesde un punto de vista computacional, es decir, con miras de implementarlo. Para elloconsideremos el diagrama de la Figura 4.2 que es descrito a continuación:

Page 60: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

40 Capítulo 4. PSI aleatorio

1. Como todo esquema iterativo se parte de un punto inicial, que se considera como laiteración cero o δ

(0)k .

2. Se determina la distribución de fase ϕ(n)i por la Eq. (4.32), para ello se requiere resolver

el sistema de ecuaciones normales (4.31) para cada píxel, este sistema normalmente«sobre determinado» de MN ecuaciones contiene 3N incógnitas.

3. Una vez determinada una aproximación a ϕ(n)i se determina una nueva aproximación

de los corrimientos de fase δ(n)k por la Eq. (4.42), para ello se resuelve el sistema (4.41)

que tiene MN ecuaciones y 3M incógnitas.

4. Se comprueba que la última aproximación δ(n)k cumpla con alguna condición de paro,

por ejemplo la norma de la diferencia de las últimas dos iteraciones. Mientras no secumpla con dicha condición se repite el algoritmo de nuevo desde el paso 2, dandoinicio a la iteración n + 1 con los nuevos datos calculados (ϕ(n)

i y δ(n)k ). En caso

contrario, el algoritmo termina su ejecución.

El algoritmo descrito anteriormente produce una sucesión de aproximaciones δnk Ln=0,

la cual a converge a una solución ϕ∗, δ∗. De la serie de pasos descritos anteriormente,observamos que el número de iteraciones está relacionado con el punto inicial δ0k. Por otrolado, es conocido que en los esquemas iterativos el número de iteraciones para convergerestá estrechamente relacionado con el punto inicial. Por lo tanto, es deseable elegir un«buen punto inicial» para reducir la cantidad de iteraciones y así incrementar la eficienciacomputacional del algoritmo.

En el siguiente capítulo se propone un algoritmo computacionalmente eficiente paraimplementar el Algoritmo Iterativo Avanzado. Para incrementar el desempeño emplearemosdos enfoques: reducir el número de iteraciones y mejorar los tiempos de ejecución de cadaiteración.

Page 61: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 5Incremento del desempeño computacional

En este capítulo se aborda la implementación del Algoritmo Iterativo Avanzado median-te técnicas avanzadas de computación científica mediante dos enfoques: reducir el númerode iteraciones y, mejorar el tiempo de ejecución de cada iteración. En la primera secciónse describen las técnicas empleadas para mejorar los tiempo de ejecución. En la segundasección se propone un estimador inicial que reduzca el número de iteraciones.

5.1. Cómputo de alto desempeñoLa computación de alto desempeño (HPC, por sus siglas en inglés) es el uso de herra-

mientas adecuadas para ejecutar aplicaciones avanzadas de manera eficiente, confiable yrápida; lo cual implica el uso de cómputo paralelo y distribuido, sistemas de interconexiónde datos, algoritmos de algebra lineal numérica, etcétera [59–61]. Dentro del HPC existeuna área enfocada a las computadoras de propósito general (CPGs), cuyo objetivo es desa-rrollar metodologías que permitan proporcionar un mayor rendimiento computacional delque se obtiene comúnmente. Si bien, las CPGs está provistas de más de un núcleo de pro-cesamiento ésto no implica que la solución adecuada (de software) debe ser estrictamenteuna aplicación paralela. En este sentido, en el presente trabajo se optimiza el código paraun núcleo o «single core».

Actualmente, cada «core» o núcleo de procesamiento incorpora más de una unidad arit-mética lógica, operaciones pipelining, métodos de búsqueda adelantada de datos, ejecuciónadelantada de instrucciones y módulos de procesamiento vectorial. La optimización «single

Figura 5.1: Tiempo de acceso a los niveles de memoria.

41

Page 62: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

42 Capítulo 5. Incremento del desempeño computacional

core» está enfocada en desarrollar código que explote las tecnologías antes mencionas, esdecir, consiste en mejorar el acceso a la memoria a través de reglas de escritura de códigopara operaciones aritméticas. Por otro lado, el rendimiento computacional se mide porla cantidad de operaciones aritméticas en punto flotante que se realizan por unidad detiempo, por ende las unidades se denominan FLOPS.

En la presente sección se describen la técnica de «loop unrolling» y vectorización paraincrementar el desempeño computacional de la aplicación. En particular, se optimizaronlas operaciones:

SUM(x)def=

n∑i=1

xi, (5.1)

DOT(x, y)def= ⟨x, y⟩ =

n∑i=1

xiyi, (5.2)

COPY(y, x)def= yi ← xi; i = 1, 2, . . . , n, (5.3)

SCAL(x, α) def= xi ← αxi; i = 1, 2, . . . , n, (5.4)

AXPY(x, y, α)def= yi ← yi + αxi; i = 1, 2, . . . , n. (5.5)

En las Eqs. (5.4–5.5), α es un escalar en R. Las Eqs. (5.2–5.5) forman parte de las opera-ciones optimizadas en la biblioteca de funciones BLAS-1 propuestas por Lawson et al. [62],cuyas implementaciones han sido ampliamente estudiadas [63–66]. Para los resultados mos-trados en el presente trabajo se empleó un equipo con las características: procesador IntelCore i5-4258U, 6 GB DDR3-SDRAM a 1600 MHz, sistema operativo Windows 8.1 de 64-bits y el compilador empleado es MINGW GCC v4.8.1, mientras no se indique lo contrario.

5.1.1. Loop unrolling

El mayor tiempo de ejecución (mayor al 80 %) de un programa científico es responsabi-lidad de los ciclos de procesamiento, por ello se han desarrollado técnicas computacionalesaplicadas que permiten incrementar la intensidad de cálculos por unidad de tiempo. Latécnica de «loop unrolling» está basada en la idea de pipelining (encauzamiento), la cualconsiste en colocar múltiples instrucciones en la cola de ejecución. Antes de abordar eltema principal de la sección, se introduce una descripción de pipelining.

Una pipeline es como una linea de producción donde diferentes módulos realizan dife-rentes tareas en forma recurrente [67]. La técnica aprovecha el paralelismo existente entrelas acciones necesarias para ejecutar una instrucción, es decir, se realizan más de una ope-ración por ciclo de reloj. Sin embargo, como cada operación envuelve una pila de tareas queconsiste en: 1) la búsqueda e interpretación de la instrucción, 2) la búsqueda del registro, 3)acceso a la memoria, 4) ejecución y 5) la escritura del resultado en un registro. Por ello serequiere que los datos sean cargados en localidades de memoria en tiempos adecuados paraque las operaciones se ejecuten en paralelo. En este sentido, en la Figura 5.1 se muestranlos tiempos de acceso a los diferentes niveles de memoria. Se observa que el acceso a losregistro del procesador es 150 veces más rápido comparado con la memoria principal. Por lotanto, es deseable que los datos a operar estén en las localidades de memoria más rápidas

Page 63: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5.1. Cómputo de alto desempeño 43

en los tiempos adecuados. De hecho, el objetivo es equilibrar la longitud del «pipeline»con el tiempo requerido para su procesamiento (para una descripción extensa ver [67]).En resumen, pipelining es una técnica que explota el paralelismo entre instrucciones en unflujo secuencial.

La técnica de «loop unrolling» consiste en aumentar la intensidad computacional encada iteración a la vez que se reduce la longitud del ciclo, es decir, aumenta la dimensiónde los bloques básicos del ciclo. Los compiladores actuales aplican técnicas de unroll auto-máticas, debido que una combinación de instrucciones que es eficiente en una computadorano necesariamente es eficiente cuando se aplica en otra computadora [59]. Entonces, unhumano normalmente realiza un mejor trabajo. Para ejemplificar la técnica se desarrollala Eq. (5.2) para una profundidad de 2 y 4 como sigue,

DOTU2(x, y)def=

n∑i=1

xiyi + xi+1yi+1; ∆i = 2, (5.6)

DOTU4(x, y)def=

n∑i=1

xiyi + xi+1yi+1 + xi+2yi+2 + xi+3yi+3; ∆i = 4. (5.7)

En la definiciones anteriores se considera que n es divisible por ∆i. En forma análoga alas Eqs. (5.6–5.7) se definen las funciones para ∆i = 8, 16, 32 para las Eqs. (5.1–5.2),respectivamente. La función SCAL(x, y) queda determinada como sigue,

SCALU2(x, α)def=

xi ← αxi

xi+1 ← αxi+1; ∆i = 2,(5.8)

SCALU4(x, α)def=

xi ← αxi

xi+1 ← αxi+1

xi+2 ← αxi+2

xi+3 ← αxi+3; ∆i = 4.

(5.9)

De forma similar se definen las implementaciones con unroll = 2, 4, 8, 16, 32 para las Eqs.(5.3–5.5).

En la Figura 5.2 se muestran los resultados de rendimiento obtenidos por las imple-mentaciones con «loop unrolling». La versión canónica corresponde a las codificaciones dede las Eqs. (5.1–5.5), respectivamente. En los gráficos se observa que el unroll de 2–8 elrendimiento se incrementa considerablemente, mientras que el incremento de rendimientode 16 y 32 con respecto a 8 es despreciable, con la excepción de la subrutina SUM. Porlo tanto, el mejor factor de unroll para los escenarios descritos es 8, lo cual está en con-cordancia dado que la dimensión de la página de caché del procesador empleado es de 64bytes.

La técnica «loop unrolling» mostró un incremento en el rendimiento computacional de2x con respecto de la versión canónica. En la siguiente sección se aborda la vectorizaciónde operaciones en conjunto con pipeline.

Page 64: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

44 Capítulo 5. Incremento del desempeño computacional

(a) (b)

(c) (d)

(e)

Figura 5.2: Rendimiento computacional con loop unrolling para IEEE-754 de precisiónsimple: (a) AXPY, (b) COPY, (c) DOT, (d) SCAL y, (e) SUM.

5.1.2. Procesamiento vectorial

La fuerte demanda de recursos computacionales en las aplicaciones multimedia y decomunicaciones dio inicio al desarrollo de nuevas tecnologías que permitieran cubrir esasnecesidades. Así es como vio la luz Intel MMX que se incorporó a la arquitectura Intel en1997. Esta nueva incorporación estaba destinada principalmente al procesamiento vectorialcon operaciones principalmente aritméticas sobre vectores. La nueva tecnología fue cons-truida bajo el esquema SIMD (Single Instruction Multiple Data, por sus siglas en inglés),es decir, se aplica una instrucción/operación sobre un conjunto de datos [68].

El modelo de ejecución SIMD es síncrono donde intervienen unidades de procesamiento(UP) y una unidad de control (UC) que supervisa y asigna las operaciones a realizar en lasUPs. La UC es la responsable de enviar la misma instrucción a las UPs y cada UP trabajaen un subconjunto de los datos. Así se consigue paralelismo a nivel de datos mediante el

Page 65: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5.1. Cómputo de alto desempeño 45

procesamiento vectorial.La tecnología MMX está enfocada al procesamiento de números enteros para lo cual se

incorporaron ocho registros estáticos de 64 bits de longitud. Posteriormente, se extendiócon la adición de Streaming SIMD Extensions incorporando nuevos registros capaces detrabajar con números en punto flotante nombrados XMM, en los cuales se puede trabajarcon números de tipo IEEE-754; los vectores pueden tener la longitud de 4 elementos paraprecisión simple o 2 para precisión doble [69]. En 2011, Intel desarrolló la tecnología AVX(Advanced Vector Extensions, por sus siglas en inglés) que consiste en un conjunto deinstrucciones de 256 bits para lo cual se incorporaron los registros YMM para operacionesde punto flotante intensivo. La nueva tecnología permite procesar ocho números en precisiónsimple o cuatro en doble, por lo tanto, el procesamiento con AVX es equivalente al unrollde cuatro u ocho, según sea el caso.

En el presente trabajo, la vectorización de código se realiza a través de la interfaz deGCC, es decir, mediante la especificación de atributos en las variables así como empleandolas funciones intrínsecas (para mayor detalles consultar [70]). A continuación se describenlas implementaciones en AVX de las Eqs. (5.1–5.5). Para x, y ∈ RN , por cuestión de claridadse considera que N es divisible por L = 4, 8.

Sea riN/Li=1 el conjunto de vectores de dimensión L que representan la descomposición

de x tal que,riPi=1 = x

Qk=1, (5.10)

donde ri ∈ RL, P = N/L, k = L(i − 1) + j y Q = L(i − 1) + L. En forma similar siPi=1

representa la descomposición de y. En este sentido, la implementación del producto puntocon AVX queda determinada como,

DOTAVX(x, y)def=

P∑i=1

⟨ri, si⟩ =P∑i=1

rTi si, (5.11)

donde T indica la transpuesta del vector. En el caso de las funciones SCAL y AXPY seconsidera Λ ∈ RL : Λi = α. Entonces SCAL con AVX queda definida como sigue,

SCALAVX(x, α)def= xk ← Λ ri, j = 1, 2, . . . , L, ∀i. (5.12)

donde : RL × RL −→ RL es la multiplicación elemento-elemento de los vectores.En forma similar son implementadas el resto de las funciones,

SUMAVX(x)def=

P∑i=1

ri, (5.13)

COPYAVX(y, x)def= si ← ri, ∀i, (5.14)

AXPYAVX(x, y, α)def= si ← si + Λ ri, ∀i. (5.15)

Donde : RL −→ R es la suma de los elementos del vector. Cabe mencionar que la funciónAXPY no es implementada empleando SCAL para reutilizar los datos en los registros, comose observa en la Eq. (5.15).

Page 66: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

46 Capítulo 5. Incremento del desempeño computacional

(a) (b)

(c) (d)

(e)

Figura 5.3: Rendimiento computacional con vectorización Intel AVX y loop unrolling paraIEEE-754 de precisión simple: (a) AXPY, (b) COPY, (c) DOT, (d) SCAL y, (e) SUM.

En la Figura 5.3 se muestra el rendimiento computacional de las ecuaciones (5.11–5.15), a la cuales se les aplicó la técnica de loop unrolling = 2, 4, 8, 16. Cuando se aplicael «unroll» 4-16 el incremento del desempeño es despreciable; los picos de las funcionescon «unroll»-16 se desprecia debido a que se presenta cuando la dimensión del vector esmucho menor a la esperada. Además, el efecto de «loop unrolling» en las funciones AXPYy SCAL no se ve reflejado. Para el resto de las funciones se obtiene una ganancia de 1.5-2xpara un factor de unroll 2, lo cual es consistente con lo reportado en la literatura [71].

En la Figura 5.4 se muestra los tiempo de ejecución del producto punto en las diferentesimplementaciones tratadas. Se observa que con la vectorización se obtiene una mejora deaproximadamente 10x con respecto a versión canónica. Como se mencionó anteriormente,el incremento del desempeño de las versiones AVX con «unroll» es despreciable a partir deun factor de cuatro.

Page 67: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5.2. Estimación inicial 47

Figura 5.4: Tiempos de ejecución de diferentes versiones del producto punto con 256KB dedatos.

Las tendencias del desempeño mostradas en las Figuras 5.3 y 5.4 se conservan cuando seemplea las banderas de compilación -O#. Finalmente, el mejor desempeño computacionalse presenta con el procesamiento vectorial y unroll-2 compilado con la bandera -O2. En lasiguiente sección se propone un estimador inicial para reducir el número de iteraciones.

5.2. Estimación inicialEn la presente sección se propone una técnica computacional eficiente para reducir el

número de iteraciones del Algoritmo Iterativo Avanzado. La estimación inicial o puntoinicial es el valor δ

(0)k con el cuál un método comienza a iterar, entonces, cuando dicho

valor está cercano al óptimo δ∗k se reduce el número de iteraciones para converger.La idea propuesta en este proyecto de tesis consiste en resolver el problema original

en una imagen sub-muestreada para obtener un mejor estimador inicial en el problemaoriginal. Es decir, El valor δk estimado en la sub-imagen está próximo al valor óptimobuscado en los patrones de franjas iniciales, en este sentido, decimos que la estimación δk esun «buen punto inicial» que permitirá reducir considerablemente el número de iteraciones[72].

Con el fin de ejemplificar, simulamos tres patrones de intensidad a partir de las siguien-tes consideraciones:

ϕ(x, y) = 12πx+ 0y,

B(x, y) = 1,

A(x, y) = 1.5,

δ∗k = 0, 2.1501, 4.2646,

a los cuales se agregó ruido gaussiano aditivo η(x, y) con dispersión σ = 0.08 y mediaµ = 0, tal que la intensidad con ruido queda expresada como sigue,

Iη(x, y) = I(x, y) + η(x, y).

En la Figura 5.5 se ilustra la relación del número de iteraciones con respecto al puntoinicial del algoritmo AIA. El eje-x representa el valor absoluto de la desviación ∆δ de cada

Page 68: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

48 Capítulo 5. Incremento del desempeño computacional

Figura 5.5: Relación del número de iteraciones con respecto a la estimación inicial.

corrimiento, es decir, el punto inicial queda determinado como,

δk = δ∗1 +∆δ, δ∗2 −∆δ, δ∗3 +∆δ. (5.16)

En la Figura 5.5 se observa que el número de iteraciones crece linealmente conforme el puntoinicial se aleja del valor óptimo. Por lo tanto, un estimador inicial adecuado restringirá elnúmero de iteraciones en el algoritmo AIA.

En los últimos años se han desarrollado dos metodologías que abordan el problema decalcular una buena estimación inicial, en el campo de visión por computadora se emplea larepresentación en múltiples escaladas enmarcada en la teoría escala-espacio, y en el área desolución numérica de ecuaciones en derivadas parciales se emplean métodos de multigrid[72]. La representación piramidal de imágenes es una técnica ampliamente utilizada queemplea diferentes niveles de resolución [73], en la cual una señal puede considerarse como unconjunto de representaciones suavizadas sucesivamente de la señal original, de tal maneraque el número de píxeles decrece en un factor constante N/22α, para un nivel α de unaseñal con N datos.

A posteriori, los interferogramas están sobre-muestreados con respecto al número defranjas; esto nos permite muestrear la imagen. Sea un patrón de franjas definido sobreuna malla fina, I ∈ Ωh, su representación sobre una malla gruesa, Ωαh queda determinadamediante la siguiente ecuación,

IΩαh(h) = I(2αh); h = 1, 2, . . . , N/22α, (5.17)

donde IΩαh ∈ Ωαh. En la ecuación anterior se observa que la dimensión del patrón de franjasdecrece exponencialmente con cada nivel de escala, en este sentido, el costo computacionalpara manipularla decrece en el mismo sentido. Si Ωαh corresponde a las simplificaciones dela estructura de Ωh, entonces, el valor óptimo δ∗k estimado en Ωαh es una buena estimacióninicial [72] y, la estimación inicial mejorada queda definida como,

δ(0)k

def= δ∗k ∈ Ωαh, (5.18)

la cual es determinada por,

δ(0)k = AIA

(IΩαhMk=1 , δ

(0)k

), (5.19)

Page 69: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5.2. Estimación inicial 49

donde IΩαhMk=1 es el conjunto de imágenes sub-muestreadas. Finalmente, el valor óptimobuscado es estimado como,

δ∗k = AIA(IΩhMk=1 , δ

(0)k

). (5.20)

En las Eqs. (5.19–5.20) se muestra la propuesta de la tesis; calcular una estimación ini-cial mejorada en una malla gruesa y, resolver en la malla fina empleando dicha estimación.El número de iteraciones en (5.20) estará restringido dado que,∥∥∥δ∗k − δ

(0)k

∥∥∥2= mín. (5.21)

En la siguiente sección se analizan las características de la malla gruesa que permitenque la estimación inicial mejorada reduzca el número de iteraciones del Algoritmo IterativoAvanzado.

5.2.1. AnálisisEn la presente sección se analiza el estimador inicial propuesto en las Eqs. (5.17–5.18)

desde un punto de vista unidimensional, cuyo objetivo es establecer las condiciones de laestimación inicial mejorada tal que se cumpla la Eq. (5.21).

Sea s(t) ∈ L2(R) una señal continua, si se toman muestras sucesivas de s(t) en ciertosinstantes de tiempo, es decir

s[n] = s (tn)Nn=1 , (5.22)entonces s[n] es el conjunto de valores que representa la señal s(t) en tiempo discreto. Esconocido que los intervalos temporales entre las muestras limitan la cantidad de informacióncapturada de la señal continua. La señal s(t) es de banda limitada si su transformada deFourier posee soporte compacto, es decir, si existe un W > 0, tal que

F s(t) = S(ω) = 0 ∀ |ω| > W, (5.23)

donde F · es el operador de Fourier. El valor W menor que verifique la Eq. (5.23) sele conoce como ancho de banda de la señal. Al espacio de señales s(t) que verifica que elsoporte S(ω) ⊂ [−W,W ] se le denota como PW(W ) y queda completamente expresadocomo [74],

PW(W )def=s(t) ∈ L2(R) : S(ω) ≡ 0, con ω ∈ [−W,W ]

. (5.24)

Como menciona García [75], el espacio PW(W ) es un espacio de Hilbert (H) de funcionescon núcleo reproductor; esto implica que para cada t ∈ Ω existe una constante c tal que|f | ≤ c ∥f∥ para toda función f ∈ H. Además, en el sentido del teorema de representaciónde Riesz, existe un único elemento kt ∈ H tal que f(t) = ⟨f, kt⟩ , ∀f ∈ H para cada t ∈ Ω.El núcleo reproductor queda definido como,

k(t, s)def= ⟨ks, kt⟩ = ks(t), (t, s) ∈ Ω× Ω, (5.25)

donde k : Ω× Ω −→ C.Por otro lado, si la señal discreta s[n] cumple con el teorema de Nyquist-Shannon

entonces, la señal s(t) puede ser recuperada a partir de s[n] mediante una interpolación.Por cuestión de claridad se enuncia dicho teorema.

Page 70: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

50 Capítulo 5. Incremento del desempeño computacional

Teorema (Nyquist-Shannon). Si s(t) ∈ L2(R) es banda limitada, entonces f(t) que-da completamente determinada a partir del conjunto de puntos tn = kπ/Wn∈Z, y sesatisface,

s(t) =

∞∑n=−∞

s(nT )sinc[W

π(t− nT )

], (5.26)

donde T = π/W y,

sinc(t) =

sen(πt)πt si t = 0

1 si t = 0.

Demostración: Teorema de Nyquist-Shannon. Suponiendo que s ∈ PW(π), si desarrolla-mos su transformada de Fourier S ∈ L2[−π, π] con respecto a la base ortonormal deL2[−π, π] formada por los polinomios trigonométricos,

en =e−inω√2π

n=−∞, (5.27)

esto es,

S =∞∑

n=−∞⟨S, en⟩ en =

∞∑n=−∞

s[n]e−inω√2π

en L2[−π, π]. (5.28)

Por otro lado, como F−1 es un operador unitario y la Eq. (5.27) se tiene,

F−1

(e−iωs√(2π)

χ[−π,π](ω)

)(t) =

senπ(t− s)

π(t− s),

donde χ es la función característica de L2[−π, π] y deducimos que

senπ(t−n)π(t−n)

n=−∞es una

base ortonormal del espacio PW(π). Finalmente, la señal s es determinada a partir de surepresentación discreta s[n] como,

s =

∞∑n=−∞

s[n]senπ(t− n)

π(t− n)en L2[−π, π]. (5.29)

y la serie converge siempre que s(t) sea de banda limitada por propiedades de PW(π).

El Teorema de Nyquist-Shannon, Eq. (5.26) es un desarrollo ortonormal del espacioPW(π) con respecto a la base

senπ(t−n)π(t−n)

n=−∞, en este sentido, mediante la identidad de

Parseval se determina que toda la energía de s está contenida en el conjunto de puntoss[n]∞n=−∞, es decir,

Es = ∥s∥2 =∞∑

n=−∞|s[n]|2 , ∀s ∈ PW(π). (5.30)

Page 71: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5.2. Estimación inicial 51

(a) (b)

Figura 5.6: Representación gráfica de las raíces de Moivre del polinomio zn = 1: (a) paran = 3 y (b) para n = 6.

Por otro lado, considerando el conjunto de números complejos1, ω, ω2, . . . , ωn−1

que

son las raíces de Moivre (o del polinomio zn = 1 ver Figura 5.6) y

ω = ei2π/n = cos(2π

n

)+ i sen

(2π

n

), (5.31)

como las raíces son cíclicas en el sentido que si k ≥ n, entonces ωk = ωk(mod n), además elconjunto

1, ξ, ξ2, . . . , ξn−1

, donde

ξ = e−i2π/n = cos(2π

n

)− i sen

(2π

n

), (5.32)

también representa las raíces de zn = 1. Desde el punto de vista geométrico, las Eqs. (5.31–5.32) son equivalentes pero enlistadas en sentido opuesto; en el sentido de la manecillas delreloj para ξni

ni=0 y en el sentido contrario para ωn

i ni=0 (ver Figura 5.6). De lo anterior

se deduce que,ω = ξ, (5.33)

y por propiedades del campo∣∣ξk∣∣2 = ξkξk = 1 para k ∈ Z, por lo tanto,

ξ−k = ξk = ωk, (5.34)

y como,ξk(1 + ξk + ξ2k + · · ·+ ξk(n−1)

)= ξk + ξ2k + · · ·+ ξk(n−1) + 1

lo cual implica que,(1 + ξk + ξ2k + · · ·+ ξk(n−1)

)(1− ξk

)= 1− ξnk

= 0, para ξk = 1. (5.35)

Cabe señalar la similitud de las Eqs. (5.27–5.32) las cuales representan una base orto-gonal y, la matriz,

Fndef=

1

n

1 1 1 · · · 11 ξ ξ2 · · · ξn−1

1 ξ2 ξ4 · · · ξn−2

......

... . . . ...1 ξn−1 ξn−2 · · · ξ

(5.36)

Page 72: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

52 Capítulo 5. Incremento del desempeño computacional

(a) Malla fina. (b) Malla gruesa α = 1. (c) Malla gruesa α = 2.

Figura 5.7: Representación de una señal con diferentes mallas en el dominio de Fourier.

es la matriz de cambio de base asociada al operador discreto de la transformada de Fourier(DFT) para señales de dimensión n. El escalar 1/n en la Eq. (5.36) es un factor quenormaliza la matriz, dado que la norma de los vectores columna de Fn es n, es decir,

∥∥∥F (k)∥∥∥22=

n−1∑j=0

∣∣∣ξjk∣∣∣2 = n−1∑j=0

1 = n,

para la k-ésima columna de Fn. Con base en la Eq. (5.34) el operador discreto de latransformada de Fourier inversa tiene la matriz asociada,

F−1n

def=

1

n

1 1 1 · · · 11 ω ω2 · · · ωn−1

1 ω2 ω4 · · · ωn−2

......

... . . . ...1 ωn−1 ωn−2 · · · ω

. (5.37)

El desarrollo anterior nos permite indicar que el soporte de la transformada discretade Fourier se extiende en el intervalo [−π, π] como se muestra en la Figura 5.6, además, seestableció la base canónica del espacio vectorial R (Fn).

Considerando el modelo de un patrón de franjas unidimensional, es decir,

Ii = Ai +Bi cos(ϕi), 1 ≤ i ≤ N, (5.38)

que cumple con el teorema de Nyquist y cuya transformada discreta de Fourier quedadeterminada como,

I =1

nFnI, (5.39)

y empleando la Eq. (5.17) en 1D se puede sub-muestrear la señal discreta Ii. En la Figura5.7 se muestra la representación de la señal Ii empleando diferentes mallas, se observa elespectro correspondiente a ϕi es de baja frecuencia en la malla fina Figura 5.7(a). Cuandola señal discreta es sub-muestreada, las componentes de baja frecuencia pasan a ser de altafrecuencia, ver Figuras 5.7(b) y 5.7(c); lo anterior es debido a que el soporte de espacioR(Fn/(2α)

)es de menor dimensión que R (Fn).

Page 73: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

5.2. Estimación inicial 53

(a) (b)

Figura 5.8: Magnitud de la DFT de un patrón de franjas, (a) malla fina y (b) malla gruesa.

En el desarrollo anterior se observa que la representación de la señal en una mallagruesa Ωαh no contiene las componentes de alta frecuencia; se pierden porque en el nuevosoporte no cumple con el criterio de Nyquist para dichas componentes. Sin embargo, en elescenario estudiado las altas frecuencias comúnmente contienen información no deseada.

El análisis anterior puede ser trasladado en forma natural a 2D. En la Figura 5.8 semuestra la DFT de un patrón de franjas experimental, como se observa el intervalo espectraldeseado es de baja frecuencia basados en el términos de ese soporte. Cuando la imagen essub-muestreada, la dimensión del soporte se reduce y el intervalo espectral deseado es dealta frecuencia, en términos del nuevo soporte.

Lo anterior implica que al calcular la estimación inicial, Eq. (5.19), los datos presentaránvariaciones de alta frecuencia y sus dimensiones son ordenes de magnitud menores. Sinembargo, los métodos iterativos clásicos tiende a atenuar rápidamente las componentes dealta frecuencia y lentamente las bajas frecuencias, como es el caso del Algoritmo IterativoAvanzado. Por otro lado, el sentido de mínimos cuadrados indica que la aproximación (pormínimos cuadrados) mejora conforme el número de observaciones crece, es decir, cuantomayor sea el número de observaciones mejor es la aproximación por éste modelo. Entonces,como la malla gruesa contiene menos observaciones implica que la aproximación no serámejor que en la malla fina, pero la diferencia será mínima siempre y cuando la malla gruesacumpla el criterio de Nyquist.

Page 74: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 75: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 6Resultados

En el presente capítulo se muestran los resultados obtenidos con los métodos mencio-nados previamente. Por claridad el capítulo se divide en dos secciones: la primera describelos resultados obtenidos al emplear la estimación inicial y la segunda el desempeño compu-tacional mediante la optimización de código.

6.1. Estimador inicial

En el presente trabajo de tesis se propone un estimador inicial para los corrimientosde fase, el cual permite reducir considerablemente el número de iteraciones del algoritmoAIA (Sección 5.2). En este apartado se muestran los resultados obtenidos al emplear dichoestimador. Inicialmente se emplean patrones de franjas sintéticos y posteriormente reales.

(a) (b) (c)

Figura 6.1: Patrones de franjas con ruido gaussiano aditivo de µ = 0 y σ = 0.08 con funciónde fase: (a) plano, (b) gaussiana y, (c) función peaks.

55

Page 76: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

56 Capítulo 6. Resultados

(a)

350 450 550 650 684256

(b)

0 100 200 300 400 500 600 700 800 900 1000

0

5

10

15x 10

−5

CM 512CM 256CM 128

(c)

Figura 6.2: Estimación de fase con el algoritmo AIA evaluando patrones de franjas sintéticoscon función de fase gaussiana y ruido blanco aditivo de µ = 0 y σ = 0.08, (a) fase envueltaestimada, (b) perfil de la fase estimada con respecto a la solución analítica y, (c) residuosde fase estimada por AIA y empleando distintas mallas como estimador.

6.1.1. Datos sintéticosLos patrones de franjas sintéticos utilizados en las simulaciones tienen las siguientes

características de intensidad de fondo y contraste de franjas

A(x, y) = 10−55 + 2 exp

[−1.81

((x− 10)2 + (y − 15)2

)],

B(x, y) = exp− 4

106

[(x− 10)2 + (y − 15)2

],

donde (x, y) ∈ (−512, 512) × (−512, 512). Además, se generaron tres mapas de fase comosigue,

ϕpl(x, y) = 0.818x+ 0.0215y,

ϕga(x, y) = 10−4 exp[−(x2 + y2

)],

ϕpe(x, y) =20π

2.2cpeaks(0.006x, 0.006y),

donde peaks(x, y) es la función del Matlab que lleva el mismo nombre y el escalar c permitemapear dicha función al rango [−1, 1]. Las funciones de fase descritas anteriormente creanpatrones de franjas verticales inclinadas ϕpl, franjas cerradas ϕga y franjas cerradas con

Page 77: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

6.1. Estimador inicial 57

variaciones de frecuencia espacial ϕpe(x, y). En adelante, los casos plano, gaussiana y peakshacen referencia a los patrones generados con sus respectivas funciones de fase.

En la Figura 6.1 se muestran los patrones de franjas base, sin corrimiento, para cadafunción de fase mencionada. La dimensión de los patrones es un arreglo de 1024 × 1024píxeles. Se agregó ruido gaussiano aditivo con media µ = 0 y dispersión σ = 0.08. Lospatrones se generaron con corrimientos de fase con los siguientes valores,

δ∗k = 0, 0.9639, 1.504, 2.63, 3.855, 4.71, 6.1 ,

y la estimación inicial seleccionada en forma aleatoria,

δ(0)k = −0.2785, 0.7742, 1.3189, 2.9801, 3.9181, 4.8445, 5.7018 .

La condición de paro para el algoritmo queda descrita como,∥∥∥(δ(n+1)k − δ

(n+1)1

)−(δ(n)k − δ

(n)1

)∥∥∥2< 10−4.

En la Figura 6.2 se muestra los resultados obtenidos con respecto a la función de fasebuscada ϕi, en la Figura 6.2(a) se observa que en las esquinas la estimación se deteriora,lo anterior se debe a que el contraste de franjas es menor, es decir, la relación señal aruido se deteriora por la modulación en amplitud. La Figura 6.2(b) plasma el perfil de faseenvuelta de la función analítica y la estimación por el algoritmo AIA, se observa que lafase estimada es una aproximación que oscila entorno a la función analítica y que el ruidogenera cambios de fase de 2π falsos, estos datos y la idea de mínimos cuadrados sugierenque una mayor cantidad de observaciones mejorará la aproximación. Por otro lado, en laFigura 6.2(c) se muestran los residuos tales que,

εα=1 = ϕaia(512, y)− ϕα=1(512, y)

εα=2 = ϕaia(512, y)− ϕα=2(512, y)

εα=3 = ϕaia(512, y)− ϕα=3(512, y),

donde ϕaia es la estimación de fase por el algoritmo AIA y ϕα=# es la estimación cuandose emplea la malla gruesa como estimador inicial. Los resultados mostrados en el gráficotienen los siguientes datos,

∥εα=1∥2 = 2.70× 10−3 y, AVG (εα=1) = 7.53× 10−5

∥εα=2∥2 = 2.37× 10−4 y, AVG (εα=2) = 6.68× 10−6

∥εα=3∥2 = 2.30× 10−3 y, AVG (εα=3) = 6.50× 10−5

Tabla 6.1: Comparación de número de iteraciones de AIA vs. AIA con estimador inicial.

AIA CM 512 CM 256 CM 128n n n n

Plano 7 3 3 3Peaks 9 4 4 4

Gaussiana 8 3 5 5

Page 78: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

58 Capítulo 6. Resultados

Tabla 6.2: Comparación de la convergencia de AIA vs. AIA con estimador inicial.

δ∗1 δ∗2 δ∗3 δ∗4 δ∗5 δ∗6 δ∗7Valor óptimo 0 0.963900 1.504000 2.630000 3.855000 4.710000 6.100000

Plano AIA 0 0.972041 1.515519 2.635937 3.858821 4.715360 6.099688CM 512 0 0.972079 1.515557 2.635935 3.858850 4.715397 6.099684CM 256 0 0.972072 1.515556 2.635940 3.858843 4.715396 6.099687CM 128 0 0.972059 1.515531 2.635931 3.858836 4.715371 6.099597

Peaks AIA 0 1.026306 1.540248 2.613216 3.912313 4.728559 6.082736CM 512 0 1.026305 1.540248 2.613217 3.912312 4.728559 6.082736CM 256 0 1.026346 1.540285 2.613213 3.912346 4.728595 6.082732CM 128 0 1.026320 1.540267 2.613222 3.912323 4.728579 6.083998

Gaussiana AIA 0 1.006106 1.561459 2.651357 3.876574 4.749892 6.100359CM 512 0 1.006116 1.561473 2.651360 3.876580 4.749907 6.100360CM 256 0 1.006150 1.561506 2.651358 3.876605 4.749938 6.100357CM 128 0 1.006110 1.561462 2.651356 3.876576 4.749896 6.100359

donde AVG (·) es el valor medio del argumento, este valor permite inferir que estas fasesestimada difieren en un término de pistón cuyo orden de magnitud es menor al criteriode paro. Además, las desviaciones εα=# son armónicas y son independientes del factor deprofundidad α.

Por otro lado, los resultados obtenidos de los corrimientos de fase y el número deiteraciones se muestran en las Tablas 6.1 y 6.2, respectivamente. En la Tabla 6.1 se mues-tra una comparación de AIA frente a AIA con estimador inicial empleando mallas paraα = 1, 2, 3, en donde analizan el número de iteraciones. Se observa que el número deiteraciones para todos los casos se reduce al menos a la mitad. En el caso donde la fase esuna función gaussiana se observa que inicialmente el número de iteraciones es 8, cuando seemplea una malla con α = 1 el número de iteraciones es 3. Mientras que para α = 2, 3,el número de iteraciones crece debido a las componentes de alta frecuencia; las cuales nopermiten que el ajuste sea fino.

En la Tabla 6.2 se muestra una comparación de la convergencia del Algoritmo IterativoAvanzado con y sin el estimador inicial. Como no es posible determinar los corrimientos entérminos de fase absoluta, entonces el primer corrimiento se considera δ∗1 = 0. Lo anteriordefine un valor que permite estimar los corrimientos de fase en forma relativa a éste valor.La segunda fila «valor óptimo» indica los corrimientos de fase utilizados para generar lospatrones de franjas. En los resultados mostrados se puede observar que los valores óptimosdeterminados empleando el estimador inicial son equivalentes a los valores calculados porel algoritmo AIA cuando el estimador no es utilizado. Por lo tanto, el estimador inicial nomodifica la convergencia del algoritmo AIA.

En la siguiente subsección se evalúa el estimador inicial propuesto cuando se empleandatos experimentales.

Page 79: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

6.1. Estimador inicial 59

(a) (b)

(c) (d)

Figura 6.3: Patrones de franjas sinusoidales proyectados se emplea un casquete de esferacomo objeto de prueba, (a) objeto con las franjas proyectas, (b) franjas proyectadas sobrela pantalla de referencia, (c) fase envuelta estimada y (d) fase desenvuelta.

6.1.2. Datos experimentalesPara evaluar el estimador inicial con patrones de franjas obtenidos experimentalmente

se emplea el método de proyección de franjas (con la configuración de la Figura 2.7). Lospatrones proyectados son de tipo sinusoidales y la dimensión de las imágenes capturas conla CCD es de 1280×1024 píxeles. En éstos patrones se capturan 24 franjas horizontales queen términos de radián/píxel es equivalente a 0.1498 radián por píxel. Además, los patronesson corridos con los mismos valores δ∗k del caso sintético. A continuación se indican losparámetros del algoritmo utilizados para generar los patrones, el punto inicial y la condiciónde paro:

δ∗k = 0, 0.9639, 1.504, 2.63, 3.855, 4.71, 6.1

δ(0)k = 0, 0.9639, 1.504, 2.63, 3.855, 4.71, 6.1∥∥∥(δ(n+1)

k − δ(n+1)1

)−(δ(n)k − δ

(n)1

)∥∥∥2< 10−4.

Page 80: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

60 Capítulo 6. Resultados

Tabla 6.3: Tiempos de ejecución de AIA vs. AIA con estimador inicial.

Malla fina (seg) Malla gruesa (seg) Total (seg)AIA 1.8871 – 1.8871

α = 1 0.5692 0.4790 1.0482α = 2 0.5471 0.1273 0.6744α = 3 0.5721 0.0419 0.6140

En la Figura 6.3 se exponen los datos experimentales, la Figura 6.3(a) muestra los datosproyectados sobre el objeto, el cual genera un cambio de fase con respecto a la proyección.En la Figura 6.3(b) se muestra el patrón proyectado sobre el plano de referencia y la fasedel objeto es cero. En total se realizaron 14 capturas, 7 imágenes con el objeto y 7 con elplano de referencia; una captura para cada valor δk. Cabe mencionar que la fase estimadautilizando las 7 capturas con el objeto está modulada por una señal de fase portadora,con la finalidad de eliminar dicha portadora se capturaron las 7 imágenes con el plano dereferencia; la función de fase estimada, sin el objeto, es la señal portadora. Con lo anterior,en la Figura 6.3(c) se muestra la fase envuelta estimada del objeto sin la señal portadoray en la Figura 6.3(d) se plasma el mapa de distribución de fase desenvuelto.

El algoritmo AIA itera n = 7 veces en la imagen original. Empleando AIA con estimadorinicial en las sub-imágenes con α = 1, 2, 3 se obtiene n = 2 iteraciones en la imagenoriginal para todos los casos. Por lo tanto, el número de iteraciones se reduce 3.5 veces.Los resultados obtenidos son consistentes con el ejemplo anterior.

Por otro lado, considerando que el valor óptimo de corrimientos de fase estimado con elalgoritmo AIA está representado por δ∗aia, si medimos la desviación de los valores óptimosestimados cuando se emplea el estimador inicial δ∗α=#. En este sentido, los resultadosobtenidos se muestran a continuación,

∥δ∗aia − δ∗α=1∥2 = 2.12× 10−5

∥δ∗aia − δ∗α=2∥2 = 2.97× 10−5

∥δ∗aia − δ∗α=3∥2 = 1.11× 10−5.

Las desviaciones anteriores son un orden de magnitud menor que la condición de paro 10−4,por ello consideramos que los valores son despreciables.

En la siguiente sección se describen los resultados obtenidos para el desempeño compu-tacional del algoritmo.

6.2. Desempeño computacionalEn este apartado se muestran los resultados obtenidos por la implementación del algo-

ritmo iterativo empleando las técnicas de computación científica descritas en el capítulo 5.En la sección 5.1 se describió la implementación de sub-rutinas mediante dos técnicas deprogramación: vectorización y pipeline. Se determinó que la combinación de Intel AVX yunroll-2 presenta el mejor desempeño para las características de la computadora empleada.Además, en la sección 4.2 se mencionó que el costo computacional del método recae en el

Page 81: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

6.2. Desempeño computacional 61

Figura 6.4: Tiempos de ejecución del algoritmo AIA con diferentes técnicas de computación.

cálculo del mapa de fase; se requiere resolver N2 sistemas de ecuaciones lineales de 3× 3.Con base en lo anterior, implementamos la resolución de cuatro sistemas lineales en formasimultánea en dicho paso a través de la vectorización.

En la Tabla 6.3 se muestran resultados de los tiempos de cómputo para la evaluacióncuando se emplea el estimador inicial en conjunto con una codificación adecuada. Para ello,se consideraron el patrón de franjas sintético con un plano como mapa de fase (descritoen la sección 6.1). El tiempo de ejecución para el Algoritmo Iterativo Avanzado es de 1.9segundos sin utilizar el estimador inicial y utilizándolo se reduce hasta tres veces el tiempode cómputo. Además, en la columna que corresponde al tiempo de ejecución de la mallagruesa se observa un decrecimiento cuadrático, lo cual es consistente con el decrecimientocuadrático de la dimensión de los datos.

Comparando las filas para α = 2 y α = 3 en la Tabla 6.3, se observa que el tiempo decálculo total varía hasta la segunda cifra significativa, esto se debe a que el método requierede 3 iteraciones en la malla fina, pero el costo computacional de calcular las estimacionesiniciales en las mallas es distinto, la estimación en α = 3 se determina tres veces más rápidocon respecto a el tiempo para α = 2. Por lo tanto, el tiempo de cómputo de la estimacióninicial es despreciable con respecto al tiempo en la malla fina.

Cabe mencionar que las variaciones del tiempo de cómputo 0.5692, 0.5471, 0.5721 enla malla fina es debido al ruido introducido por el sistema operativo como consecuencia dela gestión de los recursos.

Por otro lado, en la Figura 6.4 se muestra una comparación de los tiempos de ejecuciónpara distintas implementaciones de AIA con base en una imagen de dimensión 1024 ×1024 píxeles. La canónica corresponde a la implementación del esquema sin utilizar elprocesamiento vectorial ni la estimación inicial. La segunda barra, corresponde al tiempo deejecución con las consideraciones de codificación AVX y unroll-2. La tercer barra, muestrael tiempo de ejecución con el esquema propuesto en el presente trabajo tesis. En éste gráficose puede observar que el tiempo de ejecución se redujo en un orden de magnitud.

Page 82: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 83: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Capıtulo 7Conclusiones

En el presente trabajo de tesis se propuso un esquema numérico para incrementar eldesempeño computacional del Algoritmo Iterativo Avanzado mediante técnicas de compu-tación científica. En particular, se formuló un estimador inicial eficiente para reducir elnúmero de iteraciones y un esquema de programación vectorial con pipeline para mejorarlos tiempos de ejecución.

El estimador inicial consiste en calcular los corrimientos de fase en una imagen sub-muestreada que fue validado con patrones de franjas sintéticos y experimentales; se ana-lizaron patrones con franjas verticales, cerradas y con variaciones de frecuencia espacial.Los resultados muestran que empleando el estimador inicial el algoritmo AIA converge almismo punto óptimo para los corrimientos de fase. Para ello, la malla gruesa debe cumplircon el criterio de Nyquist en el espectro que contiene la información de fase buscada. Elestimador inicial propuesto reduce al menos a la mitad del número de iteraciones y porende se incrementa el desempeño computacional del algoritmo AIA. El mejor resultado seobtiene cuando el parámetro de la malla gruesa α = 2; el número de iteraciones es mínimoy el costo de calcular la estimación inicial es despreciable.

Por otro lado, la técnicas avanzadas de cómputo científico empleadas incrementaron eldesempeño computacional en un factor de 10x en los kernels, utilizados para la implementa-ción del esquema tratado. En particular, la combinación de loop unrolling con profundidaddos y la vectorización mostraron la mayor intensidad de cálculos por segundo. En estesentido, la implementación del algoritmo AIA con ésta técnicas incrementó su desempeñocomputacional en un factor de 3x. Finalmente, se concluye que la técnica propuesta incre-menta considerablemente el rendimiento computacional del Algoritmo Iterativo Avanzadoen un factor de 10x.

Como trabajo a futuro se contempla plantear el algoritmo considerando datos atípicos«outliers» e investigar los corrimientos de fase con base en el modelo no-lineal.

63

Page 84: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Page 85: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Bibliografía

[1] G. Sansoni, M. Trebeschi, and F. Docchio, “State-of-the-art and applications of 3dimaging sensors in industry, cultural heritage, medicine, and criminal investigation,”Sensors, vol. 9, no. 1, p. 568, 2009.

[2] F. Blais, M. Rioux, and J. A. Beraldin, “Practical considerations for a design of a highprecision 3-d laser scanner system,” Proc. SPIE, vol. 0959, pp. 225–246, 1988.

[3] S. H. Rowe and W. T. Welford, “Surface topography of non-optical surfaces by pro-jected interference fringes,” Nature, no. 216, pp. 786–787, 1967.

[4] K. Gåsvik, Optical metrology. Wiley, 3 ed., 2002.

[5] H. Schreiber and J. H. Bruning, “Phase shifing interferometry,” in Optical Shop Testing(D. Malacara, ed.), ch. 14, pp. 547–667, Wiley, 2007.

[6] Y. Y. Cheng and J. C. Wyant, “Phase shifter calibration in phase-shifting interfero-metry,” Appl. Opt., vol. 24, pp. 3049–3052, Sep 1985.

[7] C. L. Koliopoulos, Interferometric optical phase measurement techniques. PhD thesis,The University of Arizona, 1981.

[8] B. F. Ionita, F. Garoi, P. C. Logofatu, and D. Apostol, “PZT calibration,” Optik,vol. 124, no. 17, pp. 2803–2806, 2013.

[9] M. Servin, J. C. Estrada, and J. A. Quiroga, “The general theory of phase shiftingalgorithms,” Opt. Express, vol. 17, pp. 21867–21881, Nov 2009.

[10] M. Servin, J. Quiroga, and M. Padilla, Fringe pattern analysis for optical metrology:theory, algorithms, and applications. Wiley, 2014.

[11] C. T. Farrell and M. A. Player, “Phase step measurement and variable step algorithmsin phase-shifting interferometry,” Meas. Sci. Technol., vol. 3, no. 10, pp. 953–958, 1992.

[12] F. Zhang, L. Zhong, S. Liu, and X. Lu, “Spatiotemporal hybrid based non-iterativephase-shifting amount extraction method,” Opt. Commun., vol. 300, pp. 137–141,2013.

65

Page 86: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

66 Bibliografía

[13] X. F. Xu, Y. R. Wang, and R. S. Yan, “Direct phase shift extraction and wavefrontreconstruction in two-step generalized phase-shifting interferometry,” J. Opt., vol. 12,no. 1, p. 7, 2010.

[14] L. Muravsky, O. Ostash, A. Kmet’, T. Voronyak, and I. Andreiko, “Two-frame phase-shifting interferometry for retrieval of smooth surface and its displacements,” Opt.Laser Eng., vol. 49, no. 3, pp. 305–312, 2011.

[15] W. Niu, L. Zhong, P. Sun, and X. Lu, “Phase shifts extraction algorithm based ongram-schmidt orthonormalization of two vectors,” Opt. Quant Electron, vol. 47, no. 8,pp. 2803–2810, 2015.

[16] J. Deng, H. Wang, D. Zhang, L. Zhong, J. Fan, and X. Lu, “Phase shift extractionalgorithm based on euclidean matrix norm,” Opt. Lett., vol. 38, pp. 1506–1508, May2013.

[17] J. Deng, L. Zhong, H. Wang, H. Wang, W. Zhang, F. Zhang, S. Ma, and X. Lu,“1-norm character of phase shifting interferograms and its application in phase shiftextraction,” Opt. Commun., vol. 316, pp. 156–160, 2014.

[18] H. Guo and Z. Zhang, “Phase shift estimation from variances of fringe pattern diffe-rences,” Appl. Opt., vol. 52, pp. 6572–6578, Sep 2013.

[19] Y. Hu, J. Xi, J. Chicharo, E. Li, and Z. Yang, “Discrete cosine transform-based shiftestimation for fringe pattern profilometry using a generalized analysis model,” Appl.Opt., vol. 45, pp. 6560–6567, Sep 2006.

[20] C. J. Morgan, “Least-squares estimation in phase-measurement interferometry,” Opt.Lett., vol. 7, pp. 368–370, Aug 1982.

[21] I. B. Kong and S. W. Kim, “General algorithm of phase-shifting interferometry byiterative least-squares fitting,” Opt. Eng., vol. 34, no. 1, pp. 183–188, 1995.

[22] C. Wei, M. Chen, and Z. Wang, “General phase-stepping algorithm with automaticcalibration of phase steps,” Opt. Eng., vol. 38, no. 8, pp. 1357–1360, 1999.

[23] Z. Wang and B. Hand, “Advanced iterative algorithm for phase extraction of randomlyphase-shifted interferograms,” Opt. Lett., vol. 29, pp. 1671–1673, Jul 2004.

[24] Q. Kemao, H. Wang, W. Gao, L. Feng, and S. H. Soon, “Phase extraction from arbi-trary phase-shifted fringe patterns with noise suppression,” Opt. Laser Eng., vol. 48,no. 6, pp. 684–689, 2010.

[25] T. Hoang, Z. Wang, M. Vo, J. Ma, L. Luu, and B. Pan, “Phase extraction from opticalinterferograms in presence of intensity nonlinearity and arbitrary phase shifts,” Appl.Phys. Lett., vol. 99, no. 3, 2011.

[26] Z. Li and X. Lu, “An effective method in calibrating nonlinear errors for phase-shiftinginterferometry,” Optik, vol. 125, no. 9, pp. 2109–2112, 2014.

Page 87: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Bibliografía 67

[27] Z. Wang and B. Han, “Advanced iterative algorithm for randomly phase-shifted inter-ferograms with intra- and inter-frame intensity variations,” Opt. Laser Eng., vol. 45,no. 2, pp. 274–280, 2007.

[28] P. Hariharan, Basics of interferometry. Academic Press, 2007.

[29] K. Busch and M. Busch, Multielement detection systems for spectrochemical analysis.Wiley, 1990.

[30] P. Hariharan, Optical interferometry. Academic Press, 2003.

[31] B. Rossi, Fundamentos de óptica. Reverté, 1978.

[32] E. Hecht and A. Zajac, Óptica. Fondo Educativo Interamericano, 1977.

[33] P. S. Huang, Q. Hu, F. Jin, and F. P. Chiang, “Color-encoded digital fringe projectiontechnique for high-speed three-dimensional surface contouring,” Opt. Eng., vol. 38,no. 6, pp. 1065–1071, 1999.

[34] J. L. Flores, J. A. Ferrari, G. G. Torales, R. Legarda-Saenz, and A. Silva, “Color-fringepattern profilometry using a generalized phase-shifting algorithm,” Appl. Opt., vol. 54,pp. 8827–8834, Oct 2015.

[35] S. Ma, C. Quan, C. J. Tay, R. Zhu, and B. Li, “Phase error correction for digital fringeprojection profilometry,” Physics Procedia, vol. 19, pp. 227–232, 2011.

[36] P. Jia, J. Kofman, C. English, and A. Deslauriers, “Comparison of linear and non-linear calibration methods for phase-shifting surface-geometry measurement,” Proc.SPIE, vol. 6051, pp. 60510G–60510G–12, 2005.

[37] M. Takeda, H. Ina, and S. Kobayashi, “Fourier-transform method of fringe-patternanalysis for computer-based topography and interferometry,” J. Opt. Soc. Am., vol. 72,pp. 156–160, Jan 1982.

[38] P. Carré, “Installation et utilisation du comparateur photoélectrique et interférentieldu bureau international des poids et mesures,” Metrologia, vol. 2, no. 1, p. 13, 1966.

[39] P. Hariharan, B. F. Oreb, and T. Eiju, “Digital phase-shifting interferometry: a simpleerror-compensating phase calculation algorithm,” Appl. Opt., vol. 26, pp. 2504–2506,Jul 1987.

[40] J. R. P. Angel and P. Wizinowich, “A method for phase shifting interferometry in thepresence of vibration,” in European Southern Observatory Conference and WorkshopProceedings, pp. 561–567, march 1988.

[41] P. L. Wizinowich, “Phase shifting interferometry in the presence of vibration: a newalgorithm and system,” Appl. Opt., vol. 29, pp. 3271–3279, Aug 1990.

[42] Y. Surrel, “Design of algorithms for phase measurements by the use of phase stepping,”Appl. Opt., vol. 35, pp. 51–60, Jan 1996.

Page 88: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

68 Bibliografía

[43] A. Tikhonov and V. Arsenin, Solutions of ill-posed problems. Winston, 1977.

[44] K. Itoh, “Analysis of the phase unwrapping algorithm,” Appl. Opt., vol. 21, pp. 2470–2470, Jul 1982.

[45] R. M. Goldstein, H. A. Zebker, and C. L. Werner, “Satellite radar interferometry:two-dimensional phase unwrapping,” Radio Sci., vol. 23, no. 4, pp. 713–720, 1988.

[46] T. J. Flynn, “Two-dimensional phase unwrapping with minimum weighted disconti-nuity,” J. Opt. Soc. Am. A, vol. 14, pp. 2692–2701, Oct 1997.

[47] M. Costantini, “A novel phase unwrapping method based on network programming,”IEEE T. Geosci. Remote, vol. 36, pp. 813–821, May 1998.

[48] M. A. Herráez, D. R. Burton, M. J. Lalor, and M. A. Gdeisat, “Fast two-dimensionalphase-unwrapping algorithm based on sorting by reliability following a noncontinuouspath,” Appl. Opt., vol. 41, pp. 7437–7444, Dec 2002.

[49] C. W. Chen and H. A. Zebker, “Two-dimensional phase unwrapping with use of statis-tical models for cost functions in nonlinear optimization,” J. Opt. Soc. Am. A, vol. 18,pp. 338–351, Feb 2001.

[50] L. Ying, B. Frey, R. Koetter, and D. Munson, “An iterative dynamic programmingapproach to 2-D phase unwrapping,” in Proceedings 2002, Image Processing, Inter-national Conference on, vol. 1, pp. 469–471, 2002.

[51] M. Pritt and J. Shipman, “Least-squares two-dimensional phase unwrapping usingFFT’s,” IEEE T. Geosci. Remote, vol. 32, pp. 706–708, May 1994.

[52] D. Kerr, G. H. Kaufmann, and G. E. Galizzi, “Unwrapping of interferometric phase-fringe maps by the discrete cosine transform,” Appl. Opt., vol. 35, pp. 810–816, Feb1996.

[53] M. Pritt, “Phase unwrapping by means of multigrid techniques for interferometricSAR,” IEEE T. Geosci. Remote, vol. 34, pp. 728–738, May 1996.

[54] D. C. Ghiglia and M. D. Pritt, Two-dimensional phase unwrapping: theory, algorithms,and software. Wiley, 1998.

[55] M. Rivera, F. J. Hernández-López, and A. González, “Phase unwrapping by accumu-lation of residual maps,” Opt. Laser Eng., vol. 64, pp. 51–58, 2015.

[56] M. Rivera, “Phase unwrapping by accumulation of residual maps software.” [Onli-ne]. Available: http://www.mathworks.com/matlabcentral/fileexchange/48094-phase-unwrapping-by-accumulation-of-residual-maps, 2014. Acceso: 2016-01-25.

[57] A. Björck, Numerical methods for least squares problems. SIAM, 1996.

[58] K. Madsen, H. Bruun, and O. Tingleff, “Methods for non-linear least squares pro-blems,” 1999.

Page 89: Algoritmo Iterativo Eficiente para el Análisis de Interferogramas con Corrimiento de Fase Aleatorio

ii

ii

ii

ii

Bibliografía 69

[59] K. Dowd and C. Severance, High performance computing. O’Reilly, 1998.

[60] J. Levesque and G. Wagenbreth, High performance computing: programming and ap-plications. CRC Press, 2010.

[61] J. J. Dongarra, H. W. Meuer, H. D. Simon, and E. Strohmaier, Recent trends in highperformance computing, ch. 7, pp. 93–107. World scientific, 2012.

[62] C. L. Lawson, R. J. Hanson, D. R. Kincaid, and F. T. Krogh, “Basic linear algebrasubprograms for fortran usage,” ACM Trans. Math. Softw., vol. 5, pp. 308–323, Sept.1979.

[63] D. S. Dodson and J. G. Lewis, “Issues relating to extension of the basic linear algebrasubprograms,” SIGNUM Newsl., vol. 20, pp. 19–22, Jan. 1985.

[64] R. C. Whaleym and J. J. Dongarra, “Automatically tuned linear algebra software,”tech. rep., University of Tennesse, 1997.

[65] J. Dongarra, I. Duff, D. Sorensen, and H. van der Vorst, Numerical linear algebra forhigh-performance computers. SIAM, 1998.

[66] Intel, “Intel math kernel library.” [Online]. Available:https://software.intel.com/sites/default/files/managed/8c/f9/mkl-11.3.2-developer-reference-c_0.pdf, 2015. Acceso: 2016-02-26.

[67] J. Hennessy, D. Patterson, and K. Asanović, Computer architecture: a quantitativeapproach. Morgan Kaufmann, 2012.

[68] M. Mittal, A. Peleg, and U. Weiser, “MMX™ technology architecture overview,” IntelTechnology Journal Q3, 1997.

[69] Intel, “Intel® 64 and IA-32 architectures optimization reference manual.” [On-line]. Available: http://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-optimization-manual.html, 2016. Acceso: 2016-03-02.

[70] D. Chisnall, “Vector programming with GCC,” InformIT, 2007. Article is providedcourtesy of Pretice Hall Professional.

[71] A. Peleg and U. Weiser, “MMX technology extension to the intel architecture,” IEEEMicro, vol. 16, no. 4, pp. 42–50, 1996.

[72] W. Briggs, V. Henson, and S. McCormick, A multigrid tutorial. SIAM, 2 ed., 2000.

[73] T. Lindeberg, Scale-space theory in computer vision. Springer, 2013.

[74] J. Partington, Interpolation, identification, and sampling. Clarendon Press, 1997.

[75] A. García, Bases en espacios de Hilbert: teoría de muestreo y wavelets. Sanz y Torres,2012.