集群技术下的实景三维建模

2019-05-10 08:16:20何雁如徐敬海
测绘通报 2019年4期
关键词:PC机测区实景

何雁如,徐敬海,秦 骏

(南京工业大学测绘科学与技术学院,江苏 南京 211816)

无人机产业近十年在我国取得了蓬勃发展,在测绘地理信息行业也在逐渐发生着演变。由单镜头单角度发展到多镜头多角度[1],由获得正射影像延伸到获得倾斜影像,一步步向多镜头倾斜摄影测量过渡。倾斜摄影测量的到来为实景三维建模提供了可能性。当前,围绕倾斜摄影测量构建实景三维模型,众多研究人员已开展许多富有成效的研究,如文献[2—4]阐述了在无人机多角度倾斜摄影中使用Smart3D自动化快速三维建模的流程并应用在城市、水利BIM、地质勘查等工程中;文献[5—6]针对自动建模后的模型,研究了单体重建与精细化处理以获得更逼真的实景三维模型;文献[7—8]改变了传统五镜头,利用小型多镜头或单镜头航摄仪进行倾斜摄影测量构建实景三维模型;文献[9]提出了利用空中倾斜摄影结合地面测量可对环境进行有效监测。总体上现有研究较好地促进了倾斜摄影测量技术的发展,在自动化建模流程与应用、模型精细化处理与优化及倾斜摄影测量硬件优化几个方面进行的研究较多。

随着无人机续航能力与相机分辨率的大幅提升,倾斜摄影测量已经成熟应用于大测区范围(如一个片区/城市),伴随而来的是不断增多的相片数量与对相片质量的要求,普通PC机已很难满足这类测区在自动建模时的需求,有时即使选购配置高性能的工作站也不得不面对计算资源的局限性。集群技术的出现为普通PC机进行大测区范围的自动建模提供了支撑,然而如何恰当运用集群技术于实景三维建模过程仍值得探讨与研究。本文将对集群在三维建模中的应用模式进行探讨,并研究集群背景下的实景三维建模技术,旨在通过应用多台普通PC机集群建立测区的实景三维模型,降低生产成本。

1 集群技术在实景三维建模中的应用模式

1.1 基于物理并行计算的集群

集群是将多台同构或异构的计算机通过高性能网络或局域网连接起来并协同完成特定任务的计算机群,它们对外部的表现就像一个系统在工作。高性能计算集群(high-perfomance clusters,HPC)是网络GIS中常用的集群方式[10-13]。一种简易的HPC系统硬件由主节点(服务节点)、一系列从节点(客户节点)和连接到它们的交换机及网络线组成,其中主节点是集群控制器和外部网关。它负责管理和控制从节点并对外进行通信,从节点执行从主节点分配来的任务。这样通过独立的计算机和高速网络搭建的整个集群本质上像一台计算机,执行倾斜摄影测量建模任务时,由集群操作系统(分布式计算平台)完成任务分解传递给主节点,主节点安排各从节点作为计算节点接收子任务,各子任务之间并行计算(如图1(a)所示),并在子任务计算结束后,完成计算结果合并。

从倾斜摄影测量角度看子任务之间无逻辑关联,纯粹是为了集群操作系统调度方便,因此,这种集群模式为纯物理意义上的并行计算集群。相比购买昂贵的高性能工作站,这种集群除了成本优势,还具有很好的扩展性、高可用性、易管理性,一旦需要更多的处理能力只需增加一定数量的服务器或普通电脑即可[12],是较为成熟的集群模式。然而,目前这种模式虽然理解起来容易,但在实际应用中由于子任务划分在底层,不易控制,在倾斜摄影测量中实现较困难,且此集群模式的运算能力的扩展比较麻烦,需增加特定的硬件,相关倾斜摄影测量商业软件中运用该模式的软件还比较少。

1.2 基于逻辑并行计算的集群

