亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進(jìn)關(guān)鍵幀選擇的ORB-SLAM2 算法

        2023-02-09 08:35:18張洪于源卓邱曉天
        關(guān)鍵詞:關(guān)鍵幀劣質(zhì)移動(dòng)機(jī)器人

        張洪,于源卓,邱曉天

        (1. 江南大學(xué) 機(jī)械工程學(xué)院,無(wú)錫 214122; 2. 江蘇省食品先進(jìn)制造裝備技術(shù)重點(diǎn)實(shí)驗(yàn)室,無(wú)錫 214122)

        近年來(lái),移動(dòng)機(jī)器人逐漸走進(jìn)社會(huì)為人們的生產(chǎn)生活提供便利[1-2]。在這種情況下,機(jī)器人的控制與路徑規(guī)劃顯得尤為重要[3-4]。控制與路徑規(guī)劃需要定位與建圖作為前提,因此,將機(jī)器視覺(jué)與同時(shí)定位與建圖相結(jié)合(V-SLAM)[5-7]成為了機(jī)器人領(lǐng)域研究的熱點(diǎn)[8]。相比于采用雷達(dá)的二維SLAM,V-SLAM 通過(guò)機(jī)器視覺(jué)獲取三維信息,對(duì)物體空間的幾何外形進(jìn)行描述,對(duì)于機(jī)器人在未知領(lǐng)域的導(dǎo)航有著重要意義[9]。隨著國(guó)內(nèi)外學(xué)者的逐漸深入研究,V-SLAM 先后出現(xiàn)了LSD-SLAM、RGB-D SLAM、ORB-SLAM 及語(yǔ)義SLAM。

        TUM[10-11]計(jì)算機(jī)視覺(jué)組采用了直接法的方式,通過(guò)灰度圖的強(qiáng)度對(duì)相鄰的2 幀進(jìn)行匹配成功,實(shí)現(xiàn)大規(guī)模環(huán)境下的定位與建圖。Endres 等[12]使用深度相機(jī)獲取視覺(jué)信息,完成了RGB-D SLAM 算法,以提高建圖魯棒性。Mur-Artal 等[13]提出了經(jīng)典的ORB-SLAM 算法,在跟蹤、建圖、重定位及閉環(huán)檢測(cè)的過(guò)程中,全程采用ORB 特征完成,使其具有較好的實(shí)時(shí)性;隨后,為解決ORB-SLAM 所用相機(jī)單一且精度低的問(wèn)題,又提出了ORB-SLAM2[14],該算法采用光速平差法進(jìn)行優(yōu)化使定位更加精確,并提出了一種輕量級(jí)的定位模式,使其能夠更加有效地重用地圖。Liu 等[15]對(duì)物體語(yǔ)義信息進(jìn)行了總結(jié),語(yǔ)義SLAM[16-17]也逐漸出現(xiàn)在人們的視野中,借用物體的語(yǔ)義信息,成功提高了SLAM 的人機(jī)交互能力,提高了算法精度。

        相比于其他SLAM 算法,ORB-SLAM2 算法具有高效的實(shí)時(shí)性、相機(jī)使用的多樣性及良好的精度,深受?chē)?guó)內(nèi)外研究學(xué)者的喜愛(ài)。關(guān)鍵幀作為決定ORB-SLAM2 算法精度的重要因素,廣大學(xué)者針對(duì)其進(jìn)行了大量創(chuàng)新優(yōu)化,以提升算法性能。Yang 等[18]提出基于地圖元素和關(guān)鍵幀數(shù)據(jù)庫(kù)的離線地圖構(gòu)建算法,通過(guò)對(duì)關(guān)鍵幀與地圖元素在線儲(chǔ)存離線構(gòu)圖的方式提高建圖精度。Xie 等[19]提出重復(fù)運(yùn)動(dòng)檢測(cè)方法改進(jìn)關(guān)鍵幀選擇算法,剔除冗余關(guān)鍵幀以提高整個(gè)系統(tǒng)的實(shí)時(shí)性能及定位精度。Cui 等[20]在ORB-SLAM2 算法的基礎(chǔ)上使用圖像強(qiáng)度而非特征點(diǎn)匹配關(guān)鍵幀,提出了Direct-ORB-SLAM,該方法避免了計(jì)算冗余,使系統(tǒng)在效率與準(zhǔn)確度上均有提高。綜上所述,國(guó)內(nèi)外針對(duì)ORB-SLAM2 關(guān)鍵幀的研究已取得大量成果,但不難發(fā)現(xiàn):①在跟蹤定位的過(guò)程中,跟蹤失敗情況經(jīng)常發(fā)生,嚴(yán)重影響定位效果;②雖然對(duì)算法進(jìn)行了優(yōu)化,但精度不高,誤差較大的問(wèn)題依然存在。

        基于此,本文首先采用ORB-SLAM2 算法對(duì)幀間相對(duì)位姿進(jìn)行估計(jì);其次在原有算法模型的基礎(chǔ)上,增加旋轉(zhuǎn)與平移量作為判定依據(jù),決定是否插入新關(guān)鍵幀,解決了跟蹤定位易失敗的問(wèn)題,并提高了定位精度;然后設(shè)計(jì)了劣質(zhì)關(guān)鍵幀剔除算法,避免了因移動(dòng)機(jī)器人所安裝的相機(jī)與機(jī)器人機(jī)身產(chǎn)生相對(duì)運(yùn)動(dòng)而導(dǎo)致劣質(zhì)關(guān)鍵幀生成的問(wèn)題;最后通過(guò)RGB-D 數(shù)據(jù)集與移動(dòng)機(jī)器人開(kāi)展了實(shí)驗(yàn)驗(yàn)證。

        1 ORB-SLAM2 算法

        經(jīng)典的V-SLAM 算法框架主要通過(guò)視覺(jué)傳感器讀取數(shù)據(jù),完成前端視覺(jué)里程計(jì),通過(guò)后端進(jìn)行非線性?xún)?yōu)化,回環(huán)檢測(cè)再次對(duì)整體地圖進(jìn)行優(yōu)化更新,以完成地圖的構(gòu)建。而ORB-SLAM2 算法將經(jīng)典的V-SLAM 算法劃分為3 個(gè)線程:Tracking、Local Mapping、Loop Closing,并通過(guò)System 總線程完成對(duì)移動(dòng)機(jī)器人的定位與建圖。

        Tracking 線程主要包含相機(jī)定位、關(guān)鍵幀選取與插入、ORB 特征點(diǎn)提取及相機(jī)位姿估計(jì)。ORBSLAM2 算法采用了ORB 特征點(diǎn):由FAST 角點(diǎn)與角點(diǎn)位置的BRIEF 描述子組成,這種特征點(diǎn)有著較快的計(jì)算速率及較高的精度,其采用opencv 庫(kù)中的BruteForceMatcher 結(jié)合漢明距離進(jìn)行匹配,采用隨機(jī)采樣一致性算法(RANSAC)減少誤匹配對(duì),抑制噪聲,剔除外點(diǎn)。

        同時(shí),ORB-SLAM2 之所以能夠擁有較好的實(shí)時(shí)性,是因?yàn)樵诟櫨€程運(yùn)行的過(guò)程中,不對(duì)相機(jī)傳來(lái)的所有幀進(jìn)行處理,而是如圖1 所示根據(jù)關(guān)鍵幀生成規(guī)則生成關(guān)鍵幀,僅對(duì)選取的關(guān)鍵幀進(jìn)行處理,減少處理的幀數(shù),節(jié)約運(yùn)算資源,保證系統(tǒng)的實(shí)時(shí)性。

        圖1 關(guān)鍵幀選取示意圖Fig. 1 Schematic of key frame selection

        2 關(guān)鍵幀選擇算法

        2.1 常用關(guān)鍵幀選擇算法

        常用的關(guān)鍵幀選擇算法首先要保證當(dāng)前幀的內(nèi)點(diǎn)數(shù)超過(guò)設(shè)定的最小閾值,并且重疊度不高,既保證關(guān)鍵幀跟蹤的指令,同時(shí)又避免引入過(guò)多的信息冗余。上述條件符合時(shí),線程開(kāi)始對(duì)下述條件進(jìn)行判定,當(dāng)有一條判定成功時(shí),插入關(guān)鍵幀。

        1) 為避免通過(guò)幀數(shù)過(guò)多造成跟蹤丟失,在距離上次關(guān)鍵幀插入過(guò)去MAX 幀(預(yù)設(shè)的最大值)時(shí),插入關(guān)鍵幀。

        2) 為防止圖像重疊度過(guò)高,在距離上次插入關(guān)鍵幀至少過(guò)去MIN 幀(預(yù)設(shè)的最小值)且局部建圖線程處于空閑狀態(tài)時(shí),插入關(guān)鍵幀。

        3) 局部建圖線程處理能力有限,在該線程中需要保持關(guān)鍵幀隊(duì)列的關(guān)鍵幀不超過(guò)3 個(gè)。

        但是由于此關(guān)鍵幀篩選條件只與線程中通過(guò)幀的數(shù)量有關(guān),當(dāng)機(jī)器人在轉(zhuǎn)彎或者移動(dòng)速度過(guò)快的情況下,就會(huì)導(dǎo)致關(guān)鍵幀信息采集不足,漏掉重要信息,導(dǎo)致軌跡造成較大偏差,甚至跟蹤中斷。針對(duì)這一問(wèn)題,本文新增幀間相對(duì)運(yùn)動(dòng)量作為關(guān)鍵幀選擇條件,并設(shè)計(jì)劣質(zhì)關(guān)鍵幀剔除算法,以提高跟蹤定位精度。

        2.2 改進(jìn)關(guān)鍵幀選擇算法

        2.2.1 關(guān)鍵幀的選擇

        為提高定位精度,本文增加幀間相對(duì)運(yùn)動(dòng)量作為關(guān)鍵幀選擇條件之一。幀間相對(duì)運(yùn)動(dòng)量表示幀與幀之間的相對(duì)運(yùn)動(dòng)程度,主要由2 部分組成,分別是旋轉(zhuǎn)和平移,其中將旋轉(zhuǎn)作為主要變化量,平移作為次要變化量,計(jì)算方式如下:

        通過(guò)視覺(jué)里程計(jì)得到相匹配的特征點(diǎn),計(jì)算2 組點(diǎn)的質(zhì)心位置p'和p,計(jì)算每個(gè)點(diǎn)的去質(zhì)心坐標(biāo):

        對(duì)式(3)進(jìn)行化簡(jiǎn),去除與R無(wú)關(guān)項(xiàng),實(shí)際優(yōu)化函數(shù)化簡(jiǎn)為

        式中:E為奇異值組成的對(duì)角矩陣,對(duì)角線元素從大到小排列;U、V為對(duì)角矩陣。

        當(dāng)W為滿(mǎn)秩時(shí),即可根據(jù)式(6)計(jì)算得出R:

        通過(guò)計(jì)算出的R計(jì)算平移向量t:

        式中:R表示當(dāng)前幀與最新關(guān)鍵幀之間的幀間旋轉(zhuǎn)矩陣;t表示二者之間的平移向量。

        通過(guò)R和t求出D,并在ORB-SLAM2 系統(tǒng)中為其設(shè)定閾值Dk:

        式中: α為位移與轉(zhuǎn)角的平衡權(quán)值系數(shù),取值大小隨轉(zhuǎn)角增大呈指數(shù)形式增加。由于本文算法在原有以幀數(shù)為判定依據(jù)的關(guān)鍵幀選擇算法基礎(chǔ)上增加了轉(zhuǎn)角作為主要變化量,轉(zhuǎn)角所采用的平衡權(quán)值系數(shù),在存在角度轉(zhuǎn)變時(shí)遠(yuǎn)大于位置移動(dòng)的平衡權(quán)值系數(shù),采用式(9)的計(jì)算公式進(jìn)行計(jì)算,設(shè)ω=min(2π-‖R‖,‖R‖),取值范圍為0°~90°(當(dāng)旋轉(zhuǎn)角度大于90°時(shí),將徹底失去視角,無(wú)法特征點(diǎn)匹配):

        對(duì)計(jì)算所得相對(duì)運(yùn)動(dòng)量與其閾值進(jìn)行比較:當(dāng)D≥Dk時(shí), Framekey=Framecur, FrameRef=Framecur; 當(dāng)D

        當(dāng)判定通過(guò)后,將當(dāng)前幀設(shè)為關(guān)鍵幀,同時(shí)更新參考關(guān)鍵幀,再次計(jì)算當(dāng)前幀與新關(guān)鍵幀之間的相對(duì)運(yùn)動(dòng)量,算法流程如圖2 所示。圖中:Tracking線程中存在成員變量指針mCurrentFrame,指向當(dāng)前幀成員變量,其中包括圖像、深度信息、相對(duì)位姿等信息。

        圖2 關(guān)鍵幀選擇算法流程Fig. 2 Flowchart of key frame selection algorithm

        步驟 1 判斷插入關(guān)鍵幀的前置條件是否滿(mǎn)足:系統(tǒng)不處于定位模式且不在全局閉環(huán)的條件下,同時(shí)距離上一次重定位的距離較遠(yuǎn),內(nèi)點(diǎn)數(shù)必須超過(guò)設(shè)定的最小閾值,保證關(guān)鍵幀跟蹤質(zhì)量。

        步驟 2 在原有關(guān)鍵幀篩選條件的基礎(chǔ)上,增加了幀間相對(duì)運(yùn)動(dòng)量作為篩選條件之一,System 主線程中將Tracking 線程中的第1 幀作為初始關(guān)鍵幀,根據(jù)式(8)計(jì)算出當(dāng)前幀與關(guān)鍵幀的幀間相對(duì)運(yùn)動(dòng)量D。

        步驟 3 對(duì)幀間相對(duì)運(yùn)動(dòng)量進(jìn)行比較。如果當(dāng)前幀的相對(duì)運(yùn)動(dòng)大于或等于一定的閾值,說(shuō)明相機(jī)相對(duì)于之前跟蹤定位的位置有了較大的相對(duì)運(yùn)動(dòng),相機(jī)的視角發(fā)生了較大改變,此時(shí)不生成新的關(guān)鍵幀進(jìn)行定位,極有可能在跟蹤定位時(shí)產(chǎn)生誤差,甚至因檢測(cè)不到地圖點(diǎn)造成跟蹤中斷。

        因此,當(dāng)相對(duì)運(yùn)動(dòng)較大時(shí),添加關(guān)鍵幀可以有效改善這種情況。當(dāng)關(guān)鍵幀生成后,用新產(chǎn)生的關(guān)鍵幀作為參考關(guān)鍵幀繼續(xù)計(jì)算下一幀的相對(duì)位姿,直到整個(gè)系統(tǒng)循環(huán)結(jié)束。

        2.2.2 劣質(zhì)關(guān)鍵幀剔除

        本文自主設(shè)計(jì)研發(fā)的移動(dòng)機(jī)器人,在運(yùn)行過(guò)程中與機(jī)械臂共用相機(jī),因此地面輪胎的打滑及機(jī)器人移動(dòng)過(guò)程中的震動(dòng),會(huì)導(dǎo)致相機(jī)與機(jī)器人本身發(fā)生相對(duì)運(yùn)動(dòng)從而改變相機(jī)的視角,產(chǎn)生誤拍攝,此時(shí)所得關(guān)鍵幀會(huì)對(duì)跟蹤定位產(chǎn)生誤導(dǎo),從而使定位精度降低,本文將其定義為劣質(zhì)關(guān)鍵幀。針對(duì)這一問(wèn)題,本文設(shè)計(jì)了劣質(zhì)關(guān)鍵幀剔除算法,剔除由于誤拍攝造成的劣質(zhì)關(guān)鍵幀,提高跟蹤定位精度。

        在ORB-SLAM2 跟蹤定位線程中,存在冗余關(guān)鍵幀剔除模塊,該模塊只對(duì)冗余關(guān)鍵幀進(jìn)行剔除,并不對(duì)精度產(chǎn)生影響,其目的是為了節(jié)約資源,減輕工作線程負(fù)擔(dān)。本文基于冗余關(guān)鍵幀剔除模塊,設(shè)計(jì)了劣質(zhì)關(guān)鍵幀剔除算法,剔除過(guò)程如下:

        步驟 1 在關(guān)鍵幀生成時(shí),臨時(shí)存儲(chǔ)彩色圖像及時(shí)間戳。

        步驟 2 選取相鄰3 關(guān)鍵幀進(jìn)行ORB 特征匹配,分別保存了2 次相鄰關(guān)鍵幀特征點(diǎn)匹配數(shù)量NUMAdj1、NUMAdj2及一次相隔關(guān)鍵幀匹配數(shù)NUMSep。

        步驟 3若相鄰2 幀的特征點(diǎn)匹配數(shù)量小于相隔2 幀,說(shuō)明3 幀中的中間幀大概率是由于誤拍攝而產(chǎn)生的關(guān)鍵幀。

        步驟 4激活關(guān)鍵幀剔除函數(shù)對(duì)劣質(zhì)關(guān)鍵幀進(jìn)行剔除,繼續(xù)線程的運(yùn)行,直到整個(gè)線程結(jié)束,釋放內(nèi)存。

        偽代碼如下:

        這種方法區(qū)別于傳統(tǒng)SLAM 算法中只對(duì)相鄰2幀的關(guān)鍵幀進(jìn)行比較,而是采用了比較相鄰3 幀的方法。由于本文所設(shè)計(jì)的移動(dòng)機(jī)器人平臺(tái)不存在視角突變,算法運(yùn)行過(guò)程中,如果第1 幀和第3 幀差異較小,而第2 幀與兩者之間圖像差異較大,說(shuō)明第2 幀在拍攝的過(guò)程中,因震動(dòng)或其他原因?qū)е孪鄼C(jī)本身與移動(dòng)機(jī)器人之間發(fā)生了相對(duì)運(yùn)動(dòng),從而使視角發(fā)生了改變,產(chǎn)生了劣質(zhì)關(guān)鍵幀。

        3 實(shí) 驗(yàn)

        3.1 公開(kāi)數(shù)據(jù)集實(shí)驗(yàn)

        在Ubuntul 16.04 環(huán)境下進(jìn)行了公開(kāi)數(shù)據(jù)集實(shí)驗(yàn),計(jì)算機(jī)所用的CPU 為2.0 GHz i7,運(yùn)行內(nèi)存為4 GB。實(shí)驗(yàn)采用TUM RGB-D Benchmark 數(shù)據(jù)集,選取fr1中的desk、xyz 和room 進(jìn)行。依次對(duì)比了常用關(guān)鍵幀選擇算法、改進(jìn)關(guān)鍵幀選擇算法(包含劣質(zhì)關(guān)鍵幀)、改進(jìn)關(guān)鍵幀選擇算法(剔除劣質(zhì)關(guān)鍵幀)的實(shí)驗(yàn)效果。

        3.1.1 ORB-SLAM2 實(shí) 時(shí) 性 分 析

        SLAM 的實(shí)時(shí)性是評(píng)價(jià)其優(yōu)劣程度重要的性能指標(biāo),表1 對(duì)各個(gè)數(shù)據(jù)集平均跟蹤時(shí)間進(jìn)行了記錄。

        從表1 可知,由于對(duì)關(guān)鍵幀選擇算法進(jìn)行了改進(jìn),增加了關(guān)鍵幀選擇的計(jì)算量,導(dǎo)致運(yùn)行時(shí)間稍有增加,但由于相對(duì)整個(gè)系統(tǒng)而言計(jì)算并不復(fù)雜,增加時(shí)間極少,對(duì)系統(tǒng)的實(shí)時(shí)性并沒(méi)有造成影響。

        表1 平均跟蹤時(shí)間對(duì)比結(jié)果Table 1 Comparison of mean tracking time

        TUM 計(jì)算機(jī)視覺(jué)組數(shù)據(jù)集中包含利用運(yùn)動(dòng)視覺(jué)捕捉系統(tǒng)記錄的攝像頭在該場(chǎng)景下真實(shí)且連續(xù)的軌跡數(shù)據(jù),圖3(a)~圖3(c)分別為3 種算法所得到的估計(jì)軌跡與真實(shí)軌跡的對(duì)比軌跡曲線??梢悦黠@看出:①在圖3(a)的軌跡交叉處有較大視角突變,原有關(guān)鍵幀選擇算法未能檢測(cè)到此信息,導(dǎo)致跟蹤失敗,采用線段直接相連的方式進(jìn)行軌跡估計(jì);而改進(jìn)后的算法如圖3(b)、圖3(c)所示,跟蹤失敗并未發(fā)生,說(shuō)明改進(jìn)算法可以將轉(zhuǎn)彎信息較好地采集,并用于關(guān)鍵幀選擇,有效解決了跟蹤失敗的問(wèn)題。②圖3(a)中軌跡最右側(cè)轉(zhuǎn)彎后估計(jì)軌跡明顯偏離真實(shí)值,是由于原有關(guān)鍵幀選擇算法檢測(cè)轉(zhuǎn)彎信息出現(xiàn)了滯后,造成較大偏差;改進(jìn)后的算法增加了相對(duì)變化量,縮減了該處的定位誤差。③由于劣質(zhì)關(guān)鍵幀僅在移動(dòng)機(jī)器人實(shí)驗(yàn)中產(chǎn)生,圖3(b)與圖3(c)相差不大。

        圖3 三種關(guān)鍵幀選擇算法運(yùn)動(dòng)軌跡對(duì)比Fig. 3 Comparison of motion trajectories of three key frame selection algorithms

        對(duì)于定位精度,采用絕對(duì)軌跡誤差(absolute trajectory error,ATE)進(jìn)行比較。ATE 越小,精度越高。第i幀的ATE 定義如下:

        3.1.2 ORB-SLAM2 跟蹤定位精度分析

        式中: Δ為真實(shí)位置與估計(jì)位置之間的誤差;Fi為第i幀的ATE;Qi為真實(shí)位姿;Pi為算法估計(jì)位姿;S為從估計(jì)位姿到真實(shí)位姿的相似旋轉(zhuǎn)矩陣。

        將估計(jì)軌跡與真實(shí)軌跡進(jìn)行對(duì)比,繪制出絕對(duì)軌跡誤差曲線,如圖4 所示。圖4(a)為常用關(guān)鍵幀選擇算法所得到的估計(jì)軌跡與真實(shí)曲線的誤差,圖4(b)為2 種改進(jìn)關(guān)鍵幀選擇算法后所得到估計(jì)軌跡與真實(shí)軌跡的誤差,是否添加劣質(zhì)關(guān)鍵幀剔除算法對(duì)誤差結(jié)果并沒(méi)有太大影響,說(shuō)明劣質(zhì)關(guān)鍵幀剔除算法對(duì)數(shù)據(jù)集的定位精度并沒(méi)有太大影響。由圖4可以看出,相較于常用關(guān)鍵幀選擇算法,改進(jìn)后的算法有明顯提高。

        圖4 定位軌跡誤差曲線Fig. 4 Curve of track positioning error

        選取最大絕對(duì)軌跡誤差作為評(píng)判標(biāo)準(zhǔn),表2 為3 種算法下的最大絕對(duì)軌跡誤差。

        由表2 可知:①改進(jìn)關(guān)鍵幀選擇算法相比于常用關(guān)鍵幀選擇算法,在3 個(gè)數(shù)據(jù)集中誤差均明顯降低,最優(yōu)結(jié)果改進(jìn)后的算法誤差僅為改進(jìn)前誤差的51.9%;②剔除了劣質(zhì)關(guān)鍵幀的改進(jìn)算法與包含劣質(zhì)關(guān)鍵幀的選擇算法軌跡誤差相差較小,僅存在合理波動(dòng),這是由于以數(shù)據(jù)集作為實(shí)驗(yàn)對(duì)象時(shí),數(shù)據(jù)集內(nèi)部并不包含劣質(zhì)關(guān)鍵幀。

        表2 最大絕對(duì)軌跡誤差對(duì)比Table 2 Maximum absolute trajectory error

        綜上,改進(jìn)后的關(guān)鍵幀選擇算法在保證實(shí)時(shí)性的情況下,能夠有效地提高算法估計(jì)軌跡精度,同時(shí)還能有效避免跟蹤失敗的情況發(fā)生。

        3.1.3 ORB-SLAM2 關(guān)鍵幀數(shù)量分析

        圖5 比較了不同數(shù)據(jù)集下3 種關(guān)鍵幀選擇算法計(jì)算的關(guān)鍵幀數(shù)量。顯然,改進(jìn)后的關(guān)鍵幀選擇算法的關(guān)鍵幀數(shù)量明顯大于改進(jìn)前,說(shuō)明改進(jìn)后的算法選擇了更多的關(guān)鍵幀以提升估計(jì)定位精度。

        圖5 數(shù)據(jù)集實(shí)驗(yàn)關(guān)鍵幀數(shù)量比較Fig. 5 Comparison of key frame numbers in dataset experiments

        3.2 移動(dòng)機(jī)器人實(shí)驗(yàn)

        本文自主設(shè)計(jì)的移動(dòng)機(jī)器人如圖6 所示,采用大唐工控機(jī)新創(chuàng)云i7mini 主機(jī)作為平臺(tái)的嵌入式主控機(jī),搭配一款15.6 寸觸控屏作為人機(jī)交互硬件,并選用奧比中光深度相機(jī)作為視覺(jué)傳感器為機(jī)器人傳送視覺(jué)信息數(shù)據(jù)。實(shí)驗(yàn)比較了3 種算法在實(shí)時(shí)運(yùn)行過(guò)程中的定位精度。

        圖6 移動(dòng)機(jī)器人Fig. 6 Mobile robot

        實(shí)驗(yàn)內(nèi)容主要包括機(jī)器人直線運(yùn)動(dòng)、轉(zhuǎn)彎運(yùn)動(dòng)及回環(huán)運(yùn)動(dòng)3 種運(yùn)動(dòng)方式。對(duì)機(jī)器人設(shè)計(jì)搭建、相機(jī)標(biāo)定等操作后,通過(guò)對(duì)3 種運(yùn)動(dòng)的實(shí)際軌跡和ORB-SLAM2 跟蹤估計(jì)的定位軌跡進(jìn)行測(cè)量,分別進(jìn)行了6 次實(shí)驗(yàn),并取誤差平均值進(jìn)行比較。圖7為3 種關(guān)鍵幀選擇算法對(duì)應(yīng)的回環(huán)運(yùn)動(dòng)軌跡對(duì)比。由于數(shù)據(jù)為機(jī)器人實(shí)時(shí)輸出,真實(shí)軌跡存在差異,并不能在同一坐標(biāo)系內(nèi)進(jìn)行繪制。

        由圖7 可知:①圖7(b)相比于圖7(a)有一部分路程未能檢出,發(fā)生了跟蹤失敗的情況,在轉(zhuǎn)彎處,明顯因檢測(cè)信息滯后而導(dǎo)致估計(jì)轉(zhuǎn)角過(guò)小增大誤差;②由圖7(c)、(d)軌跡曲線可知,算法未發(fā)生大規(guī)模跟蹤失敗,且轉(zhuǎn)角處定位精度明顯提高;③圖7(e)、(f)為剔除了劣質(zhì)關(guān)鍵幀的改進(jìn)算法,由于剔除了劣質(zhì)關(guān)鍵幀,圖7(f)的軌跡更接近真實(shí)軌跡曲線,抖動(dòng)明顯減少,在一定程度上提高了定位精度。

        圖7 回環(huán)運(yùn)動(dòng)軌跡對(duì)比Fig. 7 Comparison of loop trajectories

        表3 為不同關(guān)鍵幀選擇算法所得到的軌跡與真實(shí)軌跡平均位置誤差??芍孩侔淤|(zhì)關(guān)鍵幀的改進(jìn)算法相較于改進(jìn)前算法,成功提高了定位精度,由于算法改進(jìn)主要針對(duì)轉(zhuǎn)向,直線時(shí)誤差減小并不明顯,但轉(zhuǎn)彎與回環(huán)運(yùn)動(dòng)時(shí)定位精度顯著提高,誤差僅為原誤差的58.1%;②剔除劣質(zhì)關(guān)鍵幀的改進(jìn)算法軌跡精度與未剔除相比明顯提高,尤其在直行時(shí),誤差為包含劣質(zhì)關(guān)鍵幀算法誤差的82.1%。

        表3 平均位置誤差Table 3 Average position error

        圖8 比較了機(jī)器人不同運(yùn)行方式下的3 種關(guān)鍵幀選擇算法計(jì)算的關(guān)鍵幀數(shù)量。顯然,機(jī)器人實(shí)時(shí)運(yùn)行的過(guò)程中,改進(jìn)后的算法除直線外同樣選擇更多的關(guān)鍵幀以保證算法精度,而直線過(guò)程未發(fā)生角度轉(zhuǎn)變,因此關(guān)鍵幀數(shù)量在誤差范圍內(nèi)合理波動(dòng);剔除劣質(zhì)關(guān)鍵幀后,關(guān)鍵幀數(shù)量相對(duì)減少,在直線過(guò)程中最為明顯,所剔除的劣質(zhì)關(guān)鍵幀數(shù)量約達(dá)到關(guān)鍵幀總數(shù)的25%;回環(huán)運(yùn)動(dòng)的直線行駛路程為直線運(yùn)動(dòng)的2 倍,但多次實(shí)驗(yàn)所剔除的劣質(zhì)關(guān)鍵幀數(shù)量均未達(dá)到直線運(yùn)動(dòng)的2 倍。造成這種現(xiàn)象的原因有3 點(diǎn):①角度的轉(zhuǎn)變會(huì)對(duì)劣質(zhì)關(guān)鍵幀的判斷造成干擾;②劣質(zhì)關(guān)鍵幀是否生成與機(jī)器人所處環(huán)境的優(yōu)劣特別是路面的平滑度有著極大的關(guān)聯(lián);③實(shí)時(shí)運(yùn)行的過(guò)程不能?chē)?yán)格保證機(jī)器人運(yùn)行軌跡完全相同。

        圖8 移動(dòng)機(jī)器人實(shí)驗(yàn)關(guān)鍵幀數(shù)量比較Fig. 8 Comparison of key frame numbers in mobile robot experiments

        3.3 實(shí)驗(yàn)參數(shù)分析

        實(shí)驗(yàn)過(guò)程中應(yīng)對(duì)某些參數(shù)進(jìn)行調(diào)整,參數(shù)調(diào)整不當(dāng)會(huì)造成定位錯(cuò)誤,系統(tǒng)運(yùn)行資源浪費(fèi),甚至使系統(tǒng)崩潰。對(duì)于不同的數(shù)據(jù)集,通過(guò)計(jì)算及多次實(shí)驗(yàn)調(diào)整的方式確定算法所用參數(shù)。

        最大幀間相對(duì)位移量Dk是通過(guò)計(jì)算并進(jìn)行多次實(shí)驗(yàn)后,依據(jù)算法最小絕對(duì)估計(jì)誤差確定。Dk越大,表明選取關(guān)鍵幀時(shí)通過(guò)的相對(duì)位移越大,可能導(dǎo)致重要關(guān)鍵幀被忽略而導(dǎo)致精度降低;Dk越小,表明選取時(shí)通過(guò)的相對(duì)位移越小,選取的關(guān)鍵幀就會(huì)隨之增多,產(chǎn)生冗余,導(dǎo)致系統(tǒng)實(shí)時(shí)性降低,對(duì)后續(xù)的建圖工作產(chǎn)生較大影響。本文中Dk取轉(zhuǎn)角為45°、位移為0 時(shí)計(jì)算值,并通過(guò)實(shí)驗(yàn)進(jìn)行微調(diào)。此轉(zhuǎn)角下相鄰2 關(guān)鍵幀在匹配到足夠特征點(diǎn)進(jìn)行計(jì)算的同時(shí),有效防止過(guò)多關(guān)鍵幀的產(chǎn)生浪費(fèi)系統(tǒng)內(nèi)存。在不同的實(shí)驗(yàn)條件下,相機(jī)的采樣頻率、機(jī)器人的運(yùn)行速度及環(huán)境的規(guī)模大小均對(duì)Dk的最佳值產(chǎn)生影響。一般情況,Dk取30~50 為最佳。

        4 結(jié) 論

        1) 提出了一種改變關(guān)鍵幀選擇判定條件的ORBSLAM2 算法,在原有算法的基礎(chǔ)增加了相對(duì)運(yùn)動(dòng)量作為選擇依據(jù),有效避免了跟蹤失敗,提高了定位精度。

        2) 提出了一種劣質(zhì)關(guān)鍵幀剔除算法,解決了相機(jī)與移動(dòng)機(jī)器人機(jī)身之間的相對(duì)運(yùn)動(dòng)產(chǎn)生的劣質(zhì)關(guān)鍵幀問(wèn)題。

        3) 通過(guò)數(shù)據(jù)集與移動(dòng)機(jī)器人實(shí)驗(yàn)驗(yàn)證了算法的優(yōu)異性。實(shí)驗(yàn)結(jié)果表明,數(shù)據(jù)集估計(jì)定位誤差的最優(yōu)結(jié)果約為改進(jìn)前算法的51.9%;移動(dòng)機(jī)器人實(shí)驗(yàn)約為改進(jìn)前的62.9%。剔除劣質(zhì)關(guān)鍵幀后,直線誤差僅為原來(lái)的82.1%。

        猜你喜歡
        關(guān)鍵幀劣質(zhì)移動(dòng)機(jī)器人
        移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
        山地盛果期劣質(zhì)棗樹(shù)改接換優(yōu)關(guān)鍵技術(shù)
        昆鋼2500m3高爐使用劣質(zhì)焦炭生產(chǎn)實(shí)踐
        昆鋼科技(2021年3期)2021-08-23 01:27:38
        基于改進(jìn)關(guān)鍵幀選擇的RGB-D SLAM算法
        低產(chǎn)劣質(zhì)棗園高接改優(yōu)增效技術(shù)
        基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
        劣質(zhì)眼鏡對(duì)眼睛的傷害
        基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
        基于聚散熵及運(yùn)動(dòng)目標(biāo)檢測(cè)的監(jiān)控視頻關(guān)鍵幀提取
        論“關(guān)鍵幀”在動(dòng)畫(huà)制作中的作用
        超碰青青草手机在线免费观看| 18无码粉嫩小泬无套在线观看| 无人区乱码一区二区三区 | 极品少妇一区二区三区四区| 亚洲永久无码动态图| 极品美女尤物嫩模啪啪| 人妻经典中文字幕av| 国产精品99无码一区二区| 特级毛片a级毛片免费播放| 毛片一级精油按摩无码| 杨幂一区二区系列在线| 人人人妻人人澡人人爽欧美一区| 亚洲丁香五月激情综合| 亚洲日本VA午夜在线电影| 日韩精品中文字幕一区二区| 品色堂永远免费| 少妇高潮喷水正在播放| 亚洲av影片一区二区三区| 国产一品二品精品在线| 专干老肥熟女视频网站300部| 久久精品波多野结衣中文字幕| 亚洲日本视频一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 老妇肥熟凸凹丰满刺激| 国产精品视频一区二区三区,| 麻豆国产av在线观看| 色哟哟精品视频在线观看| 日韩A∨精品久久久久| 丝袜美腿一区二区在线观看| 青青草狠吊色在线视频| 国产精品久久久久久久久免费| 国产乱人伦真实精品视频| 毛片精品一区二区二区三区| 欧美最猛黑人xxxx黑人猛交| 波多野结衣亚洲一区二区三区| 在线免费观看国产视频不卡| 国产精华液一区二区三区| 国产日韩精品中文字无码| 男人阁久久| 中文字幕在线乱码亚洲| 18禁真人抽搐一进一出在线|