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