掌桥专利:专业的专利平台
掌桥专利
首页

一种工业零件位姿估计方法及系统

文献发布时间:2023-06-19 11:52:33


一种工业零件位姿估计方法及系统

技术领域

本发明涉及计算机视觉技术领域,尤其涉及一种工业零件位姿估计方法及系统。

背景技术

随着计算机视觉和深度学习技术的不断发展,利用三维信息为工业领域场景下的实际应用服务成为了可能。区别于传统的二维图像表示方法,由三维传感器扫描拍摄到的点云数据为现实生活中的三维物体提供了更加丰富的特征信息。以三维点云数据为载体的特征信息可以为零件拣取、零件组装、零件分类、零件位姿估计等工业场景下的应用提供了更加全面、真实的数据依据。

目前,传统图像方法和深度学习技术中,普遍采用的利用二维图像对工业零件进行位姿估计的方法中,通常利用模板匹配来实现,即直接利用手工提取的局部特征来进行模板检索与匹配,通过计算匹配到的模板与图片之间的变换获得位姿的估计。然而,由于三维扫描技术目前的局限性,三维设备捕获到的点云通常是对零件局部表面的描述,扫描到的点云结构并不完整。

另外,现有的传统算法直接对扫描到的不完整点云表面计算几何特征,并以此为依据与完整的零件模型进行匹配,增加了对应特征点相似度计算的难度,从而难以完成对零件的位姿估计。

发明内容

针对现有技术存在的位姿估计不精确的缺陷,本发明实施例提供一种工业零件位姿估计方法及系统,以提高工业零件位姿估计的效果和精度。

本发明提供一种工业零件位姿估计方法,包括:获取待测零件的零件点云;基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果;根据所述零件分类结果确定目标零件模板;利用所述目标零件模板对所述零件点云进行匹配,以获取待检测零件的位姿信息。

根据本发明提供的一种工业零件位姿估计方法,获取待测零件的零件点云,包括:对在工业零件摆放场景下采集的原始点云进行滤波处理,获取场景点云;对所述场景点云进行点云分离处理,以获取仅包含待测零件的所述零件点云。

根据本发明提供的一种工业零件位姿估计方法,对工业零件摆放场景的场景点云进行点云分离处理,以获取仅包含待测零件的所述零件点云,包括:根据所述场景点云中所有点之间的欧式距离,对所述场景点云进行分割处理,确定所有的单位点云簇;根据每个所述单位点云簇的点云数量,对所述点云簇进行筛选处理,获取零件点云簇;对所述零件点云簇进行随机下采样处理,获取所述零件点云。

根据本发明提供的一种工业零件位姿估计方法,所述基于预设距离阈值,根据所述场景点云中所有点之间的欧式距离,对所述场景点云进行分割处理,确定所有的单位点云簇;包括:

步骤1,随机确定所述场景点云中的一个目标点;

步骤2,基于近邻搜索法,获取所述目标点的所有近邻点,以构建所述目标点的初始近邻集合;所述近邻点为所述场景点云中与所述目标点之间的欧氏距离小于预设阈值的点;

步骤3,基于近邻搜索法,确定所述初始近邻集合中任一近邻点的所有近邻点,以构建所述任一近邻点的近邻集合;所述任一近邻点的近邻集合包括所述初始近邻集合中的所有点以及所述初始近邻集合中每个点的所有近邻点;

步骤4,以所述任一近邻点的近邻集合作为新的初始近邻集合,并迭代执行步骤3,获取新的近邻集合,直至所述新的近邻集合中的点不再增加;

步骤5,根据所述新的近邻集合,确定目标点云簇,所述目标点云簇包括所述目标点以及所述新的近邻集合中的点;

步骤6,从所述场景点云中随机选择不属于所述目标点云簇的任一点作为新的目标点,迭代执行步骤2至步骤5,直至完成对所述场景点云中所有点云的分割,并将每个所述目标点云簇作为一个单位点云簇。

