本发明涉及计算机视觉处理,更具体地说,涉及一种面向堆叠零件的点云分割方法。
背景技术:
1、随着当下工业技术和机器人技术的不断发展,基于机器视觉的自动抓取和装配在生产制造、搬运码垛以及智能物流等领域中起到越来越重要的作用。以往的流水线抓取作业中工业机器人往往采用示教编程或者离线编程的方式,按照预先设定的轨迹工作,需要严格设定待抓取零件的摆放位置和角度,智能化程度低、灵活性差,如何使机器感知并理解复杂的真实场景一直以来是先进制造和智能生产领域的研究重点,涌现出一批诸如点云识别、姿态估计、点云分割、点云配准、三维重建等方面的研究。
2、其中,点云实例分割是一项兼具目标检测和语义分割的高级计算机视觉任务,不仅需要对每个点给出类别标签,还需要区分出属于同一类别的不同实例,典型的应用场景就是从工件整体中分割出单个待抓取的目标为后续分拣提供目标数据。但实际中不论是语义上区分还是实例间的分离都存在不小的挑战,无序零件存在种类上混杂、难以从金属颜色进行区分、不同型号规格零件外观相近等问题,堆叠零件存在位姿上粘连、遮挡、相互嵌套等问题,点云的实例分割是机器视觉作业中的技术难点之一。
3、现有的实例分割主要有基于提议、基于聚类和基于动态卷积三种实现方法。其中基于提议是一种自上而下的思想,首先生成3d边界框,再在每个边界框内部分割前景区域形成实例。其质量严重依赖于边界框的预测结果,性能不够稳定。基于聚类的方法则是自下而上产生逐点的语义、偏移或其他潜在特征,相似特征的点聚类形成实例。这种方法的局限性在于其对语义和偏移预测的判断阈值非常敏感,在工件堆叠的实际实践中容易走向相邻工件无法分离或零件在遮挡情况下出现过分割两个极端。基于动态卷积的方法生成卷积核与点特征进行卷积对实例掩码进行编码再解码,点特征的质量和实例核的选取很大程度上决定掩码质量,复杂环境下卷积和迭代的开销较大。
技术实现思路
1、本发明的目的在于克服现有技术中的缺点与不足,提供一种面向堆叠零件的点云分割方法,该点云分割方法可实现对复杂场景的零件进行稳定、高效识别分割;同时,该方法在零件种类混杂、彼此遮挡的复杂作业环境中可提高零件的识别和分割准确度。
2、为了达到上述目的,本发明通过下述技术方案予以实现:一种面向堆叠零件的点云分割方法,其特征在于:包括以下步骤:
3、s1、采集堆叠零件整个场景的深度信息,构建原始点云数据;对原始点云数据进行分离、降采样、裁剪、滤波预处理,获取待分割的堆叠零件点云数据;
4、s2、把待分割的堆叠零件点云数据的坐标信息输入特征提取主干网络,得到逐个点云特征;
5、s3、把逐点特征输入语义分数预测分支和几何偏移预测分支;从语义分数上对逐个点云特征进行软分组,然后几何偏移预测分支根据逐个点云特征偏移量把逐个点云特征移动到其实例中心附近,生成候选块;其中,两个点级别的损失函数分别对语义预测分支和几何偏移分支进行监督;
6、s4、遍历所有的候选块,基于边缘检测注意的采样结果来生成实例核,mlp结构结合轻量级的几何放射模块获取实例级特征,采样结果拼接实例级特征并与实例核进行动态卷积生成二进制的实例掩码,计算实例掩码置信度lmask以衡量当前输出的掩码表征实例的可信程度;
7、s5、经过点聚合层细化实例边界,预测用于监督的实例掩码级别的语义分数lclass和准确度分数lscore;实例掩码点坐标由实例掩码得分排序后通过nms算法去除重复结果得到,实例掩码点坐标融合语义标签,输出最终实例分割结果。
8、步骤s1包括以下步骤:
9、步骤s11:采集堆叠零件整个场景的深度信息,构建原始点云数据;场景的深度信息包括背景信息;通过直通滤波滤除非感兴趣区域的点云数据,对原始点云数据进行分离;
10、步骤s12:降采样采用的是均匀体素滤波,用栅格的重心坐标代替整个体素下分离后的点云数据的点,在减少数据密度的情况下保持点云数据形状细节;
11、步骤s13:选取随机采样一致性算法对背景信息中的平面信息和框架信息进行拟合,多次迭代结合法向量把平台信息和框架信息从点云数据中剔除;
12、步骤s14:采用统计滤波,分析距离零件主体点云数据较远的、孤立的和稀疏的离群点,并去除,得到待分割的堆叠零件点云数据。
13、步骤s2包括以下步骤:
14、步骤s21:将待分割的堆叠零件点云数据均匀映射在栅格进行体素化,输入特征提取网络;
15、步骤s22:从输出的骨干特征中,应用反向插值实现上采样,进行体素化的反映射获取逐个点云特征;
16、步骤s23:使用全连接网络将蕴含多尺度和丰富上下文信息的点云特征沿通道维度进行拼接,得到最终编码的点云特征fp;fp∈rn×d,其中n是点云点数,d是输出通道的维度。
17、步骤s3包括以下步骤:
18、步骤s31:把最终编码的点云特征输入构建的语义预测分支,获取语义分数ssem,并对点云特征进行软分组;
19、步骤s32:把最终编码的点云特征输入构建的几何偏移预测分支,得到预测的几何质心和逐个点云特征到其所属实例中心的偏移量,根据逐个点云特征偏移量把点移动到其实例中心附近,生成候选块;
20、步骤s33:构建监督语义预测的损失函数和监督几何偏移预测的损失函数,并分别对语义预测分支和几何偏移分支进行监督。
21、步骤s31中,把最终编码的点云特征输入构建的语义预测分支,获取语义分数ssem,并对点云特征进行软分组是指:
22、语义预测分支由双层mlp结构、norm层和relu层组成,最终编码的点云特征依次通过norm层和relu层进行归一化和激活,最后得到大小为n×c的语义分数ssem;
23、设定两个概率阈值τgroup和τback,对语义分数ssem的语义概率psem={p1,...,pn}∈(0,1)n×c遍历n个点,首先把类别中的最大概率与阈值τback比较,小于阈值τback的则认为该点属于背景点,直接去除;所有c个类别的概率与阈值τgroup进行比较,按照与阈值τgroup的比较结果进行语义组分类;软分组的结果就是c个待细化分割的语义组。
24、步骤s32中,把最终编码的点云特征输入构建的几何偏移预测分支,得到预测的几何质心和逐个点云特征到其所属实例中心的偏移量,根据逐个点云特征偏移量把点移动到其实例中心附近,生成候选块是指:
25、几何偏移预测分支由双层mlp结构、norm层和relu层组成;
26、对相对于质心的偏移量进行预测:
27、
28、表示点云中某点i到其所属实例的几何中心的偏移量;通过把点i的原始坐标pi(xi,yi,zi)与偏移量相加,得到点在偏移空间下的坐标并生成候选块;其中,点在偏移空间下的坐标为:
29、
30、步骤s4包括以下步骤:
31、步骤s41:遍历所有候选块,定义特征相关性度量h(pi,pij),表示候选块bi中点pi与其领域内第j个相邻点pij之间的相关程度,把归一化的相关图直接用作注意力图,再对于每个归一化相关图计算标准差σi;通过采样候选块内标准差σi高于阈值的点作为最能代表实例的点,并通过一个单层mlp结构预测得到实例核wi;
32、步骤s42:在mlp结构上添加几何放射模块,mlp结构结合几何仿射模块从采样结果中得到实例级特征;
33、步骤s43:把采样结果内各点的相对位置和实例级特征进行拼接,使用生成的实例卷积核进行动态卷积,经过sigmod函数,生成二进制的实例掩码;
34、步骤s44:计算二元交叉熵损失掩码置信度lmask以衡量当前输出的掩码表征实例的可信程度。
35、在步骤s41中,遍历所有候选块,定义特征相关性度量h(pi,pij),表示候选块bi中点pi与其领域内第j个相邻点pij之间的相关程度,把归一化的相关图直接用作注意力图,再对于每个归一化相关图计算标准差σi;通过采样候选块内标准差σi高于阈值的点作为最能代表实例的点,并通过一个单层mlp结构预测实例核wi是指:
36、遍历所有候选块,定义特征相关性度量h(pi,pij),表示候选块bi中点pi与其领域内第j个相邻点pij之间的相关程度,向量mi为中心点与其相邻点之间的归一化相关映射,定义为:
37、mi=softmax[h(pi,pij)];
38、把归一化相关图用作注意力图:
39、h(pi,pij)=q(pi)tk(pij-pi);
40、其中,q和k分别表示应用在查询输入和关键输入上的线性层;将中心点pi的特征作为查询输入,将邻居点和中心点的特征差pij-pi作为关键输入;将特征维度计数用作缩放因子;最终的归一化相关图mi定义如下:
41、
42、计算mi的标准差σi;通过采样候选块内σi高于阈值τedge的点作为最能代表实例的点;通过一个单层mlp结构预测得到实例核wi。
43、在步骤s42中,在mlp结构上添加几何放射模块,mlp结构结合几何仿射模块从采样结果中得到实例级特征是指:
44、设置与候选块bi采样结果的原始特征的残差连接,其中,是候选块bi的总点数,是候选块bi的采样结果si中的总点数,d是特征维度;
45、对采样结果si提取实例级别的特征mlp结构结构的操作表示如下:
46、
47、首先通过k邻近算法选择临近点对采样结果si划分成个局部区域,k取24,组的数量向下取整;点j是局部区域组l中任一点,是一个d+3维的特征向量;使用构建的几何仿射模块,对点j进行变换得到(fl,j)∈rk×(d+3),仿射变换的定义为:
48、
49、其中α∈rd和β∈rd是可学习的变量,⊙是点积;∈取一个较小的值1e-5,σ是一个标量,用于描述所有局部区域和通道之间的特征偏差:
50、
51、输入预测网络φpre从局部区域学习共享权重,然后经过一个最大池化,输入用于提取深度聚合特征的网络φfea;通过堆叠四次对局部区域的特征提取网络,逐步扩大接受域,建立完整的点云几何信息模型,得到实例级特征特征聚合网络φfea和局部预测网络φpre均由多层感知机结合残差连接实现,表示为mlp(x)+x,mlp(x)的输入经过一个全连接层后与残差进行非线性连接,对连接后的结果进行归一化和relu函数激活。
52、步骤s5包括以下步骤:
53、步骤s51:对生成二进制的实例掩码经过两个点聚合层进行半径不同的球面搜索,聚合边界点;
54、步骤s52:预测用于监督的掩码级别的语义分数lclass和准确度分数lscore;在生成二进制的实例掩码的基础上对边界点进行动态增删实现细化;
55、步骤s53:过滤掉实例中点数不满足阈值的掩码结果,然后由语义类别分数和准确度得分乘积的平方根得到掩码总得分,并从高到低进行排序,运用nms算法筛选出最具代表性的掩码作为实例掩码点坐标,并去除冗余的检测结果;
56、步骤s54:候选块下的掩码直接继承父块的分数最高的语义标签,语义标签融合实例掩码点坐标,输出最终实例分割结果。
57、本发明方法是基于边缘采样进行动态卷积,结合自上而下和自下而上两种点云处理策略的优势相互补充。首先基于语义分数和相对质心的偏移划分区块,软分组实现对语义判断误差的修正;引入基于边缘注意的采样生成更具判别性的实例核,并改进了实例特征提取方式;两个点聚合层对候选掩码进行后处理,迭代调整实例间的分界点计算得分用来监督,提高实例分割准确度。
58、与现有技术相比,本发明具有如下优点与有益效果:
59、1、本发明面向堆叠零件的点云分割方法可实现对复杂场景的零件进行稳定、高效识别分割;同时,该方法在零件种类混杂、彼此遮挡的复杂作业环境中可提高零件的识别和分割准确度。
60、2、本发明面向堆叠零件的点云分割方法,与基于提议和基于聚类的实例分割方法相比,结合了自上而下和自下而上两种点云处理策略的优势相互补充,避免提议的边界框预测结果不稳定、聚类的语义和偏移阈值难以界定等问题,面向零件相互遮挡、粘连、种类混杂的实际工业场景提供了一种更加稳定、高效的分割方法。同时在掩码生成的前后分别加入基于语义和偏移的初步分块和基于点聚合的掩码细化,提升了复杂场景下识别和分割的准确度。
61、3、本发明中特征提取网络加入transformer模块,通过一个位置嵌入层把各点的位置信息编码成方向向量的平均值,改善了3d稀疏卷积有限接受域和表示野的限制,同时丰富几何信息对于后续实例编码是有益的。
62、4、本发明结合对逐点语义分数和几何偏移的预测实施软分组策略,为后续掩码生成初步划定范围,降低卷积和计算开销,保障了工业下检测的实时性要求。同时软分组的策略允许一个点同时存在于多个语义组,避免聚类引起的语义冲突,纠正潜在的语义预测误差,在遮挡场景中优势明显。
63、5、本发明设计的动态卷积网络把2d图像中的像素特征推广到3d点云,引入基于边缘注意的采样取代最远点采样,获取更具判别性的实例核;并改进了动态卷积方法中对于特征的提取方式。与以往独立设置小型深度网络的方法相比,本发明使用mlp结构结合一个轻型的几何仿射模块,降低了训练成本,稳定性更好。
64、6、本发明使用两个点聚合层对候选掩码进行后处理,在候选块的基础上对边界点进行动态增删实现细化,迭代地预测掩码级别的语义分数和置信度用于监督,在零件种类混杂、彼此遮挡的复杂作业环境中很好地提高了识别和分割的准确程度。
1.一种面向堆叠零件的点云分割方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的面向堆叠零件的点云分割方法,其特征在于:步骤s1包括以下步骤:
3.根据权利要求1所述的面向堆叠零件的点云分割方法,其特征在于:步骤s2包括以下步骤:
4.根据权利要求1所述的面向堆叠零件的点云分割方法,其特征在于:步骤s3包括以下步骤:
5.根据权利要求4所述的面向堆叠零件的点云分割方法,其特征在于:步骤s31中,把最终编码的点云特征输入构建的语义预测分支,获取语义分数ssem,并对点云特征进行软分组是指:
6.根据权利要求4所述的面向堆叠零件的点云分割方法,其特征在于:步骤s32中,把最终编码的点云特征输入构建的几何偏移预测分支,得到预测的几何质心和逐个点云特征到其所属实例中心的偏移量,根据逐个点云特征偏移量把点移动到其实例中心附近,生成候选块是指:
7.根据权利要求1所述的面向堆叠零件的点云分割方法,其特征在于:步骤s4包括以下步骤:
8.根据权利要求7所述的面向堆叠零件的点云分割方法,其特征在于:在步骤s41中,遍历所有候选块,定义特征相关性度量h(pi,pij),表示候选块bi中点pi与其领域内第j个相邻点pij之间的相关程度,把归一化的相关图直接用作注意力图,再对于每个归一化相关图计算标准差σi;通过采样候选块内标准差σi高于阈值的点作为最能代表实例的点,并通过一个单层mlp结构预测实例核wi是指:
9.根据权利要求7所述的面向堆叠零件的点云分割方法,其特征在于:在步骤s42中,在mlp结构上添加几何放射模块,mlp结构结合几何仿射模块从采样结果中得到实例级特征是指:
10.根据权利要求1所述的面向堆叠零件的点云分割方法,其特征在于:步骤s5包括以下步骤:
