基於PCL庫的點雲特徵識別

2021-09-26 02:55:03 字數 2597 閱讀 1325

雷達掃瞄測量過程中,每個掃瞄點的座標資訊由雷達的俯仰角、水平角及雷射干涉儀測距計算而來[3]。俯仰角與水平角資訊由雷達內部角度編碼器獲取,而雷達反射鏡與型麵點的距離資訊獲取時,由於型麵材料反光性質及空氣中灰塵的影響會影響雷達光線的對焦,此時會產生遠離型麵的一些孤點,此為雷達測量結果中的雜訊點,需要在進一步分析前將其剔除。

進行零件型麵的整體變形分析或重要區域的區域性分析時可使用不同的邊緣特徵或內部的尖銳特徵作為配準基準。根據特徵所在的區域不同可將點雲特徵分為兩類:1、點雲邊緣特徵;2、點雲內部尖銳特徵。

1、點雲邊緣特徵

點雲邊緣特徵是重要的配準特徵。現有的識別演算法有增殖思想膨脹出邊緣[4]、重心偏移閾值法[5]、多判別引數混合方法等[6]。主要利用了邊緣點近鄰點集分布的特徵:一側分布密集點,另一側無點。通過不同的全域性引數來達到識別邊緣特徵的目的。

邊緣特徵點k鄰域點集分布如下:

圖1  特徵點與內部點鄰域點集

2、點雲內部尖銳特徵

雷射雷達及攝影測量得到的點雲只包含點的座標資訊,不包含各點的空間拓撲資訊。內部特徵點最明顯的引數特徵為曲率與法線[7]可通過擬合區域性二次曲面獲取。現有的識別演算法與研究方向主要為對法線或曲率全域性引數閾值法[8]、多判別引數綜合閾值及自適應閾值等[9]。

點雲邊緣特徵是重要的配準特徵。現有的識別演算法有增殖思想膨脹出邊緣、重心偏移最遠點閾值法、多判別引數混合方法等。主要利用了邊緣點區域性的特徵:一側分布密集點,另一側無點。通過不同的敏感引數來達到識別邊緣特徵的目的。

本文利用待識別點的鄰域點集

q分布特性,使用投影的方法將三維問題轉化為二維的邊界識別,同時借鑑二維影象學畫素分布的思想,將象限細分為

k個「畫素」象限後定位各點的拓撲關係。利用邊緣點連線存在較大夾角的特性對最大的無點分布的連續象限

fi設定閾值

f可識別邊緣特徵點。

求取微切平面

以該取樣點p及其搜尋得到k個近鄰點mj(j=0,1,2,…,k-1)作為區域性參考資料,用最小二乘法擬合出微切平面。設f(x,y,z)=a1x+a2y+a3z+a4=0,對於該微切平面的k+1個點,寫成矩陣形式為:

本演算法實現過程中以pi為座標原點,鄰域點集q內距pi最遠點方向為x軸,y軸垂直於x軸。微切平面p座標系劃分為n個象限,每個象限夾角為2π/n

nrk公司提供的試驗件模型驗證演算法,模型點數為

21572個。

下圖為不同引數n、f、k的識別結果:

通過試驗象限數n取36,f取7,近鄰點個數k設定為分隔象限數的1.5倍能得到較好的識別效果。點雲分布越均勻,點密度越大待識別點的

k近鄰點集越能反應該點近鄰的實際分布情況,演算法的效果越好,不容易出現漏判定或誤判定的情況。

圖11  內部尖銳特徵粗提取流程圖

將待識別點的近鄰點集所有點的法線量歸一化後將法線的起點平移至單位球

s2qi

對於在平面或曲率較小的光滑曲面上的一點,它的鄰域為乙個簇。

大曲率光滑曲面上的一點,他的鄰域法線較散亂的分布在球面上,形成大量的簇。

曲面的交界上且法線不連續的點,因其不連續性以及法線估算的擬合誤差,交界上的點會產生乙個不同於相鄰兩面的簇,則其鄰域聚類為三簇。

圖16  內部尖銳特徵識別流程圖

本文演算法在vs整合開發平台上了,用pcl庫進行實現。最終演算法識別的結果如下所示:

圖18  內部尖銳特徵識別結果

曲率篩選聚類演算法

21572

2961221

對於內部特徵點的識別,首先使用曲率閾值法進行粗提取,從表中可以看出,演算法識別的結果一致,使用曲率閾值粗體取後演算法效率比直接使用高斯對映法提高了

60%。點雲結果從粗提取得到的

1633

點到最終精確提取後保留

296個點。內部特徵中存在部分特徵點缺失的部分,但整體邊界特徵完整。最後使用隨機抽樣演算法將結果點雲特徵線精簡。得到的邊緣特徵及內部尖銳特徵可用於下一步的點雲於理論數模配準。

PCL點雲庫概述

pcl點雲概述 點雲處理技術廣泛應用在逆向工程 cad cam 機械人學 雷射遙感測量 機器視覺 虛擬實境 人機互動 立體3d影像等諸多領域。由於其涉及計算機學 圖形學 人工智慧 模式識別 幾何計算 感測器等諸多學科,但一直以來由於點雲獲取手段的昂貴,嚴重阻礙其在各個行業上的廣泛應用,也造成國內點雲...

PCL點雲庫的安裝

pcl庫是點雲庫 point cloud library 4 pcl庫的安裝比較容易,輸入以下命令即可 也可以使用源 安裝 sudo add apt repository ppa v launchpad jochen sprickerhof de pcl sudo apt get update su...

PCL 1 PCL點雲庫安裝

2.傻瓜式安裝 下面的依賴項都整合進來了 中間安裝了boost vtk kinect驅動什麼的。反正是一路下一步,當然我的機器是win7系統,之前沒有安裝過pcl,比較純淨。之後又單獨安裝了qt4.8.2的sdk。3.測試 在安裝目錄下有share doc pcl 1.6 tutorials sou...