• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法

      2019-09-25 09:43:44
      計(jì)算機(jī)測量與控制 2019年9期
      關(guān)鍵詞:關(guān)鍵幀線段梯度

      (上海大學(xué) 機(jī)械制造及其自動(dòng)化系,上海 200072)

      0 引言

      同步定位和地圖構(gòu)建技術(shù)[1](SLAM)在過去二十年中一直是計(jì)算機(jī)視覺和機(jī)器人領(lǐng)域的熱門研究方向,被認(rèn)為是實(shí)現(xiàn)移動(dòng)機(jī)器人自主化的核心技術(shù)。視覺SLAM需要將觀測到的圖像信息同環(huán)境進(jìn)行數(shù)據(jù)關(guān)聯(lián),其中點(diǎn)特征經(jīng)常被用于數(shù)據(jù)關(guān)聯(lián)。

      基于點(diǎn)特征的典型算法有PTAM[2],SIFT[3]和SURF[4]等。由于SIFT和SURF算法計(jì)算量太大,難以滿足實(shí)時(shí)計(jì)算要求,Mur-Artal等人在PTAM算法的基礎(chǔ)上提出ORB-SLAM算法[5],通過快速連續(xù)地跟蹤ORB特征,以適應(yīng)實(shí)時(shí)計(jì)算。ORB-SLAM 在紋理豐富的場景中,有令人印象深刻的表現(xiàn);但在處理低紋理場景時(shí),由于點(diǎn)特征不足或者分布不均而導(dǎo)致算法性能下降。

      與點(diǎn)特征相比,線特征承載更多的結(jié)構(gòu)信息。而且人造場景中具有豐富的邊緣和線性形狀的規(guī)則結(jié)構(gòu),線特征尤為明顯。近年來,基于線特征的算法受到越來越多的關(guān)注。Albert Pumarola等人提出了單目點(diǎn)線結(jié)合的視覺PL-SLAM算法,通過端點(diǎn)來表示線段,并計(jì)算端點(diǎn)到線的投影距離來統(tǒng)計(jì)誤差[6]。Xiaojia Xie等人改進(jìn)了空間線的表示方法,首次采用正交表示作為最小化參數(shù)來模擬線特征以及視覺SLAM中的點(diǎn)特征,并分析得出了關(guān)于線參數(shù)的重新投影誤差的雅可比行列,改進(jìn)了SLAM的解決方案[7]。Ruben Gomez-Ojeda等人又將點(diǎn)線融合的SLAM系統(tǒng)擴(kuò)展到了雙目視覺[8]。

      針對部分低紋理場景中點(diǎn)特征不足以及現(xiàn)有LSD線特征提取算法存在線段過分割[9]問題,本文提出一種改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法(ISSLAM- Improved Stereo SLAM)。通過梯度密度濾波,改進(jìn)LSD線特征提取算法;線段合并機(jī)制,優(yōu)化提取出的斷線;采用聯(lián)合點(diǎn)線特征的擴(kuò)展詞袋模型,提高了SLAM算法的精度和魯棒性。

      1 改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法

      本文所提的改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法(ISSLAM- Improved Stereo SLAM) 如圖1所示,主要包括特征跟蹤、局部建圖和閉環(huán)檢測3個(gè)步驟。首先對輸入的圖像序列進(jìn)行預(yù)處理,在此基礎(chǔ)上進(jìn)行點(diǎn)線特征提取,并通過線段合并來優(yōu)化點(diǎn)線特征。利用這些點(diǎn)線特征進(jìn)行特征匹配及相機(jī)位姿估計(jì),并從中篩選出有價(jià)值的幀作為關(guān)鍵幀插入到局部地圖庫中。最后調(diào)用場景識別庫來進(jìn)行閉環(huán)檢測,優(yōu)化全局地圖。

      局部建圖調(diào)用地圖庫通過增刪等操作進(jìn)行更新與優(yōu)化。地圖庫中的信息主要包括關(guān)鍵幀、地圖點(diǎn)和地圖直線。場景識別庫由點(diǎn)線視覺詞典和圖像數(shù)據(jù)庫組成,可以計(jì)算圖像間的相似程度,用于判斷場景是否形成閉環(huán)。

      圖1 改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法

      2 特征跟蹤

      當(dāng)下流行的特征跟蹤方式通常是基于ORB的特征點(diǎn)進(jìn)行相機(jī)運(yùn)動(dòng)軌跡的估計(jì),然而在某些低紋理場景中,經(jīng)常由于特征點(diǎn)采集不足而導(dǎo)致跟蹤失效。因此我們將線特征加入進(jìn)來。在線檢測方法中,LSD[9](line segment detector)算法被認(rèn)為是最好和最流行的方法之一。它是按照梯度方向的一致性直接將鄰近像素編組為線段區(qū)域,能在線性時(shí)間內(nèi)得出亞像素級精度的檢測結(jié)果。

      雖然LSD算法在速度和精度上都取得了不錯(cuò)的效果,但是也存在自身缺陷。由于它在采集特征時(shí)沒有篩選與合并機(jī)制,會在圖像中的局部密集區(qū)域采集大量相似線特征,且易發(fā)生線段過度分割的現(xiàn)象[9]。

      有鑒于此,本文首先通過梯度密度濾波器[10]進(jìn)行圖像預(yù)處理,剔除局部密度過高的區(qū)域;然后采用LSD算法進(jìn)行線特征提取,并且將LSD提取出的線段進(jìn)行合并,以減少線特征檢測的數(shù)量,提高特征檢測的精度和效率。

      2.1 基于梯度密度濾波器的圖像預(yù)處理

      在我們所檢測的環(huán)境中,某些區(qū)域中過高的線段檢測密度(如圖2中所示的網(wǎng)格圖案)通常會導(dǎo)致線匹配的結(jié)果不正確且耗費(fèi)了很多時(shí)間。而且在同一密集區(qū)域中,大量相似的線條在匹配過程中也很容易出錯(cuò)。為此,我們設(shè)計(jì)了一個(gè)濾波器,利用局部像素梯度的密度值作為篩選準(zhǔn)則,對于特征過于稠密的區(qū)域,以輪廓檢測替代完整的線特征檢測,以避免出現(xiàn)大量的無效特征,從而提高特征提取與匹配的效率,降低算法的計(jì)算量與誤匹配率。

      圖2 局部線特征密集區(qū)

      圖像梯度反映了圖像中灰度變化的劇烈程度,線特征通常出現(xiàn)在梯度較高的區(qū)域。若某區(qū)域內(nèi)梯度較高的像素?cái)?shù)量過多時(shí),意味著該區(qū)域高梯度的像素過于密集,預(yù)判為線特征密集區(qū)域,將其剔除以減小后期特征匹配的計(jì)算復(fù)雜度,提高匹配精度。

      將單位區(qū)域內(nèi)梯度較高的像素點(diǎn)數(shù)所占的百分比定義為像素梯度密度,以衡量該區(qū)域是否為特征密集區(qū)域,作為濾波過程中剔除圖像中特征密集區(qū)域的依據(jù)。

      設(shè)像素點(diǎn)(i,j)的梯度值為[11],其強(qiáng)度的定義如式(1)所示,當(dāng)梯度值大于強(qiáng)度閾值時(shí)標(biāo)記為1,否則為0。

      (1)

      區(qū)域的梯度密度ρij定義為:以像素點(diǎn)(i,j)為中心的k×k區(qū)域內(nèi),梯度大于閾值Gs的像素點(diǎn)數(shù)所占的百分比。

      (2)

      為了判別梯度密度過高的像素區(qū)域,以進(jìn)行濾波處理,減少圖像中特征稠密區(qū)域?qū)τ谔卣髌ヅ涞挠绊?。以像素區(qū)域梯度密度閾值ρDENSE為衡量標(biāo)準(zhǔn),將梯度密度ρij大于ρDENSE的像素區(qū)域視為特征稠密區(qū)域,線段檢測時(shí)視為無效區(qū)域,不予處理。由此,線段檢測有效區(qū)域標(biāo)識定義為:

      (3)

      在濾波過程中,梯度密度閾值ρDENSE對濾波效果影響很大。閾值設(shè)置過大,無法濾除特征密集區(qū)域,濾波效果不顯著;閾值設(shè)置過小,則會濾除許多有效的檢測區(qū)域。在此設(shè)定ρDENSE=0.75。

      實(shí)際濾波過程分檢測和標(biāo)記兩個(gè)步驟。首先將k值設(shè)為5,找到小范圍的高梯度密度區(qū)域;然后在此基礎(chǔ)上進(jìn)行區(qū)域擴(kuò)展,將k值設(shè)置為21,最終將的區(qū)域標(biāo)記為無效區(qū)域,并對該區(qū)域禁用線段檢測。

      圖3(a)和3(b)分別為LSD算法檢測的結(jié)果和加入梯度密度濾波器后的效果對比,由此可知,加入濾波器后,密集區(qū)域內(nèi)部不再進(jìn)行線段檢測,而只是在其周圍輪廓區(qū)域提取部分線段,避免在后期匹配過程中過多細(xì)碎分段帶來的時(shí)間和精度上的影響,減小計(jì)算代價(jià),提高系統(tǒng)精度。

      利用梯度密度濾波器,剔除了局部的梯度較高的密集區(qū)域,最終得到圖像中有效的檢測區(qū)域,為后續(xù)點(diǎn)線特征的提取打下基礎(chǔ)。

      2.2 基于LSD線段合并的線特征提取

      在線特征提取階段,利用LSD算法提取線特征[9],在此基礎(chǔ)上利用各線段的角度特性、空間位置特性和長度特性,進(jìn)行斷線的分組和合并,解決LSD算法過分割的弊端,減少線特征的數(shù)量。

      LSD線段合并算法由線段分組和線段合并來完成。在線段分組階段,利用角度貼近度和空間接近度來判斷同一直線上的斷線??紤]計(jì)算的復(fù)雜程度,依次利用角度貼近度、水平坐標(biāo)接近度和垂直坐標(biāo)接近度粗略篩選出可合并的同一直線上的候選斷線,分為一組。在線段合并階段,引入線段長度因素,以線段角度、歸一化后的長度和空間距離作為可合并性標(biāo)準(zhǔn),精確判斷并完成斷線合并。

      2.2.1 線段分組

      首先,按線段長度的降序?qū)SD算法提取出的線段進(jìn)行排序,得到{L1,L2,L3,…,Ln}。線段分組從最長的線段L1開始進(jìn)行,因?yàn)檩^長的線段往往來自具有連續(xù)強(qiáng)梯度的圖像區(qū)域,所以更可靠。

      線段Li的兩個(gè)端點(diǎn)為(Ai,Bi),其坐標(biāo)分別為(xAi,yAi)和(xBi,yBi)。Li的長度為li,與水平方向的夾角為θi。

      不失一般性,設(shè)當(dāng)前最長線段為L1,則線段集合L={L2,L3,…,Ln}中滿足角度篩選條件式(4)、水平距離篩選條件式(5)、垂直距離篩選條件式(6)的線段分為一組,構(gòu)成線段組。

      線段分組流程如圖4所示。

      圖4 線段分組流程

      經(jīng)過角度篩選,得到候選線段組L1:

      L1=[Li∈L:(|θi-θ1|<θs) ]

      (4)

      其中:θS為衡量線段特征角度相近程度的角度篩選閾值。

      經(jīng)過水平距離篩選,得到候選線段組L2:

      L2=

      (5)

      經(jīng)過垂直距離篩選,得到線段組PL1:

      PL1=

      (6)

      其中:ds為衡量線段特征水平和垂直距離接近程度的距離篩選閾值。

      依據(jù)3個(gè)篩選條件,將角度和空間上都與L1很接近的線段分為一組,最終得到候選線段集PL1={L2,L3,…,Ln}為后續(xù)線段合并打下基礎(chǔ)。值得注意的是3個(gè)篩選條件的順序很重要,因?yàn)榻嵌群Y選的計(jì)算最簡便,所以應(yīng)該最先使用。此外,以水平距離篩選和垂直距離篩選取代歐幾里德距離篩選,由于僅涉及絕對值的加減運(yùn)算,極大地提高篩選效率,減小計(jì)算代價(jià)。

      2.2.2 線段合并

      經(jīng)過線段分組得到的候選線段集PL1,還需要經(jīng)過端點(diǎn)距離、角度修正值和夾角偏差的進(jìn)一步精確篩選,以完成線段合并,流程如圖5所示。

      圖5 線段合并流程圖

      如圖6所示,兩條線段Li(端點(diǎn)Ai,Bi)和Lj(端點(diǎn)Aj,Bj)的間距,用其最近端點(diǎn)的距離dij表示:

      dij=min(|Ai-Aj|,|Ai-Bj|,

      |Bi-Aj|,|Bi-Bj|)

      (7)

      圖6 兩線段最近端點(diǎn)距離表示

      利用最近端點(diǎn)距離,篩選出兩條線段空間接近程度小于閾值ds的候選線段組L3:

      L3=[?Li∈PL1:(dij

      (8)

      考慮到線段長度和間距的影響因素,需對候選線段組L3中的角度閾值做出修正。當(dāng)前較長線段為L1,與其相匹配的線段li∈{L2,L3,…,Ls}的閾值修正系數(shù)為λi為:

      (9)

      綜合考慮線段長度和兩條線段間距對角度篩選的影響,線段Li的自適應(yīng)角度閾值為:

      (10)

      (11)

      其中:θM是預(yù)合并后的線段M的傾角。

      線段分組及合并這兩個(gè)步驟,重復(fù)迭代地進(jìn)行,直到無法再合并為止。

      圖7(a)為LSD算法檢測出的線段,白色框中表明線段存在斷線的情況;圖7(b)為改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法(ISSLAM)的檢測結(jié)果??梢钥闯?,ISSLAM算法將LSD檢測出的斷線很好的合并在一起(如白線框中區(qū)域所示),提升了系統(tǒng)的精度。

      圖7 線段合并效果對比

      根據(jù)濾波處理、線段檢測和合并后得到的線段特征,計(jì)算通用的LBD[12]描述子,用于線段間的特征匹配和運(yùn)動(dòng)估計(jì)。

      2.3 運(yùn)動(dòng)估計(jì)

      利用圖像中提取出的特征點(diǎn)、線的描述子進(jìn)行特征匹配,可以得到3D特征與2D特征的匹配關(guān)系。將當(dāng)前幀觀測到的3D特征點(diǎn)、線投影到下一幀的2D圖像平面上,然后根據(jù)相鄰幀間投影點(diǎn)線與匹配的點(diǎn)線之間的誤差關(guān)系,可以進(jìn)行相機(jī)姿態(tài)的初步估計(jì)[13]。具體方法不再贅述。

      2.4 關(guān)鍵幀選擇

      相機(jī)運(yùn)動(dòng)過程中會采集數(shù)據(jù),連續(xù)運(yùn)動(dòng)一段時(shí)間后這些數(shù)據(jù)便組成了場景的地圖。但由于內(nèi)存資源有限,我們不可能將所有幀都插入地圖中,而是會從中選擇出一些有代表性的關(guān)鍵幀。

      本文沿用ORB-SLAM中關(guān)鍵幀選擇的策略[5],對于當(dāng)前幀,首先找到與之具有最多共同觀測的關(guān)鍵幀作為參考關(guān)鍵幀,滿足以下所有條件即可視為關(guān)鍵幀:

      1)距離上一次關(guān)鍵幀的插入已經(jīng)過了20幀或者局部地圖構(gòu)建線程空閑

      2)當(dāng)前幀至少跟蹤到了50個(gè)特征點(diǎn)和15條空間直線

      3)當(dāng)前幀包含參考關(guān)鍵幀中的特征要少于75%

      條件2保證了位姿估計(jì)的質(zhì)量,條件3保證了兩幀圖像之間具有一定的視覺變化。

      3 局部建圖

      當(dāng)篩選出的新關(guān)鍵幀插入地圖后,要建立當(dāng)前關(guān)鍵幀與其他關(guān)鍵幀之間的連接關(guān)系。在跟蹤線程中已經(jīng)獲得了相機(jī)位姿和環(huán)境地圖。在局部建圖線程中,要對位姿和路標(biāo)進(jìn)一步優(yōu)化。局部建圖線程主要包括兩部分:局部地圖管理及局部地圖優(yōu)化。

      局部地圖管理的主要任務(wù)包括:(1)把當(dāng)前處理的關(guān)鍵幀中提取的 2D 點(diǎn)、線特征3D 參數(shù)化到地圖數(shù)據(jù)庫中;(2)對地圖中重復(fù)的點(diǎn)、線特征進(jìn)行融合;(3)對地圖中跟蹤質(zhì)量不佳的點(diǎn)、線特征進(jìn)行剔除;(4)對地圖中的冗余關(guān)鍵幀進(jìn)行剔除。

      局部地圖優(yōu)化就是指從環(huán)境中抽取一部分位姿和路標(biāo)進(jìn)行優(yōu)化。因?yàn)槊恳粠际峭ㄟ^幀之間的相對運(yùn)動(dòng)得到的,所以不可避免的會有誤差積累,故需要優(yōu)化,減少誤差。

      其具體計(jì)算方式如下,首先定義變量,用ψ表示總的投影誤差,由點(diǎn)的投影誤差eij和線的投影誤差eik組成:

      (12)

      投影誤差eij為3D點(diǎn)Xωj投影到第i幀圖像上的2D點(diǎn)π(ξiω,Xωj)與實(shí)際像素位置xij之差:

      eij=xij-π(ξiω,Xωj)

      (13)

      其中:π為投影函數(shù),ξiω為關(guān)鍵幀i的位姿。

      線的投影誤差eik由線段k的端點(diǎn)的3D位置(Pωk,Qωk)在第i幀圖像上的投影與實(shí)際線段所在直線lik計(jì)算而得:

      (14)

      采用Levenberg-Marquardt方法[14]優(yōu)化投影誤差ψ,誤差的增量為:

      Δψ=[H+λdiag(H) ]-1JTWe

      (15)

      其中的J、H代表了雅可比矩陣和海瑟矩陣,e是包含了點(diǎn)和線的總誤差,λ是變量因子,λ較小時(shí),接近于高斯牛頓法,當(dāng)λ較大時(shí),接近于最速下降法。

      ψ(k+1)=ψ(k)·Δψ

      (16)

      通過迭代計(jì)算式(16)直到收斂,求得最小化投影誤差ψ。

      有別于運(yùn)動(dòng)估計(jì)階段僅考慮相鄰幀間的投影誤差,在局部地圖優(yōu)化階段,需要綜合考慮局部地圖內(nèi)一系列關(guān)鍵幀間的投影誤差和,通過求解多幀間誤差和的最小值,以調(diào)整局部地圖中的相機(jī)位姿和路標(biāo)點(diǎn)位置,從而得到更精確的結(jié)果。

      4 閉環(huán)檢測

      視覺SLAM系統(tǒng)在缺少外部控制信息時(shí),系統(tǒng)的累積誤差會不斷增大,長期積累后會造成定位失效。在實(shí)際應(yīng)用中,相機(jī)會運(yùn)動(dòng)至先前經(jīng)過的地方從而形成閉環(huán)。閉環(huán)的引入可有效的修正累積誤差,對長時(shí)間遠(yuǎn)距離運(yùn)動(dòng)的視覺SLAM有重要意義。閉環(huán)檢測實(shí)質(zhì)是判斷當(dāng)前圖像與歷史較早圖像之間是否存在關(guān)聯(lián),若兩圖像相似度達(dá)到一定程度,則認(rèn)為形成了閉環(huán)?;贐oW的詞袋模型[15]方法是應(yīng)用最廣泛的閉環(huán)檢測方法之一,它從圖像中提取特征點(diǎn),矢量化成視覺單詞,然后建立詞匯樹用于圖像間相似度的判別。

      本文對原有的基于特征點(diǎn)的詞袋模型方法進(jìn)行擴(kuò)展,將線特征也考慮進(jìn)來,提出了一種新的詞匯樹構(gòu)造方式,提升了回環(huán)檢測的精度和魯棒性。

      4.1 擴(kuò)展詞匯樹的構(gòu)造方法

      傳統(tǒng)的詞匯樹構(gòu)建方法是基于點(diǎn)特征進(jìn)行創(chuàng)建的,需使用大量的點(diǎn)特征描述子進(jìn)行訓(xùn)練,以構(gòu)建視覺詞典,然后不斷用k均值聚類算法[16]建立詞匯樹。

      圖8 融合點(diǎn)線特征的詞袋模型

      盡管已經(jīng)證明這種方法具有可擴(kuò)展性和高效性,但它并不適用于同時(shí)具有點(diǎn)線特征類型的詞匯樹。因此,本文提出圖8所示的改進(jìn)的詞匯樹。首先將訓(xùn)練的ORB點(diǎn)特征描述子和LBD線特征描述子放在同一個(gè)視覺詞典中,然后將訓(xùn)練的描述符劃分為點(diǎn)、線2個(gè)組,再分別對點(diǎn)、線特征描述符進(jìn)行分層k均值聚類過程,最終構(gòu)造擴(kuò)展的樹結(jié)構(gòu)。

      為區(qū)分詞匯樹中不同的特征類型,在每個(gè)特征描述符的末尾附加一個(gè)額外字節(jié)(點(diǎn)描述子添加標(biāo)志位0,線描述子添加標(biāo)志位1),以區(qū)分其所屬的特征類型。在此示例中,實(shí)心填充的是點(diǎn)特征詞匯,線條填充的是線特征詞匯,虛線包圍的葉子節(jié)點(diǎn)為視覺詞典中的視覺詞匯。

      4.2 融合點(diǎn)線的詞包向量

      改進(jìn)后的詞包VPLi:

      VPLi={α1(VP1,VP2,…,VPm),α2(VL1,VL2,…,VLm)}

      (17)

      其中,既包含了點(diǎn)特征詞包VPi=(VP1,VP2,…,VPm),又包含了線特征詞包VLi=(VL1,VL2,…,VLm)。α1、α2分別代表點(diǎn)特征和線特征詞包所占的權(quán)重。針對不同場景的實(shí)際特點(diǎn),合理設(shè)置權(quán)值,調(diào)整二者比重。例如紋理豐富的場景中點(diǎn)特征權(quán)重值大一些,在低紋理的環(huán)境中讓線特征的權(quán)重大一些。通常,權(quán)值默認(rèn)為0.5。

      4.3 詞包向量的相似度計(jì)算

      由于不同詞匯的重要程度不同,需對每個(gè)單詞賦予不同權(quán)重值,在本文中采用TF-IDF[17]進(jìn)行加權(quán)判斷。

      VPLi和VPLj分別代表第i幀和第j詞包向量,其相似度得分計(jì)算如下:

      (18)

      在此,采用L1范數(shù)進(jìn)行距離計(jì)算。

      在進(jìn)行圖像相似度判斷時(shí),可直接比較圖像詞包向量間的相似度得分,降低了計(jì)算復(fù)雜度提升了檢測效率。同時(shí)為了避免將相似度較高的鄰近幀誤判為閉環(huán),設(shè)置了閾值k,只有當(dāng)時(shí)j>i+k,才進(jìn)行閉環(huán)檢測。

      5 實(shí)驗(yàn)與分析

      實(shí)驗(yàn)數(shù)據(jù)集來源于EuRoc微型飛行器(MAV)采集的兩個(gè)室內(nèi)場景,其中包含來自20FPS的全局快門相機(jī)的立體圖像。每個(gè)數(shù)據(jù)集提供由VICON運(yùn)動(dòng)捕捉系統(tǒng)給出的地面實(shí)況軌跡。所有外在和內(nèi)在參數(shù)也由數(shù)據(jù)平臺獲取[18]。

      測試平臺為華碩K550D@2.10 Ghz ,12 GB內(nèi)存,64位Linux操作系統(tǒng)。

      圖9(a)~(d)展示由MAV采集的室內(nèi)實(shí)景以及提取出的特征點(diǎn)線。

      圖9 V1_02_medium數(shù)據(jù)集實(shí)景

      圖10是由V1_02_medium圖像序列重建出的地圖。圖10(a)為基于點(diǎn)特征的ORB-SLAM2算法創(chuàng)建的地圖,圖10(b)為聯(lián)合點(diǎn)線特征的文本算法創(chuàng)建的地圖。

      圖10 由V1_02_medium重建出的地圖

      由10(a)和10(b)的對比可見,單純基于點(diǎn)特征所創(chuàng)建出來的地圖缺少結(jié)構(gòu)信息,因此比較雜亂;而將線特征引入進(jìn)來后,所創(chuàng)建的地圖結(jié)構(gòu)化信息更多,從圖中的空間直線可以辨別出墻面,地面和墻的邊角等信息。更好地還原了場景結(jié)構(gòu)。表明ISSLAM算法在結(jié)構(gòu)化邊緣線特征多的人造場景中適用性更高。

      由V1_02_medium圖像序列計(jì)算得到的相機(jī)運(yùn)行軌跡分別顯示在圖11(a)和11(b)中。

      圖11 ORB-SLAM2算法和ISSLAM算法軌跡圖對比

      圖中,軌跡點(diǎn)上的顏色信息反映了誤差大小,通過顏色與誤差數(shù)值的對應(yīng)關(guān)系(圖形右側(cè)誤差色帶)可以看出,ORB-SLAM2算法(圖11(a))的誤差區(qū)間為(0.017~0.106),而本文所提出算法(圖11(b))的誤差區(qū)間僅為(0.003~0.081)。由此可知,本文所提出的算法運(yùn)行結(jié)果的誤差更小,準(zhǔn)確率更高。

      為了說明ISSLAM算法在不同場景下的有效性與適應(yīng)性,分別以EuRoc中的多組圖像序列(V1_01_easy、V1_02_medium、V2_03_difficult、MH_02_easy、MH_03_medium、MH_04_difficult)為實(shí)驗(yàn)對象。這些序列分成,簡單、中等、和困難,這取決于MAV(微型飛行器)的速度,照明和場景的紋理。表1為ORB-SLAM2算法、點(diǎn)線聯(lián)合的PL-SLAM算法、ISSLAM算法得到的RMSE值[19](均方根誤差)。

      表1 基于EuRoc MAV數(shù)據(jù)集的運(yùn)動(dòng)估計(jì)誤差

      從表1中可以看出,對于結(jié)構(gòu)化線條較為豐富的室內(nèi)場景,聯(lián)合點(diǎn)線特征的SLAM算法魯棒性更好,即使在快速運(yùn)動(dòng)場景(V2_03_difficult 測試集),不會出現(xiàn)ORB算法所面臨的特征跟蹤失敗的情況(表中X所示)。而且所提的ISSLAM算法比傳統(tǒng)的聯(lián)合點(diǎn)線特征的PL-SLAM算法測試的誤差更小,精確度更高。

      綜上所述,本文提出的ISSLAM算法在精度和魯棒性上都表現(xiàn)出良好的優(yōu)勢。

      6 結(jié)語

      本文提出一種改進(jìn)點(diǎn)線特征的雙目視覺SLAM算法(ISSLAM)來進(jìn)行位姿估計(jì)和地圖創(chuàng)建。在特征提取過程中,利用梯度密度濾波器進(jìn)行圖像預(yù)處理,以剔除局部梯度密度過高的區(qū)域;然后采用LSD算法進(jìn)行線特征提取,并且將LSD提取出的線段進(jìn)行合并,以減少線特征檢測的數(shù)量,提高檢測精度。在閉環(huán)檢測線程中,對原有基于點(diǎn)特征的詞袋模型進(jìn)行了擴(kuò)展,將線特征也引入進(jìn)來,提高了算法的精度及魯棒性。最后,以EuRoc公共數(shù)據(jù)集為實(shí)驗(yàn)對象,通過與基于點(diǎn)特征的ORB-SLAM2算法和基于點(diǎn)線特征的PL-SLAM算法比較,表明了ISSLAM算法的有效性。

      線特征的引入,雖然提高了算法精度,但增加了特征提取與匹配階段的計(jì)算代價(jià),耗時(shí)更長,不利于算法的實(shí)時(shí)性,需要做進(jìn)一步改進(jìn)以提高算法效率。

      猜你喜歡
      關(guān)鍵幀線段梯度
      一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
      畫出線段圖來比較
      一種自適應(yīng)Dai-Liao共軛梯度法
      怎樣畫線段圖
      我們一起數(shù)線段
      一類扭積形式的梯度近Ricci孤立子
      數(shù)線段
      基于改進(jìn)關(guān)鍵幀選擇的RGB-D SLAM算法
      基于相關(guān)系數(shù)的道路監(jiān)控視頻關(guān)鍵幀提取算法
      基于聚散熵及運(yùn)動(dòng)目標(biāo)檢測的監(jiān)控視頻關(guān)鍵幀提取
      东台市| 平江县| 璧山县| 苏尼特右旗| 新余市| 中山市| 延庆县| 呼和浩特市| 平塘县| 东海县| 汝州市| 霍邱县| 贵定县| 外汇| 平远县| 襄垣县| 宕昌县| 刚察县| 府谷县| 大丰市| 巨野县| 阳高县| 临汾市| 大渡口区| 南京市| 库车县| 德令哈市| 濮阳市| 新昌县| 深圳市| 丹江口市| 阿拉善右旗| 堆龙德庆县| 桑植县| 石首市| 平陆县| 杂多县| 庆云县| 独山县| 双辽市| 麟游县|