【综述】相位解包裹算法对比分析
引言
相位解包裹是基于干涉的位相测量技术中的重要环节,如合成孔径雷达干涉、光学干涉测量技术、医学成像技术、数字全息三维成像、相干衍射成像等技术中都涉及位相解包裹。位相解包裹也称为位相展开、位相解截断、位相解缠绕等。与之相反的过程谓之包裹位相、截断位相、缠绕位相等。近年来,随着数字全息术和其他三维成像技术的发展,位相解包裹也得到了很快的发展,研究者提出了很多算法。虽然所提出的算法针对的具体领域不同,但由于解决的问题本质相同,位相解包裹算法具有通用性。
相位解包裹算法研究汇总分类
近年来,国外对于位相解包裹算法的研究很多,基本理论日趋成熟。下表对目前国际及国内出现的位相解包裹算法研究进行了初步的总结。
表1 国外相位解包裹算法研究汇总
序号 | 作者 | 方法 | 积分路径 | 优点 | 缺点 |
---|---|---|---|---|---|
1 | Jonahan M. Huntley | 枝切法 | PF | 使用奇异点环,抗噪能力强 | 枝切线容易设置不当 |
2 | Antonio Baldi | 四叉树 | NPF | 分块再合并,速度较快 | 噪声厉害区域效果不好 |
3 | Curtis W. Chen | 统计模型解费用函数 | NPF | 抗噪能力强 | 需要先验图,费时 |
4 | Curtis W. Chen | 统计费用网络流法 | NPF | 图像分割合并算法,效果好 | 需先验知识 |
5 | Mark Jerkimson | 网络流法 | NPF | 每一维分别操作,省时,准确 | 较适合于处理 MRI 数据 |
6 | Vyacheslav V. Volkov | 2 次 FFT 方法 | NPF | 只需要三次 FFT 变换,省时 | 欠采样厉害的区域出错 |
7 | Marvin A. Schofield | 4 次 FFT | NPF | 编程简单,易于实现 | 需要对图像进行镜像操作,费时 |
8 | Rene Schone | 加窗技术和最小费用匹配 | NPF | 抗噪能力强 | 运行速度比较慢 |
9 | Mariano Rivera | 半正定费用函数,正则化法 | NPF | 抗噪声能力强 | 位相出现不连续现象 |
10 | Y. Sasaki | 统计力学方法,1 - Ising 模型 | NPF | 适合处理含有欠采样图像 | 运行速度比较慢 |
11 | Myung K. Kim | 双波长光学法 | NPF | 解包裹易实现 | 会存在 “拉线” 现象 |
12 | Lei Ying | 马尔科夫随机场模型 | NPF | 对噪声、位相跳变区域处理效果好 | 运行速度比较慢 |
13 | Wang Huailiang | 蒙特卡罗算法 | PF | 抗噪能力比较强 | 易产生 “拉线” 现象 |
14 | S Kanat | 奇异点 - 矢量图作为质量图 | PF | 比其他质量图好 | 产生 “孤岛区域” |
15 | Jose M. Biurrun - Dias | 最大流最小割算法 | PF | 适合处理含有欠采样的图像 | 运行速度比较慢 |
16 | Sheng Liu | 基于条纹估计和图像分割的区域滤波 | NPF | 精度较高 | 运行速度比较慢 |
17 | Juan J. Martinez - Espla | 基于网络滤波器和枝切法 | PF | 抗噪能力强 | 滤波会丢失信息,存在 “孤岛区域” |
18 | Juan J. Martinez - Espla | 粒子滤波和 Isodata 算法 | PF | 抗噪能力强 | 滤波会丢失高频信息,会产生 “拉线” 现象 |
19 | Handford C. Herndargo | 合成波长技术 | NPF | 精度较高 | 只适用于光学干涉领域 |
20 | Gonzalo Valado | 贝叶斯方法 | NPF | 适合处理含有阴影、高斯噪声数据 | 需要后验概率 |
21 | Miguel Arevalillo | 质量导向、区域增长和蚁切 | PF | 精度较高 | 运行速度比较慢 |
22 | Rizardo Legarda Senz | 傅里叶相位包裹变换,时间里的正定变换 | NPF | 算法简单,速度较快 | 只适合于跟时间有关系的数据 |
23 | A. Plyush Shanker | 改进的最小费用流法 | NPF | 用边代替闭合路径,可用于多维数据 | 较适用于处理 INSAR 时间序列 |
24 | A. Khmaladze | 改变再现距离 | NPF | 消噪效果较好 | 不适合于处理含有欠采样的数据 |
25 | Jesús Muñoz Maciel | 傅里叶方法 | NPF | 运行速度较快 | 干涉图须含有封闭条纹 |
26 | Satoshi Tomioka | 旋转补偿器、不约束的奇异点定位和虚拟奇异点 | PF | 抗噪能力强 | 运行速度比较慢 |
27 | Sai Siva Gorthi | 立方位相方程 | NPF | 位相跳变厉害的区域效果也好 | 适合于光学干涉 |
28 | 黄源浩 | 傅里叶位相滤波和栅格位相解包裹 | PF | 抗噪能力强,适合于动态物体 | 易产生 “拉线” 现象和 “孤岛区域” |
29 | Batuhan Osmanoglu | FD 路径 | PF | 比其他路径好 | 易产生 “拉线” 现象和 “孤岛区域” |
30 | 丁毅 | 利用两幅干涉图恢复位相 | NPF | 算法简单运行时间短 | 需选定两幅图像干涉的频率 |
注:LS:最小二乘;FFT:快速傅里叶变换;DCT:离散傅里叶变换;PF:路径跟踪;NPF:非路径跟踪;FD:Fisher距离;Itoh’s算法:行列逐点位相解包裹算法。
表2 国内相位解包裹算法研究汇总
序号 | 作者 | 方法 | 积分路径 | 优点 | 缺点 |
---|---|---|---|---|---|
1 | 苏显渝等 | 条纹分析 | PF | 误差传递小 | 易产生 “拉线” 和 “孤岛区域” |
2 | 钱克茂等 | 调制度加权最小二乘法 | NPF | 算法较稳健 | 对条纹清晰度要求高 |
3 | Chi Fung Lo 等 | 分块和质量导向 | PF | 抗噪能力强 | 合并时可能导致连续性差 |
4 | 康新等 | 最小截面差 | NPF | 算法简单,速度较快,可靠性较高 | 不适用于处理欠采样数据 |
5 | 吴禄慎等 | 新的区域增长算法 | PF | 抗噪能力强 | 易产生 “拉线” 现象 |
6 | 惠梅等 | DCT | NPF | 速度快,不存在 “拉线” 现象 | 具有平滑作用,产生误差 |
7 | 彭震君等 | 模拟退火 | NPF | 抗噪能力强,易于解决欠采样问题 | 运行速度较慢 |
8 | 彭震君等 | 位相跳变区域划分 | PF | 抗噪能力强 | 易不连续 |
9 | 苏显渝等 | 参数导向 | PF | 抗噪能力强 | 易产生“孤岛区域” |
10 | 郑刚等 | 可靠性的方法 & 队列法 | PF | 易处理含有噪声、阴影和空洞的数据 | 易产生 “拉线” 现象 |
11 | 王燕等 | 相邻区域算法(菱形算法) | PF | 算法简单,可消除 “拉线” | 不适用于处理欠采样数据 |
12 | 杨亚良等 | 确定性的 FFT 算法 | NPF | 速度较快,精度较高 | 需要对图像进行镜像操作 |
13 | 陈家凤等 | 改进的最近相邻点连接法 | PF | 抗噪能力强,速度较快 | 易产生 “孤岛区域” |
14 | 路元刚等 | 质量相关的 WLS | NPF | 抗噪能力强,速度较快 | 不适用于处理欠采样数据 |
15 | 朱勇建等 | 局部质量导向和假设相邻像素在一平面上 | PF | 抗噪能力强 | 对质量图要求高 |
16 | 杨锋涛等 | 基于二阶差分的加权最小费用流法 | NPF | 精度较高 | 需权重,运行较慢 |
17 | 杨锋涛等 | 模拟退火 | NPF | 抗噪能力强,适合于处理含有欠采样的数据 | 运行速度比较慢 |
18 | 王军等 | 八角模型消除不连续点和多方向去包裹 | NPF | 抗噪能力强 | 运行速度比较慢 |
19 | 魏志强等 | 蚁群算法 | NPF | 抗噪能力强 | 运行速度比较慢 |
20 | 陈家凤等 | 小波变换 | NPF | 速度较快,精度较高 | 不适合用于处理欠采样数据 |
21 | 武楠等 | 枝切法和有限元法 | PF+NPF | 精度较高 | 区域合并影响连续性 |
22 | 张婷等 | 边缘检测和 flynn 算法 | PF | 抗噪能力强 | 运行速度比较慢 |
23 | 朱勇建等 | 4 次 DCT | NPF | 速度较快,精度较高 | 不适合用于处理欠采样数据 |
24 | 钱克茂等 | 加窗傅里叶滤波和质量导向 | PF | 对噪声、奇异点处理效果好 | 滤波会丢失一些信息 |
25 | 熊六东等 | 希尔伯特变换 | NPF | 速度较快 | 易产生 “拉线” 现象 |
26 | 钱晓凡等 | 基于掩膜和 LS 迭代法 | NPF | 易处理含有 “空洞” 的数据 | 多次迭代,费时 |
27 | 张志斌等 | 枝切法和有限元法 | PF | 精度较高 | 区域合并时会影响连续性 |
28 | 钱晓凡等 | 基于横向剪切干涉的 LS 法 | PF | 精度较高,速度较快,适合于解决欠采样问题 | 限于光场再现的应用领域 |
29 | 张会站等 | 改进的 Goldstein 和 Pritt 算法 | PF | 精度较高 | 运行速度比较慢 |
30 | 万文博等 | 菱形算法 | PF | 算法简单可消除 “拉线” 现象 | 不适合用于处理欠采样数据 |
31 | 范琦等 | 傅里叶变换和横向剪切干涉 | NPF | 适用于处理欠采样数据 | 抗噪能力较弱 |
32 | 谢光明等 | 不敏粒子滤波 | NPF | 精度较高,效率较高 | 存在一定的误差 |
注:LS:最小二乘;FFT:快速傅里叶变换;DCT:离散傅里叶变换;PF:路径跟踪;NPF:非路径跟踪;FD:Fisher距离;Itoh’s算法:行列逐点位相解包裹算法。
通过比较,不难发现,国内对于位相解包裹算法大多是在国外基础上进行改进得到的,因此,国内在这方面的研究和国外还有很大的差距。通过观察表1和表2中各种算法的优缺点,可以发现:①各类位相解包裹算法都存在一定的优势,也存在一些不足。到目前为止,还没有发现一种能解决所有问题的算法;②噪声、欠采样问题是位相解包裹面临的两个主要困难,解决好这两个主要困难,可以提高位相解包裹精度,获得更准确的三维形貌信息。
常用算法基本思想
(1)路径跟踪算法:路径跟踪算法是依赖路径的局部算法,通过选择合适的积分路径,绕开噪声区,阻止误差的全程传递,采用逐点比较的方法,计算量小,效率高,但处理噪声、误差严重的位相图效果较差。该类算法主要包括六种:
①行列逐点解包裹算法,该算法是路径跟踪算法中最基本的算法,具有简单易行、耗时少、效率高、理想情况下位相解包裹精度高等优点,但噪声严重时,出现“拉线”现象,使解包裹结果出现严重的错误;
②枝切法(branch cut,BC),是最经典的路径跟踪算法,1986年由美国JPL实验室Goldstein等人提出。该算法通过识别正负残差点,然后连接邻近的残差点对,使残差点的“极性”达到平衡,形成最优枝切线,确定不经过枝切线的积分路径,防止误差传递,但若该算法速度快、效率高,枝切位置放置不当,会形成“孤岛区域”,从而导致严重错误;
③质量导向路径跟踪算法(quality guide,QG),是利用质量图指导积分路径的生成,使积分路径开始于高质量的像素,避开低质量的像素,最大限度地阻止误差传播。该算法最初由Bone于1991年提出,利用相位的二次偏导数作为质量图来指导位相解包裹。1995年,Querenga等提出了自适应的阈值,改进了Bone的方法。然后,Xu和Cumming首次将相干系数图作为质量图对像素进行排序,实现位相解包裹。这种算法不需要识别出残差点,准确性比枝切法要好,但速度比枝切法慢,而且需要高质量的质量图作为保证,若质量图选取的不好,在噪声过多的区域,会产生不能解调的“孤岛区域”;
④掩模 - 切割法(mask - cut),该算法是枝切法与质量图导向路径跟踪算法的结合,它首先识别残差点,并用枝切线将残差点连接起来,与Goldstein枝切法不同的是,它利用相位质量图指导枝切线的设置,从这一点上来说它又与质量图导向的路径跟踪法相似。该算法准确性较高,但速度比枝切法慢,且需要高质量的质量图作为保证。在噪声过多的区域,会形成“孤岛”现象;
⑤区域生长算法(region grow),区域生长法从高质量的像素出发,根据已经经解包裹的像元和质量图来决定下一个解包裹方向(从相邻的八个方向中选),同时通过设定阈值来评定相邻八个方向的平均偏差,优先选取平均偏差最小的方向进行解包裹。该算法可以实现同步位相解包裹。运算速度快,抗噪能力强,精度较高,但可能会形成“孤岛区域”;
⑥菱形算法(rhombus algorithm,RA),该算法是通过识别1个种子点,然后依次向相邻4点扩展,再把这4个点作为第二批种子点,依次向各自的4点邻域扩展,以菱形轨迹遍历所有的有效信息点,以达到整幅图像位相解包裹的目的。算法速度较快,但在噪声较多的区域,容易出现“拉线”现象。
(2)最小范数法:最小范数法是求出展开位相的相邻像素位相差和包裹位相的相邻像素位相差最小(L^{p})范数意义上的解,它是一种路径独立的全局算法,不需要识别残差点。该算法计算量大,但是对误差点的控制很好。
最小范数法从原理上来说就是进行曲面拟合,其关键就是范数的选取问题。当(p>2)时,解包裹位相的曲面过于平滑,与真实位相梯度误差较大;当(p<2)时,解包裹的结果与局部位相梯度较匹配,而对权重的要求就很高,确定噪声比较严重的区域权重是一个很困难的问题;当(p = 2)时,成为目前研究最多的最小范数法,即最小二乘位相解包裹方法,因为该类算法可尽量保证解包裹梯度和真实梯度一致,并且这时的位相解包裹问题可以转化为求解离散泊松方程的问题,求解该方程的方法有很多,扩展了位相解包裹的思路。
最小二乘法中有一种特殊情况,即无权最小二乘位相解包裹算法。求解此种情况下的离散泊松方程的方法有:①基本迭代法,它包括(omega - Jacobi)迭代法、高斯 - 赛德尔(Gauss - Seidel)迭代法、超松弛(SOR)迭代法,迭代法收敛速度比较慢,因而目前应用较少;②基于快速傅里叶变换的最小二乘法(简称FFT - LS),该算法需要对包裹位相图进行“镜像”操作,也即对包裹位相进行周期延拓,从而使泊松方程满足周期性,适合用FFT算法进行求解。由于采用的是FFT变换,该算法速度较快,抗噪能力强,不会出现“拉线”现象,但需要进行周期延拓会影响计算时间,而且由于采用FFT变换,所以要求图像满足(2^m+1)× (2^n+1)大小,有局限性;③基于离散余弦变换的最小二乘法(DCT - LS),该算法的原理和基于FFT的算法原理相同,它的优点是不需要进行周期延拓,但是它需要有纽曼边界条件进行约束,因而速度比FFT算法快,抗噪能力也比较强,不会出现“拉线”现象,由于该算法具有平滑作用,会导致误差传递;④多级格网法(multi - grid),该算法是对Gauss - Seidel迭代法进行改进得到的,目的是为了加快其收敛速度,基本算法与Gauss - Seidel法一致;⑤基于横向剪切干涉的最小二乘法(LS - LS),横向剪切干涉是指被测光场与其平移后的光场相干涉而形成的光场。对于数字全息来说,由于具有数字化优点,可以通过将数字全息重构光场做横向和纵向平移即可实现剪切干涉,得到几乎没有包裹的剪切位相分布,大幅度降低了位相解包裹的难度。
在实际应用中,常常会出现位相跳变厉害、调制度低以及欠采样的问题,使位相解包裹面临着比较大的困难。为了解决欠采样的问题,2011年,昆明理工大学钱晓凡老师等提出了一种基于横向剪切干涉的最小二乘位相解包裹算法,该算法的思路为:对重构光场的复振幅分布沿(X(Y))方向上平移(s)个像素(通常取(s = 1)),得到光场复振幅的新分布;由于平移量极小,可忽略原光场在((m,n))与((m + s,n))点处的差异,两光场相除可得到它们在((m,n))点处的位相差值,然后利用基于离散余弦变换的最小二乘法解包裹,即可获得光场的展开位相分布。该算法优点:速度快,抗噪能力强,精度更高,适合解决还有欠采样的图像。算法缺点:由于使用基于DCT的最小二乘法进行解包裹运算,所以会造成误差传递。
无权最小二乘位相解包裹算法没有考虑残差点的影响,因此会造成误差传递,这种误差可以通过加权来弥补。比较经典的加权最小二乘法主要有:演化的Gauss - Seidel迭代法、Picard法和预条件共轭梯度法(PCG)。对于加权最小二乘法,由于引入了迭代运算,运算时间比较长,且需要高质量的质量图作保证,实际应用价值不大。然而,由于引入权重,所以抗噪能力较强。
综上所述,最小二乘位相解包裹算法是最小范数算法中最常用的算法。由于加权算法引入了权重,可以减弱噪声对位相解包裹的影响,因此从解包裹精度上来说,加权最小二乘法要比无权最小二乘法精度高,但是加权算法的运行速度比无权算法的慢。
3)基于最优估计的位相解包裹算法:最经典的基于最优估计的位相解包裹算法就是1996年Costantini提出的基于网络规划的最小费用流算法(minimum cost flow,MCF),这种算法的基本思想是最小化解包裹位相导数和包裹位相导数差的范数。该算法比较费时,而且随着数据块的增多,运行时间急剧增加。郭春生博士提出了改进算法,将数据分块操作,然后再将解包裹后的位相合并起来。虽然可以提高速度,但是合并时的连续性受到了影响。为了提高位相解包裹的精度,王超等提出了一种基于不规则网络下的网络规划算法,但是该算法增加了生成Delaunay三角网的时间开销,使得运行速度更慢。后续提出的基于最优估计的算法有:遗传算法、模拟退火算法等,这些算法也同样存在运行速度慢的问题,不适合实时处理和动态监测领域,也不适合处理大面积的包裹位相图。
(4)基于特征提取的位相解包裹算法:基于特征提取的位相解包裹方法是直接从位相图干涉条纹入手,首先识别出位相条纹;然后根据条纹之间的相互关系,积分时每通过一个干涉条纹就加上或减去2π,最终实现整幅图的位相解包裹。条纹识别的常见方法有两种:①通过干涉图的特征提取位相条纹,可以通过各种算子进行特征提取,如罗伯斯(Roberts)算子、索贝尔(Sobel)算子、拉普拉斯(Laplacian)算子等;②也可以通过区域分割,即通过相邻像素位相差来获取,条纹之间的相互关系在区域分割过程中就可以获取。该算法不需要判断残差点,也不对误差点进行任何处理,因而简单快捷,但对条纹图要求较高,需要有连续的、明显的干涉条纹,条纹不连续的区域需要进行人工干预。必然会引入误差,实际应用严重受限。
(5)基于傅里叶变换的位相解包裹算法:该类算法运算速度比较快,这是FFT自身的特点所决定的,特别是当图像的大小是2的偶数次幂时,运算速度会更快。此外,由于在频域中对数据进行操作不是点点一一对应的,能够圆满解决空域中的噪声等问题。
基于傅里叶变换的经典算法有四种:基于四次傅里叶变换的算法(四次FFT)、基于二次傅里叶变换的算法(二次FFT)、基于四次离散余弦变换的算法(四次DCT)和基于横向剪切干涉与傅里叶变换相结合的算法(LS - FFT)等。基于横向剪切干涉与傅里叶变换相结合的算法比较适合解决欠采样的问题,基于四次和二次傅里叶变换的算法比较适合处理强噪声的情况,由此可见,将傅里叶变换引入到位相解包裹算法中来是很有发展前景的。
该类算法并不是无权最小二乘算法中的基于傅里叶变换的位相解包裹算法,不过也可以把基于傅里叶变换的最小二乘解包裹算法归为这类算法中来。
解包裹算法的分类比较
每类算法各有优缺点,它们的具体情况列于下表。
表3 相位解包裹算法比较
算法分类 | 算法原理 | 优点 | 缺点 | 前景 |
---|---|---|---|---|
路径跟踪算法 | 通过识别残差点或者依靠质量图寻找最佳积分路径来实现位相解包裹 | 对于噪声少的情况,可以得到比较满意的结果 | 噪声比较强,就会出现 “拉线” 和 “孤岛” 区域 | 对于处理一些噪声弱的图像是不错的选择 |
最小Lp范数算法 | 即求出解包裹位相的相邻像素位相差和包裹位相的相邻像素位相差最小Lp范数意义上的解 | 运算稳定性好,速度较快,不需要识别误差点,抗噪能力强 | 误差严重的区域,容易造成误差传递,导致精度降低 | 最小二乘算法是目前比较常用的算法,有待进一步发展 |
基于最优估计算法 | 即最小化解包裹位相导数和包裹位相导数的差异 | 能有效抑制误差点导致的位相误差传播,且不需要识别误差点,效果较好 | 由于计算量非常大,运行速度非常慢,不适合做大面积处理 | 理论复杂,研究进展较慢,不适合于实时动态监测 |
基于特征提取算法 | 识别出位相条纹,积分时每通过一个干涉条纹就加上或减去2π,最终实现整幅图的解包裹 | 不需要识别误差点 | 条纹必须清楚,条纹不连续区域需要进行人工干预,会引入误差 | 限制太大,实际应用性不强 |
基于傅里叶变换的算法 | 将傅里叶变换引入位相解包裹算法中,即将空域引入到频域中来,有其独特的优势 | 处理速度非常快,尤其是处理 2 的偶数次幂的图像,解包裹精度较高 | 有些相关算法不适合于解决欠采样问题 | 速度较快,该类算法是比较有发展前景的一类算法 |
通过表可知,目前各类算法都有自己的优缺点,因此,相互借鉴、相互组合优化,寻找合适的适用范围是以后的必然趋势。
实验指导与matlab代码获取
博主(博士研究生)在上述领域可提供实验指导、实验系统研发以及相关Matlab程序开发服务。如有需求,请私信博主, 联系方式见文章底部。
⭐️◎⭐️◎⭐️◎⭐️ · · · **博 主 简 介** · · · ⭐️◎⭐️◎⭐️◎⭐️ ♪▁▂▃▅▆▇ 博士研究生 ,研究方向主要涉及定量相位成像领域,具体包括干涉相位成像技术(如**全息干涉☑**、散斑干涉☑等)、非干涉法相位成像技术(如波前传感技术☑,相位恢复技术☑)、条纹投影轮廓术(相位测量偏折术)、此外,还对各种相位解包裹算法☑,相干噪声去除算法☑等开展过深入的研究。
程序获取、程序开发、实验指导,软硬系统开发,科研服务,请私信博主,联系方式如下。