1. 程式人生 > >【文獻翻譯】ICE-BA: Incremental, Consistent and Efficient Bundle Adjustment for Visual-Inertial SLAM

【文獻翻譯】ICE-BA: Incremental, Consistent and Efficient Bundle Adjustment for Visual-Inertial SLAM

前言

  2018年CVPR出現了一篇論文,該篇論文較新,引起了博主的注意。博主譯文水平不好,為了學習,所以進行論文翻譯和研究,博文以譯文為主。如果有翻譯不對之處,還請各位指出,便於我修改。

文獻資訊

引用格式:Haomin Liu, Mingyu Chen, Guofeng Zhang, Hujun Bao and Yingze Bao. ICE-BA: Incremental, Consistent and Efficient Bundle Adjustment for Visual-Inertial SLAM. IEEE Conference on Computer Vision and Pattern Recognition (CVPR

), 2018.

【文獻翻譯】CVPR2018論文:ICE-BA:視覺慣性SLAM的增量,一致和高效的束調整

摘要

  由於視覺特徵和慣性測量的互補性,現代視覺慣性SLAM(VI-SLAM)比純視覺SLAM具有更高的精度和魯棒性。然而,聯合使用視覺和實際測量來優化SLAM目標函式是高計算複雜性的問題。在許多VI-SLAM應用中,傳統的優化求解器只能使用非常有限數量的近期測量來進行實時姿態估計,代價是次優的定位精度。在這項工作中,我們翻新了VI-SLAM的數值求解器。與傳統解算器相比,我們的提議提供了具有顯著更高計算效率的精確解決方案。我們的求解器允許我們使用非常多的測量值來實現更高的精度和魯棒性。此外,我們的方法解決了許多最先進的SLAM系統未解決的全域性一致性問題:保證在迴環檢測期間最小化重投影函式和慣性約束函式。實驗證明,與其他方式相比,我們的新方法可以降低定位誤差並提高10倍以上的速度。我們釋出實施的原始碼以使社群受益。

1、引言

  同步定位和建圖(SLAM)是許多應用中經典但持續的研究問題。 近年來,由於成像和慣性感測器的可用性大大增強,視覺慣性SLAM(VI-SLAM)越來越多地應用於移動增強現實,無人機,自動駕駛,機器人等產品。類似於純視覺SLAM,VI -SLAM提取並建立跨影象幀的特徵對應關係。 但它進一步利用慣性測量(例如加速度和角速度讀數)作為運動估計中的約束。 慣性測量對於運動估計非常有效,尤其是當運動快速且不規則時,這對於視覺特徵匹配而言是眾所周知的挑戰。 在給定足夠的計算能力的情況下,通過使用大量測量資料,現有技術的VI-SLAM [22,26]在6自由度(DOF)精度方面表現出優異的結果。

  由於SLAM的大多數應用都是可移動的和注重時間效率的,因此VI-SLAM的計算複雜性也值得關注。 只有少數VI-SLAM應用[24,28,11]可以部署到嵌入式裝置上。 提高VI-SLAM計算的效率不可避免地是普及其應用的關鍵。 VI-SLAM中有兩個主要的計算任務:前端任務和求解器任務。 前端任務包括視覺特徵提取和匹配。 前端任務通常是可並行化的,因此可以使用現代異構計算架構有效地完成。 求解器任務的目標是通過在給定一組視覺特徵和慣性測量的情況下最小化VI-SLAM目標函式來優化姿勢引數。 求解器任務通常是VI-SLAM的速度瓶頸。

  大多數以前的VI-SLAM框架只是應用傳統的數值求解器來解決目標函式。 捆綁調整(BA)是僅給出視覺測量的求解器任務的示例。 在這項工作中,我們將術語BA推廣為表示視覺和慣性測量的聯合優化。 這些傳統求解器,如Gauss-Newton和Levenberg-Marquardt,旨在提供數字上準確的結果,而無需考慮實時問題。 因此,基於這些求解器的實時VI-SLAM應用[24,7,22]僅能夠使用最近的測量來估計最新的裝置位姿(即,在區域性BA中應用非常短的滑動視窗)。 從理論上講,較長的測量歷史可以提高估算精度。 BA的效率顯然是VI-SLAM效能最關鍵的因素之一。

  我們為VI-SLAM改進了BA流程,因為我們大大提高了區域性和全域性優化效率,並解決了閉環檢測期間的不一致問題。 在SLAM問題中,傳入的視覺和慣性測量按順序到達。 我們利用這一事實並建議有效地重複使用先前優化的中間結果,以避免冗餘的新計算。 我們的通用演算法顯著提高了求解器速度,可應用於大多數基於滑動視窗的VI-SLAM。

  此外,我們的方法解決了全域性一致性問題,這對AR等應用程式至關重要。 如果可以閉環關閉並且重新投影誤差被充分最小化,則認為全域性地圖是一致的。 對於視覺SLAM,可以通過執行全域性BA或其姿勢圖近似來維持全域性一致性[9,25]。 然而,對於VI-SLAM來說問題更加複雜,其中幀之間的速度和IMU偏差的約束在優化問題中產生許多區域性最小值。 當從時間滑動視窗中移除測量值時,邊緣化誤差會隨著時間累積,這最終會與迴圈約束髮生衝突。 以前的方法要麼跳過邊緣化[26],要麼在不解決衝突的情況下應用邊緣化[28]。

  本文提出了一種新的視覺化SLAM求解器演算法,其貢獻如下:一種新的基於滑動視窗的求解器,利用SLAM測量的增量特性,與現有技術相比,效率提高了10倍以上; 一種新的相對邊緣化演算法,可以解決滑動視窗邊緣化偏差和全域性閉環約束之間的衝突; 我們經過實驗驗證的實現將是開源的。

