摘要:我国高分三号形成三星陆海雷达卫星星座。为了提升PolSARpro极化SAR图像处理的开源软件在高分三号数据转换环节的处理能力,提出了基于OpenMP、MapReduce和MPI并按照PolSARpro软件的数据格式要求进行分布式并行转换处理算法,将不同成像模式下的多极化数据实现快速定标和格式转换,并且通过KingMapV10.0GIS平台实现了算法并在实际数据中进行测试,验证了算法的高效性、可靠性、易扩展性和正确性。
关键词:高分三号合成孔径雷达定标消息传递接口分布式并行计算
中图法分类号:P237
DistributedParallelConversionAlgorithmofGF-3Multi-ModeDataBasedonMPIandMapReduceHybridProgramming
ZHANGRuming1*CAIJianying2WANGXihang1LIUZili2OUYANGBo2
1.HulunbeirBigDataCenter,Hulunbeir,InnerMongoliaAutonomousRegion,021000China;2.HulunbeirSmartCityDevelopmentResearchInstitute,Hulunbeir,InnerMongoliaAutonomousRegion,021000China
Abstract:China’sGF-3isformedaland-searadarsatelliteconstellationof3satellites.InordertoimprovetheprocessingcapabilityofPolSARproopensourcesoftwareforpolarimetricSARimageinthedataconversionstageofGF-3,thispaperproposesadistributedparallelconversionalgorithmaccordingtothedataformatrequirementsofitssoftwarebasedonOpenMP,MapReduceandMPI,whichcanquicklycalibrateandconvertGF-3muti-polarizationofdifferentimagingmodesdataintobinformat.ThealgorithmisimplementedonGISplatformofKingMapV10.0andtestedinrealdata,whichverifiestheefficiency,feasibility,extendibilityandcorrectnessofthealgorithm.
KeyWords:GF-3;SAR;Calibration;Messagepassinginterface;DistributedandParallelComputing
2022年4月7日,中国陆海监测监视迎来“三星组网”时代[1],支撑合成孔径雷达卫星的多极化数据进行业务化应用。高分三号具有12种工作模式,能够实现全天时、全天候的陆地和海洋监视监测,有力支撑我国防灾减灾应急、海洋资源开发和陆地环境监测[2-4]。PolSARpro是一款著名的开源软件[5],已经具备高分三号数据的导入及处理能力,然而转换效率比较低。为了提升该软件处理高分三号数据格式转换能力,陈云等人[6-8]给出了较高效的分布式并行转换算法,但并未给出多种成像模式下的定标转换。另外,陈云[9]采用QTConcurrent并行框架实现,虽有更好的性能表现,但未实现分布式并行计算。遥感事微信公众号[10]给出了多种成像模式下的全极化、双极化数据等定标处理,但未实现更高效的分布式并行转换。因此,本文提出了针对高分三号多模数据的分布式并行转换处理方法,先通过推导简化得到中间参数,接着给出分布式混合编程并行计算过程,再通过全极化条带I数据和精细条带II等实际数据,验证算法的高效性、可靠性、易扩展性和正确性,最后通过性能对比分析,表明本文方法可以高效的处理多模式多极化高分三号数据。
1算法原理
本文主要针对高分三号L1A产品数据进行格式转换处理。由GF-3卫星SARL1A级数据获取后向散射系数的定标公式[11]如下。
公式(1)中:是单位为dB的后向散射系数;在L1A影像中,,是1A级产品实部,是1A级产品虚部,是影像量化前的最大值,在元数据文件中字段获取。CalibrationConst是影像的雷达散射的定标系数,在元数据文件中CalibrationConst字段获取。
按PolSARpro软件的数据格式要求,以及根据陈云等人[6]的简化推导过程,记:
记linear形式的实部后向散射系数:,其中是单位为dB的实部后向散射系数。
记linear形式的虚部后向散射系数:,其中是单位为dB的虚部后向散射系数。
那么得到如下2个中间转换公式。
具体算法流程设计详情见下文所述。
2算法设计
本文算法内层并行处理过程将采用OpenMP,中间层并行处理过程利用QtConcurrent并行计算框架,外层分布式并行处理过程依托MPI协议来混合编程实现。具体分布式并行处理流程如下。
(1)首先初始化MPI环境,在MPI进程内利用MPI_Comm_size函数来生成分布式并行计算环境的通信域的进程总数M。
(2)每个MPI进程采用MPI_Comm_rank函数获取通信域中的ID序号。将使用该序号来给其分配待处理的高分三号数据集。
(3)MPI调度进程获取所有待处理高分三号GF3_TaskList数据任务列表。
(4)MPI调度进程从GF3_TaskList列表中获取高分三号GF3_DataList数据集,利用MPI通信协议,调用MPI_Isend函数把该数据列表发送给对应的MPI处理进程。
(5)对应的MPI处理进程通过调用MPI_Irecv函数接收到高分三号GF3_DataList数据集后,中间层采用QtConcurrent并行框架来实现多景高分三号影像数据的处理,而输入参数则是高分三号GF3_DataList数据列表,以及每景高分三号数据的多模多极化Convert并行转换函数。
(6)在Convert并行转换函数中,最内层扩展对不同成像模式的数据处理,对多极化数据采用OpenMP并行处理机制,如双极化或全极化数据等。
(7)最后调用QFuture的waitForFinished函数等待方法,直到每个MPI进程都处理完成该进程中所有高分三号数据为止。
(8)MPI处理进程每当处理完成后,进行调用MPI_Isend函数时把处理结束后的信息返回到MPI调度进程。
(9)重复上述由步骤(4)到步骤(8)的过程,每个循环并行处理至多M景高分三号数据,直到处理完成所有高分三号数据。
特别需要注意:全极化方式数据转换输出结果为PolSARpro的S2矩阵格式,而双极化方式数据转换输出结果为PolSARpro的RawBinary格式。
3算法实例
基于KingMapV10.0GIS平台进行验证,通过C/C++语言来编程实现。平台运行真实环境如下。
电脑配置如下:操作系统为Win11专业版;LPDDR4x内存大小为16.0GB,3733MHz;CPU型号为11代英特尔酷睿i5-11300H@3.10GHz,四核,8线程;内置M.2接口固态硬盘,大小为512GB;外置Type-C接口移动固态硬盘,大小为2TB;英特尔Iris(R)Xe集成显卡,显存为128M。
为了便于对比测试,不妨在上述电脑上虚拟出两台基本相同配置的虚拟机,每台虚拟机具体参数如下:操作系统为Win7旗舰版;LPDDR4x内存大小为6.0GB;CPU型号为11thGenIntel(R)Core(TM)i5-11300H@3.10GHz,3核;硬盘存储容量为150GB;集成显卡。
算法程序以2景高分三号全极化条带I数据和2景精细条带II数据(数据清单如表1所示)进行转换,经验证本文算法转换后的全极化条带I数据结果与PolSARpro软件生成的结果一致,精细条带II运行结果与《高分三号卫星地面系统用户手册》中结果一致,表明算法真实可靠。本文算法针对不同成像模式下的多极化方式数据定标转换性能结果如表2所示。
运行效率分析:采用同样配置的双机环境下,本文基于MS-MPI、MapReduce和OpenMP混合编程方法处理4景高分三号数据,虚拟机1处理2景精细条带II双极化方式数据共耗时约183.51s;虚拟机2处理2景全极化条带I全极化方式数据共耗时约9.641s。从中可以看出,本文算法对不同成像模式下的多种极化方式高分三号数据进行了支持;同时,不同成像模式下的数据大小不同,转换时间差异较大,性能相差约为19.0倍。随着高分数据量大小的增长,定标转换预处理时间也随着明显增长。因此,针对数据存在偏斜问题,有待进一步实现分布式环境下每台服务器的负载均衡。
本文算法对于分布式环境下多种成像模式下的并行式处理高分三号多时相影像数据集时将更有优势。
4结语
本文利用高分三号简化推导公式进行计算,并提出了基于OpenMP、MapReduce和MPI高分三号多成像模式多极化方式数据分布式并行转换算法。该算法基于KingMapV10.0GIS平台上采用C/C++编程实现并进行了实际数据测试,验证了算法的高效性、可靠性、易扩展性和正确性。当然,本文还有不足的地方,即存在数据偏斜问题,有待均衡化处理,留待后续解决。
参考文献
[1]张蕾.数说“太空全能神探”[EB/OL].(2022-04-08)[2024-03-05].https://news.gmw.cn/2022-04/08/content_35642673.htm.
[2]张庆君.高分三号卫星总体设计与关键技术[J].测绘学报,2017,46(3):269-277.
[3]国家国防科技工业局重大专项工程中心,国家航天局对地观测与数据中心.2018中国高分卫星应用国家报告(标准规范卷)[M].北京:国防科工局重大专项工程中心,2018.
[4]国家国防科技工业局重大专项工程中心,国家航天局对地观测与数据中心.2018中国高分卫星应用国家报告(共性产品卷)[M].北京:国防科工局重大专项工程中心,2018.
[5]ESA.PolSARpro[EB/OL].(2024-03-05)[2024-03-05].https://earth.esa.int/web/polsarpro/home.
[6]陈云,鞠佳衡,林伟木,等.一种高分三号复数散射矩阵数据快速转换算法[J].测绘与空间地理信息,2022,45(3):50-52.
[7]陈云.基于OpenMP的高分三号数据并行转换算法[J].测绘与空间地理信息,2022,45(6):85-86,91,95.
[8]陈云.基于MPI和OpenMP混合编程的高分三号数据分布式并行转换算法[J].测绘与空间地理信息,2024,47(2):43-45,49.
[9]陈云.基于MapReduce的VCT3.0多图层面间接线并行构建算法[J].测绘地理信息,2022,47(3):157-160.
[10]遥感事微信公众号.高分3号数据处理之PolSARpro[EB/OL].(2017-05-02)[2024-03-06].https://mp.weixin.qq.com/s/zQH3lWOCUyuXSwwQ5_wWBA.
[11]国防科工局重大专项工程中心,中国资源卫星应用中心.高分三号卫星地面系统用户手册[Z].北京:中国资源卫星应用中心,2017:1-39.