單目視覺里程計性能估計


單目視覺里程計性能估計 

D3VO: Deep Depth, Deep Pose and Deep Uncertaintyfor Monocular Visual Odometry

論文地址:https://arxiv.org/pdf/2003.01060.pdf

摘要

CVPR2020一篇關於視覺里程計和深度估計結合的文章,一作是很多人熟悉的楊楠大佬。這篇文章也是繼DVSO又一篇DSO與深度估計結合的文章。

提出D3VO作為單目視覺里程計的新框架,該框架利用網絡在三個層面的信息--深度,位姿和不確定性估計。首先提出了一種新穎的訓練於雙目視頻的自監督單目深度估計網絡,該網絡沒有使用任何外部監督信號,通過預測的亮度轉換參數將訓練圖像對調整為相似的光照條件, 此外,還對圖像中像素的光度不確定度進行了建模, 這樣不僅提高了深度估計的准確性還為DSO中的光度殘差提供了一個學習過的加權函數。評估結果表明,所提出的網絡優於最先進的自監督深度估計網絡。D3VO 將預測的深度,位姿和不確定性緊密結合到直接視覺里程計中的前端跟蹤以及后端非線性優化模塊里。在KITTI和EuRoC MAV數據集對D3VO進行了評估。結果表明,D3VO在很大程度上優於最新的傳統單目VO方法。它還可以達到與KITTI上最先進的雙目/ LiDAR測距法, EuRoC上視覺慣導SOTA算法相媲美的結果。

 

背景知識

深度學習已經席卷了計算機視覺的大部分領域——不僅是像對象分類、檢測和分割這樣的高級任務[30,39,58],還有像光流估計[12,65]和興趣點檢測和描述[11,13,79]這樣的低級任務。然而,在同時定位和映射(SLAM)或視覺里程計(VO)領域,傳統的基於幾何的方法(16、17、53)仍然占主導地位。雖然單目算法[16,52]具有優勢的硬件成本和較少的校准工作,由於尺度漂移[62,77]和低魯棒性,無法實現與立體聲[53,74]或視覺慣性里程計(VIO)[44,54,56,72]相比的競爭性能。通過利用深層神經網絡來解決這個問題已經做了很多努力[48,68,80,83]。研究表明,在深度單目深度估計網絡[26,27,43,78]中,深度網絡能夠通過從大量數據中學習先驗知識來估計具有一致尺度的深度圖,從而提高了單目VO的性能[42]。

然而,用這種方法,深層神經網絡只能在有限的程度上使用。無監督單目深度估計網絡的最新進展[26,86]表明,相鄰單目幀的姿態可以與深度一起預測。由於深部神經網絡的姿態估計具有很高的魯棒性,有一個問題產生了:深部預測的姿態是否可以用來提高傳統的VO?另一方面,由於SLAM/VO本質上是一個狀態估計問題,其中不確定性起着重要的作用[19,63,69],同時許多基於學習的方法已經開始估計不確定性,下一個問題是,如何將這種不確定性預測納入基於優化的VO中?

在本文中,提出了D3VO作為一個框架,用於單目(無特征)視覺探索自監督單目深度估計網絡的三個層次:深度、姿態和不確定性估計,如圖1所示。為此,首先提出了一個純自監督的立體視頻訓練網絡。該自監督網絡利用深度網預測單個圖像的深度,利用PoseNet預測相鄰兩幀圖像之間的姿態。這兩個網絡是通過最小化由靜態立體扭曲與直線基線和使用預測姿勢的時間扭曲引起的光度誤差來橋接的。這樣,在深度訓練中加入時間信息,可以得到更精確的估計。為了處理訓練圖像對之間的不一致照明,網絡預測亮度變換參數,這些參數在訓練過程中使源圖像和目標圖像的亮度保持一致。對EuRoCMAV數據集的評估表明,提出的亮度變換顯著提高了深度估計精度。為了將深度集成到VO系統中,用一個度量尺度用預測的深度初始化每個新的3D點。然后采用Deep-virtual-stereo-Odometry(DVSO)[78]中提出的虛擬立體項,將預測的姿態納入到非線性優化中。與DVSO使用依賴於從最先進的立體VO系統中提取的輔助深度的半監督單目深度估計網絡[74]不同,網絡僅使用立體視頻,而沒有任何外部深度監督。

