SLAM的一點認識

2021-07-24 13:34:51 字數 1631 閱讀 8158

那會兒確確實實學習到了很多技能,但對slam的理解還是不是那麼透徹。後來因為被叫去做其他專案,就沒有再接著往下研究了。下面附一下lsd-slam的相關**,感興趣的朋友可以去關注一下。

lsd-slam的主頁:

github**:

隨著專案的需要,以及視覺幾何知識的積累,現在需要用到目前更高效、更便於二次開發的最新的orb-slam,既然又要拾起slam,所以想整理一下有關於slam的一些東西,便於更好地理解。orb-slam是乙個基於特徵點的稀疏建圖框架,但對於大規模的kitti這些測試資料來說,也是相當漂亮的。目前國內網上找到講解的比較好的、在該領域比較活躍是大神是高博,id為半閒居士。知乎上一些關於slam的問題也能看到高博的講解。講的還是很好的,這裡貼乙個高博的部落格位址,大家可以去拜讀一下。在附上lsd-slam和orb-slam執行的十分漂亮的結果圖~

單目slam:rgbd:

(1).kinectfusion 2011

(2).rgbd-slam2 2014

(3).elasticfusion 2015

後端優化理論上來說,如果視覺里程計模組估計的相機的旋轉矩陣r和平移向量t都正確的話,我們就能得到完美的定位和建圖了。但實際試驗中,我們得到的資料往往有很多雜訊,且由於感測器的精度、錯誤的匹配等,都對造成結果有誤差。並且由於我們是只把新的一幀與前乙個關鍵幀進行比較,當某一幀的結果有誤差時,就會對後面的結果產生累計誤差,最後的結果肯定誤差越來越大。為了解決這個問題,引入後端優化。

後端優化一般採用捆集調整(ba)、卡爾曼濾波(ekf)、圖優化等方式來解決。其中基於圖優化的後端優化,效果最好。graph-based slam一般使用g2o求解器,進行圖優化計算。

後端優化可能得到乙個比較優的解,但當運動回到某乙個之前去過的地方,如果我們能認出這個地方,並找到那個時候的關鍵幀進行比較,我們就可以得到比單用後端優化更準確更高效的結果。閉環檢測就是要解決這個問題。

閉環檢測有兩種方式,一是根據估計出來的相機的位置,看是否與之前否個位置鄰近;另外一種是根據影象,去自動識別出來這個場景之前到過,並找到那時候的關鍵幀。現在比較常用的是後一種方法,其實是乙個非監督的模式識別問題。比較常用的方法是使用bag-of-words(bow),orb-slam就是使用這個方法來進行閉環檢測。

SLAM的一點認識

那會兒確確實實學習到了很多技能,但對slam的理解還是不是那麼透徹。後來因為被叫去做其他專案,就沒有再接著往下研究了。下面附一下lsd slam的相關 感興趣的朋友可以去關注一下。lsd slam的主頁 github 隨著專案的需要,以及視覺幾何知識的積累,現在需要用到目前更高效 更便於二次開發的最...

weak ptr的一點認識

近期在補充和梳理c 方面的知識的時候,遇到了weakptr這個概念和用法,不甚明白,google出了一堆文字,包括boost的shared ptr和weak ptr的比較,以及其他一些部落格裡面給的例子以及解釋。其中有乙個是這樣解釋的,原文大意 在c 的weak ptr裡面,有兩類指標,一類是擁有物...

對暴庫的一點認識

去年的時候曾經有一段時間研究過ie雙解碼,所以對暴庫有一定的認識,前些天終於收到黑客的雜誌,裡面看了一篇臨的文章,下面我也談談個人對那篇文章的認識,這裡要說的是,大家如果再深入點研 究下去,就會發現,暴庫的利用不只是這麼簡單,還會有更多可以用的東東。暴庫的方式有多種多樣,我知道的就有3種以上,常見的...