張 瑤,黃鵬嘉,朱長富
(1.中水珠江規劃勘測設計有限公司,廣東 廣州 510610;2.廣西大藤峽水利樞紐開發有限責任公司,廣西 南寧 530029)
隨著信息技術的快速發展,虛擬現實技術日漸成熟,且被廣泛應用于城市規劃[1]、生態旅游[2]、建筑設計[3]、教育[4]、工程設計[5]等諸多領域,其中全景[6]的應用已較為成熟。各行各業企圖使用全景技術實現項目的可視化監督管理,為此大量的全景數據產生,高效管理工作中生產的全景數據成為一個迫在眉睫的問題。全景是通過對相機捕捉整個場景的圖像信息進行圖片拼接所獲得的全景圖像或全景視頻[7],基于該全景圖像和計算機技術實現全方位互動式的真實場景還原,稱之為全景虛擬現實技術[8-9]。該技術的實現是如今虛擬現實技術快速發展所帶來的智慧產品,它改變了傳統網絡中圖像瀏覽的平面化、靜態化的特點,使用戶在瀏覽器上能實現區域圖像的360度觀察,且通過交互操作體驗三維的VR視覺世界[6,10]。
與傳統3D建模相比,全景虛擬現實技術制作簡單,數據量小,系統消耗低,且真實感更強[11],因此本次研究采用了全景技術來實現大藤峽水利樞紐的虛擬展示。目前全景圖像的獲取方式有2種,其一直接通過全景拍攝器材獲得全景圖,該方法耗費較多不適合一般工程項目,其二采用圖像拼接軟件將普通相機拍攝的局部圖合成全景圖[12-13]。在眾多圖像拍攝工具中,無人機航拍的靈活性與大區域性[14],成為本次全景展示系統全景圖片素材的重要獲取手段,然后通過全景照片合成器制作最終的全景圖片,即全景系統所需要的源數據。
本研究以大藤峽水利樞紐工程建設項目為例,基于Krpano引擎和GIS地圖服務技術,采用PHP語言和MySQL數據庫,開發了一套完整的全景管理系統,實現了大藤峽水利樞紐工程全景數據的制作、管理和入庫等功能,方便用戶生產全景產品的同時,對該區域工程建設的監督任務提供數據和技術支撐,并對外形成良好的宣傳作用。
本全景展示系統采用瀏覽器/服務器模式進行系統架構設計,該架構開放式的特點可以支持系統在多種設備上運行,有利于滿足本系統對多客戶端的需求。系統開發采用的后端支持語言為PHP,其在開源性、跨平臺性、運行效率、數據庫連接、安全性等方面的優勢[15-16]成為本次系統建設語言選擇的考慮因素,與此對應的MySQL數據庫[17]成為本系統數據庫管理工具。
該系統主要包含4個功能模塊(圖1):①全景管理,將用戶發布的全景作品進行統一管理,便于后期全景資料的管理和查閱,并能根據需求創建自己的管理圖冊;②全景編輯,對生成的全景作品進行基礎信息、子全景、場景熱點、輔助功能等相關信息的修改,并生成訪問地址和二維碼以供用戶使用和分享;③素材管理,對上傳到服務器的數據,如全景圖、普通圖片、音頻、視頻等基礎數據的管理;④全景發布,通過本地上傳的數據或素材庫里的數據,發布生成全景作品。
大藤峽水利樞紐無人機VR全景展示系統是基于Krpano引擎技術[18]的二次開發產品,在基礎全景制圖上實現了全景數據管理、全景發布以及全景分布的功能,有助于全景項目高效管理,提升了用戶體驗。之所以選擇Krpano引擎來開發全景系統,不僅在于其可拓展性,還在于它能支持最常見的瀏覽器和設備,且能很好兼容多種系統和瀏覽器版本。Krpano內置的圖像生成算法以及視圖渲染算法,能夠較好地提高切片后的相片質量,以高細節和清晰度呈現圖像。除此外,該工具支持無縫的VR切換功能,不需要額外的插件或軟件支持。
Krpano引擎在該系統中主要作用是實現圖像的切片(圖2),生成不同尺度不同角度的全景切片數據,然后依托web前端技術,實現全景數據的360度瀏覽。雖然目前已出現了較多基于Krpano的全景系統[19-20],但是本系統的構建思路和方法仍然存在差異之處,例如采用無人機獲取全景數據、采用fileinput插件上傳文件、不同的圖像切片和入庫標準等。

