一、理论分析
对于大多数需要处理的包裏相位图来说包含大量噪声,有时存在不连续处,针对此情况,Miguel提出了一种基于可靠度排序非连续路径的快速二维解包裹算法,该算法是路径跟踪算法中质量引导路径方法中的一种。该算法可以有效地抑制噪声,准确地进行相位解包裹。它与传统算法不同点是其引入了可靠度函数以及非连续路径作为展开相位的依据。
基于可靠度排序的非连续路径解包裹算法分为两部分,一部分是选择可靠度函数,另一部分是设计解包裹的路径。
1.1 可靠度函数
不同的质量引导路径解包裹算法利用不同的标准来确定一个像素点的可靠度,而这个标准通常是梯度或者是待求可靠度的像素与其邻域像素之间的差分。可靠度高的点首先被解包裹。
若直接在可靠度函数中使用梯度绝对值,会带来很多问题,造成可靠度测量的不恰当,而二阶差分可以测量相位凹凸程度,对相位图中可能存在的非连续处进行更好地探测。因此该算法使用二阶差分作为可靠度计算依据。
对图像中每一个像素点的二阶差分值的计算介绍如下,见图1。
为了计算图像中每个像素点的二阶差分值,需要考虑其正交邻域和水平邻域,也就是3*3的窗口。对于像素(i, j),(i, j-1),(i, j+1),(i-1, j)和(i+1, j)是其正交邻域像素,而(i-1, j-1),(i+1, j-1),(i-1, j+1)和(i+1, j+1)是其对角邻域像素。像素(i, j)的二阶差分D可由下式计算
其中,
γ((.))是对两个连续像素间简单的去除2π跳变的解包裹操作。对于一幅图像,除了边界处,所有像素的二阶差分值都可以计算得出(边界处像素的二阶差分值为无限大,在解包裹的最后进行)。而可靠度R定义为二阶差分值的倒数,即
因此对于一个像素来说,其二阶差分值越小,其可靠度越高。
1.2 解包裹路径
选择了二阶差分值的倒数作为可靠度值之后,还需要确定解包裹的路径,而确定路径,首先要有一个“边界”(edge)概念。“边界”是两个水平或垂直相连的像素的交叉点,每一个像素与它左、右、上、下相邻的像素都可以构成“边界”。图2表示一幅图片的一部分,其中每个像素的可靠度值已经标出数值“边界”的可靠度值等于构成它的两个像素的可靠度值之和,如图3所示。
该算法解包裏路径不是由像素的可靠度值确定,而是由“边界”的可靠度值来定义。解包裹路径的定义很简单:具有高可靠度值的边界首先进行解包裹操作,即是把“边界”的可靠度值存储于矩阵中并进行排序之后再进行解包裹操作。
具体的操作步骤如下:
- 计算每个像素点的可靠度值R;
- 计算两相邻像素之间构成的“边界”的可靠度值(水平、垂直“边界”);
- 将所有“边界”按照可靠度值排序并存储于矩阵中待处理;
- 初始化,设置每个像素都不属于任何分组;
- 按照可靠度值排序的顺序,从可靠度值最大的“边界”开始循环,对构成“边界”的两个像素进行解包裹。
在解包裹过程中,需要分三种情况进行考虑:两个像素都未被解包裹。则把它们解包裹之后划归为一组;一个像素未被解包裹,另一个像素已经被解包裹(一个不属于任何一组,一个属于一个已解包裹组)。把未被解包裹的像素相对已解包裹的像素解包裹之后划归为已经解包裹的像素那一组;两个像素都已经被解包裹。如果这两个像素不属于同一组,则这两个组需要相互之间进行解包裹操作,将像素数少的一组相对于像素数多的一组进行解包裹操作,之后将两组划归为新的一组。
对5)的操作循环进行,直至所有的像素都被分组完毕,完成相位解包裹。
二、实验验证
2.1 仿真包裹相位图的相位解包裹
现有如下图所示的仿真包裹相位图:
基于可靠度排序非连续路径解包裹后的相位如下图所示:此过程大约用时1分钟。
2.2 实验包裹相位图的相位解包裹
现验证实际实验得到的包裹相位图,如下图所示:
采用可靠度排序的非连续路径解包裹算法大约需要执行20分钟,(根据个人电脑配置情况而不同),得到的解包裹相位如图8与图9所示。
三、资源获取
上述资源可从以下链接处获取:
https://download.csdn.net/download/qq_36584460/84667801
资源共包含以下内容:
1) phase_wrapped.mat (实验包裹相位数据)
2) unwrap_phase.m(子函数)
3) 基于可靠度排序的非连续路径解包裹算法-仿真包裹相位.m(仿真包裹相位分析函数)
4) 基于可靠度排序的非连续路径解包裹算法-仿真包裹相位-GBK格式.m(防注释乱码)
5) 基于可靠度排序的非连续路径解包裹算法-实验包裹相位.m(实验包裹相位分析函数)
6) 基于可靠度排序的非连续路径解包裹算法-实验包裹相位-GBK格式.m(防注释乱码)
四、其他解包裹算法
-
最小二乘法解包裹
https://blog.csdn.net/qq_36584460/article/details/122682867 -
基于快速质量图导向法的相位解包裹
https://blog.csdn.net/qq_36584460/article/details/122690728 -
基于最小二乘、迭代和相位梯度校正的解包裹算法
https://blog.csdn.net/qq_36584460/article/details/123410789 -
基于Glodstein枝切法相位解包裹算法
https://blog.csdn.net/qq_36584460/article/details/123442944
最后,如有任何疑问,可私信交流讨论~简单光学技术组可提供相关技术支持!