国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

融合動態(tài)區(qū)域檢測的自監(jiān)督視覺里程計方法

2021-05-26 01:13賈兆款
關(guān)鍵詞:位姿靜態(tài)動態(tài)

馬 偉, 賈兆款, 米 慶

(北京工業(yè)大學(xué)信息學(xué)部, 北京 100124)

視覺里程計是機(jī)器人和計算機(jī)視覺領(lǐng)域一項關(guān)鍵技術(shù). 視覺里程計通過分析相鄰2張圖像間靜態(tài)特征的對應(yīng)關(guān)系,獲得相機(jī)位置和姿態(tài)(簡稱位姿)以及其他相關(guān)數(shù)據(jù),例如深度圖. 精確穩(wěn)定的靜態(tài)特征提取和匹配對于視覺里程計尤為重要. 然而,在實際應(yīng)用場景中存在諸多非靜態(tài)物體和區(qū)域,本文將這些非靜態(tài)物體和區(qū)域統(tǒng)稱為動態(tài)區(qū)域,并將動態(tài)區(qū)域歸納為2類:一類是連續(xù)運(yùn)動的物體,另一類是由于遮擋或視角范圍改變造成的突然出現(xiàn)或消失的區(qū)域. 由動態(tài)物體內(nèi)部特征對應(yīng)關(guān)系確定的是相機(jī)和動態(tài)物體之間的相對運(yùn)動,而突然出現(xiàn)或消失的區(qū)域不存在幀間對應(yīng)關(guān)系,因此,上述2類區(qū)域的存在都將干擾靜態(tài)特征匹配. 針對上述問題,本文提出一種融合動態(tài)區(qū)域檢測的視覺里程計算法,以有效去除動態(tài)區(qū)域干擾,提升視覺里程計計算精度和細(xì)小物體的深度估計.

現(xiàn)有視覺里程計算法可以分為2類:傳統(tǒng)視覺里程計[1-2]和基于深度學(xué)習(xí)的視覺里程計[3-4]. 靜態(tài)場景下的傳統(tǒng)視覺里程計[5-10]通過提取相鄰2張圖像中經(jīng)過手工設(shè)計的特征點,建立相應(yīng)特征點的對應(yīng)關(guān)系,并使用隨機(jī)抽樣一致(random sample consensus, RANSAC)算法濾除誤匹配,進(jìn)而實現(xiàn)相機(jī)位姿計算. 這種算法在靜態(tài)場景中能夠得到精確的特征匹配關(guān)系,進(jìn)而保證里程計計算精度. 但在動態(tài)場景或遮擋物較多的場景中,經(jīng)常存在匹配不一致情況,而且RANSAC算法不能有效地將這些匹配不一致情況濾除,導(dǎo)致傳統(tǒng)方法在動態(tài)場景中不夠魯棒. 因此,國內(nèi)外研究人員對此問題提出了各種解決方案[11-14]. 其中Sheng等[11]提出的算法在傳統(tǒng)方法基礎(chǔ)上融合了動態(tài)物體檢測算法,手動去除動態(tài)物體提供的特征匹配關(guān)系,根據(jù)靜態(tài)特征匹配關(guān)系計算相機(jī)位姿,進(jìn)而提升傳統(tǒng)方法在動態(tài)場景中的魯棒性. 傳統(tǒng)方法直接基于像素值或手工設(shè)計特征進(jìn)行匹配,利用的圖像信息不夠充分. 深度學(xué)習(xí)技術(shù)基于強(qiáng)大的特征提取和表達(dá)能力,為研究人員提供了一種新的充分利用圖像信息的思路,因此,大量研究人員開始探究深度學(xué)習(xí)技術(shù)在視覺里程計中的應(yīng)用.

基于深度學(xué)習(xí)的視覺里程計算法[15-19]以先進(jìn)的網(wǎng)絡(luò)模型(例如GoogLeNet[20]和AlexNet[21])為基礎(chǔ),實現(xiàn)特征提取及匹配工作,最終利用一個全卷積網(wǎng)絡(luò)建立回歸模型,實現(xiàn)視覺里程計計算. 實驗結(jié)果表明,使用神經(jīng)網(wǎng)絡(luò)提取的特征對模糊、亮度和對比度異常問題更加魯棒,并且這些算法能夠在一定程度上應(yīng)對場景中動態(tài)信息所帶來的干擾,但是效果有限. 此后,研究人員提出一系列基于自監(jiān)督的視覺里程計算法[22-29]. 這些算法通過構(gòu)建深度估計網(wǎng)絡(luò)[30-31]和位姿估計網(wǎng)絡(luò)實現(xiàn)自監(jiān)督學(xué)習(xí),降低了獲取監(jiān)督信息的高昂代價,同時,可以利用深度和相機(jī)位姿之間的關(guān)系實現(xiàn)場景中動態(tài)信息捕捉. 然而,這些算法僅將捕捉到的動態(tài)信息融入監(jiān)督信號中以提升模型訓(xùn)練效果. 例如,Bian等[29]提出一種面向動態(tài)場景的自監(jiān)督視覺里程計算法(本文將其作為基準(zhǔn)算法),該算法首先利用深度信息實現(xiàn)動態(tài)物體檢測;然后,將動態(tài)物體信息融入損失函數(shù)中,借此優(yōu)化訓(xùn)練過程以提升模型的訓(xùn)練效果. 該算法限于通過優(yōu)化損失函數(shù)和訓(xùn)練過程來提升模型能力,這也是現(xiàn)存算法的通病. 除此之外,現(xiàn)存算法中,位姿估計網(wǎng)絡(luò)模塊的輸入是包含動靜態(tài)混合信息的原始圖像,圖像中存在的動態(tài)信息對視覺里程計的計算造成不良影響.

