留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

非递归最小不连续相位解缠算法及其优化方法

钟何平 田振 吴浩然 徐魁 唐劲松

钟何平, 田振, 吴浩然, 徐魁, 唐劲松. 非递归最小不连续相位解缠算法及其优化方法[J]. 武汉大学学报 ● 信息科学版, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
引用本文: 钟何平, 田振, 吴浩然, 徐魁, 唐劲松. 非递归最小不连续相位解缠算法及其优化方法[J]. 武汉大学学报 ● 信息科学版, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
ZHONG Heping, TIAN Zhen, WU Haoran, XU Kui, TANG Jinsong. Non-recursive Minimum Discontinuity Phase Unwrapping Algorithm and Its Optimization[J]. Geomatics and Information Science of Wuhan University, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
Citation: ZHONG Heping, TIAN Zhen, WU Haoran, XU Kui, TANG Jinsong. Non-recursive Minimum Discontinuity Phase Unwrapping Algorithm and Its Optimization[J]. Geomatics and Information Science of Wuhan University, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785

非递归最小不连续相位解缠算法及其优化方法

doi: 10.13203/j.whugis20150785
基金项目: 

国家自然科学基金 41304015

国家自然科学基金 61671461

中国博士后科学基金 2015M582313

详细信息
    作者简介:

    钟何平, 博士, 讲师.主要从事干涉信号处理和并行计算.zheping525@sohu.com

  • 中图分类号: P228.41

Non-recursive Minimum Discontinuity Phase Unwrapping Algorithm and Its Optimization

Funds: 

The National Natural Science Foundation of China 41304015

The National Natural Science Foundation of China 61671461

the China Postdoctoral Science Foundation 2015M582313

More Information
    Author Bio:

    ZHONG Heping, PhD. lecturer, specializes in the theories and methods of signal processing of interferometry and parallel computing. E-mail:zheping525@sohu.com

图(6) / 表(1)
计量
  • 文章访问数:  1386
  • HTML全文浏览量:  153
  • PDF下载量:  328
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-09-01
  • 刊出日期:  2017-10-05

非递归最小不连续相位解缠算法及其优化方法

doi: 10.13203/j.whugis20150785
    基金项目:

    国家自然科学基金 41304015

    国家自然科学基金 61671461

    中国博士后科学基金 2015M582313

    作者简介:

    钟何平, 博士, 讲师.主要从事干涉信号处理和并行计算.zheping525@sohu.com

  • 中图分类号: P228.41

摘要: 提出了一种非递归最小不连续相位解缠算法,并对其解缠效率进行了优化。在深入分析最小不连续算法的基础上,采用栈来保存生长边添加过程和消圈过程中的中间数据,实现了非递归最小不连续相位解缠算法。然后将其与量化质量引导相位解缠算法相结合,通过限制优化区域加速算法收敛。对InSAR(interferometric synthetic aperture radar)和InSAS(interferometric synthetic synthetic aperture sonar)干涉相位图的解缠试验结果表明:本文方法在保持相位解缠精度的同时,极大提高了相位解缠效率。

English Abstract