根据本发明提供的一种工业零件位姿估计方法,基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果,包括:基于所述零件姿态分类模型,对所述零件点云进行特征提取处理,获取点云邻域信息;所述零件姿态分类模型是基于动态图卷积神经网络构建的;将所述点云邻域信息进行拼接处理,通过最大池化操作,获取所述零件点云的全局特征;对所述全局特征进行分类处理,获取所述零件分类结果。

根据本发明提供的一种工业零件位姿估计方法,根据所述零件点云和所述零件分类结果确定目标零件模板,包括:根据所述零件分类结果,从CAD零件模型点云库中确定与所述零件点云对应的CAD模型点云,作为所述目标零件模板。

根据本发明提供的一种工业零件位姿估计方法,利用所述目标零件模板对所述零件点云进行匹配,以获取待检测零件的位姿信息,包括:分别对与所述目标零件模板对应的零件点云以及CAD模型点云进行关键点提取处理,获取关键点;所述关键点包括零件点云关键点和CAD模型点云关键点;获取所述关键点的局部描述子;利用所述局部描述子对所述关键点进行一致性评估,以获取所述零件点云关键点和所述CAD模型点云关键点之间的对应关系,并根据所述对应关系确定关键点对;基于随机抽样一致法,对所述关键点对进行校正处理,并根据校正结果构建初步位姿变换矩阵;利用所述初步位姿变换矩阵对所述零件点云关键点进行变换,获取初始位姿变换的零件点云关键点;基于最近点迭代法,对所述初始位姿变换的零件点云关键点与所述CAD模型云关键点进行匹配处理,获取精配准位姿变换矩阵;基于所述初步位姿变换矩阵与所述精配准位姿变换矩阵,确定目标变换矩阵,以获取待检测零件的位姿信息。

本发明还提供一种工业零件位姿估计系统,包括:

获取单元,用于获取待测零件的零件点云;

分类单元,基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果;

确定单元,用于根据所述零件点云和所述零件分类结果确定目标零件模板;

匹配单元,用于利用所述目标零件模板对所述零件点云进行匹配,以获取待检测零件的位姿信息。

本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种工业零件位姿估计方法的步骤。

本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种工业零件位姿估计方法的步骤。

本发明提供的工业零件位姿估计方法及系统,根据对待测零件的点云进行分类和模板匹配,进而确定待测零件的位姿信息,提高了工业零件位姿估计的效率和准确性,为工业场景中零件位姿偏移位置与角度的判断提供了支持,解决了工业场景中利用机械臂等装置进行零件抓取的位姿估计问题。

附图说明

为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明提供的工业零件位姿估计方法的流程示意图;

图2是本发明提供的工业零件位姿估计系统的结构示意图;

图3是本发明提供的电子设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

现阶段基于三维点云的位姿估计技术还不太完善,目前仍缺乏一个从场景点云出发直接获得场景里所有待检零件类别和位姿的高效方法。现有方法仅使用了深度学习来实现这一流程,在实现位姿估计时会与实际位姿产生较大的偏差,因此难以达到工业场景下的理想效果。

下面结合图1至图3描述本发明实施例所提供的工业零件位姿估计方法和系统。

图1是本发明提供的工业零件位姿估计方法的流程示意图,如图1所示,主要包括但不限于以下步骤:

S1,获取待测零件的零件点云;

S2,基于零件姿态分类模型,对零件点云进行分类处理,获取零件分类结果;

S3,根据零件分类结果确定目标零件模板;

S4,利用目标零件模板对零件点云进行匹配,以获取待检测零件的位姿信息。

首先,零件点云可以是在工业场景中采集的,也可以调用已采集的零件点云。根据工业场景复杂的环境,在采集取工业零件数据时,可以在需要采集点云的工业场景的顶部正上方或侧方,也可以根据实际需求设置,以获取待检测零件的零件点云。

采集零件点云的设备可以是结构光相机、三维(Three Dimensional,3D)深度相机等三维传感器。

