999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度估計網絡SS-Net的SLAM系統

2022-12-22 11:47:36王振明于劍峰
計算機工程與應用 2022年24期
關鍵詞:深度特征系統

王 恒,吳 波,王振明,于劍峰

1.中國科學院 上海高等研究院,上海 201210

2.中國科學院大學,北京 100049

同時定位與地圖繪制(simultaneous localization and mapping,SLAM)是各個學科、各方面知識交織融合的一個產物,是緊密地聯合數學理論、系統理論、計算機視覺、電子信息科學等各個方面的綜合體。SLAM概念最早是在舊金山舉行的機器人會議上被Smith等人[1]提出。進入21世紀,Davison等人[2]提出了第一個實時的單目SLAM系統(MonoSLAM)。隨后,Klein等人提出了并行SLAM系統(parallel tracking and mapping,PTAM)[3],是第一個使用束調整(bundle adjustment,BA)完成實時SLAM的系統,首次把SLAM系統中區分出前后端,實現跟蹤與建圖線程并行化。Raul等人提出了一種基于稀疏特征點的單目ORB-SLAM系統[4],它突破性地使用了三個線程,分別是跟蹤線程、局部建圖以及回環檢測。這之后,SLAM系統的基本框架趨于成熟,即傳感器模塊、前端視覺里程計模塊、后端非線性優化模塊、回環檢測模塊,建圖模塊組成。

單目SLAM系統因為成像在深度距離的測算上沒有確定性,需要運動起來才能有前后幀間的估算深度,這使得其定位精度較低。同時期,利用深度學習方式進行深度估計的方法越來越多。隨著深度學習算法的創新以及硬件計算力的突破,深度學習獲得了突破性的發展與進步,有越來越多的人使用深度學習網絡的方法來進行單目深度估計。Eigen等人[5]提出了一種采用兩段式編碼器-解碼器(Encoder-Decoder)網絡結構來進行單目深度估計的監督學習方法,前者獲得低分辨率深度圖作為中間產品,而后者獲得具有原始分辨率的最終深度圖,成為大多數網絡的基礎框架。為了獲得平滑和精確的深度,Hu等人[6]添加多層邊界融合模塊(bottom-up boundary fusion,BUBF)利用了多級特征和多任務損失。Chen等人[7]添加金字塔模塊到網絡中,逐漸細化到網絡最后的深度。還有一些網絡[8-10]等結合深度、語義分割等來預測單目深度。

本文提出的一種基于SS-Net的SLAM系統方案,僅依靠單目獲取的信息,利用深度估計網絡預測幀序列,有效提升單目SLAM系統的性能,提高系統精度。本文基于ORB-SLAM系統進行改進,提供了一種采用深度學習實現預測同一場景的深度信息,并基于此提高ORB-SLAM性能的方案,內容如下:本改進和創新現有的網絡進行單目深度估計的方法,使用邊界引導和場景聚合網絡(boundary-induced and scene-aggregated net‐work,BS-Net)[10],并在其基礎上添加ED,修改SR,提出基于Sobel的邊界引導和場景聚合網絡(sobel-boundaryinduced and scene-aggregated network,SS-Net)。新的網絡可以處理單幀圖像,從而獲得整個序列的深度估計。在深度估計網絡,提出了邊界提取模塊。在網絡中添加邊界提取、深度相關模塊提取易丟失圖片的細節特征,來防止邊界在向下采樣過程中丟失過多的邊界信息,使網絡達到高準確性。最后,將改進的深度學習網絡應用在SLAM系統中,通過實驗來驗證其精度,證明其有效性。

在接下來會詳細地講解基于深度估計網絡SS-Net的SLAM系統的特性與功能,最后本文通過驗證原網絡與改進后的網絡定位效果,來證明本系統的有效性。

1 系統設計

本文所提出的基于深度估計網絡SS-Net的SLAM系統,其整體設計思路是基于ORB-SLAM所構建,系統的框架為6部分構成,單目傳感器模塊、深度估計模塊、前端視覺里程計模塊、后端非線性優化模塊、回環檢測模塊、建圖模塊。在ORB-SLAM中,前端視覺里程計和后端非線性優化模塊合并至跟蹤線程中,局部建圖與回環檢測模塊與跟蹤線程同時運行。

如圖1所示,系統工作流程為:攝像頭(單目傳感器)將采集的環境信息傳到系統;深度估計模塊利用訓練好的網絡,利用深度學習的方式從RGB圖中生成深度圖,獲取具體的深度信息;前端視覺里程計根據圖片幀估計幀間相機運動,進而估計出相機的姿態[11],并采用三角測量法得到相關點的深度信息,并與深度估計模塊的深度信息融合優化;后端優化模塊會對系統計算得到的相機姿態和深度信息進行全局優化;建圖模塊會根據優化后的姿態和深度信息對周圍環境進行三維重建,從而實現即時定位與建圖的功能;與此同時閉環檢測模塊會不斷地對輸入圖片進行檢測,判斷是否存在閉環。