相對于傳統(tǒng)視覺里程計,基于深度學(xué)習(xí)的視覺里程計具有更強(qiáng)的特征提取能力,能夠更魯棒地應(yīng)對模糊、亮度和對比度異常問題. 不同于其他算法使用動態(tài)信息對損失函數(shù)進(jìn)行優(yōu)化,本文所提算法使用動態(tài)信息優(yōu)化輸入圖像和特征,從而優(yōu)化視覺里程計計算過程,使其計算直接利用靜態(tài)信息,不受動態(tài)信息干擾. 綜合上述2種優(yōu)勢,本文提出一種自監(jiān)督深度學(xué)習(xí)框架下融合動態(tài)區(qū)域檢測的視覺里程計算法. 此算法使用卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建視覺里程計模型,并且在此基礎(chǔ)上融入動態(tài)區(qū)域檢測,使用檢測得到的動態(tài)信息優(yōu)化視覺里程計的輸入信息,實現(xiàn)輸入信息的動靜態(tài)信息分離,最終使得視覺里程計的計算僅依賴可靠的靜態(tài)信息,消除動態(tài)信息的干擾. 上述計算可實現(xiàn)對視覺里程計計算過程的優(yōu)化. 同時,本算法使用動態(tài)信息優(yōu)化損失函數(shù),以此優(yōu)化訓(xùn)練過程,進(jìn)而提升模型能力. 最終,本文將視覺里程計、動態(tài)區(qū)域檢測和動靜態(tài)信息分離構(gòu)建成一個能夠?qū)崿F(xiàn)端到端訓(xùn)練的深度學(xué)習(xí)網(wǎng)絡(luò)模型.

1 算法框架

本文提出的融合動態(tài)區(qū)域檢測的視覺里程計算法框架如圖1所示. 圖中Dt和Ds分別表示圖像It和圖像Is對應(yīng)的深度圖. 本算法分為4個子模塊:深度估計模塊、位姿估計模塊、動態(tài)區(qū)域檢測模塊和動靜態(tài)信息分離模塊. 輸入為2張相鄰圖像,深度估計網(wǎng)絡(luò)分別計算2張圖像的深度信息;位姿估計網(wǎng)絡(luò)1根據(jù)原始圖像計算相機(jī)位姿變換;動態(tài)區(qū)域檢測模塊利用深度信息和位姿信息計算動態(tài)信息;動靜態(tài)信息分離模塊利用獲得的動態(tài)信息實現(xiàn)對原始圖像動靜態(tài)信息的分離;位姿估計網(wǎng)絡(luò)2根據(jù)去除動態(tài)信息的圖像計算最終的相機(jī)位姿. 本文從光度誤差、平滑度誤差、幾何一致性誤差3個角度對損失函數(shù)進(jìn)行約束,實現(xiàn)自監(jiān)督網(wǎng)絡(luò)模型的訓(xùn)練.

圖1 本文算法框架Fig.1 Framework of the proposed algorithm

2 動態(tài)區(qū)域檢測和動靜態(tài)信息分離

場景中存在的動態(tài)區(qū)域影響視覺里程計計算,因此,如何實現(xiàn)場景中動靜態(tài)信息分離,去除動態(tài)信息干擾,利用靜態(tài)信息實現(xiàn)相機(jī)位姿計算成為關(guān)鍵.

圖2 動態(tài)區(qū)域檢測Fig.2 Dynamic object detection

現(xiàn)有實現(xiàn)動態(tài)區(qū)域檢測的方法有2種:一種是基于深度信息的動態(tài)區(qū)域檢測,另一種是基于光流信息的動態(tài)區(qū)域檢測. 對于光流信息,根據(jù)相機(jī)成像原理,距離相機(jī)較遠(yuǎn)物體所表現(xiàn)出來的光流和距離相機(jī)較近物體所表現(xiàn)出來的光流不一致,因此,造成光流信息整體不均勻但局部均勻的現(xiàn)象. 雖然動態(tài)物體的出現(xiàn)造成光流信息局部不均勻現(xiàn)象,基于此可實現(xiàn)動態(tài)信息檢測,但是在進(jìn)行動靜態(tài)信息分離時,光流的整體不均勻性導(dǎo)致動靜態(tài)信息難以分離. 考慮到光流信息的局限性,本文利用深度信息實現(xiàn)動態(tài)區(qū)域檢測,進(jìn)而去除場景中的動態(tài)信息,將靜態(tài)信息輸入相機(jī)位姿估計網(wǎng)絡(luò),實現(xiàn)更為精確的視覺里程計計算.

