一种基于LLTS框架的卫星影像正射纠正算法的制作方法

文档序号:16358438发布日期:2018-12-22 08:01阅读:776来源:国知局
一种基于LLTS框架的卫星影像正射纠正算法的制作方法

本发明涉及一种算法,尤其涉及一种基于llts框架的卫星影像正射纠正算法。

背景技术

近年来,随着卫星技术、传感器技术和电子技术的飞速发展,人类获取遥感数据的手段越来越多样化,获取的遥感数据也由tb级向et级发展。正射影像是遥感领域常用的标准成果影像,是地图生产、地物识别分类、变换检测等技术领域常用的输入影像。面对海量的遥感数据,如何快速实时的将原始影像转化成可用的正射影像是当前亟需解决的问题。

传统正射纠正基于单机多线程的模式,处理速度依赖于单个计算机的处理能力,这对单个计算机的性能要求很高,尤其是处理单景影像的正射纠正时,处理速度与计算机性能成正比,理论处理速度存在极限值。处理多景影像数据时,虽然可以采用多机并行策略,但多机之间因缺少统一调度和管理,无法灵活对各个计算机的计算资源进行合理分配调度,从而造成一定的计算资源浪费。



技术实现要素:

为了解决上述技术所存在的不足之处,本发明提供了一种基于llts框架的卫星影像正射纠正算法。

为了解决以上技术问题,本发明采用的技术方案是:一种基于llts框架的卫星影像正射纠正算法,其整体流程为:

a、首先读取输入影像、输入rpc数据及dem数据;

b、根据输入参数计算输出影像范围及影像宽高:

将一幅原始图像(abcd)定义在图像坐标系a-xy中;将原始图像纠正后的图像(a1b1c1d1)定义在地图坐标系o-xy中;将计算机中纠正后图像的范围及相应的地面位置记为(abcd),记输出影像行列方向的分辨率为△x和△y;

把原始图像的四个角点a,b,c,d按rpc正算模型计算其在地理坐标系中的8个坐标值:(xa1,ya1),(xb1,yb1),(xc1,yc1),(xd1,yd1);然后对这8个坐标值按x、y方向分别计算最大、最小值记为xmin、xmax、ymin、ymax;

xmin=min(xa1,xb1,xc1,xd1)

xmax=max(xa1,xb1,xc1,xd1)

ymin=min(ya1,yb1,yc1,yd1)

ymax=max(ya1,yb1,yc1,yd1)

其中,xmin、xmax、ymin、ymax即为纠正后影像地理范围;根据影像分辨率△x和△y计算输出影像的宽高,其中,宽=(xmax-xmin)/△x,高=(ymax-ymin)/△y;同时可得到输出影像的地理六参数geotransf1~6;

geotransf1=xmin

geotransf2=△x

geotransf3=0

geotransf4=ymax

geotransf5=0

geotransf6=-△y;

c、对输出影像进行逻辑分块:

确定影像范围后以输出影像为基准,按行列方向构建格网点;相邻格网点组成的矩形格网即为单个任务需要处理的一个任务单元;

d、子进程重采样:

利用llts框架,将每个矩形格网块的影像数据作为一个任务发送至子进程;对于每个子进程,根据待纠正影像像点坐标p1(r,c)及地理六参数geotransf1~6计算像点的地理坐标p0(lon,lat),计算方法为:

lon=geotransf1+geotransf2*r+geotransf3*c

lat=geotransf4+geotransf5*r+geotransf6*c

根据像点的地理坐标p0(lon,lat)在迭代内插dem高程值,得到像点对应的物方点高程h;由地理坐标p0(lon,lat)物方点高程h根据rpc反算模型计算像点在原始影像上的像点坐标p(r,c);再采用双线性内插法内插出p(r,c)点像素值,并赋给p1(r,c)点;依次计算子进程中所有待纠正像点像素值,即完成子进程内影像的重采样;

e、子进程执行完毕后汇总到主进程:

所有计算机子进程执行任务完毕后,汇总任务结果到llts框架,llst框架将结果反馈给主进程,主进程根据反馈的任务结果生成最后结果。

进一步地,llts框架任务的分发机制为:通过llts框架启动正射纠正主进程,主进程计算输出影像范围并提交任务给llts框架,llts框架根据剩余计算资源动态分配任务给多个计算机。

本发明在传统正射纠正算法中引入llts框架,而且通过多进程的方式,可实现多机集群并行处理,从而对单机及多机的计算资源实现统一管理分配,不仅充分利用了计算资源,而且大大提高了处理速度。

