留言板

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

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

共享内存环境下的分块最小不连续相位解缠算法

钟何平 唐劲松 张森 田振

钟何平, 唐劲松, 张森, 田振. 共享内存环境下的分块最小不连续相位解缠算法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
引用本文: 钟何平, 唐劲松, 张森, 田振. 共享内存环境下的分块最小不连续相位解缠算法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
ZHONG Heping, TANG Jinsong, ZHANG Sen, TIAN Zhen. Blocked Minimum Discontinuity Phase Unwrapping Algorithm in Shared Memory Environment[J]. Geomatics and Information Science of Wuhan University, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
Citation: ZHONG Heping, TANG Jinsong, ZHANG Sen, TIAN Zhen. Blocked Minimum Discontinuity Phase Unwrapping Algorithm in Shared Memory Environment[J]. Geomatics and Information Science of Wuhan University, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373

共享内存环境下的分块最小不连续相位解缠算法

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

国家自然科学基金 41304015

国家自然科学基金 61671461

中国博士后科学基金 2015M582813

详细信息

Blocked Minimum Discontinuity Phase Unwrapping Algorithm in Shared Memory Environment

Funds: 

The National Natural Science Foundation of China 41304015

The National Natural Science Foundation of China 61671461

China Postdoctoral Science Foundation 2015M582813

More Information
    Author Bio:

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

    Corresponding author: TANG Jinsong, PhD, professor. E-mail:tjsgxpcn@yahoo.com.cn
图(6) / 表(1)
计量
  • 文章访问数:  942
  • HTML全文浏览量:  120
  • PDF下载量:  244
  • 被引次数: 0
出版历程
  • 收稿日期:  2016-11-19
  • 刊出日期:  2018-09-05

共享内存环境下的分块最小不连续相位解缠算法

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

    国家自然科学基金 41304015

    国家自然科学基金 61671461

    中国博士后科学基金 2015M582813

    作者简介:

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

    通讯作者: 唐劲松, 博士, 教授。tjsgxpcn@yahoo.com.cn
  • 中图分类号: P236

摘要: 提出了一种共享内存环境下的分块最小不连续相位解缠方法。首先,利用多核协同计算整块相位质量图;然后,将干涉图和相位质量图分割为规则小块,采用质量引导与最小不连续相合成的方法同时对子块干涉图进行相位解缠;最后,主线程在不同解缠相位块以及位于边界的低质量区域上再次进行最小不连续优化,获取最终合并后的解缠结果。仿真和真实干涉相位图的分块解缠实验结果表明,所提算法在保持解缠精度的同时,加速比分别达到3.98和2.26。

English Abstract