(1)

視覺里程計根據(jù)圖像信息計算相機(jī)位姿. 動態(tài)場景中獲得的圖像蘊(yùn)含動靜態(tài)2種信息,相較于動態(tài)信息,靜態(tài)信息是可靠信息. 因此,本文所提算法利用動靜態(tài)信息分離算法去除圖像中動態(tài)信息,保留靜態(tài)信息. 根據(jù)前人思想[26,28],本文將動靜態(tài)信息分離定義為

Istatic=I×(1-Md)

(2)

式中:Istatic為分離得到的靜態(tài)信息;I為原始圖像. 如圖3所示,圖像It和Is中存在連續(xù)運(yùn)動的汽車,根據(jù)式(1)計算得到此汽車對應(yīng)的動態(tài)區(qū)域信息Mt和Ms. 根據(jù)式(2),首先通過(1-Md)對包含動態(tài)區(qū)域的遮罩圖像Md取反,由此計算圖像It和Is對應(yīng)的靜態(tài)區(qū)域遮罩圖像. 然后利用靜態(tài)區(qū)域遮罩圖像計算原始圖像中對應(yīng)的靜態(tài)信息Itm和Ism,由此實現(xiàn)動靜態(tài)信息分離,去除原始圖像中汽車所對應(yīng)動態(tài)區(qū)域信息,提取得到原始圖像中的靜態(tài)信息. 更多實驗結(jié)果見圖4,其中第1列是原始圖像,第2列是動態(tài)區(qū)域檢測結(jié)果,第3列是經(jīng)過動靜態(tài)信息分離后提取得到的靜態(tài)信息. 從圖中可以看到,經(jīng)過動靜態(tài)分離后,圖像中汽車等動態(tài)信息被去除,建筑物等靜態(tài)信息被保留.

圖3 動靜態(tài)信息分離Fig.3 Separation of dynamic and static information

圖4 動靜態(tài)信息分離結(jié)果Fig.4 Results of dynamic and static information separation

最終,如圖3所示,將提取得到的相鄰2張圖像對應(yīng)靜態(tài)信息Itm和Ism輸入相機(jī)位姿估計網(wǎng)絡(luò)2,實現(xiàn)最終相機(jī)位姿估計.

3 損失函數(shù)設(shè)計

對卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要設(shè)置全面合理的損失函數(shù). 有監(jiān)督卷積神經(jīng)網(wǎng)絡(luò)利用自身計算結(jié)果和真值間的差異構(gòu)建損失函數(shù). 自監(jiān)督卷積神經(jīng)網(wǎng)絡(luò)通過算法本身構(gòu)建監(jiān)督信息,進(jìn)而實現(xiàn)對網(wǎng)絡(luò)的訓(xùn)練. 自監(jiān)督卷積神經(jīng)網(wǎng)絡(luò)不需要真值,因此,不要求數(shù)據(jù)集提供真值信息,最終使得數(shù)據(jù)集獲取難度大大降低. 在損失函數(shù)設(shè)計上,損失函數(shù)攜帶越多有效信息,越有利于網(wǎng)絡(luò)模型的學(xué)習(xí). 因此,根據(jù)前人提出的各種算法[27-29],本文從光度誤差Lb、平滑度誤差Ls和幾何一致性誤差Lg三個角度出發(fā),將損失函數(shù)定義為

Lall=λbLb+λsLs+λgLg

(3)

式中λ為不同類型誤差的權(quán)重.

3.1 光度誤差損失函數(shù)

光度誤差利用合成圖像的思想進(jìn)行構(gòu)建,是實現(xiàn)自監(jiān)督訓(xùn)練的核心. 光度誤差損失函數(shù)構(gòu)建流程如下.

給定相鄰2張圖像It、Is,利用圖像It計算圖像Is的合成圖像s,利用圖像Is和s的相似性構(gòu)建損失函數(shù). 光度誤差損失函數(shù)定義為

(4)

式中N表示圖像中像素的個數(shù).

t~KTs→tDs(ps)K-1ps

(5)