基于逻辑并行计算的集群是基于物理并行计算的集群在倾斜摄影测量中的延展。由于在倾斜摄影测量建模过程中,测区空三解算与自动建模任务是可划分的,因此,基于逻辑并行计算的集群,在测区空三解算与自动建模过程中,将原本由集群操作系统完成的子任务分解交给软件从逻辑上进行人工划分。Bentley公司的ContextCapture Center软件是这种模式的代表,目前已在生产中取得了一些应用。

该软件是在其前Smart3D Capture技术的基础上发展起来的一种新的软件解决方案[14],可使简单的照片生产成高分辨率的三维模型,且无需任何人工干预。软件包含Master、Setting、Engine、Viewer等几个主要的模块。其中Master是一个非常友好的人机交互界面,相当于一个管理者,它创建任务,管理任务,监视任务的进度等;Setting是一个中间媒介,它主要是帮助Engine指向任务的路径;Engine即是引擎端,只负责对所指向的Job Queue中的任务进行处理,可以独立于Master打开或关闭;Viewer则可预览生成的三维场景和模型[15]。ContextCapture Center 4.4软件在基于逻辑并行计算的集群下,由主机的Master替代了物理并行计算集群模式中的集群操作系统进行任务划分,分成多个子任务块,将由主节点进行的任务分配现交给Job Queue,建立“先到先行”的工作队列,进行任务分配,副机的Engine接收分配的子任务块并完成并行计算(如图1(b)所示)。

图1 集群在三维建模中的应用模式

这种集群模式下各子任务块之间互相独立,结果互不影响,在物理上已属于多个任务,严格意义上来说,这种集群模式甚至可以认为是一种伪集群。但该种模式相比较上一种模式,从倾斜摄影测量建模的流程上看,带有逻辑关联性,且在实现时具有一定的优点,如建模过程中可随时增加或减少建模计算机(硬件可以热插拔);对建模计算机软硬件要求相对低;各任务块之间的计算结果互不影响,可以随时停止与继续。该模式可弥补物理并行计算集群模式下扩展麻烦的缺点,也可增加建模效率,降低生产成本。

1.3 基于ContextCapture的实景三维集群建模流程

ContextCapture Center 4.4在逻辑并行计算集群下分配计算任务以及确保模型精度拥有自己的一套实景三维建模工作流程如图2所示。在该流程中,由于计算机硬件资源限制且ContextCapture Center 4.4无法对相片进行自动分块,因此首先需要在主机的Master中对大量相片预处理,并在工程中建立多个Block,再将相片分Block导入后由工作队列Job Queue将多个Block分配到多台副机的Engine上,进行空三解算,为保证合并后空三结果的稳定性,还需在空三解算前进行精度控制。空三结果合并后指定切片大小,则可由ContextCapture的Master自动切片,最后,Job Queue将多个Tile按先到先行的队列分配到Engine上面构建实景三维模型。

图2 基于集群的实景三维建模流程

从该工作流程可以看出,本质上这种集群建模模式是通过人为划分具有逻辑意义的子测区(子块/block),并通过将子测区的任务交由不同的普通电脑进行空三解算。并将空三解算结果进行合成后,再将测区划分为小的切片交由不同普通电脑完成建模。由于子测区的划分,可减少每次空三解算和建模对硬件计算资源的需求,从而能实现多台普通电脑对大测区的建模。然而带来的问题是如何合理地划分子测区,以及如何控制由于划分子块所带来的建模精度,这些已成为此建模模式需要解决的关键问题。下面结合工程案例对此问题进一步探索。

2 工程概况

