室内全景影像成果坐标统一技术路线研究
2019-08-07刘小芬谢刚生王丹丹隆少秋
刘小芬,谢刚生,王丹丹,隆少秋
(1. 广东南方数码科技股份有限公司,广东 广州 510665; 2. 华南农业大学,广东 广州 510642)
全景技术通过多台专业相机同时获取现实世界中的图片,使用专业软件将获取的图片进行拼接,生成三维空间的360°全景影像。360°全景影像具有真实感强、交互性强、易于沉浸的特点,可以真实地表现现实空间场景,已经逐渐成为一种新颖的地理信息数据,与传统测绘和地理信息产品互为补充[1]。
近年来,三维全景技术发展迅速,国内外许多互联网公司纷纷推出了自己的街景地图服务,如国外的谷歌街景和微软Bing街景,国内的百度地图、腾讯地图等软件上也已经全面普及三维全景地图。公众通过百度地图、腾讯地图等手机APP可以很方便地查看室外全景,快捷准确地找到目的地。
相对于室外全景地图,室内的全景地图在实际应用中还较少。受到室内GPS信号弱的影响,目前室内高精度全景地图的获取都是采用SLAM的方式进行的。室内环境的高精度三维信息获取类似于机器人在未知环境下进行定位和制图,在机器人领域称之为SLAM(simultaneous localization and mapping)[2]。SLAM技术是通过携带传感器的移动机器人来实现的,同时完成自身位置估计及环境模型构建两方面工作。由于其定位原理不同于GPS,能够在室内外环境中得到广泛应用[3]。
利用SLAM技术制作的高精度室内三维实景地图,往往是基于三维实景影像与点云数据的融合原理制作而成,具有高保真度,能显示多细节信息。相比于传统的三维激光扫描仪只能单一获取三维点云数据,再通过第三方设备拍摄若干图像后进行纹理贴图和建模,推车SLAM系统的一体化数据处理过程可明显减弱人工贴图误差的影响,输出的三维地图精度更高,应用价值和前景更广。
室内全景可应用于室内地图与导航、智慧工厂、物联网智能建筑、大型交通枢纽空间数字化、消防逃生、房产资产管理、建筑工期监管、展会展览、博物馆、零售业等领域,应用前景广阔[4]。尤其在室内地图与导航方面的应用,可以大大提高公众在商场、医院、学校等公共场所进行室内导航的体验。
1 发展现状及需求
1.1 室内全景数据获取硬件现状
在室内全景的数据获取方面,经过近几年的发展,相关的硬件产品已经日臻成熟。比较知名的室内全景硬件设备有:中海达公司的HiScan-SLAM扫描仪、华泰天宇的IMS3D扫描仪、NavVis公司的M3扫描仪、Leica公司的Pegasus扫描仪、Vexcel公司的Ultracam Panther扫描仪。HiScan-SLAM扫描仪、IMS3D扫描仪、M3扫描仪使用了推车形式,而Leica公司的Pegasus扫描仪和Vexcel公司的Ultracam Panther扫描仪使用了背包形式,推车形式的扫描仪在数据获取的平稳度方面明显要好很多,获取的数据精度更高。对于有高精度要求的应用,如需要毫米级精度的测量工程和监测,相比其他设备NavVis公司的M3扫描仪,均表现出优势[5]。
在推车扫描仪中,M3扫描仪配套的处理软件处理后,可以生成全景及其点云的Web服务,可在电脑、手机、平板设备上的浏览器查看室内全景影像;并且无需额外的硬件投入,可以在手机端进行室高精度的室内定位和导航。
1.2 室内全景数据成果应用现状
M3扫描仪扫描多个数据集后,自动处理全景影像成果,使用配套软件处理后,可以生成全景影像和对应的点云数据。但是由于NavVis软件系统的封闭性,最终发布的全景服务,其数据已经切片,不能导出到其他软件中。
而在NavVis软件处理数据的中间成果中,多个数据集全景影像和对应的点云数据还是独立的相对坐标。NavVis在完成数据集配准后,也没有提供相应的命令使全景影像成果完成坐标统一后的坐标输出,其最终的全景影像成果只能在NavVis软件中使用。
1.3 存在的问题
如上文所述,NavVis发布室内全景影像和点云的Web服务必须在Ubuntu系统中进行,而且发布服务前都需要安装NavVis软件。虽然NavVis提供的相关命令可以输出坐标统一的点云成果,但是对室内全景影像成果,却没有提供坐标统一的相关命令,这种情况非常不利于NavVis的室内全景影像成果在其他系统、软件中的使用。
目前,国内外对于NavVis的室内全景影像成果的坐标统一过程,还没有相关的研究。在硬件、安全、自主可控等方面因素影响下,迫切需要研究NavVis的全景影像成果坐标统一的过程,以便NavVis的全景影像成果可以脱离NavVis软件,顺利导入相关应用管理系统,扩大全景三维成果应用。
1.4 应用需求
2018年11月,广东省人民政府办公厅印发了广东省“数字政府”建设总体规划(2018—2020年)实施方案的通知,在方案中明确指出要推进省直行政事业单位办公用房规范管理:推动办公用房管理信息系统建设,逐步实现政府机关土地房屋的全生命周期管理。在广东省的办公用房管理系统的建设工作中,需要使用三维全景技术对部分省直行政事业单位的办公用房进行扫描,并将扫描形成的三维全景成果导入办公用房管理系统。
因此本文以广东“数字政府”省直行政事业单位办公用扫描成果为对象,研究NavVis全景影像坐标统一的过程,完成全景影像坐标的统一,使得NavVis的全景影像成果能够不受软硬件的限制,在其他系统、软件中更好、更快地使用,以推动全景技术的发展与应用。
2 关键技术及解决方案
通过对M3扫描仪获取数据集的处理及坐标参数的分析,基于四元数的三维坐标转换方法,将全景影像的旋转姿态通过四元数相乘进行坐标标定,从而完成NavVis全景影像的坐标统一。并分别选用国际通用软件FME和国内自主研发的iData全景影像专版对研究结果进行验证。
2.1 数据准备
2.1.1 扫描数据集
以某地办公大楼为例,3层楼一共扫描了3个数据集。在M3扫描仪扫描后,使用配套的Sitemaker软件进行扫描数据集处理。如图1所示,在Sitemaker中新建工程后,会自动生成3个文件夹,分别为datasets_rec、datasets_proc、datasets_web,其中datasets_rec用于存放原始扫描数据集,datasets_proc用于存放中间过程成果,datasets_web用于存放发布服务的成果。然后,使用Sitemaker软件处理生成datasets_web成果,在NavVis公司的IndoorViewer软件中完成多个数据集的拼接工作,最终得到坐标统一的全景服务。
2.1.2 数据拼接
dataset_web文件夹中的成果,全景影像已经经过切片,无法导出到其他软件中。在IndoorViewer中完成多个数据集的拼接工作后,可以生成一个拼接成果文件bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml,存放于datasets_web文件夹下(如图2所示)。
2.1.3 数据坐标参数分析
bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml文件中包含了3个数据集完成校正后的位置关系(如图3所示),由position和orientation两部分组成。其中,position表示数据集完成校正后的三维坐标原点,orientation(四元数)表示数据集完成校正后的旋转姿态。
在datasets_proc文件夹下,以数据集命名的文件夹里面,存放着全景影像文件夹pano,里面有处理好的单张全景影像和对应的坐标文件pano-poses.csv(如图4所示)。pano-poses.csv文件是每个数据集中对应单张全景影像的坐标和姿态值,可以看出单张全景影像也是以四元数来表示旋转姿态的。
2.2 坐标统一的实现过程
运用四元数的相关概念及计算公式,结合对bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml和pano-poses.csv文件的分析,将全景影像的旋转姿态通过四元数相乘来进行统一,而全景影像的三维坐标值通过数据集在xoy平面的旋转和平移进行处理,最终完成全景影像的坐标统一[6-7]。
2.2.1 四元数计算公式
根据对数据坐标参数的分析,bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml和pano-poses.csv文件中都使用了四元数表示旋转姿态,后续相关计算需要使用四元数的相关公式,故对四元数作一个简单的介绍。
四元数可以用于表示三维空间里的旋转。它与常用的另外两种表示方式(三维正交矩阵和欧拉角)是等价的,但是避免了欧拉角表示法中的万向锁问题。相比三维正交矩阵表示,四元数表示能够更方便地给出旋转的转轴与旋转角[8]。
四元数是Hamilton找到的一种扩展的复数[9]。一个四元数拥有一个实部和三个虚部[10-11]
q=q0+q1i+q2j+q3k
(1)
式中,i、j、k为四元数的3个虚部。这3个虚部满足关系式如下
(2)
现有2个四元数qa、qb,其向量表示为[sava]、[sbvb],或者原始四元数表示为
sa+xai+yaj+zak,sb+xbi+ybj+zbk
则四元数qa、qb乘积的计算公式为
qaqb=sasb-xaxb-yayb-zazb+
(saxb+xasb+yazb-zayb)i+
(sayb-xazb+yasb+zayb)j+
(sazb+xayb-xbya+zasb)k
2.2.2 具体实现过程
结合NavVis相关文档说明,3个数据集的全景影像之间可以通过XML文件中各自的position、orientation(四元数)和pano-poses.csv来进行坐标统一。
从poses.csv文件中提取ID、pano_pos_x、pano_pos_y、pano_pos_z、pano_ori_w、pano_ori_x、pano_ori_y、pano_ori_z。从生成的NavVis服务链接后添加/api/datasets,打开链接从中提取数据集的旋转角度,记作ori,表示数据集在xoy平面中的旋转角度。在bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml中提取每个数据集position,设为offset_x、offset_y、offset_z;提取orientation,设为wo、xo、yo、zo。
完成坐标统一的单张全景影像的坐标值和姿态记做psx、psy、psz、ori_ws、ori_xs、ori_ys、ori_zs。
首先计算坐标统一后的单张全景影像的三维坐标psx、psy、psz为
(3)
然后根据2个四元数相乘公式,计算坐标统一后的单张全景影像的四元数ori_ws、ori_xs、ori_ys、ori_zs
(4)
2.3 结果验证
本文选用国际常用的数据集成平台FME和国内自主研发的iData数据工厂来验证研究结果。
2.3.1 FME软件验证
FME是一款独特的内置支持定位的数据集成平台,它将全部数据和应用程序连接在一起,包含336种不同的格式,含有灵活的高级数据转换工具、可定制自动化的工作流等。FME技术确保数据能轻松获取到所需的格式,确保任务能够更加高效地完成[5]。
根据上述计算公式,使用FME软件快速编程,验证转换效果。FME程序如图5所示。
运行程序后,得到3个数据集完成坐标统一后的坐标值。NavVis可以导出坐标统一后的点云成果,将全景影像的坐标值与点云进行叠加,验证全景影像坐标统一的效果。由图6可见全景影像坐标值统一后的情况。
2.3.2 iData数据工厂验证
iData数据工厂是结合近20年来在测绘和GIS领域软件开发的经验,由广东南方数码科技股份有限公司自主研发的新一代测绘数据生产平台。为用户提供从数据采集、质检、分发、更新到生产管理的一整套测绘数据生产解决方案。iData数据工厂开发了众多专版,如iData三调版、iData3D版、iData农村地籍版等,在众多领域有着广泛的应用。iData全景影像专版可以将已经完成坐标统一的NavVis全景影像导入,并进行浏览、量测、采集等工作,如图7所示。
3 总结与展望
NavVis全景影像成果实现坐标统一后,不仅可以将全景影像成果不受任何限制地导入其他管理系统中,推动室内全景在广东“数字政府”中的具体应用,而且有利于全景影像成果脱离Ubuntu系统和NavVis软件限制,在iData全景影像专版及其他系统、软件中的使用,极大地扩展了NavVis全景影像成果的应用范围。在此基础上,室内全景影像在众多应用场景中将会快速落地,推动室内全景在室内地图与导航、智慧工厂、物联网智能建筑、大型交通枢纽空间数字化、消防逃生、房产资产管理、建筑工期监管、展会展览、博物馆、零售业等领域的具体应用。