式中:ps為在圖像Is上某一像素點的坐標(biāo);K為相機(jī)的內(nèi)參矩陣;Ds(ps)為像素坐標(biāo)ps處的深度信息. 式(5)從右向左看,首先利用內(nèi)參矩陣K-1將像素坐標(biāo)ps投影到相機(jī)的歸一化平面上,其次利用深度信息Ds(ps)計算得到像素坐標(biāo)ps對應(yīng)的三維深度坐標(biāo)Rs,然后利用相機(jī)位姿變換Ts→t將三維深度坐標(biāo)Rs變換到圖像It對應(yīng)視角下的三維坐標(biāo)Rt,最后利用相機(jī)內(nèi)參K將Rt投影到圖像It上,從而計算得到像素坐標(biāo)ps在圖像It中對應(yīng)的坐標(biāo)t. 坐標(biāo)t不會落于圖像It所在坐標(biāo)系的整數(shù)坐標(biāo)處,因此,需要利用可微的雙線性差值[32]計算坐標(biāo)t對應(yīng)的像素值,即:在圖像It上取t的4個相鄰像素計算t處的像素值. 通過上述算法,利用圖像It計算得到圖像Is的合成圖像s.

使用式(4)訓(xùn)練網(wǎng)絡(luò)能得到可接受的結(jié)果,但實際場景中存在非朗伯體反射等現(xiàn)象(例如街道兩旁的窗戶和車面造成的反射),其引發(fā)的光強(qiáng)變化將嚴(yán)重影響損失函數(shù)的計算和網(wǎng)絡(luò)訓(xùn)練. 因此,本文加入結(jié)構(gòu)相似性(structural similarity,SSIM)[33]計算. 結(jié)構(gòu)相似性指數(shù)能夠?qū)⒔Y(jié)構(gòu)信息獨(dú)立于亮度和對比度,反映場景中物體的結(jié)構(gòu)屬性,進(jìn)而更好地應(yīng)對光強(qiáng)變化,更好地衡量原始圖像和合成圖像之間的相似程度. 據(jù)此,將式(4)更新為

(6)

根據(jù)前人工作[24-26],設(shè)置α=0.15.

3.2 平滑度誤差損失函數(shù)

使用光度誤差構(gòu)造的損失函數(shù)存在梯度局部性問題. 梯度局部性問題是指在圖像低紋理區(qū)域和均勻區(qū)域,光度誤差給出的信息非常少,在這些區(qū)域上計算得到的梯度信息幾乎沒有任何實際意義. 使用光度誤差損失函數(shù)訓(xùn)練深度網(wǎng)絡(luò),并使用此網(wǎng)絡(luò)計算圖像的深度信息,會造成在低紋理區(qū)域或均勻區(qū)域深度信息不連續(xù),因此,要減少或抑制低紋理區(qū)域或均勻區(qū)域提供的梯度信息,或迫使這部分區(qū)域攜帶更多有意義的信息. 有2種方式可以在一定程度上緩解上述問題:一是使用編解碼網(wǎng)絡(luò)實現(xiàn)深度信息計算. 編解碼網(wǎng)絡(luò)的瓶頸結(jié)構(gòu)能夠擴(kuò)大感受野,并且該網(wǎng)絡(luò)的編解碼過程能夠?qū)崿F(xiàn)信息的逐步擴(kuò)散,進(jìn)而使得低紋理區(qū)域攜帶更多有意義的信息. 二是融合多尺度信息并引入平滑度損失函數(shù). 這種方式同樣能夠擴(kuò)大感受野,使低紋理區(qū)域攜帶更多有意義的信息,進(jìn)而增強(qiáng)深度信息的平滑度. 現(xiàn)有絕大部分算法都采用第2種方式來解決梯度局部性問題,本文同樣利用平滑度損失函數(shù)約束網(wǎng)絡(luò)模型的訓(xùn)練,進(jìn)而解決梯度局部性問題. 平滑度損失函數(shù)定義為

(7)

3.3 幾何一致性損失函數(shù)

在單目視覺里程計中,由于單視點的原因,視覺里程計無法計算得到具有真實尺度信息的相機(jī)位姿,而且會造成在一個序列上計算得到的各個相機(jī)位姿尺度不一致. 單目深度估計同樣存在上述尺度問題. 為解決這一問題,本文引入幾何一致性損失函數(shù)

(8)

此函數(shù)通過對比相鄰圖像之間深度信息,能夠確保計算得到的深度信息尺度是一致的,進(jìn)而能夠保證相機(jī)位姿變換的尺度也是一致的. 基于此,本文在訓(xùn)練的過程中,先對Is-1和It進(jìn)行一次計算,再對It和Is+1進(jìn)行一次計算,接著依次對Is+1和Is+2、Is+2和Is+3……進(jìn)行計算,直到對整個序列完成相應(yīng)計算. 這種逐步擴(kuò)散方式,能夠保證圖像Is-1、It、Is+1、Is+2、Is+3……對應(yīng)的深度信息尺度是一致的,進(jìn)而能夠確保在整個序列上計算的深度和相機(jī)位姿尺度一致.

3.4 整體損失函數(shù)