作为一个可选地实施例,在步骤S1中,通过深度相机标定获取内参,将采集的零件深度图转化为三维点云图。根据点云聚类特征,通过随机抽样一致算法(Random sampleconsensus,RANSAC)对三维点云图进行从分割处理,将零件点云与背景点云分割开,以去除背景点云,获取待测零件的零件点云。

进一步地,在步骤S2中,基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果。

其中,零件姿态分类模型可以是经过训练的点云深度学习网络模型(Point Net)神经网络模型,零件姿态分类模型通过拼接,把零件点云局部和全局的特征捆绑在一起,利用多层感知机进行融合,最后利用分类器实现零件点云逐点的分类,进而获取零件点云的分类结果。

可选地,在输入零件姿态分类模型之前,可以对零件点云做零均值的归一化处理,以保证较好的分类效果。

进一步地,在步骤S3中,根据零件分类结果确定目标零件模板。

其中,目标零件模板可以是零件模板库中存储的计算机辅助设计(ComputerAided Design,CAD)模板,也可以是点云库(Point Cloud Library,PCL)中储存的零件点云模板。

进一步地,在步骤S4中,利用零件点云和目标零件模板的关键点,对于零件点云与零件模板进行匹配和校准,获取待检测零件的位姿信息。

本发明提供的工业零件位姿估计方法,根据对待测零件的点云进行分类和模板匹配,进而确定待测零件的位姿信息,提高了工业零件位姿估计的效率和准确性,为工业场景中零件位姿偏移位置与角度的判断提供了支持,解决了工业场景中利用机械臂等装置进行零件抓取的位姿估计问题。

基于上述实施例的内容,作为一种可选实施例,获取待测零件的零件点云,包括:

对在工业零件摆放场景下采集的原始点云进行滤波处理,获取场景点云;

对场景点云进行点云分离处理,以获取仅包含待测零件的所述零件点云。

在工业零件摆放场景下可以使用结构光相机、3D相机等三维传感器对零件形态进行采集,获取处于工业零件摆放场景下待测零件的原始点云。

可以使用直通滤波器和统计滤波器,对原始点云数据进行滤波处理,去除原始点云中的噪声点。其中,直通滤波器可以将指定方向上限定范围之外的点滤除,即在背景与前景有一定距离的情况下,可以通过该方法去除背景;统计滤波器可以去除离群点和噪声点,以便更好地对工业零件点云进行分离。

可以通过欧几里得算法,对场景点云进行分割处理,获取仅包含待测零件的所述零件点云,在场景点云中分离出零件点云,可以作为零件姿态分类模型的输入,以获取更好的分类效果。

本实施例通过对采集的原始点云进行滤波预处理,将零件点云从场景点云中分离出来,以获取仅包含待测零件的零件点云,为后续获取零件姿态分类模型提供必要基础,提高了零件位姿的识别的准确性。

基于上述实施例的内容,作为一种可选实施例,对工业零件摆放场景的场景点云进行点云分离处理,以获取仅包含待测零件的所述零件点云,包括:

根据场景点云中所有点之间的欧式距离,对场景点云进行分割处理,确定所有的单位点云簇;

根据每个单位点云簇的点云数量,对点云簇进行筛选处理,获取零件点云簇;

对零件点云簇进行随机下采样处理,获取零件点云。

作为一种可选实施例,首先,计算场景点云中所有点之间的欧式距离,将欧式距离大于预设距离的点云分割开,欧式距离小于预设距离的点云形成的集合,作为一个单位点云簇,以获取多个单位点云簇。

