光学仪器  2019, Vol. 41 Issue (4): 42-47   PDF    
相位恢复算法在仿真与实验上的研究
刘韵杰, 于颖, 王海凤     
上海理工大学 光电信息与计算机工程学院,上海 200093
摘要: 相位恢复算法一直存在着精确度不高,收敛速度慢甚至停滞不前等问题。将基于光强传输方程(TIE)法与G-S迭代算法混合提高了相位恢复的精确度,梯度算法的提出加大了迭代步长,使得收敛速度加快。采用GS-TIE算法和振幅加成梯度算法分别从仿真和实验的角度去比较分析恢复的效果。通过对二维图像仿真得出,振幅加成梯度算法在收敛速度上是GS-TIE迭代算法的3倍,精确度是GS-TIE迭代算法的10倍。从实验结果得知,GS-TIE恢复的相位清晰可见,轮廓明显,在边缘处过度均匀,而振幅加成梯度算法相对比较模糊,在轮廓边缘处过度不均匀,悬差较大。
关键词: 相位恢复     振幅加成算法     梯度算法     GS-TIE迭代算法    
Research on simulation and experiment of phase retrieval algorithm
LIU Yunjie, YU Ying, WANG Haifeng     
School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract: The phase retrieval algorithm has always had some questions such as low precision, long convergence time and even stagnation. Based on the transport of intension equation (TIE)-Gerchberg-Saxton (GS) iteration hybrid algorithm improves the precision of phase retrieval, and gradient algorithm increases the iteration step and accelerates the convergence speed. This paper compares and analyses the GS-TIE algorithm and amplitude addition gradient algorithm retrieval effect from the perspective of simulation and experiment for GS-TIE algorithm and amplitude addition gradient algorithm. Based on the 2D images simulation for the comparison of two phase retrieval algorithms, it proves that the convergence speed of the algorithm is three times that of GS-TIE iteration algorithm, the accuracy of the algorithm is better than GS-TIE iteration algorithm, and the accuracy is ten times better than GS-TIE iteration algorithm. The experimental results show that GS-TIE algorithm retrieval phase is clearly visible, the contour is obvious, and it is excessively uniform at the edge, while the amplitude addition gradient algorithm is relatively fuzzy, and it is excessively uneven at the edge of the contour and has a large suspension.
Key words: phase retrieval     amplitude-addition algorithm     gradient algorithm     GS-TIE iteration algorithm    
引 言

在光的传播过程中,光波搭载了物体的光强信息和相位信息,物体的光强信息可以通过CMOS或CCD采集,然而物体的相位信息却无法通过这种手段去采集,这样在对物体光波信息进行采集时,我们已经丢失了物体光波的相位信息。研究表明,光波的振幅中包含了物体20%的信息,接近80%的信息在光波相位中[1]。同时,光波在空间中传播会受到相位的影响,进而会影响到光波在空间中的光强分布,因此,获取物体的相位信息对物体分析至关重要,相位复原也成为科研工作者关注的重点和热点。

近十几年来,研究学者提出了许多种相位复原的方法,都获得了良好的效果且大部分成功地应用于相位成像。早在1971年,Gerchberg和Saxton[2]提出了经典的G-S迭代算法,是一种测量焦面和邻近的离焦面的光强度信息来恢复两个面的光波相位信息的算法。在此基础上改进后又提出了多种优良的算法,例如误差减少(ER)算法、杨−顾(Y-G)算法[3]、混合输入输出(HIO)算法[4]等,上述算法都避免不了由于G-S迭代算法初相位的随机性致使相位恢复收敛时间长、迭代不稳定等缺点。此后又提出了光强传输方程(TIE)法[5],通过对TIE求解可得近似初相位,主要求解方法有格林函数[5]、泽尼克多项式以及傅里叶变换方法[6],其中傅里叶变换方法效果最好,但精度效果不好。结合G-S迭代法和TIE法,将由TIE求解得到的初相位应用到G-S迭代算法中,便可以得到收敛快精度高的相位恢复算法。

本文主要分析了GS-TIE算法和振幅加成梯度算法的基本理论,介绍了振幅加成梯度算法,并分别在二维图像仿真中与实验中对比了GS-TIE算法与振幅加成梯度算法两种算法在相位恢复的精确度,收敛速度和恢复相位效果方面的优劣。其次,对南瓜茎纵切面细胞在40倍显微镜下观察,以实验的方式验证并讨论两种方法迭代后的恢复效果。

1 原 理 1.1 光强传输方程TIE