圖1 融合深度估計網絡SS-Net的SLAM系統框架Fig.1 Framework of SLAM system integrating depth estimation network SS-Net

本文的基于深度估計網絡的SLAM系統將分為兩個部分在后續章節進行介紹,即SS-Net深度估計模塊和ORB-SLAM系統。

2 SS-Net深度估計模塊

有監督深度學習網絡大多采用深度編碼器-深度解碼器(Encoder-Decoder)的基礎結構,同樣,本文的深度估計模塊也采用了這樣的基礎結構。如圖2所示,本文設計的網絡采用了一種最新的深度預測網絡BS-Net[10],BS-Net以基礎的Encoder-Decoder框架和多層邊界融合模塊(bottom-up boundary fusion,BUBF)為基礎,融合了深度相關模塊(depth correlation encoder,DCE)和細化模塊(stripe refinement,SR)。本文在此網絡基礎上,添加了邊界提取模塊(edge detection,ED)和新的細化模塊(stripe refinement,SR),將原圖像的邊緣信息融入到輸出中。

圖2 深度估計模塊(SS-Net)Fig.2 Depth estimation model(SS-Net)

多數的深度估計網絡主要是解決兩個問題[10],一是網絡估計RBG圖像中各物體之間相對深度的準確性低,二是網絡得到的深度圖物體的邊緣細節準確性低。SS-Net中,DCE模塊利用空洞卷積和金字塔場景編碼器兩個分支獲得不同區域之間深度相關性。ED模塊跳過Encoder-Decoder過程,直接獲取邊緣信息特征,傳遞到SR中;BUBF模塊可以保存Encoder過程中網絡細節特征不斷丟失的問題,與ED模塊優化邊緣細節特征。SR融合所有模塊輸出。SS-Net保留了BS-Net對深度相關性估計的優勢,同時提出ED模塊跳過了傳統網絡中較長的下采樣與上采樣過程,使得預測的深度圖邊緣會有較好效果。

2.1 深度編碼器與深度解碼器

在以往的研究中[9,12-14],大多數深度預測網絡均采用Encoder-Decoder的基礎結構。本文選擇用經典ResNet50網絡作為Encoder。如圖2所示,Encoder會分成Down 1~Down 5這5個階段進行下采樣。在過去的研究中[15],發現了空洞卷積能獲得一個更大的感受野,被證明在網絡中會保留更多的信息。因為,網絡中加入池化層(Pooling)后往往會損失部分傳遞的信息。但不加Pooling會使感受野變小,而純粹的擴大卷積核勢必導致計算量的增大,因此使用空洞卷積,如圖3所示。因此將Encoder中的Down4和Down5替換為空洞卷積。

圖3 空洞卷積Fig.3 Dilated convolution

Decoder會放大Encoder和DCE的輸出,利用所學習的特征來預測深度特征,同時減少信道數,生成分辨率更高的特征,結合其他模塊最終生成最后的圖片。如圖2所示,Decoder會分成5個過程,Up1~Up5。Decoder的Up塊是由上采樣塊和大卷積核強化塊(large-kernel refinement blocks,L-RB)組成。L-RB部分在提升分辨率的同時,壓縮了通道。如圖4所示,L-RB有兩個平行分支,第一個分支是由5×5 Conv和3×3 Conv構成。第二個分支是由5×5 Conv構成。這兩個分支匯聚在一起后輸出。

圖4 L-RB結構圖Fig.4 Framework of L-RB

Decoder將網絡編碼處理過特征重新放大并保留其預測的深度信息,并傳遞出來。

2.2 多層邊界融合模塊

在以往的研究中[6,10],BUBF用于保存多層網絡的邊緣細節信息和深度信息,并傳遞到SR層。BUBF將Encoder中的Down2~Down5在每次下采樣中深度變化信息以及高分辨率中存在的信息提取出來。BUBF可以提取深度的突然變化邊界并移除深度的平滑變化的非邊界像素。因為淺層網絡特征富含邊緣位置信息但缺乏深度信息和語義信息,深層網絡特征富含深度信息和語義信息,所以這個模塊是淺層輸出和深層輸出的互補。BUBF將淺層位置信息逐層傳遞到深層,融合相鄰兩層的特征以獲得準確的邊界。最終,將這些信息融合,為最后的SR提供輸入。