本文利用深度信息實現(xiàn)動態(tài)區(qū)域檢測,并且實現(xiàn)動靜態(tài)信息分離,進(jìn)而降低動態(tài)信息的干擾,使得視覺里程計的計算只利用靜態(tài)信息提升視覺里程計算法在動態(tài)場景中的魯棒性. 為進(jìn)一步提升訓(xùn)練效果,本文對損失函數(shù)進(jìn)行設(shè)計時,在損失函數(shù)中融入動態(tài)信息,降低動態(tài)信息對訓(xùn)練造成的影響. 據(jù)此,本文將式(3)更新為

Lall=λbMsLb+λsLs+λgMsLg

(9)

式中Ms=(1-Md).

現(xiàn)有算法[27-29]根據(jù)深度估計網(wǎng)絡(luò)和位姿估計網(wǎng)絡(luò)1實現(xiàn)上述損失函數(shù)的計算,完成對網(wǎng)絡(luò)模型的訓(xùn)練. 對比現(xiàn)有算法,本文增加了位姿估計網(wǎng)絡(luò)2,因此,本文根據(jù)深度估計網(wǎng)絡(luò)和位姿估計網(wǎng)絡(luò)2實現(xiàn)上述損失函數(shù)的計算. 根據(jù)訓(xùn)練過程中梯度回傳的原理,僅利用深度估計網(wǎng)絡(luò)和位姿估計網(wǎng)絡(luò)2計算損失函數(shù),不能很好地完成位姿估計網(wǎng)絡(luò)1的訓(xùn)練. 因此,本文在損失函數(shù)中的主要貢獻(xiàn)是,首先利用深度估計網(wǎng)絡(luò)和位姿估計網(wǎng)絡(luò)1計算一次損失函數(shù),然后利用深度估計網(wǎng)絡(luò)和位姿估計網(wǎng)絡(luò)2計算一次損失函數(shù),最終對上述2次損失函數(shù)進(jìn)行整合,以此實現(xiàn)對網(wǎng)絡(luò)模型的訓(xùn)練,獲得最好的訓(xùn)練效果.

4 算法步驟

至此,本文已對算法框架、動態(tài)區(qū)域檢測、動靜態(tài)信息分離和損失函數(shù)分別進(jìn)行了詳細(xì)的說明. 為更完整說明所提算法,本文對其進(jìn)行總結(jié),算法如下.

輸入:相鄰圖像It和圖像Is.

輸出:相機(jī)位姿Tt→s、深度信息Dt和Ds.

1) 輸入圖像It和Is到深度估計網(wǎng)絡(luò),計算對應(yīng)深度信息Dt和Ds.

2) 輸入圖像It和Is到位姿估計網(wǎng)絡(luò)1,粗略計算相機(jī)位姿T′t→s和T′s→t.

3) 利用上述信息及式(1),計算動態(tài)區(qū)域Mt和Ms.

5 實驗結(jié)果與分析

5.1 實驗數(shù)據(jù)與評價標(biāo)準(zhǔn)

本文選用KITTI Odometry[34-35]數(shù)據(jù)集進(jìn)行實驗,此數(shù)據(jù)集是KITTI[34-35]數(shù)據(jù)集的一個子集. KITTI 數(shù)據(jù)集由德國卡爾斯魯厄理工學(xué)院和豐田美國技術(shù)研究院聯(lián)合創(chuàng)辦,是目前國際上最大的自動駕駛場景下的計算機(jī)視覺算法評測數(shù)據(jù)集. KITTI數(shù)據(jù)集包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實圖像數(shù)據(jù),每張圖像中最多達(dá)15輛車和30個行人,還有各種程度的遮擋與截斷. KITTI Odometry數(shù)據(jù)集是由立體圖像采集得到的. 針對22個室外場景,提供了對應(yīng)的22個視頻幀序列. 每個序列中包含一個左視圖視頻幀序列和一個右視圖視頻幀序列以及相機(jī)內(nèi)參. 其中前11個序列提供了相機(jī)軌跡的真值. 同其研究人員的設(shè)置一樣,本文選用這11個序列中的前9個序列作為訓(xùn)練集,后2個序列作為測試集.

對KITTI Odometry數(shù)據(jù)集提供的原始圖像,做了如下增強(qiáng)處理. KITTI Odometry數(shù)據(jù)集原始圖像寬高為1 241×376或1 242×375或1 226×370. 首先將圖像縮放至832×256大小,其次使用隨機(jī)水平翻轉(zhuǎn)、尺度縮放和裁剪3種技術(shù)增強(qiáng)數(shù)據(jù)集.

本文將從量化指標(biāo)、相機(jī)運(yùn)動軌跡、動態(tài)區(qū)域檢測效果3個角度進(jìn)行實驗分析. 為便于實驗對比分析,在量化指標(biāo)方面,本文選用絕對軌跡誤差(absolute trajectory error,ATE)對實驗結(jié)果進(jìn)行量化測評. 絕對軌跡誤差定義為

(10)

