方錦浩?韓旭龍?盧一凡?梁毅強
摘要:本文首先對比了選取的ORB-SLAM算法與其余AR效果算法,總結(jié)了其優(yōu)勢和缺點;簡述了項目實現(xiàn)所用到的關(guān)鍵技術(shù),即在ORB-SLAM2下運行ros例程,并在其上疊加虛擬物體;同時將目前已有的地下管道實時顯示成果中使用SLAM算法的與使用ARToolkit工具做對比,說明SLAM算法更適用于本項目的戶外環(huán)境。
關(guān)鍵詞:增強現(xiàn)實;ORB-SLAM
引言:
增強現(xiàn)實技術(shù)(AR),也被稱為混合現(xiàn)實技術(shù)。它通過計算機程序,將真實的環(huán)境和虛擬的信息實時地疊加,在同一個畫面或空間同時存在。增強現(xiàn)實技術(shù)可以提供超過人類感知的信息,將現(xiàn)實世界信息與虛擬信息相互補充、相互疊加[1]。ORB-SLAM是2015年出的比較完整的基于關(guān)鍵幀的單目SLAM算法,其定位精確度很高,且可以實時運行[2],其最大的優(yōu)點是計算速度快,但構(gòu)建的特征點云圖相對稀疏。
本論文主要針對地下管線的虛擬增強現(xiàn)實監(jiān)控技術(shù)的實現(xiàn)討論ORB-SLAM在AR領(lǐng)域的優(yōu)勢。該技術(shù)是一種將管道信息和真實環(huán)境融合到同一個屏幕空間的實時顯示技術(shù)。其需要研究的核心問題是如何準(zhǔn)確的將管道信息和真實環(huán)境融合以及如何實現(xiàn)增強現(xiàn)實管道圖像疊加的實時性。
一、AR底層算法選取。
首先在AR效果實現(xiàn)算法的選取上,現(xiàn)有的技術(shù)有使用ARToolkit的AR工具包、使用OpenCV和c++結(jié)合、利用python的BAR4Py框架實現(xiàn)或使用我們項目中使用的SLAM算法。接下來我們就這幾種實現(xiàn)方式做討論。
(一)ARToolKit與ORB-SLAM對比
ARtoolkit的實現(xiàn)步驟是:程序初始化----抓取一幀進行視頻的輸入----然后探測標(biāo)示卡----計算攝像頭的轉(zhuǎn)移矩陣----繪制虛擬物體----關(guān)閉視頻捕捉[8]。首先在平臺的選取方面,ARToolKit擁有方便快捷,支持面廣,可以提供的快速和準(zhǔn)確的標(biāo)記跟蹤等優(yōu)點,但是ARToolKit是基于計算機視覺的注冊方式,依賴于形狀規(guī)則的標(biāo)志物,在復(fù)雜環(huán)境下很難適應(yīng)[3],不適合直接應(yīng)用于戶外增強系統(tǒng)的開發(fā),需要做進一步的改進,所以需要與GPS RTK和INS結(jié)合合進行精確定位,保證一定的定位精度[5]。
ORB-SLAM算法中特征的提取與匹配、稀疏地圖的創(chuàng)建、位置識別都是基于ORB特征,屬于無標(biāo)志的三維注冊,其定位精確度很高,且可以實時運行[6],相對于ARToolKit可以更好的適應(yīng)戶外檢測管道的實際情況。
(二)OpenCV和c++結(jié)合與ORB-SLAM對比
據(jù)了解,一些項目通過OpenCV實現(xiàn)對圖像中的Marker(特定標(biāo)識)的識別和定位,然后通過OpenGL將虛擬物體疊加到攝像頭圖像下,實現(xiàn)增強現(xiàn)實。實際上這種Marker的選取很大程度上類似與SLAM中特征點的選取,其過程都是先轉(zhuǎn)化成灰度圖在對現(xiàn)有圖像進行掃描滿足條件則選為特征點。在我們查閱到的相關(guān)項目中,在計算特征點后還需要利用C++算法提取Marker的輪廓并二值化,再計算攝像機位置,最后利用復(fù)雜的矩陣算法計算物體投影姿態(tài),利用OpenGL將虛擬物體投影在Marker上。
這無疑增加了巨大的代碼工作量,其算法的快速性也有待提高,不足以成該項目要求的實時顯示。這再次體現(xiàn)了稀疏點云圖創(chuàng)建的ORB-SLAM算法快速、實時的優(yōu)點。同時ORB-SLAM中可以調(diào)用pangolin庫在攝像頭畫面上疊加虛擬物體,直接調(diào)用封裝好的函數(shù)也可以提高該項目的工作效率。
(三)python的BAR4Py框架與ORB-SLAM對比
用Python來實現(xiàn)AR效果,首先需要運用到兩個工具包----PyGame與PyOpenGL。PyGame是非常流行的游戲開發(fā)工具包,它可以非常簡單的處理顯示窗口,輸入設(shè)備,事件以及其他內(nèi)容。PyOpenGL是OpenGL圖形編程的Python綁定接口。在實現(xiàn)的過程中,我們需要獲取照相機矩陣并轉(zhuǎn)換到OpenGL格式,并以平面和標(biāo)記物進行姿態(tài)估計,然后在圖像中放置虛擬物體。但是這種實現(xiàn)方法對于這個項目來說,同OpenCV和c++結(jié)合一樣有增加大量代碼工作量的缺點。
二、實現(xiàn)實時提取特征點的方法
本項目使用ORB-SLAM系統(tǒng)是基于ROS運行的。我們之前的檢測特征點的方式是將視頻裁剪成的圖片集載入,通過FAST特征點檢測法逐幀解算獲取圖像的特征點,從而獲得攝像頭的初始姿態(tài),在初始化完成之后,根據(jù)后續(xù)圖片的特征信息一方面進行姿態(tài)優(yōu)化,并不是實時的運行方式。
在項目的實現(xiàn)中,為了實現(xiàn)實時提取特征點,若采用ORB-SLAM與ROS Kinect結(jié)合的方法,雖然在調(diào)用攝像頭初始化的過程中需要一點時間,但在初始化調(diào)用SLAM后具有跟蹤特征點的效果,并將生成的特征點疊加在圖像上。我們,利用pangolin代碼在例程運行時,將一個可變化位置的三維物體疊加在攝像頭的畫面上,并可以使用圖形界面的按鈕改變?nèi)S物體的大小和位置。這樣的提取特征點的方法與我們項目之前使用的調(diào)用圖片集的方式相比更具有實時性。
三、地下管道實時顯示成果對比分析
據(jù)了解,現(xiàn)如今對于地下管道的實時顯示的研究成果仍然較少,做出完整的成果更是屈指可數(shù),所以本項目的研究具有一定開拓性與創(chuàng)新性,同時城市地下管道是城市的重要基礎(chǔ)設(shè)施,它的安全運行是現(xiàn)代化城市高效率、高質(zhì)量運轉(zhuǎn)的保證。目前實現(xiàn)地下管道信息的增強現(xiàn)實技術(shù)主要有以下兩種方法:(一)利用ARToolKit作為編寫增強現(xiàn)實應(yīng)用程序的工具,結(jié)合GPS RTK和INS實現(xiàn)城市地下管道的三維可視化。(二)將AR技術(shù)與GIS技術(shù)結(jié)合將傳統(tǒng)的靜態(tài)的人機交互轉(zhuǎn)變?yōu)閼敉獾膭討B(tài)的交互,用AR建立的虛擬世界與客觀真實世界合二為一[4],用于適應(yīng)戶外復(fù)雜的環(huán)境的情況。在利用ORB算法進行特征點選取等一系列工作。
我們在前文指出了ORB-SLAM相對于ARToolKit的優(yōu)點,但ORB_SLAM構(gòu)建的點云圖比較稀疏,不能直觀的看出構(gòu)建的三維地圖形狀。點云圖是實際圖像的抽象提取,雖然并不直觀,但是卻已足夠用來進行管道匹配。而且點云圖在最終成果中并不直接展示,最終顯示畫面會是實際圖像和三維管道的疊加。所以這不影響此項目的運行效果。
參考文獻:
[1]朱淼良,姚遠,蔣云良.增強現(xiàn)實綜述[J].中國圖象圖形學(xué)報,2004,9(7):767-774.
[2]權(quán)美香,樸松昊,李國.視覺SLAM綜述[J].智能系統(tǒng)學(xué)報,2016,11(6):768-776. DOI:10.11992/tis.201607026.
[3]常勇,何宗宜.基于ARToolKit的地下管網(wǎng)增強現(xiàn)實系統(tǒng)研究[J].計算機工程與應(yīng)用,2005(29):196-199.
[4]王涌天,劉越,胡曉明.戶外增強現(xiàn)實系統(tǒng)關(guān)鍵技術(shù)及其應(yīng)用的研究[J].系統(tǒng)仿真學(xué)報,2003(03):329-333+337.
[5]王珂.增強現(xiàn)實技術(shù)的發(fā)展?fàn)顩r及其在地下傳輸管網(wǎng)上的應(yīng)用[J].中國管理信息化,2016,19(20):62-63.
[6]郝東升.移動終端地下管線透視探查系統(tǒng)[D].中國海洋大學(xué),2015.
作者簡介:
方錦浩(1998-11-),男,漢族,重慶涪陵人,本科,研究方向:計算機視覺。
作者單位:東南大學(xué)