章国雁
(安徽工商职业学院 信息工程学院,安徽 合肥 231131;合肥工业大学 计算机与信息学院,安徽 合肥 230009)
随着虚拟现实技术的发展,虚拟现实在各行业中的应用越来越广泛,如在人工智能AI自动驾驶的训练中,受限于目前AI自动驾驶技术的不成熟和不可靠性,AI自动驾驶车辆不能在真实的道路环境中进行大量测试,也不能在山路、悬崖、沙漠、雪地等极端环境和大雨、爆雪、大风、高温、极寒等极端天气进行测试,部分国内外相关公司利用虚拟现实技术构建自动驾驶AI虚拟仿真训练场,通过构建仿真的实景三维场景,模拟现实世界中的各种环境和天气条件,让自动驾驶AI在仿真环境中进行大量训练,极大提高了安全性和可靠性。虚拟现实环境中场景的逼真程度,对身处其中的使用者能否有“身临其境”的感受,起到了非常重要的作用。
虚拟现实环境中场景的逼真程度取决于三维场景的建模方式。传统建模方式是前期通过高清数码相机拍摄采集建筑物表面的图像,导入平面处理软件PhotoShop进行图像处理;根据所拍摄的照片使用3Ds Max或Maya等三维软件进行人工建模、调整材质和贴图。传统的建模方法由于拍摄方式的局限性,一些建筑物的顶部和侧面被遮挡,采集不到真实影像,只能靠人工根据周围环境自行处理模型贴图,造成场景整体的真实性与现实世界存在一定的偏差。这种建模方法需要大量人工进行三维建模,存在项目周期长、制作成本高、与真实环境契合度低等缺点,并不适合大规模的三维建模场景。
基于无人机倾斜摄影的实景三维建模技术近年来得到了快速的发展,越来越多的学者对该技术应用进行了深入的研究。梁静、党晨光、陈红顺、邹娟茹等分别讨论了利用无人机倾斜摄影技术在构建实景三维虚拟校园领域的应用[1-4];范攀峰、覃凯、陈嘉琦等对使用Smart3D或ContextCapture软件进行倾斜摄影三维建模的技术进行了讲解[5-7];康传利对倾斜摄影制作软件Smart3D结合虚拟现实制作引擎Unity3D的制作流程进行了研究[8]。
随着高校信息化建设的持续推进,虚拟数字化校园建设成为高校实现信息化建设的重要环节。虚拟校园漫游系统的出现,给广大学子带来了新的体验[9]。结合虚拟现实VR、增强现实AR、混合现实MR、影像现实CR等各种最新的XR技术,学生可以通过数字化校园系统查看学校简介、漫游校园全景、体验校园文化、查询校园信息,这不仅提升了学校的整体形象,也提高了学校的整体竞争力水平。
以安徽省某高校为构建对象,将无人机搭载倾斜摄影相机作为硬件平台,实现学校及周边测区范围内各类物体的图像拍摄、POS信息采集,结合使用ContextCapture倾斜摄影建模软件对采集到的数据进行空中三角测量计算、纹理映射、模型编辑修复等操作,构建虚拟现实VR环境中的实景三维校园模型,从而为制作出接近真实校园环境的虚拟数字化校园提供技术解决路径。
虚拟现实技术,又称为“灵境技术”,使用了计算机图形图像、人机交互、模拟仿真、投影显示等多种技术,创建一个虚拟仿真的世界,让用户身处其中,可以享有视觉、听觉、触觉、味觉、嗅觉等感官体验,有身临其境般的感受,受到了广大用户的喜爱。
倾斜摄影技术[10]是国际摄影测量领域近十几年发展起来的一项高新技术。其使用的设备通常搭载在无人机平台上,由1个垂直视角相机和4个倾斜视角相机组成,通过5个不同的角度拍摄物体,采集物体顶部、侧面的高清纹理数据和POS信息等。
无人机作为一个可搭载多种传感器的飞行平台,在测绘行业一般将其分为多旋翼、固定翼两种[5]。本次使用的是大疆行业级M600多旋翼无人机,搭载宇航者AirCam5镜头倾斜摄影相机。
ContextCapture软件为目前倾斜摄影技术使用最为广泛的专业软件之一,前身为法国Acute3D公司研发的Smart3D软件。该软件可以自动进行实景三维模型的解算,提供输出obj、osg(osgb)、dae等多种通用兼容格式,可以大量减少人工操作。
在校园内寻找便于识别的地点或者标识,标记为地面像控点,进行像控点数据采集;使用Google Earth Pro软件进行测区划定,然后用DJI GS Pro软件进行航线规划,经过多个航线飞行采集建筑物各个角度的图像,其详细制作流程如下。
使用Google Earth Pro软件进行飞行测区划定。第一步,通过“新建多边形”工具在学校所在地图区域上划定测量的区域范围,得到“测区”区域。第二步,考虑到倾斜相机拍摄有一定的夹角和学校周围建筑物的高度等因素,还需要在测量区域的基础上做一定范围的扩展,通过“标尺”工具在测区的上下左右四个方向往外划出150米的扩展线段作为飞行区域,得到“航飞”区域。第三步,规划好“测区”和“航飞”两个区域之后,导出包含区域数据的KML文件hangfei.kml。
图1 飞行航线设置
将KML文件导入大疆飞行控制软件DJI GS Pro进行航线规划。第一步,在平板电脑中,使用DJI GS Pro软件打开hangfei.kml文件,定位到学校所在的测区。第二步,进行航飞任务设置,在“基础设置”面板中设置如下:相机型号菜单选项设置为AirCam25MM,相机朝向为平行于主航线;飞行高度为150米,此参数根据测区周围的建筑物高度情况来设置,一般设置的值比周围最高建筑物高50米以上,从而保证无人机在飞行时不会碰撞到建筑物,设置拍照间隔为3.0,相应的飞行速度自动调整为6.2米/秒。在“高级设置”面板中设置如下:主航线上图形重复率为80%;主航线间图像重复率为80%;主航线角度为21度,此参数根据测区建筑物的排列情况来设置,使无人机的飞行路径与建筑物保持平行方向。第三步,保存任务后,点击“开始飞行”即可开始倾斜摄影飞行作业。无人机根据规划的飞行路径进行作业,搭载的倾斜摄影相机开始采集测区范围内所有物体影像数据,并存储在各自的存储卡中。
无人机根据设定的航线进行3批次的飞行作业后,所搭载的倾斜摄影相机将采集的POS数据和影像数据保存在存储卡中。首先对POS数据进行处理,将3个批次文件的POS数据整理到一个电子表格文件里,删除无用的数据。然后对照POS数据整理5个相机所采集的影像数据,着手删除无用影像、重命名正常的影像序列、把影像序列导入Context-Capture软件进行三维模型重构等操作。最后将空中三角测量计算后的数据导入3Ds Max等软件进行模型修复等处理。详细制作流程如以下步骤所示。
1.POS数据的处理
从AirCam相机中取出存储卡,读取无人机飞行的POS数据。存储卡中保存了3个批次飞行的记录,分别存储在3个TXT文件中,按以下步骤进行处理。第一步,把3个批次的TXT文件按照飞行批次的时间顺序,以Excel表格的形式打开,可以看到POS数据(包含序号、时间、经度、纬度、高程等信息)全部存储在一列的电子表格中,依次对3个表格文件进行分列处理,将POS数据分列到5个列中。第二步,查看每一行的高程数据,删除无人机停留在地面、上升和下降过程中记录的数据行。第三步,建一个新的电子表格文件POS.XLS,对3个表格的数据进行汇总,按照3个批次的时间顺序,从上到下排序剪切汇总到新电子表格中,再删除时间列的数据,保留序号、经度、纬度、高程4个列的信息。第四步,重新修改序号的数值,以名称格式为“S+镜头号+四位序号”来填充数据,填充完成后数据从第一行至最后一行为“S10001”至“S11078”。第一个镜头的POS信息处理完成,接下来处理剩余4个镜头POS数据,由于每个镜头的POS信息中经度、维度、高程等数据都是一样的,修改序号列中的镜头号为2至5即可。第五步,另保存为电子表格文件POS.CSV,此CSV文件在后续的ContextCapture软件中导入使用。
2.5个镜头拍摄照片的处理
以处理第一个镜头照片为例:第一步,根据POS.XLS中的POS数据,删除无人机停留在地面、上升和下降过程中拍摄的照片;第二步,使用重命名软件对文件夹中的照片批量进行重命名,名称格式为“S+镜头号+四位序号”。
打开ContextCapture软件主界面,新建工程文件“School Project”。第一步导入5个镜头拍摄的照片,在“影像”面板点击“添加整个目录”子菜单,在弹出的新窗口中选择存放照片的根目录,进行导入;第二步导入5个镜头的光学参数,在数据表格中的“焦距”列点击鼠标右键“导入光学属性”菜单,依次导入由厂家提供的镜头光学参数信息,如图2所示;第三步导入POS信息,点击“导入位置”子菜单,在弹出的新窗口中选择POS.CSV文件,在下一步菜单中选择“逗号”为分隔符,“WGS84”为空间参考系统,字段选择中列1为“影像参考”、列2为“Longitude”(经度)、列3为“Latitude”(纬度)、列4为“Height”(高程);第四步提交空中三角测量,在“概要”面板点击“提交空中三角测量”子菜单进行提交;第五步打开ContextCapture Center Engine渲染引擎,开始空中三角测量计算。
图2 影像信息
受当前倾斜摄影技术的限制,大面积水面地形由于缺少有效的参照物,在空中三角测量解算后,该区域会出现大面积的空洞现象,因此需要对模型进行修复操作,将解算后的数据从ContextCapture软件导入到3Ds Max软件进行处理,对学校湖面出现空洞的区域进行添加面等操作,对其他解算有问题的模型细节进行修改、优化等处理。模型经过修复后,显示的实景三维数字校园如图3所示。
图3 实景三维校园模型
构建完成的实景三维校园可以在网络上进行发布,提供校园的浏览、交互等各种功能。通过使用三维模型数据发布软件Wish3D,将ContextCapture导出的OBJ或者OSGB等格式的文件进行压缩处理后发布到网络平台,可以使用台式机或者手机、平板等移动端进行浏览。该软件还支持对实时场景中的物体进行标注,自行设计游览路线等功能,具有良好的体验效果。
利用倾斜摄影技术在ContextCapture软件中进行实景三维场景的创建,对提升虚拟现实环境的逼真程度起到了关键作用,相信随着倾斜摄影技术的发展,将在虚拟现实、人工智能、三维地图、智慧城市等更多的新领域得到更好应用。