基于MFC框架的干涉相位解缠教学软件设计
2022-06-15钟何平
钟何平
(海军工程大学 电子工程学院,湖北 武汉)
一 引言
干涉信号处理是在两幅复图像基础上,通过比相测高原理来得到目标区域的高程信息,其处理过程主要包含4个步骤,依次为复图像配准、干涉图生成与相位滤波、相位解缠和数字高程模型重建[1-2]。在干涉信号处理的这四个步骤中,相位解缠是一个非常关键的步骤,相位差恢复的好坏直接关系到最终重建的三维地形精度[3-4]。相位解缠实验是“干涉合成孔径成像技术”课程中的一个重要教学内容,由于相位解缠问题复杂,求解算法种类多,不同相位解缠算法有不同优缺点,适用不同条件,理解与应用起来存在一定难度,不利于学生对相位解缠问题本质的认识。
微软提供的MFC具有强大的计算能力和数据可视化能力,在信号处理教学课程中得到了广泛的应用,改善了教学效果。本文基于MFC设计交互式干涉相位解缠软件,并用于实验教学,学生可通过选择不同的相位解缠算法,并将计算结果以多种方式进行显示,提升学生对干涉相位解缠前后关系的认识,加强对不同相位解缠算法优缺点的理解,指导实际应用中的相位解缠算法选取。
二 相位解缠的基本概念
直接根据复图像提取的干涉相位,其值是模糊了整数倍周期的,相位解缠就是从直接提取的干涉相位中无模糊的重建真实相位差。真实相位φ与缠绕相位φ之间的关系可表示为:
式中k为整数。在大多数成像区域满足Nyquist采样定理的条件下,相位解缠问题就转化为选择满足采样定理路径的问题,一旦选择错误路径,就会造成解缠相位的累积误差传播。原始干涉相位图并
不直接给出哪些相位点之间满足采样定理,因此出现了基于不同原理的相位解缠策略与方法[5-8]。首先出现的是路径跟踪解缠算法,这类算法通过产生枝切线,限制解缠路径,有效隔绝噪声区域,阻止相位误差的全程传递。该类算法具有代表性的为枝切法[9-11]和质量引导算法[12-14],其差别在于前者显示生成枝切线,后者不显示生成枝切线,而是基于质量图来引导解缠路径。另一类相位解缠算法为最小二乘法[15],它将相位解缠问题进行转化,通过优化解缠相位梯度与缠绕相位梯度两者之间的差异来获得最终解缠结果。
三 相位解缠软件设计
(一) 总体设计
相位解缠软件总体设计如图1所示,主要包括数据输入、算法选择、数据显示和数据导入导出四个部分。数据输入主要指读取原始缠绕数据,同时兼顾软件的可拓展性,原始数据采用float类型的二进制文件表示,与之对应的配置文件采用ini格式,存储缠绕文件名称、缠绕数据行列数。算法选择主要包括质量计算方法选择、相位解缠方法选择。数据显示主要是给出数据相关信息,或者以二维可视化方式显示二维图像。数据导入导出主要是将中间计算结果或最终计算结果进行导出,或者从外部导入相位质量图,用于参与相位解缠计算。
图1 相位解缠软件总体设计
除以上功能外,还涉及数据显示时的调色板设置、相位计算的质量图参数设置,缠绕数据显示时的区间设置等功能。
(二) GUI界面设计
根据相位解缠软件总体功能设计的软件界面如图2所示,软件框架主要包括左右两部分。左侧主要为交互式功能区和列表状态显示区,右侧为四个二维图像展示区。参数设置区域主要为五类,分别为调色板设置、质量图参数设置、相位解缠方法设置、缠绕数显示区间设置和数据导入导出参数设置。调色板设置包含调色板类型选择和作用的图像选择。质量图参数设置包括质量图类型设置、局部计算窗口设置和量化质量等级设置。相位解缠方法包括枝切法、原始质量引导法、量化质量引导法和最小二乘法。缠绕数显示设置包括需要显示的最小缠绕数和最大缠绕数。数据导入和导出参数设置主要指需要导入和导出的数据选择。左侧四个列表显示区域分别显示缠绕相位图信息、质量图信息、解缠结果信息和缠绕数信息。缠绕图基本信息包括缠绕相位行列数、数值范围和残差点信息,质量图信息主要指相位质量图的分布信息,解缠相位信息包括解缠结果的值域区间和相位解缠时间,缠绕数信息是指缠绕数的最大值和最小值。
图2 相位解缠软件界面
(三) 软件关键设计
软件关键设计主要包括相位解缠算法的集成设计和二维图像可视化设计。相位解缠算法的集成设计是将不同算法集成到同一框架下,实现不同算法的输入与输出接口的统一。这里将算法的输入固定为二进制缠绕相位数据、数据块的行数和列数,并且将缠绕相位数据进行归一化处理,输出为解缠相位。不同解缠算法共用函数接口也进行约定,相位质量图的取值范围进行归一化处理,这样有效避免接口不匹配产生的错误。
二维图像显示是该软件的一个重要功能,主要是将相位解缠过程中的中间计算结果以可视化的方式展现。考虑到不同解缠算法的中间计算步骤和计算结果不同,四个二维图像展示区域显示是完全独立的。每个二维视图窗口进行数据显示时,需要指定显示的二维数据、数据的行列数、数据显示时所使用的调色板、数据标题,这样可以更加清楚显示。在二维数据图像显示后,可通过交互式方式,修改二维数据显示所使用的调色板,改善显示效果。
相位解缠软件的使用操作流程如图3所示。首先选择缠绕数据对应的ini配置文件,根据配置参数读取原始数据。设置质量图计算参数,包括质量图种类、局部计算窗口大小和量化质量等级。然后选择相应相位解缠算法,开始相位解缠。解缠完毕后,可计算缠绕数,设置显示的缠绕数区间,局部显示缠绕数图。最后可根据需要,将计算所得的相位质量图和解缠相位进行导出。
图3 相位解缠软件操作流程图
四 实验举例
软件设计完成后,我们采用实测数据进行了功能测试。图4左上方为实验所用缠绕相位图,该图为一幅试验所得干涉合成孔径声呐相位图,其大小为2160×4000像素,包含4893个残差点。相位解缠实验过程中,相位质量图选择相位梯度变化质量图,局部计算窗口设置为3×3,根据设置参数计算所得质量图如图4右上视图所示。然后将质量图等级设置为1000,选择量化质量引导相位解缠算法进行相位解缠,解缠结果显示在图4左下方,低质量区域有部分的累积解缠误差,但总体解缠结果没有出现显著的相位跳变。根据解缠相位和缠绕相位之间的缠绕关系计算所得的缠绕数如图4右下视图所示,缠绕数的区域边界与缠绕相位跳变位置一致,解缠效果良好。
图4 相位解缠实例
软件其他功能也一并进行了测试,包括质量图切换,解缠算法切换,调色板动态设置、设定缠绕数显示范围、数据导入和导出等功能。通过全面的相位解缠实验,验证了所开发的相位解缠软件功能的可靠性,满足基本相位解缠实验的教学要求。
五 结语
本文在MFC框架下开发了一套干涉相位解缠教学软件,完成了经典相位解缠算法的集成与计算结果的可视化显示,并可交互式修改计算与显示参数,实时观测不同参数对最终相位解缠结果的影响,加深对不同相位解缠算法的理解,满足“干涉合成孔径成像技术”课程实验教学要求。后续将会集成更多相位解缠算法,更好为课程教学服务。