整個模塊由4部分組成,同時BUBF中加入了強化塊(refinement block,RB),如圖5所示。Encoder的所有輸出都被RB強化。其次,為了對齊多層深度網絡的特征,特征通過Up上采樣為57×76×64的特征,并通過RB進一步強化。該操作中的Up模塊與本文Decoder和文獻[12]中的Up相同。緊接著,每個級別的輸出與其相鄰的深一級的網絡相連接,用于后面更深的融合。依次類推,利用同樣的方式融合了其他深度的網絡。BUBF將從Down2到Down5的特征融合起來,使得深度邊界被更精確地定位。

圖5 BUBF結構圖Fig.5 Framework of BUBF

2.3 深度相關模塊

BS-Net[10]創新性地提出DCE來感知整個圖像中不同區域之間的深度相關性,即物體之間的相對深度,同時DCE估計最遠的距離,把不同層次網絡的多個特征進行相關性的融合,并為Decoder提供輸入。

一方面,利用前四個分支來提取獨立的像素之間的相關性,在此基礎上建立不同獨立像素之間的相對深度。另一方面,后四個分支(PSE)提取多尺度區域中的主要特征并將它們融合為一,從而獲得不同區域之間的相關性。

Down5的輸出是DCE輸入,該模塊通過8個平行分支捕獲相關性,如圖6所示。前三個分支都是3×3Conv,但擴張速率不同,最大速率的卷積核具有整個圖像的視野感,而最小速率的卷積核僅覆蓋整個圖像的大約1/9。第四個分支為1×1Conv。這編碼了輸入圖像的兩個遙遠區域之間的相關性。在這4個通道后,1×1Conv來整合不同通道的信息以及消除網格陰影。

圖6 DCE結構圖Fig.6 Framework of DCE

后面四個分支構建了金字塔場景編碼器(pyramid scene encoder,PSE)[16],對不同深度網絡區域之間的相關性進行編碼,并通過考慮相關性來定位最遠的區域。這4個分支分別對Down5輸出Pooling操作,下采樣成為4個大小,接著1×1Conv來融合每個通道的特征,并被上采樣到29×38×512大小。由于pooling的操作,不同尺度區域的特征在不同區域中的主要特征會融合。網絡的最后是3×3Conv。通過考慮不同尺度區域的深度信息及其相關性,PSE提取了區域之間的相對深度變化。最終,DCE的所有5個分支被連接,通過3×3Conv,融合了不同深度網絡輸出的特征的相關性,并且信道仍保持在2 048。文獻[10]顯示了BS-Net中的DCE的有效性。

2.4 邊界提取模塊

為提升深度圖物體邊緣預測的準確性,本文提出邊界提取模塊(edge detection,ED),該模塊將原圖像中的物體邊界信息保留,并經過卷積操作后,在SR與Decoder、BUBF的輸出融合,如圖2所示。

在過去的研究中[17],邊緣是圖像本質的特征,其包含了圖像的絕大部分信息。利用邊緣檢測常檢測出圖片中反映了圖像局部變化較大(突變)的地方,即圖像中灰度變化比較劇烈的地方。邊緣檢測中算子有多種類型,常用的有Sobel算子、Canny算子等。圖7中,Canny算子對邊緣敏感,容易產生間斷,使得整個邊緣不連續,而Sobel算子對邊緣不敏感,產生的邊緣有強有弱,抗噪性強,同時計算量小。SLAM系統需要準確的深度圖邊緣信息,若網絡生成的深度圖參雜過多的噪點信息,ORB特征結合錯誤信息來建圖,導致錯誤率高,會影響SLAM建圖準確性。Sobel算子對噪聲也具有很好的平滑作用,對物體邊界檢測有很好的效果,本文選擇的是Sobel算子。

圖7 不同算子處理的結果Fig.7 Results operated by different operators

Sobel算子是基于一階微分的邊緣檢測方法,其檢測方法有一定的特點,即按照特定的方向檢測。Sobel算子常用的檢測方向為45°方向、90°方向、180°方向、315°方向,這些算子如圖8所示。

圖8 不同方向的Sobel算子Fig.8 Sobel operators in different direction

與大多數的Sobel算子相似,本文所選用Sobel算子檢測方向是90°與180°,這可以挑選出水平與垂直的邊緣。使用多個方向的Sobel算子能夠包含豐富的邊緣細節信息,提供給網絡更多可訓練的特征,但算子較多會增加復雜程度,同時包含了過多的冗余信息,如:噪聲點等。使用單個方向Sobel算子能減小算子的復雜度,但算子提供的信息會減少,無法提供更能準確可靠的信息。綜合以上兩點的考慮,選擇用水平與垂直方向的算子作為本文的方案。