其計算的是真實位姿和估計位姿之間的差值,能夠反映出算法的精度和軌跡的全局一致性. 式中:Ei為第i時刻的絕對軌跡誤差(包括平移誤差和旋轉(zhuǎn)誤差);Qi為相機(jī)位姿的真值;S為尺度因子;Ti為相機(jī)位姿的估計值. 通常使用均方根誤差(root mean square error,RMSE)對絕對軌跡誤差進(jìn)行統(tǒng)計,并以此作為最終的結(jié)果,其公式定義為

(11)

式中trans(Ei)為平移誤差. RMSE(E1:n)的單位為hm.

5.2 參數(shù)設(shè)置及模型選擇

本文提出的網(wǎng)絡(luò)模型涉及3個子模型:深度估計網(wǎng)絡(luò)、位姿估計網(wǎng)絡(luò)1、位姿估計網(wǎng)絡(luò)2. 對于深度估計網(wǎng)絡(luò)模型,本文選用DispResNet[25]網(wǎng)絡(luò),此網(wǎng)絡(luò)是一種編解碼網(wǎng)絡(luò),編碼器用于對原始圖像進(jìn)行特征的逐步提取和凝練,解碼器用于對提取得到的特征進(jìn)行解析,使其符合預(yù)期結(jié)果. 在編解碼器之間會使用跳躍連接對相同尺度的特征進(jìn)行連接和融合以提升網(wǎng)絡(luò)性能. 此網(wǎng)絡(luò)的輸入為一張RGB圖像,輸出為對應(yīng)的逐像素的深度信息. 對于位姿估計網(wǎng)絡(luò)1和位姿估計網(wǎng)絡(luò)2,本文選用PoseNet[22]網(wǎng)絡(luò). 此網(wǎng)絡(luò)是一個簡單的編碼器,輸入是按顏色通道連接的相鄰2張RGB圖像,輸出是一個六自由度的相機(jī)位姿.

本文所提算法使用PyTorch框架實現(xiàn). 使用Adam優(yōu)化器實現(xiàn)網(wǎng)絡(luò)訓(xùn)練,其中β1=0.900,β2=0.999;學(xué)習(xí)率設(shè)置為10-4. 對于光度、平滑度和幾何一致性3種誤差,光度誤差最為重要,是構(gòu)建自監(jiān)督學(xué)習(xí)的依據(jù),同時也是完成整個網(wǎng)絡(luò)模型訓(xùn)練的核心所在. 因此,對于光度誤差權(quán)重需要設(shè)置為最大. 本文利用平滑度誤差解決由光度誤差造成的梯度局部性問題,目的是優(yōu)化網(wǎng)絡(luò)模型訓(xùn)練,使計算得到的深度信息更為平滑. 平滑度誤差主要是為優(yōu)化網(wǎng)絡(luò)訓(xùn)練而設(shè)計,因此,其權(quán)重可以設(shè)置小一些. 本文利用幾何一致性誤差實現(xiàn)尺度一致性. 尺度一致性對視覺里程計實際應(yīng)用非常重要,對整個網(wǎng)絡(luò)模型的訓(xùn)練是一個強(qiáng)約束項,因此,其權(quán)重占比較大. 綜上所述,光度誤差和幾何一致性誤差是功能項,決定網(wǎng)絡(luò)模型實現(xiàn)哪些功能. 平滑度誤差是優(yōu)化項,可優(yōu)化網(wǎng)絡(luò)模型訓(xùn)練. 由此,經(jīng)過實驗驗證,本文將上述3種損失函數(shù)對應(yīng)權(quán)重設(shè)置為λb=1.0,λs=0.1,λg=0.5. 最后,對于整個網(wǎng)絡(luò),一共訓(xùn)練200代,每代1 000個批次,每個批次的大小為4.

5.3 消融實驗

本文核心貢獻(xiàn)之一是實現(xiàn)了場景的動靜態(tài)信息分離,由此提升視覺里程計精度. 為進(jìn)一步驗證其有效性,本文進(jìn)行消融實驗,對比融合動態(tài)區(qū)域檢測方法前后視覺里程計軌跡差異,以此說明融合動態(tài)區(qū)域檢測后能夠提升視覺里程計計算精度.

圖5所示為相機(jī)在KITTI Odometry數(shù)據(jù)集的09和10兩個場景中的運(yùn)動軌跡,展示了融合動態(tài)區(qū)域檢測方法前后視覺里程計軌跡對比結(jié)果. 不帶動態(tài)區(qū)域檢測的視覺里程計算法對應(yīng)位姿估計網(wǎng)絡(luò)1. 由圖中所示對比結(jié)果可以看出,動態(tài)區(qū)域檢測模塊能夠有效提升相機(jī)運(yùn)動軌跡結(jié)果,即融合動態(tài)區(qū)域檢測的視覺里程計算法能夠更好地應(yīng)對動態(tài)場景,實現(xiàn)更為精確的視覺里程計計算. 為進(jìn)一步驗證上述說明,本文對動態(tài)區(qū)域檢測結(jié)果進(jìn)行可視化.

