基于PCL库的点云特征识别

       雷达扫描测量过程中,每个扫描点的坐标信息由雷达的俯仰角、水平角及激光干涉仪测距计算而来[3]。俯仰角与水平角信息由雷达内部角度编码器获取,而雷达反射镜与型面点的距离信息获取时,由于型面材料反光性质及空气中灰尘的影响会影响雷达光线的对焦,此时会产生远离型面的一些孤点,此为雷达测量结果中的噪声点,需要在进一步分析前将其剔除。

进行零件型面的整体变形分析或重要区域的局部分析时可使用不同的边缘特征或内部的尖锐特征作为配准基准。根据特征所在的区域不同可将点云特征分为两类:1、点云边缘特征;2、点云内部尖锐特征。

1、点云边缘特征

点云边缘特征是重要的配准特征。现有的识别算法有增殖思想膨胀出边缘[4]、重心偏移阈值法[5]、多判别参数混合方法等[6]。主要利用了边缘点近邻点集分布的特征:一侧分布密集点,另一侧无点。通过不同的全局参数来达到识别边缘特征的目的。

边缘特征点k邻域点集分布如下:

基于PCL库的点云特征识别_第1张图片

图1  特征点与内部点邻域点集

2、点云内部尖锐特征

激光雷达及摄影测量得到的点云只包含点的坐标信息,不包含各点的空间拓扑信息。内部特征点最明显的参数特征为曲率与法线[7]可通过拟合局部二次曲面获取。现有的识别算法与研究方向主要为对法线或曲率全局参数阈值法[8]、多判别参数综合阈值及自适应阈值等[9]。

点云边缘特征识别

点云边缘特征是重要的配准特征。现有的识别算法有增殖思想膨胀出边缘、重心偏移最远点阈值法、多判别参数混合方法等。主要利用了边缘点局部的特征:一侧分布密集点,另一侧无点。通过不同的敏感参数来达到识别边缘特征的目的。

本文利用待识别点的邻域点集Q分布特性,使用投影的方法将三维问题转化为二维的边界识别,同时借鉴二维图像学像素分布的思想,将象限细分为k个“像素”象限后定位各点的拓扑关系。利用边缘点连线存在较大夹角的特性对最大的无点分布的连续象限fi设置阈值f可识别边缘特征点。

基于PCL库的点云特征识别_第2张图片基于PCL库的点云特征识别_第3张图片

求取微切平面

以该采样点P及其搜索得到K个近邻点Mj(j=0,1,2,…,k-1)作为局部参考数据,用最小二乘法拟合出微切平面。设F(x,y,z)=a1x+a2y+a3z+a4=0,对于该微切平面的K+1个点,写成矩阵形式为:

基于PCL库的点云特征识别_第4张图片

本算法实现过程中以pi为坐标原点,邻域点集Q内距pi最远点方向为x轴,y轴垂直于x轴。微切平面P坐标系划分为N个象限,每个象限夹角为2π/N 。待识别点集最大连续的空白象限数大于f判定为边缘特征点。以及K邻域搜索参数K的取值对结果影响较大。本文使用NRK公司提供的试验件模型验证算法,模型点数为21572个。

下图为不同参数N、f、K的识别结果:

  

基于PCL库的点云特征识别_第5张图片

通过试验象限数N取36,f取7,近邻点个数K设置为分隔象限数的1.5倍能得到较好的识别效果。点云分布越均匀,点密度越大待识别点的k近邻点集越能反应该点近邻的实际分布情况,算法的效果越好,不容易出现漏判定或误判定的情况。

基于PCL库的点云特征识别_第6张图片

图11  内部尖锐特征粗提取流程图

 球极映射聚类精确提取特征

将待识别点的近邻点集所有点的法线量归一化后将法线的起点平移至单位球S2的球心上,法线的终点在单位球面上。不同位置的点的邻域点集Qi 法线在单位球上具有不同的分布规律:

  1. 对于在平面或曲率较小的光滑曲面上的一点,它的邻域为一个簇。

基于PCL库的点云特征识别_第7张图片

  1. 大曲率光滑曲面上的一点,他的邻域法线较散乱的分布在球面上,形成大量的簇。

基于PCL库的点云特征识别_第8张图片

  1. 曲面的交界上且法线不连续的点,因其不连续性以及法线估算的拟合误差,交界上的点会产生一个不同于相邻两面的簇,则其邻域聚类为三簇。

基于PCL库的点云特征识别_第9张图片

基于PCL库的点云特征识别_第10张图片

图16  内部尖锐特征识别流程图

本文算法在VS集成开发平台上了,用PCL库进行实现。最终算法识别的结果如下所示:

基于PCL库的点云特征识别_第11张图片

图18  内部尖锐特征识别结果

基于PCL库的点云特征识别_第12张图片

曲率筛选聚类算法

21572

296

1221

对于内部特征点的识别,首先使用曲率阈值法进行粗提取,从表中可以看出,算法识别的结果一致,使用曲率阈值粗体取后算法效率比直接使用高斯映射法提高了60%。点云结果从粗提取得到的1633点到最终精确提取后保留296个点。内部特征中存在部分特征点缺失的部分,但整体边界特征完整。最后使用随机抽样算法将结果点云特征线精简。得到的边缘特征及内部尖锐特征可用于下一步的点云于理论数模配准。

你可能感兴趣的:(基于PCL库的点云特征识别)