本文設計了ED模塊,其結構圖如圖9所示。具體內容為整個模塊主要由兩部分組成,分別為檢測算子(Detect-Operator)和基礎操作部分(Base-Operator)。由于輸入的圖像為三通道,為保證每個通道的信息,首先,選擇用detect-operator模塊分別處理三層通道,并讓這些產生不同通道的邊緣。之后選擇給每個分支首先會通過一個5×5 Conv的模塊。然后,不同通道處理結束后,各個模塊產生的特征會被融合在一起。Base-Operator會經過兩個5×5 Conv,再經過一個5×5 Conv,并最終將通道擴展輸出到128的維度,同時將特征分辨率縮至114×152。

圖9 ED結構圖Fig.9 Framework of ED

Detect-Operator提取淺層圖像的邊緣特征,并將特征傳遞下去,Base-Operator對邊界特征進行提取與處理,得到準確的邊緣信息,傳遞給下一層網絡。相對于深度學習網絡的不確定性,Detect-Operator的Sobel算子作為數字圖像處理的成熟技術,可以提取準確的邊界信息。因此,Base-Operator并沒有搭建較深的網絡結構,這樣,豐富的邊界特征會減少損失,并將更多有效準確特征傳遞給下一層網絡。

ED利用Sobel算子來對圖像中有用的邊界信息提取處理,再進行卷積、歸一化、激活等操作輸出,如圖2所示。ED會將最淺層的網絡信息保留下來,并跳過容易丟失邊界信息的Encoder和Decoder的網絡,最終將特征輸出到SR中。

2.5 細化模塊

本文提出一種新的細化模塊(stripe refinement,SR),該模塊將BUBF、ED和Decoder的輸出融合,生成并強化高分辨率深度圖。

BUBF的輸出的特征大小為114×152×64,Decoder的輸出的特征大小為114×152×64,而ED的輸出的特征大小為114×152×128。首先,本文設計模塊融合BUBF的輸出特征與Decoder的輸出特征;然后經過通道合并融合ED的輸出特征。

如圖10所示,SR網絡框架由3部分組成。首先,SR利用兩個條帶卷積(stripe convolutions),分別為3×11和11×3的卷積核,在垂直和水平方向的大范圍內聚集邊界附近的像素。由于沿正交方向的全局上下文對指示相對深度有重要貢獻,因此可以更好地識別對象及其背景之間的深度變化。本文沒有像文獻[6]利用三個5×5卷積來預測Decoder的最終深度圖。因為小核卷積由于其有限的感受野而產生問題。它只聚集局部特征,使得深度預測中的局部混淆不可避免。同時,可能未能充分利用邊界和全球背景特征。其次,采用3×3 Conv、BatchNorm和ReLU融合兩個條帶卷積提取的特征。第三,采用3個5×5 Conv來細化最終的深度圖。為了更精確地預測深度圖,5×5卷積之前的融合特征通過跳躍連接被傳遞到最后一個5×5的卷積。

圖10 SR結構圖Fig.10 Framework of SR

這種方法解決了Hu[6]的網絡中5×5小卷積帶來的兩個問題:只在每個像素處聚集局部特征,使得深度預測中的局部混淆不可避免;未能充分利用邊界和全局上下文特征。最終通過SR得到了預測的深度圖。

2.6 損失函數

本文使用了BS-Net中的損失函數。為了訓練網絡,訓練數據中的地面真實深度圖被表示為G,并且其對應的預測被表示為P。地面真實深度圖中的每個像素被表示為gi∈G,并且pi∈P用于預測。

損失函數主要由三部分組成,像素深度差ldepth,梯度差lgrad,表面法線差lnormal。假設?x()和?y()表示像素在x和y方向上的空間梯度,地面真實深度圖的表面法線及其預測深度圖表示為npi=[ -?x(pi),-?y(pi),1]和=[ -?x(gi),-?y(gi),1]。那么這三個損失函數分別為:

其中,lfinal是總損失函數。由于邊界周圍的像素具有較大的深度梯度,梯度差lgrad會引導BUBF學習邊界。

3 ORB-SLAM系統

傳統的視覺SLAM系統分為以下幾個部分:傳感器(sensor)、前端視覺里程計(visual odometry,VO)、后端非線性優化(optimization)、回環檢測(loop closing)和建圖(mapping)五個模塊組成,ORB-SLAM系統包含三個并行運行的線程:跟蹤線程(tracking)、局部建圖線程(local mapping)和回環檢測線程(loop closing)。與傳統的系統架構一致,ORB-SLAM系統中跟蹤線程包含了傳統模塊中傳感器、前端視覺里程計和后端優化模塊。

