王美潔
【摘? ? 要】現(xiàn)階段,科學(xué)技術(shù)不斷發(fā)展,移動機(jī)器人應(yīng)用日漸廣泛,某些環(huán)境下,一些導(dǎo)航系統(tǒng)及慣性測試單元會受到一定限制,而SLAM的出新則很好地解決了這一問題。在機(jī)器人導(dǎo)航中如何更好地應(yīng)用SLAM已經(jīng)成為社會關(guān)注的一個重點?;诖耍疚膶σ曈XSLAM國外研究情況進(jìn)行分析,闡述視覺SLAM的關(guān)鍵技術(shù),提出視覺SLAM在動態(tài)場景下的圖像處理方法,以供參考。
【關(guān)鍵詞】視覺SLAM? 動態(tài)場景? 圖像處理方法
中圖分類號:G4? ? ? 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1672-0407.2021.19.006
人工智能環(huán)境的到來,為機(jī)器人產(chǎn)業(yè)發(fā)展帶來了良好契機(jī),對人們生產(chǎn)、生活帶來了較大影響,如掃地機(jī)器人的出現(xiàn)等。對于移動機(jī)器人而言,若想保證移動的可控性,應(yīng)將重點放在“建立地圖”以及“定位”上,簡單而言,就是同步定位及地圖構(gòu)建。因為視覺SLAM能夠包含更多的信息,并且更加符合人類的直觀感受,逐漸受到研究人員的關(guān)注,本文就視覺SLAM在動態(tài)場景下的圖像處理方法進(jìn)行探討,具體如下。
一、視覺SLAM國外研究情況
SLAM表示的是同時定位于構(gòu)建地圖,屬于搭載特定出傳感器的主體,在不具備環(huán)境先驗信息的條件下,在運(yùn)動過程中進(jìn)行環(huán)境模型的建立,并且對自身運(yùn)動進(jìn)行估計。對于SLAM而言,其主要的目的是解決兩個問題:問題一,定位問題;問題二,地圖構(gòu)建問題。[1]不僅要對傳感器自身位置進(jìn)行估計,還應(yīng)進(jìn)行周圍環(huán)境模型的建立。而視覺SLAM,則是將視覺傳感器作為中心的SLAM。例如無人車或機(jī)器人,將其放置到一個小區(qū)中,其不了解小區(qū)中車位、建筑以及道路等分布情況,需要事先進(jìn)行觀察,了解建筑、道路、車位等具體分布情況,隨后還應(yīng)明確自身在小區(qū)中所處的位置。小車是主體,而傳感器則為小車的眼睛,因為小車沒有事先知曉環(huán)境情況,因此小車沒有來過屬于環(huán)境的先驗信息。在視覺SLAM研究上,國外主要進(jìn)行了基于特征點視覺SLAM以及直接視覺SLAM研究。
(一)基于特征點的視覺SLAM
在這一方面發(fā)展中主要經(jīng)歷了三個階段。首先,濾波器階段。在該階段中,主要應(yīng)用的是例子濾波、無跡卡爾曼濾波(UKF)以及卡曼濾波(EKF)。其次,關(guān)鍵幀階段。在此階段中,根據(jù)線程劃分整個SLAM系統(tǒng),將其分為定位、建圖以及閉環(huán)檢測,其屬于當(dāng)前主流框架。最后,RGD階段。[2]微軟不斷發(fā)展中,推出了RGBD相機(jī),其能夠得到圖像的深度信息,并且還會對三維重建過程進(jìn)行簡化。一些研究人員在室內(nèi)環(huán)境中使用RGBD相機(jī)進(jìn)行了三維重建,從彩色圖像中進(jìn)行了SIFT特征提取,同時在深度圖像上獲得相應(yīng)的深度信息。在RNSAC方法的應(yīng)用下匹配3-D特征點,對其剛體運(yùn)動變換進(jìn)行計算,獲得結(jié)果后,將其作為ICP初始值,最終得到更準(zhǔn)確的位姿情況。
(二)直接的視覺SLAM
對于直接視覺SLAM而言,其屬于直接立足像素點強(qiáng)度實施相關(guān)操作,無需提取特征點,這種方法的應(yīng)用會對圖像中的全部信息進(jìn)行利用,[3]并且能夠提供更多的環(huán)境幾何信息,為地圖后續(xù)使用提供便利,即便是環(huán)境中存在的特征較少,也能獲得較高的魯棒性以及準(zhǔn)確性。為保證構(gòu)建的三維環(huán)境地圖更加稠密,較多研究這進(jìn)行了大量研究,一些研究人員提出了LSD-SLAM算法,這種方法可以準(zhǔn)確的估計出相機(jī)位姿,并且還能進(jìn)行大規(guī)模三維環(huán)境地圖的創(chuàng)建。一些研究人員提出了RGB_D SLAM方法,在這種方法下,與像素點深度誤差以及強(qiáng)度誤差相結(jié)合獲得誤差函數(shù),利用最小化代價函數(shù),最終獲得最優(yōu)相機(jī)位置,通過g2o實現(xiàn)了這一過程,同時還提出了基于熵的閉環(huán)檢與關(guān)鍵幀提取方法,有效減少了路徑誤差。
經(jīng)過多年的研究與發(fā)展,當(dāng)前在視覺SLAM上已經(jīng)獲得較多標(biāo)志性的研究成果。一些研究人員提出了MonoSLAM,其屬于基于EKF方法的單目SLAM,可進(jìn)行實時監(jiān)測,不過未能對漂移實際情況進(jìn)行確定,基于概率框架下能夠?qū)崿F(xiàn)稀疏地圖的在線創(chuàng)建。一些研究人員研究出了直接法下的單目SLAM算法,在這種方法下,可以在幀率整幅圖像對準(zhǔn)下得到相應(yīng)自由度位姿,在GPU上能夠獲得實時的效果。一些人員提出了多線程處理SLAM的算法,將建圖與跟蹤作為兩個單獨任務(wù),同時在兩個平行線程上分別實施處理。一些研究人員提出一種可以在GPU上進(jìn)行稠密三維地圖實時構(gòu)建的算法,這種方法可以通過Kinect相機(jī)進(jìn)行深度信息的獲取,并對傳感器位姿進(jìn)行計算,最終實施環(huán)境3D地圖模型的精確構(gòu)建。一些研究人員提出了較為完整的關(guān)鍵幀單目SLAM算法,這種方法下是對整個系統(tǒng)進(jìn)行線程劃分,包括追蹤、地圖創(chuàng)建以及閉環(huán)控制?;贠RB特征下進(jìn)行特征提取與匹配,并且實施位置識別以及創(chuàng)建稀疏地圖,這種方法具備較高的定位精確度,能夠?qū)崟r運(yùn)行。
二、視覺SLAM的關(guān)鍵技術(shù)
現(xiàn)階段,視覺SLAM技術(shù)應(yīng)用環(huán)節(jié)主要會涉及四個構(gòu)成部分,一是視覺里程計,二是后端優(yōu)化,三是回環(huán)檢測,四是構(gòu)圖。以上幾個構(gòu)成部分相對獨立卻又相互聯(lián)系,各部分均存在獨立的理論體系。
(一)前端視覺里程計
對于前端視覺里程計而言,其主要是具備與“里程計”相似的功能,初步定位及構(gòu)圖是該部分的核心功能,初步處理機(jī)器人相機(jī)采集到的圖像,屬于視覺SLAM技術(shù)的初步工作。存在兩種不同的圖像處理方式,一種為直接法,另一種為間接法。其中直接法表示的是獲得相機(jī)采集的圖像后會直接在像素層面上予以求解,結(jié)合選取的實際像素量,可以用稀疏直接法、半稠密直接法以及稠密直接法。[4]其中稀疏直接法計算量最少,定位及構(gòu)圖精確度最低,半稠密直接法次之,稠密直接法計算量最多,獲得的定位及構(gòu)圖精度也越高。所以實際使用環(huán)節(jié),應(yīng)與應(yīng)用場合相結(jié)合,進(jìn)行求解方案的科學(xué)選擇。不過需要注意的是,直接法涉及不到圖像處理層面的操作,而是直接進(jìn)行求解。
而間接法又被稱為特征點法,簡單而言就是提取圖像中的特征點,匹配兩幀圖像中的特征,獲得相同的特征,隨后在也正匹配好后求解位姿。從中可以看出,在特征點法應(yīng)用過程中,能夠有效解決兩個問題,一是位姿,二是特征匹配。直接法中則涉及不到特征匹配。特征匹配具備的是進(jìn)行圖像處理,在現(xiàn)階段,存在較多圖像處理算法,適用于視覺SLAM技術(shù)中的算法,主要應(yīng)滿足以下要求:第一,可進(jìn)行大部分場景圖像特征的提取。第二,可實現(xiàn)大量圖像特征匹配。第三,具備實時性特點。由于特征點法視覺里程計主要內(nèi)容是特征提取及匹配,所以前兩個要求是必須滿足的,在后一要求的滿足上應(yīng)用較為廣泛的為ORB算法SURF算法以及FAST算法。
(二)后端優(yōu)化
后端與前端屬于相對應(yīng)的關(guān)系,可以認(rèn)為前端里程計是粗算,后端工作則為細(xì)算,所以后端的主要工作是優(yōu)化前端里程計的構(gòu)圖計定位。在具體求解環(huán)節(jié),同里程計相比,后端優(yōu)化會用到更多的數(shù)據(jù)集,這屬于優(yōu)化的核心所在。機(jī)器人在不斷移動下其所處環(huán)境會不斷變化,前端里程計求解環(huán)節(jié),誤差也會不斷積累,最終得到的構(gòu)圖與定位可能與實際存在較大差異。所以在視覺SLAM技術(shù)中,后端優(yōu)化不可獲取。在現(xiàn)階段,后端優(yōu)化方面應(yīng)用較為廣泛的是基于光束法平差(BA)的圖優(yōu)化算法;擴(kuò)展卡爾曼濾波(EKF)算法,其中EKF算法在SLAM技術(shù)早期應(yīng)用較多,而近年來圖優(yōu)化算法應(yīng)用逐漸廣泛。
(三)回環(huán)檢測
基于理論視角下進(jìn)行分析,機(jī)器人兩次達(dá)到同一地點,兩次經(jīng)實際計算獲得的位姿應(yīng)該是一致的,地點一致,兩次構(gòu)建出的位姿圖應(yīng)該完全重合。不過實際上里程計與后端優(yōu)化算法進(jìn)行位姿求解時,還會存在一定的偏差。[5]因此,當(dāng)機(jī)器人重復(fù)經(jīng)過統(tǒng)一地點時,獲得的位姿圖也會存在偏移的情況,導(dǎo)致重影情況的出現(xiàn)。回環(huán)檢測技術(shù)的主要作用是解決重影問題,在視覺SLAM技術(shù)應(yīng)用環(huán)節(jié),通過兩個不同階段關(guān)鍵幀的相似度對比,若其相似度高于某一閥值,則說明檢測到回環(huán)。詞袋模型是應(yīng)用較為廣泛的回環(huán)檢測方式,這種模型的主要思想是進(jìn)行詞典構(gòu)建,所有幀的圖像特征均為其中的“單詞”,而回環(huán)檢測就是對詞典進(jìn)行快速查詢,如果發(fā)現(xiàn)兩個單詞高度相似,則實現(xiàn)了回環(huán)檢測。
(四)構(gòu)圖
所謂構(gòu)圖,實際上就是對求解獲得的數(shù)據(jù)實施后處理。在不同的機(jī)器人應(yīng)用場合與功能下,構(gòu)建形成的整體圖像類型也存在較大差異。如導(dǎo)航機(jī)器人與避障機(jī)器人,兩者存在不同的圖像特點。需要注意構(gòu)圖只是針對以上三個步驟的計算結(jié)果,不具備復(fù)雜的算法層面,但在應(yīng)用層面上卻發(fā)揮著較為重要的價值。
三、動態(tài)場景下視覺SLAM的圖像處理方法
為了更好地探究動態(tài)場景下視覺SLAM技術(shù)的圖像處理方法,本文將語義分割算法引入到了ORB-SLAM2處理動態(tài)環(huán)境中,結(jié)合幀間人身ORB特征點的變化情況對人所處狀態(tài)進(jìn)行判斷。語義分割中人的類別會被作為動態(tài)物體剔除特征點,從而保證人的運(yùn)動不會被所建立的地圖所干擾。
(一)ORB-SLAM2算法
對于ORB-SLAM2算法而言,其主要是由全局BA優(yōu)化線程以及3個平行線程組成。其中這3個平行線程表示的是閉環(huán)檢測線程、局部建圖線程以及跟蹤線程。跟蹤線程主要是提取相機(jī)收集到各幀數(shù)據(jù)的ORB特征,利用局部地圖以及相機(jī)位姿跟蹤,最終得到局部地圖,將其與當(dāng)前幀進(jìn)行匹配。[6]通過進(jìn)行投影誤差的最小化處理,對位姿進(jìn)行優(yōu)化,從而對是否生成關(guān)鍵幀進(jìn)行判斷。對于局部建圖線程而言,主要是處理上一線程獲得的新關(guān)鍵幀,將地圖中低質(zhì)量點剔除。利用三角化方法對共視程度較高的關(guān)鍵幀地圖點進(jìn)行恢復(fù),并對當(dāng)前關(guān)鍵幀與相鄰幀存在的重復(fù)地圖點進(jìn)行檢查,融合地圖點。選擇局部BA優(yōu)化的方式進(jìn)行當(dāng)前相連地圖點與關(guān)鍵幀優(yōu)化,將剩余關(guān)鍵幀剔除。閉環(huán)探測與閉環(huán)校正共同組成閉環(huán)檢測線程,通過實際計算得到當(dāng)前幀與相連關(guān)鍵幀詞袋模型的最低得分,對當(dāng)前關(guān)鍵幀是否產(chǎn)生閉環(huán)進(jìn)行判斷,同時還應(yīng)實施連續(xù)性檢測,進(jìn)行相似變換計算。
(二)PSPNet算法
這一算法是通過不同區(qū)域上下文池化進(jìn)行全局上下文信息能力的實現(xiàn)。該算法在實際應(yīng)用過程中會制定一個輸入圖像,通過卷積神經(jīng)網(wǎng)絡(luò)獲得相應(yīng)特征圖,隨后特種圖會到達(dá)金字塔解析模塊,并且還會進(jìn)入到連接層中。金字塔解析模塊會對特征圖進(jìn)行處理,并將其實施向上采樣,獲得最終結(jié)果后向連接層中傳入,與其中存在的特征圖結(jié)合,最終得到特征表示,在獲得的特征中,不僅包含局部信息,還包含全局上下文信息。通過金字塔池化模塊處理得到結(jié)果后,將其輸入至卷積層中,從而呈現(xiàn)出語義分割預(yù)測。
對于金字塔池模塊而言,其主要有四種不同尺度的特征。最上層表示全局池,主要進(jìn)行單個Bin輸出的生成。下方存在的其他金字塔,會進(jìn)行特征圖劃分,將其變成不同的子區(qū)域,分別表示不同的位置。通過金字塔池化模塊中的各層次輸出,最終獲得大小各不相同的特征圖。如果金字塔大小為N,為保證全局特征不發(fā)生變化,所有金字塔層會通過1X1的卷積層,將上下文維度減小,成為原來的1/N。在低緯度特征圖中進(jìn)行采樣,獲得的特征與原始特征圖大小相同。連接所有層次的特征,最終得到的就是金字塔池化全局特征。向ORB-SLAM2算法以及PSPNet算法中分別輸入原始圖像,提取ORB-SLAM2跟蹤線程中存在的特征點,PSPNet會對圖像進(jìn)行網(wǎng)絡(luò)分割,最終向ORB-SLAM2中傳入。經(jīng)過這一處理后,人處于分割圖形中,屬于一個動態(tài)對象,ORB-SLAM2會將人身上存在的特征點去除,隨后對剩余特征點實施特征匹配,并估計其位姿。
(三)ORB-SLAM2動態(tài)場景下的優(yōu)化
在ORB-SLAM2算法應(yīng)用過程中會存在目標(biāo)丟失以及漂移量大等問題,為有效解決這一問題,可以進(jìn)行語義分割算法與ORB-SLAM2算法的結(jié)合。[7]在現(xiàn)階段,深度學(xué)習(xí)技術(shù)下的語義分割算法中具備較好分割性能的為PSPNet算法,在不斷應(yīng)用中進(jìn)一步發(fā)揮出了語義分割的作用,獲得較高的精度。因此,本文語義分割算法選為PSPNet算法。在實際應(yīng)用過程中,PSPNet會在數(shù)據(jù)集PASCALVOC2012中進(jìn)行訓(xùn)練,當(dāng)前這一數(shù)據(jù)集屬于對語義分割進(jìn)行衡量的一個標(biāo)準(zhǔn)數(shù)據(jù)集。會將人作為動態(tài)對象,剔除其中存在的特征點,進(jìn)一步提升動態(tài)場景下ORB-SLAM2算法的工作能力,不會受到不良因素的干擾,最終獲得更加精準(zhǔn)的結(jié)果。
綜上所述,為有效實現(xiàn)動態(tài)場景下SLAM系統(tǒng)中ORB-SLAM2算法功能,可將語義分割算法與ORB-SLAM2算法加以融合,將人作為動態(tài)對象,剔除其身上帶有的特征點,從而有效提升ORB-SLAM2算法的精準(zhǔn)度,避免受到不良因素的干擾,更好地發(fā)揮出ORB-SLAM2算法的作用。
參考文獻(xiàn)
[1]楊偉婷,李保育,左文斌.基于機(jī)器視覺的圖像處理方法[J].信息技術(shù)與信息化,2021(07):143-145.
[2]吳玲,孫永榮,趙科東.一種自主空中加油視覺導(dǎo)航圖像處理方法[J].科學(xué)技術(shù)與工程,2021,21(20):8552-8557.
[3]牛犇,張棲瑞.基于計算機(jī)視覺的數(shù)字圖像處理方法研究——以梨果檢測分級為例[J].信息記錄材料,2021,22(05):195-197.
[4]陳紫鵬,李威,盧文超,尹拂曉.基于機(jī)器視覺的帶鋼表面缺陷檢測系統(tǒng)中圖像處理方法設(shè)計研究[J].南方農(nóng)機(jī),2020,51(22):178-179.
[5]宋子龍,梁經(jīng)緯,祝志恒,蔣買勇.CCTV視覺圖像處理方法在土石壩涵管病害診斷中的應(yīng)用[J].水利水運(yùn)工程學(xué)報,2019(02):99-103.
[6]許博文,唐朝,張?zhí)铮罴覘?基于機(jī)器視覺檢測鋼板板形的圖像處理方法研究[J].軟件工程,2018,21(06):1-3.
[7]文生平,陳志鴻,張施華.基于ARM的視覺導(dǎo)航AGV圖像處理方法研究[J].計算機(jī)測量與控制,2017,25(12):207-210.