劉清崗
(陜西學(xué)前師范學(xué)院信息工程學(xué)院 陜西省西安市 710100)
目前很多旅游景點(diǎn)、大型商場(chǎng)、地鐵站等空間布局復(fù)雜,人們對(duì)導(dǎo)航尋路使用需求迫切,傳統(tǒng)的做法有實(shí)物展示、張貼平面路線圖等,但當(dāng)場(chǎng)景發(fā)生變化時(shí),需要重新制作導(dǎo)航實(shí)物,造成資源浪費(fèi)、效率低下[1]。另一類方法是使用基于手機(jī)GPS、基站定位和語(yǔ)音反饋測(cè)距等技術(shù),但這些技術(shù)在解決一些手機(jī)信號(hào)弱、水平垂直空間復(fù)雜的區(qū)域?qū)Ш綍r(shí),精準(zhǔn)度不夠,無(wú)法滿足用戶導(dǎo)航需求[2]。目前谷歌、蘋果、微軟公司推出了ARCore、ARKit、MeshAR等AR開發(fā)平臺(tái),其中的圖像識(shí)別定位都提供了空間導(dǎo)航的解決辦法[3],而國(guó)內(nèi)也出現(xiàn)了優(yōu)秀的EasyAR、百度AR等開發(fā)平臺(tái),2019年滴滴平臺(tái)利用AR技術(shù)在深圳機(jī)場(chǎng)實(shí)現(xiàn)了地圖導(dǎo)航與尋路打車功能[4]。
西安鐘樓集旅游景點(diǎn)、地鐵站、公交樞紐站、大型商場(chǎng)于一體,尤其下沉式盤道無(wú)法辨別方位,為解決這種難題,本文提出基于增強(qiáng)現(xiàn)實(shí)技術(shù)的線上與離線相結(jié)合的導(dǎo)航設(shè)計(jì)研究[5]。宗旨是實(shí)現(xiàn)離線與在線混合式AR導(dǎo)航,通過(guò)3D場(chǎng)景建模、虛擬場(chǎng)景尋路實(shí)現(xiàn)離線狀態(tài)下的地圖尋路,運(yùn)用云計(jì)算、圖像及模型的定位識(shí)別,采用EasyAR稀疏空間地圖技術(shù),實(shí)現(xiàn)在線路線規(guī)劃與指引導(dǎo)航。
軟件整體功能如圖1所示。
圖1:APP整體功能
APP系統(tǒng)架構(gòu)分為數(shù)據(jù)服務(wù)層、應(yīng)用支撐層和業(yè)務(wù)邏輯層,其中場(chǎng)景模型數(shù)據(jù)采用本地?cái)?shù)據(jù)持久化,采集圖像采用EasyAR云存儲(chǔ),商場(chǎng)及景點(diǎn)推送信息采用遠(yuǎn)程服務(wù)器存儲(chǔ),利用web service進(jìn)行更新維護(hù);應(yīng)用支撐層采用Unity3D、EasyAR處理圖像模型和路線規(guī)劃算法實(shí)現(xiàn);業(yè)務(wù)邏輯層實(shí)現(xiàn)目標(biāo)識(shí)別與現(xiàn)實(shí)疊加、場(chǎng)景漫游、路線導(dǎo)引等功能[6]。
本APP開發(fā)主要步驟包括:創(chuàng)建鐘樓盤道模型,模型信息標(biāo)注與地圖烘培,地圖漫游,建立云上地圖,地圖特征點(diǎn)取景,路徑規(guī)劃。
采用3D MAX、Blender等建模工具對(duì)鐘樓地下盤道及周邊進(jìn)行分體建模,繪制貼圖制作材質(zhì),然后將模型保存為.FBX文件導(dǎo)入U(xiǎn)nity3D AR工程項(xiàng)目中。如圖2。
圖2:鐘樓盤道模型
導(dǎo)入U(xiǎn)nity 3D后,對(duì)場(chǎng)景模型進(jìn)行點(diǎn)位標(biāo)注,包括場(chǎng)景路口的公交線路、地下盤道內(nèi)地鐵站、各大商超景點(diǎn)等信息。生成方位坐標(biāo)并與場(chǎng)景進(jìn)行綁定。使用Unity3D地圖烘培生成可走路線及區(qū)域。如圖3。
圖3:鐘樓盤道模型烘焙
Navgation MeshAgent是3D場(chǎng)景中用于實(shí)現(xiàn)動(dòng)態(tài)物體自動(dòng)尋路的一種技術(shù),它將游戲中復(fù)雜的結(jié)構(gòu)組織關(guān)系簡(jiǎn)化為帶有一定信息的網(wǎng)格,在這些網(wǎng)格的基礎(chǔ)上通過(guò)一系列的計(jì)算來(lái)實(shí)現(xiàn)自動(dòng)尋路[7]。設(shè)置離線地圖漫游代理Agent,配置Nav Mesh Agent尋路組件,運(yùn)用BehaviorTree來(lái)實(shí)現(xiàn)尋路行為,完成離線導(dǎo)航漫游。漫游核心代碼如下:
EasyAR 稀疏空間地圖(Sparse Spatial Map)通過(guò)手機(jī)掃描周圍環(huán)境,生成環(huán)境的三維視覺場(chǎng)景地圖,并能實(shí)時(shí)提供視覺定位跟蹤功能。在建圖過(guò)程中,稀疏空間地圖利用相機(jī)圖像和對(duì)應(yīng)位姿構(gòu)建環(huán)境1:1的視覺地圖[8]。定位功能將當(dāng)前相機(jī)圖像和地圖的三維點(diǎn)進(jìn)行視覺匹配并嘗試計(jì)算對(duì)應(yīng)位姿來(lái)恢復(fù)相應(yīng)的位姿。對(duì)環(huán)境特征度低的空間采用特征圖片輔助的方法提供定位與識(shí)別。在特征點(diǎn)之間進(jìn)行路徑的設(shè)置標(biāo)識(shí),并上傳到空間地圖保存。
運(yùn)用Unity跨平臺(tái)部署的優(yōu)勢(shì),將軟件發(fā)成成Android和IOS兩個(gè)版本,操作系統(tǒng)版本配置要兼顧低端型號(hào)手機(jī),以滿足EasyAR稀疏空間地圖要求的搭載運(yùn)動(dòng)圖片捕捉功能的VIO硬件版本為準(zhǔn)。在軟件測(cè)試過(guò)程中發(fā)現(xiàn),存在人流量大影響相機(jī)收集圖片進(jìn)行特征比對(duì)影響定位的問(wèn)題,解決辦法是采用將天花板張貼部分特征圖片進(jìn)行輔助定位,實(shí)現(xiàn)即時(shí)導(dǎo)航。
本文旨在解決傳統(tǒng)地圖導(dǎo)航軟件難以實(shí)現(xiàn)復(fù)雜場(chǎng)景中的即時(shí)引導(dǎo)導(dǎo)航問(wèn)題,提出了運(yùn)用AR增強(qiáng)現(xiàn)實(shí)技術(shù)與離線場(chǎng)景地圖漫游相結(jié)合的解決思路和實(shí)現(xiàn)方案,基于目前4G、5G網(wǎng)絡(luò)環(huán)境,進(jìn)行了聯(lián)網(wǎng)效果測(cè)試,最終完成了鐘樓盤道導(dǎo)航APP的設(shè)計(jì)開發(fā),實(shí)現(xiàn)了AR在復(fù)雜垂直空間進(jìn)行導(dǎo)航定位的應(yīng)用。從實(shí)踐中發(fā)現(xiàn),人們普遍對(duì)此類運(yùn)用新技術(shù)輔助導(dǎo)航比較認(rèn)可和感興趣。筆者以后會(huì)持續(xù)聚焦AR技術(shù)在室內(nèi)導(dǎo)航創(chuàng)新中的應(yīng)用,加強(qiáng)學(xué)習(xí)交流,不斷征求收集改進(jìn)意見,繼續(xù)升級(jí)拓展該APP導(dǎo)航軟件,解決復(fù)雜景點(diǎn)、地鐵站、飛機(jī)場(chǎng)的即時(shí)導(dǎo)航定位問(wèn)題。