天天看點

PFH和FPFH詳解

1.PFH由來

點特征的描述子一般是基于點坐标、法向量、曲率來描述某個點周圍的幾何特征。用點特征描述子不能提供特征之間的關系,減少了全局特征資訊。是以誕生了一直基于直方圖的特征描述子:PFH--point feature histogram(點特征直方圖)。

2.PFH的原理

PFH通過參數化查詢點和緊鄰點之間的空間差異,形成了一個多元直方圖對點的近鄰進行幾何描述,直方圖提供的資訊對于點雲具有平移旋轉不變性,對采樣密度和噪聲點具有穩健性。PFH是基于點與其鄰近之間的關系以及它們的估計法線,也即是它考慮估計法線之間的互相關系,來描述幾何特征。

為了計算兩個點( ps is defined as the source point and pt as the target point)及其相關法線之間的偏差,在其中一個點上定義了一個固定坐标系。

PFH和FPFH詳解
PFH和FPFH詳解

使用上圖的uvw坐标系,法線ns,nt之間的偏差可以用一組角度表示

PFH和FPFH詳解

d是兩點之間的歐氏距離,

PFH和FPFH詳解

 ,利用α,φ,θ,d,四個元素可以構成PFH描述子。

問題來了,PFH翻譯成點特征直方圖,四個元素和直方圖有什麼關系?

首先計算查詢點Pq近鄰内的對應的所有四個元素,如圖所示,表示的是一個查詢點(Pq) 的PFH計算的影響區域,Pq 用紅色标注并放在圓球的中間位置,半徑為r, (Pq)的所有k鄰元素(即與點Pq的距離小于半徑r的所有點)全部互相連接配接在一個網絡中。最終的PFH描述子通過計算鄰域内所有兩點之間關系而得到的直方圖,是以存在一個O(k) 的計算複雜性。 

PFH和FPFH詳解

為了建立最終的直方圖,将所有四元素組以統計的方式放入一個直方圖中,這個過程首先把每個特征值範圍劃分為b個子區間,并統計落在每個子區間的點數量,前三個元素均是角度,都和法向量有關系,可以将三個元素标準化并放到同一個區間内。

PFH和FPFH詳解

橫坐标表示角度,縱坐标表示區間内點雲的數量。

3.FPFH的由來

具有n個點的點雲p的點特征直方圖的理論計算複雜度為o(nk^2),其中k是點雲p中每個點p的鄰近數。在密集點鄰域中計算點特征柱狀圖可以表示映射架構中的主要瓶頸之一。本節提出了PFH公式的簡單化,稱為快速點特征直方圖(FPFH:fast point feature histograms),它将算法的計算複雜度降低到O(NK),同時仍然保留了PFH的大部分判别能力。

4.FPFH的原理

step1,隻計算每個查詢點Pq和它鄰域點之間的三個特征元素(參考PFH),在這裡不同于PFH:PFH是計算鄰域點所有組合的特征元素,而這一步隻計算查詢點和近鄰點之間的特征元素。如下圖,第一個圖是PFH計算特征過程,即鄰域點所有組合的特征值(圖中所有連線,包括但不限于Pq和Pk之間的連線),第二個圖是step1中計算内容,隻需要計算Pq(查詢點)和緊鄰點(圖2中紅線部分)之間的特征元素。可以看出降低了複雜度我們稱之為SPFH(simple point feature histograms)。

PFH和FPFH詳解
PFH和FPFH詳解

step2,重新确定k近鄰域,為了确定查詢點Pq的近鄰點Pk的SPFH值、查詢點Pq和近鄰的距離以及k的數值(一般使用半徑kdtree搜尋,隻能确定某半徑範圍内的近鄰點,不能确定具體的查詢點與近鄰的距離、k數值----PS:應該是這樣,不過重新确定k近鄰主要還是計算查詢點Pq的近鄰點Pk的SPFH值),則

PFH和FPFH詳解

Wk權重,一般為距離。

5.二者差別和聯系

(1)FPFH沒有對近鄰點所有組合進行計算可能漏掉一些重要點對

(2)PFH特征模型是對查詢點周圍精确的鄰域半徑内,而FPFH還包括半徑r範圍以外的額外點對(不過在2r内,這是由于計算SPFH(Pk)導緻的)

(3)FPFH降低了複雜度,可以在實時場景中使用

(4)因為重新計算權重,是以FPFH結合SPFH值,重新擷取重要的緊鄰點對幾何資訊

繼續閱讀