CN106991656B - 一种海量遥感影像分布式几何纠正系统及方法 - Google Patents
一种海量遥感影像分布式几何纠正系统及方法 Download PDFInfo
- Publication number
- CN106991656B CN106991656B CN201710158858.4A CN201710158858A CN106991656B CN 106991656 B CN106991656 B CN 106991656B CN 201710158858 A CN201710158858 A CN 201710158858A CN 106991656 B CN106991656 B CN 106991656B
- Authority
- CN
- China
- Prior art keywords
- image
- node
- task
- jobs
- remote sensing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012937 correction Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000009467 reduction Effects 0.000 claims abstract description 26
- 230000009466 transformation Effects 0.000 claims abstract description 10
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 230000000903 blocking effect Effects 0.000 claims description 8
- 230000000875 corresponding effect Effects 0.000 claims description 8
- 230000011218 segmentation Effects 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 6
- 238000012952 Resampling Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012892 rational function Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明涉及一种海量遥感影像分布式几何纠正系统及方法。系统对每幅遥感影像的操作流程包括以下几个部分:步骤a)、选择一个几何纠正模型并确定控制点范围,然后把影像块依次输送到控制点选取端口,各终端协同选取控制点;步骤b)、选择空闲子节点进行几何纠正模型参数计算,得到坐标转换关系;步骤c)、将坐标转换关系发送到各个子节点,开始并发进行影像几何纠正;步骤d)、将各块纠正结果归约为一个完整的遥感影像。本发明大幅提高了在对海量遥感影像数据进行几何纠正时的纠正速度。
Description
技术领域
本发明涉及遥感影像数据的预处理技术领域,更具体而言涉及一种基于Hadoop的海量遥感影像分布式几何纠正系统及方法。
背景技术
随着对地观测技术的不断发展,特别是遥感技术和信息技术的快速发展,通过航天/航空遥感手段获得的遥感影像数据在国土、交通、军事和商业等领域的应用越来越广泛。目前我国遥感技术发展势头强劲,遥感数据的获取能力不断提高。从2010年开始,我国启动了高分辨率对地观测系统重大专项,该项目是《国家中长期科学与技术发展规划纲要(2006-2020年)》确定的十六个重大科技专项之一,将统筹建设基于卫星、平流层飞艇和飞机的高分辨率对地观测系统,形成全天候、全天时、全球覆盖的遥感数据获取能力。到2016年12月,我国首个自主研制的0.5米级高分辨率商业遥感卫星——高景一号发射成功,标志着国产商业遥感数据水平正式迈入国际一流行列。目前,我国的高分卫星数据已实现替代进口、自给率达80%。
在遥感数据获取能力极大提高的同时,为了使其更好的服务于国民经济,首先必须对这些原始遥感影像数据进行预处理。特别是在应急、救灾、实时监测等一些对时效性有很高要求的应用领域,如果无法快速完成对遥感影像数据的精确预处理,将会极大影响后续的使用,从而成为制约遥感应用技术发展的瓶颈。
几何纠正是遥感影像预处理中非常关键的一步。遥感成像的时候,由于飞行器的姿态、高度、速度以及地球自转等因素的影响,造成影像相对于地面目标发生几何畸变,这种畸变表现为象元相对于地面目标的实际位置发生挤压、扭曲、拉伸和偏移等,针对几何畸变进行的误差校正就叫几何纠正。几何纠正的实质是把遥感影像上的影像坐标转换为地图坐标并消除误差的一个步骤。目前进行几何校正的主要方法有基于多项式的遥感影像纠正、基于共线方程的遥感影像纠正、基于有理函数的遥感影像纠正等。这些方法的本质都是建立输入平面到输出平面之间的相互转换关系,然后寻找输出平面点在输入平面中的对应关系,最后整个输出平面内执行重采样。
传统的遥感影像几何纠正系统,存在以下不足:
1、大规模遥感影像的几何纠正工作量较大,一般需要多人共同完成。而传统的遥感影像几何纠正系统都是基于单机开发,面向单人操作、流程串行化,作业的速度和精度也取决于个人的熟练程度,因此难以利用多人协同操作带来的管理和效率上的优势。
2、传统的单机运行的遥感影像几何纠正系统受限于处理器性能和机器内存大小,在对大型遥感影像进行数据重采样等操作的时候,需要消耗较长的时间,而且容易因为机器的故障导致处理失败,甚至导致基础遥感数据受损,因此需要合理利用分布式计算带来的性能和稳定性上的优势。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是在海量数据和分布式多人协作的环境下,如何提高遥感影像几何纠正处理的效率。
(二)技术方案
本发明的一个目的是提供一种海量遥感影像分布式几何纠正系统。
本系统是在Hadoop基础上实现的。Hadoop是Apache开源组织的一个分布式计算框架,可以在大量廉价的硬件设备组成的集群上运行应用程序,构建一个具有高可靠性和良好扩展性的并行分布式系统,Hadoop分布式文件系统(HadoopDistributed File System,HDFS)、MapReduc编程模型和HBase分布式数据库是其三大核心技术。
本发明中,工作子节点也叫做作业节点,执行归约任务的作业节点被称为归约任务节点,解析完成的几何纠正模型也叫做坐标转换关系,原始影像队列L1中存储原始遥感影像,待操作操作队列L2中存储取得控制点信息的遥感影像,待纠正影像队列L3中存储取得坐标转换关系的遥感影像。
本发明海量遥感影像分布式几何纠正系统包括:数据交换中心,任务管理中心,工程中心和所有作业节点。
数据交换中心连接任务管理中心、工程中心和所有作业节点,数据交换中心由一定数量的网络交换机组成,它负责系统中各个节点(任务管理中心和工程中心也是系统中的节点)的相互通信。
任务管理中心部署在单独的机器上,它负责调度每一个子任务在作业节点上的分配工作,并且实时监听作业节点的工作状态,如果有任务执行失败,任务管理中心负责调度该子任务重新在该作业节点上重新运行或选择新的作业节点运行。
工程中心部署在单独的节点,它负责在影像几何纠正阶段将遥感影像切分成64M的子影像块;工程中心会把每一个任务的引用数据和配置参数打包成Java文件存储起来,提供给任务管理中心进行任务调度;任务管理中心还负责把用户在客户端选取的几何纠正模型和控制点信息等数据打包成配置文件进行保存,并负责对原始遥感影像队列L1,带有配置信息的待操作影像队列L2以及待纠正影像队列L3进行管理。
作业节点是系统中计算和存储的基础单位,遥感影像数据进入任意一个作业节点后,该节点对遥感影像进行虚拟切分,然后将数据更新信息通过心跳发送到工程中心;任务管理中心对作业节点进行任务分配后,作业节点根据任务信息对遥感影像的几何纠正模型进行解析,判断遥感影像对应的控制点信息是否符合精度要求,以及对各个子影像块进行几何纠正操作。系统中至少有2个作业节点,在对海量遥感数据进行几何纠正处理时,当作业节点超过8个时,系统的处理效率会有明显提升。
工程中心和任务管理中心、任务管理中心和作业节点、工程中心和作业节点之间的数据交互是由Hadoop的心跳通信机制实现的。“心跳机制”是整个系统运行的基础,是沟通工程中心、任务管理中心和作业节点的桥梁,作业节点周期性地通过心跳消息向任务管理中心报告节点和任务运行状态信息。任务管理中心通过心跳消息了解作业节点当前的运行状态,判断作业节点是否存活,并通过心跳返回值作出相应的动作指令。工程中心通过心跳机制向任务管理中心发送任务的引用数据和配置参数,供任务管理中心进行任务调度。
本发明的另一个目的是提供一种海量遥感影像分布式几何纠正方法,包括以下步骤:
步骤a)、选择一个几何纠正模型并确定控制点范围,然后把影像块依次输送到控制点选取终端,各终端协同选取控制点;
步骤b)、选择空闲子节点进行几何纠正模型参数计算,得到坐标转换关系;
步骤c)、将坐标转换关系发送到各个子节点,开始并发进行影像几何纠正;
步骤d)、将各块纠正结果归约为一个完整的遥感影像。
所述步骤a)包括以下具体步骤:
在取得待纠正的遥感影像后,根据传感器类型和成像特点,选择相应的几何纠正模型:对于SPOT5卫星影像,选择严格成像模型,对于IKONOS、P5、RapidEye卫星影像选择有理函数模型,对于没有资轨参数或有理函数模型系数文件的卫星影像,选择多项式模型。本发明以多项式模型为例进行几何纠正;
步骤a1)、原始遥感影像由任意作业节点进入,作业节点根据切分规则对原始遥感影像进行虚拟切分,并通过心跳向工程中心提交数据更新的消息;
切分规则:若原始影像像素矩阵小于6000*6000,则不作切分,否则,把原始影像切分成6000*6000的影像子块,切分后影像右边缘部分影像并入该边缘左边影像子块,下边缘部分影像并入该边缘上方影像子块;图中A,B,D,E为标准影像子块,右边缘部分并入了C,F,I子块,下边缘部分并入了G,H,I子块;并入右边缘的子块个数为M,大小为X,并入下边缘的子块的个数为N,大小为Y,右下角影像子块的大小为T,原始影像大小为S,标准影像子块个数为P,且其大小都为Z,Z=6000*6000,所以S=P*Z+(M-1)*X+(N-1)*Y+T;
本步骤中的分块并不对影像作真实切分,而是一种虚拟切分,其分块的目的是将一整幅遥感影像分成多个部分,是在原始影像上的分块;分块方式为:把原始影像分成一块块连续的矩形部分,对于右边缘和下边缘,将右边缘并入左边的影像子块,将下边缘并入上方的影像子块;
步骤a2)、工程中心接收到心跳消息后,记录原始遥感影像存储地址和影像切分信息,并放入原始影像队列L1;
步骤a3)、任务管理中心从原始影像队列L1中取出影像地址和切分信息,选择空闲控制点选取节点传递任务信息,该节点提示用户选择几何纠正模型,然后选取初始控制点(例如4~9个控制点)将整个待纠正遥感影像控制在一个规则(例如矩形结构)的坐标范围内,确定控制点范围;
步骤a4)、用户确定需要选取的最少控制点数量,以多项式纠正模型为例,控制点个数与多项式阶项n及地形情况有密切关系。一般而言,控制点个数最少应大于(n+1)(n+2),来保证影像几何纠正的精度。当阶项n=2或更高时,通常要求每景控制点在25个以上,困难地区应适量增加控制点,保证在30~50个左右。
步骤a5)、对于影像子块的控制点数量,在控制点均匀分布的前提下,每个子块中的控制点数量可以通过q=(m-a)/t确定,m是原始影像需要的控制点个数,a是设定的初始控制点数,t是子块的总数;子块的控制点数量可以根据地形复杂程度有上下一个的浮动;
步骤a6)、任务管理中心根据影像切分信息向空闲控制点选取节点分配任务,选取节点在收到任务信息后,抓取分配到本节点的影像块及其在原始影像中的位置到本地并显示,同时选取节点会实时抓取已选取的控制点信息显示在影像上,用户在本节点影像块上选取用来几何纠正的控制点,并且可以通过查看其他终端的控制点选取信息来选择本终端影像区域的控制点选取位置,控制点的选取以这样的多端协同选取的方式提高选取效率和控制点精度;
步骤a7)、当影像的所有子块控制点全部选取完成时,把用户选取的纠正模型和控制点打包成配置信息和影像地址放入待操作队列L2,等待任务管理中心对影像作出操作指令;
步骤a8)、当工程中心监听到队列L2有未被遍历过的影像(队列中有新的影像放入等),且从队列L2中取出的影像的分块结果没有在影像分块结果树中找到时,通知任务管理中心向空闲作业节点下达影像分块的指令,作业节点将分块结果存储在本地并将分块信息传递给工程中心,工程中心将影像分块信息放入平衡二叉树。
所述步骤b)包括以下具体步骤:
步骤b1)、任务管理中心从待操作队列L2中取出队首影像信息,向系统中的某个空闲作业节点发出工作指令,对该影像几何纠正模型进行解析;
步骤b2)、作业节点根据任务管理中心发出的指令从相关位置取出影像信息以及控制点等相关配置信息;作业节点每隔一定时间会向任务管理中心发出心跳消息,向任务管理中心反馈作业节点的工作状态,数据更新信息,作业节点是否正常等信息;
步骤b3)、任务管理中心持续接收作业节点传递回来的心跳消息,判断作业节点是否对几何纠正模型解析完成;如果作业节点已经完成几何纠正模型的解析,作业节点便将该影像以及相关配置信息传递给工程中心,并放入待纠正队列L3。
所述步骤c)包括以下步骤:
步骤c1)、工程中心收到该作业节点返回的心跳消息,在几何纠正模型解析完成且符合精度要求时,会查找分块结果平衡二叉树T判断是否已经完成该影像的切分工作,当纠正模型的提取工作和影像的切分工作都完成后;工程中心通知任务管理中心根据影像分块结果把影像切分为多个纠正任务,并负责调度每一个子任务在作业节点上运行;任务管理中心通过向作业节点发送心跳返回值来调度分配任务,其中心跳返回值包含了任务执行指令,几何纠正模型和待纠正影像块所在的位置信息;
步骤c2)、作业节点接收到任务管理中心返回的心跳返回值,判断自己是否被分配任务;若被分配任务,作业节点就会根据心跳返回值中的几何纠正模型和待纠正影像块位置信息,自行从其他作业节点存储的数据中抓取所有引用数据将其直接复制到本地工作文件夹,然后运行每一个影像块几何纠正任务。
所述步骤d)包括以下步骤:
步骤d1)、任务管理中心接收到作业节点影像纠正完毕的消息,在某个空闲节点创建归约任务,并告知归约任务节点所有已经完成影像纠正任务的作业节点的位置信息;
步骤d2)、归约任务节点接收到已经完成影像纠正任务的作业节点的位置信息,通过获取到的位置信息从完成纠正任务的作业节点中获取纠正结果,并将该影像的纠正结果归约为完整的影像纠正结果;
步骤d3)、归约任务节点完成了归约任务后,存储最终完整的影像纠正结果;并通过心跳消息通信机制把结果存储信息传递给工程中心。
本发明的有益效果是:
在对遥感影像进行几何纠正的操作过程中,主要耗费的时间是在控制点的选取和数据的重采样上。本发明通过控制点分布式协同选取的方式,能够提升控制点分布的均匀度,减少单个终端需要选取的控制点的个数,并且每幅影像所有子块选取的控制点总数少于传统单机模式选取的控制点总数,从而减少控制点选取所需的总时间。同时不同操作员选取的控制点一定程度上能够减小单人操作模式带来的人为误差,因此控制点分布式协同选取的方式能够提升遥感影像几何纠正的处理效率。另一方面,在数据重采样过程中,本发明在PC集群环境下对遥感影像执行分块并行数据重采样,与传统单机数据重采样相比能够减少重采样需要的时间,也能够提高遥感影像几何纠正的处理效率。根据本发明实施例的海量遥感影像分布式几何纠正系统,将基于Hadoop的分布式处理技术引入到遥感影像的几何纠正中,可以减少几何纠正中控制点选取和数据重采样所需的时间,并且可以克服传统方法中由于机器故障造成的处理中断问题,提高海量遥感数据几何纠正的效率,本发明兼容遥感数据预处理中多数几何纠正方法,以一种多点协作和“总-分-总”的形式实现了遥感数据的快速几何纠正处理。
附图说明
图1是根据本发明的海量遥感影像分布式几何纠正系统的主要步骤示意图;
图2是海量遥感影像分布式几何纠正系统影像切分规则示意图;
图3是海量遥感影像分布式几何纠正系统影像控制点选取示意图;
图4是海量遥感影像分布式几何纠正系统几何纠正模型解析过程;
图5是海量遥感影像分布式几何纠正系统几何纠正并行处理示意图;
图6是海量遥感影像分布式几何纠正系统数据流图。
具体实施方式
为了实现以上技术方案,本发明需要解决以下技术问题:如何协同选取控制点,如何在分布式框架中解析几何纠正模型,如何进行控制点精度控制,如何进行待纠正影像的任务切分,如何并发地在计算机集群中执行解析几何纠正模型和使用纠正模型对影像进行几何纠正这两个串行过程,如何快速匹配影像配置信息和影像分块信息等。
本发明海量遥感影像分布式几何纠正系统包括:数据交换中心,任务管理中心,工程中心和所有作业节点。
数据交换中心连接任务管理中心、工程中心和所有作业节点,数据交换中心由一定数量的网络交换机组成,它负责系统中各个节点(任务管理中心和工程中心也是系统中的节点)的相互通信。
任务管理中心部署在单独的机器上,它负责调度每一个子任务在作业节点上的分配工作,并且实时监听作业节点的工作状态,如果有任务执行失败,任务管理中心负责调度该子任务重新在该作业节点上重新运行或选择新的作业节点运行。
工程中心部署在单独的节点,它负责在影像几何纠正阶段将遥感影像切分成64M的子影像块;工程中心会把每一个任务的引用数据和配置参数打包成Java文件存储起来,提供给任务管理中心进行任务调度;任务管理中心还负责把用户在客户端选取的几何纠正模型和控制点信息等数据打包成配置文件进行保存,并负责对原始遥感影像队列L1,带有配置信息的待操作影像队列L2以及待纠正影像队列L3进行管理。
作业节点是系统中计算和存储的基础单位,遥感影像数据进入任意一个作业节点后,该节点对遥感影像进行虚拟切分,然后将数据更新信息通过心跳发送到工程中心;任务管理中心对作业节点进行任务分配后,作业节点根据任务信息对遥感影像的几何纠正模型进行解析,判断遥感影像对应的控制点信息是否符合精度要求,以及对各个子影像块进行几何纠正操作。系统中的作业节点有N个(N>=2),在对海量遥感数据进行几何纠正处理时,作业节点的个数N>=8,系统的运行效率会有明显提升。
工程中心和任务管理中心、任务管理中心和作业节点、工程中心和作业节点之间的数据交互是由Hadoop的心跳通信机制实现的。“心跳机制”是整个系统运行的基础,是沟通工程中心、任务管理中心和作业节点的桥梁,作业节点周期性地通过心跳消息向任务管理中心报告节点和任务运行状态信息。任务管理中心通过心跳消息了解作业节点当前的运行状态,判断作业节点是否存活,并通过心跳返回值作出相应的动作指令。工程中心通过心跳机制向任务管理中心发送任务的引用数据和配置参数,供任务管理中心进行任务调度。
本系统的工作流程是:
遥感影像由任意作业节点进入,作业节点根据切分规则对遥感影像进行虚拟切分,并通过心跳向工程中心提交数据更新的消息。如图3所示,工程中心接收到心跳消息后,记录遥感影像存储地址和影像切分信息并放入原始影像队列L1,系统根据队列L1中的影像地址信息取出队首影像并让用户选择几何纠正模型,然后选取初始控制点将整个影像控制在一个规则的坐标范围内,确定控制点范围,为了提高精度和效率,控制点的选取由多人同时进行,每个人根据影像切分信息分配到影像的一个部分,当影像的所有子块控制点全部选取完成时,把用户选取的纠正模型和控制点打包成配置信息和影像地址放入队列L2;在队列L1为空时,系统持续监听L1队列的状态,当有新的影像输入则继续进程,等待用户输入;如图4所示,任务管理中心从队列L2中取出影像地址及其配置信息,然后向空闲作业节点分配任务,作业节点抓取遥感影像并解析所取影像的几何模型,确定输出平面点与输入平面的对应关系;任务管理中心通过系统中的作业节点的个数来判断同时进行几何模型解析的影像的个数,作业节点个数为N,同时进行的几何模型解析任务的个数为P,则当第一幅遥感影像放入队列L2时,任务管理中心会调用空闲作业节点根据L2中影像地址对遥感影像进行分块并存储在本地,作业节点完成任务后把分块信息和配置参数打包成Java文件传递给工程中心;任务管理中心会根据系统中作业节点的个数来动态地确定影像并行分块的任务个数,作业节点个数为N,影像并行分块任务个数为Q,则在作业节点解析完几何模型之后,作业节点将解析完成的几何模型数据信息打包并和影像地址一起传递给工程中心,然后放入待纠正影像队列L3;如图5所示,工程中心接收到影像分块信息后把分块结果放入一个平衡二叉树(Balanced Binary Tree)T,工程中心从L3中取出影像信息后在T中搜索该影像的分块工作是否完成,如果搜索不到影像的分块结果,工程中心将该影像放入L3的队尾,如果在T中得到该影像的分块信息,工程中心把分块信息和配置信息发送给任务管理中心,并且把该影像分块信息从T中删除,重新调整平衡二叉树T;任务管理中心取出配置信息根据影像切分结果对空闲作业节点分配子任务,通过分布式框架的心跳消息通信机制发送配置信息和影像切分结果;作业节点接收到信息后读取需要的影像分块信息到本地,然后开始并发进行影像几何纠正任务;任务管理中心在接收到任意一个作业节点完成纠正任务后选取一个空闲节点作为归约任务节点;归约任务节点在取得分块纠正影像后将结果归约为一个完整的影像并存储在本地,然后把完整影像地址传递给工程中心。
图1展示的是海量遥感影像分布式几何纠正系统的实现方法主要步骤示意图,本系统对影像处理的主要步骤有四步:
步骤a)、选择一个几何纠正模型并确定控制点范围,然后把影像块依次输送到控制点选取终端,各终端协同选取控制点;
步骤b)、选择空闲子节点进行几何纠正模型参数计算,得到坐标转换关系;
步骤c)、将坐标转换关系发送到各个子节点,开始并发进行影像几何纠正;
步骤d)、将各块纠正结果归约为一个完整的遥感影像。
如图3所示,所述步骤a)包括以下具体步骤:
步骤a1)、原始遥感影像由任意作业节点进入,作业节点根据切分规则对原始遥感影像进行虚拟切分,并通过心跳向工程中心提交数据更新的消息;
切分规则如图2所示:若原始影像像素矩阵小于6000*6000,则不作切分,否则,把原始影像切分成6000*6000的影像子块,切分后影像右边缘部分影像并入该边缘左边影像子块,下边缘部分影像并入该边缘上方影像子块;图中A,B,D,E为标准影像子块,右边缘部分并入了C,F,I子块,下边缘部分并入了G,H,I子块;并入右边缘的子块个数为M,大小为X,并入下边缘的子块的个数为N,大小为Y,右下角影像子块的大小为T,原始影像大小为S,标准影像子块个数为P,且其大小都为Z,Z=6000*6000,所以S=P*Z+(M-1)*X+(N-1)*Y+T;
步骤a2)、工程中心接收到心跳消息后,记录原始遥感影像存储地址和影像切分信息,并放入原始影像队列L1;
步骤a3)、任务管理中心从原始影像队列L1中取出影像地址和切分信息,选择空闲控制点选取节点传递任务信息,该节点提示用户选择几何纠正模型,然后选取初始控制点将整个影像控制在一个规则的坐标范围内,确定控制点范围;
步骤a4)、用户确定需要选取的最少控制点数量,以多项式纠正模型为例,控制点个数与多项式阶项n及地形情况有密切关系。一般而言,控制点个数最少应大于(n+1)(n+2),来保证影像几何纠正的精度。当阶项n=2或更高时,通常要求每景控制点在25个以上,困难地区应适量增加控制点,保证在30~50个左右。
步骤a5)、对于影像子块的控制点数量,在控制点均匀分布的前提下,每个子块中的控制点数量可以通过q=(m-a)/t确定,m是原始影像需要的控制点个数,a是设定的初始控制点数,t是子块的总数;子块的控制点数量可以根据地形复杂程度有上下一个的浮动;
步骤a6)、任务管理中心根据影像切分信息向空闲控制点选取节点分配任务,选取节点在收到任务信息后,抓取分配到本节点的影像块及其在原始影像中的位置到本地并显示,同时选取节点会实时抓取已选取的控制点信息显示在影像上,用户在本节点影像块上选取用来几何纠正的控制点,并且可以通过查看其他终端的控制点选取信息来选择本终端影像区域的控制点选取位置,控制点的选取以这样的多端协同选取的方式提高选取效率和控制点精度;
步骤a7)、当影像的所有子块控制点全部选取完成时,把用户选取的纠正模型和控制点打包成配置信息和影像地址放入待操作队列L2,等待任务管理中心对影像作出操作指令;
步骤a8)、当工程中心监听到队列L2有未被遍历过的影像(队列中有新的影像放入等),且从队列L2中取出的影像的分块结果没有在影像分块结果树中找到时,通知任务管理中心向空闲作业节点下达影像分块的指令,作业节点将分块结果存储在本地并将分块信息传递给工程中心,工程中心将影像分块信息放入平衡二叉树。
如图4所示,所述步骤b)包括以下具体步骤:
步骤b1)、任务管理中心从待操作队列L2中取出队首影像信息,向系统中的某个空闲作业节点发出工作指令,对该影像几何纠正模型进行解析;
步骤b2)、作业节点根据任务管理中心发出的指令从相关位置取出影像信息以及控制点等相关配置信息;作业节点每隔一定时间会向任务管理中心发出心跳消息,向任务管理中心反馈作业节点的工作状态,数据更新信息,作业节点是否正常等信息;
步骤b3)、任务管理中心持续接收作业节点传递回来的心跳消息,判断作业节点是否对几何纠正模型解析完成;如果作业节点已经完成几何纠正模型的解析,作业节点便将该影像以及相关配置信息传递给工程中心,并放入待纠正队列L3。
如图5所示,所述步骤c)包括以下步骤:
步骤c1)、工程中心收到该作业节点返回的心跳消息,在几何纠正模型解析完成且符合精度要求时,会查找分块结果平衡二叉树T判断是否已经完成该影像的切分工作,当纠正模型的提取工作和影像的切分工作都完成后;工程中心通知任务管理中心根据影像分块结果把影像切分为多个纠正任务,并负责调度每一个子任务在作业节点上运行;任务管理中心通过向作业节点发送心跳返回值来调度分配任务,其中心跳返回值包含了任务执行指令,几何纠正模型和待纠正影像块所在的位置信息;
步骤c2)、作业节点接收到任务管理中心返回的心跳返回值,判断自己是否被分配任务;若被分配任务,作业节点就会根据心跳返回值中的几何纠正模型和待纠正影像块位置信息,自行从其他作业节点存储的数据中抓取所有引用数据将其直接复制到本地工作文件夹,然后运行每一个影像块几何纠正任务。
所述步骤d)包括以下步骤:
步骤d1)、任务管理中心接收到作业节点影像纠正完毕的消息,在某个空闲节点创建归约任务,并告知归约任务节点所有已经完成影像纠正任务的作业节点的位置信息;
步骤d2)、归约任务节点接收到已经完成影像纠正任务的作业节点的位置信息,通过获取到的位置信息从完成纠正任务的作业节点中获取纠正结果,并将该影像的纠正结果归约为完整的影像纠正结果;
步骤d3)、归约任务节点完成了归约任务后,存储最终完整的影像纠正结果;并通过心跳消息通信机制把结果存储信息传递给工程中心。
图6是海量遥感影像分布式几何纠正系统数据流图。
本系统将分布式处理技术引入到遥感影像的几何纠正中,在对遥感影像进行几何纠正时使用了基于Hadoop的控制点协同选取和数据重采样的并行处理,具体的在控制点选取时使用多节点的控制点协同选取,相对于单机操作而言减少了控制点选取总数和控制点选取消耗的时间,提升了控制点选取的速度和影像几何纠正的精度,并且在数据重采样的过程中使用了并行处理的方式,而且可以克服传统方法中由于机器故障产生的处理中断甚至原始数据损坏的问题,通过这些方法有效提升了遥感影像几何纠正的处理效率。本系统兼容遥感影像预处理领域中大部分的几何纠正方法,可以运行在一般的多机硬件环境下。
Claims (5)
1.海量遥感影像分布式几何纠正方法,基于以下系统,包括数据交换中心,任务管理中心,工程中心和所有作业节点;
数据交换中心连接任务管理中心、工程中心和所有作业节点,数据交换中心由若干网络交换机组成,负责系统中各节点的相互通信;
任务管理中心部署在单独的机器上,负责调度每一个子任务在作业节点上的分配工作,并且实时监听作业节点的工作状态,如果有任务执行失败,任务管理中心负责调度该子任务重新在该作业节点上重新运行或选择新的作业节点运行;
工程中心部署在单独的节点,负责在影像几何纠正阶段将遥感影像切分成子影像块;工程中心会把每一个任务的引用数据和配置参数打包成Java文件存储起来,提供给任务管理中心进行任务调度;任务管理中心还负责把用户在客户端选取的几何纠正模型和控制点信息等数据打包成配置文件进行保存,并负责对原始遥感影像队列L1,带有配置信息的待操作影像队列L2以及待纠正影像队列L3进行管理;
作业节点是系统中计算和存储的基础单位,遥感影像数据进入任意一个作业节点后,该节点对遥感影像进行虚拟切分,然后将数据更新信息通过心跳发送到工程中心;任务管理中心对作业节点进行任务分配后,作业节点根据任务信息对遥感影像的几何纠正模型进行解析,判断遥感影像对应的控制点信息是否符合精度要求,以及对各个子影像块进行几何纠正操作;
工程中心和任务管理中心、任务管理中心和作业节点、工程中心和作业节点之间的数据交互是由Hadoop的心跳通信机制实现的;作业节点周期性地通过心跳消息向任务管理中心报告节点和任务运行状态信息;任务管理中心通过心跳消息了解作业节点当前的运行状态,判断作业节点是否存活,并通过心跳返回值作出相应的动作指令;工程中心通过心跳机制向任务管理中心发送任务的引用数据和配置参数,供任务管理中心进行任务调度;
其特征在于该方法包括以下步骤:
步骤a)、选择一个几何纠正模型并确定控制点范围,然后把影像块依次输送到控制点选取终端,各终端协同选取控制点;
步骤b)、选择空闲子节点进行几何纠正模型参数计算,得到坐标转换关系;
步骤c)、将坐标转换关系发送到各个子节点,开始并发进行影像几何纠正;
步骤d)、将各块纠正结果归约为一个完整的遥感影像;
所述步骤a)包括以下具体步骤:
步骤a1)、原始遥感影像由任意作业节点进入,作业节点根据切分规则对原始遥感影像进行虚拟切分,并通过心跳向工程中心提交数据更新的消息;
步骤a2)、工程中心接收到心跳消息后,记录原始遥感影像存储地址和影像切分信息,并放入原始影像队列L1;
步骤a3)、任务管理中心从原始影像队列L1中取出影像地址和切分信息,选择空闲控制点选取节点传递任务信息,该节点提示用户选择几何纠正模型,然后选取初始控制点将整个待纠正遥感影像控制在一个规则的坐标范围内,确定控制点范围;
步骤a4)、用户确定需要选取的最少控制点数量;
步骤a5)、对于影像子块的控制点数量,在控制点均匀分布的前提下,每个子块中的控制点数量可以通过q=(m-a)/t确定,m是原始影像需要的控制点个数,a是设定的初始控制点数,t是子块的总数;
步骤a6)、任务管理中心根据影像切分信息向空闲控制点选取节点分配任务,选取节点在收到任务信息后,抓取分配到本节点的影像块及其在原始影像中的位置到本地并显示,同时选取节点会实时抓取已选取的控制点信息显示在影像上,用户在本节点影像块上选取用来几何纠正的控制点,并且可以通过查看其他终端的控制点选取信息来选择本终端影像区域的控制点选取位置;
步骤a7)、当影像的所有子块控制点全部选取完成时,把用户选取的纠正模型和控制点打包成配置信息和影像地址放入待操作队列L2,等待任务管理中心对影像作出操作指令;
步骤a8)、当工程中心监听到队列L2有未被遍历过的影像,且从队列L2中取出的影像的分块结果没有在影像分块结果树中找到时,通知任务管理中心向空闲作业节点下达影像分块的指令,作业节点将分块结果存储在本地并将分块信息传递给工程中心,工程中心将影像分块信息放入平衡二叉树。
2.如权利要求1所述的方法,其特征在于所述步骤a1)原始遥感影像切分规则:采用虚拟切分,将一整幅遥感影像分成一块块连续的矩形部分,对于右边缘和下边缘,将右边缘并入左边的影像子块,将下边缘并入上方的影像子块。
3.如权利要求1所述的方法,其特征在于所述步骤b)包括以下具体步骤:
步骤b1)、任务管理中心从待操作队列L2中取出队首影像信息,向系统中的某个空闲作业节点发出工作指令,对该影像几何纠正模型进行解析;
步骤b2)、作业节点根据任务管理中心发出的指令从相关位置取出影像信息以及控制点等相关配置信息;作业节点每隔一定时间会向任务管理中心发出心跳消息,向任务管理中心反馈作业节点的工作状态,数据更新信息,作业节点是否正常等信息;
步骤b3)、任务管理中心持续接收作业节点传递回来的心跳消息,判断作业节点是否对几何纠正模型解析完成;如果作业节点已经完成几何纠正模型的解析,作业节点便将该影像以及相关配置信息传递给工程中心,并放入待纠正队列L3。
4.如权利要求1所述的方法,其特征在于所述步骤c)包括以下步骤:
步骤c1)、工程中心收到该作业节点返回的心跳消息,在几何纠正模型解析完成且符合精度要求时,会查找分块结果平衡二叉树T判断是否已经完成该影像的切分工作,当纠正模型的提取工作和影像的切分工作都完成后;工程中心通知任务管理中心根据影像分块结果把影像切分为多个纠正任务,并负责调度每一个子任务在作业节点上运行;任务管理中心通过向作业节点发送心跳返回值来调度分配任务,其中心跳返回值包含了任务执行指令,几何纠正模型和待纠正影像块所在的位置信息;
步骤c2)、作业节点接收到任务管理中心返回的心跳返回值,判断自己是否被分配任务;若被分配任务,作业节点就会根据心跳返回值中的几何纠正模型和待纠正影像块位置信息,自行从其他作业节点存储的数据中抓取所有引用数据将其直接复制到本地工作文件夹,然后运行每一个影像块几何纠正任务。
5.如权利要求1所述的方法,其特征在于所述步骤d)包括以下步骤:
步骤d1)、任务管理中心接收到作业节点影像纠正完毕的消息,在某个空闲节点创建归约任务,并告知归约任务节点所有已经完成影像纠正任务的作业节点的位置信息;
步骤d2)、归约任务节点接收到已经完成影像纠正任务的作业节点的位置信息,通过获取到的位置信息从完成纠正任务的作业节点中获取纠正结果,并将该影像的纠正结果归约为完整的影像纠正结果;
步骤d3)、归约任务节点完成了归约任务后,存储最终完整的影像纠正结果;并通过心跳消息通信机制把结果存储信息传递给工程中心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710158858.4A CN106991656B (zh) | 2017-03-17 | 2017-03-17 | 一种海量遥感影像分布式几何纠正系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710158858.4A CN106991656B (zh) | 2017-03-17 | 2017-03-17 | 一种海量遥感影像分布式几何纠正系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106991656A CN106991656A (zh) | 2017-07-28 |
CN106991656B true CN106991656B (zh) | 2019-09-06 |
Family
ID=59412677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710158858.4A Active CN106991656B (zh) | 2017-03-17 | 2017-03-17 | 一种海量遥感影像分布式几何纠正系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106991656B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465900A (zh) * | 2017-08-22 | 2017-12-12 | 长光卫星技术有限公司 | 一种适用于大面阵亚米级遥感视频影像单机的预处理方法 |
WO2019062166A1 (zh) | 2017-09-30 | 2019-04-04 | 中国科学院遥感与数字地球研究所 | 跨平台月基对地观测影像自动几何校正方法 |
CN107657597B (zh) * | 2017-10-19 | 2020-09-08 | 中国科学院遥感与数字地球研究所 | 跨平台月基对地观测影像自动几何校正方法 |
CN109359205A (zh) * | 2018-08-30 | 2019-02-19 | 中国农业大学 | 一种基于地理格网的遥感影像切分方法及设备 |
CN111028178B (zh) * | 2019-12-20 | 2022-04-29 | 武汉大学 | 一种基于深度学习的遥感影像数据自动化几何纠正方法 |
CN112148823B (zh) * | 2020-09-04 | 2023-12-26 | 国家卫星气象中心(国家空间天气监测预警中心) | 一种遥感数据几何纠正并行方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218783A (zh) * | 2013-04-17 | 2013-07-24 | 国家测绘地理信息局卫星测绘应用中心 | 基于控制点影像数据库的卫星遥感图像快速几何纠正方法 |
CN104036286A (zh) * | 2014-05-14 | 2014-09-10 | 武汉图歌信息技术有限责任公司 | 一种基于Hadoop的多光谱遥感影像分类处理方法 |
CN104299241A (zh) * | 2014-10-30 | 2015-01-21 | 武汉大学 | 基于 Hadoop 的遥感图像显著性目标检测方法及系统 |
-
2017
- 2017-03-17 CN CN201710158858.4A patent/CN106991656B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218783A (zh) * | 2013-04-17 | 2013-07-24 | 国家测绘地理信息局卫星测绘应用中心 | 基于控制点影像数据库的卫星遥感图像快速几何纠正方法 |
CN103218783B (zh) * | 2013-04-17 | 2016-05-25 | 国家测绘地理信息局卫星测绘应用中心 | 基于控制点影像数据库的卫星遥感图像快速几何纠正方法 |
CN104036286A (zh) * | 2014-05-14 | 2014-09-10 | 武汉图歌信息技术有限责任公司 | 一种基于Hadoop的多光谱遥感影像分类处理方法 |
CN104299241A (zh) * | 2014-10-30 | 2015-01-21 | 武汉大学 | 基于 Hadoop 的遥感图像显著性目标检测方法及系统 |
Non-Patent Citations (2)
Title |
---|
In-Memory Parallel Processing of Massive Remotely Sensed Data Using an Apache Spark on Hadoop YARN Model;WeiHuang等;《 IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing 》;20161231;全文 * |
浅析遥感图像的几何校正原理及方法;张伟等;《价值工程》;20110118;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106991656A (zh) | 2017-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991656B (zh) | 一种海量遥感影像分布式几何纠正系统及方法 | |
CN107239335B (zh) | 分布式系统的作业调度系统及方法 | |
CN111339071B (zh) | 一种多源异构数据的处理方法及装置 | |
Gu et al. | Liquid: Intelligent resource estimation and network-efficient scheduling for deep learning jobs on distributed GPU clusters | |
CN106776855B (zh) | 基于Spark Streaming读取Kafka数据的处理方法 | |
CN104063835B (zh) | 一种卫星遥感图像实时并行处理系统及处理方法 | |
Zhang et al. | iMapReduce: A distributed computing framework for iterative computation | |
CN106647787B (zh) | 一种卫星星上自主规划任务的方法及系统 | |
CN103873321B (zh) | 基于分布式文件系统的仿真分布式并行计算平台及方法 | |
CN104065741A (zh) | 数据采集系统和数据采集方法 | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN107463595A (zh) | 一种基于Spark的数据处理方法及系统 | |
CN103150148B (zh) | 一种基于任务树的大尺度遥感影像并行镶嵌方法 | |
CN101715001A (zh) | 一种控制网格任务执行的方法 | |
CN109918184A (zh) | 图片处理系统、方法及相关装置和设备 | |
CN102567312A (zh) | 一种基于分布式并行计算框架的机器翻译方法 | |
CN110569252B (zh) | 一种数据处理系统及方法 | |
Ball et al. | RIG, Rochester's intelligent gateway: System overview | |
CN107807983A (zh) | 一种支持大规模动态图数据查询的并行处理框架及设计方法 | |
CN110362315A (zh) | 基于dag的软件系统调度方法及装置 | |
CN103116525A (zh) | 一种Internet环境下MapReduce计算方法 | |
Linderoth | Topics in parallel integer optimization | |
Ho et al. | Decomposition of linear programs using parallel computation | |
CN109144562B (zh) | 一种基于zookeeper的智能代码发布告警方法 | |
CN105677467A (zh) | 基于量化标签的Yarn资源调度器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |