ORB-SLAM的概念(零基礎搞懂)

首先寫ORB中的概念

一、前端提取

包括像素點選取和匹配兩部分:

1.像素點選取:主要是ORB特徵,看看這篇文章就夠了:https://blog.csdn.net/maweifei/article/details/62887831   ORB主要有兩個概念,角點,還有就是Moment,Moment類似於重心的概念用來表示特徵點的方向,在旋轉能快速Match。另外特徵點確定好後用BREAF確定來描述,BREAF在特徵點周圍使用兩維高斯分佈乘以圖像像素值。實際就是BREAF和Moment來綜合描述。           像素點選取好後,一般通過跟蹤的方法加速圖像間特徵點選取。     ORB特徵匹配,主要是像素點相似性的計算。ORB特徵匹配。                                                                                              

很顯然,基於特徵點的目標跟蹤算法和1),2)兩個步驟有關。特徵點可以是Harris角點(見我的另外一篇博文),也可以是邊緣點等等,而估計下一幀位置的方法也有不少,比如這裏要講的光流法。

對於雙目相機,因爲兩個攝像機距離已知,利用兩個攝像機的圖像可完成特徵點深度測量。對於單目攝像機來說,一般需用IMU來配合檢測攝像機移距離,實現兩幅圖像中像素的三角測量;或者攝像機外參數固定,在特殊場景下,也能完成測量。

2.像素點匹配:

主要是BREAF等編碼,也能按照SIFT編碼,主要是尋找特徵點周圍的梯度信息,按照順時針或者逆時針對梯度進行編碼,Difference最大的區域一般選爲主方向。可能存在多個主方向。圖像相似度用海明距離計算,也能參考協方差概念。

包括RANSAC過濾誤差較大的點。

二、後端優化

主要是攝像頭位姿改變,外參的校準和三維點雲更新。

建圖過程中攝像機位置總是改變,因此求出三維點的座標不能直接使用,還要乘以旋轉矩陣和平移矩陣。

可以用卡爾曼濾波法,對移動進行觀測和估計,現代方法都是用ICP/PNP提供初始解。

然後使用圖優化G2O進行進一步優化,

Ceres,BA,包括增量BA,完成多副圖像中的特徵點形成三維位置更新和攝像機位置重置。

三、閉環檢測

圖像回到原點可能出現攝像機位置不一致的情況。這個時候就要使用CloseLoop矯正,一般是使用詞袋DWOB評估圖像和之前圖像(N幀之前)的相似度,這裏一般是和KeyFrame圖像比較。矯正的方案的基礎是大回環,多個關鍵幀都相似才優化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章