钟何平, 唐劲松, 张森, 田振. 共享内存环境下的分块最小不连续相位解缠算法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
引用本文: 钟何平, 唐劲松, 张森, 田振. 共享内存环境下的分块最小不连续相位解缠算法[J]. 武汉大学学报 ● 信息科学版, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
ZHONG Heping, TANG Jinsong, ZHANG Sen, TIAN Zhen. Blocked Minimum Discontinuity Phase Unwrapping Algorithm in Shared Memory Environment[J]. Geomatics and Information Science of Wuhan University, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
Citation: ZHONG Heping, TANG Jinsong, ZHANG Sen, TIAN Zhen. Blocked Minimum Discontinuity Phase Unwrapping Algorithm in Shared Memory Environment[J]. Geomatics and Information Science of Wuhan University, 2018, 43(9): 1385-1390. doi: 10.13203/j.whugis20160373
  • 相位解缠是干涉合成孔径雷达(interferometric synthetic aperture radar, InSAR)和干涉合成孔径声纳(interferometric synthetic aperture sonar,InSAS)信号处理中极其关键的步骤之一,其本质是从缠绕相位中恢复真实相位[1]。在相邻相位点真实相位均小于π的条件下,真实相位可通过沿任意路径进行积分获得[2]。实际中,由于层叠、阴影、噪声以及信号处理过程中去相关现象的存在,使得干涉相位不满足理想条件,相位解缠过程变得极其复杂。现有相位解缠算法[1]主要包括路径跟踪算法[3-4]、最小范数法[5]和网络流法[6-8]。在众多相位解缠算法中,路径跟踪算法中的最小不连续算法[9]是一种非常稳健的算法,其显著特点是效率低。为提升最小不连续相位解缠算法效率,文献[10]提出了质量引导与最小不连续相合成的相位解缠算法,极大优化了最小不连续算法求解效率。但随着InSAR和InSAS系统成像分辨率的不断提升,单块缠绕相位数据量不断加大,相位解缠效率变得极其重要。为充分利用共享内存环境下的多核计算资源解决大块干涉图的相位解缠问题,本文提出了一种分块最小不连续相位解缠方法。其基本思想是:先将大块干涉相位图分为规则小块分别进行解缠,然后对分块解缠结果进行合并。子干涉相位块的相位解缠采用质量引导与最小不连续相合成的方法[10]。分块解缠结果合并分为两个阶段:首先, 在不同解缠相位块的高质量区域之间进行最小不连续优化; 然后, 在位于分块边界上的低质量区域内部进行最小不连续优化。分块相位解缠算法实现时,充分利用共享内存环境下的多核计算能力来加速相位解缠。解缠实验结果表明,分块相位解缠与不分块解缠算法相比,在计算结果方面两者保持了一致,但显著提高了大块干涉相位图的解缠效率。

    • 假设原始缠绕相位数据块大小为M×N,分块数为MbNb,由于原始数据行列数不一定恰好能够被分块数整除,因此对原始数据进行任意分块, 存在如图 1所示的4种分块大小。

      图  1  数据规则分块示意图

      Figure 1.  Diagram of Data Regular Blocking

      在分块处理过程中,需要根据当前分块所在的位置(i, j)和总分块数之间的关系来动态确定所要处理的数据块大小。图 2为单个大块干涉相位图的分块示意图,整块干涉相位图包含ABCD 4个低质量区域。低质量区域D与干涉相位图边界相邻。将干涉相位分为2×2的子相位块,分割线在图 2中用粗实线表示,4个子相位块分别采用B11B12B21B22表示。低质量区域A完全被包含在低质量区域B11中,低质量区域B被子相位块B11B12B21B22分割为4个低质量相位区域块,低质量区域C被子相位块B21B22分割为2个低质量相位区域块,低质量区域D位于子相位块B12内部。

      图  2  分块缠绕相位分块示意图

      Figure 2.  Diagram of Blocked Wrapped Phase

      在分块后的缠绕相位图中,将低质量区域分为两种类型:(1)与分割线相邻的低质量区域。图 2中低质量区域B在子相位块B11B12B21B22中均与分割线相邻,低质量区域C在子相位块B21B22中均与分割线相邻。(2)与分割线不相邻的低质量区域。图 2中低质量区域A位于子相位块B11内部,低质量区域D位于子相位块B12非分割线边界,这两种情形下,低质量区域均与分割线不相邻。

    • 完成干涉相位图子块划分后,依次对每个子块干涉相位图采用质量引导与最小不连续相结合的复合相位解缠方法[8]。在获得干涉相位图和相位质量图后,首先采用量化质量引导相位解缠方法获得初始解缠结果,同时根据相位质量图将缠绕相位图分为高、低质量区域; 然后在低质量相位区域进行最小不连续优化,完成低质量区域内部以及与高质量区域边界的所有“增长圈”消除后,即可获得单块干涉相位图的最终解缠结果。在高、低质量区域分割过程中,高质量区域采用0表示,低质量区域采用1表示,完成初始高、低质量区域分割后,采用形态学上的闭合操作对初始高、低质量区域分割结果进行优化。最后根据子相位块所对应的相位质量图,采用区域增长算法来确定与分割线相邻的低质量区域,并将这些低质量区域作为合并过程中的优化区域,与分割线不相邻的低质量区域已不再包含增长圈,不再作为合并过程中的优化区域。

    • 分块解缠相位合并是根据分块解缠结果来构造最终解缠结果。为减小相位合并过程时间,采用两步优化策略:(1)优化不同解缠相位块之间高质量区域的最小不连续性; (2)优化与分割线相邻的低质量区域的最小不连续性。分块相位合并的具体步骤如下:

      1) 合并过程中优化区域构造。分块相位合并过程中,不同解缠相位块之间的高质量区域和与边界相邻的低质量区域是分块解缠相位需要优化的区域。在子相位块解缠时,高质量区域采用0表示,低质量区域采用1表示。采用区域生长算法识别出与分割线相邻的低质量区域时,与边界相邻的低质量区域采用1表示,其他区域采用0表示。为准确识别不同子解缠相位块,将标志为0的区域采用当前线程块的位置索引加负号进行表示,而将低质量区域统一采用1表示。采用该方法标识后, 与图 2对应的相位合并优化区域如图 3所示,低质量区域AD已经不需要再次优化,优化区域主要包括不同解缠相位块的边界以及低质量区域BC

      图  3  分块解缠相位合并示意图

      Figure 3.  Diagram of Merging Blocked Unwrapped Phase

      2) 分割区域合并。分割区域合并过程实质上是一个受约束最小不连续优化过程,它通过构造生长树的方式寻找增长环,然后逐步消除增长环来获得最终解缠相位。这一受约束优化过程分为两个步骤:(1)将生长边的位置限制在不同解缠相位块的非优化区域以及优化区域和非优化区域之间的边界;(2)将生长边的位置限制在与分割线相邻的低质量优化区域。由于优化区域的减小,优化过程可以迅速完成,从而获取合并后的解缠相位。

      由于子相位块内部的低质量区域在分块解缠相位合并过程中不需要再次优化,因此相位分块处理时,需坚持分块尽量大的原则,减小跨越低质量区域的概率,达到减小优化区域、加速合并过程的目的。

    • 在多核多处理器计算机系统中,多个中央处理器(central processing unit,CPU)计算核心可同时访问共享内存,并且不同线程之间数据交换不需数据传输。OpenMP是共享内存环境下的标准化应用程序编程接口(application programming interface, API),它主要采用fork-join并行执行模式,由于在计算过程中充分利用多核计算资源, 因此极大提高了计算效率。分块最小不连续算法并行计算流程如图 4所示。在求解过程中,为保证分块相位边界相位质量值的可靠性,首先计算出整个干涉相位图的质量图。由于质量图计算是一种局部窗口内密集型运算,其计算复杂度为O(n2),可直接利用OpenMP中的parallel for指令,通过设置变量类型来实现。数据分块包括干涉相位图分块与相位质量图分块,子线程块通过当前待处理的数据块编号直接从完整数据块中获取对应的数据,然后依次进行量化质量引导、高低质量区域分割、低质量区域优化和边界低质量区域识别处理步骤,获取子数据块的解缠结果和边界低质量区域。由于子相位块的解缠过程完全独立,可直接采用OpenMP并行。

      图  4  分块最小不连续算法并行计算流程图

      Figure 4.  Flowchart of Parallel Computing of Blocked Minimum Discontinuity Phase Unwrapping Algorithm

      完成所有子相位块解缠后,在主线程中直接拼接分块解缠结果和合并过程中的优化区域,然后依次在不同解缠相位块的高质量区域边界、低质量区域内部和高低质量区域边界进行最小不连续优化,获得最终的解缠结果。

    • 为验证所提分块最小不连续相位解缠算法的性能,本文进行了仿真干涉相位图和InSAS干涉相位图并行解缠实验。实验过程中所用的软硬件平台详细信息为:处理器Intel(R) Xeon(R) CPU E3-1230 V3 @ 3.30 GB (1处理器8核),内存32 GB,操作系统为Windows Server 2008 R2标准版64位,软件环境为Visual Studio 2008。实验过程中,质量图选用的是相位梯度变化质量图,计算窗口大小设置为3×3像素。单个子干涉相位块解缠采用质量引导与最小不连续相结合的复合相位解缠算法,质量等级设置为1 000。根据相位质量图进行高、低质量区域分割时,质量阈值设置为0.7。对初始高、低质量区域分割结果进行形态学上的闭合操作时,形态学算子半径设置为8像素。图 5图 6中干涉图的取值范围进行了归一化,各种解缠结果的单位均为rad。

      图  5  仿真干涉图解缠实验

      Figure 5.  Unwrapping Test on Simulated Interferogram

      图  6  InSAS干涉图解缠实验

      Figure 6.  Unwrapping Test on InSAS Interferogram

      图 5(a)是一幅大小为2 000×1 000像素的仿真干涉相位图,该图包括5个低质量相位区域:左上方有2个,中部1个,左下方和右下方各有1个。仿真干涉相位图时,低质量区域对应的相关系数为0.6。直接采用质量引导和最小不连续相结合的相位解缠算法对整体干涉图进行解缠,其结果如图 5(b)所示,解缠结果整体平滑,并且与仿真真实相位较好地保持了一致。采用分块方法进行解缠时,原始相位分块数设置为4×4,直接对单个子相位块进行解缠并拼接后的结果如图 5(c)所示,各个子解缠结果内部连续性好,但不同解缠相位块之间存在显著的相位跳变。对分块解缠结果进行拼接时,优化区域如图 5(d)所示,由于低质量相位区域都跨越了分割线,在分块相位合并时,需要在其内部和不同解缠相位块之间进行最小不连续优化。分块解缠相位合并后的结果如图 5(e)所示,解缠相位块之间的跳跃已经消除,并且与整体解缠结果图 5(b)保持了高度一致,两者之间的差值如图 5(f)所示。在仿真干涉图解缠实验中,分块解缠结果与整体解缠结果之间的差异主要集中在5个低质量区域,不影响整体解缠性能。

      图 6(a)是一幅真实InSAS干涉相位图,其大小为1 440×8 800像素,该干涉相位图整体质量较好。直接将干涉图作为整体进行解缠所得结果如图 6(b)所示,解缠结果连续性好。将干涉图分为2×8块后,分别对各子块干涉图解缠后的结果如图 6(c)所示,不同解缠块之间存在相位跳变。由于干涉图总体质量高,没有大块的低质量区域。对分块解缠结果进行合并时,优化区域如图 6(d)所示,主要集中在不同解缠相位块的边缘。采用最小不连续算法再次优化后的最终解缠结果如图 6(e)所示,解缠结果整体连续性好,合并后的结果与整体解缠结果的差值如图 6(f)所示,差异只在个别孤立位置存在,很好地保持了分块解缠结果的性能。

      此外,定量比较分析了并行分块相位解缠算法和复合相位解缠算法(等价于分块数为1×1)的效率和解缠性能,其结果如表 1所示。复合相位解缠算法将干涉图作为整体进行解缠,不需要进行分块相位合并计算。针对仿真干涉图和InSAS干涉图解缠,复合相位解缠算法分别需要7 162 ms和16 309 ms。采用分块解缠策略并行后,仿真干涉图的解缠时间降为1 798 ms,其中质量图计算、子块干涉图解缠和分块解缠结果合并分别耗时45 ms、935 ms和818 ms,加速比为3.98。InSAS干涉图采用并行方法进行解缠后,总解缠时间降为7 218 ms,解缠时间主要消耗在子块干涉图解缠和分块解缠结果合并上,两者分别需要4 520 ms和2 561 ms,加速比仅为2.26。与仿真干涉图相比,InSAS干涉图并行解缠加速比较低的主要原因在InSAS干涉图整体质量较高,需要进行最小不连续优化的区域少。采用整体解缠和分块解缠时,仿真干涉图解缠结果中的不连续性长度均为32 997,不连续性大小从33 000变为32 999,InSAS干涉图解缠结果中的不连续性长度和不连续性大小分别从8 313和8 531减小为8 278和8 522。

      表 1  算法并行化前后性能比较

      Table 1.  Performance Comparison of the Algorithm Before and After Parallelization

      测试数据 计算方式 质量图计算时间/ms 子块解缠时间/ms 相位合并时间/ms 解缠总时间/ms 加速比 不连续长度 不连续大小
      仿真数据 整块 325 6 837 0 7 162 1 32 997 33 000
      并行(4×4) 45 935 818 1798 3.98 32 997 32 999
      InSAS 整块 1 062 15 247 0 16 309 1 8 313 8 531
      并行(2×8) 137 4 520 2 561 7 218 2.26 8 278 8 522
    • 本文提出了一种共享内存环境下的分块最小不连续相位解缠算法,通过“分治”策略,将大块干涉图分为规则小块进行解缠,通过对分块解缠结果进行合并获得最终解缠相位,达到了降低大块干涉图解缠规模快速解缠的目的。对仿真和InSAS干涉图的分块相位解缠实验结果表明,分块最小不连续相位解缠算法可充分利用共享内存环境下的多核计算能力提升大块干涉图的相位解缠效率。由于单个子块干涉相位图的解缠时间与相位质量相关,同样大小的干涉相位图,解缠时间存在显著差别,为充分利用计算资源,提升相位解缠效率,下一步主要针对分块并行相位解缠中的均衡计算任务分配方法展开研究。

参考文献 (10)

目录

    /

    返回文章
    返回