其次,对多个单位点云簇进行筛选,获取零件点云簇。其中,将簇中点的数目设定阈值[n

将分割并筛选后的零件点云簇统一进行随机下采样处理,获取零件点云,随机下采样处理后的每一个零件点云簇中点的数目保持一致,便于进行后续的分类与匹配操作。

本实施例通过将零件点云从场景点云中分割出来,并进行归一化处理,便于后续零件姿态分类模型的处理,提高了零件位姿的识别的准确性,也使得本发明提供的工业零件位姿估计方法能适应不同大小的点云图像。

基于上述实施例的内容,作为一种可选实施例,所述基于预设距离阈值,根据所述场景点云中所有点之间的欧式距离,对所述场景点云进行分割处理,确定所有的单位点云簇;包括:

步骤1,随机确定场景点云中的一个目标点;

步骤2,基于近邻搜索法,获取目标点的所有近邻点,以构建目标点的初始近邻集合;近邻点为场景点云中与目标点之间的欧氏距离小于预设阈值的点;

步骤3,基于近邻搜索法,确定初始近邻集合中任一近邻点的所有近邻点,以构建任一近邻点的近邻集合;任一近邻点的近邻集合包括初始近邻集合中的所有点以及初始近邻集合中每个点的所有近邻点;

步骤4,以任一近邻点的近邻集合作为新的初始近邻集合,并迭代执行步骤3,获取新的近邻集合,直至新的近邻集合中的点不再增加;

步骤5,根据新的近邻集合,确定目标点云簇,目标点云簇包括目标点以及新的近邻集合中的点;

步骤6,从场景点云中随机选择不属于目标点云簇的任一点作为新的目标点,迭代执行步骤2至步骤5,直至完成对场景点云中所有点云的分割,并将每个目标点云簇作为一个单位点云簇。

作为一个可选的实施例,依据点云中点与点之间的欧式距离,在场景点云中随机确定一个目标点为中心,将小于距离阈值的点云聚为一个簇。该方法的具体步骤如下所示。

由于初始情况下,点云中的每个点都不属于任何一个簇。点云中如果两个点的欧式距离小于给定阈值,则认为这两个互为近邻,其中一个点便是另一点的近邻点。

首先,在步骤1中,随机确定场景点云中不属于任何一个簇的点云中的目标P。

进一步地,在步骤2中,基于最近邻搜索算法(K-dimension tree,KD tree)找到目标点P的所有的近邻点,将其中不属于任何其他的簇的点,构成近邻集合;近邻点为场景点云中与目标点之间的欧氏距离小于预设阈值的点;预设阈值的设置可根据点云密度或者是实际要求灵活设置。

进一步地,在步骤3中,通过KD tree算法找到近邻集合中的每个点的近邻点,将不属于任何其他簇的近邻加入近邻集合,以构建任一近邻点的近邻集合;任一近邻点的近邻集合包括初始近邻集合中的所有点以及初始近邻集合中每个点的所有近邻点。

进一步地,在步骤4中,以任一近邻点的近邻集合作为新的初始近邻集合,并迭代执行步骤3,获取新的近邻集合,直至新的近邻集合中的点不再增加。

进一步地,在步骤5中,将目标点P以及所有的近邻集合中的点作为一个目标点云簇。

进一步地,在步骤6中,从场景点云中随机选择不属于目标点云簇的任一点作为新的目标点,迭代执行步骤2至步骤5,直至完成对场景点云中所有点云的分割,并将每个目标点云簇作为一个单位点云簇。至此,所有点都属于某个簇,聚类过程结束。

本实施例通过近邻搜索法,将场景点云分割成单位点云簇,便于对零件点云的筛选和分割,而近邻搜索算法计算精度高,不受异常值影响,适用于工业领域零件精细的位姿估计。

基于上述实施例的内容,作为一种可选实施例,基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果,包括:

基于所述零件姿态分类模型,对所述零件点云进行特征提取处理,获取点云邻域信息;所述零件姿态分类模型是基于动态图卷积神经网络构建的;

将所述点云邻域信息进行拼接处理,通过最大池化操作,获取所述零件点云的全局特征;

对所述全局特征进行分类处理,获取所述零件分类结果。

零件分类结果包括零件种类和零件的型号。

其中,零件姿态分类模型可以基于动态图卷积神经网络(Dynamic GraphConvolution Neural Network,DGCNN)的构建,也可以基于Point Net等具有三维点云分类功能的神经网络模型构建,在本发明后续实施例中均以DGCNN为例进行说明,其不视为对本发明保护范围的限定。由于DGCNN网络量级轻,处理速度快,可以获取足够的局部信息,适用于分类、分割等任务。

首先,根据相机视野下不同零件的不同摆放状态(例如:正放状态、侧放状态、倒放状态)定义类别,完成数据集的标注和制作。制作好的数据集用于对零件姿态分类模型的训练和验证。

其中,DGCNN网络主要使用边缘卷积(Edge Convolution,Edge Conv)模块对特征进行提取。Edge Conv模块在保证点云置换不变性的基础上关注了点云邻域信息。具体而言,Edge Conv模块使用点的相对关系完成语义级别的邻域特征提取,并通过逐级的模块特征堆叠完成整体特征信息的抽取。这种方法适用于工业场景下小零件点云的信息采集应用。

作为一个可选的实施例,将零件点云输入至零件姿态分类模型。在零件姿态分类模型中,通过4个Edge Conv模块对输入的零件点云(包括坐标空间和特征空间)完成点云邻域信息的提取;基于得到的点云领域信息,对不同网络层次的特征进行拼接,通过最大池化操作得到点云的全局特征;再通过3个全连接层对点云的全局特征进行分类,从而获得零件的姿态分类结果。

本实施例通过零件姿态分类模型对零件点云进行分类处理,得到零件分类结果。通过将传统方法与深度学习方法结合起来,达到精度高、可解释性强,可泛化性强的分类效果,同时增强整个流程的鲁棒性。

基于上述实施例的内容,作为一种可选实施例,根据所述零件点云和所述零件分类结果确定目标零件模板,包括:

根据零件分类结果,从CAD零件模型点云库中确定与零件点云对应的CAD模型点云,作为目标零件模板。

可选地,CAD零件模型点云库包含工业场景中所有零件的模型点云。

作为一个可选的实施例,根据零件分类结果,确定与任一目标零件点云对应的零件类型和零件型号,并在CAD零件模型点云库中确定类型和型号一致的CAD模型点云,作为与目标零件点云相对应的目标零件模板。

本实施例通过零件分类结果,调取了相应的CAD模型作为目标零件的匹配模版。由于CAD模型在工业生产中应用广泛、设计精巧,且易于获取,可增强位姿估计的准确性,进而为获取待检测零件的位姿信息提供基础。

基于上述实施例的内容,作为一种可选实施例,利用所述目标零件模板对所述零件点云进行匹配,以获取待检测零件的位姿信息,包括:

分别对与所述目标零件模板对应的零件点云以及CAD模型点云进行关键点提取处理,获取关键点;所述关键点包括零件点云关键点和CAD模型点云关键点;

获取所述关键点的局部描述子;

利用所述局部描述子对所述关键点进行一致性评估,以获取所述零件点云关键点和所述CAD模型点云关键点之间的对应关系,并根据所述对应关系确定关键点对;

基于随机抽样一致法,对所述关键点对进行校正处理,并根据校正结果构建初步位姿变换矩阵;

利用所述初步位姿变换矩阵对所述零件点云关键点进行变换,获取初始位姿变换的零件点云关键点;

基于最近点迭代法,对所述初始位姿变换的零件点云关键点与所述CAD模型云关键点进行匹配处理,获取精配准位姿变换矩阵;

基于所述初步位姿变换矩阵与所述精配准位姿变换矩阵,确定目标变换矩阵,以获取待检测零件的位姿信息。

其中,关键点可以基于原生的提取特征点算法(Intrinsic Shape Signatures,ISS)进行提取,也可以通过尺度不变特征变换算法(Scale-invariant featuretransform,SIFT)进行提取。

作为一个可选的实施例,对零件点云和CAD模型的关键点分别计算局部描述子,利用局部描述子进行关键点的一致性估计,即确定零件点云的关键点和CAD模型的关键点之间的对应关系,并根据所述对应关系确定关键点对;通过RANSAC算法剔除错误对应的关键点对,并根据剩下的正确关键点对,利用最小二乘法拟合求解旋转矩阵R、平移矩阵T,获得一个初步位姿变换矩阵。使通过变换矩阵变换后零件点云和CAD点云关键点对之间的距离差之和最小。

局部描述子包括但不仅限于:方向直方图特征(Signature of Histogram ofOrientation,SHOT)、点特征直方图(Point feature histogram,PFH)、快速点特征直方图(Fast Point Feature Histogram,FPFH))、3D形状上下文特征(3D Shape Context,3Dsc)。

