劉小芬,謝剛生,王丹丹,隆少秋
(1. 廣東南方數(shù)碼科技股份有限公司,廣東 廣州 510665; 2. 華南農(nóng)業(yè)大學(xué),廣東 廣州 510642)
全景技術(shù)通過多臺專業(yè)相機(jī)同時獲取現(xiàn)實(shí)世界中的圖片,使用專業(yè)軟件將獲取的圖片進(jìn)行拼接,生成三維空間的360°全景影像。360°全景影像具有真實(shí)感強(qiáng)、交互性強(qiáng)、易于沉浸的特點(diǎn),可以真實(shí)地表現(xiàn)現(xiàn)實(shí)空間場景,已經(jīng)逐漸成為一種新穎的地理信息數(shù)據(jù),與傳統(tǒng)測繪和地理信息產(chǎn)品互為補(bǔ)充[1]。
近年來,三維全景技術(shù)發(fā)展迅速,國內(nèi)外許多互聯(lián)網(wǎng)公司紛紛推出了自己的街景地圖服務(wù),如國外的谷歌街景和微軟Bing街景,國內(nèi)的百度地圖、騰訊地圖等軟件上也已經(jīng)全面普及三維全景地圖。公眾通過百度地圖、騰訊地圖等手機(jī)APP可以很方便地查看室外全景,快捷準(zhǔn)確地找到目的地。
相對于室外全景地圖,室內(nèi)的全景地圖在實(shí)際應(yīng)用中還較少。受到室內(nèi)GPS信號弱的影響,目前室內(nèi)高精度全景地圖的獲取都是采用SLAM的方式進(jìn)行的。室內(nèi)環(huán)境的高精度三維信息獲取類似于機(jī)器人在未知環(huán)境下進(jìn)行定位和制圖,在機(jī)器人領(lǐng)域稱之為SLAM(simultaneous localization and mapping)[2]。SLAM技術(shù)是通過攜帶傳感器的移動機(jī)器人來實(shí)現(xiàn)的,同時完成自身位置估計及環(huán)境模型構(gòu)建兩方面工作。由于其定位原理不同于GPS,能夠在室內(nèi)外環(huán)境中得到廣泛應(yīng)用[3]。
利用SLAM技術(shù)制作的高精度室內(nèi)三維實(shí)景地圖,往往是基于三維實(shí)景影像與點(diǎn)云數(shù)據(jù)的融合原理制作而成,具有高保真度,能顯示多細(xì)節(jié)信息。相比于傳統(tǒng)的三維激光掃描儀只能單一獲取三維點(diǎn)云數(shù)據(jù),再通過第三方設(shè)備拍攝若干圖像后進(jìn)行紋理貼圖和建模,推車SLAM系統(tǒng)的一體化數(shù)據(jù)處理過程可明顯減弱人工貼圖誤差的影響,輸出的三維地圖精度更高,應(yīng)用價值和前景更廣。
室內(nèi)全景可應(yīng)用于室內(nèi)地圖與導(dǎo)航、智慧工廠、物聯(lián)網(wǎng)智能建筑、大型交通樞紐空間數(shù)字化、消防逃生、房產(chǎn)資產(chǎn)管理、建筑工期監(jiān)管、展會展覽、博物館、零售業(yè)等領(lǐng)域,應(yīng)用前景廣闊[4]。尤其在室內(nèi)地圖與導(dǎo)航方面的應(yīng)用,可以大大提高公眾在商場、醫(yī)院、學(xué)校等公共場所進(jìn)行室內(nèi)導(dǎo)航的體驗(yàn)。
在室內(nèi)全景的數(shù)據(jù)獲取方面,經(jīng)過近幾年的發(fā)展,相關(guān)的硬件產(chǎn)品已經(jīng)日臻成熟。比較知名的室內(nèi)全景硬件設(shè)備有:中海達(dá)公司的HiScan-SLAM掃描儀、華泰天宇的IMS3D掃描儀、NavVis公司的M3掃描儀、Leica公司的Pegasus掃描儀、Vexcel公司的Ultracam Panther掃描儀。HiScan-SLAM掃描儀、IMS3D掃描儀、M3掃描儀使用了推車形式,而Leica公司的Pegasus掃描儀和Vexcel公司的Ultracam Panther掃描儀使用了背包形式,推車形式的掃描儀在數(shù)據(jù)獲取的平穩(wěn)度方面明顯要好很多,獲取的數(shù)據(jù)精度更高。對于有高精度要求的應(yīng)用,如需要毫米級精度的測量工程和監(jiān)測,相比其他設(shè)備NavVis公司的M3掃描儀,均表現(xiàn)出優(yōu)勢[5]。
在推車掃描儀中,M3掃描儀配套的處理軟件處理后,可以生成全景及其點(diǎn)云的Web服務(wù),可在電腦、手機(jī)、平板設(shè)備上的瀏覽器查看室內(nèi)全景影像;并且無需額外的硬件投入,可以在手機(jī)端進(jìn)行室高精度的室內(nèi)定位和導(dǎo)航。
M3掃描儀掃描多個數(shù)據(jù)集后,自動處理全景影像成果,使用配套軟件處理后,可以生成全景影像和對應(yīng)的點(diǎn)云數(shù)據(jù)。但是由于NavVis軟件系統(tǒng)的封閉性,最終發(fā)布的全景服務(wù),其數(shù)據(jù)已經(jīng)切片,不能導(dǎo)出到其他軟件中。
而在NavVis軟件處理數(shù)據(jù)的中間成果中,多個數(shù)據(jù)集全景影像和對應(yīng)的點(diǎn)云數(shù)據(jù)還是獨(dú)立的相對坐標(biāo)。NavVis在完成數(shù)據(jù)集配準(zhǔn)后,也沒有提供相應(yīng)的命令使全景影像成果完成坐標(biāo)統(tǒng)一后的坐標(biāo)輸出,其最終的全景影像成果只能在NavVis軟件中使用。
如上文所述,NavVis發(fā)布室內(nèi)全景影像和點(diǎn)云的Web服務(wù)必須在Ubuntu系統(tǒng)中進(jìn)行,而且發(fā)布服務(wù)前都需要安裝NavVis軟件。雖然NavVis提供的相關(guān)命令可以輸出坐標(biāo)統(tǒng)一的點(diǎn)云成果,但是對室內(nèi)全景影像成果,卻沒有提供坐標(biāo)統(tǒng)一的相關(guān)命令,這種情況非常不利于NavVis的室內(nèi)全景影像成果在其他系統(tǒng)、軟件中的使用。
目前,國內(nèi)外對于NavVis的室內(nèi)全景影像成果的坐標(biāo)統(tǒng)一過程,還沒有相關(guān)的研究。在硬件、安全、自主可控等方面因素影響下,迫切需要研究NavVis的全景影像成果坐標(biāo)統(tǒng)一的過程,以便NavVis的全景影像成果可以脫離NavVis軟件,順利導(dǎo)入相關(guān)應(yīng)用管理系統(tǒng),擴(kuò)大全景三維成果應(yīng)用。
2018年11月,廣東省人民政府辦公廳印發(fā)了廣東省“數(shù)字政府”建設(shè)總體規(guī)劃(2018—2020年)實(shí)施方案的通知,在方案中明確指出要推進(jìn)省直行政事業(yè)單位辦公用房規(guī)范管理:推動辦公用房管理信息系統(tǒng)建設(shè),逐步實(shí)現(xiàn)政府機(jī)關(guān)土地房屋的全生命周期管理。在廣東省的辦公用房管理系統(tǒng)的建設(shè)工作中,需要使用三維全景技術(shù)對部分省直行政事業(yè)單位的辦公用房進(jìn)行掃描,并將掃描形成的三維全景成果導(dǎo)入辦公用房管理系統(tǒng)。
因此本文以廣東“數(shù)字政府”省直行政事業(yè)單位辦公用掃描成果為對象,研究NavVis全景影像坐標(biāo)統(tǒng)一的過程,完成全景影像坐標(biāo)的統(tǒng)一,使得NavVis的全景影像成果能夠不受軟硬件的限制,在其他系統(tǒng)、軟件中更好、更快地使用,以推動全景技術(shù)的發(fā)展與應(yīng)用。
通過對M3掃描儀獲取數(shù)據(jù)集的處理及坐標(biāo)參數(shù)的分析,基于四元數(shù)的三維坐標(biāo)轉(zhuǎn)換方法,將全景影像的旋轉(zhuǎn)姿態(tài)通過四元數(shù)相乘進(jìn)行坐標(biāo)標(biāo)定,從而完成NavVis全景影像的坐標(biāo)統(tǒng)一。并分別選用國際通用軟件FME和國內(nèi)自主研發(fā)的iData全景影像專版對研究結(jié)果進(jìn)行驗(yàn)證。
2.1.1 掃描數(shù)據(jù)集
以某地辦公大樓為例,3層樓一共掃描了3個數(shù)據(jù)集。在M3掃描儀掃描后,使用配套的Sitemaker軟件進(jìn)行掃描數(shù)據(jù)集處理。如圖1所示,在Sitemaker中新建工程后,會自動生成3個文件夾,分別為datasets_rec、datasets_proc、datasets_web,其中datasets_rec用于存放原始掃描數(shù)據(jù)集,datasets_proc用于存放中間過程成果,datasets_web用于存放發(fā)布服務(wù)的成果。然后,使用Sitemaker軟件處理生成datasets_web成果,在NavVis公司的IndoorViewer軟件中完成多個數(shù)據(jù)集的拼接工作,最終得到坐標(biāo)統(tǒng)一的全景服務(wù)。
2.1.2 數(shù)據(jù)拼接
dataset_web文件夾中的成果,全景影像已經(jīng)經(jīng)過切片,無法導(dǎo)出到其他軟件中。在IndoorViewer中完成多個數(shù)據(jù)集的拼接工作后,可以生成一個拼接成果文件bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml,存放于datasets_web文件夾下(如圖2所示)。
2.1.3 數(shù)據(jù)坐標(biāo)參數(shù)分析
bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml文件中包含了3個數(shù)據(jù)集完成校正后的位置關(guān)系(如圖3所示),由position和orientation兩部分組成。其中,position表示數(shù)據(jù)集完成校正后的三維坐標(biāo)原點(diǎn),orientation(四元數(shù))表示數(shù)據(jù)集完成校正后的旋轉(zhuǎn)姿態(tài)。
在datasets_proc文件夾下,以數(shù)據(jù)集命名的文件夾里面,存放著全景影像文件夾pano,里面有處理好的單張全景影像和對應(yīng)的坐標(biāo)文件pano-poses.csv(如圖4所示)。pano-poses.csv文件是每個數(shù)據(jù)集中對應(yīng)單張全景影像的坐標(biāo)和姿態(tài)值,可以看出單張全景影像也是以四元數(shù)來表示旋轉(zhuǎn)姿態(tài)的。
運(yùn)用四元數(shù)的相關(guān)概念及計算公式,結(jié)合對bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml和pano-poses.csv文件的分析,將全景影像的旋轉(zhuǎn)姿態(tài)通過四元數(shù)相乘來進(jìn)行統(tǒng)一,而全景影像的三維坐標(biāo)值通過數(shù)據(jù)集在xoy平面的旋轉(zhuǎn)和平移進(jìn)行處理,最終完成全景影像的坐標(biāo)統(tǒng)一[6-7]。
2.2.1 四元數(shù)計算公式
根據(jù)對數(shù)據(jù)坐標(biāo)參數(shù)的分析,bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml和pano-poses.csv文件中都使用了四元數(shù)表示旋轉(zhuǎn)姿態(tài),后續(xù)相關(guān)計算需要使用四元數(shù)的相關(guān)公式,故對四元數(shù)作一個簡單的介紹。
四元數(shù)可以用于表示三維空間里的旋轉(zhuǎn)。它與常用的另外兩種表示方式(三維正交矩陣和歐拉角)是等價的,但是避免了歐拉角表示法中的萬向鎖問題。相比三維正交矩陣表示,四元數(shù)表示能夠更方便地給出旋轉(zhuǎn)的轉(zhuǎn)軸與旋轉(zhuǎn)角[8]。
四元數(shù)是Hamilton找到的一種擴(kuò)展的復(fù)數(shù)[9]。一個四元數(shù)擁有一個實(shí)部和三個虛部[10-11]
q=q0+q1i+q2j+q3k
(1)
式中,i、j、k為四元數(shù)的3個虛部。這3個虛部滿足關(guān)系式如下
(2)
現(xiàn)有2個四元數(shù)qa、qb,其向量表示為[sava]、[sbvb],或者原始四元數(shù)表示為
sa+xai+yaj+zak,sb+xbi+ybj+zbk
則四元數(shù)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 具體實(shí)現(xiàn)過程
結(jié)合NavVis相關(guān)文檔說明,3個數(shù)據(jù)集的全景影像之間可以通過XML文件中各自的position、orientation(四元數(shù))和pano-poses.csv來進(jìn)行坐標(biāo)統(tǒng)一。
從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服務(wù)鏈接后添加/api/datasets,打開鏈接從中提取數(shù)據(jù)集的旋轉(zhuǎn)角度,記作ori,表示數(shù)據(jù)集在xoy平面中的旋轉(zhuǎn)角度。在bundle_6d0591e8-f2f1-4766-9859-c3b898d52636.xml中提取每個數(shù)據(jù)集position,設(shè)為offset_x、offset_y、offset_z;提取orientation,設(shè)為wo、xo、yo、zo。
完成坐標(biāo)統(tǒng)一的單張全景影像的坐標(biāo)值和姿態(tài)記做psx、psy、psz、ori_ws、ori_xs、ori_ys、ori_zs。
首先計算坐標(biāo)統(tǒng)一后的單張全景影像的三維坐標(biāo)psx、psy、psz為
(3)
然后根據(jù)2個四元數(shù)相乘公式,計算坐標(biāo)統(tǒng)一后的單張全景影像的四元數(shù)ori_ws、ori_xs、ori_ys、ori_zs
(4)
本文選用國際常用的數(shù)據(jù)集成平臺FME和國內(nèi)自主研發(fā)的iData數(shù)據(jù)工廠來驗(yàn)證研究結(jié)果。
2.3.1 FME軟件驗(yàn)證
FME是一款獨(dú)特的內(nèi)置支持定位的數(shù)據(jù)集成平臺,它將全部數(shù)據(jù)和應(yīng)用程序連接在一起,包含336種不同的格式,含有靈活的高級數(shù)據(jù)轉(zhuǎn)換工具、可定制自動化的工作流等。FME技術(shù)確保數(shù)據(jù)能輕松獲取到所需的格式,確保任務(wù)能夠更加高效地完成[5]。
根據(jù)上述計算公式,使用FME軟件快速編程,驗(yàn)證轉(zhuǎn)換效果。FME程序如圖5所示。
運(yùn)行程序后,得到3個數(shù)據(jù)集完成坐標(biāo)統(tǒng)一后的坐標(biāo)值。NavVis可以導(dǎo)出坐標(biāo)統(tǒng)一后的點(diǎn)云成果,將全景影像的坐標(biāo)值與點(diǎn)云進(jìn)行疊加,驗(yàn)證全景影像坐標(biāo)統(tǒng)一的效果。由圖6可見全景影像坐標(biāo)值統(tǒng)一后的情況。
2.3.2 iData數(shù)據(jù)工廠驗(yàn)證
iData數(shù)據(jù)工廠是結(jié)合近20年來在測繪和GIS領(lǐng)域軟件開發(fā)的經(jīng)驗(yàn),由廣東南方數(shù)碼科技股份有限公司自主研發(fā)的新一代測繪數(shù)據(jù)生產(chǎn)平臺。為用戶提供從數(shù)據(jù)采集、質(zhì)檢、分發(fā)、更新到生產(chǎn)管理的一整套測繪數(shù)據(jù)生產(chǎn)解決方案。iData數(shù)據(jù)工廠開發(fā)了眾多專版,如iData三調(diào)版、iData3D版、iData農(nóng)村地籍版等,在眾多領(lǐng)域有著廣泛的應(yīng)用。iData全景影像專版可以將已經(jīng)完成坐標(biāo)統(tǒng)一的NavVis全景影像導(dǎo)入,并進(jìn)行瀏覽、量測、采集等工作,如圖7所示。
NavVis全景影像成果實(shí)現(xiàn)坐標(biāo)統(tǒng)一后,不僅可以將全景影像成果不受任何限制地導(dǎo)入其他管理系統(tǒng)中,推動室內(nèi)全景在廣東“數(shù)字政府”中的具體應(yīng)用,而且有利于全景影像成果脫離Ubuntu系統(tǒng)和NavVis軟件限制,在iData全景影像專版及其他系統(tǒng)、軟件中的使用,極大地擴(kuò)展了NavVis全景影像成果的應(yīng)用范圍。在此基礎(chǔ)上,室內(nèi)全景影像在眾多應(yīng)用場景中將會快速落地,推動室內(nèi)全景在室內(nèi)地圖與導(dǎo)航、智慧工廠、物聯(lián)網(wǎng)智能建筑、大型交通樞紐空間數(shù)字化、消防逃生、房產(chǎn)資產(chǎn)管理、建筑工期監(jiān)管、展會展覽、博物館、零售業(yè)等領(lǐng)域的具體應(yīng)用。