视觉SLAM十四讲第一讲
生活随笔
收集整理的這篇文章主要介紹了
视觉SLAM十四讲第一讲
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
之前看過一遍,但是過一段時間之后就會忘記,所以這次做一個記錄,將學習中遇到的問題和總結的一些東西記錄下來,以供后續的回顧和學習。
第一講 預備知識
SLAM 是 Simultaneous Localization and Mapping 的縮寫,中文譯作“同時定位與地圖構建”。
它是指搭載特定傳感器的主體,在沒有環境先驗信息的情況下,于運動過程中建立環境的模型,同時估計自己的運動。如果這里的傳感器主要為相機,那就稱為“視覺 SLAM”。
加粗的地方就是定義中的條件,也是一個優秀的SLAM系統應該做到的基礎。所以SLAM 的目的是解決“定位”與“地圖構建”這兩個問題。也就是說,一邊要估計傳感器自身的位置,一邊要建立周圍環境的模型。
全書內容主要分為兩個部分。
? 第 1 講是前言,介紹這本書的基本信息,習題部分主要包括一些自測題。
? 第 2 講為 SLAM 系統概述,介紹一個 SLAM 系統由哪些模塊組成,各模塊的具體工作是什么。實踐部分介紹編程環境的搭建過程以及 IDE 的使用。
? 第 3 講介紹三維空間運動,你將接觸到旋轉矩陣、四元數、歐拉角的相關知識,并且在Eigen 當中使用它們。
? 第 4 講為李群和李代數。即便你現在不懂李代數為何物,也沒有關系。你將學到李代數的定義和使用方式,然后通過 Sophus 操作它們。
? 第 5 講介紹針孔相機模型以及圖像在計算機中的表達。你將用 OpenCV 來調取相機的內外參數。
? 第 6 講介紹非線性優化,包括狀態估計理論基礎、最小二乘問題、梯度下降方法。你會完成一個使用 Ceres 和 g2o 進行曲線擬合的實驗。
? 第 7 講為特征點法的視覺里程計。該講內容比較多,包括特征點的提取與匹配、對極幾何約束的計算、PnP 和 ICP 等。在實踐中,你將用這些方法去估計兩個圖像之間的運動。
? 第 8 講為直接法的視覺里程計。你將學習光流和直接法的原理,然后實現一個簡單的直接法運動估計。
? 第 9 講為后端優化,主要為對 Bundle Adjustment 的深入討論,包括基本的 BA,以及如何利用稀疏性加速求解過程。你將用 Ceres 和 g2o 分別書寫一個 BA 程序。
? 第 10 講主要講后端優化中的位姿圖。位姿圖是表達關鍵幀之間約束的一種更緊湊的形式。我們會介紹 SE(3) 和 Sim(3) 的位姿圖,同時你將使用 g2o 對一個位姿球進行優化。
? 第 11 講為回環檢測,主要介紹以詞袋方法為主的回環檢測。你將使用 dbow3 書寫字典訓練程序和回環檢測程序。
? 第 12 講為地圖構建。我們會討論如何使用單目進行稠密深度圖的估計(以及這是多么不可靠),然后討論 RGB-D 的稠密地圖構建過程。你會書寫極線搜索與塊匹配的程序,然后在 RGB-D 中遇到點云地圖和八叉樹地圖的構建問題。
? 第 13 講是工程章,你將搭建一個雙目視覺里程計框架,綜合運用先前學過的知識,實現它的基本功能。這個過程中,你會碰到一些問題,例如優化的必要性、關鍵幀的選擇等。我們會在 Kitti 數據集上測試它的性能,討論一些改進的手段。
? 第 14 講主要介紹當前的開源 SLAM 項目以及未來的發展方向
總結:第一講主要是一些介紹性描述,因為之前看過一遍,對這些還算熟悉。
本書所有源代碼均托管在 GitHub 上:
https://github.com/gaoxiang12/slambook2
總結
以上是生活随笔為你收集整理的视觉SLAM十四讲第一讲的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php封装公共方法,TP框架下封装公共函
- 下一篇: 视觉SLAM十四讲学习笔记——ch9后端