光学传输方程最开始是由Teague提出,描述的是菲涅尔衍射场中光强I的轴向梯度与相位P垂轴方向的关系。它把物平面上波的强度和相位信息与光传播方向上的强度变化联系起来,将不可直接测量的相位变化转化成可直接测量的强度变化,并通过测量光强来显示相位的梯度[7],表达式为

$ \frac{{2{\text{π}} }}{\lambda } {\text{·}} \frac{\partial }{{\partial z}}I = - \nabla {\text{·}} I\nabla P $ (1)

式中:λ为波长;z为光传输方向;I为光强强度; $\nabla $ 为光强对垂直于光轴的(x, y)方向的矢量微分算子。

由傅里叶变换的微分性质求解得:

$ \begin{split} &\qquad{{P}} = {{IF}}\left\{ {k_ \bot ^{ - 2}\left( {{k_x}F\left\{ {{I^{ - 1}}IF\left\{ {{k_x}k_ \bot ^{ - 2}F\left\{ T \right\}} \right\}} \right\} +}\right.}\right.\!\!\!\!\!\!\!\!\!\!\\ &\left.{\left.{{k_y}F\left\{ {{I^{ - 1}}IF\left\{ {{k_y}k_ \bot ^{ - 2}F\left\{ T \right\}} \right\}} \right\}} \right)} \right\}\end{split} $ (2)

式中: $k = \dfrac{{2{\text{π}} }}{\lambda }$ ${k_ \bot } = \sqrt {k_x^2 + k_y^2} $ kx=kcosα=2πfxky=kcosβ=2πfykxkyxy方向的空间角频率; ${{T}} = \dfrac{{2{\text{π}} }}{\lambda }\dfrac{{{I_2} - {I_1}}}{d}$ FIF分别为傅里叶变换和傅里叶逆变换。

1.2 角谱传播理论

图1所示,焦面Zi和离焦面Zo均与光轴方向垂直,焦面Zi与离焦面Zo的振幅、相位分别为U(xi, yi)、φ(xi, yi)、U(xo, yo),φ(xo, yo),两面间距为d,假定两面间光波传递符合菲涅耳近场衍射,根据角谱传递函数理论[8]可构建两个面之间的衍射过程。那么,离焦面Zo与焦面Zi满足

图 1 光路示意图 Figure 1 Schematic of optical path
$ {E} = {{IF}}\left\{ {F\left\{ {U\left( {{x_i}, {y_i}} \right){\rm{exp}}\left[ {{\rm{i}}\varphi \left( {{x}, {y}} \right)} \right]} \right\}} \right\}H\left( {{f_x}, {f_y}} \right) $ (3)

其角谱逆变换则为:

$ {E} = IF\left\{ {F\left\{ {{E}\left( {{x}, {y}} \right)} \right\}} \right\}{H^*}\left( {{f_x}, {f_y}} \right) $ (4)

式中Hfxfy)为角谱衍射传递函数,表达式为

$ {{H}}\left( {{f_x}, {f_y}} \right) = {\rm{exp}}\left[ {{\rm{i}}kd\left( {1 - \frac{{{\lambda ^2}}}{2}\left( {f_x^2 + f_y^2} \right)} \right)} \right] $ (5)

式中: ${f_x}\! \!=\!\! {m_x}/\!{L_x}, {f_y} \!\!=\!\! {m_y}/\!{L_y}, \left( {{m_x}, {m_y} \!=\!\! -\! N\!/2, \!\!-\! N\!/2 \!\!+\!\! 1,\! \cdots} \right.$ ,N/2−1),LxLy为衍射光场的计算长度;N为采样的总数。

1.3 振幅加成梯度算法

为了克服G-S迭代算法误差收敛慢的缺陷,加快算法的收敛效率,采用梯度算法[9],通过加大每次迭代的步长,从而加快算法的收敛,形成了加速形式的角谱迭代算法。同时,将每一次衍射到离焦面的振幅与焦面的实际振幅进行幅度α[10-11](0≤α≤2)的加成。在理论上,将每一次迭代的相位信息与振幅信息考虑在其中比只考虑相位信息的梯度算法更加稳定。

振幅加成是通过把焦面与离焦面的光强联系起来构建两者之间的关系,将综合加成的振幅代替实际离焦面的振幅,不再是传统的G-S迭代算法简单的将实际振幅进行替换。这样在迭代过程中综合了焦面、离焦面的光强信息,进而加快了迭代的速度,使得迭代更加稳定。在此算法中,综合离焦面光场Eoxoyo)与实际离焦面光场的振幅Uoxoyo)信息,对其变量参数α的幅度加成得到新的离焦面的振幅Eoxoyo)。

