3D点云测量中的点云滤波*
2022-12-16周旭廷刘剑琴
周旭廷,刘剑琴
(安徽信息工程学院,安徽 芜湖 223400)
0 引言
3D 传感器技术日益成熟,已广泛应用于各行各业如汽车零部件的测量,3C 行业电脑背板的缝隙宽度、卡槽高度、平面度测量,以及轮毂行业的打磨等。目前3D传感器和机器人技术相结合,逐渐成为一大热门应用,将3D 传感器固定在机器人工具末端,通过机器人示教技术,能很好的采集到大件物体点云数据,同时,3D传感器可以有效的解决双目视觉中对光照环境敏感、缺乏纹理场景的特征提取、计算复杂度高的缺点。但是3D传感器在实际应用过程中,会伴随着电子元器件的温度升高、物体材质粗糙不均等问题,在数据获取过程中极容易形成孤立的噪点、离散点,给后续的点云特征拟合、尺寸测量造成极大的干扰[1,2],从而需要进行滤波去噪。
本文借助于开源的PCL 点云库进行点云处理的研究,PCL是大型跨平台的开源的C++编程库,实现了相关高效的算法和数据结构,可以支持Windows、Linux、Android等操作系统平台。
1 点云去噪
点云去噪,一般采用直通滤波、体素滤波、统计滤波、条件滤波、半径滤波等,不同的滤波方法,滤波效果也截然不同。
1.1 直通滤波
在工业应用中,通过3D 传感器采集点云数据时,往往会将大片的背景噪声带入到目标场景中造成干扰,需要去除背景。在2D图像中通过背景差分去除背景噪声,但是3D传感器获得的数据是无序的,离散的,不能够使用该方法,从而引入直通滤波。直通滤波,是指定坐标轴X,Y,Z 任一方向,指定坐标范围,进行裁剪,保留需要的点云部分。
1.2 统计滤波
直通滤波对大范围背景噪声的滤除有较好效果,但是对随机产生的离散噪声几乎没有作用,甚至可能会导致目标点云被误滤除,因此需要对点云的邻近点特征进行分析统计[3],删除不符合标准的点云,而统计滤波恰到好处,符合高斯分布特征。统计滤波,首先计算每个点到最近的K 个邻居点之间的平均距离μ,再计算一个标准差σ,距离阈值可以表示为式⑴:
其中,a是一个比例常数。
再次计算每个点到邻近点平均距离,若平均距离小于dthresh表明是内点,保留该点,否则为噪声点,舍弃该点。图1是带有噪声的点云图,发现在侧边即矩形框中有很多噪声,使用统计滤波后,侧边边缘的部分噪声被很好滤除,只剩下相对干净的点云,如图2所示。
图1 原始点云
图2 统计滤波结果图
1.3 半径滤波
统计滤波可以较好的去除离散点云,但是很多噪声并不是服从高斯分布,需要在统计滤波基础上进一步的滤波,则引进半径滤波[4]。半径滤波是以每个点一定半径范围为基准[8],使半径范围内至少有N 个近邻点,半径范围内达不到N 个点云,直接删除该点,否则保留该点。仿真发现,在统计滤波的凸出点云部分仍然有少量噪声,而加入半径滤波后,凸出点云部分的少量噪声被消除,如图3所示。
图3 半径滤波后图像
2 改进后滤波
通过上述滤波,可以将绝大多数的点云噪声消除,但是有的点云本身不属于噪声,需要在应用过程中去除,如图3半径滤波后的凸出部分点云,从而提出了一种根据点云形态特征滤波与法线相结合的方法。
2.1 形态滤波
根据点云的形态可以发现,点云数据是规则的矩形状,可以用一个包围盒子将其包含,然后获得点云的长度L和宽度W,使L分成N分段,使W分成M段,此时可以计算得到长度L每一段的距离,如式⑵:
宽度W每一段的距离,如式⑶:
最终,根据长度或者宽度的每一段距离内的点云数量来去除堆积的点云,即每一段距离内的点云数目达到一定阈值时,认为是目标点云,否则认为是干扰点云。图4 是形态特征滤波结果,可发现能够很好的将凸出的部分去除,但是会将与凸出部分连接在一起的目标点云滤除,即过度滤波,因此需要解决过滤波问题,从而引入法线。
图4 形态滤波结果图
2.2 法线滤波
法线,是描述物体的方向矢量,是一种几何平面特征,实际上就是转换为平面的拟合,而几何形状的拟合一般用到最小二乘法[5,6,12]。即采样点的邻域点集合,拟合局部平面估计点云法线表达为:
其中,n是拟合出平面的法向量,d是拟合的局部平面S到坐标原点的距离,k 是邻域点的个数,即i=1,2,....K。S 是个平面,平面法向量要满足‖n‖2=1,在此基础上建立采样点pi以及邻域点对应的协方差矩M:
只要计算协方差矩阵M 的最小特征值对应的特征向量,就能计算出处采样点的法线信息,从而滤除不需要的部分。pˉ是采样点pi的邻域质心。
由图5 法线图可以发现,单一的法线也不能够完全去除凸出部分点云,因此需要两者结合,才会达到既保留目标点云又能够去除不要测量的凸出点云。
图5 法线滤波图
2.3 法线与形态特征结合滤波
最终通过法线设定其方向,以及长度或者宽度的每一段距离内点云数量来滤波,从而较大的提升了去噪的能力,不仅使目标点云尽可能的保留,而且凸出的干扰部分点云也被尽可能去除。由图4 得出,只通过形态滤波会使目标点云被过滤掉,不能够保持点云整体完整性,由图5 得出,只通过法线滤波,不能够彻底滤除掉凸出的干扰点云,而形态与法线二者结合,可以使凸出的干扰点云被去除,且目标点云的细节部分不会被过分消除,很连贯的保持为一个整体,仿真结果如图6所示。
图6 形态与法线结合滤波结果图
形态与法线的结合处理噪声,虽然在处理时间上消耗较长,但是能够较精准的将非目标点云去除,具体如表1所示。
表1 滤波方法效率对比
去噪干净度计算如下:
其中,如果(去噪后的数据量-标准数据量)<0,则表示过滤波。
3 结束语
随着3D 传感器成本下降,相信3D 技术的应用将呈现爆发式的增长。本文介绍了3D 传感器在采集与应用过程中,不可避免的遇到噪声,这给后续的测量、检测、定位带来了极大困扰,因此引入直通滤波、统计滤波、半径滤波来处理噪声。介绍了不同滤波的理论,并在此基础上提出了基于点云形态特征与法线特征结合的滤波,通过实验仿真证明,点云形态特征与法线特征结合,虽然在处理时间上耗费较大,但是能够很好的保持目标点云形态。
形态滤波尽管速度快,去噪干净度也高达93.4%,却使目标点云被过滤除,不能够保持整体性,给测量带来不确定性;而法线滤波能够保持整体性,却不能够有效的去除连接在一起的非目标点云,去噪干净度只有81.7%,达不到测量应用的目的;而两者结合,尽管在时间上消耗较大,却能有效的滤除掉与目标点云连接的干扰噪声,去噪干净率达到97.2%,为后续更高级的应用提供了稳定数据的保障。