角點的定義 角點是一種局部特征,具有旋轉不變性和不隨光照條件變化而變化的特點,,一般將圖像中曲率足夠高或者曲率變化明顯的點作為角點,。檢測得到的角點特征通常用于圖像匹配、目標跟蹤,、運動估計等方面,。 目前的角點檢測算法可歸納為3類:基于灰度圖像的角點檢測、基于二值圖像的角點檢測,、基于輪廓曲線的角點檢測。角點是圖像很重要的特征,,對圖像圖形的理解和分析有很重要的作用,。本文主要講解ORB特征點以及該特征點的基礎FAST角點。 ORB特征點的基礎FAST角點 FAST(Features from Accelerated Segment Test)由Edward Rosten和Tom Drummond在2006年首先提出【1】,,它不僅計算速度快,,還具有較高的精確度。FAST的方法主要是以一個像素為中心像素,,檢測在這個像素點附近的圓形窗口上的16個像素的灰度,,如果有n個連續(xù)點都比中心像素的灰度大或者小的話,這樣的中心點就是FAST角點,。如下圖所示,,當N為12個點的時候稱之為FAST-12,而實際上當n=9時,往往能取得較好的效果,。 那么在論文中指出在比較中心像素與周圍像素的灰度值大小時有一個閾值t 之后又出現(xiàn)了改進的方案是首先比較第1和第9個像素,,如果兩個點像素強度都在中心像素強度t變化范圍內,則說明這不是角點,,如果接下來檢測第5和13點時,,發(fā)現(xiàn)上述四點中至少有三個點同中心點不相似,則可以說明這是個角點,。 算法很可能檢測出的角點彼此相鄰,,所以提出了使用非極大值抑制算法來去除一部分的相鄰角點,思路是 為每一個檢測到的角點計算它的響應大?。╯core function),。響應定義為中心點和它周圍16個像素點的絕對偏差的和。比較兩個相鄰的角點響應值,。值較低的角點將會被刪除,。 該算法思想簡單,運算量很小,,適合實時檢測方面的應用,。不過也有缺點,主要表現(xiàn)為對于邊緣點與噪點區(qū)分能力不強,,并且FAST不產生多尺度特征和方向信息,,這樣就會失去旋轉不變性。 原論文示例圖 ORB特征點 以上就是FAST角點的基礎內容,,那么ORB特征點在FAST角點的基礎上有了更多的改進,。Oriented FAST and Rotated BRIEF,簡稱ORB【2】。 (1)FAST特征點是沒有尺度不變性的,,所以ORB通過構建高斯金字塔,,在每一層金字塔圖像上檢測角點,來解決尺度不變性的問題,。 (2)ORB采用的是FAST算子檢測特征點,,對于局部不變性,提出了一種利用灰度質心法來解決這個問題,,給檢測到的特征點加了特征方向信息,,構成oFAST,解決了FAST算子不帶有方向的嚴重缺陷,。 (3)ORB特征檢測在FAST特征點檢測的基礎上增加了BRIEF特征描述算法,。彌補了FAST只是一種特點檢測算法,并不涉及特征點的描述的缺陷,。 ORB特征檢測具有尺度和旋轉不變性,,對于噪聲及其透視變換也具有不變性,,并且其運行時間遠遠優(yōu)于SIFT和SURF,可應用于實時性特征檢測,。良好的性能是的利用ORB在進行特征描述時的應用場景十分廣泛,。 高斯金字塔 所謂圖像金字塔是圖像多尺度表達的一種,是一種以多分辨率來解釋圖像的有效但概念簡單的結構,。一幅圖像的金字塔是一系列以金字塔形狀排列的分辨率逐步降低,,且來源于同一張原始圖的圖像集合。其通過梯次向下采樣獲得,,直到達到某個終止條件才停止采樣,,我們將一層一層的圖像比喻成金字塔,層級越高,,則圖像越小,,分辨率越低。 ORB的尺度不變性的實現(xiàn)使用高斯金字塔來實現(xiàn),,高斯金字塔的構建分為兩部分:對圖像做不同尺度的高斯模糊和對圖像做降采樣,。 高斯金字塔在降采樣的基礎上加上了高斯濾波,使得圖像更加平滑,。將圖像金字塔每層的一張圖像使用不同參數(shù)做高斯模糊,,使得金字塔的每層含有多張高斯模糊圖像,將金字塔每層多張圖像合稱為一組(Octave),,金字塔每層只有一組圖像,,組數(shù)和金字塔層數(shù)相等,使用下列公式計算,,每組含有多張(也叫層Interval)圖像,。另外,降采樣時,,高斯金字塔上一組圖像的初始圖像(底層圖像)是由前一組圖像的倒數(shù)第三張圖像隔點采樣得到的,,其中將采樣就是將圖像中所有偶數(shù)行和列去除。 其中M,,N為原圖像的大小,t為金字塔塔頂圖像的最小維數(shù)的對數(shù)值,。如對于大小為8*8的圖像,金字塔上各層圖像的大小如表所示: 灰度質心法 灰度質心法用來計算特征點的方向,,假設角點的灰度與質心之間存在一個偏移,這個向量可以用于表示一個方向,。這種方法的主要思想就是,,首先把特征點的鄰域范圍看成一個patch,然后求取這個patch的質心,,最后把該質心與特征點進行連線,,求出該直線與橫坐標軸的夾角,,即為該特征點的方向。論文中定義了以下幾個公式來計算方向,,第一步計算 計算質心 然后求取向量OC的方向,,同時如果把x,y的范圍保持在[?r,r]之間(r為該特征點鄰域的半徑),以特征點為坐標原點,,則得到的方向角為 BRIEF描述算法 BRIEF 【3】是2010年的一篇名為《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,,BRIEF是對已檢測到的特征點進行描述,它是一種二進制編碼的描述子,,擯棄了利用區(qū)域灰度直方圖描述特征點的傳統(tǒng)方法,,大大的加快了特征描述符建立的速度,同時也極大的降低了特征匹配的時間,。 BRIEF算法提取得到的特征點描述符是一個二進制的字符串,,假設當前的一個特征點的鄰域空間patch,設為p,,那么對該p定義為 其中p(x)表示的是在點x處的圖像灰度值,,也就是比較灰度值來決定是0還是1 ,這樣就可以得到一個n位的二進制串用于特征點的匹配,。 經過上面的特征提取算法,,對于一幅圖中的每一個特征點,都得到了一個256bit的二進制編碼,。接下來對有相似或重疊部分的兩幅圖像進行配準,。特征配對是利用的漢明距離進行判決。 總結 ORB-SLAM中特征點匹配的大致步驟如下 (1)構建圖像高斯金字塔 (2)在不同尺度的圖像上采用fast角點檢測 (3)使用質心法計算每個特征點的主方向 (4)計算特征點的描述子 (5)使用漢明距離特征點之間的匹配 References 以上內容如有疑問或者補充請大家積極留言,,并且希望大家能夠推薦與三維視覺,,點云,SLAM,,深度學習,,高精地圖相關文章和內容給平臺郵箱[email protected],歡迎留言給平臺,,如果有必要將會推出與你推薦相關的資料,。同時希望大家能夠積極參與分享加入我們,志愿者活動,,認識更多志同道合的小伙伴,,點擊點云PCL運營招募啦。文章內容如有侵權請第一時間聯(lián)系平臺,,將及時刪除,。 點一下“在看”你會更好看耶 |
|