梯度算法的核心是通过本次算法迭代后产生的相位φkxiyi)与前一次迭代相位φk−1xiyi)的差作为梯度迭代的收敛方向,将akhk视作梯度迭代的收敛步长,经过数次循环迭代,便可以加快收敛速度,以较快的速度收敛。

具体算法流程如图2所示。

图 2 振幅加成梯度迭代算法流程图 Figure 2 Procedure of the amplitude-addition gradient iteration algorithm

在算法中,

$ {h_k} = {\varphi ^k}\left( {{x_{\rm{i}}}, {y_{\rm{i}}}} \right) - {\varphi ^{k - 1}}\left( {{x_{\rm{i}}}, {y_{\rm{i}}}} \right) $ (6)
$ {g_k} = {\psi ^k}\left( {{x_{\rm{i}}}, {y_{\rm{i}}}} \right) - {\varphi ^k}\left( {{x_{\rm{i}}}, {y_{\rm{i}}}} \right) $ (7)
$ {a_k} = \mathop \sum {h_k}{h_{k - 1}}/\mathop \sum {h_{k - 1}}{h_{k - 1}}, \left( {0 {\text{<}} {\gamma _k} {\text{<}} 1} \right) $ (8)
$ {{E}} = \mathop \sum {\left( {U_{\rm{o}}^k\left( {{x_{\rm{o}}}, {y_{\rm{o}}}} \right) - {U_{\rm{o}}}} \right)^2}/\mathop \sum {U_{\rm{o}}^2} $ (9)

式中:Ukoxoyo)为第k次循环迭代所得离焦面的振幅;hk为梯度迭代的收敛方向;gk为中间变量; $ \varphi_T$ 为迭代后所得复振幅的angle( )函数相位;Uo为离焦面CCD接收到的真实振幅。

2 仿真及分析

通过以上理论,利用MATLAB进行仿真实验,仿真具体参数如下:光波波长λ=632.8 nm,采样区域宽度为5 mm×5 mm,取样点数为256 pixel×256 pixel,抗噪系数n=2,焦面与离焦面之间的距离为2 mm。再利用如图3所示的光强图和相位图模拟像面的复振幅分布,根据衍射场的角谱传播理论,通过传递函数便可以得到相邻像面的复振幅分布。

图 3 模拟光强与相位的二维图像 Figure 3 Simulated intensity and phase images

首先分析振幅加成梯度算法与GS-TIE算法的迭代精度。将算法在上述参数不变,α=0.8[11]时,分别循环200次,得到如图4所示。

图 4 振幅加成梯度算法与GS-TIE算法振幅均方根误差误差 Figure 4 Amplitude root-mean-square error of amplitude-addition gradient algorithm and GS-TIE algorithm

图4所示,同时循环200次迭代后,GS-TIE算法振幅误差均方根为1.57×10−9,振幅加成梯度算法振幅误差均方根为2.37×10−10,相比GS-TIE恢复算法,最终恢复精确度是GS-TIE算法的6倍。图5为正确相位与迭代200次时振幅加成梯度算法和GS-TIE算法恢复相位的对比。由图4同样可以看出,振幅加成算法不仅精确度比GS-TIE算法高,在收敛速度方面也是优于GS-TIE算法的,下面将继续分析两种算法的收敛速度。

图 5 正确相位与迭代50次时振幅加成梯度算法、GS-TIE算法恢复的相位 Figure 5 Correct phase and phase retrieved by amplitude-addition gradient algorithm and GS-TIE iteration algorithm with 50 iterations

同样在所有参数不变的情况下,设定振幅均方根误差为1.5×10−9时,比较两种方法需要迭代的次数。如图6所示,在达到设定的振幅均方根误差时,GS-TIE算法需迭代209次,而振幅加成梯度算法只需要39次,大约仅需GS-TIE算法迭代次数的1/5便可达到同样的效果,极大地提高了算法的收敛速度。图7为正确相位与 E=1.5×10−9时振幅加成梯度算法、GS-TIE 算法迭代恢复的相位。

图 6 E=1.5×10−9时振幅加成梯度算法与GS-TIE算法的迭代次数 Figure 6 Number of iterations of amplitude-addition gradient algorithm and GS-TIE iteration algorithm at E=1.5×10−9

图 7 正确相位与E=1.5×10−9时振幅加成梯度算法、GS-TIE算法迭代恢复的相位 Figure 7 Correct phase and phase of iterative retrieval of amplitude-addition gradient algorithm and GS-TIE algorithm at E=1.5×10−9
3 实验分析与讨论

