點擊上方「3D視覺工坊」,選擇「星標」
乾貨第一時間送達
1
摘要
提出了一種基於特徵的全景圖像序列同時定位和建圖系統,該系統是在寬基線移動建圖系統中從多魚眼相機平臺獲得的.首先,所開發的魚眼鏡頭校準方法結合了等距投影模型和三角多項式,以實現從魚眼鏡頭到等效理想幀相機的高精度校準,這保證了從魚眼鏡頭圖像到相應全景圖像的精確轉換.其次我們開發了全景相機模型、具有特定反向傳播誤差函數的相應束調整以及線性姿態初始化算法.第三,實現的基於特徵的SLAM由初始化、特徵匹配、幀跟蹤和閉環等幾個特定的策略和算法組成,以克服跟蹤寬基線全景圖像序列的困難.我們在超過15公裡軌跡的大規模彩信數據集和14000幅全景圖像以及小規模公共視頻數據集上進行了實驗.
我們的結果表明,所開發的SLAM系統PAN-SLAM可以在小規模室內和大規模室外環境中實現全自動攝像機定位和稀疏地圖重建,包括具有挑戰性的場景(如黑暗隧道),而無需任何其他傳感器的幫助.定位精度由絕對軌跡誤差(ATE)測量,類似於0.1米的高精度全球導航衛星系統/慣性導航系統參考.
PAN-SLAM還優於幾種基於特徵的魚眼和單目SLAM系統,在各種環境下具有不可比擬的魯棒性.該系統可被視為一個強大的補充解決方案和昂貴的商業導航系統的替代品,特別是在城市環境中,信號障礙和幹擾是常見的.
2
介紹
大多數視覺SLAM系統都受到普通針孔攝像機視場有限的影響,這很容易由於視角的突然變化或捕捉無紋理場景而導致跟蹤過程失敗.在用於測繪的移動測繪系統(MMS)中,由於成像和存儲器訪問速度有限,大尺寸傳感器(例如與計算機視覺中使用的640×480傳感器相比,8000×4000像素)需要寬基線拍攝模式,這一問題會加劇.因此,寬FoV的光學傳感器,如魚眼或全景/全向相機,成為一個很好的選擇.全景相機可以一次拍攝360°的場景,越來越多地應用於街景地圖收集、交通監控、虛擬實境和機器人導航.
官方視頻展示:
此外,據我們所知,沒有專門為全景相機開發的完整的基於特徵的SLAM系統.介紹了一種新的基於特徵的全景SLAM系統,稱為PAN-SLAM,該系統利用多魚眼相機平臺實現全方位成像,提取特徵點跟蹤新幀和構建地圖,並使用束調整實現全局優化.同樣重要的是,PAN-SLAM旨在減輕當前彩信技術對全球導航衛星系統/慣性導航系統信號質量的高度依賴.
主要貢獻如下:
我們開發了一系列技術,包括精確的特徵匹配和跟蹤、閉環檢測以及BA的可靠姿態初始化,用於基於多攝像機平臺的全景攝像機,該攝像機能夠在複雜的室外環境中實現高度魯棒的性能提出了一種新穎的魚眼鏡頭標定方法,實現了亞像素精度,保證了BA的平滑跟蹤和高精度在大規模寬基線全景圖像序列數據集和從多魚眼相機平臺捕獲的開源小規模視頻數據集上,我們的PAN-SLAM系統的魯棒性優於當前的幾種其他方法.此外,PAN-SLAM是唯一能夠跟蹤所有圖像序列的系統.PAN-SLAM的定位精度為0.1米,已被證明與昂貴的商用全球導航衛星系統/慣性導航系統跟蹤系統一樣高,在信號阻塞情況下更加魯棒.它有可能成為當前商用全球導航衛星系統/慣性導航系統的一個強有力的補充和替代解決方案.3
算法流程
1全景相機的成像
圖2: (a)全景相機模型 (b)兩個相鄰魚眼相機邊緣影像上的投影不確定性
多鏡頭組合式全景相機由一系列獨立、固定的魚眼鏡頭組成,多個鏡頭獨立成像,再拼接為全景圖.每個鏡頭具有各自的投影中心C,在實際製造過程中難以保證與球心S完全重合. 物理上三點共線是C,Uc,P'. 所以為了實現統一的全景坐標系, 需要將實際像素坐標Uc投影到某個指定半徑的球面上得到U. 為了避免不共心導致的定位誤差, 通過事先標定單個相機中心在一個全景相機坐標系下的旋轉Ri和位置Ti, 得到表述共線條件方程的光束仍然是CUcP'
首先將每個魚眼影像上的像點轉換到半徑為r的球面上,然後計算球面點的極坐標,最後根據給定的全景圖像寬高計算二維平面坐標. 對於全景圖像難免存在融合誤差, 如圖1(b)所示, 不過在連接點提取過程中排除該誤差, 不會影響魚眼相機到全景相機之間的剛體幾何轉換.
魚眼相機標定
為使得核線誤差降低到1像素以下,本文對該模型加以改進,提出一種更為精確的魚眼相機檢校方法,顯式地加入了魚眼相機的成像過程
BA
類似ORB-SLAM優化方法, 不過改進g2o庫使其適用於全景成像模型, 給出重投影誤差函數式的解析導數形式, 即誤差函數對於位姿即地圖點的雅可比矩陣.
圖3: 三角形節點代表位姿,圓形節點代表地圖點,邊代表誤差項 (a)位姿優化 (b)局部光束法平差 (c) 本質圖優化 (d)全局光束法平差
本文實現的優化算法包含4類:
圖3(a) : 單幀位姿優化(僅根據匹配的地圖點計算當前幀的精確位姿)
圖3(b): 局部地圖優化和平差(根據局部共視關鍵幀優化位姿與局部地圖點)
圖3(c): 本質圖優化(用於檢測閉環後,對全局關鍵幀的位姿進行調整)
圖3(d) : 全局光束法平差(優化所有位姿和地圖點)
魚眼圖像上不同位置投射到球面上的變形不同,因此不同的點採用不同的誤差閾值.
2全景SLAM流程
系統分為3個線程並行工作,分別為跟蹤、局部地圖構建、閉環. 所有步驟都經過調整, 可以在複雜的室外環境中對寬基線全景圖像序列進行準確穩健的跟蹤和定位.
初始化
將 ORB特徵用於PAN-SLAM 系統的特徵提取.魚眼相機變形較大,匹配難度高,誤匹配數量大.因此採用三幀而非兩幀進行初始化.
地圖點跟蹤
關鍵幀選擇
本文的全景影像框幅高達8000×4000像素,由於車輛高速行駛,存在內存讀寫的限制,因此採用較大的採樣間隔(1~3m ).
局部地圖構建
根據全景相機的特殊情形,本文設定共視關鍵幀必須同時滿足: ①與當前關鍵幀的共視點數≥50個;②與當前關鍵幀在圖像序列中的間隔關鍵幀不超過40個;③其與當前關鍵幀的共視點在兩幀所在金字塔層數差異>2的特徵點數不超過總共視點數85%
閉環檢測
我們使用類似於ORB-SLAM的循環檢測過程, 但針對從不同方向捕獲的全景圖像引入了特殊的匹配策略. 在實踐中, 即使對於針孔相機, 基於BoW的方法也無法很好地識別橫向或反向閉環. 使用全景相機時,情況變得更糟.我們在這裡採用了一種簡單的對齊策略, 即將當前球面圖像展開為搜索到的先前幀的方向的2D圖像. 附帶說明的是, 此過程相對較慢. 因此, 如果檢測到足夠的循環, 則可以跳過此步驟.
4
實驗
圖2: 一個多魚眼相機裝備的例子. 該相機由五個魚眼相機組成, 覆蓋水平360°場景, 一個相機指向上方, 底部一行顯示了展開和縫合的全景圖像.
第一個數據集作為由四個序列組成的主數據集, 是從三個不同城市的複雜街道場景中的寬基線車載Ladybug 相機(池田等人,2003)收集的. 在這四個序列中, 柏瓦序列是在東京大學柏瓦校區拍攝的, 由498幅基線約為2米的全景圖像組成.
使用這些數據集, 我們的PAN-SLAM系統主要與兩個相關系統進行比較, 為多攝像機相機設計的Multicol-SLAM和為大視場攝像機設計的Cubemap-SLAM.
該比較還包括單目ORB-SLAM2和校正後的魚眼相機圖像作為輸入, 以展示全向相機相對於普通針孔相機的優勢. 這三個SLAM系統都是用各自作者提供的開原始碼實現的. 至於我們的PAN-SLAM系統,我們使用了兩種模式, 魚眼鏡頭和全景.魚眼模式將水平魚眼圖像作為輸入,從而提取和匹配特徵.所有其他計算,包括基本矩陣計算和束調整,都在統一的全景坐標系中執行.在全景模式下,特徵提取和跟蹤直接在拼接全景圖像中進行.
另外兩個序列:彩虹路和萬柳路序列. 在中國天津採集.分別由3556和2610個Ladybug5全景圖像組成, 基線為0.6米. 這兩個序列用於我們的定性測試, 因為由於城市峽谷和隧道造成的遮擋和多徑效應, 它們的全球定位系統測量不準確.
第二個數據集由來自名為拉菲達(Urban and Jutzi,2017)的開源多魚眼相機數據集的所有六個視頻序列組成.
兩個室內序列:in_dynamic,in_static和四個室外序列:out_static、out_static2、out_rotation、out_large_loop. 是從三個緊緊安裝在頭盔上的魚眼鏡頭相機上拍攝的,以754 × 480像素的相同解析度均勻地覆蓋了360個水平場景. 拉菲達數據集中使用的魚眼相機的視場為185°, 焦距為1.25毫米. 視頻序列以每秒25幀的速率採集, 室內環境的基線長度設置為0.03米, 室外環境的基線長度設置為0.05米. 拉菲達數據集的基本事實是通過高精度運動捕捉獲得的(Urban and Jutzi,2017). 表2列出了五個數據集的信息.
為了評估空間雷射測距結果的定位精度, 選擇了最少數量的全球導航衛星系統點, 通過3D相似性轉換將空間雷射測距坐標與地理參考坐標對齊, 並使用所有剩餘的全球導航衛星系統/慣性導航系統點進行驗證.
我們的全景SLAM系統運行在Ubuntu 16.04平臺上. 所有測試均採用2.8 GHz Intel CPU和8 Gb內存的筆記本電腦, 魚眼或全景模式下的平均執行效率為每秒1幀. 對於每一幀, 處理5幅1616 × 1232魚眼圖像或4000 × 2000全景圖像.
表3比較了校正瓢蟲3和瓢蟲5魚眼圖像的不同模型. 利用棋盤上63個均勻分布的控制點求解模型;剩餘的角點用於評估重新投影的準確性. 從表3可以看出, 當使用通用相機校準模型(Kannala和Brandt,2006)時,Ladybug3號相機的RMSE為0.88像素,而使用我們的模型時為0.50像素. 此外當使用通用模型時,Cam1和Cam 4的平均誤差超過1像素.在Ladybug5相機實驗中,我們的方法在RMSE的表現優於通用模型0.14像素(20%)。等距模型與失真參數的組合表現最差. 我們的標定方法通過引入最合適的物理魚眼投影模型來補償一般多項式的限制, 將所有魚眼相機的平均重投影誤差降低到1個像素以下,這是高精度全景SLAM系統的先決條件.
(圖六)
圖6顯示了離群點消除後三幅相鄰全景圖像的匹配結果. 可以看出, 在由全景成像引起的近距離場景中, 由於較大的幾何失真(紅色邊界框,圖6), 僅保留了少數近距離特徵.在魚眼鏡頭模式下, 在攝像機4和5中能夠匹配的點非常少(圖6a). 這種情況偶爾會發生在五個魚眼鏡頭相機, 這意味著任何單個魚眼鏡頭相機在跟蹤時都會遇到這些困難, 而360°全景圖像則更加魯棒. 圖6(b)示出了全景模式下的匹配結果, 其中充分且均勻分布的特徵可以被很好地跟蹤.
(圖七)
圖七顯示了使用不同策略的循環檢測結果. 在柏窪數據集中, 由DBoW2 (Mark and Paul,2010)檢測到52個循環, 其中大循環在相反方向上被訪問了兩次. 在Omiya數據集中有203個循環, 在彩虹道路數據集中有0個循環, 具有短的遍歷軌跡(圖7的第一行). 當使用我們的方向對齊策略時, 在柏窪數據集中檢測到285個循環, 在彩虹道路數據集中檢測到5個循環(圖7的第二行). 由於沒有遍歷或反向軌跡, 在Omiya數據集中檢測到的循環數量保持不變. 表4顯示了以100%精度檢測到的循環的召回率. 測試結果表明, 原始的BoW方法無法檢測到從不同方向展開的全景圖像中的大部分環, 而通過我們簡單的對齊策略, 可以在橫向或反向驅動下檢測到足夠數量的環.
表5顯示了室外環境的柏和Omiya序列上每個系統的定位精度、旋轉精度和成功跟蹤的地圖點和幀的數量. 由於Multcol-SLAM無法跟蹤其中任何一個(初始化後不久就丟失了), 我們沒有列出它. 我們用魚眼模式表示我們的PAN-SLAM,用全景模式表示PAN-SLAM.與其他系統相比,這兩種模式都顯示出明顯更好的結果.對於Cubemap, 我們對全景圖進行了預處理將圖像轉換成立方體大小為800 × 800 × 800像素的cubemap作為系統輸入. 使用此設置,我們發現系統在我們的數據集中獲得了最佳性能.
Cubemap-SLAM以高定位精度跟蹤兩個序列中的許多幀和地圖點,但是當柏瓦序列發生急轉彎時, 跟蹤丟失. ORB-SLAM只跟蹤了兩個序列中漂移很大的非常小的片段, 因為它只處理了FoV有限的校正前視攝像機. PAN-SLAM是唯一完成整個柏瓦序列的系統, 也達到了0.14米ATE的高定位精度.
PAN-SLAM和Cubemap-SLAM都在Omiya序列的第5283幀停止, 因為有幾幅圖像曝光過度, 這是一個極具挑戰性的場景. 然而我們的系統保存了以前跟蹤的地圖, 並在跟蹤丟失時重新初始化以繼續跟蹤剩餘的序列. 我們為跟蹤的路段選擇了15個均勻分布的地面控制點, 以產生一個一致的全局地圖, 其自動目標高度為0.17米. 每個SLAM系統的相應軌跡如圖8所示. 由於這兩種模式的軌跡是相似的, 我們只顯示了魚眼鏡頭軌跡.
(圖八)
除了ATE指標, 我們還評估了在柏瓦序列中使用3D GCPs的定位精度. 如圖9所示, 五個控制點位於房屋角落(HC 1、2、3、4、5), 三個控制點位於路標處(RM 1、2、3). 控制點的像素坐標是在兩個相鄰的全景關鍵幀上手動測量的, 3D坐標是用SLAM姿態三角測量的, 並且計算它們與地面真實情況之間的距離, 如表6所示. 平均定位誤差和RMSE分別為0.147米和0.157. 相交角度較大的點比相交角度較小的點更精確.
拉菲達數據集上的SLAM系統的性能也與自動測試設備度量進行了比較(表7), 它們的跟蹤軌跡如圖10所示. 考慮到三個185 FoV魚眼相機生成的全景圖像會丟失大量信息(相機之間的大重疊區域), 並會導致明顯的拼接偏差, 我們僅使用PAN-SLAM的魚眼模式進行比較. 由於Cubemap-SLAM的性能隨著cube大小的不同而變化, 經過人工試錯, 我們選擇了最好的(650 × 650 × 650)進行比較. 由於拉菲達數據集非常小, 那些無法跟蹤三分之一幀的系統會失敗, 並在表中用「X」表示. 從ORB-SLAM的軌跡顯示出明顯的大漂移, 並且ATe明顯大於其他的.在out_large_loop序列中,它只跟蹤了3176幀中的三分之二.在六個序列中的五個序列中,Multicol-SLAM的ATE比Cubemap-SLAM和我們的系統大.它也無法跟蹤out_large_loop序列.Cubemap-SLAM在六個序列中的三個序列中獲得了最低的ATE. 但是它在out_rotation序列中失敗.我們的PAN-SLAM比所有其他系統都更魯棒,在六個序列中的三個序列中實現了最低的ATE, 並跟蹤了許多地圖點. 所有的系統獲得了類似的旋轉精度.
(圖十)
總之與其他相比,我們的PAN-SLAM表現出了顯著的優勢, 特別是在不同尺度、室內和室外環境以及視頻和寬基線模式下的無與倫比的魯棒性.在不考慮魯棒性的情況下,Cubemap-SLAM的定位精度與我們的系統相當.單目ORB-SLAM2和多目SLAM都不能處理所有複雜的情況.
利用天津市彩虹路和萬柳路數據集研究了全球導航衛星系統弱區域系統的魯棒性, 這兩個數據集的地理配準精度較低. 在彩虹道路測試中(圖11), 全球導航衛星系統信號受到峽谷效應的嚴重損害(見谷歌地圖上的鳥瞰圖像). 相比之下, 我們的PAN-SLAM獲得了更平滑的跟蹤結果(見矩形), 並且在這個數據集中沒有任何跟蹤丟失的情況下平滑運行.Cubemap-SLAM也表現不錯, ORB-SLAM2和Multicol-SLAM在初始化後不久就失敗了.
萬柳路數據集(圖12)是一個具有挑戰性的數據集, 覆蓋了一條長隧道(矩形區域). 那裡的全球導航衛星系統信號完全被屏蔽了. 隧道很暗, 導致成像效果很差, 如直立的角落所示. 儘管如此, 我們的PAN-SLAM在隧道中運行非常平穩,並跟蹤了一張軌跡圖類似於谷歌地圖上的鳥瞰圖. 相比之下,Cubemap-SLAM在黑暗的隧道中間迷失了方向,ORBSLAM2和Multicol-SLAM在初始化後不久再次失敗
當應用於從三個魚眼相機獲得的小規模視頻序列時,只有第4節中描述的幾個參數(例如,公式(14)中的誤差閾值和球體半徑)必須重置, 這些參數是專門為我們的PAN_SLAM中的寬基線全景圖像序列設計的. 這表明我們的系統可以推廣到大多數使用多魚眼相機的情況.
與我們系統中使用的統一球體模型類似, 立方體模型用於Cubemap-SLAM中, 以實現其對寬基線模式的魯棒性. 然而Cubemap-SLAM只支持每幀輸入一幅魚眼鏡頭圖像,不能處理多攝像機設備.此外它只處理立方體的五個面(前、左、右、頂、底)上的要素,這導致與我們的系統相比, 被跟蹤的地圖點更少. 當急轉彎和低紋理場景出現時, 跟蹤特徵的不足最終導致無法完成柏和萬柳_路的整個序列. 在相比之下, 我們的系統可以處理單目魚眼鏡頭相機、多目魚眼鏡頭相機和全景相機輸入,並適應360 FoV的所有特徵,從而確保平滑跟蹤.
我們跟蹤全景圖像序列的特殊修改有助於PAN-SLAM系統的成功. 首先我們使用抑制冗餘幀和不穩定地圖點的限制來更新第4.4節中描述的關鍵幀連接,以提高輸出的效率和魯棒性.在圖13(a)中, 減少的關鍵幀連接減輕了計算成本. 但更重要的是,它可以降低弱幾何形狀的風險(例如共同可見的點位於彼此遠離的兩個幀的中心的中點). 二、動態窗口搜索策略(Eq(15)), 而不是固定的窗口, 提高了匹配質量, 增加了8%的內聯(圖13(b)), 這對於在提取的特徵稀少的一些具有挑戰性的情況下的平滑跟蹤是至關重要的.
挑戰
在四個大規模數據集和六個小規模數據集中, 我們的PAN-SLAM系統遇到了五個中斷,這些中斷只發生在彩虹路和Omiya序列中, 其中兩個通過特定的改進得到了修復. 第一次中斷發生在萬柳路序列(圖14中的頂行)進入隧道時, 此時突然的亮度變化導致特徵匹配困難.我們預先計算了伽瑪非線性響應曲線, 並校準了圖像的光度偏差. 在應用伽馬校正之後, 如圖14所示, 曝光質量顯著提高, 以確保成功跟蹤. 第二個中斷發生在Omiya序列中, 從移動的車輛中提取的太多特徵導致匹配失敗. 為了解決這個問題, 我們使用了一個預先訓練好的面罩模型在COCO數據集(林等,2014)上預測車輛的遮擋, 並排除運動車輛上的那些特徵,實現平滑跟蹤.
剩下的三個中斷, 還沒有修復, 都是由Omiya序列上極度曝光不足或曝光過度的情況引起的, 如圖14所示.即使在應用伽馬校正來提高曝光質量時,也跟蹤不到足夠的特徵.
5
結論
我們開發了一個基於特徵的全景SLAM系統,稱為PAN-SLAM,它處理從安裝在MMS-mounted魚眼鏡頭拍攝的寬基線全景圖像序列. 我們的PAN-SLAM系統為跟蹤、建圖和優化提供了一個自動和完整的解決方案. 我們證明了我們的系統達到的定位精度相當於昂貴的商用全球導航衛星系統/慣性測量單元跟蹤系統.
SLAM系統不僅適用於大型室外環境中的全景攝像機,也適用於小型受控環境中的多攝像機設備.與單個大型FoV攝像機的Cubemap-SLAM和多魚眼攝像機的Multicol-SLAM相比,我們的系統在大規模寬基線數據集和小規模視頻數據集的配置中表現出更高的魯棒性.此外,我們將ORBSLAM2與單目魚眼相機進行比較,表明全向相機優於普通相機.
本文僅做學術分享,如有侵權,請聯繫刪文。
下載1
學習3D視覺核心技術,掃描查看介紹,3天內無條件退款
圈裡有高質量教程資料、可答疑解惑、助你高效解決問題