ORB-SLAM系統主要以攝像頭作為傳感器,用來感知周圍環境的信息。如圖11所示,整個系統的大致工作流程可以概括為:Tracking負責處理相機的每一幀,計算與提取ORB特征,并決定何時插入新的關鍵幀。系統執行與前一幀的初始特征匹配,并使用BA來優化姿態。一旦系統初始化相機姿態和特征匹配成功,就使用由的關鍵幀的相關圖(covisibility graph)來持續計算。最后通過重投影來搜索與局部地圖點的匹配,并且利用所有匹配來再次優化相機姿態。Local Mapping處理新的關鍵幀,并執行局部BA,以實現相機姿態周圍的最佳重建。Loop Closing搜索每個新關鍵幀的循環。如果檢測到一個循環,系統會計算一個相似性轉換,告知循環中累積的漂移。然后循環的兩邊對齊,并融合重復的點。最后,對相似性約束進行姿態圖優化,以實現全局一致性。

圖11 ORB-SLAM系統框架Fig.11 ORB-SLAM system overview

跟蹤線程。首先跟蹤線程會提取ORB特征。特征是圖像的一種數字化的表達形式,計算機視覺領域產生很多穩定的局部圖像特征,如SIFT[18]、ORB[19]等。ORB的關鍵點對FAST角點[20]進行了改進,使特征點具有了旋轉不變性和尺度不變性。ORB采用的描述子為BRIEF[21],這是一種二進制的描述子。在實際使用ORB特征進行特征匹配時,ORB保證了特征點具有旋轉不變性和尺度不變性,而且速度非常快。接下來是地圖與初始姿態估計。系統使用對極幾何估計相機姿態。對極幾何的代數表示被稱為基礎矩陣:pT2·F·p1=0。如果矩陣是滿秩的,就可以通過解方程的方法求解得到矩陣F。之后,就可以得到相機姿態R和T。在實際使用時,得到的匹配點的數量有很多,但是有一些誤匹配的情況存在,為了選取最好的匹配點對去求解準確的R和T,系統采用隨機采樣一致性算法(random sample consensus,RANSAC)[11]來消除特征誤匹配所帶來的誤差。初始化成功后,跟蹤線程開始跟蹤當前地圖并實時進行局部的建圖模塊。最后,跟蹤線程可以實時決定當前幀是否可以成為關鍵幀。

局部建圖線程。該線程會實現局部的地圖構建。首先,局部建圖會插入一個關鍵幀,更新相關圖,然后,該線程會結合相近的關鍵幀生成的點進行驗證,并進行篩選,去除不合格的地圖點,接著產生新的地圖點,使用局部BA優化,最后再對插入的關鍵幀進行篩選,去除多余的關鍵幀。

回環檢測。這一部分主要分為兩個過程,分別是閉環探測和閉環校正:閉環檢測首先會檢測其他幀的相關性,如果檢測到相似性得分較高,就通過Sim3算法計算相似變換;閉環校正主要是將兩段不連貫的地圖融合在一起,同時,再進行整個地圖的優化,沿著圖形分布循環消除誤差,以校正尺度漂移。

4 實驗結果與分析

實驗基礎環境:本文實驗的計算機基本硬件參數為AMD Ryzen7 3700X 8-Core Processor 3.60 GHz CPU,NVIDIA GeForce RTX 2080Ti 11 GB顯 卡,16 GB內存。實驗的計算機為Win10系統環境。基于該系統裝有Anaconda、CUDA 11.1、Pytorch 1.7.1等深度學習類軟件;基于此裝有VMWare16虛擬機,并安裝了Ubuntu16.04系統,在此基礎上裝有SLAM算法及測試相關軟件。

4.1 深度預測實驗

使用由各種室內場景組成的NYUDepthV2數據集。NYU-Depth V2數據集是由具有RGB和Depth拍攝功能的Microsoft Kinect攝像機記錄的各種室內場景的視頻序列組成。NYU-Depth V2數據集總共有51 342對(共4 GB左右)的數據集組成,該數據集由284個不同場景組成。NYU-Depth V2數據集的RGB圖與Depth圖大小均為640×480,所帶有的RGB圖與Depth圖是相互對齊的,每一幅RGB圖可以對應一幅深度圖。在以前的研究[5,13,22]中,NYU-Depth V2數據集是最廣泛地用于單視角深度預測任務。

