【視覺算法】SHOT特徵描述子

回顧一下上一篇文章學習的物體識別流程,首先計算模型點雲特徵,並將特徵保存;然後計算場景點雲特徵,並將特徵保存;在此基礎上,進行特徵匹配;每一對特徵點,進行霍夫投票,投票峯值對應的那些點對,即爲正確的特徵對應;至此,剔除了錯誤點對;再根據正確的對應關係解算旋轉矩陣和平移向量,即完成了物體識別和姿態估計。
現在我們開始學習SHOT特徵描述子,簡要說明一下,SHOT特徵描述子在構建的局部參考系內(旋轉和平移不變性),統計特徵點周圍的拓撲特徵,將特徵保存在直方圖中,並對其進行歸一化(對點雲密度和噪聲具有魯棒性)。下面逐一學習:
一、局部參考系的構建
首先看一個公式:
在這裏插入圖片描述以特徵點周圍的k鄰近點構建了協方差矩陣M(如果你瞭解過點雲中一點的法線估計過程、ICP目標函數的求解過程,那麼對上式是非常熟悉的),M表示了各點之間的兩兩線性相關性。
爲了方便計算,這樣構建M:
在這裏插入圖片描述
R是局部參考系的計算半徑,pi是以特徵點p爲球心,半徑爲R的球體內的點,di是pi到p的歐式距離。
對M進行特徵值分解(EVD),我們得到了三個兩兩正交的單位特徵向量和三個非負的特徵值,特徵值遞減排序,其對應的特徵向量分別對應着x,y,z三個軸。此時,x,y,z的正方向是存在歧義的,爲了確定正方向(消除歧義),文章採取了這樣的策略:
在這裏插入圖片描述
其中
在這裏插入圖片描述
對上面公式的解釋:爲確定局部參考系x軸的正方向,在半徑R內,計算特徵點p到pi的向量與x+/x-的點積,非負即兩向量夾角在0到90°之間,相應的Sx統計了符合這一條件的點的集合;正方向取該集合中點的個數大者。
對於相等的特殊情況,統計在平均中值距離周圍的點(M(k),k是限定的距離)中符合這一條件的點的集合;同樣,方向取大者。
通俗講,使x軸正方向指向半徑R內點密度大的方向,消除了x軸取向的歧義。
對於z軸的取向,和x的步驟相同,y軸取向由z×x確定。
至此,局部參考系構建完成,它具有旋轉和平移不變性。
二、特徵計算和存儲
爲了計算特徵,文章將上述的局部參考系按照方位8個,俯仰2個,徑向2個進行劃分:
在這裏插入圖片描述
爲了使圖形簡潔,上圖中方位只劃分了4個。
這樣,一共劃分爲32個子區間,每個區間由劃分了11(實驗效果最好)個區間的直方圖表示,這樣構成了長度爲32×11=352的直方圖。注意,是由32個直方圖按照空間相鄰關係拼接而成的,這一點在理解後面的插值操作時非常重要。
直方圖的橫軸是cosθ,也就是對cosθ的值劃分了11個子區間,之所以是cosθ,而不是θ,是因爲cosθ非常容易計算(兩點法線點積);縱軸是計數,即出現在該區間的頻率。
計算局部座標系的每個劃分區間內的每一點和座標系原點(特徵點)的角度θ的餘弦值cosθ,按其值保存在直方圖中。這樣,初步得到了該特徵點的直方圖表達。ps:這裏之所以說初步,是爲了便於宏觀理解,實際上還有插值過程。
然而,因爲該描述子是基於局部直方圖的,不可避免會受到邊緣效應的影響,此外,上面提到的空間區域劃分,也會產生邊緣效應(處在邊緣時怎麼處理?)。爲了解決這一問題,文章採取了四線性插值,下面逐一解釋:
法線餘弦的插值:
在這裏插入圖片描述
插值區間選取爲橫軸上相鄰的兩個cosθ,s爲區間長度,除以s完成了歸一化,在cosθi和cosθi+1上,分別+1-d,即完成了插值(即對處在邊緣上的點,將其計數分攤到兩個相鄰的區間內)。
方位角、俯仰角、距離的插值:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
插值區間選取爲空間區域劃分中相鄰兩空間對應的直方圖中相同索引(cosθ的值)的兩個區間,歸一化,插值(和上面類似)。
最後,將整個描述子(直方圖)歸一化,即完成了該特徵點的描述。
至此,SHOT特徵描述子就學習完了。ps:文章還介紹瞭如何擴展到RGB信息,暫不學習。
才疏學淺,如有不妥之處,望指正。
參考文獻:
(1) Salti S , Tombari F , Stefano L D . SHOT: Unique signatures of histograms for surface and texture description[J]. Computer vision and image understanding, 2014, 125(AUG.):251-264.

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