将初步位姿变换矩阵应用到原零件点云的关键点上,经过R和T变换,得到初始位姿变换的零件点云关键点。

通过最近点迭代(Iterative closest Point,ICP)算法对初始位姿变换的零件点云关键点和CAD模型点云的关键点进行配准,获得精配准的位姿变换矩阵。精配准的位姿变换矩阵包括精配准旋转矩阵R’和精配准平移矩阵T’。

精配准的位姿变换矩阵结合初步变换矩阵计算得到最终变换的目标变换矩阵,以获取待检测零件的位姿信息。目标变换矩阵包括最终的旋转矩阵Rfinal和最终平移矩阵Tfnal。最终的目标变换矩阵为目标零件模板基于CAD模型的变换矩阵。

其中,最终的旋转矩阵Rfinal的计算方法为:

Rfinal=R*R’;

最终平移矩阵Tfnal的计算方法为:

Tfnal=T+T’;

对于每个被识别为待检零件的点云,输出其零件分类结果以及其基于CAD模型的变换矩阵,完成点云场景中零件的位姿估计流程。

对于每个被识别为待检零件的点云,输出其类别以及其基于CAD模型的变换矩阵,完成点云场景中零件的位姿估计流程。

本实施例通过关键点将零件点云与CAD模型点云进行配准,进而得到待检测零件的位姿信息。由于CAD模型在工业生产中应用广泛、设计精巧,且易于获取,可增强位姿估计的准确性,有效地提高了零件位姿估计的精度。

