摄影测量中的并行计算
文章

摄影测量中的并行计算

从海量图像中无缝正形创作

数据生产和处理能力之间的竞争已经持续了几十年,数据生产通常是获胜的团队。机载和太空图像也是如此,因为卫星传感器和航空相机捕获的图像数量不仅稳定而且快速增长。如何将丰富的像素快速有效地加工成摄影测量产品?答案在于并行计算。今天,计算机集群能够快速而经济地处理摄影测量任务。继续阅读,了解并行是如何加速无缝正形结构的创建的。

由安德烈。谢欣,Racurs,俄罗斯

传统上,软件是为串行计算而编写的。该算法以一系列指令的形式运行,这些指令在中央处理器(CPU)上连续地执行。并行计算是计算机体系结构中一个主要的研究领域,旨在加快计算速度,它主要是通过多核处理器实现的。使用多个cpu可以同时进行多个计算。因此,复杂的计算任务被分解成可以在同一时间处理的更小的组件。每个CPU同时执行进程的一部分,并且独立于其他部分。然后将结果合并。大量图像的摄影测量处理也可能受益于并行计算。为了说明空间和机载传感器产生的大量数据,欧洲Pleiades-1А和昴宿星- 1b卫星有能力获取200万公里的数据2而VisionMap A3 Edge航空相机则能捕捉5000公里的距离2GSD为20cm。

无缝拼接

无缝正构体的创建包括几个步骤,包括(图1):

  1. 项目创建和从存储设备读取映像
  2. 使用相应的数字地形模型(DTM)正交生成每幅图像
  3. 确定接合线
  4. 亮度调节的图像统计采集
  5. 无缝正规化计算和存储在单独的表。

在目前的考虑中,将不考虑从卫星图象提供者或航空摄影机储存单位下载图象所花的时间。每个图像的正射生成(图1中称为“图像正射变换”)可以并行进行。缝线是构成用于创建正规线的图像部分轮廓的边缘。缝线的确定包括两个步骤。首先,基于简单的拓扑关系,特别是Voronoi图,创建一个初始的缝线。这确保了最好选择所有图像的最低点部分。这个步骤不能并行地完成,但可以很快地完成。接下来,Voronoi图的每条边都会根据图像内容自动地进行细化,这样轮廓曲线的边缘就会围绕着建筑物,不会以直角交叉于道路上。此步骤可以并行执行。

亮度调整在数学上是复杂的,包括图像统计的收集(如亮度直方图)和全局亮度调整。全局亮度的调整不能并行进行,局部亮度的调整可以按片、沿缝线进行,可以并行计算。最后一步是将图像拼接在一起。这个过程在一个单独的CPU上执行。

测试

为了测试开发过程的时间效率,使用了多光谱卫星图像的蓝色、绿色和红色波段,地面采样距离(GSD)为1米,覆盖总面积为37234公里2在俄罗斯的汉特-曼西自治州Okrug。这些不同的图像是在不同的季节和不同的光照条件下拍摄的(图2)。变化的条件对亮度调整的过程特别有挑战性。该方法还在510张用微软UltraCam数码相机拍摄的真彩航空图像上进行了测试。非常高分辨率的卫星图像是用瓦片传送的。这些瓷砖覆盖的面积和存储需求取决于传感器的类型。为了实现并行处理,交付的贴片被重新安排为1GB贴片。最好是在不同的尺度(金字塔级)存储图像,以加快可视化和计算图像统计在缩小的图像尺寸。每个1GB的tiles为不同的cpu形成单独的输入。

加速

使用并行计算的总计算速度是使用单个CPU时所需计算时间的函数,在多个cpu上的计算时间,以及表示进程中未并行执行部分的影响的比率(图3)。实验表明,对于大型航空和卫星图像块,进程的非并行比率从不超过1%,如果配备100 ~ 200个cpu的计算机集群,就可以有效地生产马赛克。在这个测试中,一个计算集群使用了96个cpu (Xeon E5-2695v2)。在一台CPU计算机上,拼接100万幅GSD卫星图像需要60小时,而在96个CPU上并行处理只需要50分钟,因此加速系数为72。图4显示了得到的正规线。用Xeon E5-2695v2并行处理510张航拍图像需要大约100个小时,加速系数为60。因此,并行计算可以将正字法的生成速度从3到5天提高到大约1个小时。

并行I / O

在上述测试中,正射影像生成过程的读写部分(I/O)是依次进行的。但是,并行性不仅可以用于增加cpu数量的计算,还可以用于存储数据。raid (Redundant Arrays of Independent Disks)是指将不同的存储设备组合成一个逻辑单元,从而提高文件的读写速度。数据如何在设备上分布——通常是硬盘驱动器(hdd)——取决于(1)避免由于扇区读错误或硬盘故障(可靠性)而导致数据丢失所需的冗余级别;(2)读写速度(性能);(3)可用容量。从0开始的分机号表示这些目标之间的平衡。RAID的基础有两个原则:剥离和镜像。通过将大量数据分割成更小的部分,并同时将这些部分推到不同的hdd,剥离允许在存储设备上并行写入数据。镜像是将相同的数据存储在多个hdd上,以提高数据存储的可靠性,并加快读取速度,因为数据可以同时从不同的hdd读取。 Typical RAIDs have 300MB/s sequential access throughput and do not constrain CPU usage.

随机存取

数据需要通过局域网从raid传输到cpu,再从cpu传输回来。因此,读写时间也取决于局域网的吞吐量。I/O时间与阵列速度大致成线性关系,即在相同的局域网速度下,300MB/s的阵列大约比100MB/s的阵列快3倍。然而,作者的实验表明,连接到4gb /s局域网的600MB/s阵列仅比连接到4gb /s局域网的300MB/s阵列快两倍。对于连接到2gb /s局域网的100mb /s阵列也是如此。这种配置比连接到1gb /s局域网的20MB/s到30MB/s阵列快4倍,尽管人们期望性能是8倍。因此,阵列和局域网速度本身并不能说明问题的全部。原因是,一些摄影测量算法需要随机数据访问,而基于hdd的现代RAID存储系统将提供低吞吐量。此外,实验表明,使用固态硬盘(sdd)而不是hdd可以提高读取性能,即使只使用剥离。

结束语

摄影测量算法可以有效地运行在100到200个cpu的计算机集群上。快速的数据检索和存储系统以及高的局域网吞吐量确保了最高的生产力。

作者简介

Andrey Sechin于1980年毕业于俄罗斯莫斯科物理与技术学院,1984年获得数学博士学位。他是莫斯科摄影测量公司Racurs的联合创始人,自1994年起担任该公司的科学总监。在创立Racurs之前,他曾在Troitsk Institute for Innovation & Fusion Research任职。

电子邮件:sechin@racurs.ru

图标题

图1,正字法创建流程流程图。

图2,背景上的大约200张GeoEye图像块代表DTM和细节(底部)。

图3,使用多个cpu加速:T1和Tp分别是1个和p个cpu的计算时间;A是非平行比。

图4,GeoEye正斜面-超过600张薄片已按1;10000的规模生产。

让你的收件箱更有趣。添加一些地理。

了解测绘行业的最新动态、发展和技术进步。

免费注册

紧跟地理空间产业的发展

我们鼓励你订阅我们的每周通讯。订阅者还可以收到我们双月刊的电子版。

最新文章

Baidu