陳青梅,秦 進(jìn),黃仁婧,崔 虎,黃初華
(貴州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,貴州 貴陽 550025)
視覺SLAM以攝影機(jī)作為傳感器,以圖像作為主要環(huán)境感知信息源的SLAM系統(tǒng),作為當(dāng)今前沿技術(shù)之一,在AR/VR、移動(dòng)機(jī)器人等新興領(lǐng)域都具有廣泛的應(yīng)用。但目前大多數(shù)視覺SLAM參數(shù)都是通過多次實(shí)驗(yàn)得到的經(jīng)驗(yàn)值,在實(shí)際應(yīng)用中采用固定的參數(shù)配置,當(dāng)改變傳感器或場(chǎng)景時(shí)需重新調(diào)整參數(shù),這對(duì)于非專業(yè)的用戶來說是一件相對(duì)耗時(shí)的工作。針對(duì)該問題,研究者們提出了多種自適應(yīng)調(diào)整參數(shù)的方法來提高視覺SLAM的定位精度和魯棒性。如Khalufa等[1]提出一種視覺SLAM輕量級(jí)動(dòng)態(tài)控制策略,該策略依賴攝影機(jī)運(yùn)動(dòng)來自適應(yīng)調(diào)整算法和計(jì)算設(shè)備的控制參數(shù),可以實(shí)現(xiàn)動(dòng)態(tài)控制參數(shù)的效果,但算法沒有考慮場(chǎng)景信息,在算法運(yùn)行時(shí)位姿跟蹤精度和魯棒性有所降低。Kuo等[2]提出一個(gè)自適應(yīng)SLAM算法,該算法可適用于多個(gè)攝影機(jī)位的設(shè)置并根據(jù)攝影機(jī)之間的幾何關(guān)系來在線選擇最合適的初始化方法,在魯棒性方面有所提高,但跟蹤精度提升不明顯且增加視覺前端的設(shè)計(jì)復(fù)雜度。以上方法是從傳感器的角度來考慮問題,對(duì)算法自身參數(shù)的自適應(yīng)調(diào)整沒有過多研究,此外,這些算法在精度、魯棒性方面還有一定的提升空間。
為解決上述問題,需研究一種既考慮環(huán)境信息又不丟失精度和魯棒性的視覺SLAM參數(shù)自適應(yīng)調(diào)整方法,保證視覺SLAM算法在變化環(huán)境下的位姿軌跡精度和泛化能力。
主流的視覺SLAM通常分為3類:基于特征點(diǎn)、基于光流法和基于直接跟蹤的SLAM?;谥苯臃╗3]和光流法[4]的SLAM通過比較像素的亮度信息來估計(jì)相機(jī)運(yùn)動(dòng),不用計(jì)算關(guān)鍵點(diǎn)和描述子,節(jié)省了特征提取和匹配的大量時(shí)間,在特征點(diǎn)缺失或光照變化不明顯的場(chǎng)景下能取得不錯(cuò)的估計(jì)效果?;谔卣鼽c(diǎn)的SLAM算法主要通過對(duì)圖像進(jìn)行特征點(diǎn)檢測(cè),并借助2D或3D的特征點(diǎn)匹配,利用多視圖幾何原理來計(jì)算攝影機(jī)位姿以及構(gòu)建環(huán)境地圖。其中,具有代表性工作的是Raul Mur-Artal等提出的ORB_SLAM[5],它是一種基于ORB(oriented FAST and rotated,BRIEF)特征的三維定位與地圖構(gòu)建算法,也是目前性能最好的單目視覺SLAM系統(tǒng)之一,其改進(jìn)版本ORB_SLAM2[6]加入了雙目和RGB-D模式,進(jìn)一步提高系統(tǒng)對(duì)不同傳感器配置的適應(yīng)能力。當(dāng)前,最佳的是2020年Campos等[7]提出的ORB_SLAM3,該系統(tǒng)除了包含ORB_SLAM和ORB_SLAM2的共有模塊位姿跟蹤、建圖、重定位、閉環(huán)檢測(cè)以外,新增了基于最大后驗(yàn)估計(jì)的IMU融合算法、魚眼相機(jī)模型和多地圖模式。此外,ORB_SLAM3是一個(gè)多地圖系統(tǒng),跟蹤丟失時(shí),它會(huì)啟動(dòng)一個(gè)新的地圖,當(dāng)重新訪問地圖區(qū)域時(shí),它將與以前的地圖無縫地合并,與只使用最后幾秒信息的視覺里程計(jì)系統(tǒng)相比,ORB_SLAM3是一個(gè)在所有算法階段能重用先前所有信息的系統(tǒng)。
上述視覺SLAM大多是以配置文件的形式來加載參數(shù),參數(shù)閾值是固定的,當(dāng)切換到新的場(chǎng)景時(shí),位姿估計(jì)精度和魯棒性等易受固定參數(shù)閾值的影響?;诖?,近幾年來部分研究者將深度強(qiáng)化學(xué)習(xí)方法應(yīng)用在參數(shù)自適應(yīng)上,試圖通過端到端的方式來解決復(fù)雜的參數(shù)控制問題。如Huang等[8]提出一種特征跟蹤自適應(yīng)的方法,用強(qiáng)化學(xué)習(xí)的思想選擇可以判斷跟蹤結(jié)果的特征層。Bhowmik等[9]提出一種新的訓(xùn)練方法,該方法將特征檢測(cè)器嵌入完整的視覺管道中,并以端到端的方式訓(xùn)練可學(xué)習(xí)的參數(shù),使用強(qiáng)化學(xué)習(xí)的方法克服了關(guān)鍵點(diǎn)選擇和描述符匹配的離散性。Wang等[10]提出一種基于深度強(qiáng)化學(xué)習(xí)的移動(dòng)機(jī)器人路徑規(guī)劃方法,該方法采用雙深度Q網(wǎng)絡(luò)[11](double deep Q-network,DDQN)算法對(duì)機(jī)器人的狀態(tài)和相應(yīng)動(dòng)作進(jìn)行回歸預(yù)測(cè)以求得最優(yōu)策略和最優(yōu)路徑。
本文受深度強(qiáng)化學(xué)習(xí)自適應(yīng)特征提取和決策能力的啟發(fā),針對(duì)ORB_SLAM3算法中參數(shù)調(diào)整問題,引入深度強(qiáng)化學(xué)習(xí)中的深度循環(huán)Q網(wǎng)絡(luò)[12](deep recurrent Q-network,DRQN),提出了一種基于DRQN的視覺SLAM參數(shù)自適應(yīng)調(diào)整方法。該方法有望解決視覺SLAM中復(fù)雜的參數(shù)調(diào)整問題。
在計(jì)算機(jī)視覺領(lǐng)域, 常見的SLAM不確定度描述方法有兩種:第一種是基于熵的方法[13],在SLAM問題中,常常把位姿和路標(biāo)看成服從某種概率分布的隨機(jī)變量,通常用熵來表示隨機(jī)變量的不確定性。第二種是基于協(xié)方差矩陣的方法[14],SLAM中通過建立地標(biāo)點(diǎn)的空間不確定性模型來提高傳感器軌跡估計(jì)的精確度,并證明了以協(xié)方差矩陣的形式傳播不確定性可以減少位姿估計(jì)的不確定性。
(1)
DRQN結(jié)合了長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)來循環(huán)記憶信息,在不完整且?guī)г氲挠^測(cè)信息情況下能獲得較好的實(shí)驗(yàn)效果。
受深度強(qiáng)化學(xué)習(xí)感知決策能力及LSTM記憶信息能力的啟發(fā),針對(duì)傳統(tǒng)視覺SLAM手動(dòng)調(diào)參及視頻幀序列帶噪問題,采用改進(jìn)的DRQN作為本文算法迭代學(xué)習(xí)的主要網(wǎng)絡(luò)架構(gòu),以便更好處理由飛行器采集速度過快或光照變化過強(qiáng)導(dǎo)致的模糊視頻幀序列。此外,為驗(yàn)證本文方法的有效性,采用了ORB_SLAM3算法作為深度強(qiáng)化學(xué)習(xí)下的環(huán)境。下面將從構(gòu)建動(dòng)作空間、獎(jiǎng)勵(lì)函數(shù)、算法整體結(jié)構(gòu)及網(wǎng)絡(luò)模型來講解本文方法的具體實(shí)現(xiàn)過程。
構(gòu)建動(dòng)作空間的設(shè)計(jì)思路為篩選出ORB_SLAM3算法中的參數(shù),并賦予參數(shù)合適的取值范圍,整個(gè)動(dòng)作空間中的動(dòng)作由各參數(shù)值間的組合構(gòu)成。在本文中,選取的參數(shù)有:金字塔尺度因子P1、 金字塔層數(shù)P2和最近鄰閾值P3, 通過對(duì)算法及前期參數(shù)實(shí)驗(yàn)分析,給3個(gè)參數(shù)賦予取值范圍P1∈{1.10,…,1.40}、P2∈{2,…,8}、P3∈{0.60,…,0.90}, 且動(dòng)作空間的總?cè)萘縨為3個(gè)參數(shù)各取值空間大小的乘積,動(dòng)作空間可表示為A
A=(a1,a2,…,am)
其中,一個(gè)ai為一個(gè)動(dòng)作,每個(gè)動(dòng)作包含P1、P2、P3這3個(gè)參數(shù),記為ai=(P1,P2,P3),i=1,2,…,m。
在基于擴(kuò)展卡爾曼濾波的視覺SLAM中,引入系統(tǒng)協(xié)方差P(x|x) 作為當(dāng)前狀態(tài)下系統(tǒng)的不確定性[16],不確定度可量化為系統(tǒng)協(xié)方差矩陣主對(duì)角線上前3個(gè)值的和,如式(2)所示
P(x|x)=P(x|x)11+P(x|x)22+P(x|x)33
(2)
本文將每幀圖像地標(biāo)點(diǎn)的平均不確定度值作為每次算法運(yùn)行下環(huán)境返回給智能體的信號(hào)(記為g),設(shè)環(huán)境的獎(jiǎng)勵(lì)值為r,由于算法的目的是使不確定值越來越小,故獎(jiǎng)勵(lì)函數(shù)設(shè)為r=1-g。
本文算法結(jié)構(gòu)主要由DRQN和ORB_SLAM3算法構(gòu)成,如圖1所示,ORB_SLAM3初始化成功后,通過計(jì)算初始化后第一幀圖像的不確定度gt得到獎(jiǎng)勵(lì)值r, 并將其傳入DRQN,DRQN讀取該獎(jiǎng)勵(lì)值對(duì)應(yīng)的視頻幀,將該幀圖像處理后構(gòu)成狀態(tài)向量st作為DRQN算法評(píng)估網(wǎng)絡(luò)的輸入,評(píng)估網(wǎng)絡(luò)得到該狀態(tài)下每組參數(shù)(即每個(gè)動(dòng)作)的Q(st,a) 值,算法根據(jù)ε-greedy策略來輸出動(dòng)作作為下一次運(yùn)行的調(diào)整參數(shù)。
圖1 DRQN參數(shù)自適應(yīng)調(diào)整算法框架
強(qiáng)化學(xué)習(xí)的目標(biāo)是盡可能獲得更大的獎(jiǎng)勵(lì),而在DRQN參數(shù)自適應(yīng)調(diào)整算法中即為找到每幀圖像的最佳參數(shù)組合使其位姿跟蹤不確定度越來越小。在t時(shí)刻,ORB_SLAM3執(zhí)行動(dòng)作at之后產(chǎn)生的經(jīng)驗(yàn)為 (st,at,rt,st+1),st代表當(dāng)前t時(shí)刻的狀態(tài),at代表t時(shí)刻執(zhí)行的動(dòng)作,rt代表執(zhí)行動(dòng)作at獲得的即時(shí)獎(jiǎng)勵(lì),st+1表示在t時(shí)刻執(zhí)行動(dòng)作at之后的狀態(tài),每循環(huán)一次將經(jīng)驗(yàn)保存到經(jīng)驗(yàn)回放池,當(dāng)算法需要進(jìn)行學(xué)習(xí)訓(xùn)練時(shí),從經(jīng)驗(yàn)回放池中隨機(jī)選擇一個(gè)序列并從序列中的隨機(jī)點(diǎn)開始反向選取n個(gè)時(shí)間步長進(jìn)行學(xué)習(xí)(n可以為1),本文n取值為9,在每一次更新前需要將LSTM隱含層的狀態(tài)置為0。隨機(jī)選取序列和時(shí)間步破壞了樣本間的連續(xù)性,使得訓(xùn)練更加有效,同時(shí)經(jīng)驗(yàn)池的經(jīng)驗(yàn)序列達(dá)到容量上限以后,新的經(jīng)驗(yàn)序列將覆蓋已有的經(jīng)驗(yàn)序列。
DRQN采用了兩個(gè)結(jié)構(gòu)相同,參數(shù)不同的神經(jīng)網(wǎng)絡(luò)達(dá)到更新網(wǎng)絡(luò)參數(shù)的目的,即評(píng)估網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)。評(píng)估網(wǎng)絡(luò)為訓(xùn)練網(wǎng)絡(luò),每隔N時(shí)間步訓(xùn)練之后,將評(píng)估網(wǎng)絡(luò)的參數(shù)拷貝給目標(biāo)網(wǎng)絡(luò)。整個(gè)網(wǎng)絡(luò)的目標(biāo)函數(shù)(即損失函數(shù))如式(3)所示,y為目標(biāo)網(wǎng)絡(luò)計(jì)算出來的Qtarget(st+1,at+1) 目標(biāo)值,如式(4)所示,Qeval(st,at;θ) 為評(píng)估網(wǎng)絡(luò)得到的預(yù)測(cè)值,即為需優(yōu)化的值,θ為網(wǎng)絡(luò)模型參數(shù)。損失函數(shù)定義為預(yù)測(cè)值和目標(biāo)值的均方差,同時(shí)采用均方根反向傳播(root mean square prop,RMSProp)算法對(duì)損失進(jìn)行優(yōu)化
loss(θ)=E[(y-Qeval(st,at;θ))2]
(3)
y=r+γmaxat+1Q(st+1,at+1;θ-)
(4)
其中,r為獎(jiǎng)勵(lì)值,γ為折扣因子,γ∈[0,1]。 接下來對(duì)θ求偏導(dǎo)
(5)
DRQN模型除了繼承深度強(qiáng)化學(xué)習(xí)從感知到?jīng)Q策的優(yōu)點(diǎn)以外,它在缺失狀態(tài)信息的情況下,具有很強(qiáng)的適應(yīng)性和魯棒性。盡管在每個(gè)時(shí)間步中僅看到單個(gè)幀,但該模型仍能跨幀集成信息以檢測(cè)完整的狀態(tài),故選擇該DRQN模型作為本文算法的模型結(jié)構(gòu)。
DRQN網(wǎng)絡(luò)結(jié)構(gòu)主要由3個(gè)卷積層,1個(gè)LSTM層及1個(gè)全連接層組成,且評(píng)估網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)結(jié)構(gòu)相同如圖2所示,首先將圖像等比例采樣到大小為84×84的圖像且進(jìn)行灰度化處理,然后將預(yù)處理后的圖像輸入到DRQN中卷積3次;接著將卷積層的輸出送到LSTM層中進(jìn)行處理;最后,全連接層為每個(gè)可能的動(dòng)作輸出Q值。
圖2 DRQN模型結(jié)構(gòu)
(1)卷積層
將處理后的單張84×84大小的圖片I送入3個(gè)卷積層中,3個(gè)卷積層均并采用Relu激活函數(shù)進(jìn)行激活,從表1和圖2可知,第一個(gè)卷積層在輸入圖像上用32個(gè)8×8濾波器進(jìn)行卷積(步幅為4);第二個(gè)卷積層使用64個(gè)4×4濾波器進(jìn)行卷積(步幅為2);第三個(gè)卷積層使用64個(gè)3×3濾波器進(jìn)行卷積(步幅為1);卷積輸出被傳送到全連接的LSTM層。
表1 網(wǎng)絡(luò)模型參數(shù)細(xì)節(jié)
(2)LSTM層
LSTM是一種改進(jìn)的RNN,相比一般網(wǎng)絡(luò),它能夠更好處理序列數(shù)據(jù)及解決訓(xùn)練過程中的梯度爆炸和梯度消失問題。于DRQN而言,將LSTM和卷積層結(jié)合能將視頻幀序列在時(shí)間和空間特征上進(jìn)行更完整的學(xué)習(xí),其內(nèi)部結(jié)構(gòu)如圖3所示。
圖3 LSTM內(nèi)部結(jié)構(gòu)
在輸入LSTM前需將7×7×64的特征圖進(jìn)行降維處理再輸入到該層。其內(nèi)部結(jié)構(gòu)如式(6)所示
(6)
(3)全連接層
全連接層主要用來線性輸出每個(gè)動(dòng)作的Q值,在本算法中,所有動(dòng)作為3.1節(jié)中的動(dòng)作空間A, 動(dòng)作總數(shù)為m=10 500, 一個(gè)動(dòng)作即為選取的3個(gè)參數(shù)的組合。
實(shí)驗(yàn)所用的環(huán)境配置為英特爾酷睿i5-6400,最高睿頻3.3 GHz,4核4線程處理器,16 G內(nèi)存,操作系統(tǒng)為ubuntu16.04,Tensorflow1.12版,Python3.6版。
視覺SLAM參數(shù)自適應(yīng)調(diào)整方法有3個(gè)關(guān)鍵參數(shù):金字塔尺度因子P1、金字塔層數(shù)P2和最近鄰閾值P3,在ORB_SLAM3算法中設(shè)置為固定的經(jīng)驗(yàn)值,分別為1.2/8/0.9。金字塔層數(shù)主要用于解決SLAM中尺度不變形問題,決定了提取關(guān)鍵點(diǎn)的數(shù)量,尺度因子決定了金字塔層間的縮放比例,最近鄰閾值指最佳匹配和次佳匹配的特征點(diǎn)評(píng)分比值閾值,用于篩選匹配點(diǎn),通常值越小匹配就越苛刻。
為對(duì)比不同參數(shù)對(duì)全局位姿軌跡精度的影響,表2為6組不同參數(shù)組合下ORB_SLAM3算法在EuRoC部分序列集下的絕對(duì)軌跡誤差中均方根誤差(root mean square error,RMSE)結(jié)果。由表2前三行數(shù)據(jù)可知,在同一序列集下,固定參數(shù)P2,P3, 參數(shù)P1對(duì)算法精度的影響是不穩(wěn)定的,后三行數(shù)據(jù)為固定參數(shù)P1,P3觀察P2對(duì)算法精度的影響,從實(shí)驗(yàn)數(shù)據(jù)也可以得出類似的結(jié)論,因此,對(duì)于不同序列集而言,算法中采用同一組固定參數(shù)不一定是最優(yōu)的。
表2 EuRoC序列集在不同參數(shù)組合下的絕對(duì)位姿誤差,RMSE/m
為觀察P1和P3兩個(gè)參數(shù)對(duì)每幀圖像位姿跟蹤精度的影響,算法訓(xùn)練過程中隨機(jī)提取連續(xù)的200幀圖像來觀測(cè)地標(biāo)點(diǎn)平均不確定度g變化情況,如圖4所示,從散點(diǎn)的分布情況可知,當(dāng)每幀圖像根據(jù)自身狀態(tài)選取合適的參數(shù)組合時(shí)可以減小該幀的位姿跟蹤不確定度。
圖4 地標(biāo)點(diǎn)平均不確定度g的散點(diǎn)
4.2.1 EuRoC數(shù)據(jù)集
EuRoC數(shù)據(jù)集[17]包含Machine Hall(MH)、Vicon Room1(VR1)和Vicon Room2(VR2)等11個(gè)序列集。訓(xùn)練數(shù)據(jù)采用等級(jí)為difficult VR103。測(cè)試數(shù)據(jù)選用EuRoC數(shù)據(jù)集中除了訓(xùn)練序列集以外的其它序列集。
為測(cè)試本文算法的有效性,將實(shí)驗(yàn)結(jié)果與DSM[18]、ORB_SLAM3和DSO[19]算法作定位精度對(duì)比。DSM是一種基于光度束調(diào)整(photometric bundle adjustment,PBA)的單目視覺SLAM,ORB_LAM3算法為西班牙薩拉戈薩大學(xué)提出的基于特征點(diǎn)法的視覺SLAM,DSO為典型的基于直接法的SLAM。表3為采用EuRoC除訓(xùn)練序列集之外的其它序列集測(cè)試得到的絕對(duì)軌跡誤差的RMSE結(jié)果,為保持與文獻(xiàn)[7]一致的評(píng)估準(zhǔn)則,該數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果取為反復(fù)測(cè)試10次后的中位數(shù)。
表3 EuRoC數(shù)據(jù)集的絕對(duì)軌跡誤差,RMSE/m
從實(shí)驗(yàn)結(jié)果來看,本文算法相比于其它3種算法在大部分序列集上位姿跟蹤精度有了一定的提升,而在個(gè)別序列集上效果卻一般(如MH04),此外,我們可以發(fā)現(xiàn)次佳結(jié)果由DSM獲得,可能原因是該算法也采用ORB_SLAM3的中期匹配方法。DSO是一種基于直接法的SLAM,與其它方法相比,該算法是基于灰度不變假設(shè)下成立的,容易受光照影響,故位姿跟蹤效果不明顯。圖5(a)、圖5(c)為在EuRoC的序列集MH01和MH03下,本文算法、ORB_SLAM3和真實(shí)軌跡(ground_truth)在xy軸上的位姿軌跡對(duì)比圖,圖5(b)、圖5(d)分別為圖5(a)、圖5(c)對(duì)應(yīng)的軌跡平移細(xì)節(jié),從軌跡對(duì)比圖和表3的數(shù)據(jù)來看,本文算法估計(jì)的軌跡相對(duì)于ORB_SLAM3算法而言離真實(shí)軌跡更近,偏差更小。
4.2.2 TUM-VI數(shù)據(jù)集
TUM-VI數(shù)據(jù)集[20]包含6種不同場(chǎng)景的28序列組成,本文使用該數(shù)據(jù)集中的Room和Corridor序列集進(jìn)行實(shí)驗(yàn)。該部分實(shí)驗(yàn)的訓(xùn)練數(shù)據(jù)采用Room6,測(cè)試數(shù)據(jù)選用除訓(xùn)練序列集之外的其它序列集。
表4為在TUM-VI數(shù)據(jù)集的部分序列集下本文方法與ORB_SLAM3、VINS-Mono[21]和ROVIO[22]算法的絕對(duì)位姿誤差的RMSE對(duì)比結(jié)果,實(shí)驗(yàn)結(jié)果為反復(fù)測(cè)試10次后的中位數(shù),其中VINS-Mono為基于緊耦合的單目視覺慣性定位算法,ROVIO是基于迭代卡爾曼濾波的魯棒視覺慣性里程計(jì),這兩種算法的實(shí)驗(yàn)數(shù)據(jù)由文獻(xiàn)[20]給出。
圖5 EuRoC部分序列集的位姿軌跡對(duì)比
表4 TUM-VI數(shù)據(jù)集的絕對(duì)軌跡誤差,RMSE/m
圖6 TUM-VI部分序列集的位姿軌跡及絕對(duì)位姿誤差對(duì)比
從實(shí)驗(yàn)結(jié)果可知,本文算法在Room和Corridor兩個(gè)序列集上都略優(yōu)于其它算法,ROVIO算法計(jì)算量小且具有魯棒的定位,但該算法沒有閉環(huán)檢測(cè)模塊,在定位時(shí)存在誤差累積,故在大部分序列集上表現(xiàn)不佳。圖6(a)、圖6(c)為在TUM-VI的序列集Corridor1和Room1下,本文算法、ORB_SLAM3和真實(shí)軌跡(ground_truth)在xy軸上的位姿軌跡對(duì)比圖,圖6(b)、圖6(d)分別為圖6(a)、圖6(c)對(duì)應(yīng)的絕對(duì)位姿誤差,從位姿軌跡和絕對(duì)位姿誤差的RMSE值來看,由本文算法得到的位姿軌跡精度相比ORB_SLAM3也是有一定提升的。
在同等運(yùn)行環(huán)境配置下,通過記錄算法在EuRoC和TUM-VI部分序列集上的運(yùn)行時(shí)間來比較ORB_SLAM3和本文算法的運(yùn)行速度,取值為連續(xù)3次運(yùn)行時(shí)間的平均值。如表5所示,由于本文算法在運(yùn)行過程中需動(dòng)態(tài)加載參數(shù)和計(jì)算地標(biāo)點(diǎn)的平均不確定度值,故相對(duì)于ORB_SLAM3算法而言總體耗時(shí)稍微有所增加,但對(duì)于部分序列集來說平均運(yùn)行時(shí)間幾乎是一致的。
針對(duì)視覺SLAM算法復(fù)雜的參數(shù)調(diào)整問題,本文提出了一種基于DRQN的視覺SLAM參數(shù)自適應(yīng)調(diào)整方法。該方法將ORB_SLAM3作為環(huán)境,并以地標(biāo)點(diǎn)的不確定性構(gòu)建獎(jiǎng)勵(lì)函數(shù),以求在不斷迭代學(xué)習(xí)過程中獲得最大回報(bào)獎(jiǎng)勵(lì),從而提高ORBLAM3的位姿跟蹤精度和泛化能力。實(shí)驗(yàn)結(jié)果表明,該方法相比傳統(tǒng)人工設(shè)定經(jīng)驗(yàn)值的方法有明顯優(yōu)勢(shì),雖然測(cè)試時(shí)間相比原來算法略有增加,但從跟蹤精
表5 EuRoC和TUM-VI部分序列集的運(yùn)行時(shí)間對(duì)比/s
度和泛化性上來看有一定的提升,且避免了傳統(tǒng)視覺SLAM算法的復(fù)雜參數(shù)調(diào)整過程,故可以作為視覺SLAM領(lǐng)域參數(shù)自適應(yīng)調(diào)整的一種有效方法。
目前本文的方法主要應(yīng)用在單目上,且采用機(jī)房、辦公室等室內(nèi)數(shù)據(jù)集,后期將針對(duì)不確定模型及獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)進(jìn)行優(yōu)化,并將傳感器擴(kuò)展到雙目、RGB-D,且針對(duì)室外環(huán)境對(duì)ORB_SLAM3和DRQN算法進(jìn)行改進(jìn)。