CN117765047B - 一种工件配准方法、装置、计算机设备及存储介质 - Google Patents
一种工件配准方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117765047B CN117765047B CN202410195591.6A CN202410195591A CN117765047B CN 117765047 B CN117765047 B CN 117765047B CN 202410195591 A CN202410195591 A CN 202410195591A CN 117765047 B CN117765047 B CN 117765047B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- cloud data
- plane
- registration
- registered
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000003860 storage Methods 0.000 title claims abstract description 24
- 238000001514 detection method Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 26
- 239000013598 vector Substances 0.000 claims description 11
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000005520 cutting process Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000003466 welding Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003754 machining Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本发明涉及工件配准技术领域,公开了一种工件配准方法、装置、计算机设备及存储介质,该方法包括:获取待配准工件的待配准点云数据以及参考点云数据;基于待配准点云数据,检测出待配准工件的待旋转平面集;确定参考点云数据中的参考平面集;利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果;从全局配准结果中确定出超过预设误差的局部点云数据区域;对局部点云数据区域执行局部配准,得到局部配准结果。本发明综合利用全局结构信息和局部微调的配准策略不仅能够提高配准的准确性,还能够在不同的点云场景中取得较好的配准效果。
Description
技术领域
本发明涉及工件配准技术领域,具体涉及一种工件配准方法、装置、计算机设备及存储介质。
背景技术
在生产制造领域,为了能够对工件进行精确加工或装配等,往往需要采用工件配准技术对工件进行精确定位。例如,在对工件进行加工的过程中,可以利用图像采集设备采集工件的图像,将采集的图像与工件模型进行配准,工业机器人可以基于配准后的图像进行工件焊接等操作。
然而,对于一些大型工件,由于工件尺寸较大,采用传统的配准技术,其配准精度较低。
发明内容
有鉴于此,本发明提供了一种工件配准方法、装置、计算机设备及存储介质,以解决现有技术中工件配准精度较低的问题。
第一方面,本发明提供了一种工件配准方法,该方法包括:
获取待配准工件的待配准点云数据以及参考点云数据;
基于待配准点云数据,检测出待配准工件的待旋转平面集;
确定参考点云数据中的参考平面集,其中,参考平面集中的参考平面与旋转平面集中的旋转平面一一对应,参考平面一一对应的旋转平面为待配准工件上的同一平面;
利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果;
从全局配准结果中确定出超过预设误差的局部点云数据区域;
对局部点云数据区域执行局部配准,得到局部配准结果。
在全局配准阶段使用平面检测并旋转获得的初始位置信息具有一定的鲁棒性,能够处理一些复杂的场景。同时,平面检测可以用于减少待配准点云数据中的数据量,提取出主要的结构信息,从而减小后续配准过程的计算复杂性。平面检测还可以识别场景中的平面结构,这些结构通常是稳定的特征,通过处理平面结构,可以将点云的维度减少到更容易处理的子集,减少数据量。且基于全局加局部的配准方式,有利于提高定位精确性,提高待配准工件的加工精度,总体而言,这种综合利用全局结构信息和局部微调的配准策略能够在不同的点云场景中取得较好的配准效果。
在一种可选的实施方式中,利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果,包括:
将旋转平面旋转至与旋转平面一一对应的参考平面;
在旋转平面旋转结束后,将旋转后的旋转平面与一一对应的参考平面进行迭代最近点配准,其中,每一个旋转平面旋转结束后均进行一次迭代最近点配准;
将所有迭代最近点配准结果中误差最小的配准结果,再次进行迭代最近点配准,获得全局配准结果。
为了进一步提高基于平面旋转的配准矩阵的准确性,采用了ICP配准方法进行微调,有助于避免配准结果发生大尺度的偏移,提高后续配准的速度和稳定性。进一步地,当利用旋转加ICP获得较好的初始位置之后,采用ICP进一步来优化待配准点云数据的初始位置,有效的降低了ICP出现局部最优的问题。采用平面旋转加ICP的全局配准方式,还在一定程度上减少了程序的执行时间。
在一种可选的实施方式中,对局部点云数据区域执行局部配准,得到局部配准结果,包括:
重新拍摄待配准工件,获得与局部点云数据区域对应的新局部点云数据;
基于全局配准结果与新局部点云数据,确定局部配准结果。
采用平面检测加ICP的配准方式作为粗配准结果,将粗配准结果应用到局部配准中优化了全局配准效果。
在一种可选的实施方式中,获得与局部点云数据区域对应的新局部点云数据,包括:
从重新拍摄的待配准工件的图像中框选出与局部点云数据区域对应的最大包围框;
基于最大包围框,从重新拍摄的待配准工件的图像裁剪出新局部点云数据。
在一种可选的实施方式中,基于全局配准结果与新局部点云数据,确定局部配准结果,包括:
将全局配准结果、新局部点云数据以及参考点云数据均转换至同一基坐标系下;
将基坐标系下的全局配准结果、新局部点云数据以及参考点云数据进行迭代最近点配准,获得局部配准结果。
综合利用全局结构信息和局部微调的配准策略能够在不同的点云场景中取得较好的配准效果,有效提高了配准精度。
在一种可选的实施方式中,基于待配准点云数据,检测出待配准工件的待旋转平面集,包括:
基于待配准点云数据,确定出待配准点云数据中的第一最大平面;
根据第一最大平面,确定出与第一最大平面垂直的第二最大平面;
将第一最大平面与第二最大平面封装为待旋转平面集。
在一种可选的实施方式中,基于待配准点云数据,确定出待配准点云数据中的第一最大平面,包括:
步骤S1,从待配准点云数据中确定出三个配准点,计算三个配准点对应的平面参数,其中平面参数包括θ、φ、ρ,其中,φ为平面的法向量与z轴之间的夹角,θ为平面的法向量在x、y平面上的投影与x轴之间的夹角,ρ表示坐标原点到平面的距离;
步骤S2,遍历待配准点云数据,对每个满足平面参数的三个点进行一次投票;
步骤S3,确定遍历后投票数量最多的检测平面,并删除投票点;
重复执行上述步骤S1至步骤S3,直至剩余预设比例的待配准点云数据的点云数量时停止检测;
获取每次遍历后确定的检测平面,从多个检测平面确定出第一最大平面,其中,第一最大平面为包含待配准点云数据最多的平面。
这样检测确定出的平面,有助于提高初始位置的准确性,进而可以提高全局配准的准确性。
第二方面,本发明提供了一种工件配准装置,装置包括:
获取模块,用于获取待配准工件的待配准点云数据以及参考点云数据;
检测模块,用于基于待配准点云数据,检测出待配准工件的待旋转平面集;
确定模块,用于确定参考点云数据中的参考平面集,其中,参考平面集中的参考平面与旋转平面集中的旋转平面一一对应,参考平面一一对应的旋转平面为待配准工件上的同一平面;
全局配准模块,用于利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果;
误差模块,用于从全局配准结果中确定出超过预设误差的局部点云数据区域;
局部配准模块,用于对局部点云数据区域执行局部配准,得到局部配准结果。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的工件配准方法。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的工件配准方法。
需要说明的是,由于本发明提供的工件配准装置,电子设备以及计算机可读存储介质与上述的工件配准方法是对应的。因此,关于工件配准装置,计算机设备以及计算机可读存储介质的有益效果,请参见上文工件配准方法的对应有益效果的描述,在此不再赘述。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的工件配准方法的流程示意图;
图2是根据本发明实施例的全局配准的结果的示意图;
图3是根据本发明实施例的图2中A区域的局部放大图;
图4是根据本发明实施例的重新拍摄待配准工件的局部点云的示意图;
图5是根据本发明实施例的全局加局部的配准结果的示意图;
图6是根据本发明实施例的例举的全局配准的流程框图;
图7是根据本发明实施例的例举的局部配准的流程框图;
图8是根据本发明实施例的工件配准装置的结构框图;
图9是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在大型工件上,全局加局部配准算法结合了全局和局部的优势,以应对大范围、大尺度的工件表面数据,提高配准的准确性和鲁棒性。虽然全局加局部配准算法在应对大型工件配准问题中表现出许多优点,但它们也存在一些潜在的缺点。以下是相关技术中存在的一些缺点:(1)计算复杂性高,一些方案可能涉及到复杂的计算,特别是在全局优化和深度学习方法中,这可能导致较高的计算复杂度,需要更大的计算资源。(2)对初始估计敏感,特征点匹配与ICP结合的方案对初始估计敏感,如果初始估计不准确,可能导致局部配准陷入局部最优。(3)需要大量数据,某些方法可能对大量的点云数据要求较高,这可能在存储和处理上带来挑战,尤其是在实时系统中。(4)有可能受到局部最优解限制,特别是在复杂的工件表面结构中。(5)深度学习模型需要训练大量标注数据,基于深度学习的方法通常需要大量标注的点云数据用于训练,这在某些场景下可能难以获取。
并且,对于一些大型工件,采用传统的全局加局部配准算法结合配准技术,其配准精度较低。
鉴于此,根据本发明实施例,提供了一种工件配准方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种工件配准方法,可由服务器、终端设备、机器人控制系统等执行,图1是根据本发明实施例的工件配准方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取待配准工件的待配准点云数据以及参考点云数据。
待配准工件可以是需要焊缝的大型金属块等,待配准点云数据可以是在待配准工件需要加工时,采用激光雷达或三维相机等设备扫描待配准工件获得的三维点云数据。而在对工件进行配准前,需要预先对每个待配准工件建立对应的三维工件模型,例如CAD工件模型等,然后将预先建立的三维工件模型采用转换工具转换为点云数据,并将该点云数据作为本实施例中的参考点云数据,也即是,每个待配准工件均对应有对应的参考点云数据。
步骤S102,基于待配准点云数据,检测出待配准工件的待旋转平面集。本实施例中,可以通过平面检测法,检测出待配准工件的多个平面。
步骤S103,确定参考点云数据中的参考平面集,其中,参考平面集中的参考平面与旋转平面集中的旋转平面一一对应,参考平面一一对应的旋转平面为待配准工件上的同一平面。
由于参考点云数据是由预先建立的三维工件模型转换而来,因此,本实施例中可以直接根据三维工件模型的具体数据直接确定出与待旋转平面对应的参考平面。
步骤S104,利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果。
可以将检测的待旋转平面集中的平面,通过不断旋转,计算与实际工件模型之间的旋转误差,即将旋转平面旋转至与旋转平面一一对应的参考平面,从而获得旋转结果,然后根据旋转结果对待配准工件进行全局配准。
另外,为了得到更加精确的配准结果,在每次旋转过后还可以加入迭代最近点(Iterative Closest Point,简称ICP)算法来进一步优化旋转结果。
步骤S105,从全局配准结果中确定出超过预设误差的局部点云数据区域。
在全局配准后,点云配准图可能还存在点云数量分布不均匀或仍然存在局部点云数据偏移的问题,也即是存在超过预设误差的局部点云数据,则可以进一步确定出待配准点云数据上的该区域。
步骤S106,对局部点云数据区域执行局部配准,得到局部配准结果。
在全局配准的基础上,再对存在误差的区域进行局部配准,可以进一步提高待配准工件配准的准确性。
本实施例中,在全局配准阶段使用平面检测并旋转获得的初始位置信息具有一定的鲁棒性,能够处理一些复杂的场景。同时,平面检测可以用于减少待配准点云数据中的数据量,提取出主要的结构信息,从而减小后续配准过程的计算复杂性。平面检测还可以识别场景中的平面结构,这些结构通常是稳定的特征,通过处理平面结构,可以将点云的维度减少到更容易处理的子集,减少数据量。且基于全局加局部的配准方式,有利于提高定位精确性,提高待配准工件的加工精度,总体而言,这种综合利用全局结构信息和局部微调的配准策略能够在不同的点云场景中取得较好的配准效果。
以需要对待配准工件进行焊缝为例,基于全局和局部融合的配准方式,有利于在焊接场景中获得更加精确的焊缝位置,提高焊接的精度。
在一些可选的实施方式中,上述步骤S104,利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果,包括:
步骤S1041,将旋转平面旋转至与旋转平面一一对应的参考平面。
步骤S1042,在旋转平面旋转结束后,将旋转后的旋转平面与一一对应的参考平面进行迭代最近点配准,其中,每一个旋转平面旋转结束后均进行一次迭代最近点配准。
步骤S1043,将所有迭代最近点配准结果中误差最小的配准结果,再次进行迭代最近点配准,获得全局配准结果。
可以将基于待配准点云数据检测获得的待旋转平面,通过不断旋转,计算与对应的参考平面之间的旋转误差,此时参考点云数据与待配准点云数据都是经过去中心化操作的,为了得到更加精确的效果,在每次旋转过后都会加入ICP算法来进一步优化旋转误差,可以用来微调平面检测的效果,直到完成所有待旋转平面的旋转,选择误差最小的那一组旋转参数作为粗配准的结果,这之后再执行一次ICP的精配准,优化配准结果,得到最后的全局配准结果。
本实施例中,为了进一步提高基于平面旋转的配准矩阵的准确性,采用了ICP配准方法进行微调,有助于避免配准结果发生大尺度的偏移,提高后续配准的速度和稳定性。进一步地,当利用旋转加ICP获得较好的初始位置之后,采用ICP进一步来优化待配准点云数据的初始位置,有效的降低了ICP出现局部最优的问题。采用平面旋转加ICP的全局配准方式,还在一定程度上减少了程序的执行时间。
在一些可选的实施方式中,上述步骤S106,对局部点云数据区域执行局部配准,得到局部配准结果,包括:
步骤S1061,重新拍摄待配准工件,获得与局部点云数据区域对应的新局部点云数据。
步骤S1062,基于全局配准结果与新局部点云数据,确定局部配准结果。
在全局配准后,待配准点云数据对应的点云配准图可能还存在点云数量分布不均匀或仍然存在局部点云数据偏移的问题,参照图2所示,为全局配准的结果,其中,工件上的黑色点云及灰色点云为待配准点云数据,也即是全局配准后的点云配准图像,白色点云为参考点云数据,也即是预先建立的三维工件模型转换后的图像。在进行拍摄待配准工件的时候,获得的是一个整体的工件图像(工件图像可以转换为点云数据),但由于在对工件图像与三维工件模型进行手眼标定的过程中,存在一定的误差,会导致拼接的图像与三维工件模型存在一定的误差,导致全局配准后的获得的配准结果也存在一定的误差,参照图3所示,为图2中A区域的局部放大图,此时可以明显看出待配准点云数据与参考点云数据之间存在的误差。
针对这样的问题,可以采用拍摄局部点云的方式,进一步优化配准效果。在配准后的整体场景中,通过重新拍摄待配准工件局部点云的方式,针对感兴趣的区域或局部细节,获得更加密集的新局部点云数据,参照图4所示,工件上的黑色点云及灰色点云为待配准点云数据,白色点云为参考点云数据,并重新应用全局配准结果到待配准工件的三维工件模型上,完成局部点云的局部配准,参照图5所示,为全局加局部配准的结果,与上述图3对比发现,待配准点云数据已与参考点云数据完全重合,误差明显减小,配准精度得到了明显提升。
本实施例中,采用平面检测加ICP的配准方式作为粗配准结果,将粗配准结果应用到局部配准中优化了全局配准效果。
另外,还可以通过不同的算法进行组合,在局部配准的时候可以采用其他点云配准算法,如NDT(Normal Distributions Transform,简称NDT),根据本实施例中提供的较好的初始位置,其他局部配准算法也可以实现更加精确的局部配准结果。
在一些可选的实施方式中,上述步骤S1061,获得与局部点云数据区域对应的新局部点云数据,包括:
步骤a1,从重新拍摄的待配准工件的图像中框选出与局部点云数据区域对应的最大包围框。
步骤a2,基于最大包围框,从重新拍摄的待配准工件的图像裁剪出新局部点云数据。
为了避免由于相机拍摄局部区域点云以外的点云,可以采用包围框的方式,计算应用全局配准的局部三维工件模型的最大包围框(minxyz,maxxyz),按照最大包围框的大小去截取重新拍摄采集的点云,确保被裁剪的区域只包含局部工件模型的特征,可以有效提高程序的运行效率。其中,需要确保裁剪后的新局部点云数据为参考点云数据的子集。
在一些可选的实施方式中,上述步骤S1062,基于全局配准结果与新局部点云数据,确定局部配准结果,包括:
步骤b1,将全局配准结果、新局部点云数据以及参考点云数据均转换至同一基坐标系下。
步骤b2,将基坐标系下的全局配准结果、新局部点云数据以及参考点云数据进行迭代最近点配准,获得局部配准结果。
可以同时将全局配准结果对应的点云数据、重新拍摄获得的新局部点云数据同时转换到执行操作的机器人的基坐标系下,在此之前,待配准工件的三维工件模型也同样转换至该基坐标系下,之后将全局配准结果与新局部点云数据以及参考点云数据进行迭代最近点配准,最终获得局部配准结果。
本实施例中,综合利用全局结构信息和局部微调的配准策略能够在不同的点云场景中取得较好的配准效果,有效提高了配准精度。
在一些可选的实施方式中,上述步骤S102,基于待配准点云数据,检测出待配准工件的待旋转平面集,包括:
步骤S1021,基于待配准点云数据,确定出待配准点云数据中的第一最大平面。
步骤S1022,根据第一最大平面,确定出与第一最大平面垂直的第二最大平面。
步骤S1023,将第一最大平面与第二最大平面封装为待旋转平面集。
结合上述步骤S1041以及步骤S1042,假设参考点云数据为P,待配准点云数据为Q,首先确定参考点云数据P中最大的平面,即第一最大平面,该最大的平面的含义是该平面上存在参考点云数据P中最多的点,将该平面记为PP,1,然后寻找参考点云数据P中与PP,1垂直的平面,在这些平面中选择一个最大的平面,即第二最大平面,将该平面记为PP,2。检测得到了待配准点云数据Q中的所有平面后,可以保留其中2个平面,一个是待配准点云数据Q中最大的平面PQ,1,另一个是与PQ,1垂直的平面中最大的平面,记为PQ,2。接下来将待配准点云数据Q按照平面旋转到参考点云数据P上,围绕待配准点云数据Q的质心对待配准点云数据Q进行旋转,将PQ,1旋转至PP,1,并将PQ,2旋转至PP,2。旋转平面的方式如下:设需要旋转的2个平面的法向量分别为n1和n2,则旋转轴是nrot=n1×n2,旋转角是θrot,1=arccos(|n1∙n2|)和θrot,2=π-θrot,1。每一次旋转之后都进行一次ICP的精配准用来微调平面检测的效果,直到完成所有平面的旋转。
当然,也可以基于待配准点云数据,确定出待配准点云数据中的多个平面,基于多个平面进行旋转,可以更近一步提高待配准点云数据初始位置的准确性,有效的降低了ICP出现局部最优的问题。
在一些可选的实施方式中,上述步骤S1021,基于待配准点云数据,确定出待配准点云数据中的第一最大平面,包括:
步骤S1,从待配准点云数据中确定出三个配准点,计算三个配准点对应的平面参数,其中平面参数包括θ、φ、ρ,其中,φ为平面的法向量与z轴之间的夹角,θ为平面的法向量在x、y平面上的投影与x轴之间的夹角,ρ表示坐标原点到平面的距离。
步骤S2,遍历待配准点云数据,对每个满足平面参数的三个点进行一次投票。
步骤S3,确定遍历后投票数量最多的检测平面,并删除投票点。
重复执行上述步骤S1至步骤S3,直至剩余预设比例的待配准点云数据的点云数量时停止检测。
获取每次遍历后确定的检测平面,从多个检测平面确定出第一最大平面,其中,第一最大平面为包含待配准点云数据最多的平面。
本实施例中采用了基于改进的3D Hough的平面检测算法,每次从待配准点云数据中选取三个点,通过计算3个点(p1,p2,p3),然后计算三个点所对应的平面(θ,φ,ρ)。其中φ表示平面的法向量与z轴之间的夹角,θ表示平面的法向量在x、y平面上的投影与x轴之间的夹角,ρ表示坐标原点到平面的距离,然后依次遍历整个待配准点云数据,通过投票的方式在对应的(θ,φ,ρ)加上1,经过一轮遍历之后获取投票最大的检测平面,同时删除掉投票点,进行下一次遍历,直到所留下的待配准点云数据的点云数量为原始待配准点云数据的20%停止平面检测。然后,获取每次遍历后确定的检测平面,从多个检测平面确定出最大的平面。这样检测确定出的平面,有助于提高初始位置的准确性,进而可以提高全局配准的准确性。
参照图6所示,为本实施例中例举的全局配准的流程框图;首先对参考点云数据P、待配准点云数据Q进行体素滤波,以降低点云数量;然后采用平面检测,检测待配准点云数据为Q中的平面;然后找到待配准点云数据Q中的两个垂直的平面(包含最大的平面),找到参考点云数据P中两个垂直的平面(包含最大平面);然后按照平面之间的叉积以及角度进行旋转,将两个平面分别进行旋转,每次旋转后都进行一次ICP配准,最终记录误差分别为e1,e2;当e1<e2的情况下,将e2更新对应的配准矩阵,获得新的粗配准矩阵;当e1>e2的情况下,直接将e1应用到对应矩阵上;最后进行ICP精配准,获得全局配准的变换矩阵。
参照图7所示,为本实施例中例举的局部配准的流程框图;首先对参考点云数据P应用全局配准矩阵将其与配准点云数据Q进行相配准;然后计算Pn的最大包围框(minx,miny,minz,maxx,maxy,maxz);然后按照对应区域,裁剪拍摄的局部点云Qn,确保裁剪后的点云为Pn的子集;然后进行ICP局部精配准,并记录最后的配准误差e;然后循环遍历每一条焊缝,完成焊接任务。
在本实施例中还提供了一种工件配准装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种工件配准装置,如图8所示,包括:
获取模块201,用于获取待配准工件的待配准点云数据以及参考点云数据。
检测模块202,用于基于待配准点云数据,检测出待配准工件的待旋转平面集。
确定模块203,用于确定参考点云数据中的参考平面集,其中,参考平面集中的参考平面与旋转平面集中的旋转平面一一对应,参考平面一一对应的旋转平面为待配准工件上的同一平面。
全局配准模块204,用于利用待旋转平面集中旋转平面与参考平面集中参考平面之间的对应关系,对待配准工件进行全局配准,得到全局配准结果。
误差模块205,用于从全局配准结果中确定出超过预设误差的局部点云数据区域。
局部配准模块206,用于对局部点云数据区域执行局部配准,得到局部配准结果。
在一些可选的实施方式中,全局配准模块204包括:
旋转单元,用于将旋转平面旋转至与旋转平面一一对应的参考平面。
迭代单元,用于在旋转平面旋转结束后,将旋转后的旋转平面与一一对应的参考平面进行迭代最近点配准,其中,每一个旋转平面旋转结束后均进行一次迭代最近点配准。
判断单元,用于将所有迭代最近点配准结果中误差最小的配准结果,再次进行迭代最近点配准,获得全局配准结果。
在一些可选的实施方式中,局部配准模块206包括:
拍摄单元,用于重新拍摄待配准工件,获得与局部点云数据区域对应的新局部点云数据。
局部配准单元,用于基于全局配准结果与新局部点云数据,确定局部配准结果。
在一些可选的实施方式中,拍摄单元包括:
框选子单元,用于从重新拍摄的待配准工件的图像中框选出与局部点云数据区域对应的最大包围框。
裁剪子单元,用于基于最大包围框,从重新拍摄的待配准工件的图像裁剪出新局部点云数据。
在一些可选的实施方式中,局部配准单元包括:
转换子单元,用于将全局配准结果、新局部点云数据以及参考点云数据均转换至同一基坐标系下。
局部配准子单元,用于将基坐标系下的全局配准结果、新局部点云数据以及参考点云数据进行迭代最近点配准,获得局部配准结果。
在一些可选的实施方式中,检测模块202包括:
第一最大平面确定单元,用于基于待配准点云数据,确定出待配准点云数据中的第一最大平面。
第二最大平面确定单元,用于根据第一最大平面,确定出与第一最大平面垂直的第二最大平面。
封装单元,用于将第一最大平面与第二最大平面封装为待旋转平面集。
在一些可选的实施方式中,第一最大平面确定单元包括:
计算子单元,用于从待配准点云数据中确定出三个配准点,计算三个配准点对应的平面参数,其中平面参数包括θ、φ、ρ,其中,φ为平面的法向量与z轴之间的夹角,θ为平面的法向量在x、y平面上的投影与x轴之间的夹角,ρ表示坐标原点到平面的距离。
遍历子单元,用于遍历待配准点云数据,对每个满足平面参数的三个点进行一次投票。
投票子单元,用于确定遍历后投票数量最多的检测平面,并删除投票点。
重复单元,用于重复执行,直至剩余预设比例的待配准点云数据的点云数量时停止检测。
最大平面确定子单元,用于获取每次遍历后确定的检测平面,从多个检测平面确定出第一最大平面,其中,第一最大平面为包含待配准点云数据最多的平面。
本实施例中的工件配准装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种计算机设备,具有上述图8所示的工件配准装置。
请参阅图9,图9是本发明可选实施例提供的一种计算机设备的结构示意图,如图9所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (6)
1.一种工件配准方法,其特征在于,所述方法包括:
获取待配准工件的待配准点云数据以及参考点云数据;
基于所述待配准点云数据,检测出所述待配准工件的待旋转平面集;
确定所述参考点云数据中的参考平面集,其中,所述参考平面集中的参考平面与所述旋转平面集中的旋转平面一一对应,所述参考平面一一对应的所述旋转平面为所述待配准工件上的同一平面;
利用所述待旋转平面集中旋转平面与所述参考平面集中参考平面之间的对应关系,对所述待配准工件进行全局配准,得到全局配准结果;
从所述全局配准结果中确定出超过预设误差的局部点云数据区域;
对所述局部点云数据区域执行局部配准,得到局部配准结果;
所述利用所述待旋转平面集中旋转平面与所述参考平面集中参考平面之间的对应关系,对所述待配准工件进行全局配准,得到全局配准结果,包括:
将旋转平面旋转至与旋转平面一一对应的参考平面;
在所述旋转平面旋转结束后,将旋转后的旋转平面与一一对应的参考平面进行迭代最近点配准,其中,每一个所述旋转平面旋转结束后均进行一次迭代最近点配准;
将所有迭代最近点配准结果中误差最小的配准结果,再次进行所述迭代最近点配准,获得全局配准结果;
所述对所述局部点云数据区域执行局部配准,得到局部配准结果,包括:
重新拍摄所述待配准工件,获得与所述局部点云数据区域对应的新局部点云数据;
基于所述全局配准结果与所述新局部点云数据,确定局部配准结果;
所述获得与所述局部点云数据区域对应的新局部点云数据,包括:
从重新拍摄的待配准工件的图像中框选出与所述局部点云数据区域对应的最大包围框;
基于所述最大包围框,从所述重新拍摄的待配准工件的图像裁剪出所述新局部点云数据;
所述基于所述全局配准结果与所述新局部点云数据,确定局部配准结果,包括:
将所述全局配准结果、所述新局部点云数据以及所述参考点云数据均转换至同一基坐标系下;
将所述基坐标系下的所述全局配准结果、所述新局部点云数据以及所述参考点云数据进行迭代最近点配准,获得所述局部配准结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述待配准点云数据,检测出所述待配准工件的待旋转平面集,包括:
基于所述待配准点云数据,确定出所述待配准点云数据中的第一最大平面;
根据所述第一最大平面,确定出与所述第一最大平面垂直的第二最大平面;
将所述第一最大平面与所述第二最大平面封装为所述待旋转平面集。
3.根据权利要求2所述的方法,其特征在于,所述基于所述待配准点云数据,确定出所述待配准点云数据中的第一最大平面,包括:
步骤S1,从所述待配准点云数据中确定出三个配准点,计算三个所述配准点对应的平面参数,其中平面参数包括θ、φ、ρ,其中,φ为平面的法向量与z轴之间的夹角,θ为平面的法向量在x、y平面上的投影与x轴之间的夹角,ρ表示坐标原点到平面的距离;
步骤S2,遍历所述待配准点云数据,对每个满足平面参数的三个点进行一次投票;
步骤S3,确定遍历后投票数量最多的检测平面,并删除投票点;
重复执行上述步骤S1至步骤S3,直至剩余预设比例的待配准点云数据的点云数量时停止检测;
获取每次遍历后确定的所述检测平面,从多个所述检测平面确定出第一最大平面,其中,所述第一最大平面为包含所述待配准点云数据最多的平面。
4.一种工件配准装置,其特征在于,所述装置包括:
获取模块,用于获取待配准工件的待配准点云数据以及参考点云数据;
检测模块,用于基于所述待配准点云数据,检测出所述待配准工件的待旋转平面集;
确定模块,用于确定所述参考点云数据中的参考平面集,其中,所述参考平面集中的参考平面与所述旋转平面集中的旋转平面一一对应,所述参考平面一一对应的所述旋转平面为所述待配准工件上的同一平面;
全局配准模块,用于利用所述待旋转平面集中旋转平面与所述参考平面集中参考平面之间的对应关系,对所述待配准工件进行全局配准,得到全局配准结果;
误差模块,用于从所述全局配准结果中确定出超过预设误差的局部点云数据区域;
局部配准模块,用于对所述局部点云数据区域执行局部配准,得到局部配准结果;
所述全局配准模块包括:
旋转单元,用于将旋转平面旋转至与旋转平面一一对应的参考平面;
迭代单元,用于在所述旋转平面旋转结束后,将旋转后的旋转平面与一一对应的参考平面进行迭代最近点配准,其中,每一个所述旋转平面旋转结束后均进行一次迭代最近点配准;
判断单元,用于将所有迭代最近点配准结果中误差最小的配准结果,再次进行所述迭代最近点配准,获得全局配准结果;
所述局部配准模块包括:
拍摄单元,用于重新拍摄所述待配准工件,获得与所述局部点云数据区域对应的新局部点云数据;
局部配准单元,用于基于所述全局配准结果与所述新局部点云数据,确定局部配准结果;
所述拍摄单元包括:
框选子单元,用于从重新拍摄的待配准工件的图像中框选出与所述局部点云数据区域对应的最大包围框;
裁剪子单元,用于基于所述最大包围框,从所述重新拍摄的待配准工件的图像裁剪出所述新局部点云数据;
所述局部配准单元包括:
转换子单元,用于将所述全局配准结果、所述新局部点云数据以及所述参考点云数据均转换至同一基坐标系下;
局部配准子单元,用于将所述基坐标系下的所述全局配准结果、所述新局部点云数据以及所述参考点云数据进行迭代最近点配准,获得所述局部配准结果。
5.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-3任一项所述的工件配准方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-3任一项所述的工件配准方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410195591.6A CN117765047B (zh) | 2024-02-22 | 2024-02-22 | 一种工件配准方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410195591.6A CN117765047B (zh) | 2024-02-22 | 2024-02-22 | 一种工件配准方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117765047A CN117765047A (zh) | 2024-03-26 |
CN117765047B true CN117765047B (zh) | 2024-04-30 |
Family
ID=90318657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410195591.6A Active CN117765047B (zh) | 2024-02-22 | 2024-02-22 | 一种工件配准方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117765047B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296650A (zh) * | 2016-07-22 | 2017-01-04 | 武汉海达数云技术有限公司 | 一种激光点云配准方法和装置 |
CN110443836A (zh) * | 2019-06-24 | 2019-11-12 | 中国人民解放军战略支援部队信息工程大学 | 一种基于平面特征的点云数据自动配准方法及装置 |
CN111524168A (zh) * | 2020-04-24 | 2020-08-11 | 中国科学院深圳先进技术研究院 | 点云数据的配准方法、系统、装置及计算机存储介质 |
CN113763438A (zh) * | 2020-06-28 | 2021-12-07 | 北京京东叁佰陆拾度电子商务有限公司 | 一种点云配准方法、装置、设备及存储介质 |
CN114219717A (zh) * | 2021-11-26 | 2022-03-22 | 杭州三坛医疗科技有限公司 | 点云配准方法、装置、电子设备及存储介质 |
CN115661220A (zh) * | 2022-12-28 | 2023-01-31 | 深圳煜炜光学科技有限公司 | 点云数据配准方法、装置、设备及存储介质 |
CN115908514A (zh) * | 2022-10-18 | 2023-04-04 | 西安电子科技大学 | 一种基于全局特征与局部特征融合的点云配准方法 |
CN117173227A (zh) * | 2023-11-01 | 2023-12-05 | 法奥意威(苏州)机器人系统有限公司 | 基于平面拟合的点云配准方法、装置和电子设备 |
CN117372487A (zh) * | 2023-10-26 | 2024-01-09 | 北京联影智能影像技术研究院 | 图像配准方法、装置、计算机设备和存储介质 |
-
2024
- 2024-02-22 CN CN202410195591.6A patent/CN117765047B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296650A (zh) * | 2016-07-22 | 2017-01-04 | 武汉海达数云技术有限公司 | 一种激光点云配准方法和装置 |
CN110443836A (zh) * | 2019-06-24 | 2019-11-12 | 中国人民解放军战略支援部队信息工程大学 | 一种基于平面特征的点云数据自动配准方法及装置 |
CN111524168A (zh) * | 2020-04-24 | 2020-08-11 | 中国科学院深圳先进技术研究院 | 点云数据的配准方法、系统、装置及计算机存储介质 |
CN113763438A (zh) * | 2020-06-28 | 2021-12-07 | 北京京东叁佰陆拾度电子商务有限公司 | 一种点云配准方法、装置、设备及存储介质 |
CN114219717A (zh) * | 2021-11-26 | 2022-03-22 | 杭州三坛医疗科技有限公司 | 点云配准方法、装置、电子设备及存储介质 |
CN115908514A (zh) * | 2022-10-18 | 2023-04-04 | 西安电子科技大学 | 一种基于全局特征与局部特征融合的点云配准方法 |
CN115661220A (zh) * | 2022-12-28 | 2023-01-31 | 深圳煜炜光学科技有限公司 | 点云数据配准方法、装置、设备及存储介质 |
CN117372487A (zh) * | 2023-10-26 | 2024-01-09 | 北京联影智能影像技术研究院 | 图像配准方法、装置、计算机设备和存储介质 |
CN117173227A (zh) * | 2023-11-01 | 2023-12-05 | 法奥意威(苏州)机器人系统有限公司 | 基于平面拟合的点云配准方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
基于二次误差和高斯混合模型的点云配准算法研究;许光润;《CNKI》;20230115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117765047A (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020233724A1 (zh) | 一种基于视觉slam的电网作业环境地图的构建方法及系统 | |
CN109543489B (zh) | 基于二维码的定位方法、装置和存储介质 | |
CN109658454B (zh) | 一种位姿信息确定方法、相关装置及存储介质 | |
CN108279670B (zh) | 用于调整点云数据采集轨迹的方法、设备以及计算机可读介质 | |
WO2022170844A1 (zh) | 一种视频标注方法、装置、设备及计算机可读存储介质 | |
CN109784250B (zh) | 自动引导小车的定位方法和装置 | |
KR20170068462A (ko) | 에지를 이용한 3차원 모델 생성 | |
US10540813B1 (en) | Three-dimensional point data alignment | |
CN112085033A (zh) | 一种模板匹配方法、装置、电子设备及存储介质 | |
CN115436910B (zh) | 一种对激光雷达点云进行目标检测的数据处理方法和装置 | |
CN111400830A (zh) | 一种三维毛坯工件的加工校准方法及装置 | |
CN114241018A (zh) | 一种牙齿点云配准方法、系统及可读存储介质 | |
CN112198878B (zh) | 一种即时地图构建方法、装置、机器人及存储介质 | |
CN117765047B (zh) | 一种工件配准方法、装置、计算机设备及存储介质 | |
CN116894829A (zh) | 焊缝缺陷检测的方法、装置、计算机设备及存储介质 | |
CN113628284B (zh) | 位姿标定数据集生成方法、装置、系统、电子设备及介质 | |
CN115018922A (zh) | 畸变参数标定方法、电子设备和计算机可读存储介质 | |
CN114511630A (zh) | 一种图像定位方法、装置、电子设备及存储介质 | |
CN113887290A (zh) | 单目3d检测方法、装置、电子设备及存储介质 | |
CN114119898A (zh) | 一种三维重建方法、装置、设备及存储介质 | |
CN113362227A (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN116778066B (zh) | 数据处理方法、装置、设备及介质 | |
CN117392211B (zh) | Bga元件快速识别定位方法及系统、存储介质 | |
CN117315035B (zh) | 一种车辆朝向的处理方法、装置以及处理设备 | |
CN115222799B (zh) | 图像重力方向的获取方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |