第33卷第3期 2018年6月遥感信息Remote Sensing InformationVol, 33,No.3 Jun. ,2018
单机模式下的高分遥感影像并行镶嵌
张建兴li2,杨柳忠1,于静1,张宁1(1.住房和城乡建设部遥感应用中心,北京100835;2.中国科学院地理科学与资源研究所资源与环境信息系统国家重点实验室,北京100101)
摘要:针对传统串行镶嵌在单机模式下效率低下的问题,提出一种基于单机模式的小规模遥感影像并行镶嵌 方法。通过对串行镶嵌过程的分析,将有效镶嵌区域按照处理内容划分为不同类型的数据子块,采用经典的“生 产者-消费者”模型,实现了数据处理与磁盘I/O的解耦,以串行流水线的工作模式最大程度地隐藏了数据处理时 间,从而有效提高了镶嵌效率。与商用软件ArcGIS进行了镶嵌效率对比,在小规模遥感影像整幅镶嵌应用中,该 方法获得了 2倍左右的加速效果。关键词:并行;生产者-消费者;镶嵌;单机模式;分块 doi:10. 3969/j. issn. 1000-3177. 2018. 03. 021
中图分类号:TP751 文献标志码:A 文章编号=1000-3177(2018)157-0136-07
Parallel Mosaic of High Resolution Remote Sensing Images in Stand-alone Mode
ZHANG Jianxing1'2, YANG Liuzhon1, YU Jing1,ZHANG Ning1
(1. Remote Sensing Application Center ^Ministry of Housing and Urban-rural Development 9Beijing 100835 ,CAina ;2. State Key Laboratory of Resources and Environment Information System of Chinese Academy ofSciences 9 Beijing 100101 ,C/iina)
Abstract : Aiming at the low efficiency of traditional serial mosaicking on stand-alone machines, a parallel mosaicking method of small scale remote sensing images is proposed. Through the analysis of serial mosaic process, effective mosaic region is further divided into different types of sub blocks according to processing contents. The classic parallel model of “producer- consumer” is introduced to realize the decoupling of data processing and disk I/O. The resulted serial pipeline mode enables to greatly hide the data processing time, so as to effectively improve the efficiency of mosaic. Compared with the commercial software ArcGIS, the efficiency of this method is better and acquires about two times speed-up effect in mosaicking.Key words:parallel5 producer-consumer; mosaic; stand-alone mode; block
〇引言影像镶嵌,又称影像拼接,是将区域内一系列具 有重叠的单幅影像拼接为一幅尺寸更大的影像的处 理技术。影像镶嵌是目前获取大尺度无缝髙分辨率 影像的主要手段,也是大区域遥感图像的分析与展 现的研究重点。遥感图像镶嵌非常重要,没有镶嵌 技术,所使用的数据将被图像的实际地理范围所 限制[1]。在国产高分辨率遥感卫星影像处理中(本文主 要针对高分一号数据、高分二号数据),要实现影像 镶嵌一般需要完成几何纠正、正射纠正、影像融合、 重采样、勻光匀色、镶嵌线寻址等前续步骤,这是一 个自然的串行流程,每一步的输出都是下一步骤的 输人,如图1所示。但是随着对地观测分辨率的不 断提高,传统串行计算方法的低效问题愈显突出,越 来越无法满足遥感影像规模应用的需求。近年来, GPU-CPU协同处理技术在遥感数据的快速处理中
收稿日期=2017-08-29 修订日期=2018-05-30 基金项目:国家重点研发计划项目(2017YFB0503900)。作者简介:张建兴(1979—),男,博士,主要研究方向为遥感图像处理、遥感技术及应用。 E-mail:zjx7906@163. com—136 —引用格式:张建兴,杨柳忠,于静,等.单机模式下的高分遥感影像并行镶嵌[J].遥感信息,2018,33(3) =136-142图1国产高分遥感影像数据基本处理流程获得了广泛应用,但相关研究一般都集中在辐射校 正、正射纠正和影像融合等环节[24],在影像镶嵌方 面尚未见到在GPU上实现的例子[5]。一般而言, 广义镶嵌包含影像融合环节后的全部过程。目前, 一些已有的针对镶嵌进行并行加速的研究在流程上 和串行镶嵌基本相同,只是针对串行镶嵌过程中的 部分环节进行改造,如安兴华等[6]提出的适用于机 群系统的细粒度遥感图像镶嵌并行算法,张建清 等[7]提出的基于集群计算系统的海量航空数码影像 并行镶嵌算法,陈晨等[8]利用视频图像镶嵌算法[9] 思想对文献[6]中的二维K插值算法进行改进,使 之适用于遥感图像镶嵌。这些研究都是针对重采 样、匀光匀色等环节进行加速改造,相对于串行镶嵌 算法而言,在一定程度上提高了镶嵌效率,但在负 载均衡和I/O并行方面仍具有一定的局限性。一
些考虑更为全面的研究包括:王妍颖等[1°]基于动 态任务分配实现了重采样和匀色等过程中的负载 均衡,并利用多线程较好地发挥了 PVSF2并行文 件系统I/O节点的多流并发技术优势;^^等[11]则 利用动态DAG调度策略,进一步优化了遥感图像 的处理顺序,增强了任务级并行,更好地发挥计算 节点的性能,提高了镶嵌效率;景维鹏等[12]则利用 Spark分布式内存计算框架利于迭代数据处理的
优势,提出了一种基于自定义弹性分布式数据集 的海量遥感图像并行镶嵌方法,提高了节点的利 用率。已有这些并行镶嵌算法具有一些共同特 征,都是基于集群系统平台,分布式工作环境,采 用MPI消息传递机制的主-从节点并行编程模式。 基于集群的高性能计算解决方案是目前大规模遥
感数据处理的主流模式,但集群数据处理平台建 设成本和使用成本都很高,在一些场合反而制约 了遥感技术的应用与研究。例如,针对城市级别 的卫星遥感应用,一般只需要几景高分影像,在一 些没有条件搭建集群环境的场合,基于单机的串 行影像镶嵌算法效率低下问题仍然突出。本文提 出了一种单机模式下的并行镶嵌算法,它采用了
计算机科学中经典的生产者-消费者模型,发挥了 CPU线程级别的并发优势,适用于小规模遥感影
像快速镶嵌。
1串行镶嵌算法分析如果不考虑重采样和匀色,狭义的镶嵌仅包括 镶嵌线寻址和基于镶嵌线的影像拼接2个子过程, 如图2所示。镶嵌线寻址是目前遥感影像镶嵌研究 的热点,它主要解决如何在影像的重叠区域确定一 条合理的镶嵌界线以实现影像的无缝拼接的问题。 镶嵌线寻址通常具有全局意义,需要考虑全部影像 的覆盖重叠情况,不具备并行潜质。另外,镶嵌线寻 址在整个狭义镶嵌过程中时间占比很小,以3景 GF-2影像为例,初始镶嵌网的寻址时间仅占不到 0.01%,因此,在整个狭义镶嵌过程中,影响镶嵌效 率的主要是基于接缝线的影像拼接环节。影像拼接 是典型的I/O密集型任务,主要工作在磁盘读写, 即:从磁盘上串行地读取每幅影像,根据已有的接缝 线拼接形成整幅影像,最后写回磁盘。在基于集群 的并行镶嵌算法中,这主要依赖于并行文件系统的 I/O加速策略而非镶嵌算法本身,如Lustre、PVFS
等一些通用的并行文件系统能够实现一定程度的 I/O并行加速[1°,13],但在单机模式下拼接过程通常 只能串行。
图2狭义镶嵌过程然而,在实际高分影像数据处理中可以发现,多 幅影像的纯粹磁盘访问时间(读和写)要远小于多幅 影像的镶嵌时间,说明除了磁盘I/O外,镶嵌过程 依然有可以被挖掘的加速空间。通过进一步分析可 以发现,如图2所示,除了 1度重叠区(区域的影像 覆盖次数为1)数据无需要处理外,2度及以上重叠 区影像都需要进一步处理,即依据接缝线的位置来 确定重叠区域内任何一个像素的影像源,这需要考
几何纠正一狭义镶嵌
广义镶嵌
137遥感信息2018年3期虑重叠区内点与接缝线的空间位置关系。因此,不 同的影像区域具有不同的处理策略,应该区别对待。 另外,单机模式下若以单幅影像作为处理粒度,给内
存数据管理与缓存管理都带来巨大压力,很可能导 致性能瓶颈。
2基于生产者-消费者模式的并行镶嵌2.1生产者-消费者模式生产者-消费者模式是经典的多线程并发程序 设计模式,如图3所示。生产者-消费者模型可以简 单地描述为:生产者每生产一次产品,就将产品投人 缓冲区,当缓冲区满了就停止生产;消费者每次从缓 冲区中取出一件产品,然后进行消费,当缓冲区空时 就停止消费。
生产者投入-►取出■►消费者
缓冲区图3生产者-消费者模式
在实际的并发设计中,可以有多个生产者同时 生产产品,也可以有多个消费者同时消费产品,但缓 冲区通常只有一个人口和出口,因此具有“先进先 出”特点的阻塞队列是最为常见的缓冲区实现形式, 即先生产出的产品优先投入缓冲区,并按产品到达 次序排列;先来到的消费者,优先按产品次序取出产 品进行消费。缓冲区是生产者-消费者模式实现的 关键,它使得生产者和消费者相互解耦,不再直接依 赖,成为了相对独立的过程,从而实现并发。生产 者-消费者模式的另外一个重要特点是它能够根据 生产者和消费者的工作能力来实现处理过程的平 衡,从而提高整体处理数据的速度。例如,当生产速 度低于消费速度时,可以通过增加生产者的数量实 现生产能力和消费能力的匹配。生产者-消费者模 式的这些重要优点也是本文采取该模式的主要 动机。2.2图像分块