李 樂 閆興亞 范 瑤
(西安郵電大學(xué)計算機(jī)學(xué)院 西安 710061)
一種基于SLAM的增強(qiáng)現(xiàn)實跟蹤注冊方法?
李 樂 閆興亞 范 瑤
(西安郵電大學(xué)計算機(jī)學(xué)院 西安 710061)
針對傳統(tǒng)的基于標(biāo)志物的增強(qiáng)現(xiàn)實跟蹤注冊方法存在使用場景受限制的問題,論文研究基于無標(biāo)志物的增強(qiáng)現(xiàn)實跟蹤注冊算法。使用SLAM實現(xiàn)地圖構(gòu)建與定位,再利用ORB算法采集實時環(huán)境特征點,并將特定幀的特征點與地圖庫中采集到的特征點進(jìn)行匹配,完成攝像機(jī)的位姿更新,實現(xiàn)對虛擬物體的注冊。結(jié)果表明,該研究能夠?qū)崿F(xiàn)增強(qiáng)現(xiàn)實效果,擴(kuò)展了增強(qiáng)現(xiàn)實技術(shù)的可使用范圍。
增強(qiáng)現(xiàn)實;SLAM;ORB算法;跟蹤注冊
增強(qiáng)現(xiàn)實(Augmented Reality,AR)作為一門新興技術(shù),可將計算機(jī)生成的二維或三維虛擬物體與真實場景實時疊加;并利用交互技術(shù)實現(xiàn)真實場景與虛擬物體之間的互動,從視聽感覺上給人帶來超越現(xiàn)實的體驗[1]。
目前,實現(xiàn)增強(qiáng)現(xiàn)實效果主要是利用基于標(biāo)志物的跟蹤注冊算法,該方法在實際使用時必須在現(xiàn)實場景中添加人工標(biāo)志物作標(biāo)記點,否則不能實現(xiàn)增強(qiáng)現(xiàn)實效果,因此導(dǎo)致在較大或環(huán)境數(shù)據(jù)不斷更新的場景中出現(xiàn)使用困難等問題。為進(jìn)一步擴(kuò)大增強(qiáng)現(xiàn)實技術(shù)的使用場景,本文研究了SLAM技術(shù),并在此技術(shù)上提出一種基于無標(biāo)志物的增強(qiáng)現(xiàn)實跟蹤注冊方法。
SLAM(Simultaneous Localization and Mapping,即時定位與地圖構(gòu)建)[2]技術(shù)是指物體在未知環(huán)境中運動,通過使用傳感器(如攝像機(jī))獲取現(xiàn)實環(huán)境的特征信息,在運動過程中構(gòu)建與現(xiàn)實環(huán)境相一致的地圖;并利用所構(gòu)建的地圖對物體的位置和姿態(tài)數(shù)據(jù)進(jìn)行實時計算更新。
目前,在計算機(jī)領(lǐng)域內(nèi)廣泛應(yīng)用的是基于擴(kuò)展卡爾曼濾波的 SLAM(EKF-SLAM)[3],該方法的優(yōu)點在于能夠去除一組物體中的噪聲,準(zhǔn)確地計算出目標(biāo)物體在環(huán)境中的移動速度和坐標(biāo)位置。因此,本文選擇使用基于擴(kuò)展卡爾曼濾波器的SLAM系統(tǒng)。在SLAM中,一方面為實現(xiàn)精確定位,傳感器需要根據(jù)位置相對確定的環(huán)境特征不斷更新自身位置參數(shù),另一方面為確定自身的精確位置,就必須獲得環(huán)境特征點的實時位置,這兩者是互為前提[4]。因此,實現(xiàn)SLAM系統(tǒng),就需要解決定位和地圖構(gòu)建兩個關(guān)鍵性問題。
解決定位問題是依賴設(shè)備本身攜帶的傳感器在估算自身運動狀態(tài)的同時,對現(xiàn)實環(huán)境進(jìn)行感知,將傳感器獲得的信息進(jìn)行檢測分析,提取出環(huán)境特征數(shù)據(jù)并保存,然后與傳感器實時獲取的環(huán)境特征進(jìn)行比較,實現(xiàn)對自身位置信息的更新。因為定位精度直接決定了后續(xù)建圖的精度和準(zhǔn)確性[5],所以本研究使用ORB算法進(jìn)行環(huán)境特征點的提取。
解決地圖構(gòu)建問題是采用基于文獻(xiàn)[6]提出的EKF-SLAM框架來實現(xiàn),在此系統(tǒng)中,通過獲取攝像機(jī)所探測到的環(huán)境物體的分布情況,以便系統(tǒng)存儲、獲取環(huán)境信息,進(jìn)行路徑規(guī)劃等。本文采用文獻(xiàn)[7]提出的特征點描述地圖表示物體在移動過程中獲取到的環(huán)境特征,并使用三維坐標(biāo)表示環(huán)境特征點信息:
上式中,(xi,yi,zi)T表示環(huán)境特征信息,N 是物體在移動過程中檢測到的環(huán)境特征點的數(shù)目,則SLAM系統(tǒng)中的狀態(tài)向量可表示為:
系統(tǒng)狀態(tài)的協(xié)方差矩陣:
上式中,p表示系統(tǒng)誤差,pxcxc表示攝像機(jī)的自身誤差。
運動物體的位姿狀態(tài)用t時刻的位姿加上?t時間后物體產(chǎn)生的新位移來描述。因此,先要獲得運動物體的線速度和角速度。假設(shè)物體的線速度和角速度恒定,則加速度可描述為?t時間內(nèi)的速度的變化率,且滿足均值為零的高斯分布的噪聲,線速度和角速度分別表示如下:
運動物體在t+1時刻的位姿表示如下,即:
同理,物體在t+1的角速度可表示為t時刻的角速度加上?t時間的角速度變化量,即:
因此,可建立物體的運動模型,即:
上式中,[nvnw]表示過程噪聲。
在構(gòu)建地圖的過程中,首先是利用上文中建立的運動模型預(yù)測下一時刻物體的運動狀態(tài),實現(xiàn)系統(tǒng)狀態(tài)的預(yù)先估計;第二步是對物體自身傳感器(如攝像機(jī))實時采集的圖片進(jìn)行計算分析,完成環(huán)境特征點信息的檢測。因此,提取到的特征點信息值的優(yōu)劣直接決定了SLAM算法的運行結(jié)果。所以,環(huán)境特征點不僅應(yīng)該滿足易于提取和匹配,還要有利于數(shù)據(jù)的融合。
上文提到,環(huán)境特征點的選取對于SLAM的定位和建圖極為重要。因此,本文選擇使用ORB(ori?ented FAST(features from accelerated segment test)and BRIE(binary robust independent elementary fea?tures))[8]算法,該算法是由 Rublee等在 2011 年提出,它具有速度快、精度高等優(yōu)越性,能夠滿足本研究的要求。該方法是在 FAST[9]特征檢測和BRIEF[10]描述子上的基礎(chǔ)上進(jìn)行研究的。
在ORB算法中使用FAST作為特征點檢測算子,在該算法中為提高FAST算子的精確度,引入灰度質(zhì)心概念。借助文獻(xiàn)[11]中的描述,通過定義圖像中的任意一小塊區(qū)域的領(lǐng)域矩獲得主方向,領(lǐng)域矩可表示為:
特征點所在的小塊區(qū)域的質(zhì)心坐標(biāo)為:
BRIEF算子不具備旋轉(zhuǎn)不變性,因此本研究將rBRIEF作為ORB算法中的特征點描述子。其本質(zhì)是在特征點周圍選取指定數(shù)量的像素點,例如在30×30像素塊中選取5×5個子像素塊,通過比較其灰度值,組合編碼成以二進(jìn)制為存在形式的特征點描述子,得到二進(jìn)制串。假設(shè)經(jīng)過高斯平滑處理后的圖像塊P(s×s)的描述子分段函數(shù)τ為:
其中 p(x)是領(lǐng)域內(nèi)x處的灰度函數(shù)。選擇m個(xi,yi)位置對就直接決定了描述子是m維的二進(jìn)制比特串:
在本研究中,為達(dá)到虛擬物體與真實環(huán)境相融合的效果,需利用ORB算法檢測出兩個圖像塊中的特征點和特征描述子后,通過漢明距離對采集到的特征點進(jìn)行匹配。從描述子中提取任意Q1、Q2兩個描述子:
ORB算法使用通過漢明距離之間的位運算得到的D(Q1,Q2)判定描述子的相似程度:
D(Q1,Q2)值越小表示相似程度越高,反之,表示相似程度低。當(dāng)相似程度達(dá)到系統(tǒng)設(shè)定要求后,表示特征點匹配成功,反之,則匹配失敗。
實現(xiàn)基于SLAM的增強(qiáng)現(xiàn)實跟蹤注冊方法主要有兩個環(huán)節(jié):地圖重建;跟蹤注冊。其實現(xiàn)的主要步驟為:首先是初始化系統(tǒng),完成初始化地圖的構(gòu)建;接著是對物體在移動過程中獲取到的環(huán)境特征點實時跟蹤,進(jìn)行位姿估計,在物體運動的過程中,通過傳感器對新的環(huán)境特征點進(jìn)行檢測分析,實時更新位姿及地圖數(shù)據(jù);同時,在位姿更新過程中,插入關(guān)鍵幀,將關(guān)鍵幀的特征點信息與實時提取的環(huán)境特征點信息進(jìn)行匹配,若匹配成功,則對虛擬物體進(jìn)行渲染注冊。其主要算法流程如下圖1所示。
圖1 算法流程圖
本研究的軟件平臺搭建在windows 7操作系統(tǒng)下,利用Open CV實現(xiàn);硬件設(shè)備包括一臺CPU主頻為3.1GHz、內(nèi)存為16GB、顯卡為NVIDIA Quadro K4000的HP臺式機(jī)以及一個普通的30f/s的USB攝像頭,實驗地點為教學(xué)樓實驗室。并在系統(tǒng)運行過程中,進(jìn)行了光照變化、移動速度變化等不同條件下的實驗,實驗效果良好。如圖2所示,黃色點表示分布環(huán)境特征點;圖2中a區(qū)和b區(qū)是攝像機(jī)在勻速移動過程中的環(huán)境點效果,c區(qū)和d區(qū)是攝像機(jī)由遠(yuǎn)到近視角變化的環(huán)境特征點檢測效果,e區(qū)是相機(jī)抖動過程中的檢測效果:
圖2 環(huán)境檢測效果圖
圖3 是增強(qiáng)現(xiàn)實跟蹤注冊效果對比圖,其中f區(qū)是基于標(biāo)志物的增強(qiáng)現(xiàn)實效果圖,g區(qū)本研究的增強(qiáng)現(xiàn)實效果圖,對比結(jié)果表明,本研究在實際使用時能夠?qū)崿F(xiàn)基于無標(biāo)志物的增強(qiáng)現(xiàn)實效果,具有良好的穩(wěn)定性,達(dá)到實時跟蹤注冊要求。
圖3 跟蹤注冊效果對比圖
針對當(dāng)前普遍存在的增強(qiáng)現(xiàn)實使用場景受限制的問題,本研究在EKF-SLAM的基礎(chǔ)上結(jié)合ORB算法,討論了一種基于SLAM的跟蹤注冊方法。在地圖構(gòu)建的過程中,使用ORB算法進(jìn)行環(huán)境特征的提取,使物體在現(xiàn)實場景內(nèi)位姿計算與實時更新時,與關(guān)鍵幀的特征點信息進(jìn)行比對,實現(xiàn)跟蹤注冊,完成虛擬物體與現(xiàn)實環(huán)境的融合。該實驗結(jié)果表明,本研究提出的跟蹤注冊方法能夠解決使用場景受限的問題;并且能夠克服相機(jī)移動速度變化、抖動等問題,魯棒性較高,可以滿足現(xiàn)實場景的使用。
[1]http://en.wikipedia.org/wiki/Augmented_reality.2013.
[2]鄒承明,宋平麗,陸苑,等.基于SLAM的虛實配準(zhǔn)方法研究[J].計算機(jī)與數(shù)字工程,2010,38(1):129-134.ZOU Chengming,SONG Pingli,LU Yuan,et al.Research on Registration Method Based on SLAM[J].Computer&Digital Engineering,2010,38(1):129-134.
[3]Civera J,Davision A J,Montiel J M M.In Verse Depth Pa?rameterization for Monocular SLAM[J].IEEE Transac?tions on Robotics,2008,24(5):932-945.
[4]康葉偉,黃亞樓,孫鳳池,等.一種基于RBUKF濾波器的SLAM算法[J].計算機(jī)工程,2008,34(1):17-19.KANG Yewei,HUANG Yalou,SUN Fengchi,et al.Algo?rithm of SLAM Based on RBUKF[J].Computer Engineer?ing,2008,34(1):17-19.
[5]季秀才,鄭志強(qiáng),張輝.SLAM問題中機(jī)器人定位誤差分析與控制[J].自動化學(xué)報,2008,34(3):323-330.JI Xiucai,ZHENG Zhiqiang,ZHANG Hui.Analysis and Control of Robot Position Error in SLAM[J].ACTA Auto?matica Sinica,2008,34(3):323-330.
[6]Davison A J,Reid I D,Molton N,et al.MonoSLAM:re?al-time single camera SLAM[J].Proceedings IEEE Trans?actions on Pattern Analysisand Machine Intelligence,2007,20(6):1052-1067.
[7]夏文玲.基于Kinect與單目視覺SLAM的實時三維重建算法的實現(xiàn)[D].長沙:湖南大學(xué),2013.XIA Wenling.Real-time 3-D Reconstruction Algorithm Based on The Kinect and MonoSLAM[D].Changsha:Hu?nan University,2013.
[8]Rublee E,Rabaud V,Konolige K,et al.ORB:an efficient alternative to SIFT or SURF[J].Proceedings of IEEE In?ternational Conference on Computer Vision,Barcelona,Spain,2011:2564-2571.
[9] ROSTEN E,DRUMMOND T.Machine learning for high-speed corner detection[C]//European Conference on Computer Vision,2006:430-443.
[10]CALONDER M,LEPETIT V,F(xiàn)U A P.Brief:binary ro?bust independent elementary features[C]//European Con?ference on Computer Vision,2010:778-792.
[11]REN J,ZHOU Y,YU Y,et al.Real-time augmented real?ity based on ORB[J].Application Research of Compul?ers,2012,29(9):3594-3596.
An Augmented Reality Tracking Registration Method Based on SLAM
LI LeYAN Xingya FAN Yao
(School of Computing,Xi'an University of Posts&Telecommunications,Xi'an 710061)
Traditional marker based augmented reality tracking method is used to limit the usage of the scene,so this paper studies the algorithm of augmented reality tracking registration based on the.The use of SLAM to achieve localization and map build?ing,and environment feature to capture real-time environment using the ORB algorithm,minutiae specific frame and map base in the pose of the camera is updated to complete the registration of virtual objects.The results show that the research can realize the augmented reality effect,and expand the scope of application of augmented reality technology.
augmented reality,SLAM,ORB algorithm,method of tracking registration
Class Number TP3-0
TP3-0
10.3969/j.issn.1672-9722.2017.12.030
2017年6月23日,
2017年7月19日
李樂,男,碩士研究生,研究方向:增強(qiáng)現(xiàn)實技術(shù)。閆光亞,男,碩士生導(dǎo)師,副教授,研究方向:增強(qiáng)現(xiàn)實技術(shù)。范瑤,女,碩士研究生,研究方向:增強(qiáng)現(xiàn)實技術(shù)。