天天看點

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

ORB是一種特征提取和描述的快速算法,論文原文《ORB: an efficient alternative to SIFT or SURF》。

ORB算法分為特征提取和特征描述兩個部分,其中特征提取是對FAST特征的改進,特征描述是對BRIEF算法的改進。

一、oFAST

1.1 FAST特征提取

FAST特征提取請參考連結:【目标檢測】FAST特征學習記錄。

針對特征點數量大且不确定,不具有方向資訊和尺度資訊等問題,ORB做了如下改進:

(1)對原始的FAST角點分别計算Harris響應值,然後選取前N個具有較大響應值的角點作為最終的角點集合。

(2)增加尺度和旋轉的描述。

其中,尺度不變性是通過建構圖像金字塔,并且在每一層生成FAST特征。

旋轉不變性在下節詳細說明。

1.2 通過灰階質心進行方向定位

定義一個圖像塊的矩定義為,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

通過矩來計算特征點以r為半徑範圍内的質心,特征點坐标到質心形成一個向量作為該特征點的方向。

質心為,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

那麼該特征的方向為,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

二、rBRIEF

2.1 BRIEF

BRIEF是在特征點的一個鄰域内選擇n對像素點,比較它們的灰階值,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

p(x) < p(y)則為1,反之為0。n對都比較完之後就生成了長度為n的二進制串。

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

作者說在進行計算之前先對圖像進行高斯平滑處理,視窗大小為5x5,n=256,圖像塊取31x31。

2.2 Steered BRIEF

定義一個2xn的矩陣,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

經過旋轉角度θ旋轉,得到新的點對,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

則steered BRIEF變為,

【目标檢測】ORB特征學習記錄一、oFAST二、rBRIEF

2.3 rBRIEF

使用steered BRIEF方法得到的特征描述子具有旋轉不變性,但是相關性卻不如BRIEF,這會影響特征的比對效果。

作者沒有使用BRIEF的取點對的方法,而是采用了學習的方法重新選取點對集合。

建立300k個特征點訓練集,是從PASCAL 2006資料集中選取的。對于訓練集的每個點,計算其31x31的鄰域,鄰域中的某個點的5x5鄰域灰階平均值來代替某個點對的值。在31x31的鄰域内共有(31-5+1)x(31-5+1)=729個子視窗,是以取點對的方法共有M=265356種。算法流程是

(1)300k個特征點選點對。

(2)對每個點對求平均值,按照平均值到0.5的距離大小重新點對進行排序,形成向量T。

(3)将T的第一列向量放到結果向量R中,并且将此列從T中移除。

(4)取T的下一列向量和R中的所有列向量計算相關性,如果相關系數小于設定的門檻值,則将該列向量添加至R中,否則丢棄它。

(5)重複上述步驟,直到R中向量列數為256。如果周遊完所有向量之後R中的向量列數少于256,則提高門檻值,重試。

繼續閱讀