advances in fringe processing using genetic algorithms l.e.toledoa – f. j. cuevasb centro de...

Download Advances in Fringe Processing using Genetic Algorithms L.E.TOLEDOa – F. J. CUEVASb Centro de Investigaciones en Óptica, A.C, Department of Optical Metrology,

If you can't read please download the document

Upload: hugh-wilcox

Post on 06-Jan-2018

217 views

Category:

Documents


0 download

DESCRIPTION

Introduction A fringe pattern carries information embedded in its phase. The fringe pattern would have open or closed fringes A fringe pattern carries information embedded in its phase. The fringe pattern would have open or closed fringes Methods commonly used: Methods commonly used: Phase shifting. Phase shifting. Requires three or more images. Not useful for transient events Requires three or more images. Not useful for transient events Fourier method, Syncronous method, Phase losked loop method. Fourier method, Syncronous method, Phase losked loop method. Used only for open fringes images. Used only for open fringes images. Regularization techniques: Regularized phase tracker (RPT), Two dimensional Hilbert transform method. Regularization techniques: Regularized phase tracker (RPT), Two dimensional Hilbert transform method. They establish a cost function and optimize it, sensitive to noise, fall on local minimums. They establish a cost function and optimize it, sensitive to noise, fall on local minimums. Fig. 1: Fringe pattern. I(x,y) = a(x,y) + b(x,y) cos(φ[x,y])

TRANSCRIPT

