魚眼攝像頭SLAM

2022-02-04 09:44:25 字數 2778 閱讀 4345

魚眼攝像頭slam

圖1. 魚眼攝像頭slam示例

一種基於特徵的同時定位和構圖(slam)系統,用於從寬基線移動測圖系統(mms)的多魚眼相機裝置中獲得的全景影象序列。

首先,魚眼攝像機標定方法結合了等距投影模型和三角多項式,以實現從魚眼攝像機到等效理想相機模型的高精度標定,從而保證了從魚眼影象到相應全景影象的準確轉換。

其次,我們開發了全景相機模型、具有特定反向傳播誤差函式的相應束調整以及線性姿態初始化演算法。

主要貢獻

1. 基於多鏡頭組合式全景相機開發了精確的特徵匹配和跟蹤,閉環檢測以及光束法調整的可靠姿態初值估計,這些技術在複雜的室外環境中具有高穩定性能;

2. 提出了一種新的魚眼鏡頭校準方法,該方法可實現亞畫素精度,並確保平滑跟蹤和光束法調整的高精度;

4.實驗證明,pan-slam的定位精度為0.1 m,與昂貴的商用gnss / ins跟蹤系統的定位精度一樣高,並且在訊號阻塞情況下也更加可靠。它可以是當前商用gnss / ins導航系統的強大補充和替代解決方案。

演算法流程

1.全景相機的成像、檢校與優化模型

1.1 全景相機的成像

圖2,(a)全景相機模型;(b)兩個相鄰魚眼相機邊緣影像上的投影不確定性。

多鏡頭組合式全景相機由一系列獨立、固定的魚眼鏡頭組成,多個鏡頭獨立成像,再拼接為全景圖。每個鏡頭具有各自的投影中心c,在實際製造過程中難以保證與球心s完全重合。物理上三點共線是c,uc,p'。所以為了實現統一的全景座標系,需要將實際畫素座標uc投影到某個指定半徑的球面上得到u。為了避免不共心導致的定位誤差,通過事先標定單個相機中心在乙個全景相機座標系下的旋轉ri和位置ti,得到表述共線條件方程的光束仍然是cucp'。

首先將每個魚眼影像上的像點轉換到半徑為r的球面上,然後計算球面點的極座標,最後根據給定的全景影象寬高計算二維平面座標。對於全景影象難免存在融合誤差,如圖1(b)所示,不過在連線點提取過程中排除該誤差,不會影響魚眼相機到全景相機之間的剛體幾何轉換。

1.2 魚眼相機標定

為使得核線誤差降低到1畫素以下,本文對該模型加以改進,提出一種更為精確的魚眼相機檢校方法,顯式地加入了魚眼相機的成像過程。

1.3 光束法平差

類似orb-slam優化方法,不過改進g2o庫使其適用於全景成像模型,給出重投影誤差函式式的解析導數形式,即誤差函式對於位姿即地圖點的雅可比矩陣。

圖3,三角形節點代表位姿,圓形節點代表地圖點,邊代表誤差項(a)位姿優化;(b)區域性光束法平差;(c) 本質圖優化;(d)全域性光束法平差

本文實現的優化演算法包含4類:圖3(a),單幀位姿優化(僅根據匹配的地圖點計算當前幀的精確位姿);圖3(b),區域性地圖優化和平差(根據區域性共視關鍵幀優化位姿與區域性地圖點);圖3(c),本質圖優化(用於檢測閉環後,對全域性關鍵幀的位姿進行調整);圖3(d),全域性光束法平差(優化所有位姿和地圖點)。魚眼影象上不同位置投射到球面上的變形不同,因此不同的點採用不同的誤差閾值。

2.全景slam流程

系統分為3個執行緒並行工作,分別為跟蹤,區域性地圖構建與閉環。所有步驟都經過調整,可以在複雜的室外環境中對寬基線全景影象序列進行準確穩健的跟蹤和定位。

圖4,全景slam流程

2.1 初始化

初始化本文將orb特徵用於pan-slam 系統的特徵提取.魚眼相機變形較大,匹配難度高,誤匹配數量大.因此採用三幀而非兩幀進行初始化.

2.2 地圖點跟蹤

圖5,地圖點跟蹤演算法流程

2.3 關鍵幀選擇

本文的全景影像框幅高達8000×4000畫素,由於車輛高速行駛,存在記憶體讀寫的限制,因此採用較大的取樣間隔(1~3m ).

2.4 區域性地圖構建

根據全景相機的特殊情形,本文設定共視關鍵幀必須同時滿足: ①與當前關鍵幀的共視點數≥50個;②與當前關鍵幀在影象序列中的間隔關鍵幀不超過40個;③其與當前關鍵幀的共視點在兩幀所在金字塔層數差2的特徵點數不超過總共視點數85%。

2.5 閉環檢測

我們使用類似於orb-slam的迴圈檢測過程,但針對從不同方向捕獲的全景影象引入了特殊的匹配策略。在實踐中,即使對於針孔相機,基於bow的方法也無法很好地識別橫向或反向閉環。使用全景相機時,情況變得更糟。我們在這裡採用了一種簡單的對齊策略,即將當前球面影象展開為搜尋到的先前幀的方向的2d影象。附帶說明的是,此過程相對較慢;因此,如果檢測到足夠的迴圈,則可以跳過此步驟。

圖6,(a)魚眼模式;(b)全景模式,可以很好地跟蹤到足夠且均勻分布的特徵。

樹莓派 遠端看魚眼攝像頭

有兩種方式,第一種 在樹莓派上安裝vlc服務端並執行 sudo apt get install vlc sudo raspivid o t 0 w 640 h 360 fps 25 cvlc vvv stream dev stdin sout standard demux h264 第二種 wget...

如何安裝樹莓派魚眼攝像頭模組

b 安裝樹莓派攝像頭模組 b 按照以下步驟來將樹莓派攝像頭模組連線搭配樹莓派 找到 csi 介面 csi介面在乙太網介面旁邊 掀起深色膠帶。拉起 csi 介面擋板。拿起你的攝像頭模組,將貼在鏡頭上的塑料保護膜撕掉。確保黃色部分的pcb 有字的一面 是安裝完美的 可以輕輕按一下黃色的部分來保證安裝完美...

如何安裝樹莓派魚眼攝像頭模組

b 安裝樹莓派攝像頭模組 b 按照以下步驟來將樹莓派攝像頭模組連線搭配樹莓派 找到 csi 介面 csi介面在乙太網介面旁邊 掀起深色膠帶。拉起 csi 介面擋板。拿起你的攝像頭模組,將貼在鏡頭上的塑料保護膜撕掉。確保黃色部分的pcb 有字的一面 是安裝完美的 可以輕輕按一下黃色的部分來保證安裝完美...