1. 程式人生 > 實用技巧 >《視覺SLAM十四講 第9章設計前端》總結

《視覺SLAM十四講 第9章設計前端》總結

第9章設計前端講解了如何設計一個前端,這裡自己也做個總結。
1、一個完整的工程專案的資料夾組織框架一般包含以下7個部分。
1)bin: 用來存放二進位制檔案
2)include/slam: 存放標頭檔案
3)src: 存放原始碼
4)test: 存放測試用的檔案
5)lib: 存放編譯好的庫檔案
6)config: 存放配置檔案
7)cmake_modules:第三方庫的cmakes檔案,在使用g2o之類的庫時會用到它
搭建好資料夾組織框架後,確定基本資料結構,即主要有哪幾個類,以及它們之的關係。
2、一個基本的SLAM工程由以下幾個基本資料結構
在這裡插入圖片描述0.1版本中介紹類5個類。
Frame:在這個類中定義了ID,時間戳,位姿,相機及影象這幾個變數,同時還定義了幾個重要的方法:建立Frame(工廠模式定義),尋找定點對應第深度,獲取相機光心,判斷某個點是否在視野內。

Camera:儲存相機的內參及外參,並完成相機座標系、畫素座標系和世界座標系之間的座標轉換。
MapPoint:表示路標點,定義了路標點的方向及描述子
Map:管理所有路標點,負責新增新路標點,刪除不好的路標等工作,以及新增關鍵幀。圖
Config:讀取引數檔案,並根據引數名稱提供引數值。
3、0.2版本
通過兩兩幀的特徵點匹配估算兩幀之間的運動估計。
兩兩幀的視覺里程計:只關心兩個幀間的運動估計,並不優化特徵點的位置,把估計得到的位姿串起來,得到一條運動軌跡。
在這裡插入圖片描述只要通過特徵點求出了運動,就不再需要這一幀的特徵點,就扔掉了。
總體結構如下:
在這裡插入圖片描述