圖1 系統功能設計

圖2 Krpano引擎技術在系統中工作示意
1.3.1全景管理
項目中數據獲取有了無人機的支持必然簡單快速,但是對創建的大量全景數據進行管理是本系統必須要解決的問題。系統中設計的全景管理模塊就是讓用戶能根據需求創建自己的存儲模式,從而達到全景數據的管理目的。
本系統的全景管理模塊包含全景圖和全景視頻2種全景作品的管理(圖3),其中以全景圖的管理為首要。該模塊建設的重點在于對數據庫的管理,創建合適的全景管理數據表,合理設置各表屬性以及相關表格之間的關系。系統基于MySQL數據庫,創建了全景圖的分類表,用戶可以根據自己的需求自定義圖冊,將相關全景作品分類存儲,方便查詢管理。除此之外,用戶還可以根據作品創建時間或作品名來檢索目標全景。
1.3.2全景編輯
系統提供全景作品編輯的功能,允許用戶編制具有獨特風格的全景瀏覽作品。該模塊設計了5個功能區:基本信息編輯、子全景編輯、場景熱點編輯、輔助功能編輯、使用與分享,每個功能區實現不同的編輯作用,以完成全景作品中每個場景的定制效果。
a)基礎信息編輯。作品基礎信息包括作品的標題、封面、文字介紹、拍攝時間地點等,用戶可以隨時修改全景作品的基礎信息內容,給全景作品添加文字修飾,讓瀏覽觀眾有渠道可以了解該作品的相關信息。
b)子全景編輯。子全景編輯指的是對已發布的全景作品中各個全景圖片的添加和移除,該功能實現方式類似全景發布模塊的選擇素材數據進行全景作品創建的功能。設計該功能的目的是,用戶發布完某個全景作品后,能夠通過添加素材庫里的全景圖片來補充遺漏的全景圖,亦或通過刪除功能移除不適合該作品的全景圖片,從而達到全景作品隨意增添場景的能力。
這段話中,作者借助律師之口有意突出了男孩的個人歷險與古老的史詩之間的聯系;并且強調這部個人史詩應該用一種“更有力度的語言”,事實上是帝國的語言——拉丁語——講出來,明顯表現了一種帝國的懷舊情結和強烈的敘事沖動。

圖3 全景管理數據表E-R圖
c)場景熱點編輯。系統熱點編輯部分包含場景分組、視角、熱點等功能模塊(圖4),其中場景視角提供初始視角、視域范圍和垂直視角3個場景視角的設置;場景熱點分別為全景切換、超級鏈接、圖片、文字、語音、圖文、視頻熱點,該功能可以實現場景中各熱點的添加和刪除、內容編輯。這些功能都是通過調用預先配置好的全景XML文件中相應功能函數,再根據前端輸入內容同步修改全景查看器中的配置信息,以實現各個場景效果的修改。場景分組是指將同一全景作品中的不同場景分組歸類,便于直觀展示各個場景之間的從屬關系。而在場景沙盤功能中,用戶根據各場景的位置在區域平面圖上添加對應點位,使得全景作品全局效果一目了然。場景特效,顧名思義可以幫助用戶給全景添加天氣效果,如雨雪陽光等。視頻貼片則是將具有輔助效果的視頻放置到對應場景的某個位置,給該位置點增加視頻介紹,該視頻會隨著場景的變動而移動。除此之外,場景導覽功能可以為相關工程項目的宣傳提供輔助作用,用戶設置好預定義的全景觀賞路線后,搭配上VR眼鏡,觀眾就可以通過一鍵導覽實現全景自動瀏覽,體驗虛擬現實身臨其境的效果。
d)輔助功能編輯。為了更好地設計和管理全景作品,系統添加了一些小型輔助工具,如添加背景音樂或語音解說、添加項目足跡、增加底部菜單欄等。下面以添加足跡為例,簡單介紹該功能的實現流程(圖5)。足跡功能采用的地理信息技術是騰訊地圖。基于騰訊地圖qq.maps接口,創建了Locator對象,該對象包含切換地圖、添加標記點、地理位置搜索定位、點擊獲取鼠標位置點信息等功能。系統前端通過調用該對象可以實現全景作品的地理位置添加。與此同時,全景分布模塊根據各個全景作品的位置信息,將其標注在地圖上,于是用戶可以直觀地看到所有項目的全景產品地理位置分布狀況,利于對各個全景項目有一個清醒的地理認知。