圖5 融合動態(tài)區(qū)域檢測前后的視覺里程計軌跡對比Fig.5 Comparison of visual odometry trajectory with and without dynamic region detection

圖6所示是利用深度信息實現(xiàn)的動態(tài)區(qū)域檢測,彩色圖像是原始圖像,灰度圖像是動態(tài)區(qū)域檢測結(jié)果. 圖6對2類動態(tài)區(qū)域檢測結(jié)果進(jìn)行展示,前2行展示的是場景中連續(xù)運(yùn)動的物體. 對于這種動態(tài)物體區(qū)域,物體邊緣與周圍靜態(tài)環(huán)境信息距離較近,邊緣區(qū)域會發(fā)生較嚴(yán)重的特征誤匹配,對視覺里程計的計算造成較大干擾. 針對此問題分析相鄰2幀圖像中連續(xù)運(yùn)動物體的深度信息,在物體邊緣上深度信息變化較大. 基于上述特性,本文算法能夠通過分析深度信息的差異檢測到此動態(tài)區(qū)域,進(jìn)而減少其對視覺里程計的干擾. 圖6中后2行展示的是在距離相機(jī)較近的區(qū)域,由于遮擋或視角變換造成的突然出現(xiàn)或消失的區(qū)域. 此區(qū)域同樣會造成較為嚴(yán)重的特征誤匹配情況,但是本文算法同樣能夠?qū)Υ藚^(qū)域進(jìn)行有效檢測. 分析相鄰2幀圖像中突然出現(xiàn)或消失區(qū)域的深度信息,此區(qū)域深度信息變化劇烈且較為完整,因此,能夠通過深度信息的差異檢測得到動態(tài)區(qū)域,進(jìn)而可以減少誤匹配信息,提升視覺里程計計算精度. 綜上所述,本文算法能夠較為準(zhǔn)確地檢測到場景中的動態(tài)區(qū)域,并且能夠因此提升視覺里程計計算精度.

5.4 視覺里程計性能

隨著深度學(xué)習(xí)的出現(xiàn),涌現(xiàn)出了一大批基于深度學(xué)習(xí)的視覺里程計算法. 本文選取4個具有代表性的算法進(jìn)行對比實驗. Yin等[24]利用光流實現(xiàn)了動態(tài)信息估計,Luo等[26]利用場景流的方式實現(xiàn)動態(tài)信息估計,Casser等[28]直接利用Mask R- CNN[36]實現(xiàn)潛在動態(tài)物體估計,Bian等[29]利用深度信息實現(xiàn)動態(tài)物體檢測. 這4個算法都實現(xiàn)了動態(tài)物體檢測,但是這些算法僅是將動態(tài)信息融入損失函數(shù)中,通過優(yōu)化訓(xùn)練過程來提升訓(xùn)練效果. 本文算法利用估計得到的動態(tài)信息,首先對場景中的動靜態(tài)信息進(jìn)行分離,然后僅利用靜態(tài)信息進(jìn)行視覺里程計的計算,最終同樣將動態(tài)信息融入損失函數(shù)中,優(yōu)化模型的訓(xùn)練.

本文從ATE和視覺里程計軌跡2個方面對視覺里程計性能進(jìn)行評估. 為便于實驗分析,本文同文獻(xiàn)[24,26,28-29]一樣在KITTI Odometry數(shù)據(jù)集的09和10兩個序列上進(jìn)行測試,實驗對比結(jié)果如表1所示. 本文提出的算法在09序列上得到了最好的實驗結(jié)果,相較于Bian等[29]的算法提升了13%. 在10序列上,本文算法的性能與其他算法相當(dāng). 從實驗結(jié)果來看,本文所提算法能夠提升視覺里程計計算精度.

從量化指標(biāo)上來看,本文提出的算法取得了更好的性能. 為了獲得更直觀的結(jié)果,本文對視覺里程計軌跡進(jìn)行了可視化. 本文以Bian等[29]所提算法為基準(zhǔn),因此,對Bian等[29]的算法、本文算法和真值的相機(jī)運(yùn)動軌跡進(jìn)行了可視化,結(jié)果如圖7所示. 從圖中可以看出,本文所提算法優(yōu)于Bian等[29]算法.

圖7 本文算法與Bian等[29]所提算法視覺里程計軌跡對比Fig.7 Comparison of visual odometry trajectory between the method in this paper and the method proposed by Bian et al.[29]

對比圖7和圖5,對于圖7所示Bian等[29]所提視覺里程計和圖5所示不帶動態(tài)區(qū)域檢測的視覺里程計,二者計算的視覺里程計軌跡相似. 這是因為本文以Bian等[29]所提算法為基準(zhǔn),對其算法進(jìn)行了改進(jìn),融入了動態(tài)物體檢測、動靜態(tài)信息分離和位姿估計網(wǎng)絡(luò)2模塊. 因此,上述2個視覺里程計模型相同,而且輸入信息均為原始未經(jīng)過動靜態(tài)信息分離的圖像. 由此,計算得到的視覺里程計軌跡相似.