深度實驗軟件環境為Pytorch網絡架構。采用ResNet-50作為基礎網絡,并在ILSVRC[23]上通過與訓練模型進行初始化,ResNet原有的輸出的分類成被移除。選擇20個epoch訓練本文的模型,并將batchsize設置為8。Adam優化器采用參數(β1,β2)=(0.9,0.999)。權重衰減(weight decay)為1×10-4。初始學習率(learn‐ing rate)設 為0.000 05,每5個epoch降 低 為 原 來 的10%。

繼之前的工作[6-7]之后,考慮654對RGB-D圖像集進行測試,5萬對圖像集進行訓練。以與文獻[6,10]相同的方式對訓練圖像進行數據增強。為了訓練模型,使用雙線性插值將所有圖像和標簽從原始尺寸640×480下采樣到320×240像素,然后從中心部分裁剪到304×228像素。為了與網絡輸出保持一致,裁剪后的標簽被下采樣到152×114像素。此外,在測試過程中,網絡的輸出被上采樣到304×228像素以評估模型。

NYUD v2數據集包括由微軟Kinect攝像頭捕獲的12萬對RGB和深度圖,并被分成訓練集(249個場景)和測試集(215個場景)。該數據集中的圖像分辨率為640×480。

在本文的實驗環境中,多次運行了原BS-Net[10]網絡,其網絡參數與文獻[10]中一致。同時,也運行了本文提出的SS-Net,實驗結果如表1。

表1中前三個參數越高表示網絡的準確度越高,表格中后三個參數越低表示網絡性能越好。由表1可得,網絡在Delta=1.25,1.252時表現略好于BS-Net,同時在參數REL表現略好于原網絡BS-Net。受限于硬件的性能,訓練的batchsize最大只能為4,BS-Net提升不大,但整體來看,網絡性能仍略好于BS-Net。

表1 本文實驗環境下BS-Net與SS-Net實驗結果Table 1 Experimental results of BS-Net and SS-Net in this article environment

同時,本文對該數據集進行了定量和定性分析,并與幾種先進的方法進行了比較,如表2。表2中前三個參數越大證明網絡性能越好,后三個參數越大表面網絡誤差越小,性能越好。由表2可得,比較多個網絡的實驗結果顯示,相對于Resnet50這類淺層網絡,更深層的網絡往往有更好的表現,類似ResNet-101、SENet-154等網絡。但更深層的網絡結構所帶有的參數更多,網絡訓練量更大,對硬件的要求高。本文因為硬件的限制,選擇了網絡結構較小的框架。

表2 各網絡在NYUD v2圖像集測試結果Table 2 Depth accuracy and error of different methods on NYUD v2 dataset

SS-Net獲得的實驗結果,比其中一些方法[5,22,27-29]有更好的精度,因為所提出的網絡將DCE等模塊的輸出與各種核大小和擴展速率相結合,這有效地保留了全局深度布局的上下文信息。本文網絡也并沒有達到足夠好,這受限于所用的硬件顯卡設備,訓練的batchsize為4。因此,盡量用較小的batchsize去擬合網絡。同樣,相比于在本文環境下的實驗結果,BS-Net在文獻[10]中表現更好,因為其訓練環境的硬件設備更好,因此設計了表1的實驗來證明本文網絡效果是更好的。

SS-Net網絡接近400層,整體參數較大,因此需要較高的存儲與運行硬件實現,不利于一般設備的應用。但網絡整體的實時性較高,SS-Net平均處理單張圖片的時間為0.026 s,SLAM圖片幀速率為25~30 frame/s,可以滿足實時性的要求。

SS-Net網絡能夠考慮不同區域的相關性,并具有準確的不同區域深度預測能力。具體分析,對于大的、完整的物體,網絡預測效果更好。圖12(a)、12(b)中床和墻分別作為兩個完整的物體估計深度,較小的物體(如:墻上的畫、書架的書)能夠作為完整的物體一部分預測其深度。網絡可以預測墻與床之間的相對深度關系,床相對在前,而墻在后。圖12(c)中走廊的效果也極佳,網絡預測了左前方的柜子在更近的位置,走廊的盡頭是更遠的位置。這展示了本文網絡深度預測的準確性。

圖12 不同區域的深度預測效果Fig.12 Depth estimation results in different regions

SS-Net網絡對于存在較多物體,背景復雜的場景,也有較準確的相對深度預測能力。圖13中背景是一排書架,書架中有數量非常多的書籍,網絡能夠將多本書籍與書架作為同一深度的整體來預測深度。

圖13 背景復雜的深度預測效果Fig.13 Depth estimation results in messy background