钟何平, 田振, 吴浩然, 徐魁, 唐劲松. 非递归最小不连续相位解缠算法及其优化方法[J]. 武汉大学学报 ● 信息科学版, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
引用本文: 钟何平, 田振, 吴浩然, 徐魁, 唐劲松. 非递归最小不连续相位解缠算法及其优化方法[J]. 武汉大学学报 ● 信息科学版, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
ZHONG Heping, TIAN Zhen, WU Haoran, XU Kui, TANG Jinsong. Non-recursive Minimum Discontinuity Phase Unwrapping Algorithm and Its Optimization[J]. Geomatics and Information Science of Wuhan University, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
Citation: ZHONG Heping, TIAN Zhen, WU Haoran, XU Kui, TANG Jinsong. Non-recursive Minimum Discontinuity Phase Unwrapping Algorithm and Its Optimization[J]. Geomatics and Information Science of Wuhan University, 2017, 42(10): 1411-1416. doi: 10.13203/j.whugis20150785
  • 相位解缠是干涉合成孔径雷达(interferometric synthetic aperture radar, InSAR)和干涉合成孔径声纳(interferometric synthetic synthetic aperture sonar, InSAS)信号处理中极其重要的步骤,其处理速度和精度直接关系到所反演的目标区域高程性能。由于InSAR和InSAS都是侧视成像,成像结果中不可避免地存在透视压缩、阴影和层叠现象,导致主辅图像相干性下降,使得相位解缠难度加大[1, 2]。目前存在的相位解缠算法主要分为路径跟踪算法[3, 4]、最小范数法[5]和网络流法[6]。路径跟踪算法中枝切法效率较高,但在低质量相位区域,枝切法解缠结果中容易存在“死区”。质量引导算法不存在解缠“死区”,但完全依靠相位质量图来指导解缠路径,低质量区域容易出现误差累积现象。最小范数算法是将相位解缠问题转化为最小化全局函数优化问题,通过寻求一个全局的解缠相位来拟合观测的缠绕相位,权重的选择直接关系到相位解缠精度。网络流法将相位解缠问题转化为求解最小费用流的网络优化问题,借用成熟网络流算法以达到降低相位解缠算法时间和空间复杂度的目的。在众多相位解缠算法中,Flynn提出的最小不连续相位解缠算法[7]是一种非常稳健的相位解缠算法,通过引入权重,对于许多低质量干涉相位图解缠均可以得到较好结果[8]。但经典最小不连续相位解缠算法中采用了递归消圈策略,虽然程序结构清楚,可读性好,但当递归层次较多时,可能存在系统堆栈溢出,程序崩溃的问题。此外,经典最小不连续相位解缠算法是在整个干涉相位图上进行优化,严重影响着相位解缠效率。

    本文在深入分析最小不连续算法原理及其实现过程的基础上,采用自定义栈结构对最小不连续算法的生长边添加过程和递归消圈过程进行了优化,实现了非递归生长边添加和消圈,有效避免了相位解缠过程中的堆栈溢出。为提升相位解缠效率,将干涉图分为高、低质量区域,采用质量引导算法对高质量区域进行解缠,然后将消圈优化过程限制在低质量区域内部及其高、低质量区域边界。最后通过对InSAR和InSAS干涉数据的解缠试验,验证了所提算法的性能。

    • 相位解缠是给每个缠绕相位数据φm, n加上一个2π的整数倍cm, n来恢复真实相位的过程。其中,解缠相位Φm, n与缠绕相位φm, n之间满足

      $$ {\mathit{\Phi} _{m, n}} = {\varphi _{m, n}} + 2\pi \cdot{c_{m, n}} $$ (1)

      cm, n称为缠绕数。如果相邻相位的差值在幅度上超过π,就认为这两点不连续,相邻像元可以为水平方向,也可以为垂直方向。最小不连续算法就是选择满足整体解缠相位不连续性最小的缠绕数矩阵C。整体解缠相位的不连续性E可以由垂直跳跃数vm, n和水平跳跃数zm, n来计算,分别定义为:

      $$ {v_{m, n}} = {\rm{Int}}(\frac{{{\mathit{\Phi} _{m, n}}-{\mathit{\Phi} _{m-1, n}}}}{{2\pi }}) $$ (2)
      $$ {z_{m, n}} = {\rm{Int}}(\frac{{{\mathit{\Phi} _{m, n}}-{\mathit{\Phi} _{m, n-1}}}}{{2\pi }}) $$ (3)

      式中,Int(·)表示取其最邻近的整数值。因此,解缠相位的跳跃数幅度和为:

      $$ E = \sum \left| {{v_{m, n}}} \right| + \sum \left| {{z_{m, n}}} \right| $$ (4)

      E就是全局相位不连续性的衡量标准,也是最小不连续相位解缠算法的优化目标。如果给定质量图qm, n,就可以拓展到带权重的最小不连续法,其定义为:

      $$ E = \sum w_{_{m, n}}^{^v}\left| {{v_{m, n}}} \right| + \sum w_{_{m, n}}^{^z}\left| {{z_{m, n}}} \right| $$ (5)

      式中,水平权重wm, nz和垂直权重wm, nv分别为:

      $$ w_{_{m, n}}^{^z} = {\rm{min}}({q_{m, n}}, {q_{m, n + 1}}) $$ (6)
      $$ w_{_{m, n}}^{^v} = {\rm{min}}({q_{m, n}}, {q_{m + 1, n}}) $$ (7)

      缠绕数和跳跃数之间有着密切的关系,它们之间可以相互推导。缠绕数cm, n的增加将导致垂直跳跃数vm, n和水平跳跃数zm, n的增加以及垂直跳跃数vm, n+1和水平跳跃数zm+1, n的减小。如果一个连通区域内相位的缠绕数全部增加1,则其周边的跳跃数都将增加或减少1。相反,跳跃数的改变也将导致缠绕数的改变。

      在最小不连续算法中,将正边数大于负边数的环称为增长圈[8],Flynn算法就是通过寻找增长圈来进行消圈完成相位解缠的。完成所有增长圈消除后,缠绕数就可以直接从跳跃数中提取,然后乘以2π并加到缠绕相位上就得到了解缠相位。

    • 最小不连续算法在实现时是通过构造生长树来进行增长圈查找的。如果一条边连接一个节点到另外一个节点,第一个节点称为父节点,第二个节点称为子节点。每一个节点都存在一条到其根节点的唯一路径,对于孤立节点,根节点为其自身。每一个节点(m, n)都有一个值与其对应,表示从根节点到该节点的边的权值和。由于每个节点最多只可能有4个父节点和4个子节点,因此生长树可以用包含一个字节的标识数组来表示。树的构造方法如下:如果两个相邻结点之间不存在边,节点(m, n)和节点(m′, n′)之间增加一条边后,将会导致节点(m′, n′)的值增加dVal,则有,

      $$ {d_{{\rm{Val}}}} = {\rm{Value}}\left( {m, n} \right) + {\rm{\delta }}V{\rm{ }}\left( {m, n, m^{\prime}, n^{\prime} } \right)-{\rm{Value}}\left( {m^{\prime}, n^{\prime} } \right) $$ (8)

      式中,δV(mk, nk, mk+1, nk+1)就是从节点(mk, nk)到节点(mk+1, nk+1)的边的权值。如果dVal≤0,边的加入将会导致原来节点值不变或变小成为负数,在这种情况下,不能添加边;如果dVal>0,应该加入边,并且节点(m′, n′)的值应该增加dVal。如果节点(m′, n′)包含子树(从节点(m′, n′)到其他节点之间存在边),dVal还需要添加到其所有该子节点上,并且删除到达节点(m′, n′)的边。

      在添加从节点(m, n)到节点(m′, n′)边的同时,还需要检测新加边后是否构成环。如果添加边前存在从节点(m′, n′)到节点(m, n)的通路,则新加边后出现环,而且是增长圈,需要进行增长圈消除操作。当增长圈为逆时针方向时,圈内包围区域相位的缠绕数需要增加1,增长圈为顺时针方向时,圈内包围区域相位的缠绕数需要减小1。由于缠绕数和跳跃数可以相互推导,此时,缠绕数的改变只需将圈上边的跳跃数按照边的方向进行增加或减小1即可。

      在最小不连续相位解缠算法优化过程中,实际上包含两种操作,一种是生长边的添加,另一种是增长圈的消除。生长边的添加需要满足式(8) 的dVal>0条件,在添加生长边的过程中,dVal还需要添加到子节点及其所有该子节点上。因此,生长边添加后的节点值更新过程是一个树的遍历过程。在节点值的更新过程中,同时进行增长圈的判断,非递归算法节点及子节点值的更新过程如图 1所示。

      图  1  节点及其子节点值更新流程图

      Figure 1.  The Updating Flow Chart of the Value of one Node and Its Sub-nodes

      在生长边添加过程中,实时判断有无增长圈,一旦出现增长圈,调用非递归增长圈消除算法去除增长圈,以减小解缠结果中的不连续性,完整的非递归最小不连续消圈过程如图 2所示。具体工作流程如下。

      图  2  非递归消圈流程图

      Figure 2.  The Flow Chart of Circle Canceling with No-recursive

      1) 发现增长圈后,消圈算法首先根据增长圈的起点和终点,修改对应的水平或垂直跳跃数,并令节点变化量为当前父节点值,让子节点及其节点变化量入栈。

      2) 如果栈为空,程序结束。否则判断栈空间是否小于4,如果小于4,增加栈空间。

      3) 让栈顶节点及其变化量出栈,令修改后的节点值为NValue

      4) 如果NValue值小于0,则令当前节点值变化量为当前节点值的相反数,并去除其与各子节点的连接标记。否则直接跳转到步骤5)。

      5) 将当前节点的各子节点入栈,并更改节点值,然后跳转至步骤2)。

      将传统最小不连续算法中的增长边添加和增长圈消除过程采用非递归算法实现后,非递归最小不连续算法的总体流程如图 3所示。首先根据输入缠绕相位计算水平和垂直跳跃数,然后按照右、上、左、下的顺序重复扫描所有节点,在满足生长边添加条件下,调用非递归生长边添加函数和非递归增长圈消除函数进行处理,直至没有增长圈为止。最后根据优化后的水平和垂直跳跃数推算出解缠相位。

      图  3  非递归最小不连续算法流程图

      Figure 3.  The Flow Chart of No-recursive Minimum Discontinuityphase Unwrapping Algorithm

    • 最小不连续相位解缠算法为了获得最优解缠结果,在所有缠绕相位区域进行生长边添加和增长环消除。但在所有缠绕相位区域进行优化,由于搜索区间扩大极大降低了相位解缠效率。而实际上高质量相位区域可以直接采用简单高效的量化质量引导相位解缠算法[3]进行求解,然后在低质量区域及高、低质量区域边界进行最小不连续优化,通过限制有效搜索区域来加快相位解缠速度。优化的最小不连续算法相位解缠流程如图 4所示。首先根据缠绕相位图计算相位质量图,然后采用量化质量引导算法获得初步的解缠结果,同时根据相位质量图进行高、低质量区域分割。初始质量分割采用阈值法,为去除孤立的小块高质量区域,对初始分割结果进行形态学上处理。最后在低质区域内部和高、低质量区域边界进行最小不连续优化,获得最终解缠结果。

      图  4  优化的最小不连续相位解缠算法流程

      Figure 4.  Flow Chart of the Optimized Minimum Discontinuity Phase Unwrapping Algorithm

    • 为验证非递归最小不连续相位解缠算法及其改进方法的性能,在如下环境对InSAR和InSAS干涉相位图进行了解缠试验:处理器Intel(R) Pentium(R) CPU G840 2.80 G (1处理器2核);内存4 G;操作系统Windows 7专业版32位;软件环境VS2008。

      试验选用了两幅干涉图,分别如图 5(a)图 6(a)所示。图 5(a)是一幅InSAR干涉图,其大小为512×512像素。图 6(a)是一幅2010年7月在某内陆湖进行InSAS海试样机试验中获取的原始数据处理后的干涉图,其距离向点数为8 800,方位向点数为1 512。试验过程中,质量图选用的是最大相位梯度图,窗口大小为3×3。为比较不同相位解缠算法性能,试验过程中选用了量化质量引导相位解缠算法,递归最小不连续相位解缠算法,非递归最小不连续相位解缠算法和优化后的非递归最小不连续相位解缠算法。

      图  5  InSAR干涉图解缠试验

      Figure 5.  Unwrapping Test on InSAR Interferogram

      图  6  InSAS干涉图解缠试验

      Figure 6.  Unwrapping test on InSAS interferogram

      图 5(a)所对应的最大相位梯度质量图如图 5(b)所示,从质量图中可以看出干涉图中存在大片的低质量区域;直接采用量化质量引导相位解缠算法求解的结果如图 5(c)所示,在低质量区域存在严重的误差累积现象;采用递归最小不连续算法进行解缠的结果如图 5(d)所示,解缠结果整体平滑,有效消除了图 5(c)解缠结果中的误差累积现象;改进的非递归最小不连续相位解缠算法和优化后的最小不连续相位解缠算法的解缠结果分别如图 5(e)5(f),两者解缠结果与图 5(d)结果一致。

      图 6(a)所对应的最大相位梯度质量图如图 6(b)所示,从质量图中可以看出干涉图中远距离处相干性较低,直接采用量化质量引导算法求解的解缠结果图 6(c)中,远距离处存在严重的误差累积现象,在解缠结果中出现了相位跳变。递归最小不连续相位解缠算法,非递归最小不连续相位解缠算法和优化后的非递归最小不连续相位解缠算法的解缠结果分别如图 6(d)图 6(e)图 6(f)。3种相位解缠算法的解缠结果都很好地保持了解缠相位的连续性,消除了低质量区域的误差累积。

      4种相位解缠算法的性能比较如表 1所示。从表中可以看出,对InSAR和InSAS干涉图进行解缠,质量引导相位解缠算法所需要的时间最短,分别需要118 ms和6 173 ms,但是解缠结果最差,拥有最大的不连续长度和不连续大小。递归最小不连续相位解缠算法与非递归最小不连续相位解缠算法的解缠时间相当,非递归算法的解缠时间略少,但是两种解缠算法的结果从不连续长度和不连续大小相等,解缠结果是一致的。优化后的最小不连续相位解缠算法在保持解缠结果连续性的同时,极大优化了相位解缠效率,特别是对大块干涉相位图的解缠。InSAS干涉图采用非递归最小不连续相位解缠算法解缠需要300 355 ms,但是采用优化后的算法,解缠时间降低到80 843 ms,显著提升了相位解缠效率。

      表 1  不同相位解缠算法性能比较

      Table 1.  The Performance of Different Phase Unwrapping Algorithms

      干涉图 数据大小 解缠方法 解缠时间/ms 不连续长度 不连续大小
      InSAR 512×512 量化质量引导算法 118 12 244 14 304
      原始递归方法 2 183 7 955 7 956
      非递归方法 2 072 7 955 7 956
      改进非递归方法 1 090 7 951 7 956
      InSAS 1 512×8 800 量化质量引导算法 6 173 65 228 70 793
      原始递归方法 310 044 43 674 43 674
      非递归方法 300 355 43 674 43 674
      改进非递归方法 80 843 43 671 43 674
    • 本文提出了一种非递归最小不连续相位解缠算法,有效避免了递归相位解缠算法中的堆栈溢出导致的无法解缠。为进一步提升相位解缠效率,将量化质量引导相位解缠算法与最小不连续相位解缠算法相结合,通过有效限制搜索区域,达到了优化非递归最小不连续相位解缠算法效率的目的。对InSAR和InSAS的相位解缠试验结果表明:优化的最小不连续相位解缠算法在保持相位解缠精度的同时,极大提高了相位解缠效率。下一步工作主要考虑在保证相位解缠精度的前提下,寻求效率更高的算法,实现实时相位解缠。

参考文献 (8)

目录

    /

    返回文章
    返回