李勇,羅招青
(四川省計(jì)算機(jī)研究院,四川 成都 610041)
近年來,隨著計(jì)算機(jī)軟硬件技術(shù)的快速發(fā)展,VR 全景技術(shù)被廣泛地應(yīng)用于旅游,房產(chǎn)及虛擬教育等行業(yè),給用戶帶來全新的真實(shí)現(xiàn)場(chǎng)感和交互式的感受。虛擬全景又稱三維全景虛擬現(xiàn)實(shí)(也稱實(shí)景虛擬)是基于全景圖像的真實(shí)場(chǎng)景虛擬現(xiàn)實(shí)技術(shù),是虛擬現(xiàn)實(shí)技術(shù)中非常核心的部分。全景(英文名稱是Panorama)是把相機(jī)環(huán)360 度拍攝的一組或多組照片拼接成一個(gè)全景圖像,通過計(jì)算機(jī)技術(shù)實(shí)現(xiàn)全方位互動(dòng)式觀看的真實(shí)場(chǎng)景還原展示方式。本系統(tǒng)利用無(wú)人機(jī)拍攝地貌景觀全景圖來制作地質(zhì)災(zāi)害虛擬全景,基于Krpano技術(shù)開發(fā)全景展示系統(tǒng),實(shí)現(xiàn)真實(shí)展現(xiàn)目標(biāo)點(diǎn)的地形地貌場(chǎng)景。本系統(tǒng)以全景影像方式展示地質(zhì)災(zāi)害特征,提升地質(zhì)災(zāi)害調(diào)查成果可視化展示效果,是一種實(shí)用的新型地質(zhì)災(zāi)害調(diào)查成果表達(dá)方式。
系統(tǒng)數(shù)據(jù)需求主要有地質(zhì)災(zāi)害隱患排查點(diǎn)位數(shù)據(jù)和VR全景數(shù)據(jù):
(1)地質(zhì)災(zāi)隱患排查點(diǎn)位數(shù)據(jù):調(diào)查人員通過實(shí)地現(xiàn)場(chǎng)勘查,獲取的地質(zhì)災(zāi)害隱患點(diǎn)位的位置信息、隱患類型、威脅對(duì)象、威脅人數(shù)、穩(wěn)定性、防災(zāi)負(fù)責(zé)人(姓名及聯(lián)系方式)、防治緊迫程度、險(xiǎn)情分級(jí)、已采取措施、現(xiàn)場(chǎng)照片等數(shù)據(jù)。
(2)VR 全景數(shù)據(jù):對(duì)已經(jīng)確定需要展示的地質(zhì)災(zāi)害隱患排查點(diǎn)位的VR 全景數(shù)據(jù),利用無(wú)人機(jī)拍攝地貌景觀原始影像數(shù)據(jù),通過圖像拼接技術(shù)獲取點(diǎn)位全景圖像。
根據(jù)調(diào)研的系統(tǒng)用戶實(shí)際需求,地質(zhì)災(zāi)害應(yīng)急排查VR全景展示系統(tǒng)應(yīng)具備以下功能:
(1)地質(zhì)災(zāi)害點(diǎn)的全景VR 瀏覽,支持VR 設(shè)備使用本系統(tǒng)。為用戶提供逼真的景觀瀏覽體驗(yàn)。
(2)在VR 場(chǎng)景中實(shí)現(xiàn)地質(zhì)災(zāi)害點(diǎn)文本圖標(biāo)的標(biāo)注,同時(shí)通過場(chǎng)景中圖標(biāo)點(diǎn)擊查詢,查詢的結(jié)果為該地質(zhì)災(zāi)害點(diǎn)數(shù)據(jù)(現(xiàn)場(chǎng)實(shí)景地質(zhì)災(zāi)害隱患圖片文字等介紹)。
(3)通過熱點(diǎn)導(dǎo)航功能支持任意場(chǎng)景的切換。
(4)運(yùn)用地圖功能對(duì)全景瀏覽進(jìn)行地理位置標(biāo)注和切換。
(5)支持所有PC 端、移動(dòng)端瀏覽器,并且針對(duì)不同端有不同優(yōu)化,只需要瀏覽器訪問網(wǎng)頁(yè)便可以加載地圖訪問系統(tǒng)。
系統(tǒng)數(shù)據(jù)庫(kù)主要為系統(tǒng)實(shí)現(xiàn)提供數(shù)據(jù)支持。本系統(tǒng)采用關(guān)系型數(shù)據(jù)庫(kù)MySQL,并使用Navicat for MySQL 來構(gòu)建MySQL 數(shù)據(jù)庫(kù)。Navicatfor MySQL 為MySQL 數(shù)據(jù)庫(kù)管理、開發(fā)和維護(hù)提供了直觀而強(qiáng)大的圖形界面和全面的工具。
本系統(tǒng)選用MySQL 數(shù)據(jù)庫(kù)存地質(zhì)災(zāi)害隱患排查點(diǎn)位屬性數(shù)據(jù)庫(kù),地質(zhì)災(zāi)害點(diǎn)屬性結(jié)構(gòu)如表1所示。
表1 地質(zhì)災(zāi)害點(diǎn)屬性結(jié)構(gòu)
本系統(tǒng)設(shè)計(jì)遵循以下原則:
(1)先進(jìn)性:采用無(wú)人機(jī)航拍獲取地質(zhì)災(zāi)害點(diǎn)位空中視角的全景圖,基于Krpano 技術(shù)二次開發(fā),Krpano 框架提供的各種成熟插件,開發(fā)人員通過編寫腳本即可實(shí)現(xiàn)各種場(chǎng)景下的交互功能。
(2)實(shí)用性:系統(tǒng)采用人性化的操作方式,用戶可方便快捷的使用系統(tǒng)。
(3)標(biāo)準(zhǔn)性:系統(tǒng)針對(duì)地質(zhì)災(zāi)害數(shù)據(jù)應(yīng)嚴(yán)格按照現(xiàn)有的國(guó)家標(biāo)準(zhǔn)和行業(yè)標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)生產(chǎn)。
根據(jù)功能需求分析結(jié)果,本系統(tǒng)功能設(shè)計(jì)分為兩個(gè)模塊,一是系統(tǒng)后臺(tái)數(shù)據(jù)管理功能主要包含用戶登錄、地質(zhì)災(zāi)害點(diǎn)位屬性數(shù)據(jù)編輯;二是系統(tǒng)前端展示主要功能包括VR 全景瀏覽、點(diǎn)位導(dǎo)航、地圖基本操作、地質(zhì)災(zāi)害點(diǎn)位標(biāo)注、地質(zhì)災(zāi)害點(diǎn)位數(shù)據(jù)窗口查詢等,如圖1所示。
圖1 系統(tǒng)功能設(shè)計(jì)圖
本系統(tǒng)設(shè)計(jì)為B/S 系統(tǒng),后臺(tái)數(shù)據(jù)管理使用NET 框架實(shí)現(xiàn)數(shù)據(jù)管理,系統(tǒng)前端展示基于HTML5和Krpano開發(fā)實(shí)現(xiàn)VR 全景網(wǎng)頁(yè)端展示。數(shù)據(jù)發(fā)布與功能實(shí)現(xiàn)技術(shù)流程為:
首先,通過make vtour droplet 批處理文件工具,實(shí)現(xiàn)制作可以漫游的全景VR 系統(tǒng)。首先將圖片名歸一化并簡(jiǎn)單排序,選擇所有圖片執(zhí)行處理命令,結(jié)束后系統(tǒng)會(huì)生成全景漫游文件包含若干文件和文件夾。然后通過Krpano 內(nèi)置可視化點(diǎn)位編輯的工具選擇各點(diǎn)位之間起始,更換相關(guān)功能按鈕圖片,讓整體美觀度與最終的系統(tǒng)保持一致。最后通過JavaScript 實(shí)現(xiàn)系統(tǒng)各展示功能。
2.5.1 系統(tǒng)登錄
系統(tǒng)登錄只需要在瀏覽器中輸入對(duì)應(yīng)網(wǎng)址快速進(jìn)入系統(tǒng)。進(jìn)入系統(tǒng)后會(huì)有一個(gè)初始畫面,如圖2所示,提示系統(tǒng)開始運(yùn)行。
圖2 系統(tǒng)啟動(dòng)界面
進(jìn)入成功后,可以看到以下景觀球體旋轉(zhuǎn)的動(dòng)畫如圖3所示,該初始動(dòng)畫會(huì)按照設(shè)備性能以及用戶網(wǎng)絡(luò)速度持續(xù)數(shù)秒,設(shè)備性能越好網(wǎng)絡(luò)速度越快持續(xù)時(shí)間越短。
等待動(dòng)畫完成后畫面會(huì)呈現(xiàn)靜止?fàn)顟B(tài),即可進(jìn)行操作,如圖3所示。
圖3 小行星開場(chǎng)界面
2.5.2 系統(tǒng)操作主界面
用戶登錄后進(jìn)入到系統(tǒng)主界面,本系統(tǒng)主界面采用時(shí)尚扁平化風(fēng)格,圖標(biāo)半透明化。窗口大部分界面為虛擬全景圖片展示畫面,界面下部為工具欄。場(chǎng)景導(dǎo)航工具控制著系統(tǒng)的瀏覽路徑,它可以自由選擇想要瀏覽的點(diǎn),地圖工具負(fù)責(zé)顯示當(dāng)前瀏覽點(diǎn)的地理位置,方便用戶獲取該點(diǎn)詳細(xì)的地理信息。標(biāo)注工具主要是對(duì)場(chǎng)景中地質(zhì)災(zāi)害點(diǎn)位信息標(biāo)注出來。具體分布如圖4所示。
圖4 系統(tǒng)功能區(qū)劃分
2.5.3 全景瀏覽功能
全景瀏覽是本系統(tǒng)最為主要的功能,它能給用戶帶來仿真的景觀瀏覽體驗(yàn)以及對(duì)感興趣的對(duì)象進(jìn)行查詢。在主界面上按住鼠標(biāo)左鍵待鼠標(biāo)變成十字箭頭,向屏幕的各個(gè)方向拖動(dòng),界面會(huì)隨著拖動(dòng)方向而移動(dòng)類似人轉(zhuǎn)動(dòng)頭和眼睛觀察周圍觀景。擁有觸摸屏的用戶可以通過點(diǎn)按并滑動(dòng)屏幕進(jìn)行全景瀏覽。全景圖中有一些地名以及抖動(dòng)的圖標(biāo),用戶可以通過點(diǎn)擊這些圖標(biāo)前往下一個(gè)全景觀測(cè)點(diǎn)。每個(gè)界面都是通過觀測(cè)點(diǎn)相互鏈接,通過旋轉(zhuǎn)畫面均能找到。
2.5.4 導(dǎo)航功能
導(dǎo)航功能主要是通過導(dǎo)航欄操作的,主要有前進(jìn)、后退、自由選擇。導(dǎo)航欄中部為觀測(cè)點(diǎn)自由選擇按鈕,鼠標(biāo)左鍵點(diǎn)擊或者在觸摸屏幕上輕觸按鈕,將會(huì)彈出觀測(cè)點(diǎn)列表窗口,如圖5所示。
圖5 場(chǎng)景導(dǎo)航功能界面
2.5.5 地圖功能
地圖功能是對(duì)全景瀏覽功能的補(bǔ)充和完善,在切換不同觀測(cè)點(diǎn)的過程中用戶可以通過地圖同能了解該觀測(cè)點(diǎn)的地理空間位置以及其他觀測(cè)點(diǎn)的位置關(guān)系。點(diǎn)擊右側(cè)地圖工具按鈕,地圖窗口會(huì)彈出,如圖6所示。
圖6 地圖導(dǎo)航
整個(gè)地圖工具分為3 個(gè)部分,地圖基礎(chǔ)操作功能,地圖點(diǎn)擊查詢切換功能,地圖底圖切換功能。
2.5.6 地質(zhì)災(zāi)害點(diǎn)標(biāo)注
點(diǎn)擊標(biāo)注功能圖標(biāo),實(shí)現(xiàn)場(chǎng)景中將會(huì)彈出地質(zhì)災(zāi)害點(diǎn)位點(diǎn)位圖標(biāo)(地質(zhì)災(zāi)害點(diǎn)位名稱),如圖7所示。
圖7 地質(zhì)災(zāi)害點(diǎn)位標(biāo)注
2.5.7 地質(zhì)災(zāi)害點(diǎn)位數(shù)據(jù)查詢
通過點(diǎn)擊地質(zhì)災(zāi)害標(biāo)注圖標(biāo),查詢?cè)擖c(diǎn)位信息,如圖8所示。
本文通過需求調(diào)研與分析,基于Krpano 平臺(tái)設(shè)計(jì)并開發(fā)了地質(zhì)災(zāi)害應(yīng)急排查VR 全景展示系統(tǒng)。系統(tǒng)基于地質(zhì)災(zāi)害應(yīng)急排查點(diǎn)位勘查數(shù)據(jù)和VR 全景數(shù)據(jù),用戶可以更加直觀清晰地看到地質(zhì)災(zāi)害隱患點(diǎn)情況,以及歷史災(zāi)害發(fā)生后的場(chǎng)景。系統(tǒng)提供地質(zhì)災(zāi)害點(diǎn)的數(shù)據(jù)查詢,方便用戶結(jié)合全景瀏覽信息快速直觀獲取災(zāi)害點(diǎn)位數(shù)據(jù)。但是,在地質(zhì)災(zāi)害的實(shí)施監(jiān)測(cè)等功能,還需要進(jìn)一步研究,可以結(jié)合實(shí)時(shí)視頻監(jiān)控、邊坡位移監(jiān)測(cè)等技術(shù)完善。
圖8 地質(zhì)災(zāi)害點(diǎn)位信息