SS-Net網絡可以準確邊緣預測。具體的對較大、完整、與周圍色差大的物體,網絡效果更好。圖14的深度預測圖中的座椅邊緣非常準確。而深度真值圖中,桌子與座椅的邊緣有非常多的噪點,與原圖中差距較大。SS-Net所預測的深度圖,桌子與座椅的邊緣沒有噪點,整個圖片邊緣非常干凈。

圖14 邊緣預測效果Fig.14 Edge estimation results

本網絡在嵌入整體的物體識別會存在一定問題,網絡對過小物體也會存在問題。如圖15(a)、(b)所示,墻面左側分別有一幅較大的白板與海報,在真實的深度圖15(a)、(b)中,墻面是一個完整的物體,深度是一個漸變過程。本文預測的圖片,白板與海報作為一個單獨物體去估計深度,整個圖像的估計出現較大誤差。實際上,海報與白板應該與墻面作為同一深度的物體進行預測。同樣,圖15(b)中桌上的小物體會被作為桌子的一個整體預測深度,較小的物體難以在細節上描述清楚。

圖15 嵌入物體和較小物體圖片預測效果Fig.15 Estimation results in embedded objects and small objects image

SS-Net對在嵌入整體的物體(或背景)識別會存在一定問題,使用時應盡量減少這類數據集的使用。數據集中存在多個小物體時,本網絡預測結果不夠理想。這類數據集不建議使用,特別在實際應用中,小物體起到關鍵作用。

SS-Net在Encoder模塊下采樣的過程,會把分辨率較高的圖像壓縮為29×38大小的分辨率,即使SS-Net使用了BUBF保存圖像細節特征,但在不同深度逐漸提取特征的過程中,原始圖像的細節仍會丟失,或者與周圍其他物體融合。這些導致了在上采樣過程中無法找到細節的源頭,從而生成多個較小物體的整體。解決這類問題,可以考慮兩類方法:減小下采樣過程,壓縮Encoder-Decoder的過程,不過,這樣可能對不同區域深度的相關性有影響;或者改變Encoder輸出,使其生成為較大分辨率圖像,不過,這會帶來更多的網絡參數,對硬件提出了更高的要求。

深度預測網絡的精確度是服務于定位實驗,為驗證能否更好提升SLAM定位精度,進行了下一個實驗。

4.2 定位精度實驗

本文測試基于深度估計網絡SS-Net的SLAM系統(以下簡稱本文系統)定位精度。使用VMWare16中的Ubuntu16虛擬機作為實驗的環境,在虛擬機環境中搭建了ORB-SLAM中的環境,同時在虛擬機環境中安裝了定位精度測試軟件EVO。

在使用NYU Depth V2數據集測試網絡后,本文使用了不同的數據集——TUM數據集。TUM數據集采集于不同的室內場景,TUM數據集有RGB圖像數據與深度圖像數據,可以給網絡提供穩定的可靠的深度圖訓練。TUM大多用于SLAM系統的數據輸入,定位精度的測試等,為提供訓練的比較,TUM數據集提供了每一份數據集的定位真值(Groundtruth),可以為不同SLAM算法提供定位效果的參考。使用搭建好的虛擬機中EVO工具RPE進行相對姿位評估,可以給出局部精度,例如SLAM系統誤差。

假定第i時刻,坐標的真值為xi(即Groundtruth中的值),通過SLAM系統計算出來的坐標值為xi,此時的誤差為ei,所有時刻的平均誤差為在該實驗中,定位測試的參數有平均值誤差(mean error,MEAN)、中值誤差(median error,MEDIAN)、最 大 值 誤 差(max error,MAX)、最小誤差(min error,MIN)、均方根誤差(RMSE)、和方差(sum of squares due to error,SSE)、標準差(standard deviation,STD),其計算方法為:

本文首先使用單目ORB-SLAM系統去實現定位,將其記錄的定位結果與真值進行計算,其結果記錄在下表中。其次,使用本文系統去實現定位,將其記錄的定位結果與真值進行計算,其結果同樣記錄在表3中。綜合以上的測試指標,實施了實驗,從上面的指標中,獲得實驗結果,如表3所示。

本節所提供的指標均越小越好,由表3可以看出,本文方法的表現極好。本文系統的實驗各項參數,最小誤差提升了很大,即部分SLAM定位位置預測準確;最大誤差減少了95%,平均誤差與中值誤差縮小了99%。同時,RMSE縮小了98.6%,SSE縮小了99.9%,STD縮小了97.7%。本文各項指標驗證本文算法具有較高的精度和較好的穩定性。

表3 ORB-SLAM與本文系統性能對比Table 3 Performance comparison between proposed system and ORB-SLAM