5.5 深度信息估計

本文所提算法是基于自監(jiān)督的視覺里程計算法,包含了深度信息估計模型和位姿信息估計模型,并完成了對二者的聯(lián)合訓(xùn)練. 其中,任何一個模塊性能的提升都會影響另外一個模塊的訓(xùn)練,使得另一個模塊性能同樣得到提升. 兩者相互促進(jìn),不斷提升2個模塊的性能. 上述視覺里程計相關(guān)實驗證明,本文算法能夠提升視覺里程計計算精度. 因此,深度信息估計模塊的性能同樣應(yīng)該得到提升.

圖8 深度圖像Fig.8 Depth map

如圖8所示,為驗證上述預(yù)測,本文給出了圖像對應(yīng)深度信息可視化結(jié)果,并和Bian等[29]算法進(jìn)行對比. 從圖像中可以看出,對于細(xì)小物體,例如圖中所示路標(biāo)和電桿,本文算法能夠得到更為準(zhǔn)確的估計. 圖8所示結(jié)果證明,視覺里程計精度的提升促進(jìn)深度估計更為準(zhǔn)確. 深度信息精度的提升會使得動態(tài)區(qū)域檢測更為完整. 綜上所述,對本文所提算法的訓(xùn)練,將實現(xiàn)一個正向循環(huán),促進(jìn)整個網(wǎng)絡(luò)模型的正向?qū)W習(xí),提升各模塊的性能.

6 結(jié)論

1) 在自監(jiān)督深度學(xué)習(xí)框架下,提出了一種融合動態(tài)區(qū)域檢測的視覺里程計模型. 在KITTI數(shù)據(jù)集上和現(xiàn)有先進(jìn)算法進(jìn)行對比實驗,驗證本文所提算法的有效性. 實驗結(jié)果表明,本文所提算法能夠更好地應(yīng)對動態(tài)場景,實現(xiàn)動靜態(tài)信息的分離,利用靜態(tài)信息計算相機(jī)運(yùn)動,進(jìn)而使得視覺里程計計算更為準(zhǔn)確,同時提升場景深度估計的準(zhǔn)確性.

2) 本文所提算法使用相鄰圖像間深度信息的差異性實現(xiàn)動態(tài)區(qū)域檢測,并進(jìn)一步實現(xiàn)動靜態(tài)信息分離. 此算法計算速度快、效率高且能夠?qū)崿F(xiàn)較為準(zhǔn)確和全面的動態(tài)區(qū)域檢測. 對動靜態(tài)信息的分離,消除了動態(tài)信息對視覺里程計計算過程的干擾,有效地促進(jìn)了視覺里程計計算精度的提升.

3) 本算法使用光度誤差、平滑度誤差和幾何一致性誤差構(gòu)建損失函數(shù),并且使用分離得到的靜態(tài)信息進(jìn)一步約束光度誤差和幾何一致性誤差,優(yōu)化損失函數(shù),提升訓(xùn)練效果.

4) 通過動態(tài)區(qū)域可視化結(jié)果可知,當(dāng)前對動態(tài)區(qū)域的檢測依然不夠完整. 對連續(xù)運(yùn)動物體,更多地是檢測到其邊緣部分,但是,其內(nèi)部信息同樣會對視覺里程計計算造成一定的干擾. 因此,未來可以從種子區(qū)域生長、融合光流信息、引入注意力機(jī)制等方面實現(xiàn)對動態(tài)區(qū)域的進(jìn)一步檢測,以實現(xiàn)更為準(zhǔn)確和完整的動態(tài)區(qū)域估計.

猜你喜歡
位姿靜態(tài)動態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
國內(nèi)動態(tài)
最新進(jìn)展!中老鐵路開始靜態(tài)驗收
靜態(tài)隨機(jī)存儲器在軌自檢算法
動得多,還要坐得少——評WHO《身體活動與靜態(tài)行為指南》
基于PLC的六自由度焊接機(jī)器人手臂設(shè)計與應(yīng)用
基于位置依賴的密集融合的6D位姿估計方法
動態(tài)
曲柄搖桿機(jī)構(gòu)的動力學(xué)仿真
富蕴县| 山东省| 莲花县| 广饶县| 政和县| 福鼎市| 榆中县| 长海县| 西平县| 论坛| 广昌县| 定边县| 开原市| 牡丹江市| 贡觉县| 汉中市| 宁津县| 井研县| 资源县| 舞阳县| 泰顺县| 寿阳县| 嘉义市| 吴忠市| 德格县| 南川市| 正定县| 合山市| 徐闻县| 沾益县| 定南县| 民丰县| 玉环县| 弥渡县| 磐石市| 邵东县| 乌兰县| 樟树市| 嘉祥县| 丹江口市| 德江县|