2016 International Conference on Control and Automation (ICCA 2016) ISBN: 978-1-60595-329-8
Phase Unwrapping Based on Multiple Population Genetic and Simulated Annealing Algorithm Na NI, Quan-bing ZHANGa,*, Cheng ZHANG, Yi QIAN, Shan-feng HU and Ya-ping CHEN Key Laboratory of Intelligent Computing & Signal Processing, Ministry of Education, Anhui University, Hefei, China Na NI, Anhui University *Quan-bing ZHANG, Anhui University a
[email protected],
[email protected] *Corresponding author
Keywords: Unwrapping, Branch-cuts, Genetic algorithm, Simulated annealing algorithm.
Abstract. Phase unwrapping is a common problem for many phase measurement techniques which restores original continuous phase from the wrapped phases. There are many phase unwrapping algorithms such as the Branch-Cut method, Quality-Guided method and so on. The Branch-Cut method is one of the most classical algorithms, but it often causes a large number of ‘isolated island’, which affects the quality of unwrapping. This paper develops the traditional Branch-Cut algorithm based on the fact that the branch-cuts problem is equivalent to the travelling salesman problem. The proposed algorithm uses the multiple population genetic and simulated annealing algorithm to calculate optimized match of residues, which effectively reduces the total length of the branch-cuts and avoids the large ‘isolated island’ phenomenon. Experiment results show that the precision and operation time of the proposed algorithm are improved compared with Goldstein’s algorithm. Introduction The phase, which contains a lot of useful information, has important application in many fields such as Interferometric Synthetic Aperture Radar, Optical Measurement and Magnetic Resonance Imaging. In Interferometric Synthetic Aperture Radar, the phase information is corresponding to the ground elevation information [1,2]; in the Optical Measurement, the phase information is corresponding to the three-dimensional shape of the object [3,4]; in the Magnetic Resonance Imaging, the phase information is corresponding to the clinical relevance of physiological parameters [5,6]. However, the obtained phase is generally not the real true continuous phase information, but the wrapped phase, as it is usually determined by the inverse trigonometric function. Phase unwrapping seeks to reconstruct the true continuous phase information by retrieving the missing number of cycles from the wrapped phase. In practice, it is often difficult to achieve accurate unwrapping attributes to the fact that the phase data is not inconsistent with the basic continuous conditions of phase unwrapping caused by noise, the lack of sampling and other reasons. To overcome these difficulties, various algorithms are developed, which can be divided into two categories: Path-Independent Method [7] and Path-Following Method [8]. Phase unwrapping algorithms based on path following are to unwrap the pixels one by one according to some certain strategy, and Quality-Guided [9] and Branch-Cut [10] are classical algorithms among them [11]. The former algorithm is critically dependent upon the quality map, and the results from different quality map will have great disparities. Moreover, the algorithm is time-consuming as a large number of sorting works are needed. In this paper, we focus on the later algorithm as it is more effective than the former. In general, the Branch-Cut algorithm is to form branch-cuts by connecting the residues based on the nearest-neighbor algorithm [8], but it is difficult to achieve the shortest branch-cuts, especially in
the dense area of residues. And connecting the branch-cuts repeatedly will cause a large number of closed areas called ‘isolated island’ that cannot be unwrapped. In order to overcome these defects, this paper proposes an improved Branch-Cut algorithm for phase unwrapping based on Multiple Population Genetic and Simulated Annealing algorithm (IBC-MPG-SA). We set up the branch-cuts using the intelligent optimization algorithm in order to make the total length of the branch-cuts shorter. Experiment results show that the precision and operation time of the proposed algorithm are improved compared with Goldstein’s algorithm. The Branch-Cut Algorithm The main steps of the Branch-Cut algorithm include identify residues, set branch-cuts and phase unwrapping. And the detail processing is as follows [10]: Step1. Identify residues by determining whether the sum of the difference of the wrapped phase on the loop equals to zero. And then construct a residues map by the marked positive or negative sign. Step2. Set branch-cuts by connecting the positive and negative residues based on the nearest-neighbor algorithm, which mainly includes the following 3 steps: (1) Scanning the residues map from top to bottom and from left to right until the first residue which has not been selected is found. (2) Setting the selected residue as the centre and searching the residues surrounding the current centre from near to far. If a new residue is detected, the two residues are connected by the branch-cut and the sum of the polarities of the residues is calculated. Otherwise, the centre is connected to the nearest border and the sum of the polarities of the residues is set to zero. (3) If the sum of the polarities of the residues is not zero, setting the new connected residue as the searching centre and returning to (2). Otherwise, finishing the construction of the current branch-cut and returning to (1) to scan the next pixel. If it exists, returning to (2), otherwise, returning to step3. Step3. Phase unwrapping by computing the integral of the wrapped phase gradient pixel by pixel out of the branch-cuts based on flood-fill method. The Branch-Cut algorithm has several advantages such as small memory space, high computing speed and high accuracy in the case of high signal to noise ratio. However, while the distribution of the residues are intensive, it is difficult to achieve the shortest branch-cuts, as the branch-cuts are often set improper and the pixels are connected repeatedly which will result in a large number of closed ‘isolated island’ areas. The total length of the branch-cuts is an important factor that affects the result of the phase unwrapping for the Branch-Cut algorithm. The shorter the total length of the branch-cuts, the better the result of the phase unwrapping [11]. IBC-MPG-SA Algorithm The connection problem of branch-cuts can be regarded as a global optimization process whose objective is to minimize the total length of the branch-cuts to the pairs of positive and negative residues: N
f ( xi xi ) 2 ( yi yi ) 2
(1)
i 1
Where N represents the number of positive and negative residues which have been matched, ( xi , yi ) and ( xi , yi ) represents the coordinates of the i-th positive and negative residue in the wrapped phase map respectively. Therefore, to achieve the shortest branch-cuts, it is necessary to find out the optimal matching of the positive and negative residues and to connect them. In order to solve the above problem, several algorithms such as particle swarm optimization algorithm [12], TSP theory [13] and simulated annealing algorithm [14] are used to optimize the setting of the branch-cuts. However, when the number of residues is large, these optimization algorithms will reduce the efficiency and accuracy. To reduce the total length of the branch-cuts effectively and avoiding the
‘isolated island’ as far as possible, this paper proposes a method as follows: pre-processing the dipole residues firstly, then coding the rest of the positive and negative residues, and utilizing the algorithm of multiple population genetic and simulated annealing to set the branch-cuts finally. Pre-processing
Although the residues in a wrapped phase map maybe result from various factors such as spatial under-sampling of phase, phase noise, object discontinuity, etc, they can be divided into two forms: monopole residues and dipole residues [15]. The former are single value residues which have no opposite-sign partner, while the later have a pair of two opposite polarity states or charges. The existence of the dipole residues will affect the setting of the branch-cuts, especially when the noise is high. So before using the optimization algorithm to construct the branch-cuts, we can process the wrapped phase map as follows: connecting all pairs of the dipole residues as part of the ranch-cuts, and then setting the ranch-cuts from the remained residues. Coding
Before performing the multiple population genetic and simulated annealing algorithm to set the branch-cuts, it is necessary to get initial pairs each of them connects a positive residue and a negative one. It can be realized as follows: Step1. Set p 1 , scan the residues from top to bottom and from left to right to find the first residue. Step2. If the found residue is a positive residue, turn to Step3; if the found residue is a negative residue, turn to Step4; if there is non residue, the program is terminated. Step3. Mark the current positive residue as p , and search the nearest negative residue. If double of the distance between them is less than or equal to the distance between the current positive residue to the nearest boundary, mark the corresponding nearest negative residue as p ; Otherwise, regard the nearest boundary as a negative residue and mark it as p . Let p p 1 , then look for the next residue and turn back to Step2. Step4. Mark the current negative residue as p , and search the nearest positive residue. If double of the distance between them is less than or equal to the distance between the current negative residue to the nearest boundary, mark the corresponding nearest positive residue as p ; Otherwise, regard the nearest boundary as a positive residue and mark it as p . Let p p 1 , then look for the next residue and turn back to Step2. According to the above steps, the initial pairs of positive and negative residues are obtained. All the branch-cuts can be achieved by connecting each pair of residues, but the branch-cuts obtained cannot guarantee to minimize its total length. In order to make the total length of the branch-cuts as small as possible, this paper uses the multiple population genetic and simulated annealing algorithm to adjust the pairs of the positive and negative residues. We encode two chromosomes as array of integers according to the number of positive and negative residues respectively. Fig. 1 shows a pair of opposite polarity chromosomes. Different chromosome pairs represent different match and have different branch-cuts lengths. To construct the branch-cuts with the shortest length, we can refine the negative chromosome arrays by changing the position of the negative residues while keeping the positive chromosome array unchanged. Positive chromosome array:
1+ d1
Negative chromosome array:
6-
2+ d2
2-
3+ d3
1-
4+ d4
4-
... ...
N+ dN
...
Figure 1. A pair of opposite polarity chromosomes.
3-
A Multiple Population Genetic and Simulated Annealing Algorithm
Genetic algorithm (GA) is an artificial intelligence method based on natural selection and evolutionary mechanism in the biological community [16]. GA has a strong robustness and global search ability, however, it is prone to premature convergence and has a weak local exploitation capacity. Fortunately, the local search ability of simulated annealing algorithm can restrain the premature of genetic algorithm. So in this paper we combine the multiple population genetic and simulated annealing algorithms to accelerate the genetic speed and avoid premature convergence. As the object of our algorithm is to make the total length of the branch-cuts as short as possible, the fitness function can be defined as the reciprocal of the total length of branch-cuts as follows fitness
1 N
i 1
i
2 i
(2) i
2 i
(x x ) ( y y )
While complete the multiple population genetic and simulated annealing algorithms, the optimized pairs of positive and negative residues are obtained and the optimized branch-cuts can be achieved by connecting each pair of residues. Then we can unwrap the phase via computing the integral of the wrapped phase gradient pixel by pixel out of the branch-cuts based on flood-fill method
Experiment and Analysis In order to verify the validity of the proposed algorithm, we test it on the data sets of simulated and real measured wrapped phase respectively and compare it with the Goldstein’s algorithm. All experiments were performed on a regular computer (CPU: 2.79 GHz, RAM: 2 GB) using Matlab2011b.
Simulated Experiment In this experiment, we make use of the peaks function in Matlab2011b to simulate an image as the original phase surface as shown in Fig. 2, where 2(a) is the simulated phase image produced by the peaks function directly, 2(b) is the image obtained from adding the Gauss noise with the mean of 0 and the variance of 0.86, and 2(c) is the phase map of wrapped 2(b). Next, we get all the residues of Fig. 2(c) according to reference [11], and the result is shown in 2(d), which has 1201 points totally: 602 positive residues (white pixels) and 599 negative residues (black pixels). Then the branch-cuts are constructed by the proposed algorithm and the Goldstein’s algorithm, and the results are shown in 2(e) and 2(f). At last, the phase unwrapping correspondent with 2(e) and 2(f) are carried out, and the results are shown in 2(g) and 2(h) respectively. In order to quantitatively evaluate the results of phase unwrapping, we first select some common items include the total length of branch-cuts, running time and the L0 measure defined as follows
L0
m n 1 0 0 1 m 1 n x ( i , j i 1, j i , j ix, j iy, j i , j 1 i , j iy, j ) mn i 1 j 1 i 1 j 1
(3)
where m and n are the number of rows and columns of the image respectively; i , j is the unwrapped phase of the pixel (i, j ) ; ix, j and iy, j are the gradient of the original wrapped phase along x direction and y direction respectively; ix, j and iy, j are the weight of the wrapped phase gradient of ix, j and iy, j respectively (the weight can be determined by quality map). We can set
ix, j iy, j 1 as usual and the correspondent results are shown in Table 1. Then we select some other items which include the Signal to Noise Ratio (SNR), Peak Signal to Noise Ratio (PSNR), Absolute
Root Mean Square Error (ARMS), Relative Root Mean Square Error (RRMS) and Root Mean Square Error (RMSE) of the unwrapping phase and the original phase image, and compare each result of the two algorithms above as shown in Tabel 1.
(a) Simulated phase image (b) Phase image with noise (c) Wrapped phase image
Branch-cuts of (e) this paper (f) Goldstein’s method
(d) Residues map
(g) Unwrapped phase from (e) (h) Unwrapped phase from (f)
Figure 2. Simulated experiment. Table 1. Comparison of the IBC-MPG-SA algorithm and the Goldstein’s algorithm on simulated data. Total length of branch-cuts Time (sec) L0 measure SNR PSNR ARMS RRMS RMSE
IBC-MPG-SA
Goldstein
1277 Pixels
1864 Pixels
2.9185 0.1958 25.8423 52.6534 0.5941 0.0755 0.5941
3.0542 0.2150 10.4558 39.2811 4.2950 0.5452 1.9864
It can be observed from Fig. 2 and Table 1 that the length of the branch-cuts constructed by the proposed algorithm is much shorter than the Goldstein’s algorithm, and the large range of ‘isolated island’ which appears in the Goldstein’s algorithm and will increase the unwrapping error has been eliminated by our method. Moreover, it can be seen that the performance of the proposed algorithm method is better than the Goldstein’s algorithm from the results of the SNR, PSNR, ARMS, RRMS and RMSE.s The Goldstein’s algorithm can get the branch-cut efficiently in the sparse area of residues, however, it is unsatisfied in the densely distributed area of residues, where the residues are connected repeatedly. It is easily to form large closed regions which can not be unwrapped successfully. But it rarely appears in our algorithm. Real Experiment
In the real experiment, we use the data obtained from Interferometric Synthetic Aperture Radar as the wrapped phase image [17] as shown in Fig. 3(a). The distribution of the residues of the wrapped phase image is shown in Fig. 3(b), which has 1112 residues in total: 554 positive residues and 558 negative residues. The branch-cuts and the unwrapped phase of the different algorithms are shown in
Fig. 3 too, where (c) and (e) correspondent to the proposed algorithm, while (d) and (f) correspondent to the Goldstein’s algorithm. As in section 4.1, we select some common items include the total length of branch-cuts, running time, the L0 measure and the percentage of the discontinue pixels, and compare the results of the proposed algorithm with the Goldstein’s algorithm. The comparison results are shown in Table 2. From Fig. 3 and Tabel 2, we can also conclude that the performance of the proposed algorithm method is better than the Goldstein’s algorithm as in the simulated experiments.
(a) Wrapped phase
(b) Residues map
(c) Branch-cuts of this paper
(d) Branch-cuts of Goldstein’s method (e) Unwrapped phase from (c) (f) Unwrapped phase from (d) Figure 3. Real experiment. Table 2. The comparison of IBC-MPG-SA algorithm and the Goldstein’s algorithm on real data. IBC-MPG-SA
Goldstein
Total length of branch-cuts
1572 Pixels
2902 Pixels
Time (sec)
7.8168
9.9156
L0 measure
0.1464
0.1576
Percentage of discontinue pixels
2.9158
3.8266
Conclusions
In this paper, we focus on phase unwrapping and develop the classical Branch-Cut algorithm by improving the method of constructing the branch-cut based on the algorithms of multiple population genetic and simulated annealing. The proposed algorithm effectively reduces the total length of the branch-cuts and successfully avoids the large ‘isolated island’ areas which are difficult to be unwrapped. Simulated and real experimental results show that the performance of the proposed algorithm is better than classical Goldstein’s algorithm. Acknowledgement
This work is supported by the National Natural Science Foundation of China (No. 61301296, 61377006, 61201396) and the National Natural Science Foundation of China-Guangdong Joint Found (no. U1201255).
References
[1] W. Xu, I. Cumming, Geoscience and Remote Sensing, IEEE Transactions on. 37, l (1999): 124-134. [2] E.O. Lindsey, R Natsuaki., X. Xu, et al, Geophysical Research Letters. 42, 16 (2015): 6655-6661. [3] D.C. Ghiglia, L.A. Romero, Optic Letters. 14, 20 (1989): 1107-1109. [4] F. Chen, X. Su, Optik-International Journal for Light and Electron Optics. 123, 24 (2012): 2272-2275. [5] S. Chavez, Q.S. Xiang, L. An, IEEE Transactions on Medical Imaging. 21, 8 (2002): 966-977. [6] W. Liu, X. Tang, Y. Ma, et al, Magnetic Resonance in Medicine. 70, 1 (2013): 160-168. [7] O. Dalmau, M. Rivera, A. Gonzalez, Optics and Lasers in Engineering. 69, (2015): 13-19. [8] M.S. Liao, H. Lin, Synthetic Aperture Radar Interferometry - Principle and Signal Processing, Beijing, Surveying and Mapping Press, 2003, pp. 93-107. “In Chinese” [9] D.J. Bone, Applied Optics. 30, 25 (1991): 3627-3632. [10] Goldstein R.M., Zebker H.A., Werner C.L. Radio Science. 23, 4 (1988): 713-720. [11] D.C. Ghiglia, M.D. Pritt, Two-dimensional phase unwrapping: theory, algorithm, and software algorithm, New York, John Wiley and Sons, 1998, pp. 31-176. [12] W. He, Zhejiang: Zhejiang University. (2014). “In Chinese” [13] X.N. Qu, D.Z. Feng, Y. Zhang, et al, Systems Engineering and Electronics. 33, 4 (2011): 742-745. “In Chinese” [14] R. Cusack, J.M. Huntley, H.T. Goldrein, Appl Opt 1995, 34, 5: 781-789. [15] B. Gutmann, H. Weber, Appl Opt 1999, 38, 26: 5577-5593. [16] F. Shi, H. Wang, L. Yu, et al, MATLAB intelligent algorithm - 30 Algorithm Analysis, Beijing, Beihang University Press, 2011, pp. 38-203. “In Chinese” [17] R.M. Goldstein, C.L. Werner, Geophysical Research Letters. 25, 21 (1998): 4035-4038. [1] J. van der Geer, J.A.J. Hanraads, R.A. Lupton, The art of writing a scientific article, J. Sci. Commun. 163 (2000): 51-59.