本实验是观察南瓜茎纵切面细胞,在放大倍数为40的显微镜下观察,在显微镜下通过CCD记录焦点及附近的两个面P1和P2,两面间距为z=0.5 mm,取样点数为1 024 pixel×1 024 pixel,图8为实验记录的面与两种方法恢复出来的面。

图 8 记录原图与两种方法恢复出的彩图 Figure 8 Record the original image and the color image retrieval by the two methods

将上述仿真的MATLAB程序修改成对应实验需要的程序,迭代循环100次得到如图91011所示的恢复光强、恢复相位和恢复相位误差曲线。

图 9 振幅加成梯度算法恢复相位 Figure 9 Amplitude addition gradient algorithm for retrieving phase

图 10 GS-TIE迭代算法恢复相位 Figure 10 GS-TIE iteration algorithm for retrieving phase

图 11 恢复相位误差 Figure 11 Error in retrieval phase

图9图10可以直观的区分出两种方法恢复出相位的差异,振幅加成梯度算法在采用梯度算法后,导致在迭代求取相位时不能精确的处理每一个像素点,从而使得恢复的相位不均匀,相位像素点高低悬差较大,图像轻微的模糊,清晰度不高。而GS-TIE算法采用经典的迭代算法处理每一个像素点,得到的结果清晰可见且非常均匀,还可以体现出相位的三维信息。从实验数据上看,振幅加成梯度迭代算法恢复相位依然比GS-TIE迭代算法效果好,具体趋势如图11所示。

4 结 论

本文通过对振幅加成梯度算法和GS-TIE算法两种算法从仿真到实验进行比较,仿真结果表明,仿真振幅加成梯度算法无论在精度上还是在收敛速度上都优于GS-TIE算法,而对于实验恢复效果,由于梯度算法在算法迭代过程中加大了迭代步长,结果迭代恢复相位间悬差较大,以致于清晰度不明显;GS-TIE算法采用传统的迭代方法,在迭代相位恢复效果上要优于振幅加成梯度算法,相位图比较平滑清晰,每个像素恢复的也很细致。通过对一定距离离焦处像面的复原算法可用于研究立体再现,即裸眼3D效果,将恢复算法恢复相位加载于空间光调制器进行立体成像再现的研究。

参考文献
[1] 梁丽, 杨玲, 王中科, 等. 基于TIE和加速角谱迭代算法的二维相位恢复[J]. 激光与光电子学进展, 2013, 50(2): 021002.
[2] GERCHBERG R W, SAXTON W O. A practical algorithm for the determination of phase from image and diffraction plane pictures[J]. Optik, 1972, 35(2): 237–246.
[3] YANG G Z, GU B Y, DONG B Z. Theory of the amplitude-phase retrieval in any linear transform system and its applications[J]. International Journal of Modern Physics B, 1993, 7(18): 3153–3224. DOI:10.1142/S021797929300319X
[4] FIENUP J R. Phase retrieval algorithms: a comparison[J]. Applied Optics, 1982, 21(15): 2758–2769. DOI:10.1364/AO.21.002758
[5] TEAGUE M R. Deterministic phase retrieval: a green’s function solution[J]. Journal of the Optical Society of America, 1983, 73(11): 1434–1441. DOI:10.1364/JOSA.73.001434
[6] PAGANIN D, NUGENT K A. Noninterferometric phase imaging with partially coherent light[J]. Physical Review Letters, 1998, 80(12): 2586–2589. DOI:10.1103/PhysRevLett.80.2586
[7] 郭俊虎. 相干光光强恢复相位的方法研究[D]. 武汉: 华中科技大学, 2011: 19 − 24.
[8] 陈家璧, 苏显渝. 光学信息技术原理及应用[M]. 2版. 北京: 高等教育出版社, 2009: 24 − 47.
[9] BIGGS D S C, ANDREWS M. Acceleration of iterative image restoration algorithms[J]. Applied Optics, 1997, 36(8): 1766–1775. DOI:10.1364/AO.36.001766
[10] 维克多•索菲尔. 衍射光学元件的计算机设计方法[M]. 金国藩, 谭峭峰, 译. 天津: 天津科学技术出版社, 2007: 39 − 116.
[11] 温昌礼, 季家镕, 窦文华, 等. 改进的自适应加法算法及其在衍射光学元件设计中的应用[J]. 光学学报, 2010, 30(9): 2473–2477.