某测区位于江苏省南京市浦口区,东至浦口大道,北至沿山大道中段,西至七里路,南至浦珠南路,测区面积约2 km2,呈长形,南北长约2220 m,东西宽约920 m。地形复杂,多为丘陵,植被丰富,建筑物错落分布。本工程使用Dji Matrice 600电动多旋翼无人机,并搭载了五镜头倾斜相机进行外业测绘,航测使用的无人机平台与搭载传感器参数见表1。该测区共执行了12个架次的飞行任务,航向重叠度80%,旁向重叠度70%,共60条航带,获取航片15 000余张。实验室的单台工作站可以完成约6000张航片的自动建模工作,面对该工程的航片数,工作站的内存与处理能力仍然存在瓶颈,需要搭建集群环境运用多台计算机联合计算。

实验室拥有多台普通PC机,内存8 GB,CPU主频2.4 Hz,GPU显存1 MB,这些PC机由交换机连接,组成局域网搭建集群环境。有效存储空间最大的PC机为主机,航片存储于主机上,网络映射存储盘。这些PC机上均安装有ContextCapture Center 4.4软件,主机使用Master、Engine模块,副机使用Engine模块,修改主机的任务提交目录,修改副机的任务提交目录与主机一致。值得注意的是,在计算机集群环境中使用ContextCapture Center 4.4,需要使用通用命名约定路径来设置输入、输出及工程文件。待工程提交计算任务后,便可在任务序列监视器中检查运算引擎端数量及各Engine执行情况。

3 子块划分与精度控制

3.1 子块划分

在基于Smart3D Capture的逻辑并行计算集群环境下,子块划分的合理性直接影响着整个任务的计算效率与计算精度,如果划分太少,计算机硬件资源仍然显得不够,如果划分过多,一是对现有的计算资源是一种浪费,二是需要多次精度控制,影响效率。如何对任务进行更为合理高效的划分,需要找到一个平衡点,结合本次工程航摄的实际情况,本文从计算资源荷载量(P1)、计算效率(P2)、计算精度(P3)3方面,提出以下5个划分参考原则:

表1 无人机平台与搭载传感器参数

(1) 起降点原则(P3)。在地形高起伏地区,起降点的不同可能会根据实际情况改变飞行高度与姿态角,空三解算中,不同起降点不建议放在一块解算。本次航测的起降点见图3位置,共计4个起降点。根据起降点位置规划了相应的子测区(见表2),测区与测区之间叠加重叠航线,为避免不同测区对空三结果的影响,不同起降点的测区应划块分别解算空三。

表2 无人机起降点信息

(2) 飞行高度原则(P3)。飞行高度不同的航片如果不存在重叠度,合并计算易失败。该测区地形起伏大,建筑物众多,起降点高程相差大(见表2),不同的测区起飞高度根据起降点高程与测区建筑物高度作了相应调整,飞行高程不同的航测区域不可合并解算。

(3) 建筑物密度/植被密度原则(P2)。为保证建筑物建模效果,建筑物密集区航片重叠率要求较高,而植被密集区点云匹配较困难,易失败,往往需要补测,根据建筑物/植被情况分块解算,有助于提高解算效率。该测区南部建筑物较密集,北部以丘陵地带为主,多植被,应分开解算。

(4) 最大计算量原则(P1)。本次三维自动建模任务采用的计算机为普通8 GB内存PC机,经多次测试,单台8 GB内存PC机处理航片数不宜超过3000张。

(5) 航线角度原则(P2、P3)。为保证航片参数一致性,航线角度的不同影响着航片划分方向。本测区整体呈长形,航线规划选择横向可减少往返起降点的距离,因此空三解算任务以横向划分为宜。

综合以上参考原则,对本测区进行空三解算子块划分,如图3,(a)为3号起降点植被密集低洼区,(b)为2号起降点丘陵区,(c)为4号起降点丘陵区,(d)为4号起降点建筑物密集区,(e)、(f)均为1号起飞点建筑物密集区,由于航片量超3000张,特划分成两个子块。

图3 空三解算子块划分

3.2 精度控制

在常规实景三维建模中,带有POS数据的航片甚至可不进行精度控制,但在集群环境下,执行各子测区空三结果合并后,虽然每个块都进行过空三解算,但块与块之间没有建立起联系。在地形起伏较大的区域,易出现精度问题,与实际位置误差较大,模型模糊,难以满足建模需求,如图4(a)所示出现“双屋顶”现象。

图4 精度控制前后模型效果对比

要解决该问题可通过精度控制,减小模型坐标与实际坐标的差值。因此,本文布设了地面控制点以控制集群模式下生产的模型精度,参照《1∶500 1∶1000 1∶2000地形图航空摄影测量外业规范》(GB/T 7931—2015)并结合倾斜摄影测量实际情况,根据各子测区范围大小,分别布设4~5个控制点,共计24个地面控制点(如图5所示),经精度控制后不同分区的空三解算精度均得到了提升,见表3。合并后生产的实景三维模型改善了模型与实际误差较大及模型模糊的问题(如图4(b))。

表3 不同分区增加控制点前后空三解算(RMS of distances to rays)精度

m

4 模型精度评价

为验证实景三维模型的精度控制是否有效,模型精度是否满足生产需要,还需检测三维建模精度。三维建模精度包括平面位置精度和高度精度[16],一般是通过量测模型上检查点的三维坐标与外业实测值进行比对,并作为检查指标。本文在测区均匀布设了15个检查点(如图5所示),精度统计见表4。

图5 测区地面控制点与检查点分布

由表4可以看出,该测区实景三维模型精度符合《三维地理信息模型数据产品规范》(CH/T 9015—2012),满足该测区的建模需求。经多台PC机集群计算,快速建立了某测区实景三维模型(如图6所示),该模型效果良好,建筑物清晰,模型精度符合测区要求,但由于该测区地形复杂,高差较大,植被覆盖广,使得点云匹配效果较差,部分水面、植被遮挡区域、屋檐下方、光线反射区域存在空洞,还需人工修补,模型效果仍有待提升。

表4 某测区实景三维模型精度统计 m

图6 某测区实景三维模型

5 结 语

无人机续航能力的大幅提升使大测区倾斜摄影测量的应用成为可能,但是计算资源的稀缺性大大限制了大测区实景三维建模的发展,集群的出现为普通PC机执行大测区实景三维建模带来了契机。本文研究了集群在实景三维建模中的两种应用模式,并结合工程案例,使用普通PC机替代高性能工作站,探讨了基于逻辑并行计算的集群模式下实景三维自动化建模的两大问题:如何充分利用计算资源划分建模任务以提高建模效率,如何确保集群下的实景三维模型的精度。在划分建模任务方面,本文提出了子块划分参考5大原则以确保子块划分的合理性;在确保模型精度方面,本文根据测区情况增加了地面控制点,控制了模型精度,大大减小了模型生产中精度问题带来的影响。结果表明,基于逻辑并行计算集群下多台PC机联合自动建模完成的实景三维建模精度符合精度要求,突破了计算资源限制,能够满足大测区范围实景三维建模的需求,可运用于城市、大型工程、工业园区等的实景三维模型构建中。但是模型中还存在少量空洞,还需在后期对集群下的模型精细化与模型优化进一步研究。

猜你喜欢
PC机测区实景
亿隆煤业地面瞬变电磁技术应用
金湖县创新“实景式”培训 提升精准执法水平
数字博物馆 线上实景游
华人时刊(2021年23期)2021-03-08 09:27:24
河北省尚义大青沟测区元素异常特征及地质意义
河北地质(2021年4期)2021-03-08 01:59:14
轮轨垂向力地面连续测量的复合测区方法
无像控点测区的归并方法研究
测绘通报(2018年10期)2018-11-02 10:07:28
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
论山水实景剧与山水实景演出的区别
北方音乐(2017年4期)2017-05-04 03:40:09
VC.NET下实现dsPIC单片机与PC机的通信
电子制作(2017年23期)2017-02-02 07:16:47