ORB(Oriented FAST and Rotated BRIEF)
??之前總是在ORB-SLAM的各個版本中聽到ORB,但還不知道什么是ORB。借今天這個機會了解下ORB。
??ORB(Oriented FAST and Rotated BRIEF)。首先要意識到ORB不是特征的名字,是一種完成圖像間特征匹配的方法。匹配的步驟就體現在命名中。下面介紹兩個問題:
??1.ORB的優勢在哪?
??可以解決常見圖像間特征匹配的兩個問題:(1).縮放尺度問題 (2).旋轉問題。下面詳細介紹ORB的兩個流程,可從中體會如何解決這兩個常見問題
??2.介紹ORB的兩個流程
??ORB有兩個特征:關鍵點(Oriented FAST)、描述子(BRIEF, Binary Robust Independent Elementary Feature)。關鍵點不用說了,叫描述子的原因是它描述了關鍵點周圍的圖像信息,并用描述向量表示。
??ORB包含兩部分的改進,一部分是FAST,改進為Oriented FAST。一部分是BRIEF,改進為Rotated BRIEF。
??ORB具體包含兩個步驟:特征提取→特征匹配
??1)特征提取
??特征提取具體包含兩個步驟:FAST關鍵點提取→BRIEF描述子計算
????(1)FAST角點(關鍵點)提取
????FAST角點的確定步驟如下:
??其實ORB效果好的原因就在于特征提取的有效性:將圖片均分成格子,在格子范圍內提取FAST關鍵點。不停分割(四叉樹結構),直到接近預設值。盡量保證每一個格子有一個FAST點(允許格子里沒有FAST點,也允許格子里有多個FAST點,多個情況會保留響應最大FAST關鍵點,以避免角點集中),最終實現特征關鍵點分布均勻。特征點分布均勻,保證了特征提取的有效性。
??Oriented FAST較FAST改進在于增加旋轉不變性、尺度不變性,改進后更能增加在不同圖像下表示的魯棒性。旋轉不變性的體現是除了FAST中特征點位置還增加方向。尺度不變性的解決基于圖像金字塔。
??對圖像金字塔的理解:對一張圖片,以不同的縮放因子存儲。根據待匹配圖片的大小,選擇合適的層級圖像進行匹配
??以上兩種改進策略就解決了特征提取的兩個問題:(1).縮放尺度問題 (2).旋轉問題
??(2)BRIEF描述子計算
??描述子計算主要是為了保留關鍵點周圍信息,用于過后的關鍵點間的匹配。rBRIEF較BRIFT保持了旋轉不變性,正好利用了剛才角點計算時對方向的計算。
??2)特征匹配:
??特征匹配就是尋找到兩幀之間對應的匹配點(圖像處理中以幀為基本單位,數據處理在相鄰兩幀中進行)。特征匹配的概念很好理解,主要是特征匹配的匹配算法。在此介紹三種,但不止三種
??(1)暴力匹配
??主要思想:對兩幀圖像每一對關鍵點進行描述子距離計算,排序,取最近的作為匹配點。
??描述子距離表示相似程度,越小越相似。具體的計算過程不再此陳述(其實我也不會~)
??(2)SearchForInitialization
??主要思想:劃定待匹配點周圍一定區域,根據區域內其余所有點的方向建立直方圖。尋找出特征點數量最多的前三個方向,根據判定式確定第一主方向和第二主方向(可能不存在)
??(3)SearchByProjection
??主要思想:根據勻速模型估計位姿,將前一幀點對應地圖投影到當前幀,計算搜索點(當前幀上)到前一幀點的漢明距離(用于二進制距離度量),若漢明距離小于閾值,則認為是其匹配點。經姿勢優化后,滿足條件匹配點大于10認為兩幀跟蹤成功
??注:二進制對應位不同,漢明距離才會加1。所以相似程度越高,漢明距離越小。
??本篇簡單對ORB有個印象,ORB本身不是我關注的重點。ORB如何在ORB-SLAM的各個版本中起到作用才重要(以目前來看也看不太出來,ORB-SLAM在描述過程中好像直接省略了特征匹配方法的具體描述,只是陳述了選擇ORB作為特征匹配方法)
參考資料:
1.ORB特征匹配
2.ORB特征點匹配
3.【詳解】ORB特征提取與匹配_嗶哩嗶哩
因作者水平有限,如果錯誤之處,請在下方評論區指正,謝謝!
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的ORB(Oriented FAST and Rotated BRIEF)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker自动构建开发测试平台
- 下一篇: 15. OD-去除程序最后退出时弹出的注