劉小芬,謝剛生,王丹丹,隆少秋
(1. 廣東南方數碼科技股份有限公司,廣東 廣州 510665; 2. 華南農業大學,廣東 廣州 510642)
全景技術通過多臺專業相機同時獲取現實世界中的圖片,使用專業軟件將獲取的圖片進行拼接,生成三維空間的360°全景影像。360°全景影像具有真實感強、交互性強、易于沉浸的特點,可以真實地表現現實空間場景,已經逐漸成為一種新穎的地理信息數據,與傳統測繪和地理信息產品互為補充[1]。
近年來,三維全景技術發展迅速,國內外許多互聯網公司紛紛推出了自己的街景地圖服務,如國外的谷歌街景和微軟Bing街景,國內的百度地圖、騰訊地圖等軟件上也已經全面普及三維全景地圖。公眾通過百度地圖、騰訊地圖等手機APP可以很方便地查看室外全景,快捷準確地找到目的地。
相對于室外全景地圖,室內的全景地圖在實際應用中還較少。受到室內GPS信號弱的影響,目前室內高精度全景地圖的獲取都是采用SLAM的方式進行的。室內環境的高精度三維信息獲取類似于機器人在未知環境下進行定位和制圖,在機器人領域稱之為SLAM(simultaneous localization and mapping)[2]。SLAM技術是通過攜帶傳感器的移動機器人來實現的,同時完成自身位置估計及環境模型構建兩方面工作。由于其定位原理不同于GPS,能夠在室內外環境中得到廣泛應用[3]。
利用SLAM技術制作的高精度室內三維實景地圖,往往是基于三維實景影像與點云數據的融合原理制作而成,具有高保真度,能顯示多細節信息。相比于傳統的三維激光掃描儀只能單一獲取三維點云數據,再通過第三方設備拍攝若干圖像后進行紋理貼圖和建模,推車SLAM系統的一體化數據處理過程可明顯減弱人工貼圖誤差的影響,輸出的三維地圖精度更高,應用價值和前景更廣。
室內全景可應用于室內地圖與導航、智慧工廠、物聯網智能建筑、大型交通樞紐空間數字化、消防逃生、房產資產管理、建筑工期監管、展會展覽、博物館、零售業等領域,應用前景廣闊[4]。尤其在室內地圖與導航方面的應用,可以大大提高公眾在商場、醫院、學校等公共場所進行室內導航的體驗。
在室內全景的數據獲取方面,經過近幾年的發展,相關的硬件產品已經日臻成熟。比較知名的室內全景硬件設備有:中海達公司的HiScan-SLAM掃描儀、華泰天宇的IMS3D掃描儀、NavVis公司的M3掃描儀、Leica公司的Pegasus掃描儀、Vexcel公司的Ultracam Panther掃描儀。HiScan-SLAM掃描儀、IMS3D掃描儀、M3掃描儀使用了推車形式,而Leica公司的Pegasus掃描儀和Vexcel公司的Ultracam Panther掃描儀使用了背包形式,推車形式的掃描儀在數據獲取的平穩度方面明顯要好很多,獲取的數據精度更高。對于有高精度要求的應用,如需要毫米級精度的測量工程和監測,相比其他設備NavVis公司的M3掃描儀,均表現出優勢[5]。
在推車掃描儀中,M3掃描儀配套的處理軟件處理后,可以生成全景及其點云的Web服務,可在電腦、手機、平板設備上的瀏覽器查看室內全景影像;并且無需額外的硬件投入,可以在手機端進行室高精度的室內定位和導航。
M3掃描儀掃描多個數據集后,自動處理全景影像成果,使用配套軟件處理后,可以生成全景影像和對應的點云數據。但是由于NavVis軟件系統的封閉性,最終發布的全景服務,其數據已經切片,不能導出到其他軟件中。
而在NavVis軟件處理數據的中間成果中,多個數據集全景影像和對應的點云數據還是獨立的相對坐標。NavVis在完成數據集配準后,也沒有提供相應的命令使全景影像成果完成坐標統一后的坐標輸出,其最終的全景影像成果只能在NavVis軟件中使用。
如上文所述,NavVis發布室內全景影像和點云的Web服務必須在Ubuntu系統中進行,而且發布服務前都需要安裝NavVis軟件。雖然NavVis提供的相關命令可以輸出坐標統一的點云成果,但是對室內全景影像成果,卻沒有提供坐標統一的相關命令,這種情況非常不利于NavVis的室內全景影像成果在其他系統、軟件中的使用。
目前,國內外對于NavVis的室內全景影像成果的坐標統一過程,還沒有相關的研究。在硬件、安全、自主可控等方面因素影響下,迫切需要研究NavVis的全景影像成果坐標統一的過程,以便NavVis的全景影像成果可以脫離NavVis軟件,順利導入相關應用管理系統,擴大全景三維成果應用。
2018年11月,廣東省人民政府辦公廳印發了廣東省“數字政府”建設總體規劃(2018—2020年)實施方案的通知,在方案中明確指出要推進省直行政事業單位辦公用房規范管理:推動辦公用房管理信息系統建設,逐步實現政府機關土地房屋的全生命周期管理。在廣東省的辦公用房管理系統的建設工作中,需要使用三維全景技術對部分省直行政事業單位的辦公用房進行掃描,并將掃描形成的三維全景成果導入辦公用房管理系統。
因此本文以廣東“數字政府”省直行政事業單位辦公用掃描成果為對象,研究NavVis全景影像坐標統一的過程,完成全景影像坐標的統一,使得NavVis的全景影像成果能夠不受軟硬件的限制,在其他系統、軟件中更好、更快地使用,以推動全景技術的發展與應用。
通過對M3掃描儀獲取數據集的處理及坐標參數的分析,基于四元數的三維坐標轉換方法,將全景影像的旋轉姿態通過四元數相乘進行坐標標定,從而完成NavVis全景影像的坐標統一。并分別選用國際通用軟件FME和國內自主研發的iData全景影像專版對研究結果進行驗證。
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文件是每個數據集中對應單張全景影像的坐標和姿態值,可以看出單張全景影像也是以四元數來表示旋轉姿態的。
運用四元數的相關概念及計算公式,結合對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)
本文選用國際常用的數據集成平臺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所示。
NavVis全景影像成果實現坐標統一后,不僅可以將全景影像成果不受任何限制地導入其他管理系統中,推動室內全景在廣東“數字政府”中的具體應用,而且有利于全景影像成果脫離Ubuntu系統和NavVis軟件限制,在iData全景影像專版及其他系統、軟件中的使用,極大地擴展了NavVis全景影像成果的應用范圍。在此基礎上,室內全景影像在眾多應用場景中將會快速落地,推動室內全景在室內地圖與導航、智慧工廠、物聯網智能建筑、大型交通樞紐空間數字化、消防逃生、房產資產管理、建筑工期監管、展會展覽、博物館、零售業等領域的具體應用。