主要貢獻

1.  本文提出了一個雙目視頻自監督深度估計網絡,另外為了解決訓練圖片對之間的光照不一致,網絡還預測了亮度變換參數,對原圖片和目標圖片之間的亮度進行了校准。為了將深度網絡與VO系統進行結合,作者將每一個3D點用預測的深度進行初始化,然后利用DVSO中的virtual stereo term將預測的位姿整合進非線性優化中。

2.  盡管已經對光照變換進行了建模,但是光照並不是唯一違反光照不變假設的因素(動態物體等等也會),所以作者還對光度不確定性進行了預測,降低違反假設的像素的權重,這個學習到的權重函數可以替換傳統VO系統里面基於經驗設置的加權函數。

3.  魯棒性也是VO算法的一個特別重要的因素,因此作者將預測出的位姿整合進前端跟蹤和后端非線性優化中。在前端跟蹤模塊,作者用預測的位姿去替換之前的勻速運動模型,另外這個位姿也作為直接圖像校准的平方正則項。在后端優化中,作者提出了位姿能量項和之前的能量目標函數放在一起優化。

算法流程

1. 自監督深度估計

本文的深度估計模塊其實是源自於monodepth2(細節可以參考原論文)。優化目標函數如下

 

 

 函數的目的是最小化靜態雙目圖片之間的光度重投影誤差損失,V表示所有的像素, It表示左目圖片, It'包括相鄰幀和右目圖片. 函數是由SSIM和L1loss組成,這個目前比較固定的深度估計損失函數搭配。

 

 

 創新點在於作者對圖片之間的光照參數進行了預測,這部分其實借鑒於DSO。

 

 

 將修改后的I帶入原來的目標函數就是新的的深度估計自監督損失。但是僅僅考慮光照變換是遠遠不夠的,所以正如前面提到的, 作者對光度不確定性進行了預測,所以自監督損失函數又引入了有關不確定性的參數,

 

 

 最終的損失函數是自監督損失和多尺度圖片的正則化損失之和。

 

 

 其中,

 

  s代表多尺度因子。

2. D3VO

 

 

 系統框圖,最左邊是網絡結構,中間是視覺里程計可視化結果,最右邊是網絡輸入和輸出可視化。

2.1 光度能量

D3VO目的優化如下光度能量函數,

 

 

 這個能量函數和DSO中的一致,不再過多介紹,本文中的不同點是作者引入了virtual stereo term,關於這一點可以去看看DVSO的原文.

 

 

 

 

 這個新增項會優化VO得到的深度,使其和深度網絡的結果保持一致。

2.2 位姿能量

與傳統使用勻速運動模型的VO系統不同,作者利用連續幀之間預測出的位姿新建了一個非線性因子圖,每有一個最新關鍵幀就會創建一個新的因子圖。另外,來自深度網絡預測出的位姿會作為當前幀和最后一幀的因子(關於這部分可以去看作者的補充材料)。

 

 

 這個位姿能量其實可以看做VIO系統中的IMU預積分先驗,因為下面新的能量函數和VIDSO特別像. 通過引入預測出的位姿作為初始化來提升跟蹤和非線性優化模塊,同時也把他們作為正則項加入到光度BA中。

 

 

 實驗結果

作者分別再KITTI和EuRoC數據集上進行了深度估計評測。

 

 

 KITTI上的深度估計結果對比,uncer代表光度不確定性,ab代表亮度變換參數,full代表兩個全都包括。

 

 

 作者提出的深度估計模塊優於之前的SOTA算法monodepth2.引入光照變換參數和不確定性被證實確實可以提升深度估計的效果.

EuRoC數據集上的結果

 

 

 數據集上的可視化結果,最左邊是原輸入圖像,中間是深度估計結果,最右側是不確定性可視化結果.

 

 

 KITTI數據集上的視覺里程計結果, D3V在這些sequence上的表現超過之前的傳統SLAM工作.

 

 

 與其他深度估計位姿估計網絡在09,10上的評測結果對比,D3VO的性能也是最好的.

 

 

 不同VO系統在EuRoC數據集上的位姿結果對比

 

 

 單目VO系統,VIO系統和深度網絡在EuRoC數據集上的量化結果對比

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM