邊根慶 田飛騰



摘要:文章借助安卓手機傳感器、位置服務、圖像識別和OpenGL ES等技術,設計并實現(xiàn)一個基于安卓平臺的增強現(xiàn)實導航系統(tǒng),通過增強現(xiàn)實技術實現(xiàn)虛擬導航信息渲染,通過圖片識別技術實現(xiàn)建筑物識別,改善用戶交互體驗。
關鍵詞:增強現(xiàn)實;手機導航;OpenGL ES; ORB算法;圖像識別
隨著社會的不斷進步,人們對導航的需求越來越強烈。目前大多數(shù)智能手機上的導航軟件都是以2D或3D形式提供導航服務,但這些都是通過矢量數(shù)據(jù)來提供地圖導航,沒有充分發(fā)揮智能手機上多傳感器等特性,用戶體驗性差。所有信息都是以屏幕為中心進行展示,沒有與真實世界更好地融合。用戶需要首先判斷手機相對于大地坐標系的方位朝向,然后觀察手機的導航信息,按照手機提示的信息進行導航。這種傳統(tǒng)的方式已經(jīng)不能滿足用戶需求,尤其是被稱為“路癡”的那些用戶。因此,本系統(tǒng)將在手機導航系統(tǒng)中添加更多的路徑參考元素,讓使用的人在行走的同時可以看到增強現(xiàn)實的場景就在眼前,讓原本陌生的街道在打開本系統(tǒng)的時候變得熟悉。
同時,增強現(xiàn)實技術的發(fā)展越來越火熱,在很多領域嶄露頭角。增強現(xiàn)實技術具有很廣闊的適用性,在軍事、旅游、娛樂、醫(yī)療等領域都有很多的應用軟件。隨著移動互聯(lián)網(wǎng)的普及,移動增強現(xiàn)實技術也有了長足的發(fā)展。
因此,本文結(jié)合智能手機內(nèi)置傳感器,基于現(xiàn)有的位置服務、增強現(xiàn)實技術、圖像識別技術,改善現(xiàn)有的導航系統(tǒng),設計和實現(xiàn)了一款基于安卓平臺的增強現(xiàn)實導航系統(tǒng),提供了更好的導航體驗。
1 核心技術研究
本章主要是對增強現(xiàn)實導航系統(tǒng)的兩個核心技術進行研究。針對改善現(xiàn)有導航體驗,提出一種基于傳感器移動增強現(xiàn)實技術的POI展示方法;為實現(xiàn)對建筑物圖像的識別,提出一種基于ORB 算法(Oriented FAST and Rotated Brief)和位置信息的建筑物識別方法。
1.1 一種基于傳感器移動增強現(xiàn)實技術的POI展示方法
本論文研究并提出了一種基于傳感器移動增強現(xiàn)實技術實現(xiàn)的POI展示方法,將通過百度地圖API獲取的周邊POI信息,將POI信息以標簽的形式按照相應的空間位置,渲染到通過手機攝像頭獲取的視頻流上。具體如圖1所示。
該方法解決的是如何實時地計算增強現(xiàn)實圖形在屏幕View坐標系上的位置。具體分為4步:(1)獲取標簽的x軸坐標初始值。(2)獲取標簽的y軸坐標的初始值。(3)根據(jù)手機傾斜角度調(diào)整標簽在兩個坐標軸上的坐標。(4)根據(jù)POI標簽位置優(yōu)化方法確定坐標的最終值。
最終根據(jù)前面的映射關系將POI標簽渲染到通過手機攝像頭獲取的視頻流上,實現(xiàn)虛實融合。當手機傳感器信息發(fā)生變化時,重新計算映射關系,進而重新對標簽進行渲染。
1.2 —種基于ORB算法和位置服務的建筑物識別方法
本文提出建筑物識別是基于特征的圖像識別算法,由于在對建筑物識別的過程中,存在很大的外界干擾,包括視角變化、遮擋以及光照等。而且本文系統(tǒng)是應用在智能手機平臺上,在硬件性能方面有一定的限制,本文最終選取ORB算法作為特征點檢測匹配算法。
由于實際情況下建筑物都是在固定位置擁有位置信息這個屬性,因此可以先獲取用戶的位置信息,并通過位置信息篩選出用戶附近的建筑物,縮小匹配范圍,提高建筑物識別效率。
如圖2所示,建筑物識別方法的步驟如下:
(1)首先通過手機攝像頭獲取到建筑物的圖像,通過OpenCV庫用ORB算法進行特征點提取,獲取目標建筑特征點。
(2)通過手機獲得經(jīng)緯度信息,就據(jù)經(jīng)緯度信息篩選出周圍50 m范圍內(nèi)的建筑物信息,具體思路如圖3所示,首先以經(jīng)緯度信息0(lat,lng)為圓心,以^的半徑計算出一個圓,然后計算出該圓形的正切正方形4個頂點(A,B,C,D)。最后以正方形的4個頂點為篩選條件從數(shù)據(jù)庫中選出符合條件的建筑物。
其正切正方形詳細計算步驟如下:
(3)根據(jù)前面選出符合條件的建筑物,在特征集庫中選出相應特征集,將這些特征集與步驟(1)中獲取的特征點通過漢明距離進行匹配,然后通過RANSAC算法提純,最終選出識別成功的建筑物,并從資源庫中提取相關說明信息。
2 增強顯示導航系統(tǒng)設計
本系統(tǒng)包括3個模塊:POI展示模塊、導航模塊和建筑物識別模塊。下面將分模塊對系統(tǒng)進行設計,并在最后給出系統(tǒng)的運行效果圖。
2.1 POI展示模塊設計
本模塊包括POI標簽顯示、POI搜索篩選和雷達圖顯示。本模塊的核心是POI標簽顯示,為用戶展示周圍的POI信息,包括距離、方位、名稱、POI類型等信息,POI標簽根據(jù)手機朝向和位置信息發(fā)生改變時而改變,以達到增強現(xiàn)實的效果。
2.2 導航模塊設計
本模塊的核心設計是導航路徑數(shù)據(jù)在OpenGL ES的3D坐標系上的映射方法。它給用戶提供了直觀的到達POI的導航路徑圖形,包括實時調(diào)整當前位置與前方路口的距離以及用圖形展示出轉(zhuǎn)彎指示信息。其存在問題是如何直觀地展示導航路徑信息,與POI展示模塊不同,由于本模塊不存在密集和遮擋的問題,因此可以更直觀地展示。
本模塊解決的是如何實時地計算增強現(xiàn)實圖形在OpenGL ES的坐標系上的位置,從而渲染到手機屏幕上的相應位置。通過百度地圖API獲取相應的導航數(shù)據(jù),根據(jù)導航信息生成相應3D指示箭頭,并通過視點變換實時調(diào)整圖形的位置,就能保證較好的增強現(xiàn)實效果。
另外,由于隨著用戶行走過程中位置的不斷變化,手機屏幕上的導航信息也要跟著實時刷新,從而更新導航路徑數(shù)據(jù)在OpenGL ES 3D坐標系上的位置。
2.3 建筑物識別模塊設計
本模塊的核心設計是通過圖像識別技術識別出建筑物,通過手機攝像頭獲取建筑物的圖片,并與數(shù)據(jù)庫中的建筑物特征點集進行匹配,成功后返回相關信息。
本模塊解決的是如何高效準確地識別建筑物。為此,通過手機獲取用戶位置信息進行篩選,建筑物識別時只匹配用戶周邊的建筑物,縮小了匹配范圍,極大地提高識別效率和準確度。
2.4 增強顯示導航系統(tǒng)展示
打開導航系統(tǒng),首先,進入POI展示界面如圖4(a)所示。點擊底部菜單欄上的導航按鈕即可進入導航模塊界面,圖4(b)為實景導航效果圖。點擊菜單欄上的建筑物識別按鈕,即可進入建筑物識別模塊如圖4(c)所示,點擊識別按鈕即可進行建筑物識別。
3 結(jié)語
伴隨著社會的發(fā)展,人們對導航的需求越來越強烈。本文設計一種增強現(xiàn)實導航系統(tǒng),該系統(tǒng)采用基于傳感器的增強現(xiàn)實技術,借助手機的方向傳感器和磁力計、百度定位和導航SDK提供的位置信息,并在OpenGL ES 3D渲染技術和圖像識別技術的基礎上實現(xiàn)了增強現(xiàn)實導航的效果,并加入了建筑物識別模塊,在Android手機上實現(xiàn)了更直觀的導航表現(xiàn)。
[參考文獻]
[1]鄭菲菲,宋麗紅,董靜.基于增強現(xiàn)實技術的導航系統(tǒng)研究[J].軟件導刊,2016(9):57-59.
[2]EIVIND G.Augmented reality and object tracking for mobile devices[D].Norway:Norwegian University, 2012.
[3]雷正龍.基于Android的增強現(xiàn)實技術在旅游體驗中的應用研究[D].北京:北京工業(yè)大學,2015.
[4]KAHARI M, MURPHY D J.Mara:sensor based augmented reality system for mobile imaging device[C].Nantes:The 5th IEEE andACM International Symposyum on Mixed and Augmented Reality, 2006.
[5]RUBLEE E, RABAUD V, KONOLIGE K, et al.ORB:an efficient alternative to SIFT orSURF[C].Washington:IEEE InternationalConference on Computer Version(ICCV), 2011:2564-2571.
[6]GOODSTEIN L.Location based service:analysis of carrier spending, subscribers, devices and applications for handset-based andtelematics services[J].ABI Research, 2004(5):15-19.
[7]舒麗霞,周成平,彭曉明,等.基于Hausdorff距離圖象配準方法研究[J].中國圖象圖形學報,2005(12):1412-1417.
[8]VIOLA P, WELLS III W MAlignment by maximization of mutual information[J].International Journal of Computer Vision, 1997(2):137-154.
[9]王亞美,魯田.基于OpenGLES的二三維地圖可視化客戶端設計與實現(xiàn)[J].計算機應用與軟件,2013(9):77-80.