李 樂 閆興亞 范 瑤
(西安郵電大學(xué)計(jì)算機(jī)學(xué)院 西安 710061)
一種基于SLAM的增強(qiáng)現(xiàn)實(shí)跟蹤注冊方法?
李 樂 閆興亞 范 瑤
(西安郵電大學(xué)計(jì)算機(jī)學(xué)院 西安 710061)
針對(duì)傳統(tǒng)的基于標(biāo)志物的增強(qiáng)現(xiàn)實(shí)跟蹤注冊方法存在使用場景受限制的問題,論文研究基于無標(biāo)志物的增強(qiáng)現(xiàn)實(shí)跟蹤注冊算法。使用SLAM實(shí)現(xiàn)地圖構(gòu)建與定位,再利用ORB算法采集實(shí)時(shí)環(huán)境特征點(diǎn),并將特定幀的特征點(diǎn)與地圖庫中采集到的特征點(diǎn)進(jìn)行匹配,完成攝像機(jī)的位姿更新,實(shí)現(xiàn)對(duì)虛擬物體的注冊。結(jié)果表明,該研究能夠?qū)崿F(xiàn)增強(qiáng)現(xiàn)實(shí)效果,擴(kuò)展了增強(qiáng)現(xiàn)實(shí)技術(shù)的可使用范圍。
增強(qiáng)現(xiàn)實(shí);SLAM;ORB算法;跟蹤注冊
增強(qiáng)現(xiàn)實(shí)(Augmented Reality,AR)作為一門新興技術(shù),可將計(jì)算機(jī)生成的二維或三維虛擬物體與真實(shí)場景實(shí)時(shí)疊加;并利用交互技術(shù)實(shí)現(xiàn)真實(shí)場景與虛擬物體之間的互動(dòng),從視聽感覺上給人帶來超越現(xiàn)實(shí)的體驗(yàn)[1]。
目前,實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)效果主要是利用基于標(biāo)志物的跟蹤注冊算法,該方法在實(shí)際使用時(shí)必須在現(xiàn)實(shí)場景中添加人工標(biāo)志物作標(biāo)記點(diǎn),否則不能實(shí)現(xiàn)增強(qiáng)現(xiàn)實(shí)效果,因此導(dǎo)致在較大或環(huán)境數(shù)據(jù)不斷更新的場景中出現(xiàn)使用困難等問題。為進(jìn)一步擴(kuò)大增強(qiáng)現(xiàn)實(shí)技術(shù)的使用場景,本文研究了SLAM技術(shù),并在此技術(shù)上提出一種基于無標(biāo)志物的增強(qiáng)現(xiàn)實(shí)跟蹤注冊方法。
SLAM(Simultaneous Localization and Mapping,即時(shí)定位與地圖構(gòu)建)[2]技術(shù)是指物體在未知環(huán)境中運(yùn)動(dòng),通過使用傳感器(如攝像機(jī))獲取現(xiàn)實(shí)環(huán)境的特征信息,在運(yùn)動(dòng)過程中構(gòu)建與現(xiàn)實(shí)環(huán)境相一致的地圖;并利用所構(gòu)建的地圖對(duì)物體的位置和姿態(tài)數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算更新。
目前,在計(jì)算機(jī)領(lǐng)域內(nèi)廣泛應(yīng)用的是基于擴(kuò)展卡爾曼濾波的 SLAM(EKF-SLAM)[3],該方法的優(yōu)點(diǎn)在于能夠去除一組物體中的噪聲,準(zhǔn)確地計(jì)算出目標(biāo)物體在環(huán)境中的移動(dòng)速度和坐標(biāo)位置。因此,本文選擇使用基于擴(kuò)展卡爾曼濾波器的SLAM系統(tǒng)。在SLAM中,一方面為實(shí)現(xiàn)精確定位,傳感器需要根據(jù)位置相對(duì)確定的環(huán)境特征不斷更新自身位置參數(shù),另一方面為確定自身的精確位置,就必須獲得環(huán)境特征點(diǎn)的實(shí)時(shí)位置,這兩者是互為前提[4]。因此,實(shí)現(xiàn)SLAM系統(tǒng),就需要解決定位和地圖構(gòu)建兩個(gè)關(guān)鍵性問題。
解決定位問題是依賴設(shè)備本身攜帶的傳感器在估算自身運(yùn)動(dòng)狀態(tài)的同時(shí),對(duì)現(xiàn)實(shí)環(huán)境進(jìn)行感知,將傳感器獲得的信息進(jìn)行檢測分析,提取出環(huán)境特征數(shù)據(jù)并保存,然后與傳感器實(shí)時(shí)獲取的環(huán)境特征進(jìn)行比較,實(shí)現(xiàn)對(duì)自身位置信息的更新。因?yàn)槎ㄎ痪戎苯記Q定了后續(xù)建圖的精度和準(zhǔn)確性[5],所以本研究使用ORB算法進(jìn)行環(huán)境特征點(diǎn)的提取。
解決地圖構(gòu)建問題是采用基于文獻(xiàn)[6]提出的EKF-SLAM框架來實(shí)現(xiàn),在此系統(tǒng)中,通過獲取攝像機(jī)所探測到的環(huán)境物體的分布情況,以便系統(tǒng)存儲(chǔ)、獲取環(huán)境信息,進(jìn)行路徑規(guī)劃等。本文采用文獻(xiàn)[7]提出的特征點(diǎn)描述地圖表示物體在移動(dòng)過程中獲取到的環(huán)境特征,并使用三維坐標(biāo)表示環(huán)境特征點(diǎn)信息:
上式中,(xi,yi,zi)T表示環(huán)境特征信息,N 是物體在移動(dòng)過程中檢測到的環(huán)境特征點(diǎn)的數(shù)目,則SLAM系統(tǒng)中的狀態(tài)向量可表示為:
系統(tǒng)狀態(tài)的協(xié)方差矩陣:
上式中,p表示系統(tǒng)誤差,pxcxc表示攝像機(jī)的自身誤差。
運(yùn)動(dòng)物體的位姿狀態(tài)用t時(shí)刻的位姿加上?t時(shí)間后物體產(chǎn)生的新位移來描述。因此,先要獲得運(yùn)動(dòng)物體的線速度和角速度。假設(shè)物體的線速度和角速度恒定,則加速度可描述為?t時(shí)間內(nèi)的速度的變化率,且滿足均值為零的高斯分布的噪聲,線速度和角速度分別表示如下:
運(yùn)動(dòng)物體在t+1時(shí)刻的位姿表示如下,即:
同理,物體在t+1的角速度可表示為t時(shí)刻的角速度加上?t時(shí)間的角速度變化量,即:
因此,可建立物體的運(yùn)動(dòng)模型,即:
上式中,[nvnw]表示過程噪聲。
在構(gòu)建地圖的過程中,首先是利用上文中建立的運(yùn)動(dòng)模型預(yù)測下一時(shí)刻物體的運(yùn)動(dòng)狀態(tài),實(shí)現(xiàn)系統(tǒng)狀態(tài)的預(yù)先估計(jì);第二步是對(duì)物體自身傳感器(如攝像機(jī))實(shí)時(shí)采集的圖片進(jìn)行計(jì)算分析,完成環(huán)境特征點(diǎn)信息的檢測。因此,提取到的特征點(diǎn)信息值的優(yōu)劣直接決定了SLAM算法的運(yùn)行結(jié)果。所以,環(huán)境特征點(diǎn)不僅應(yīng)該滿足易于提取和匹配,還要有利于數(shù)據(jù)的融合。
上文提到,環(huán)境特征點(diǎn)的選取對(duì)于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作為特征點(diǎn)檢測算子,在該算法中為提高FAST算子的精確度,引入灰度質(zhì)心概念。借助文獻(xiàn)[11]中的描述,通過定義圖像中的任意一小塊區(qū)域的領(lǐng)域矩獲得主方向,領(lǐng)域矩可表示為:
特征點(diǎn)所在的小塊區(qū)域的質(zhì)心坐標(biāo)為:
BRIEF算子不具備旋轉(zhuǎn)不變性,因此本研究將rBRIEF作為ORB算法中的特征點(diǎn)描述子。其本質(zhì)是在特征點(diǎn)周圍選取指定數(shù)量的像素點(diǎn),例如在30×30像素塊中選取5×5個(gè)子像素塊,通過比較其灰度值,組合編碼成以二進(jìn)制為存在形式的特征點(diǎn)描述子,得到二進(jìn)制串。假設(shè)經(jīng)過高斯平滑處理后的圖像塊P(s×s)的描述子分段函數(shù)τ為:
其中 p(x)是領(lǐng)域內(nèi)x處的灰度函數(shù)。選擇m個(gè)(xi,yi)位置對(duì)就直接決定了描述子是m維的二進(jìn)制比特串:
在本研究中,為達(dá)到虛擬物體與真實(shí)環(huán)境相融合的效果,需利用ORB算法檢測出兩個(gè)圖像塊中的特征點(diǎn)和特征描述子后,通過漢明距離對(duì)采集到的特征點(diǎn)進(jìn)行匹配。從描述子中提取任意Q1、Q2兩個(gè)描述子:
ORB算法使用通過漢明距離之間的位運(yùn)算得到的D(Q1,Q2)判定描述子的相似程度:
D(Q1,Q2)值越小表示相似程度越高,反之,表示相似程度低。當(dāng)相似程度達(dá)到系統(tǒng)設(shè)定要求后,表示特征點(diǎn)匹配成功,反之,則匹配失敗。
實(shí)現(xiàn)基于SLAM的增強(qiáng)現(xiàn)實(shí)跟蹤注冊方法主要有兩個(gè)環(huán)節(jié):地圖重建;跟蹤注冊。其實(shí)現(xiàn)的主要步驟為:首先是初始化系統(tǒng),完成初始化地圖的構(gòu)建;接著是對(duì)物體在移動(dòng)過程中獲取到的環(huán)境特征點(diǎn)實(shí)時(shí)跟蹤,進(jìn)行位姿估計(jì),在物體運(yùn)動(dòng)的過程中,通過傳感器對(duì)新的環(huán)境特征點(diǎn)進(jìn)行檢測分析,實(shí)時(shí)更新位姿及地圖數(shù)據(jù);同時(shí),在位姿更新過程中,插入關(guān)鍵幀,將關(guān)鍵幀的特征點(diǎn)信息與實(shí)時(shí)提取的環(huán)境特征點(diǎn)信息進(jìn)行匹配,若匹配成功,則對(duì)虛擬物體進(jìn)行渲染注冊。其主要算法流程如下圖1所示。
圖1 算法流程圖
本研究的軟件平臺(tái)搭建在windows 7操作系統(tǒng)下,利用Open CV實(shí)現(xiàn);硬件設(shè)備包括一臺(tái)CPU主頻為3.1GHz、內(nèi)存為16GB、顯卡為NVIDIA Quadro K4000的HP臺(tái)式機(jī)以及一個(gè)普通的30f/s的USB攝像頭,實(shí)驗(yàn)地點(diǎn)為教學(xué)樓實(shí)驗(yàn)室。并在系統(tǒng)運(yùn)行過程中,進(jìn)行了光照變化、移動(dòng)速度變化等不同條件下的實(shí)驗(yàn),實(shí)驗(yàn)效果良好。如圖2所示,黃色點(diǎn)表示分布環(huán)境特征點(diǎn);圖2中a區(qū)和b區(qū)是攝像機(jī)在勻速移動(dòng)過程中的環(huán)境點(diǎn)效果,c區(qū)和d區(qū)是攝像機(jī)由遠(yuǎn)到近視角變化的環(huán)境特征點(diǎn)檢測效果,e區(qū)是相機(jī)抖動(dòng)過程中的檢測效果:
圖2 環(huán)境檢測效果圖
圖3 是增強(qiáng)現(xiàn)實(shí)跟蹤注冊效果對(duì)比圖,其中f區(qū)是基于標(biāo)志物的增強(qiáng)現(xiàn)實(shí)效果圖,g區(qū)本研究的增強(qiáng)現(xiàn)實(shí)效果圖,對(duì)比結(jié)果表明,本研究在實(shí)際使用時(shí)能夠?qū)崿F(xiàn)基于無標(biāo)志物的增強(qiáng)現(xiàn)實(shí)效果,具有良好的穩(wěn)定性,達(dá)到實(shí)時(shí)跟蹤注冊要求。
圖3 跟蹤注冊效果對(duì)比圖
針對(duì)當(dāng)前普遍存在的增強(qiáng)現(xiàn)實(shí)使用場景受限制的問題,本研究在EKF-SLAM的基礎(chǔ)上結(jié)合ORB算法,討論了一種基于SLAM的跟蹤注冊方法。在地圖構(gòu)建的過程中,使用ORB算法進(jìn)行環(huán)境特征的提取,使物體在現(xiàn)實(shí)場景內(nèi)位姿計(jì)算與實(shí)時(shí)更新時(shí),與關(guān)鍵幀的特征點(diǎn)信息進(jìn)行比對(duì),實(shí)現(xiàn)跟蹤注冊,完成虛擬物體與現(xiàn)實(shí)環(huán)境的融合。該實(shí)驗(yàn)結(jié)果表明,本研究提出的跟蹤注冊方法能夠解決使用場景受限的問題;并且能夠克服相機(jī)移動(dòng)速度變化、抖動(dòng)等問題,魯棒性較高,可以滿足現(xiàn)實(shí)場景的使用。
[1]http://en.wikipedia.org/wiki/Augmented_reality.2013.
[2]鄒承明,宋平麗,陸苑,等.基于SLAM的虛實(shí)配準(zhǔn)方法研究[J].計(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ì)算機(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].自動(dòng)化學(xué)報(bào),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的實(shí)時(shí)三維重建算法的實(shí)現(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í)技術(shù)。閆光亞,男,碩士生導(dǎo)師,副教授,研究方向:增強(qiáng)現(xiàn)實(shí)技術(shù)。范瑤,女,碩士研究生,研究方向:增強(qiáng)現(xiàn)實(shí)技術(shù)。