視覺SLAM應用分析

2021-08-30 17:58:08 字數 2345 閱讀 4587

在對視覺slam(vslam)的研究和實用中發現,vslam要想滿足實用,

起碼要滿足三個條件:<1> 魯棒性 <2> 實時性 <3> 精度

然而,到目前為止,純視覺slam目前還是處於研究階段,還沒有乙個穩定的,只依靠純視覺的slam解決方案。

vslam融合imu是乙個研究比較熱門的方向,融合imu可以改善vslam系統的穩定性,

對於單目vslam,還可以提供尺度資訊。14年,谷歌發布乙個比較成熟的產品,名字叫tango。

這款產品是乙個單目相機和imu融合的產物,能夠兼顧速度,以及實時性的特性。

目前幾個開源的vslam在實驗階段效果還可以,但是一旦實用,要麼魯棒性不行,要麼精度不夠。

現在我們分析一下,純視覺slam到應用的問題出現在哪。了解vslam都知道,目前,主流的vslam根據應用

的特徵,分為兩大類,一類是直接法,另一類是特徵點發;根據演算法和硬體裝置的需求,分為單目、雙目和rgbdslam

兩大類。我們首先分析一下,vslam存在的共性問題。然後再分析一下各類vslam存在的問題。

1 vslam存在的共性問題

共性問題一:速度

無論是哪種vslam,只要純依靠影象,在運動過快的時候,必然會出現影象模糊的問題。我們知道,匹配是vslam建立資料關聯的紐帶,大量的誤匹配,神也救不了啊。

因此,影象一旦模糊,那麼整個系統就崩了,這個至目前還無法搞定。

共性問題二:環境

vslam對環境是有要求的,它在面臨到弱(無)紋理(比如白牆),重複紋理,比如(相似的建築物群),

也難以工作下去。弱紋理帶來的影響是,幾乎沒有特徵讓vslam去提取,從而也就無法繼續工作;

重複紋理給vslam帶來的問題是,會造成誤匹配,因此會造成錯誤的關聯關係。

另乙個比較苛刻的要求是,相機所能看到的環境,必須或者起碼大部分是靜態的。換句話說,

vslam對動態環境魯棒性不足。在實際應用中,如果相機面前大部分場景都在動,相機會認為自身在動。

也就是說,一旦有大量的相對運動,vslam就會認為是自身在動,這個時候,魯棒性就不行了。

共性問題三: 光照

在遇到明暗光交替的環境時,vslam很容易因為相機**成像的質量跟不上,從而造成匹配出錯而掛掉。

以上就是vslam在實際應用上,共性的幾個問題。

單雙目vslam的優缺點

下面,我們分析一下,單雙目vslam在應用中,都有哪些優缺點。首先,我們分析一下單目vslam。

單目vslam

優點是只用乙個相機就可已完成工作,這個就限制了雙目vslam很多場合的應用,

比如手機和小數碼裝置,一般不用雙目,原因有二。

第一,多乙個鏡頭,成本問題,當然,這不是主要原因。

第二,雙目離開了基線(基線太短),還能叫雙目!(退化成了單目)。

在較小的移動裝置上,不可能讓你把基線做那麼大。

而且不用考慮雙目相機因為長時間使用或碰撞造成的標定引數誤差變大。

缺點是尺度不確定。

我們再來看一下雙目vslam。

雙目vslam

優點是方便獲得場景深度資訊,從而,沒有像單目尺度模糊那樣的問題。

缺點是對裝置體積的要求,我們剛才說,微小移動裝置一般不用雙目。

rgbdvslamrgbd相機也被認為是未來vslam最有前途的視覺感測器。

缺點:相對成本略高

3 直接法和特徵點法的優缺點

接下來,我們分析一下直接法和特徵點法的優缺點。

特徵點法:

優點:目前絕大多數基於特性點法的vslam都是用的角點,這種vslam效能較好,

優點比較明顯,就是角點對尺度、旋轉和光照的魯棒性要高於直接法中的梯度點,適合於長,短基線的匹配。

這樣的話,基於特徵的vslam對快速運動的魯棒性要比直接法高。

缺點:但是,由於角點檢測、描述、匹配耗時較長,因此實時性比直接法略遜一籌。

直接法:

優點是速度,因為特徵往往是梯度點、邊,提取簡單,描述匹配簡單(patch匹配)。

而且,建圖比特徵點法稠密。

缺點是,對於快速運動的魯棒性不足,只適合短基線的匹配,因為,在優化迭代位姿時,

相機運動過快->相鄰幀基線過長->相鄰幀畫素偏差過大->位姿陷入乙個錯誤的區域性最優解。

下圖是致力於直接法vslam作者jakob engel,測試的基線長度對匹配的影響。

儘管使用了金字塔來補償,還是沒有特徵點法效果好。

因為角點對尺度、旋轉和光照的魯棒性要高於直接法中的梯度點。

至此我們分析了vslam中比較流行演算法的優缺點以及整個vslam的問題。

本人認為,接下來vslam要想走向實用,要努力的方向應該是與多感測器融合,提高演算法的魯棒性。

參考: 

視覺SLAM(一) 視覺SLAM框架

主要參考書目是高翔博士的 視覺slam十四講 中間會記錄一些個人實踐經驗和思考。slam伴隨著機器視覺發展和機械人導航已經相對成熟,形成了合理高效的基本框架。主要包含 感測器資料 前端視覺里程計 後端優化 回環檢測 建圖。採集根據不同應用場景和需求進行選擇,主要有如下幾種感測器 也就是單獨乙個攝像機...

視覺SLAM 視覺SLAM相關開源演算法總結

第乙個實時 單目slam系統,基於ekf優化。單目,只有tracking,進行了有效的特徵點對的匹配。之後有enft slam.適用於各種各樣的相機,除了常見的單目,雙目,rgb d的分類,還適用於透視 魚眼甚至自己設計的相機。通過使用apriltag基準標記實現slam 76 提出了一種基於李代數...

視覺SLAM習題

視覺slam習題彙總 持續更新 ch3矩陣提取 主要是利用 block 對應習題提取左上角3x3矩陣 include include includeusing namespace std int main int argc,char argv 按照官網給出的計算方法,編譯出現 error eigen...