基于改进欧式聚类的堆叠纱筒点云分割方法

2021-09-29 04:40王明喆王鹏飞陈雨青
轻纺工业与技术 2021年9期
关键词:欧式子集预处理

赵 琴,王明喆,严 楠,王鹏飞,陈雨青,王 硕

(1.西安工程大学 机电工程学院,陕西 西安 710600;2.宁波职业技术学院,浙江 宁波 315800)

0 引言

筒子纱作为现代纺织行业中络筒工序的终端产品,是通过络筒机上纱线缠绕而形成的,表面为致密的纱线[1-2]。随着机器视觉技术的兴起,许多纺纱企业通过将3D 视觉与工业机器人相结合来代替人工,将料斗里的纱筒放到纱架的上纱过程[3]。点云聚类分割作为3D 视觉技术中较为关键的步骤,分割的结果将会直接影响视觉系统对料斗里纱筒识别定位及位置估计的准确性。

针对传统欧式聚类分割算法在处理堆叠纱筒点云数据分割过程中出现的过分割和欠分割等问题,本研究在纱筒点云数据预处理的基础上,剔除边缘接触点,将其转换为分散点云,再基于欧式聚类算法进行聚类分析,补齐边缘点云信息,保证堆叠纱筒点云的完整性。

1 纱筒点云获取及预处理

3D 点云数据可以不受光照强度的限制,点云具有的深度信息可以更加真实准确地表达纱筒的几何形状,且点云数据可提供纱筒目标更为全面的6DOF 位置信息。本研究以Kinect V2 传感器获取的原始纱筒点云如图1(a)所示。

图1 纱筒点云数据

由图1(a)可知,多个纱筒随机散放在盒体中,纱筒处于堆叠状态,此外场景中还存在工作台、盒体等无关点云数据。为了有效提取堆叠的纱筒信息,研究通过直通滤波、拟合平面、统计滤波及降采样等点云进行预处理算法,结果如图1(b)所示,消除了盒体及工作台的干扰,堆叠纱筒目标特征明显。

2 纱筒点云分割

由图1(b)可知,经过预处理算法后的纱筒点云数据为一个整体,多个纱筒点云间存在堆叠的现象,点云无任何分布特征。为了将堆叠纱筒点云划分为若干个独立的点云子集,实现对单个纱筒点云的数据处理,本研究采用基于欧式距离的聚类算法对堆叠纱筒点云进行分割。

2.1 基于欧式聚类的分割算法

欧式聚类的本质是通过区分点的邻里关系的远近,以近邻点之间的距离为评判标准,从而实现点云的聚类分割的一种算法,其分割流程如下。

第一步,对于预处理后的点云集P,先确定一个查询点Pi,设定阈值r=0.2,通过KD-Tree 近邻搜索找到点云数据中k 个Pi点的近邻点Pi(j=1,2,L,k)。

第二步,计算近邻点Pi到查询点Pi间的欧式距离d。

第三步,将距离小于阈值的点划到类M 中,直至类M 中的点数不再增加时,则分割完成。

传统欧氏聚类算法对单独的纱筒点云具有较好的分割效果,而对堆叠在一起的纱筒目标,则会产生过分割和欠分割。

2.2 改进欧式聚类的点云分割算法

2.2.1 基于法线夹角的边缘点去除方法

第一步,建立纱筒目标点云集P 的KD-Tree。

第二步,构建一个纱筒点云模板,设定其邻域内法向夹角均值的阈值∂th,并确定其邻域半径r。

第三步,对点云集P 中的任意点Pi,计算其近邻点的法线夹角的均值∂Pi,若满足∂Pi>∂th,则定义该点为边缘点,反之则为非边缘点。

第四步,剔除边缘点。

去除边缘点后的纱筒点云集已经不存在目标间粘连的情况,将其视为分散状态下的多个纱筒点云,采用基于欧式聚类的方法对其进行点云分割处理。

2.2.2 边缘点补齐

经过去边缘点的分割后,点云集P 被聚类为多个不同的子集,每个子集代表一个独立的纱筒目标,但纱筒目标都存在边缘信息缺失的问题,因此要将分割前剔除的边缘点再补齐各纱筒点云子集中。算法流程如下。

第一步,构建每个子集Ppart-j的KD-Tree,并设定其最近邻点距离阈值∂th。

第二步,计算边缘点到子集Ppart-j中最邻近点的欧氏距离di,若di<∂th,则将该点归类到子集Ppart-j中。

第三步,重复第二步,直至遍历所有边缘点,并将其补齐到对应的子集Ppart-j中。

3 实验分析

为验证本算法的有效性和可靠性,以塔形和圆柱形两种不同规格的纱筒为实验对象,采用微软的Kinect V2 视觉传感器获取实验纱筒点云数据,Intel i5-4210H CPU8G 内存配置的PC 作为实验平台,工具软件为Matlab R2020a。采用传统欧式聚类分割算法和改进算法对两种纱筒进行处理。

3.1 塔型纱筒实验

将9 个塔型纱筒随机堆叠摆放,原始点云进行预处理的点云数据为6020 个,本算法对其进行分割,结果如图2 所示。本方法的分割结果能够保持纱筒较好的轮廓,对单独纱筒和堆叠纱筒均具有较好的分割结果,统计为9 个目标。

图2 塔形纱筒点云分割

3.2 圆柱纱筒实验

圆柱形纱筒形状较塔形纱筒的边缘存在凸起,将9 个圆柱形纱筒随机摆放,原始点云进行预处理后,由于圆柱形纱筒的表面较为复杂,故预处理后的点云数据为6787 个,本算法对其进行分割,结果如图3 所示。本方法在堆叠和端部位置的分割具有较好的效果,分割后的统计结果为9 个。

图3 圆柱形纱筒点云分割

由图2~3 可知,在不同形状的纱筒单独存在时,本方法与传统算法均具有较好的分割效果。在存在堆叠等复杂情况的分割中,传统算法存在一定误分割现象,本算法通过算法的改进,剔除了伪边缘,修补了边缘点信息,提高了分割的精度。分割后的点云能够较好地反映真实纱筒目标,且目标间的边界更为清晰。

4 结语

在欧式聚类分割的基础上,提出了一种改进欧式聚类对堆叠纱筒点云的分割方法。利用纱筒点云间法向量夹角剔除接触边缘点,将堆叠纱筒点云处理为分散点云,再构建欧式聚类算法对分散点云进行分割,补齐边缘点信息,有效解决了过分割、欠分割等问题。通过对两组不同形状的纱筒进行分割实验,结果表明本算法对堆叠目标的分割效果较好,分割结果真实反映了纱筒的个数及边缘信息,且具有较好的鲁棒性。

猜你喜欢
欧式子集预处理
KR预处理工艺参数对脱硫剂分散行为的影响
求解奇异线性系统的右预处理MINRES 方法
魅力无限的子集与真子集
拓扑空间中紧致子集的性质研究
简约欧式9.4.4全景声影院 湖北恩施红星美凯龙
欧式花边的中西宫廷时尚表现
污泥预处理及其在硅酸盐制品中的运用
关于奇数阶二元子集的分离序列
欧式城堡——木炭与色彩的碰撞
基于预处理MUSIC算法的分布式阵列DOA估计