2、相關工作

  早期的SLAM主要是基於EKF(擴充套件卡爾曼濾波器)[6,8]。 6個DOF運動引數和3D地標概率地表示為單個狀態向量。 經典EKF的複雜性隨著地標的數量呈二次方式增長,限制了它的可擴充套件性。

  Visual SLAM [20,25,9]僅使用視覺特徵解決了SLAM問題。 通過仔細提取和匹配大量複雜的視覺特徵,這些方法能夠提供高跟蹤精度。

  視覺慣性SLAM通常不需要大量的影象特徵來實現合理的精度,因為慣性測量(角速度和加速度)提供了額外的約束。 [24,32]通過從狀態向量中排除3D地標來改進早期的EKF SLAM。因此,它們能夠在該狀態下對多個幀建模。然而,作為EKF演算法的常見行為,它們僅維持最近的狀態,因此它們對測量誤差敏感並且難以從不穩定的跟蹤狀態恢復。 [7,22,28,26]使用時間滑動視窗來選擇最近的視覺和慣性測量以優化SLAM目標函式。他們表明,在許多情況下,基於滑動視窗的VI-SLAM比基於過濾器的方法更加穩健和準確。然而,目標函式優化具有高計算複雜度。基於滑動視窗的VI-SLAM的效能高度依賴於計算可用性,其嚴格限制在移動裝置和無人機上。我們提出的新方法旨在通過大大提高優化求解器的效率來解決這個問題。

  優化求解器通常由各種SLAM實現共享,儘管它們的前端系統和框架非常不同。 視覺SLAM的BA [30]利用了重投影函式和Hessian的稀疏結構。 在這項工作中,術語BA被概括為表示VI-SLAM的視覺和慣性測量的聯合優化。 [2,4,31]提高了BA在大規模設定中的效率。 [17]表明,基於塊的預處理共軛梯度(PCG)可用於求解Schur補集以提高效率。 BA [1,21]也有出色的設計實現,這些實現通常由最先進的SLAM系統使用。 然而,所有這些方法都受到以下事實的影響:其複雜性隨著攝像機數量的增加而呈二次方式增長。 因此,建立在這些求解器上的SLAM系統只能使用非常有限數量的近期測量來進行實時姿態估計。

  最近,研究人員正在嘗試使用增量求解器來嘗試利用先前的優化結果來減少新計算量。 Kaess等人 [19,18]提出通過測量矩陣的QR分解來解決優化問題。每個新的優化迭代僅更新分解結果的一小部分,而不是分解整個圖。同樣,Ila等人[16]建議逐步恢復估計和協方差,並最近建議在BA中逐步更新Schur補集[15]。然而,上述方法僅適用於解決“稀疏”相機問題(即,大多數關鍵點僅在少數相機中可觀察到)。雖然這對於大規模的運動結構是正確的,但在SLAM問題中,區域性滑動視窗中的大多數幀共享大量公共點,這將這些增量求解器退化為常規BA求解器。因此,它們沒有比其他狀態SLAM更好的定位精度。在這項工作中,我們提出了一種新穎的增量求解器,它可以更好地利用SLAM中的特定塊矩陣結構,並在速度和精度方面表現出卓越的效能。作為我們早期工作的主要延伸[23],本文進一步討論了局部BA的加速和全域性一致性的相對邊緣化。我們還提供了更多的實驗結果。據我們所知,本文描述了第一個基於BA的VI-SLAM求解器,以最先進的精度實現了前所未有的效率,同時確保了全域性一致性。

3、框架

  我們首先定義約束函式,然後解釋我們的區域性和全域性優化框架。

