郑 哲
(福建省地质测绘院,福州,350011)
近年来,虚拟现实技术因其沉浸性、交互性、多感知性的特征,在虚拟仿真建模方面应用十分广泛。在测绘领域由于资源、场地、天气的限制,对从业人员专业培训的效果无法达到理想的状态,因此,众多学者尝试进行测绘仿真教学的探索和突破。花向红等[1,2]应用Arc-Scene和Sketch Up相结合的建模方法建立了地面数字化测图模拟与仿真平台;马春艳等[3]应用虚拟现实技术进行测绘仪器模型的设计与开发;田鹏等[4]基于Unity 3D虚拟现实引擎进行全站仪虚拟仿真系统的开发。对于测绘领域,虚拟系统开发的关键在于模拟符合真实性的基本地理信息数据,如空间坐标、相对位置及方向等[5],而传统的虚拟仿真技术采用的三维模型是在CAD图纸的基础上,依托三维建模软件搭建出来的简化的虚拟场景,其场景不是真实世界在计算机中的表示,无法精确表达基础地理信息,场景单一,模型结构简单。数字化测图采集的是地物、地貌的坐标、属性、连接关系[6],难点在于如何根据实际复杂的地形情况制定测图方案,从而快速地、高精度地完成测绘工作,而经简化、单一化、美化的场景实际上并不适合作为测图仿真教学的场景,因此提出将三维实景建模技术应用于虚拟仿真中,设计、开发数字化测图三维实景仿真系统。
依托三维实景模型数据,应用Unity 3D开发工具,通过其组件导向式的平台功能、内置的API函数库与C#语言结合[7],高效开发数字化测图三维实景仿真系统。首先应用三维实景建模技术,通过无人机、手持扫描仪、相机等采集设备,根据多个角度采集的带有数学基础的影像信息,自动生成高精度、高分辨率、带有真实纹理的实景三维模型。其次以三维实景模型为基础,基于测图的任务和工序,应用Unity 3D进行系统设计与开发,其中控制测量为数字测图提供控制基础,数字测图采集场景地物、地貌的信息并实时成图,质量评价指对测图的成果进行数学精度检测和属性精度检测。
以福州贵安地区500 m×500 m区域为例,进行三维实景建模,实验应用飞马F200无人机搭载小型5镜头倾斜航摄仪,镜头采用SONY QX1,焦距为20 mm,像元尺寸为4.3 μm,在航飞过程中严格限制航高,相机正射面时相对航高最大为232.5 m。对于因房屋密集或植被过密造成下层物体被遮挡的现象,地面补充拍摄被遮挡的影像以补充影像信息,获取不同视角的倾斜影像。由于从不同视角获取影像数据,尺度无法统一[8,9],因此采用空地联合进行多视角空三加密,根据不同视角倾斜影像、不同倾角相机之间的相对位置关系的描述文件、下视影像的外方位元素、像控点成果进行区域网平差求解所有影像的外方位元素[10,11]。再根据2张相片摄影中心点之间的位置关系,逐一在范围内进行像对点云匹配、合并,根据合并后的点云文件创建三维模型。应用LOD技术创建纹理细节层次,并根据视点远近自动进行纹理映射[12]构建三维实景模型。通过对无人机航飞处理后的点云数据(图1a)做成三维实景模型成果(图1b);在放大的三维实景局部效果中可以看出创建的三维实景具有丰富的细节层次(图1c);在实验区范围内布设18个检核点,用以进行三维实景模型的精度检核,事先应用GNSS静态测量获取18个检核点的坐标,将其与三维实景模型中对应检核点的坐标进行比对(图1d)。
图1 三维实景模型Fig.1 3D real scene modela—处理后的点云数据;b—模型成果;c—放大的局部效果;d—检核点比对效果
模型坐标各检核点的X、Y、 Z分量上的差值,只列出部分数值(表1)。根据检验情况统计计算得到中误差为2.694 cm,通过分析三维实景模型总体精度优于3 cm,该三维实景模型满足大比例尺数字化测图的成图精度要求(表2)。
表1 三维实景模型坐标检核Table 1 3D real scene model coordinate check core
表2 三维实景模型精度(中误差)统计Table 2 3D real scene model accuracy (mean error) statistics
模型加载与优化从两个方面入手,首先纹理方面,创建LOD纹理,应用纹理压缩技术,通过DXT压缩算法对纹理进行压缩,节省纹理内存空间[13-17];其次模型方面应用可见性剔除技术,通过定义一个视锥体,依据截锥体和对象的边界体(包围盒)的位置关系来实现裁减算法,其结果是在实时渲染过程中,只有在截锥体内部的多边形才会被绘制出来。
利用Unity 3D开发工具进行相关系统功能模块的设计和交互式操作,系统根据测绘工序设计3个模块,分别是控制测量、数字测图、质量评价,为每个模块的具体功能(图2)。仿真系统是侧重于如何利用测量仪器进行数据的获取,获取什么样的数据,获取的数据如何进行处理。因此系统中简化仪器的架设操作,默认仪器一架好就是对中整平状态;简化仪器的按键操作,数据采集用空格键来代替,通过对测量仪器进行交互式的操作获取水平角、竖直角、距离、坐标、高程等基础地理信息数据。
图2 测图仿真系统模块设计图Fig.2 Mapping simulation system module design drawing
应用全站仪进行导线控制测量。首先进行控制点布设,系统设计2种布设方案,一种系统内置一套控制点,一种可在场景中进行手动布点,在系统中通过鼠标手动布点,该示例中S01、S02为已知点,S03~S06为布设的待求控制点(图3a)。其次,进行测站的模拟外业数据采集工作。通过鼠标单击棱镜操作驱动全站仪瞄准对应棱镜中心,由鼠标控制进行盘位选择,从而读取相关读数。程序设计一测站进行2个测回观测,采集测站名、方向名、盘左盘右水平方向值、距离,由此计算一测回水平方向值、平均距离。程序设置了检核参数:半测回归零差、归零半测回方向值互差、同一方向值测回间互差、观测边长较差。数据一旦采集完毕,自动触发程序进行参数检核,由此严格控制数据采集的精度,为应用控制测量程序进行的数据采集(图3b)。所有测站数据采集完成后进入内业进行成果整理工作。
图3 测图仿真系统中控制点布设(a)与控制测量采集(b)Fig.3 Control point layout (a) and control measurement acquisition (b) in mapping simulation system
数字测图模块以采集的控制测量成果为基础开展地理要素采集,该模块设计2种作业模式:(1)根据控制测量成果,程序设计利用4个方向键驱动人物进行全场景漫游。当人物进入到测站点区域范围时,程序设计此时无论进行仪器架设还是棱镜架设都自动捕捉测站点坐标,默认仪器已严格进行对中整平。右下方设计望远镜窗口,模拟望远镜进行瞄准观测,当望远镜处于瞄准状态时,设计通过鼠标滚轮进行场景的放大和缩小,通过“1,2,3,5”4个数字键模拟全站仪的水平微动、竖直微动以便精确瞄准目标,当目标精确瞄准时,程序设计以空格键作为采集快捷键进行坐标采集,望远镜瞄准采集某一房角特征点坐标。场景中必然存在因地物遮挡或观测条件不佳造成无法采集特征点的情况,根据地物绘图的方式以及测算结合的思路,通过获取鼠标单击位置的坐标,应用magnitude函数设计开发距离量算功能。(2)将仿真系统中采集的坐标实时传输到CASS软件中以便作业员对照实景进行成图,通过定义2个坐标点文件,一个用于备份,一个不断复写、更新坐标点将仿真系统采集的坐标实时保存成坐标点文件,最后基于实时传输的坐标数据进行成图,对应该三维实景的测图区域的效果图(图4)。
图4 三维实景测图成图效果Fig.4 3D real scene figure effect
质量评价分为数学精度检测和属性精度检测,数学精度检测,包括平面坐标精度检测、高程精度检测、距离精度检测、等高线精度检测;属性精度检测,主要是针对成图的完整性,是否存在地物错漏或者属性编码不一致等情况[18],质量评价算法如下。
(1)进行评分点设置,获取评分点的基本信息,如评分点坐标、属性编码。评分点根据地物类型细分为依比例、不依比例、半依比例的地物评分点,不同类型地物基点位置不同需加以区分。
(2)设置编码文件和搜索范围。编码文件格式为:地物编码=地物编码1,地物编码2……
根据编码文件全图搜索与评分点地物编码对应的所有地物,得到搜索结果,再根据搜索范围在搜索结果的集合内搜索与评分点相近的点。若结果为真则判定属性精度检测结果可靠,并进入数学精度检测,否则统计属性错误(含地物缺漏)个数。
(3)数学精度检测,首先设置粗差率,根据统计结果,统计粗差个数,若粗差率超过设定值则该图某项数学精度检测不合格;若粗差率在控制范围内,则将粗差剔除,计算精度进行精度评分。
(4)根据粗差情况、各分项精度检测得分设计权重值,得到该图的综合得分,各图幅的综合得分分值在0~100。
通过数字化测图三维实景仿真系统的构建思路,提出将三维实景应用到测绘的仿真中,以真实地再现现实世界,模拟符合真实性的基础地理信息数据。同时该系统是一个综合型的应用系统,根据测图的任务特征将控制测量、数字测图、质量评价等3大缺一不可的内容集成在一起,实现内外业一体化测图。