圖4 全景熱點編輯模塊功能設計

圖5 添加足跡功能界面
e)使用與分享。該部分使用的關鍵技術是二維碼創建功能,系統采用PHP類庫中的PHPqrcode接口生成可供微信識別的二維碼,便于用戶快速分享創建的全景作品,利于項目宣傳。PHPqrcode是一個開源的PHP二維碼生成類庫,其基于libqrencode C庫,提供用于創建二維碼條形碼圖像的API,從而可以輕松生成包含相應內容的二維碼。
1.3.3素材管理
素材管理中包含對全景素材、普通圖片、音頻和視頻的管理,其管理方式類似于全景管理模塊對全景作品的管理,用戶可以根據需要將素材分層管理,且能依據作品名快速查找相應素材。
1.3.4全景發布
全景發布模塊是整個系統的關鍵部分,是全景作品的生產工廠。該模塊的實現離不開Krpano引擎的支撐,它能幫助系統實現全景圖片的切片。本系統的全景發布流程簡述如下。用戶上傳全景圖片到服務器后,系統通過PHP后臺程序調用Krpano引擎將圖片進行切片處理,從而生成全景作品所需的多視角多尺度的工程切片數據,并且存儲到對應項目的數據庫表中,這一流程實現了全景作品基礎數據的獲取;接著,基于預設的全景配置信息生成初始化的全景作品,并創建作品的唯一URL和開放該地址的任意用戶訪問權限,至此一個完整的全景作品生產成功;最后,前端通過Krpano查看器讓用戶能在瀏覽器上自由觀賞該作品。全景視頻的發布過程基本同于全景圖,差異之處在于全景視頻不需要通過Krpano進行切片處理,系統直接將視頻嵌入到Krpano查看器中,就可以通過前端實現視頻的360度瀏覽效果。圖6采用UML圖簡單展示了發布模塊中各功能角色之間的關系。

圖6 全景作品發布示意
研究開發的大藤峽水利樞紐無人機VR全景展示系統已成功投入使用,成功解決了以上提到的問題。該系統已經上傳了2019年至今拍攝的上千幅大藤峽全景圖,且制作了幾十個全景作品(圖7以2020年12月的全景作品為例展示了經過該系統制作的全景結果),運行良好,大大提升了公司在全景數據管理的工作效率,并且給大藤峽水利樞紐的宣傳工作起到良好作用,后期在制作大藤峽工程展覽場所和大藤峽博物館的VR展示繼續發揮作用。當然該系統也存在不完善的地方,由于該項目重點在全景圖的采集管理上,系統中全景視頻模塊的功能相對較少,后期有望繼續深入研究。

圖7 大藤峽水利樞紐2020年12月VR全景項目展示
無人機VR全景展示系統是基于Krpano和地理信息技術的全景管理和展示平臺,已成功應用于水利工程建設中,后期有望在水利水電工程建設監督、房屋設計展示、虛擬展覽館等項目進行推廣。該系統的應用不僅有助于工程進度控制,為項目實時監控提供技術支持,也能在一定程度上節省工程監測成本。該系統主要的特點和創新點如下。
a)首次采用無人機和全景虛擬現實技術對大藤峽全景數據進行集中管理和控制,為大藤峽工程建設的遠程監督提供服務平臺,為其他項目系統開發工作提供數據和技術支撐。
b)該系統不僅能應用于大藤峽的全景數據管理和制作,也可以在其他地區和不同行業的全景項目中使用。
c)研發了具有自主知識產權的無人機VR全景展示系統,為大藤峽水利樞紐工程建設管理提供了智慧監控平臺和輔助決策的科學依據。