3.1約束函式

  視覺慣性SLAM的目標被定義為使用直到時間點tt的視覺和慣性測量來估計運動狀態CtC_t,以及一組3D點{X1Xnt}\{{\rm X}_1,···,{\rm X}_{nt}\}Ct=(TtMt){\rm C}_t =({\rm T}_t,{\rm M}_t),其中Tt=(Rtpt){\rm T}_t =({\rm R}_t,{\rm p}_t)是相機姿態,並且Mt=(vtbt){\rm M}_t =({\rm v}_t,{\rm b}_t)是包括速度vt{\rm v}_t和感測器偏差bt{\rm b}_t的IMU狀態。 將3D點Xj{\rm X}_j投影到對應於2D特徵測量xij=π(TiXJ)+nij{\rm x}_{ij}=\pi({\rm T}_i \circ {\rm X}_J)+{\rm n}_{ij}的第ii個影象平面上,其中nij{\rm n}_{ij}是高斯噪聲nijN(0,Σijvis){\rm n}_{ij}~\mathcal{N}(0,{\Sigma}_{ij}^{vis})。 使用逆深度[5]引數化3D點為Xj=Tsj11ρjxˉsjj{\rm X}_j={\rm T}_{s_j}^{-1}\circ \frac{1}{\rho_j}{\bar{\rm x}_{s_jj}},其中ρj\rho_j是第jj個點的逆深度,sjs_j是從中提取第jj個點的源幀。 xˉ\bar{\rm x}x\rm x的齊次座標。 視覺約束定義為

(1)fijvis(Ti,Tsj,ρj)=π(TiTsj11ρjxˉsjj)xijN(0,ijvis)f_{ij}^{vis}({\rm T}_i,{\rm T}_{s_j},\rho_j)=\pi({\rm T}_i\circ{\rm T}_{s_j}^{-1}\circ \frac{1}{\rho_j}\bar{\rm x}_{{s_j}j})-{\rm x}_{ij}\sim \mathcal{N}(0,\sum_{ij}^{vis})\tag{1}

  在幀iijj之間獲得的IMU測量Zij\mathcal{Z}_{ij}提供相對運動約束。 IMU約束定義為

  Δ\Delta和協方差矩陣Σijimu\Sigma_{ij}^{imu}僅依賴於Zij\mathcal{Z}_{ij},並且可以在優化之前預先整合。 b^i\hat{\rm b}_i是預積分時的偏差估計。 有關詳細資訊,請參閱[10]。

  在VI-SLAM [14]中,絕對位置和繞重力的偏航角是不可觀測的。 對第一相機C0{\rm C}_0施加先驗,表示為f0prior(C0)N(0,Σ0prior)f_0^{prior}({\rm C}_0)\sim \mathcal{N}(0,\Sigma_0^{prior})

3.2 區域性和全域性優化

  僅在解決長期VI-SLAM問題時執行全域性優化是不可行的。 與[28,26]類似,我們的框架(圖2)包括區域性優化(區域性BA)和全域性優化(全域性BA)。

圖2:區域性和全域性優化框架

  區域性BA優化臨時滑動視窗內的狀態,該視窗僅包含最新的幀和點。 區域性BA的目標是減少累積誤差並儘可能快地擴充套件地圖。 區域性BA的成本函式是最小化:

  其中t0=tn+1t_0 = t-n + 1是滑動視窗中的第一幀,nn是滑動視窗的大小。 Vi\mathcal{V}_i表示在幀ii中跟蹤的點集。 作為我們的主要貢獻之一,第四部分解釋瞭如何有效地解決方程(3)。

  全域性BA以相對較低的頻率與區域性BA並行執行。 全域性BA優化從本地滑動視窗移除但在全域性地圖中選擇為關鍵幀的幀。 如果幀在全域性BA中被選擇作為關鍵幀,如果它攜帶超過N(例如在我們的實驗中為20)的特徵,則從所有其他幀中看不到。 全域性BA的成本函式是

  其中Li\mathcal{L}_i是涉及第ii個相對姿勢約束的關鍵幀集合。 閉環會觸發應考慮地圖一致性的全域性BA。 對於典型的迴圈約束,Li=2|\mathcal{L}_i|=2。作為我們的主要貢獻之一,第四部分解釋瞭如何有效地解決方程(4)。

  相對邊緣化在區域性BA中的最後一個關鍵幀與從區域性BA中移除的最新幀(例如,圖2中的Ckm1C_{km-1}CkmC_{km}之間的約束)之間產生相對姿勢約束,以便從全域性BA獲得約束(例如,閉環)可以幫助將相機姿勢固定在區域性BA中,防止因累積誤差引起