Advances in Fringe Processing using Genetic Algorithms L.E.TOLEDOa F. J. CUEVASb Centro de Investigaciones en ptica, A.C, Department of Optical Metrology, Loma del bosque 115, Col. Lomas del Campestre, Len 37150, Guanajuato, MXICO. Introduction. Introduction. What is a Genetic Algorithm(GA)? What is a Genetic Algorithm(GA)? GA operators: GA operators: Selection. Selection. Crossover. Crossover. Mutation. Mutation. GAs for phase recovering. GAs for phase recovering. Tests and experiments. Tests and experiments. Conclusion. Conclusion. Aknowledgments. Aknowledgments. References. References. Introduction A fringe pattern carries information embedded in its phase. The fringe pattern would have open or closed fringes A fringe pattern carries information embedded in its phase. The fringe pattern would have open or closed fringes Methods commonly used: Methods commonly used: Phase shifting. Phase shifting. Requires three or more images. Not useful for transient events Requires three or more images. Not useful for transient events Fourier method, Syncronous method, Phase losked loop method. Fourier method, Syncronous method, Phase losked loop method. Used only for open fringes images. Used only for open fringes images. Regularization techniques: Regularized phase tracker (RPT), Two dimensional Hilbert transform method. Regularization techniques: Regularized phase tracker (RPT), Two dimensional Hilbert transform method. They establish a cost function and optimize it, sensitive to noise, fall on local minimums. They establish a cost function and optimize it, sensitive to noise, fall on local minimums. Fig. 1: Fringe pattern. I(x,y) = a(x,y) + b(x,y) cos([x,y]) What is a genetic algorithm? GAs are optimization algorithms that simulate natural evolution. They can discover highly precise functional solutions, and are very useful for nonlinear optimization problems, or in the presence of multiple minimums. GAs are optimization algorithms that simulate natural evolution. They can discover highly precise functional solutions, and are very useful for nonlinear optimization problems, or in the presence of multiple minimums. Genetic Algorithms were first proposed and analyzed by John Holland. A GA is a special case of evolutionary algorithms (EA), which involve the reproduction, random variation, competition and selection of contending individuals in a population. Genetic Algorithms were first proposed and analyzed by John Holland. A GA is a special case of evolutionary algorithms (EA), which involve the reproduction, random variation, competition and selection of contending individuals in a population. We present a variation in the WFPD method by Cuevas et. al. [7] to demodulate complicated fringe patterns using a GA to fit a polynomial on sub-sampled images. The Fringe Processing on Independent Windows method (FPIW) is applied on a set of partially overlapping windows extracted from the original fringe pattern. The independent phases obtained by the GAs are used to reconstruct the whole phase field, adding splicing phases from adjacent windows. Results can be refined using gradient descent, and we present two different ways to do the splicing process. We present a variation in the WFPD method by Cuevas et. al. [7] to demodulate complicated fringe patterns using a GA to fit a polynomial on sub-sampled images. The Fringe Processing on Independent Windows method (FPIW) is applied on a set of partially overlapping windows extracted from the original fringe pattern. The independent phases obtained by the GAs are used to reconstruct the whole phase field, adding splicing phases from adjacent windows. Results can be refined using gradient descent, and we present two different ways to do the splicing process. Chromosomes. Chromosomes. The individual structures to be evolved are called chromosomes. Chromosomes are the genotype that is manipulated by the GA. A chromosome is formed by genes; the value in each gene is called an allele. A given allele could be a bit or a real value number. Chromosomes codify a given solution in the domain of the function to be optimized, and this solution is decoded in the evaluation routine. The individual structures to be evolved are called chromosomes. Chromosomes are the genotype that is manipulated by the GA. A chromosome is formed by genes; the value in each gene is called an allele. A given allele could be a bit or a real value number. Chromosomes codify a given solution in the domain of the function to be optimized, and this solution is decoded in the evaluation routine. Genetic Algorithms operators Selection. Selection. Some of these individuals are randomly selected to generated the new population, with a probability that is a function of their fitness value. Fitness values for the demodulation process are given by the fitness function. The function to be optimized is the fitness function U(a p ). Some of these individuals are randomly selected to generated the new population, with a probability that is a function of their fitness value. Fitness values for the demodulation process are given by the fitness function. The function to be optimized is the fitness function U(a p ). There are many methods to calculate the selection probability of a individual. Ruleta method give probabilities calculated by the eq. 1: There are many methods to calculate the selection probability of a individual. Ruleta method give probabilities calculated by the eq. 1: But ruleta is not very useful, because it dont avoid a premature convergence (the search space is not completely explored and fall in local minimums).Boltzmann Method used a temperature to control the convergence. Temperature is decreased on succesive generations. But ruleta is not very useful, because it dont avoid a premature convergence (the search space is not completely explored and fall in local minimums).Boltzmann Method used a temperature to control the convergence. Temperature is decreased on succesive generations. Crossover operator. Crossover operator. It simulates the sexual reproduction, and increases the variety of chromosomes inside the population. It simulates the sexual reproduction, and increases the variety of chromosomes inside the population. The information in some segments of the chromosomes is exchanged with the information in the same segment of another selected chromosome, with a given probability Pc. The information in some segments of the chromosomes is exchanged with the information in the same segment of another selected chromosome, with a given probability Pc. Pc determines what percentage of the population will be mixed, and typical values are around 0.9. A random number is generated, and if it is above Pc, chromosomes are added to the new population without changes. If the number is below Pc, the information is exchanged. Pc determines what percentage of the population will be mixed, and typical values are around 0.9. A random number is generated, and if it is above Pc, chromosomes are added to the new population without changes. If the number is below Pc, the information is exchanged. Mutation operator. Mutation operator. To avoid premature convergence and explore new regions in the function domain, a mutation operator is applied on the new chromosomes. To avoid premature convergence and explore new regions in the function domain, a mutation operator is applied on the new chromosomes. A gene is altered with a probability Pm, given by Equation (6) for three hundred generations. If the allele is binary, the bit is exchanged by its complement. If the allele is a real number, a random quantity, which could be positive or negative, is added to the actual value. A gene is altered with a probability Pm, given by Equation (6) for three hundred generations. If the allele is binary, the bit is exchanged by its complement. If the allele is a real number, a random quantity, which could be positive or negative, is added to the actual value. Decreasing the mutation rate helps to explore all the search space and avoid premature convergence. Decreasing the mutation rate helps to explore all the search space and avoid premature convergence. GAs for Phase Recovering Codification. Codification. The GAs can be used in many optimization problems; the algoritmh is always the same. The GAs can be used in many optimization problems; the algoritmh is always the same. GAs is adapted to a problem by defining the fitness function, and the codification of the chromosomes. GAs is adapted to a problem by defining the fitness function, and the codification of the chromosomes. In the problem of demodulation, a chromosome codified a given function: In the problem of demodulation, a chromosome codified a given function: The coefficientes of these polynomial are the genes of the chromosome. The function p(x,y) represents the phase (x,y) of a fringe pattern. The coefficientes of these polynomial are the genes of the chromosome. The function p(x,y) represents the phase (x,y) of a fringe pattern. GA look for the best chromosome that represents better the phase of a given fringe pattern. GA look for the best chromosome that represents better the phase of a given fringe pattern. Fitness Function. Fitness Function. It evaluates the chromosome aptitude to solve the given problem. In fringe pattern analysis, it includes a similarity term that compares the original fringe pattern and the fringe pattern generated by a given chromosome. It evaluates the chromosome aptitude to solve the given problem. In fringe pattern analysis, it includes a similarity term that compares the original fringe pattern and the fringe pattern generated by a given chromosome. Others terms reduce search space to smooth solutions (first and second derivatives). Two coefficients 1 and 2 are used to to control the effect of the smooth terms over the fitness function Others terms reduce search space to smooth solutions (first and second derivatives). Two coefficients 1 and 2 are used to to control the effect of the smooth terms over the fitness function GAs search for a maximum, minus sign transform the fitness function optimal to a maximum. GAs search for a maximum, minus sign transform the fitness function optimal to a maximum. This function is interpolated over a sub-image from the original fringe pattern. More overlapped sub-images are taken so the entire image is covered. This function is interpolated over a sub-image from the original fringe pattern. More overlapped sub-images are taken so the entire image is covered. After all windows has been demodulated, all phases are spliced to reconstruct the whole phase field. After all windows has been demodulated, all phases are spliced to reconstruct the whole phase field. 1.- The demodulated phase from the first window is used as the initial reference. 1.- The demodulated phase from the first window is used as the initial reference. 2.- From the GA current fitted phase window f(x,y), it is calculated a second phase field f(x,y) (with a negative concavity). 2.- From the GA current fitted phase window f(x,y), it is calculated a second phase field f(x,y) (with a negative concavity). 3.- Two DC bias are calculated, one for f(x,y) and one for f(x,y) using: 3.- Two DC bias are calculated, one for f(x,y) and one for f(x,y) using: where N is the overlapped neighbourhood region and A is the overlapped area (pixel2) of N. where N is the overlapped neighbourhood region and A is the overlapped area (pixel2) of N. 3.- The RMS error for the two alternative phase window field (f(x,y) and -f(x,y)) compared against the reconstructed phase field F(x,y) is calculated as: 3.- The RMS error for the two alternative phase window field (f(x,y) and -f(x,y)) compared against the reconstructed phase field F(x,y) is calculated as: 4.- The phase described by the function with the minimum RMS error value (f+DC1 or f+DC2) is spliced with the demodulated phase field F. 4.- The phase described by the function with the minimum RMS error value (f+DC1 or f+DC2) is spliced with the demodulated phase field F. 5.- If there are more windows to splice, the next window in the sequence is labelled as the current window and go to step 2. Otherwise the splicing process is finished. 5.- If there are more windows to splice, the next window in the sequence is labelled as the current window and go to step 2. Otherwise the splicing process is finished. Reconstructing the phase field Tests and Experiments Test 1. Test 1. The GA was tested using a computer generated interferograms. It is necessary to apply the segmented window approximation, to follow the complexity of the phase map. The fringe image is a complicated one with closed fringes and under-sampled fringes. The GA was tested using a computer generated interferograms. It is necessary to apply the segmented window approximation, to follow the complexity of the phase map. The fringe image is a complicated one with closed fringes and under-sampled fringes. The phase and fringe pattern for this equation are shown below. The resolution of this image is 50x20. A 9x9 window was moved over the fringes with an overlapping region between 40% and 60% of the window. The phase and fringe pattern for this equation are shown below. The resolution of this image is 50x20. A 9x9 window was moved over the fringes with an overlapping region between 40% and 60% of the window. (a) Original phase. (b) Original Fringe image. (a) Original phase. (b) Original Fringe image. The population has 500 chromosomes. Boltzmann selection and a two point crossover operator were used. The parameters were set up in the values given: 1=0.025, 2=0.001, 300 generations, CP = 90%, The population has 500 chromosomes. Boltzmann selection and a two point crossover operator were used. The parameters were set up in the values given: 1=0.025, 2=0.001, 300 generations, CP = 90%, The population was evolved during 300 generations and then the best chromosome was chosen like the vector ap that best estimates the phase on these windows. Then the phase was spliced with the previous estimated phase stored in the phase map. The population was evolved during 300 generations and then the best chromosome was chosen like the vector ap that best estimates the phase on these windows. Then the phase was spliced with the previous estimated phase stored in the phase map. The phase estimated by the GA is shown below. A media filter was applied over the phase map to smooth the patchs edges. The RMS error is rad. The phase estimated by the GA is shown below. A media filter was applied over the phase map to smooth the patchs edges. The RMS error is rad. (a)Phase map demodulated from 7(b). (a)Phase map demodulated from 7(b). (b) Fringe pattern from (a). (b) Fringe pattern from (a). Test 2. Test 2. A computer fringe image was generated with a resolution of 168x168 pixels. The fringe pattern was sampled to produce an image of 42x42 pixels. A window size of 9x9 was chosen. 1 and 2 were initialized with the values: l1=0.05, l2= The GA was applied on each window until RMS error was less than 0.4. A computer fringe image was generated with a resolution of 168x168 pixels. The fringe pattern was sampled to produce an image of 42x42 pixels. A window size of 9x9 was chosen. 1 and 2 were initialized with the values: l1=0.05, l2= The GA was applied on each window until RMS error was less than 0.4. a) Original computer generated phase 168x168. (b) Original fringe image 168x168. (a)Sampled Fringe pattern 42x42. (b) Fringe pattern associated with demodulated phase. (c) Error graph between original and demodulated phase. RMS error between both phases is rads. Demodulation processes can be done now in parallel and the phase map behaviour is correctly reconstructed. See that the fringes lost in the sub-sampled regions were recovered. RMS error between both phases is rads. Demodulation processes can be done now in parallel and the phase map behaviour is correctly reconstructed. See that the fringes lost in the sub-sampled regions were recovered. FPIW was applied on a 42x42 size image. WFPD and FPIW method are less restricted by smoothness assumptions because these methods include upper grade terms. FPIW was applied on a 42x42 size image. WFPD and FPIW method are less restricted by smoothness assumptions because these methods include upper grade terms. Finally, methods using GAs works near Nyquist (FPIW) or in sub-Nyquist(WFPD). Finally, methods using GAs works near Nyquist (FPIW) or in sub-Nyquist(WFPD). (a)Demodulated phase in a resolution of 168x168. (b) (b) Fringe pattern associated with (a). Test 3. Interferogram from optical testing. The binarized fringe pattern was demodulated using a window of 15x15. Smopth coeficients were set up in the values : 1=0.05, 2= A media filter implemented with a window of 7x7 was used to smooth the phase. Conclusions A new technique to estimate the phase in a complicated fringe image is presented. It is based on avoiding the overlapping similarity criterion from the fitness function in the WFPD method. An algorithm to splice the independent phases from all windows is presented. A new technique to estimate the phase in a complicated fringe image is presented. It is based on avoiding the overlapping similarity criterion from the fitness function in the WFPD method. An algorithm to splice the independent phases from all windows is presented. The new technique shown in this paper is based on the assumption that it is not necessary to know the phase on the neighbours to estimate the phase in a given window. This made it possible to eliminate the overlapping similarity criterion in the fitness function, and instead only take into account the smoothness of a given solution, given a fitness function that is easy to evaluate and that is independent from the phase on other windows. This condition makes the algorithm presented in this paper robust to demodulation errors from other windows. The demodulation process can be done in parallel. The new technique shown in this paper is based on the assumption that it is not necessary to know the phase on the neighbours to estimate the phase in a given window. This made it possible to eliminate the overlapping similarity criterion in the fitness function, and instead only take into account the smoothness of a given solution, given a fitness function that is easy to evaluate and that is independent from the phase on other windows. This condition makes the algorithm presented in this paper robust to demodulation errors from other windows. The demodulation process can be done in parallel. This algorithm was tested with computer generated interferograms with wide frequency content, closed fringes and under-sampled fringes, and it was able to demodulate the phase on these cases. This algorithm was tested with computer generated interferograms with wide frequency content, closed fringes and under-sampled fringes, and it was able to demodulate the phase on these cases. The proposed algorithm to splice the different phases is able to reconstruct the phase map, with the sole condition that the phases to be joined do not present oscillations in their overlapping areas. But even in cases where these oscillations appear, the algorithm can correct the phase in the regions by adjusting 1, 2. The proposed algorithm to splice the different phases is able to reconstruct the phase map, with the sole condition that the phases to be joined do not present oscillations in their overlapping areas. But even in cases where these oscillations appear, the algorithm can correct the phase in the regions by adjusting 1, 2. ACKNOWLEDGMENTS ACKNOWLEDGMENTS We acknowledge the support of the Consejo Nacional de Ciencia y Tecnologa de Mxico, Consejo de Ciencia y Tecnologa del Estado de Guanajuato and Centro de Investigaciones en ptica, A.C. To Guillermo Garnica for its invaluable technical support. We acknowledge the support of the Consejo Nacional de Ciencia y Tecnologa de Mxico, Consejo de Ciencia y Tecnologa del Estado de Guanajuato and Centro de Investigaciones en ptica, A.C. To Guillermo Garnica for its invaluable technical support. References: References: [1] Malacara D., Servin M., Malacara Z. (1998) Interferogram Analysis for Optical testing, Marcel Dekker, New York. [1] Malacara D., Servin M., Malacara Z. (1998) Interferogram Analysis for Optical testing, Marcel Dekker, New York. [2] Takeda M., Ina H., Kobayashi S. (1982) Fourier-transform method of fringe-pattern analysis for computer based topography and interferometry. J. Opt. Soc. Am., 72:156. [2] Takeda M., Ina H., Kobayashi S. (1982) Fourier-transform method of fringe-pattern analysis for computer based topography and interferometry. J. Opt. Soc. Am., 72:156. [3] Ichioka, Y., Inuiya, M. (1972) Direct phase detecting system. Appl. Opt., 11: [3] Ichioka, Y., Inuiya, M. (1972) Direct phase detecting system. Appl. Opt., 11: [4] Servin, M., Rodriguez-Vera, R (1993) Two dimensional phase locked loop demodulation of interferogram. J. Mod. Opt., 40: ,. [4] Servin, M., Rodriguez-Vera, R (1993) Two dimensional phase locked loop demodulation of interferogram. J. Mod. Opt., 40: ,. [5] Servin M., Marroqun J.L., Cuevas F.J. (2001) Fringe-follower regularized phase tracker for demodulation of closed-fringe interferograms. J. Opt. Soc. Am. A, 18: [5] Servin M., Marroqun J.L., Cuevas F.J. (2001) Fringe-follower regularized phase tracker for demodulation of closed-fringe interferograms. J. Opt. Soc. Am. A, 18: [6] Larkin K.G., Bone D.J., Oldfield M.A. (2001) Natural demodulation of two-dimensional fringe patterns in general background of the spiral phase quadrature transform. J. Opt. Soc. Am. A, 18: [6] Larkin K.G., Bone D.J., Oldfield M.A. (2001) Natural demodulation of two-dimensional fringe patterns in general background of the spiral phase quadrature transform. J. Opt. Soc. Am. A, 18: [7] Cuevas F.J., Mendoza F., Servin M., Sossa-Azuela J.H. (2006) Window fringe pattern demodulation by multi-functional fitting using a genetic algorithm. Opt. Commun. 261: [7] Cuevas F.J., Mendoza F., Servin M., Sossa-Azuela J.H. (2006) Window fringe pattern demodulation by multi-functional fitting using a genetic algorithm. Opt. Commun. 261: [8] Cuevas F.J., Sossa-Azuela J.H., Servin M. (2006) A parametric method applied to phase recovery from a fringe pattern based on a genetic algorithm. Opt. Commun. 261: [8] Cuevas F.J., Sossa-Azuela J.H., Servin M. (2006) A parametric method applied to phase recovery from a fringe pattern based on a genetic algorithm. Opt. Commun. 261: [9] Goldberg D. (1989) Genetic Algorithms: Search and Optimization Algorithms, Addison-Wesley Publishing, MA. [9] Goldberg D. (1989) Genetic Algorithms: Search and Optimization Algorithms, Addison-Wesley Publishing, MA. [10] Holland J.H.(1975) Adaptation in natural and Artificial Systems. University of Michigan Press. Michigan. [10] Holland J.H.(1975) Adaptation in natural and Artificial Systems. University of Michigan Press. Michigan. [11] Bck, Fogel, Michalewicz (2000) Evolutionary computation. Institute of Physics publishing, Bristol and Philadelfia. [11] Bck, Fogel, Michalewicz (2000) Evolutionary computation. Institute of Physics publishing, Bristol and Philadelfia.