Pose-Graph Optimization和Bundle Adjustment是Visual Odometry中兩種重要的優化方式。
- Pose-Graph Optimization
相機位置可以表示為一幅圖像:“點”為相機位置,“邊”為相機位置間的剛體運動。
Cost function:
其中,eij表示邊,Ci和Cj是點(即相機位置),Teij表示位置i和j間的變換。Pose-graph optimization尋找能使cost function達到最小的相機位置參數。
- Loop Constraints
Loop Constraints:(閉環約束,不知道翻譯得對不對):相機運動到t時刻運動到i位置,在t+n時刻再次運動到了i位置,此時即為一個閉環約束。這樣的閉環約束減小相距較遠的節點間的漂移。
通過對當前圖像與前期圖像相似度的評估來尋找閉環約束。
Loop Detections: 在長時間未找到landmark時,激發對landmark的重新偵測或回到之前標定過的區域。
Visual Similarity: global image descriptors & local image descriptors
- Global Image Descriptors:用全局圖像描述子來計算相似度的典型方法:Visual Words
圖像由一個visual words包來描述。兩幅圖像間的相似性由圖像間visual word histograms的距離來計算。Visual word是用整數來表示的高維特征描述子。由於這樣的量化,原始的高維描述空間通過k-means聚類划分為一個個不重疊的小單元。這些小單元被稱為visual vocabulary。All feature descriptors that fall within the same cell will get the cell number assigned, which represents the visual word. Visual-word-based similarity computation is often accelerated by organizing the visual-word database as an inverted-file data structure that makes use of the finite range of visual vocabulary.
視覺相似度計算是Loop Detection的第一步。找到n個最相似的圖像后,使用極線約束(epipolar constraint)進行幾何校驗。在兩圖像間使用寬基線特征匹配(wide-baseline feature matches)計算剛體變換來確認匹配。然后這個剛體變換將作為一個額外的閉環約束添加至pose graph.
該方法在大型圖像數據集的相似度計算中非常有效。
2. Windowed (or Local) Bundle Adjustment
Bundle Ajustment在優化相機參數的同時優化3D landmark參數(pose-graph優化僅針對前者)。Bundle Adjustment考慮n幀(至少2幀)圖像的一個窗口,然后針對這個圖像集進行相機參數和3D landmarks的參數優化。Bundle Adjustment目的是使圖像二次投影誤差(image reprojection error)最小:
其中pik是第k幅圖像上的第i個圖像點,該點是3D landmark Xi的投影。g(Xi,Ck)是根據當前相機位置Ck的圖像二次投影。
二次投影誤差是非線性函數,且通常使用Levenberg-Marquardt法進行優化。這就需要一個初始化,且初始化需要離最小值點很近,通常將一個標准的雙視角VO的解作為初始值。針對該優化問題的Jacobian具有特殊的結構,可應用於高效的計算。
相較於單純的雙視角的VO,Windowed bundle adjustment減少了偏移(drift),因為它在多幀圖像間操作。當前相機位置由3D landmark連接。圖像特征的追蹤在之前和之后的相機位置中都存在。當前相機位置和前n-1幀的相機位置需要和n幀圖像的檢測結果保持一致。窗口大小n大多由運算方面的原因控制。通常情況下bundle adjustment的計算復雜度為O((aM+lN)3),其中M為點的數量,N是相機位置的個數,q是點的參數個數,l是相機位置參數的個數。窗口越小,需要優化的參數個數就越少,因此實時的bundle adjustment就越容易實現。通過優化相機參數和固定3D landmarks可以減少計算復雜度。
References:
Scaramuzza D, Fraundorfer F. Visual odometry [tutorial][J]. Robotics & Automation Magazine, IEEE, 2011, 18(4): 80-92.