一种改进的最小二乘解包裹算法 下载: 1185次
1 引言
由于存在阴影、条纹断裂、局部镜面反射、采样率不足和外部噪声等因素,相位图像中会出现大量的高密度残差区域、误差传递和相位丢失等现象,造成解包裹时迭代次数增加和运行时间变长等,这一直是激光散斑干涉测量中的难题[1-17]。
在过去的20年里,研究者提出了大量的解相算法,大致可以分为区域解相算法,路径引导算法和全局算法三类[1-3]。在全局解相的领域中,因最小二乘法具有良好的平滑特性,则大部分解相算法中均采用最小二乘法。例如,Huntley[4]提出了免疫噪声相位解裹算法,该算法能够限制噪声传播,但是很容易在高噪声区域中形成斑块,从而无法解包裹。Qian[6]提出了一种基于加窗傅里叶变换滤波的简单相位展开算法,但是此算法耗时太长。Costantini[9]提出了一种新的基于网络编程的相位展开方法,但该方法计算时间过长且理论复杂。Guo等[13]提出了一种最小二乘解包裹算法,当处理均匀噪声时,该方法有效地提高了解包裹的速度,当处理局部噪声时效果不佳。
针对实际应用中解包裹算法的迭代次数多、计算速度慢以及在局部噪声的情况下效果差的问题,本文先从散斑干涉图像的灰度曲线入手,发现曲线近似服从周期性的抛物线分布,继而通过两次矩阵变换可锁定噪声的所在区域,然后运用掩模技术并结合Picard迭代法,解出真实相位。改进的算法可减少误差传递,有效地解决最小二乘过度平滑的问题。经实验验证,所提算法的迭代次数更少,运算速度更快,精度明显优于其他传统算法。
2 最小二乘解相位的基本原理
数字散斑干涉测量中,设φ(i,j)为包裹相位,取值范围为-π≤φ(i,j)≤π,其中i,j的取值范围分别为0≤i≤M-1,0≤j≤N-1,M×N为图像矩阵的大小,则真实相位ϕ(i,j)可表示为
式中:k(i,j)表示整数。定义φ(i,j)在x和y方向的一阶差分别为
式中:W表示包裹算子,使得相位的范围为(-π, π)。最小二乘解相的基本原理是寻找真实相位的导数与包裹相位的差分值最小,表达式为
式中:J表示真实相位的导数与包裹相位的差分值。对(4)式中的ϕ(i,j)进行求导得到泊松方程,表达式为
其中
3 识别噪声和拉线区域的原理
包裹相位的灰度曲线的极大值点即为真实相位[14],并且离散的散斑干涉图像的数学表达式为
式中:w表示近似曲线的宽度;a表示灰度曲线的极大值点。
实际的相位曲线与近似的灰度曲线对比如
设散斑干涉图像的矩阵为Q,每一列为Zn,其中n=1,2,…,N。若灰度曲线对称,则βn=(Zn-1+Zn+1)/2,如
4 RMI-WLS算法的设计流程
利用离散余弦变换求解泊松方程的相位展开方法[13],步骤如下。
step 1:对(6)式得到的阵列ρ(i,j)进行二维离散余弦变换(DCT)以得到谱值V(i,j)。
step 2:对V(i,j)进行离散余弦变换,可得到
step 3:对d(i,j)进行二维离散余弦反变换(IDCT)以求解真实相位ϕ(i,j)。
1)根据第3节噪声和拉线区域的原理来识别噪声点。
2)设q(m,n)(m=1,2,…,M)为0-1掩模矩阵,如果Q中有噪声点和拉线,则q(m,n)=0;如果没有噪声点和拉线,则q(m,n)=1,从而得到q。
3)基于Picard迭代法得到真实相位值ϕk,设ϕ(i,j)每次迭代更新值为ϕk,具体步骤如下。
a.计算简化后的拉普拉斯变换矩阵C,可表示为
b.设置迭代次数k=0,初始相位ϕk=0,阈值γ。
c.计算ρk=C-F(ϕk),其中
d.ρk经过DCT后通过(8)式,然后经过IDCT求解ϕk+1。
e.ϕk=ϕk+1。
f.如果|ϕk+1-ϕk|≤γ,则终止迭代循环,求解ϕk+1;否则k=k+1,返回步骤c.。整体算法的流程如
5 实验
5.1 识别拉线和局部高密度噪声区域的实验
为了验证利用RMI-WLS算法识别噪声拉线区域的识别率,实验使用MATLAB软件来寻找峰值函数,测试图像的尺寸为256 pixel×256 pixel,原始三维图像如
图 5. 识别拉线和噪声区域的结果。(a)峰值函数三维图;(b)添加拉线的包裹相位图;(c)图(b)的掩模矩阵图;(d)光栅图像;(e)拉线噪声图;(f)图(e)的掩模矩阵图;(g)包裹相位图;(h)图(g)的掩模矩阵图
Fig. 5. Identify results of cable and noise area. (a) Three-dimensional graph of peak function; (b) wrapping phase diagram with extension wire; (c) mask matrix diagram of Fig. (b); (d) raster image; (e) drawing of cable noise; (f) mask matrix diagram of Fig.(e); (g) wrapping phase diagrams; (h) mask matrix diagram of Fig. (g)
5.2 无噪声下迭代次数和运行时间的对比实验
为了验证RMI-WLS算法在迭代次数和运行时间的优势,使用MATLAB软件寻找3倍峰值函数。在无噪声的运行条件且T>π,T2>π下,首先对4种传统算法[13]进行比较,分别是Gauss-Seidel for k(对k使用高斯赛德尔迭代方法)、Gauss-Seidel for ϕ(对ϕ使用高斯赛德尔迭代方法)、SOR for k(对k使用松弛迭代迭代方法)和SOR for ϕ(对ϕ使用松弛迭代方法),结果如
图 6. 5种算法的迭代次数和运行时间对比。(a)迭代次数;(b)运行时间
Fig. 6. Comparison of iteration times and running time of 5 algorithms. (a) Number of iterations; (b) running time
5.3 局部高密度噪声和拉线的对比实验
5.3.1 拉线的对比实验
由5.1节可知,RMI-WLS算法对拉线的识别率高达96%,并且T=3.04,T1=0.02。实验使用MATLAB软件寻找峰值函数。
为了进一步验证RMI-WLS算法的可靠性和精确性。使用方均根(RMS)来评价解包裹的精度,RMS的表达式为
式中:E(i,j)表示原始峰值函数的原始图像;e(i,j)表示解包裹后的图像。由(11)式可知,RMS值越小表示精度越高,RMS值越大表示精度越差。不同算法在整个图像上的RMS结果如
5.3.2 局部高密度噪声的对比实验
由5.1节可知,RMI-WLS算法对局部高密度噪声区域敏感,进而对比另外两种算法,分别是WLSA-PDV算法[12]和PCA算法[11],对算法的精度和速度进行进一步的分析和讨论。在
表 1. 不同算法在整个图像上的RMS
Table 1. RMS of different algorithms on entire image
|
表 2. 添加拉线的图像的运行时间和迭代次数对比
Table 2. Comparison of running time and number of iterations of image with pull line
|
图 7. 解包裹的结果。(a)理想包裹相位;(b)加拉线的包裹相位;(c)所提算法的解包裹结果;(d) SOR for ?的解包裹;(e) SOR for k的解包裹;(f) Gauss-Seidel for ?的解包裹;(g) Gauss-Seidel for k的解包裹
Fig. 7. Results of unwrapping package. (a) Ideal wrapping phase; (b) wrapping phase of galas; (c) unwrapping result of proposed algorithm; (d) unwrapping of SOR for ?; (e) unwrapping of SOR for k; (f) unwarpping of Gauss-Seidel for ?; (g) unwarpping of Gauss-Seidel for k
对比4种算法的RMS。整幅图像中256×256个像素点的RMS对比结果如
为了验证RMI-WLS算法的解包裹速度,对比4种算法的运行时间,结果如
图 8. 具有高密度局部噪声的相位图。(a)理想原始相位图;(b) RMI-WLS解包裹后的相位图;(c) WLSA-PDV解包裹后的相位图;(d) PCA解包裹后的相位图
Fig. 8. Phase diagram with high density local noise. (a) Ideal original phase diagram; (b) phase diagram of RMI-WLS after unwrapping; (c) phase diagram of WLSA-PDA after unwrapping; (d) phase diagram of PCA after unwrapping
表 5. 非矩形区域的RMS
Table 5. RMS of non-rectangular regions
|
表 6. 加强高斯噪声后的时间对比
Table 6. Time comparison after adding strong Gaussian noises
|
6 结论
针对激光散斑干涉测量中的解包裹算法迭代次数多、计算时间长、精度低以及对局部高密度噪声导致误差传递和单个噪声拉线的问题,提出一种改进的最小二乘解包裹算法RMI-WLS。所提算法首先根据散斑灰度曲线近似服从抛物线分布入手,采用两次矩阵变换,通过设置两个阈值(T和T1)并根据不同工程应用场合的标准进行设定,调节参数T和T1可以成功定位噪声所在的坐标点,运用掩模矩阵并使用基于Picard方程迭代方法求解原始相位。实验结果表明:在识别率方面,RMI-WLS算法在单个拉线噪声的识别成功率高达96%,在应对变形物体干涉测量的识别率为96%,且RMI-WLS算法在应对高密度局部噪声区域具有很强的敏感性; 在迭代次数和运行时间方面,RMI-WLS算法的迭代次数明显优于SOR for ϕ算法、SOR for k算法、Gauss-Seidel for ϕ算法和Gauss-Seidel for k算法;在无噪声的情况下,RMI-WLS算法在迭代次数上和运行时间上优于其他4种传统算法,且运行时间趋于稳定,迭代次数趋于稳定;在拉线和单个噪声的情况下,SOR for ϕ算法的迭代次数是RMI-WLS算法的3497倍,RMI-WLS算法的运行时间明显优于其他4种传统算法,SOR for ϕ算法的运行时间是RMI-WLS算法的54倍;在识别精度方面,拉线和单个噪声的实验中,RMI-WLS算法的RMS优于SOR for ϕ算法、SOR for k算法、Gauss-Seidel for ϕ算法和Gauss-Seidel for k算法,RMI-WLS算法具有很高的工程应用价值; RMI-WLS算法对比于WLSA-PDV 算法和PCA算法,表现出良好的优势,虽然运行时间略高于PCA算法,但RMI-WLS算法的RMS值小于PCA算法,精度更高,且1 s的运行时间在工程应用中是可以接受的。
在研究中发现,RMI-WLS算法还存在不足之处:在包裹相位跳变的实验中可以进一步改进算法,提高更高噪声的识别率,这将是后续课题研究的重点。
[2] Kaufmann G H, Galizzi G E, Ruiz P D. Evaluation of a preconditioned conjugate-gradient algorithm for weighted least-squares unwrapping of digital speckle-pattern interferometry phase maps[J]. Applied Optics, 1998, 37(14): 3076-3084.
[4] Huntley J M. Noise-immune phase unwrapping algorithm[J]. Applied Optics, 1989, 28(16): 3268-3270.
[5] Schajer G S, Zhang Y J, Melamed S. In-plane ESPI using an achromatic interferometer with low-coherence laser source[J]. Optics and Lasers in Engineering, 2015, 67: 116-121.
[6] Qian K M. A simple phase unwrapping approach based on filtering by windowed Fourier transform: the phase near edges[J]. Optics & Laser Technology, 2007, 39(7): 1364-1369.
[8] Xu W, Cumming I. A region-growing algorithm for InSAR phase unwrapping[J]. IEEE Transactions on Geoscience and Remote Sensing, 1999, 37(1): 124-134.
[9] Costantini M. A novel phase unwrapping method based on network programming[J]. IEEE Transactions on Geoscience and Remote Sensing, 1998, 36(3): 813-821.
[10] Goldstein R M, Zebker H A, Werner C L. Satellite radar interferometry: two-dimensional phase unwrapping[J]. Radio Science, 1988, 23(4): 713-720.
[11] Xia H T, Montresor S, Guo R X, et al. Phase calibration unwrapping algorithm for phase data corrupted by strong decorrelation speckle noise[J]. Optics Express, 2016, 24(25): 28713-28730.
[12] Wang LF, Yan M. Weighted Kalman filter phase unwrapping algorithm based on the phase derivative variance map[J]. Applied Mechanics and Materials, 2013, 475/476: 991- 995.
[13] Guo Y, Chen X T, Zhang T. Robust phase unwrapping algorithm based on least squares[J]. Optics and Lasers in Engineering, 2014, 63: 25-29.
[14] Chen B, Liu H W, Bao Z. Optimizing the data-dependent kernel under a unified kernel optimization framework[J]. Pattern Recognition, 2008, 41(6): 2107-2119.
[15] 吴杰, 周皓, 吴丹, 等. 欠采样条件下相位解包裹算法的研究[J]. 激光与光电子学进展, 2016, 53(5): 051003.
[16] 徐富超, 邢廷文. 抑制大噪声的解包算法[J]. 激光与光电子学进展, 2011, 48(1): 011001.
[17] 郭媛, 杨震, 吴全. 局部高密度残差点包裹相位的解包方法[J]. 激光与光电子学进展, 2017, 54(4): 041202.
Article Outline
彭国, 李伟明, 黄扬, 陈艺海, 高兴宇. 一种改进的最小二乘解包裹算法[J]. 激光与光电子学进展, 2020, 57(18): 181101. Guo Peng, Weiming Li, Yang Huang, Yihai Cheng, Xingyu Gao. Improved Least Squares Unwrapping Algorithm[J]. Laser & Optoelectronics Progress, 2020, 57(18): 181101.