圖16展示了EVO評估工具對ORB-SLAM、本文系統的軌跡估計圖,同時圖中放入軌跡真值作為參考。本文系統與ORB-SLAM系統都能形成較為完整的閉環軌跡,兩個系統在直線運動中與真值有較高的擬合度,但本文系統相比較于ORB-SLAM系統擬合效果更好,本文系統具有高的準確性。

圖16 ORB-SLAM、本文系統與真值軌跡Fig.16 ORB-SLAM,proposed system and groundtruth trajectory

圖17 展示了單位時間兩系統的誤差情況。圖17(a)中展示了ORB-SLAM系統的誤差,其單位時間誤差上下浮動較大,同時,整個相機軌跡的偏移量與真值相比較大,偏差的最大值超過了0.02;圖17(b)中展示了本文系統的誤差,本文系統有較大的誤差存在,但系統的誤差整體偏差較小,整個系統的誤差幾乎都維持在一個較低水平,這同樣證明本文系統的定位更加精確。

圖17 單位時間兩個系統的誤差Fig.17 Error of two systems at different times

5 總結

本文提出了基于深度估計網絡SS-Net的SLAM系統。其主要是基于傳統ORB-SLAM的系統、融合SSNet網絡框架的系統。基于本文提出的用于深度估計的SS-Net,它考慮了不同區域的深度關系和邊界在深度預測中的重要作用。為了更好地估計深度,在傳統Encoder-Decoder和BUBF的網絡結構中,引入了DCE模塊,并提出了ED模塊,改進了SR模塊,這些模塊能夠考慮不同區域之間的深度相關性,提取重要的邊緣,并融合不同層次下面的網絡特征。在NYUD v2數據集上的大量實驗表明,受限于硬件原因,本文的方法并不是最優秀的,但該方法仍實現了較好的預測性。最后,將TUM數據集應用在SLAM系統,結果表明采用SLAM系統可以極大改善ORB-SLAM的定位精度。

猜你喜歡
深度特征系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
深度理解一元一次方程
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
深度觀察
深度觀察
深度觀察
抓住特征巧觀察
主站蜘蛛池模板: 亚洲人成色在线观看| 乱人伦中文视频在线观看免费| 精品久久高清| 色综合久久88| 日本精品一在线观看视频| 国产亚洲欧美在线人成aaaa| 99精品免费欧美成人小视频| 国产精品片在线观看手机版 | 国产丰满大乳无码免费播放| 自慰网址在线观看| 国产内射在线观看| 18禁高潮出水呻吟娇喘蜜芽| 伊人久久婷婷五月综合97色| 亚洲国产91人成在线| 老司国产精品视频91| 久久中文字幕2021精品| 91毛片网| 国产在线视频欧美亚综合| 美女潮喷出白浆在线观看视频| 操国产美女| 免费 国产 无码久久久| 激情综合激情| 国产精品久久久久久久久kt| 六月婷婷精品视频在线观看| 亚洲va精品中文字幕| 欧美日韩资源| 国产乱人伦AV在线A| AV无码无在线观看免费| 女人av社区男人的天堂| 国产成人久视频免费| 综1合AV在线播放| 亚洲综合中文字幕国产精品欧美| 欧美一区二区三区香蕉视| 天天综合网色| 老色鬼欧美精品| 亚洲无码免费黄色网址| 免费不卡视频| 日韩毛片免费| 伊人久久婷婷| 婷婷成人综合| 91精品国产情侣高潮露脸| 三区在线视频| 亚洲成综合人影院在院播放| 亚洲综合在线网| 国产成本人片免费a∨短片| 国产18页| 亚洲 日韩 激情 无码 中出| 午夜三级在线| 一本大道无码日韩精品影视| 亚洲欧美另类专区| a毛片在线| 国产精品一区不卡| 国产精品成人免费视频99| 欧美亚洲国产视频| 久久午夜夜伦鲁鲁片无码免费| 亚洲天堂精品在线观看| 久久久久免费精品国产| 国产欧美日韩视频怡春院| 波多野结衣一区二区三区88| 欧美日韩国产高清一区二区三区| 亚洲综合久久成人AV| 青青草原国产| 日韩精品高清自在线| 久久黄色一级片| 四虎AV麻豆| 在线日韩日本国产亚洲| 日韩久久精品无码aV| 久久黄色一级视频| 亚洲综合二区| 老司机aⅴ在线精品导航| 久久综合丝袜长腿丝袜| 日韩欧美91| 国产视频 第一页| 欧美黄网站免费观看| 91福利一区二区三区| 波多野吉衣一区二区三区av| 少妇精品久久久一区二区三区| 国产久操视频| 伊人久久大香线蕉综合影视| 免费不卡视频| 午夜精品影院| 亚洲永久精品ww47国产|