王一波,梁偉鄯
(柳州工學(xué)院,廣西 柳州 545616)
同時定位與地圖構(gòu)建(Simultaneous Localization And Mapping, SLAM)通常是指在機器人或者其他載體上,通過對各種傳感器數(shù)據(jù)進行采集和計算,生成對其自身位置姿態(tài)的定位和場景地圖信息的系統(tǒng),其對于智能機器人走向應(yīng)用發(fā)揮著關(guān)鍵作用。當(dāng)前,主流SLAM技術(shù)分為激光和視覺兩大類,激光SLAM算法簡單,但成本相對較高,應(yīng)用具有一定局限性;視覺SLAM利用攝像機(單目、雙目或者RGBD)可以從環(huán)境中獲取海量、冗余的紋理信息,擁有超強的場景辨識能力,適用于復(fù)雜的應(yīng)用場景。視覺SLAM目前難以商用,除受關(guān)鍵技術(shù)制約外,還與目前尚未建立一致、定量的魯棒性評價框架有關(guān),難以滿足不同算法統(tǒng)一評價的要求,也間接限制了視覺SLAM算法的突破。因此,如何根據(jù)具體的應(yīng)用為視覺SLAM設(shè)計操作性強的評估指標(biāo)和方法,已經(jīng)成為亟待解決的問題。目前視覺SLAM的評價都基于現(xiàn)有的數(shù)據(jù)集,如KITTI數(shù)據(jù)集、TUM數(shù)據(jù)集和EUROC數(shù)據(jù)集等,其具有方便、標(biāo)準的優(yōu)點,為視覺SLAM一般性評價提供了較好的數(shù)據(jù)支撐,但由于其場景相對單一、無法根據(jù)需要改變環(huán)境條件,從而無法有效評價視覺SLAM的魯棒性。機器人面臨的環(huán)境普遍是動態(tài)的,視覺SLAM的魯棒性可本質(zhì)上反映出機器人的環(huán)境適應(yīng)性。本文旨在構(gòu)建準確的魯棒性能指標(biāo),建立一致的定量評估框架,滿足不同SLAM系統(tǒng)評估需求,可針對特定應(yīng)用場景進行評估,從而為視覺SLAM設(shè)計及選取提供可靠的依據(jù)。
SLAM系統(tǒng)的運行過程可能伴隨光照變換、行進速度改變、環(huán)境設(shè)置變化等因素的影響,從表面上看,能夠抵抗上述因素影響的能力即SLAM系統(tǒng)的魯棒性。而魯棒性又分為廣義SLAM魯棒性和狹義SLAM魯棒性?;緹o人反饋系統(tǒng)如圖1所示。
圖1 基本無人反饋系統(tǒng)
圖1中,()表示SLAM系統(tǒng),包括傳感器硬件設(shè)備和狀態(tài)估計算法,控制對象的輸出經(jīng)環(huán)境調(diào)制輸入SLAM系統(tǒng),輸出為控制對象的狀態(tài)。一般情況下,控制對象()存在模型不確定性,可表示為()+Δ(),而環(huán)境存在擾動不確定性,可描述為()和(),假設(shè)其方差陣分別為、。系統(tǒng)模型如下:
滿足系統(tǒng)所允許的實際模型集合定義為:
本文將視覺SLAM限定為定位與建圖算法,因此視覺SLAM的魯棒性定義為:對于不同的光照條件、環(huán)境紋理及無人系統(tǒng)非規(guī)律性運動條件,視覺SLAM性能不受影響的能力。
由于運動是相對的,可將運動的無人系統(tǒng)看作靜止條件下場景的運動,此時假設(shè)視覺SLAM環(huán)境表示為={,},其中表示環(huán)境光強度,表示場景設(shè)置。當(dāng)SLAM系統(tǒng)處在靜態(tài)環(huán)境時,不變,即、和保持不變。這里需具體分析和的變化,估計對于系統(tǒng)產(chǎn)生的影響。光照強度的絕對變化量Δ=-,將影響SLAM系統(tǒng)性能,而場景設(shè)置主要以變化率=d/d對SLAM系統(tǒng)性能進行評估。Δ將直接影響式(3)中的,如果考慮機器人系統(tǒng)內(nèi)部的擾動,則同樣具有不確定性。系統(tǒng)模型變?yōu)椋?/p>
式中:表示理想光照強度;表示理想光照條件下的觀測矩陣;Δ表示由Δ引起的觀測矩陣的不確定性;當(dāng)Δ>ΔI時,由觀測值將無法估計出狀態(tài)值,ΔI表示光照極限變換區(qū)間。
視覺SLAM的性能評價往往基于成熟的數(shù)據(jù)集。目前常用的數(shù)據(jù)集有TUMRGB-D數(shù)據(jù)集、KITTI數(shù)據(jù)集和EuRocMAV數(shù)據(jù)集,基本可以滿足一般的應(yīng)用要求。但當(dāng)進行魯棒性評價時,以上數(shù)據(jù)集存在相機真實位姿難以準確獲取、不同條件場景難以真實呈現(xiàn)及數(shù)據(jù)標(biāo)簽工作量巨大等問題。上述問題可通過仿真加以解決。首先,在仿真條件下,系統(tǒng)的真實軌跡及相機參數(shù)是事先設(shè)定的,解決了相機位姿無法準確獲取的問題;其次,通過修改仿真環(huán)境及相機參數(shù),或人為添加各種擾動,可模擬現(xiàn)實中的不確定性,進而有利于對算法進行魯棒性評價。同時,基于仿真的評價方式還具有靈活、成本低的特點,特別適合進行大尺度及復(fù)雜場景下的視覺SLAM算法評價。本文基于UnrealEngine平臺模擬不同的應(yīng)用場景,使用微軟的AirSim插件采集數(shù)據(jù)。
由于場景無法定量描述,靜態(tài)魯棒性可以用不同環(huán)境下算法精度的均值表示,由于運行時間與圖像幀數(shù)正相關(guān),對于比較算法對環(huán)境的魯棒性不具備更多參考價值。這里以定位精度、點云精度及點云噪聲比作為魯棒性的判斷依據(jù)。
靜態(tài)魯棒性向量R=[定位精度魯棒性L,點云精度魯棒性P,噪聲比N]
環(huán)境變化對算法的影響主要以靈敏度度量,在此將環(huán)境參數(shù)進行量化,并結(jié)合實際情況,分別進行如下定義:
式中:RMSE()、和α分別表示室內(nèi)參考環(huán)境的定位精度、點云精度及噪聲比;ΔRMSE()、ΔH和Δα表示第個環(huán)境相對參考環(huán)境的變化量。
一般無人系統(tǒng)所處的環(huán)境并非絕對靜態(tài)的,而是或多或少存在運動物體,會對視覺SLAM算法造成一定干擾,為此,仿真過程中需添加不同數(shù)量的運動物體,檢測算法的魯棒性。
動態(tài)魯棒性向量R=[定位精度魯棒性L,點云精度魯棒性P,噪聲比N]
與靜態(tài)場景類似,計算魯棒測度公式如下:
式中,Obj表示運動物體數(shù)量。
很多情況下,無人系統(tǒng)將攜帶相機快速移動,而移動速度的大小也將對視覺SLAM算法性能產(chǎn)生影響,當(dāng)運動速度過快時圖像會產(chǎn)生明顯的模糊。
運動魯棒性向量R=[定位精度魯棒性L,點云精度魯棒性P,噪聲比N]
計算魯棒測度公式如下:
式中,表示無人系統(tǒng)的運動速度。
無人系統(tǒng)運行環(huán)境的光照會隨著時間的變化而發(fā)生改變,對于視覺SLAM而言,光強變化產(chǎn)生的影響尤為明顯。
光照魯棒性向量R=[定位精度魯棒性L,點云精度魯棒性P,噪聲比N]
與靜態(tài)場景類似,計算魯棒測度公式如下:
式中,表示環(huán)境光照度。
為說明問題,基于UnrealEngine模擬了室內(nèi)、場房及室外3種不同類型的靜態(tài)場景,如圖2所示,用以比較不同視覺SLAM算法對環(huán)境的適應(yīng)能力。室內(nèi)場景紋理相對豐富,有較多邊緣及棱角可供特征提??;場房則存在較多相似貨架,為進行特征區(qū)分帶來一定難度;室外由于植被及建筑的影響,會存在較強的明暗變化,對于檢測算法對光強的適應(yīng)性具有重要參考作用。本文選用了3種典型的視覺SLAM算法進行比較,分別為特征點法ORB-SLAM、直接法DSO-SLAM和半直接法SVO-SLAM,實驗硬件平臺為:Intel Core i5-3210M,CPU2.50 GHz,內(nèi)存 5.7 GB。
圖2 UnrealEngine模擬場景
首先通過模擬相同場景下添加不同數(shù)量運動物體以檢測算法對于動態(tài)場景的適應(yīng)性。為突出運動物體干擾,選取前述室內(nèi)場景,并將無運動物體的靜態(tài)場景作為參考場景。
為此,在仿真過程中通過調(diào)節(jié)相機的運動速度來檢測不同算法對移動速度的魯棒性。由圖3可知,隨著運動物體數(shù)量的增多,上述3種算法都會受到影響而造成定位精度及點云精度下降,同時噪聲比上升。根據(jù)式(7)、式(8)和式(9)計算,ORB-SLAM受動態(tài)場景的影響最小,魯棒測度值為0.31。這是由于ORB-SLAM根據(jù)圖像特征進行定位與建圖,運動物體對于相鄰幀間的特征匹配產(chǎn)生的影響較小,而對直接法DSO-SLAM影響最大。同時,當(dāng)運動物體數(shù)量大于一定值時,上述視覺SLAM算法都將失效。
圖3 調(diào)節(jié)相機的運動速度檢測不同算法對移動速度的魯棒性
其次,通過模擬相同場景下相機以不同速度進行平移或旋轉(zhuǎn)的情形,用以檢測算法對于無人系統(tǒng)自身運動狀態(tài)的適應(yīng)性。
在仿真過程中通過調(diào)整照度參數(shù)來檢測不同算法對光照的魯棒性,為減少光源角度產(chǎn)生的影響,實驗過程中,光源始終保持在中心位置。由圖4可知,隨著運動速度的增加,所列算法都會受到影響而造成定位精度及點云精度下降,同時噪聲比上升。根據(jù)式(10)、式(11)和式(12)計算,ORB-SLAM受運動影響最大,魯棒測度值為0.22。這是由于運動速度增加造成部分圖像出現(xiàn)運動模糊、曝光不充分等問題,進而導(dǎo)致特征提取不準確,定位與建圖精度下降嚴重及噪聲點增加;但對于直接法而言,圖像的清晰度影響相對較小,所以其表現(xiàn)出來的魯棒性最優(yōu),魯棒測度值為0.15。
圖4 調(diào)節(jié)運動速度檢測不同算法受到的影響
最后,通過在不同光照條件下采集圖像,檢測算法對于光照變化的適應(yīng)性。
由圖5可知,光照處于正常的室內(nèi)亮度,即約50 Lux時,3種算法的測量精度都處于最佳,但低于或高于這一范圍的光照強度都將給算法精度帶來不利影響,越遠離影響越大。根據(jù)式(13)、式(14)和式(15)計算,ORB-SLAM受光照影響最大,光照魯棒測度值為0.12。這是由于光照過亮或者過暗都不利于特征的提取,定位與建圖精度隨之下降更快;直接法受到的影響最小,其光照魯棒測度值為0.05。
圖5 檢測算法對于光照變化的適應(yīng)性
由實驗可知,本文提出的視覺SLAM魯棒性評價指標(biāo)體系基本反映了不同視覺SLAM算法對于環(huán)境的適應(yīng)性,能夠為視覺SLAM研究提供可供借鑒的理論觀點。今后將繼續(xù)圍繞視覺SLAM復(fù)雜應(yīng)用,研究其更為本質(zhì)的特征,為SLAM評價提供更加全面的指標(biāo)體系和方法。
物聯(lián)網(wǎng)技術(shù)2022年10期