作为一个可选的实施例,针对工业场景下零件的位姿估计问题,利用三维传感器获得场景点云数据,提出了一套完整的工业流程,从分离零件点云、确认零件类别、配准获得位姿,到最终获取到工业背景环境下零件的位姿信息。具体如下所述。

在工业零件摆放场景下可以使用结构光相机、3D相机等三维传感器对零件形态进行采集,获取处于工业零件摆放场景下待测零件的原始点云。

可以使用直通滤波器和统计滤波器,对原始点云数据进行滤波处理,去除原始点云中的噪声点。其中,直通滤波器可以将指定方向上限定范围之外的点滤除,即在背景与前景有一定距离的情况下,可以通过该方法去除背景;统计滤波器可以去除离群点和噪声点,以便更好地对工业零件点云进行分离。

计算场景点云中所有点之间的欧式距离,将欧式距离大于预设距离的点云分割开,欧式距离小于预设距离的点云形成的集合,作为一个单位点云簇,以获取多个单位点云簇。

其次,对多个单位点云簇进行筛选,获取零件点云簇。其中,将簇中点的数目设定阈值[n

将分割并筛选后的零件点云簇统一进行随机下采样处理,获取零件点云,随机下采样处理后的每一个零件点云簇中点的数目保持一致,便于进行后续的分类与匹配操作。

依据点云中点与点之间的欧式距离,在场景点云中随机确定一个目标点为中心,将小于距离阈值的点云聚为一个簇。该方法的具体步骤如下所示。

由于初始情况下,点云中的每个点都不属于任何一个簇。点云中如果两个点的欧式距离小于给定阈值,则认为这两个互为近邻,其中一个点便是另一点的近邻点。

首先,在步骤1中,随机确定场景点云中不属于任何一个簇的点云中的目标P。

进一步地,在步骤2中,基于KD tree算法找到目标点P的所有的近邻点,将其中不属于任何其他的簇的点,构成近邻集合;近邻点为场景点云中与目标点之间的欧氏距离小于预设阈值的点;预设阈值的设置可根据点云密度或者是实际要求灵活设置。

进一步地,在步骤3中,通过KD tree算法找到近邻集合中的每个点的近邻点,将不属于任何其他簇的近邻加入近邻集合,以构建任一近邻点的近邻集合;任一近邻点的近邻集合包括初始近邻集合中的所有点以及初始近邻集合中每个点的所有近邻点。

进一步地,在步骤4中,以任一近邻点的近邻集合作为新的初始近邻集合,并迭代执行步骤3,获取新的近邻集合,直至新的近邻集合中的点不再增加。

进一步地,在步骤5中,将目标点P以及所有的近邻集合中的点作为一个目标点云簇。

进一步地,在步骤6中,从场景点云中随机选择不属于目标点云簇的任一点作为新的目标点,迭代执行步骤2至步骤5,直至完成对场景点云中所有点云的分割,并将每个目标点云簇作为一个单位点云簇。至此,所有点都属于某个簇,聚类过程结束。

基于DGCNN构建零件姿态分类模型,将零件点云输入至零件姿态分类模型。在零件姿态分类模型中,通过4个Edge Conv模块完成对输入的零件点云(包括坐标空间和特征空间)中点云邻域信息的反复提取,得到不同网络层次的特征;基于得到的点云领域信息,对不同网络层次的特征进行拼接,通过最大池化操作得到点云的全局特征;再通过3个全连接层对点云的全局特征进行分类,从而获得零件的姿态分类结果。通过多次提取点云邻域信息,扩大了感受野,并在越来越深的网络层次中获得更多的特征。

根据零件分类结果,确定与任一目标零件点云对应的零件类型和零件型号,并在CAD零件模型点云库中确定类型和型号一致的CAD模型点云,作为与目标零件点云相对应的目标零件模板。

分别对与所述目标零件模板对应的零件点云以及CAD模型点云进行关键点提取处理,获取关键点;所述关键点包括零件点云关键点和CAD模型点云关键点。关键点可以基于ISS算法进行提取,也可以通过SIFT算法进行提取。

对零件点云和CAD模型的关键点分别计算局部描述子,利用局部描述子进行关键点的一致性估计,即确定零件点云的关键点和CAD模型的关键点之间的对应关系,并根据所述对应关系确定关键点对;通过RANSAC算法剔除错误对应的关键点对,并根据剩下的正确关键点对,利用最小二乘法拟合求解旋转矩阵R、平移矩阵T,构建一个初步位姿变换矩阵。使通过变换矩阵变换后零件点云和CAD点云关键点对之间的距离差之和最小。

将初步位姿变换矩阵应用到原零件点云的关键点上,经过R和T变换,得到初始位姿变换的零件点云关键点。

通过ICP算法对初始位姿变换的零件点云关键点和CAD模型点云的关键点进行配准,获得精配准的位姿变换矩阵。精配准的位姿变换矩阵包括精配准旋转矩阵R’和精配准平移矩阵T’。

精配准的位姿变换矩阵结合初步变换矩阵计算得到最终变换的目标变换矩阵,以获取待检测零件的位姿信息。目标变换矩阵包括最终的旋转矩阵Rfinal和最终平移矩阵Tfnal。最终的目标变换矩阵为目标零件模板基于CAD模型的变换矩阵。

其中,最终的旋转矩阵Rfinal的计算方法为:

Rfinal=R*R’;

最终平移矩阵Tfnal的计算方法为:

Tfnal=T+T’;

对于每个被识别为待检零件的点云,输出其零件分类结果以及其基于CAD模型的变换矩阵,完成点云场景中零件的位姿估计流程。

本实施例利用由三维传感器获得的原始点云,通过结合传统三维点云处理算法与前沿深度学习方法,根据对待测零件的点云进行分类和模板匹配,进而确定待测零件的位姿信息,提高了工业零件位姿估计的效率和准确性,为工业场景中零件位姿偏移位置与角度的判断提供了支持,解决了工业场景中利用机械臂等装置进行零件抓取的位姿估计问题。

图2是本发明提供的工业零件位姿估计系统的结构示意图,如图2所示,包括但不限于以下单元:

获取单元201,用于获取待测零件的零件点云;

分类单元202,基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果;

确定单元203,用于根据所述零件点云和所述零件分类结果确定目标零件模板;

匹配单元204,用于利用所述目标零件模板对所述零件点云进行匹配,以获取待检测零件的位姿信息。

在一个实施例中,首先通过获取单元201获取待测零件的零件点云;在分类单元202中,基于零件姿态分类模型,对获取单元201输出的零件点云进行分类处理,获取零件分类结果;确定单元203根据获取单元201输出的零件点云和分类单元202输出的零件分类结果确定目标零件模板;匹配单元204利用确定单元203确定的目标零件模板对获取单元201输出的零件点云进行匹配,以获取待检测零件的位姿信息。

首先,零件点云可以是在工业场景中采集的,也可以调用已采集的零件点云。根据工业场景复杂的环境,在采集取工业零件数据时,可以在需要采集点云的工业场景的顶部正上方或侧方,也可以根据实际需求设置,以获取待检测零件的零件点云。

采集零件点云的设备可以是结构光相机、3D深度相机等三维传感器。

作为一个可选地实施例,获取单元201通过深度相机标定获取内参,将采集的零件深度图转化为三维点云图。根据点云聚类特征,通过RANSAC算法对三维点云图进行从分割处理,将零件点云与背景点云分割开,以去除背景点云,获取待测零件的零件点云。

进一步地,分类单元202基于零件姿态分类模型,对所述零件点云进行分类处理,获取零件分类结果。

其中,零件姿态分类模型可以是经过训练的Point Net神经网络模型,零件姿态分类模型通过拼接,把零件点云局部和全局的特征捆绑在一起,利用多层感知机进行融合,最后利用分类器实现零件点云逐点的分类,进而获取零件点云的分类结果。

可选地,在输入零件姿态分类模型之前,可以对零件点云做零均值的归一化处理,可以保证较好的分类效果。

进一步地,确定单元203根据零件分类结果确定目标零件模板。

其中,目标零件模板可以是零件模板库中存储的CAD模板,也可以是PCL中储存的零件点云模板。

进一步地,匹配单元204利用零件点云和目标零件模板的关键点,对于零件点云与零件模板进行匹配和校准,获取待检测零件的位姿信息。

本发明提供的工业零件位姿估计系统,根据对待测零件的点云进行分类和模板匹配,进而确定待测零件的位姿信息,提高了工业零件位姿估计的效率和准确性,为工业场景中零件位姿偏移位置与角度的判断提供了支持,解决了工业场景中利用机械臂等装置进行零件抓取的位姿估计问题。

需要说明的是,本发明实施例提供的工业零件位姿估计系统,在具体执行时,可以基于上述任一实施例所述的工业零件位姿估计方法来实现,对此本实施例不作赘述。

图3是本发明提供的电子设备的结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线34,其中,处理器31,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行工业零件位姿估计方法,该方法包括:获取待测零件的零件点云;基于零件姿态分类模型,对零件点云进行分类处理,获取零件分类结果;根据零件分类结果确定目标零件模板;利用目标零件模板对零件点云进行匹配,以获取待检测零件的位姿信息。

此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的工业零件位姿估计方法,该方法包括:获取待测零件的零件点云;基于零件姿态分类模型,对零件点云进行分类处理,获取零件分类结果;根据零件分类结果确定目标零件模板;利用目标零件模板对零件点云进行匹配,以获取待检测零件的位姿信息。

又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的工业零件位姿估计方法,该方法包括:获取待测零件的零件点云;基于零件姿态分类模型,对零件点云进行分类处理,获取零件分类结果;根据零件分类结果确定目标零件模板;利用目标零件模板对零件点云进行匹配,以获取待检测零件的位姿信息。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种工业零件位姿估计方法及系统
  • 基于模板匹配的无纹理平面结构工业零件识别和6D位姿估计方法
技术分类

06120113082891