吳俊君,胡國生
(1.廣東食品藥品職業(yè)學(xué)院軟件學(xué)院,廣東廣州 510520;2.華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣東廣州 510641)
機(jī)器人技術(shù)是當(dāng)今自然科學(xué)研究領(lǐng)域最活躍的分支之一。經(jīng)過幾十年的研究,機(jī)器人在功能、構(gòu)型及性能等方面都取得了長足的發(fā)展,并在社會生產(chǎn)中產(chǎn)生了巨大的經(jīng)濟(jì)效益。機(jī)器人的應(yīng)用領(lǐng)域正在從標(biāo)準(zhǔn)化的工業(yè)生產(chǎn)線逐步滲透至社會生活的各個(gè)服務(wù)領(lǐng)域,這一發(fā)展趨勢對機(jī)器人的自主移動能力提出較高的要求。視覺傳感器能夠獲取豐富的場景特征 (顏色、紋理等),其對環(huán)境的刻畫能力優(yōu)于其他傳感器,因此移動機(jī)器人視覺導(dǎo)航成為當(dāng)前研究的熱點(diǎn)。視覺導(dǎo)航是從仿生學(xué)的角度,給機(jī)器人配備一雙能感知自身周邊環(huán)境的眼睛,幫助機(jī)器人完成避障,路徑規(guī)劃和環(huán)境地圖構(gòu)建等任務(wù)。場景圖像中存在的一些具有局部不變性特征的特征點(diǎn)對旋轉(zhuǎn)、平移、尺度均保持不變性,這有利于幫助機(jī)器人解決自然環(huán)境下視覺導(dǎo)航中各個(gè)重要環(huán)節(jié)的問題,比如:閉環(huán)探測和視覺返巢等問題[1-2]。視覺定位是機(jī)器人視覺導(dǎo)航中的關(guān)鍵問題之一,通過計(jì)算機(jī)器人觀測到的場景相似度完成機(jī)器人所在位置的空間相關(guān)性估計(jì)。視覺定位的效果與閉環(huán)探測密切相關(guān),它將直接影響到:視覺SLAM(simultaneous localization and mapping)的成敗[3],視覺返巢中移動方向的判斷以及轉(zhuǎn)角的實(shí)時(shí)計(jì)算和環(huán)境地圖節(jié)點(diǎn)中關(guān)鍵幀的選?。?]等方面。與GPS定位和基于內(nèi)部傳感器的航跡推演定位等精確定位方法相比,視覺定位更關(guān)注機(jī)器人當(dāng)前所處的區(qū)域范圍而非具體的坐標(biāo)值。因?yàn)閷τ诖蠓秶h(huán)境下的視覺拓?fù)涞貓D而言,區(qū)域定位比精確定位更有意義。
目前視覺定位主要分為概率計(jì)算方法[5-6]和圖像匹配方法[7-9]。概率計(jì)算方法將視覺定位歸結(jié)為遞歸貝葉斯估計(jì)問題。首先采用圖像建模方法描述機(jī)器人每一位置的場景圖像,估計(jì)已獲取圖像與對應(yīng)位置的先驗(yàn)概率A,在當(dāng)前時(shí)刻計(jì)算新場景圖像與已訪問位置匹配的后驗(yàn)概率B,若概率B大于預(yù)設(shè)閾值確定定位結(jié)果。圖像匹配方法將視覺定位歸結(jié)于序列圖像匹配問題,將當(dāng)前時(shí)刻的圖像與已獲取的圖像序列進(jìn)行相似性匹配,若相似度高于預(yù)設(shè)閾值,則匹配圖像被認(rèn)為是對應(yīng)了機(jī)器人所處的場景位置。
機(jī)器人在視覺導(dǎo)航過程中,需要連續(xù)不斷地定位,即:計(jì)算當(dāng)前觀測到的視覺信息與拓?fù)涞貓D節(jié)點(diǎn)對應(yīng)的關(guān)鍵幀的相似度,但是較大的視覺信息量和不確定的環(huán)境因素制約了機(jī)器人視覺定位的實(shí)時(shí)性與魯棒性。比如:在視覺返巢中,機(jī)器人依賴于高密集的關(guān)鍵幀圖像;大范圍內(nèi)基于視覺的同時(shí)定位與地圖構(gòu)建aVSLAM(Appearance Based Visual SLAM)過程中,機(jī)器人會生成信息量巨大的視覺地圖節(jié)點(diǎn)。如何在保證定位效果的同時(shí)提高定位的實(shí)時(shí)性,對移動機(jī)器人視覺導(dǎo)航的實(shí)際應(yīng)用具有重要意義。
場景圖像的相似度測量決定著視覺定位的效果。目前被用于視覺定位的場景相似度測量方法主要分為兩類:①采用圖像整體特征的方法,例如:基于信息理論計(jì)算圖像的信息熵確定圖像之間的共有信息量[10];②采用局部不變性特征點(diǎn)的方法,例如:采用局部不變性特征點(diǎn) (如:SIFT,PCASIFT,SURF 等)作為圖像中的穩(wěn)定點(diǎn)[11-13],然后基于BOW(Bag of Words)模型對場景進(jìn)行刻畫,再通過余弦距離計(jì)算模型的相似度[14]。以上方法在有效性上的確取得了不錯(cuò)的效果,但是計(jì)算過程繁瑣 (比如:BOW模型需要聚類過程和不斷地更新視覺詞匯字典),實(shí)時(shí)性不佳,實(shí)用性有待進(jìn)一步提升。
本文研究工作在保證視覺定位有效性前提下,提升定位的速度,增強(qiáng)方法的實(shí)用性。方法創(chuàng)新點(diǎn)如下:①采用BRISK局部特征作為視覺定位的特征點(diǎn),提高了場景相似度測量的實(shí)時(shí)性。②受物種群落相似性度量的啟發(fā),將場景圖像表征為由若干特征點(diǎn)組成的種群集合,簡化了圖像場景模型,提高了計(jì)算效率。③采用種群的索雷申相似系數(shù),度量場景圖像的相似性,計(jì)算過程簡潔快速有效。
本文算法采用BRISK特征[15]作為局部不變性特征點(diǎn),與SIFT,PCA-SIFT,SURF局部特征點(diǎn)相比,BRISK采用二進(jìn)制特征向量描述特征點(diǎn),利用漢明距離度量特征點(diǎn)的相似性,匹配速度遠(yuǎn)高于其他特征點(diǎn)。
算法首先探測并描述BRISK特征,具體過程主要包括3個(gè)步驟:①基于尺度空間理論構(gòu)建圖像金字塔;②特征點(diǎn)探測。在尺度空間探測局部極值點(diǎn)作為特征點(diǎn),如圖1所示。探測結(jié)果如圖2所示:極值點(diǎn)所處的尺度k,位置 (x,y)。③ 采用二進(jìn)制向量描述特征點(diǎn)。
圖1 圖像金字塔:探測特征點(diǎn)Fig.1 Image pyramid:point detection
圖2 探測結(jié)果Fig.2 Detection result
特征點(diǎn)描述:用特征點(diǎn)p{(x,y),k}鄰域的60個(gè)特征點(diǎn)之間的灰度大小關(guān)系來表征,生成二進(jìn)制的特征向量[15]。特征向量的相似性采用漢明距離來度量,如圖3所示。
圖3 二進(jìn)制描述符匹配Fig.3 Binary descriptor match
由于不同的圖像自匹配峰值差別較大,因此兩幅場景圖像的相似性無法直接通過兩者包含的特征點(diǎn)匹配數(shù)目來度量 (如圖6所示:峰值為圖像之間的特征點(diǎn)匹配數(shù))。因此,需要利用這些離散的特征點(diǎn)來合理地描述一幅場景,即:場景建模。具體描述如下:
假設(shè)一幅圖像I包含若干個(gè)BRISK特征點(diǎn),任意一個(gè)特征點(diǎn)Pl及其描述符Pd如公式 (1),公式(2)所示
其中x,y,k,φ分別表示特征點(diǎn)的坐標(biāo),尺度和主方向。
其中bi是當(dāng)前特征點(diǎn)描述符的二進(jìn)制比特位。
則該場景圖像I的描述,如公式 (3)所示
其中n是BRISK特征點(diǎn)數(shù)目。
假設(shè)圖像I里的BRISK特征點(diǎn)被看成若干類不同的物種,則一幅場景圖像可等價(jià)為一個(gè)物種群落,如公式 (4)所示
其中m是群落Q的物種種類數(shù)量。
生物群落的相似性計(jì)算本質(zhì)上是基于集合理論。無論是一個(gè)群落Q還是一幅包含若干特征點(diǎn)的圖像I,能否被視為一個(gè)集合,必須滿足“邏輯性”這個(gè)充分必要條件,即:每一個(gè)對象都能確定是不是某一個(gè)集合的元素。將圖像的BRISK特征點(diǎn)進(jìn)行自匹配可知 (如圖4所示):不僅可以確定一個(gè)特征點(diǎn)是否屬于某幅圖像,而且圖像特征點(diǎn)之間也滿足互異性 (即:特征點(diǎn)一一對應(yīng))屬性條件,因此圖像被簡化為一個(gè)特征點(diǎn)集合是合理的。如圖5所示:圖像的相似性度量轉(zhuǎn)化為求兩個(gè)種群集合的相似性。
在生物學(xué)領(lǐng)域,為了研究生物種群群落的生長狀況受環(huán)境因素的影響,需要計(jì)算兩個(gè)種群的相似度。種群里的物種總數(shù)和共有種數(shù)的綜合性指標(biāo)(即:群落相似性系數(shù))被用來表征種群組成的相似度,相似系數(shù)包括:索雷申系數(shù),杰卡特系數(shù)和芒福德系數(shù)。本文通過計(jì)算兩個(gè)種群的相似度來度量兩幅場景圖像的相似性,實(shí)驗(yàn)采用的相似系數(shù)為索雷申系數(shù)SC,如公式 (5),兩幅圖像的相似距離DSC,如公式 (6)所示
其中 Qi,Qj為群落,且 SC(Qi,Qj)∈ [0,1]和DSC(Qi,Qj)∈[0,1]。
圖6 圖像匹配結(jié)果Fig.6 Match result
視覺定位算法設(shè)計(jì),如圖7所示。算法的時(shí)間復(fù)雜性分析如下:整個(gè)算法的執(zhí)行主要包括四個(gè)方面:BRISK特征點(diǎn)的探測,BRISK二進(jìn)制描述符的生成,描述符的匹配和圖像相似度計(jì)算。其中特征點(diǎn)描述符的匹配環(huán)節(jié)是影響算法時(shí)間復(fù)雜度的關(guān)鍵因素。假設(shè)當(dāng)前待比較的兩幅圖像包括的特征點(diǎn)數(shù)分別為:N,M(N<M),那么匹配環(huán)節(jié)的雙重循環(huán)次數(shù)為N*M,則算法的時(shí)間復(fù)雜度為O(N*M)。
實(shí)驗(yàn)采用室內(nèi)隨機(jī)捕獲的一組場景圖像作為數(shù)據(jù)集F,數(shù)據(jù)集F包含1002幅640*480大小介于60~200 K之間的圖像。數(shù)據(jù)集F被分為四類場景圖像:同一場景集合A,相似場景集合B,非相似場景集合C,完全不同的場景集合D。采用本文的算法對數(shù)據(jù)集里的圖像做成對的相似性計(jì)算:以10幅圖像為例,部分測量結(jié)果分別如圖8和圖9所示,每條曲線反映了當(dāng)前某個(gè)場景與其他場景的相似度。
由仿真實(shí)驗(yàn)可知:相同或相似場景的SC系數(shù)均處于0.15以上,故算法將相似閾值設(shè)為0.15。為了便于計(jì)算,在實(shí)際的驗(yàn)證實(shí)驗(yàn)中將SC系數(shù)放大100倍,相似閾值設(shè)為15。
本小節(jié)對算法的有效性、魯棒性和實(shí)時(shí)性,與現(xiàn)有方法進(jìn)行對比驗(yàn)證。
有效性:在數(shù)據(jù)集F包含的場景區(qū)域范圍內(nèi),隨機(jī)拍攝一組圖像C作為機(jī)器人當(dāng)前的位置。根據(jù)設(shè)定的閾值15,從實(shí)驗(yàn)數(shù)據(jù)集估算場景位置,成功率為99%。各個(gè)場景集合圖像的相似性測量結(jié)果如表1。
表1 算法的有效性Table 1 The effectiveness of algorithm
此外,實(shí)驗(yàn)將本文方法FVL(Fast Visual Location)與其他場景相似性測量方法 (SIFT-BoW[14],SIFT-BoRF[16])的定位效果進(jìn)行了對比。實(shí)驗(yàn)的具體方法如下:將機(jī)器人連續(xù)觀測到的40幅場景圖像作為測試數(shù)據(jù)集T,隨后任意選取一幅場景圖像n作為機(jī)器人在當(dāng)前位置的觀測值,然后分別采用FVL,SIFT-BoW和SIFT-BoRF方法對機(jī)器人的實(shí)際位置概率分布進(jìn)行估計(jì)。以圖像n=15為例:三種方法分別計(jì)算了圖像15與數(shù)據(jù)集T中其他圖像的空間相似度,然后進(jìn)一步將三組相似系數(shù)分別歸一化到 [0.4,0.6],[0.6,0.8],[0.8,1.0]三個(gè)區(qū)間,三條曲線分別反映了機(jī)器人當(dāng)前所處位置的概率分布,曲線的頂點(diǎn)峰值對應(yīng)的場景作為視覺定位結(jié)果。如圖10所示:三條曲線中,在圖像15附近的場景被估算為實(shí)際位置的概率明顯高于其他位置。這表明:在視覺定位效果上,三種方法均準(zhǔn)確有效地完成視覺定位,而且本文方法FVL和SIFT-BoRF的效果相當(dāng),SIFT-BoW方法次之。
魯棒性:為了驗(yàn)證方法的魯棒性,實(shí)驗(yàn)進(jìn)一步將相似場景細(xì)分為在不同角度、不同距離、不同光照三種情況。算法分別對其進(jìn)行了相似性測量。如表2:同一場景在左右平移2 m,前后直行1.5 m,白天室內(nèi)環(huán)境開燈和關(guān)燈情況下,計(jì)算得到的相似系數(shù)均在閾值15以上,算法具有良好的適應(yīng)性。
圖10 三種方法定位效果對比Fig.10 The locating efficiency of three methods
表2 算法的魯棒性Table 2 The robustness of algorithm
實(shí)時(shí)性:從數(shù)據(jù)集F隨機(jī)取一個(gè)樣本依次與場景圖像序列 (500幅)進(jìn)行相似計(jì)算,記錄下該樣本與圖像序列相似性測量所耗費(fèi)的時(shí)間。反復(fù)取若干樣本重復(fù)這個(gè)計(jì)算過程,取時(shí)間的平均值。如圖11所示:每次計(jì)算的時(shí)間基本處于0.05 s以下,平均耗時(shí)約為0.03 s。計(jì)算時(shí)間主要受制于兩個(gè)因素:特征提取的時(shí)間耗費(fèi),場景模型的復(fù)雜度。實(shí)驗(yàn)將本文的方法 FVL與 SIFT-BoW[14],SIFT-BoRF[16]在計(jì)算時(shí)間上做了對比分析,結(jié)果發(fā)現(xiàn):SIFT-BoW方法提取SIFT特征后,需要進(jìn)一步聚類分析構(gòu)建單詞本,故相似計(jì)算的總耗費(fèi)時(shí)間遠(yuǎn)大于SIFT特征提取的時(shí)間;SIFT-BoRF方法測量時(shí)間與SIFT特征提取時(shí)間相近,如表3所示。該方法在計(jì)算速度上要明顯高于另外兩種方法,耗費(fèi)時(shí)間僅為前兩種方法的1%。
表3 計(jì)算時(shí)間對比Table 3 The comparison of computing time
圖11 時(shí)間耗費(fèi)Fig.11 Time cost
本實(shí)驗(yàn)采用法國Aldebaran Robotics公司研發(fā)的小型仿人機(jī)器人NAO作為研究平臺,該機(jī)器人具有典型的雙足機(jī)器人行走特點(diǎn)。機(jī)器人配有兩個(gè)上下排列的針孔攝像機(jī),上方的攝像機(jī)視野向前觀測周圍環(huán)境,下方的攝像機(jī)視野向斜下方觀測地面。
機(jī)器人NAO利用前向攝像機(jī)在辦公室環(huán)境中構(gòu)建拓?fù)涞貓D:機(jī)器人的移動軌跡由直線速度v、轉(zhuǎn)角α和轉(zhuǎn)角速度ω決定。實(shí)驗(yàn)中機(jī)器人的直線速度設(shè)為固定,轉(zhuǎn)角α=0.3。每隔2 s取一幅關(guān)鍵幀,在室內(nèi)構(gòu)建56個(gè)拓?fù)涔?jié)點(diǎn),如圖12和圖13所示。每個(gè)地圖節(jié)點(diǎn)用一幅場景圖像進(jìn)行刻畫。機(jī)器人在室內(nèi)漫游,實(shí)時(shí)進(jìn)行視覺定位:機(jī)器人首先計(jì)算出所有與自己位置場景相似系數(shù)大于閾值15的地圖節(jié)點(diǎn),然后選出最大的相似節(jié)點(diǎn) MN(Max-similar node),此節(jié)點(diǎn)MN被認(rèn)為是機(jī)器人當(dāng)前所處的位置,定位結(jié)果如圖14所示。若相似系數(shù)均小于15則認(rèn)為機(jī)器人處在一個(gè)新位置,此場景被作為一個(gè)新的節(jié)點(diǎn)加入到環(huán)境地圖中。
圖12 視覺定位場景Fig.12 Visual location scene
視覺定位分析:機(jī)器人在室內(nèi)漫游,利用本文算法進(jìn)行視覺定位,對于同一場景從不同視覺角度的觀測值,均被有效地測量出來,如圖14所示。整個(gè)定位過程中對于已經(jīng)到過的拓?fù)涞貓D節(jié)點(diǎn)位置識別率達(dá)到99%,每對圖像的相似系數(shù)平均計(jì)算時(shí)間:0.03 s,每秒可處理33幀圖像。此外,實(shí)驗(yàn)過程也發(fā)現(xiàn)如下現(xiàn)象:個(gè)別死角或非?;璋档奈恢糜捎跓o法提取到有效的特征點(diǎn)而導(dǎo)致相似度測量失敗,如圖15所示。此類“迷失問題”需要進(jìn)一步研究有效的視覺地圖節(jié)點(diǎn)生成方法,比如:對無效的關(guān)鍵幀進(jìn)行剔除,或?qū)⒛:膱D像清晰化。該問題將在下一步研究工作中展開。
仿人機(jī)器人主要以室內(nèi)工作環(huán)境為主,視覺定位方法能快速確定機(jī)器人所處的場景區(qū)域,對機(jī)器人進(jìn)行視覺導(dǎo)航及完成后續(xù)任務(wù)具有重要的現(xiàn)實(shí)意義。非結(jié)構(gòu)化室內(nèi)環(huán)境存在較多的不確定因素影響著視覺定位效果,尤其是定位的實(shí)時(shí)性這一重要指標(biāo)有待提升。本文受生物群落相似度測量的啟發(fā),提出一種快速的視覺定位算法,并利用仿真實(shí)驗(yàn)和仿人機(jī)器人平臺對算法的實(shí)時(shí)性、有效性和魯棒性進(jìn)行了驗(yàn)證,結(jié)果表明:和現(xiàn)有的方法相比,本文方法FVL不僅取得了良好定位效果,而且實(shí)時(shí)性具有較大的提升。一次場景相似性計(jì)算平均耗時(shí)0.03 s(33 fps),定位有效性為99%,對具有一定差異的相似場景,相似度計(jì)算具有良好的魯棒性。算法的整個(gè)計(jì)算過程比較簡潔實(shí)用,對提升視覺導(dǎo)航性能,尤其是實(shí)時(shí)性方面具有積極意義。
后期的研究工作將繼續(xù)致力于提高室內(nèi)環(huán)境下仿人機(jī)器人視覺導(dǎo)航的性能,并專注細(xì)節(jié)問題的研究:例如考慮如何選取有效的拓?fù)涞貓D節(jié)點(diǎn),研究動態(tài)環(huán)境下視覺定位的魯棒性和大范圍環(huán)境中移動機(jī)器人視覺閉環(huán)探測的實(shí)時(shí)性等問題。
[1]JAUREGI E,IRIGOIEN I,SIERRA B,et al.Loop-closing:a typicality approach[J].Robotics and Autonomous Systems,2010,59(3):218 -227.
[2]MOLLER R,KRZYKAWSKI M,GERSTMAYR L.Three 2D-warping schemes for visual robot navigation[J].Autonomous Robot,2010,29(11):253 -291.
[3]MORIOKA H,HASEGAWA O.Vision-based mobile robot's SLAM and navigation in crowded environments[C]//IEEE International Conference on Intelligent Robots and Systems,San Francisco,CA,2011:3998 -4005.
[4]ZHANG H,LI B,YANG D.Key frame detection for appearance-based visual slam [C]//IEEE International Conference on Intelligent Robots and Systems,Taipei,2010:2071-2076.
[5]RANGANATHAN A,DELLAERT F.Online probabilistic topological mapping[J].International Journal of Robotics Research,2011,30(6):755-771.
[6]CUMMINS M,NEWMAN P.Probabilistic appearance based navigation and loop closing[C]//IEEE International Conference on Robotics and Automation,Rome,2007:2042-2048.
[7]HO K L,NEWMAN P.Loop closure detection in SLAM by combining visual and spatial appearance[J].Robotics and Autonomous Systems,2006,54(9):740 -749.
[8]CALLMER J,GRANSTROM K,NIETO J,et al.Tree of words for visual loop closure detection in Urban SLAM[C]//the Australasian Conference on Robotics and Automation,2008:1-8.
[9]HO K L,NEWMAN P.Detecting Loop closure with scene sequences[J].International Journal of Computer Vision,2007,74(3):261-286.
[10]DAME A,MARCHAND E.A new information theoretic approach for appearance-based navigation of non-holonomic vehicle[C]//IEEE International Conference on Robotics and Automation,Shanghai,2011:2459 -2464.
[11]LOWE D G.Distinctive image features from scale-invariant key points[J].International Journal of Computer Vision,2004,60(2):91-119.
[12]BAY H,ESS A,TUYTELAARS T,et al.Surf:speeded up robust features[C]//Europe Conference on Computer Vision,2006:404-417.
[13]KE Y,SUKTHANKAR R.PCA-SIFT:a more distinctive representation for local image descriptors[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2004:II-506.
[14]FILLIAT D.A visual bag of words method for interactive qualitative localization and mapping[C]//IEEE InternationalConference on Robotics and Automation,Rome,2007:3921 - 3926.
[15]LEUTE NEGGER S,CHLI M,SIEGWART R Y.BRISK:binary robust invariant scalable key points[C]//IEEE International Conference on Computer Vision,Barcelona,2011:2548 - 2555.
[16]HONG Z.BoRF:loop-closure detection with scale invariant visual features[C]//IEEE International Conference on Robotics and Automation,Shanghai,China,2011:3125-3130.