附图说明

图1为本发明的整体流程示意图。

图2为输入的原始图像在图像坐标系中的示意图。

图3为计算输出影像范围的示意图。

图4为格网点的构建方式示意图。

图5为子进程重采样的过程示意图。

图6为llts框架的任务分发机制示意图。

具体实施方式

下面结合附图和具体实施方式对本发明作进一步详细的说明。

llts(lowlatencytaskservice,低延迟的任务服务)框架是为了一组相近的计算需求,提供低延迟的计算任务执行服务。图1所示的一种基于llts框架的卫星影像正射纠正算法,其整体流程为:

a、首先读取输入影像、输入rpc(rationalpolynomialcoefficients,有理多项式系数,一种常用的影像几何关系表达模型的参数)数据及dem(digitalelevationmodel,数字高程模型)数据。

b、根据输入参数计算输出影像范围及影像宽高:

如图2为一幅原始图像(abcd),定义在图像坐标系a-xy中;图3中o-xy是地图坐标系,(a1b1c1d1)为原始图像纠正后的图像,(abcd)表示在计算机中纠正后图像的范围及相应的地面位置,记输出影像行列方向的分辨率为△x和△y;

把原始图像的四个角点a,b,c,d按rpc正算模型计算其在地理坐标系中的8个坐标值:(xa1,ya1),(xb1,yb1),(xc1,yc1),(xd1,yd1);

然后对这8个坐标值按x、y方向分别计算最大、最小值记为xmin、xmax、

ymin、ymax;

xmin=min(xa1,xb1,xc1,xd1)

xmax=max(xa1,xb1,xc1,xd1)

ymin=min(ya1,yb1,yc1,yd1)

ymax=max(ya1,yb1,yc1,yd1)

其中,xmin、xmax、ymin、ymax即为纠正后影像地理范围;根据影像分辨率△x和△y计算输出影像的宽高,其中,宽=(xmax-xmin)/△x,高=(ymax-ymin)/△y;同时可得到输出影像的地理六参数geotransf1~6;

geotransf1=xmin

geotransf2=△x

geotransf3=0

geotransf4=ymax

geotransf5=0

geotransf6=-△y。

c、输出影像逻辑分块:

确定影像范围后以输出影像为基准,按行列方向构建格网点,如图4所示。相邻格网点组成的矩形格网即为单个任务需要处理的一个任务单元。

d、子进程重采样:

利用llts框架,将每个矩形格网块的影像数据作为一个任务发送至子进程;对于每个子进程,根据待纠正影像像点坐标p1(r,c)及地理六参数geotransf1~6计算像点的地理坐标p0(lon,lat),计算方法为:

lon=geotransf1+geotransf2*r+geotransf3*c

lat=geotransf4+geotransf5*r+geotransf6*c

根据像点的地理坐标p0(lon,lat)在迭代内插dem高程值,得到像点对应的物方点高程h;由地理坐标p0(lon,lat)物方点高程h根据rpc反算模型计算像点在原始影像上的像点坐标p(r,c);再采用双线性内插法内插出p(r,c)点像素值,并赋给p1(r,c)点;依次计算子进程中所有待纠正像点像素值,即完成子进程内影像的重采样。子进程重采样的过程示意图如图5所示。

llts框架任务的分发机制如图6所示,通过llts框架启动正射纠正主进程,主进程计算输出影像范围并提交任务给llts框架,llts框架根据剩余计算资源动态分配任务给计算机a、计算机b。

e、子进程执行完毕后汇总到主进程:所有计算机子进程执行任务完毕后,汇总任务结果到llts框架,llst框架将结果反馈给主进程,主进程根据反馈的任务结果生成最后结果。

本发明可以将单景影像正射纠正任务,分配到一台及多台电脑,充分利用多机及集群的计算资源,并对计算资源实现统一分配管理,真正意义上实现正射纠正算法的分布式部署、运行。本发明在geovis5平台中进行了长期的实验验证,在速度、稳定性方面都由于单机处理模式。

本发明与现有技术相比,具有以下优势:

1)单个正射纠正任务可以多台机器多进程的并发处理;

2)单景影像任务理论上可以无限分解,提高了单景影像处理时间的极限值;

3)llts框架根据剩余计算资源,可实现动态分配任务。

上述实施方式并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的技术方案范围内所做出的变化、改型、添加或替换,也均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1