CN113658194B - 一种基于参照物的点云拼接方法、装置及存储介质 - Google Patents

一种基于参照物的点云拼接方法、装置及存储介质 Download PDF

Info

Publication number
CN113658194B
CN113658194B CN202110835400.4A CN202110835400A CN113658194B CN 113658194 B CN113658194 B CN 113658194B CN 202110835400 A CN202110835400 A CN 202110835400A CN 113658194 B CN113658194 B CN 113658194B
Authority
CN
China
Prior art keywords
point cloud
reference object
determining
target
transformation matrix
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
Application number
CN202110835400.4A
Other languages
English (en)
Other versions
CN113658194A (zh
Inventor
刁世普
黄冠成
罗坚铭
肖盼
林健发
李威胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan Dile Vision Technology Co ltd
Original Assignee
Foshan Dile Vision Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Foshan Dile Vision Technology Co ltd filed Critical Foshan Dile Vision Technology Co ltd
Priority to CN202110835400.4A priority Critical patent/CN113658194B/zh
Publication of CN113658194A publication Critical patent/CN113658194A/zh
Application granted granted Critical
Publication of CN113658194B publication Critical patent/CN113658194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

本发明公开一种基于参照物的点云拼接方法、装置及存储介质,本发明通过在目标点云以及测试点云中引入除拼接对象以外的参照物的点云,根据测试点云进行第一分割处理得到第一参照物点云,根据目标点云进行第二分割处理得到第二参照物点云;对第一参照物点云以及第二参照物点云进行拟合处理,得到空间位姿变换矩阵;通过空间位姿变换矩阵对测试点云进行粗配准;根据粗配准结果以及目标点云进行迭代计算处理,确定目标变换矩阵;通过目标变换矩阵将测试点云精确拼接至目标点云;基于第一参照物点云和第二参照物点云实现测试点云与目标点云拼接,即使拼接对象特征不丰富,也能得到准确的拼接结果,提升拼接准确性,本发明可广泛应用于点云处理领域。

Description

一种基于参照物的点云拼接方法、装置及存储介质
技术领域
本发明涉及点云处理领域,尤其是一种基于参照物的点云拼接方法、装置及存储介质。
背景技术
现今,受到高精度扫描设备扫描视野尺寸的限制,在采集尺寸稍大工件的三维点云时,通常需要将扫描设备放置在不同的位置分别获得局部点云,然后拼接这些局部点云得到全局点云。由于扫描设备在不同位置采集到的点云,是以局部坐标系描述的数据,通常需要经过旋转和平移等操作,将其统一到全局坐标系,这样才能与目标点云拼接。而现有的拼接方法,在面对特征不丰富的拼接对象点云时,无法得到准确的拼接结果,因此需要寻求解决方法。
发明内容
有鉴于此,为了解决上述技术问题,本发明的目的是提供一种基于参照物的点云拼接方法、装置及存储介质。
本发明采用的技术方案是:
一种基于参照物的点云拼接方法,包括:
获取目标点云以及测试点云;所述目标点云以及所述测试点云均包含参照物的点云以及拼接对象的点云;
根据所述测试点云进行第一分割处理,得到第一参照物点云,并根据所述目标点云进行第二分割处理,得到第二参照物点云;
对所述第一参照物点云以及所述第二参照物点云进行拟合处理,得到空间位姿变换矩阵;
通过所述空间位姿变换矩阵对所述测试点云进行粗配准;
根据粗配准结果以及所述目标点云进行迭代计算处理,确定目标变换矩阵;
通过所述目标变换矩阵将所述测试点云精确拼接至所述目标点云。
进一步,所述根据所述测试点云进行第一分割处理,得到第一参照物点云,并根据所述目标点云进行第二分割处理,得到第二参照物点云,包括:
对所述测试点云进行第一预处理以及对所述目标点云进行第二预处理;
对第一预处理结果进行第一分割处理得到第一参照物点云,对第二预处理结果进行第二分割处理,得到第二参照物点云。
进一步,所述对所述测试点云进行第一预处理以及对所述目标点云进行第二预处理,包括:
通过Voxel Grid滤波器对所述测试点云进行下采样,生成若干个第一三维体素栅格;其中每一所述第一三维体素栅格的每一第一三维体素均包括预设个数的第一数据点,所述测试点云包括若干个第一数据点;根据每一第一三维体素内数据点的第一横轴坐标、第一纵轴坐标、第一竖轴坐标以及预设个数,确定每一第一三维体素的第一平均横轴坐标值、第一平均纵轴坐标值以及第一平均竖轴坐标值;将所述第一平均横轴坐标值、所述第一平均纵轴坐标值以及所述第一平均竖轴坐标值作为第一质心点,得到第一预处理结果;
通过Voxel Grid滤波器对所述目标点云进行下采样,生成若干个第二三维体素栅格;其中每一所述第二三维体素栅格的每一第二三维体素均包括预设个数的第二数据点,所述目标点云包括若干个第二数据点;根据每一第二三维体素内数据点的第二横轴坐标、第二纵轴坐标、第二竖轴坐标以及预设个数,确定每一第二三维体素的第二平均横轴坐标值、第二平均纵轴坐标值以及第二平均竖轴坐标值;将所述第二平均横轴坐标值、所述第二平均纵轴坐标值以及所述第二平均竖轴坐标值作为第二质心点,得到第二预处理结果;
其中,所述第一质心点用于表征第一三维体素,所述第二质心点用于表征第二三维体素。
进一步,所述对第一预处理结果进行第一分割处理得到第一参照物点云,对第二预处理结果进行第二分割处理,得到第二参照物点云,包括:
从若干个第一三维体素中确定第一样本集,根据所述第一样本集确定第一预设模型,根据所述第一预处理结果与所述第一样本集计算所述第一样本集对应的第一余集;根据所述第一余集与第一预设模型计算第一误差;确定所述第一误差小于第一误差阈值的第一余集中第一有效样本集的数量;当所述第一有效样本集的数量大于预设数量阈值,根据第一预设模型的模型参数确定第一参照物点云,否则重新从若干个第一三维体素中确定新的第一样本集并作为所述第一样本集,返回所述根据所述第一样本集确定第一预设模型的步骤,直至所述第一有效样本集的数量大于预设数量阈值,或者直至达到确定新的第一样本集的预设迭代次数,并根据预设迭代次数中第一有效样本集的数量最大对应的第一预设模型的模型参数确定第一参照物点云;
从若干个第二三维体素中确定第二样本集,根据所述第二样本集确定第二预设模型,根据所述第二预处理结果与所述第二样本集计算所述第二样本集对应的第二余集;根据所述第二余集与第二预设模型计算第二误差;确定所述第二误差小于第二误差阈值的第二余集中第二有效样本集的数量;当所述第二有效样本集的数量大于预设数量阈值,根据第二预设模型的模型参数确定第二参照物点云,否则重新从若干个第二三维体素中确定新的第二样本集并作为所述第二样本集,返回所述根据所述第二样本集确定第二预设模型的步骤,直至所述第二有效样本集的数量大于预设数量阈值,或者直至达到确定新的第二样本集的预设迭代次数,并根据预设迭代次数中第二有效样本集的数量最大对应的第二预设模型的模型参数确定第二参照物点云。
进一步,所述对所述第一参照物点云以及所述第二参照物点云进行拟合处理,得到空间位姿变换矩阵,包括:
构建球状点云的空间球面方程;
根据所述空间球面方程以及所述第一参照物点云,通过拟合算法,确定第一参照物点云的第一球心坐标,以及根据所述空间球面方程以及所述第二参照物点云,通过拟合算法,确定第二参照物点云的第二球心坐标;
根据所述第一球心坐标以及所述第二球心坐标,解算空间位姿变换矩阵参数从而确定空间位姿变换矩阵。
进一步,所述通过所述空间位姿变换矩阵对所述测试点云进行粗配准,包括:
计算所述空间位姿变换矩阵与所述测试点云的乘积,将基于所述测试点云的坐标系描述的点云数据变换为以目标点云的坐标系描述的形式,得到粗配准结果。
进一步,所述根据所述粗配准结果以及所述目标点云进行迭代计算处理,确定目标变换矩阵,包括:
计算所述粗配准结果的最近点集;
根据所述最近点集计算配准向量;
根据所述配准向量与所述粗配准结果,更新所述粗配准结果,将更新后的粗配准结果作为所述粗配准结果,完成一次迭代,返回所述计算所述粗配准结果的最近点集的步骤,直至新的配准向量的平均差与上一次迭代的配准向量的平均差之间的差值小于预设期望阈值,确定目标变换矩阵。
本发明还提供一种基于参照物的点云拼接装置,包括:
获取模块,用于获取目标点云以及测试点云;所述目标点云以及所述测试点云均包含参照物的点云以及拼接对象的点云;
分割处理模块,用于根据所述测试点云进行第一分割处理,得到第一参照物点云,并根据所述目标点云进行第二分割处理,得到第二参照物点云;
拟合处理模块,用于对所述第一参照物点云以及所述第二参照物点云进行拟合处理,得到空间位姿变换矩阵;
粗配准模块,用于通过所述空间位姿变换矩阵对所述测试点云进行粗配准;
确定模块,用于根据粗配准结果以及所述目标点云进行迭代计算处理,确定目标变换矩阵;
拼接模块,用于通过所述目标变换矩阵将所述测试点云精确拼接至所述目标点云。
本发明还提供一种基于参照物的点云拼接装置,包括处理器以及存储器;
所述存储器存储有程序;
所述处理器执行所述程序以实现所述方法。
本发明还提供一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行时实现所述方法。
本发明的有益效果是:通过在目标点云以及测试点云中引入除拼接对象以外的参照物的点云,根据测试点云进行第一分割处理,得到第一参照物点云,并根据目标点云进行第二分割处理,得到第二参照物点云;对第一参照物点云以及第二参照物点云进行拟合处理,得到空间位姿变换矩阵;通过空间位姿变换矩阵对测试点云进行粗配准;根据粗配准结果以及目标点云进行迭代计算处理,确定目标变换矩阵;通过目标变换矩阵将测试点云精确拼接至目标点云;基于第一参照物点云以及第二参照物点云实现测试点云与目标点云的拼接,即使拼接对象的特征不丰富,也能够得到准确的拼接结果,提升了拼接的准确性。
附图说明
图1为本发明一种基于参照物的点云拼接方法的步骤流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
如图1所示,本发明实施例提供一种基于参照物的点云拼接方法,包括步骤S100-S600:
S100、获取目标点云以及测试点云。
本发明实施例中,目标点云以及测试点云均包含参照物的点云以及拼接对象的点云。需要说明的是,拼接对象的点云即需要进行拼接的对象的点云,参照物的点云即引入的参考物的点云,目标点云以及测试点云可以通过在不同的位置使用扫描仪对拼接对象以及参照物采集得到。需要说明的是,本发明实施例中参照物为球体,其他实施例中可以为其他形状的参照物,不作具体限定。
S200、根据测试点云进行第一分割处理,得到第一参照物点云,并根据目标点云进行第二分割处理,得到第二参照物点云。
具体地,步骤S200包括步骤S201-S202,步骤S201与S202不限定执行顺序:
S201、对测试点云进行第一预处理以及对目标点云进行第二预处理。
具体地,对测试点云进行第一预处理包括:通过Voxel Grid滤波器对测试点云进行下采样,生成若干个第一三维体素栅格;其中每一第一三维体素栅格的每一第一三维体素均包括预设个数的第一数据点,测试点云包括若干个第一数据点;根据每一第一三维体素内数据点的第一横轴坐标、第一纵轴坐标、第一竖轴坐标以及预设个数,确定每一第一三维体素的第一平均横轴坐标值、第一平均纵轴坐标值以及第一平均竖轴坐标值;将第一平均横轴坐标值、第一平均纵轴坐标值以及第一平均竖轴坐标值作为第一质心点,得到第一预处理结果。需要说明的是,第一质心点用于表征第一三维体素。
对测试点云进行第二预处理包括:通过Voxel Grid滤波器对目标点云进行下采样,生成若干个第二三维体素栅格;其中每一第二三维体素栅格的每一第二三维体素均包括预设个数的第二数据点,目标点云包括若干个第二数据点;根据每一第二三维体素内数据点的第二横轴坐标、第二纵轴坐标、第二竖轴坐标以及预设个数,确定每一第二三维体素的第二平均横轴坐标值、第二平均纵轴坐标值以及第二平均竖轴坐标值;将第二平均横轴坐标值、第二平均纵轴坐标值以及第二平均竖轴坐标值作为第二质心点,得到第二预处理结果。需要说明的是,第二质心点用于表征第二三维体素。
其中,第一预处理和第二预处理类似,本发明实施例中以第一预处理为例进行说明,不再赘述。具体地,在生成第一三维体素栅格时,可以通过预设规律创建若干个第一三维体素栅格,然后用每一第一三维体素栅格中的每个每一第一三维体素的质心(Centroid)来近似表示该第一三维体素,而一个第一三维体素包括预设数量(个数)个第一数据点。其中,在创建若干个第一三维体素栅格的过程中,第一三维体素的数量m与第一三维体素的体积v的设定值成反比,假设在计算每个第一三维体素的质心点(Xct,Yct,Zct)(第一平均横轴坐标值、第一平均纵轴坐标值、第一平均竖轴坐标值)时,采用下面的方程:
上面方程中,g为当前第一三维体素中第一数据点总的个数,(xi,yi,zi)为当前第一三维体素内第一数据点的三维坐标值(第一横轴坐标、第一纵轴坐标、第一竖轴坐标),这里i∈[1,g],其中,1表示当第一三维体素中的第一个数据点,i表示当前第一三维体素中当前的第一数据点。
需要说明的是,第一预处理结果包括若干个第一三维体素栅格中每一第一三维体素的第一质心点,第二预处理结果包括若干个第二三维体素栅格中每一第二三维体素的第二质心点。
S202、对第一预处理结果进行第一分割处理得到第一参照物点云,对第二预处理结果进行第二分割处理,得到第二参照物点云。
需要说明的是,第一参照物点云即从测试点云中分割出的参照物点云,第二参照物点云即从目标点云中分割出的参照物点云。
具体地,步骤S202包括步骤S2021-S2022,步骤S2021与S2022不限定执行顺序:
S2021、从若干个第一三维体素中确定第一样本集,根据第一样本集确定第一预设模型,根据第一预处理结果与第一样本集计算第一样本集对应的第一余集;根据第一余集与第一预设模型计算第一误差;确定第一误差小于第一误差阈值的第一余集中第一有效样本集的数量;当第一有效样本集的数量大于预设数量阈值,根据第一预设模型的模型参数确定第一参照物点云,否则重新从若干个第一三维体素中确定新的第一样本集并作为第一样本集,返回根据第一样本集确定第一预设模型的步骤,直至第一有效样本集的数量大于预设数量阈值,或者直至达到确定新的第一样本集的预设迭代次数,并根据预设迭代次数中第一有效样本集的数量最大对应的第一预设模型的模型参数确定第一参照物点云。
S2022、从若干个第二三维体素中确定第二样本集,根据第二样本集确定第二预设模型,根据第二预处理结果与第二样本集计算第二样本集对应的第二余集;根据第二余集与第二预设模型计算第二误差;确定第二误差小于第二误差阈值的第二余集中第二有效样本集的数量;当第二有效样本集的数量大于预设数量阈值,根据第二预设模型的模型参数确定第二参照物点云,否则重新从若干个第二三维体素中确定新的第二样本集并作为第二样本集,返回根据第二样本集确定第二预设模型的步骤,直至第二有效样本集的数量大于预设数量阈值,或者直至达到确定新的第二样本集的预设迭代次数,并根据预设迭代次数中第二有效样本集的数量最大对应的第二预设模型的模型参数确定第二参照物点云。
其中,第一分割处理和第二分割处理,本发明实施例中以第一分割处理为例进行说明,不再赘述。需要说明的是,实现从复杂点云中分割出球状的参考物点云,可以根据一组包含噪声、外点等各种缺陷的样本数据集,估计出数据的数学模型参数,并同时得到有效的样本数据,从而确定参考物点云。
具体地,(1)考虑一个最小采样集大小为n的模型(n为初始化模型参数所需的最小样本数)和一个点云样本集S(从若干个第一三维体素中确定)。S的样本数满足N(S)>n,N()为,计算数量的函数,从S中随机抽取包含n个样本的S的子集S’的球状点云样本集(第一样本集),从而进行模型初始化确定第一预设模型;
(2)根据第一预处理结果与第一样本集计算第一样本集对应的第一余集R=S-S’,将第一余集代入第一预设模型中,计算第一误差,若第一误差小于第一误差阈值,则认为当前代入而使得第一误差小于第一误差阈值的第一余集中的第一三维体素为一个第一有效样本集,通过计算可以确定第一误差小于第一误差阈值的第一余集中第一有效样本集的数量。
(3)当第一有效样本集的数量大于预设数量阈值,则认为当前的第一预设模型的参数为正确的参数,根据当前的第一预设模型的模型参数确定第一参照物点云,否则重新从若干个第一三维体素中确定新的第一样本集并作为第一样本集,返回根据第一样本集确定第一预设模型的步骤,即返回步骤(1)和(2),直至第一有效样本集的数量大于预设数量阈值,此时将当前的第一预设模型的参数为正确的参数,根据当前的第一预设模型的模型参数确定第一参照物点云;或者当达到确定新的第一样本集的预设迭代次数后,也没有得到正确的模型参数,则将预设迭代次数中第一有效样本集的数量最大对应的第一预设模型的模型参数作为最终的模型参数,从而确定第一参照物点云。需要说明的是,预设数量阈值、预设迭代次数以及第一误差阈值可以根据实际需求设定,不作具体限定。
S300、对第一参照物点云以及第二参照物点云进行拟合处理,得到空间位姿变换矩阵。
具体地,步骤S300包括步骤S301-S303:
S301、构建球状点云的空间球面方程。
通过数据拟合球状点云数据可以得到其球心坐标(x0,y0,z0)以及球体半径r0,这里球状点云的空间球面方程为:
上面方程中(x,y,z)为扫描得到的球面观测数据。需要说明的是,当(x,y,z)为第一参照物点云中的点时,球心坐标(x0,y0,z0)为第一参照物点云的第一球心坐标;当(x,y,z)为第二参照物点云中的点时,球心坐标(x0,y0,z0)为第二参照物点云的第二球心坐标。
将上述方程展开:
S302、根据空间球面方程以及第一参照物点云,通过拟合算法,确定第一参照物点云的第一球心坐标,以及根据空间球面方程以及第二参照物点云,通过拟合算法,确定第二参照物点云的第二球心坐标。
可选地,建立多元线性回归模型实现参数估计:
Y=KB+K0
其中该公式为上述展开方程的多元线性回归形式,通过解方程可以计算相应的球心坐标。其中,该公式中Y,K为方程式新观测值矩阵,B为新待估参数。K0为扫描时的偶然误差,假设对观测值Y矩阵存在影响,对系数矩阵K矩阵无影响。因此不考虑偶然误差矩阵K0对系数矩阵K的影响,可以通过最小二乘法得到新待估参数估值。需要说明的是,本发明实施例通过最小二乘法作为拟合算法,其他实施例中可以使用其他方法。具体地,当(x,y,z)为第一参照物点云中的点时,通过拟合算法确定的球心坐标(x0,y0,z0)为第一参照物点云的第一球心坐标;当(x,y,z)为第二参照物点云中的点时,通过拟合算法确定的球心坐标(x0,y0,z0)为第二参照物点云的第二球心坐标,由此得到第一参照物点云的第一球心坐标以及第二参照物点云的第二球心坐标。
S303、根据第一球心坐标以及第二球心坐标,解算空间位姿变换矩阵参数从而确定空间位姿变换矩阵。
本发明实施例中,基于参照物空间关系的点云配准可以通过第一参考物点云以及第二参照物点云两个点云数据间的对应关系,将待拼接点云(第二参照物点云)坐标系描述的点云数据变换为以目标点云坐标系描述的形式。其中,目标点云的坐标系就是采集目标点云时的扫描仪的坐标系。可选地,根据第一球心坐标以及第二球心坐标的坐标关系,解算空间位姿变换矩阵参数从而确定空间位姿变换矩阵。
S400、通过空间位姿变换矩阵对测试点云进行粗配准。
具体地,计算空间位姿变换矩阵与测试点云的乘积,将基于测试点云的坐标系描述的点云数据变换为以目标点云的坐标系描述的形式,得到粗配准结果。
S500、根据粗配准结果以及目标点云进行迭代计算处理,确定目标变换矩阵。
本发明实施例中,在粗配准后需要进行进一步的精确配准,因此需要确定变换矩阵。
具体地,步骤S500包括步骤S501-S503:
S501、计算粗配准结果的最近点集。
S502、根据最近点集计算配准向量。
S503、根据配准向量与粗配准结果,更新粗配准结果,将更新后的粗配准结果作为粗配准结果,完成一次迭代,返回计算粗配准结果的最近点集的步骤,直至新的配准向量的平均差与上一次迭代的配准向量的平均差之间的差值小于预设期望阈值,确定目标变换矩阵。
具体地,假设:1.目标点云X包含Nx个图元:点,线或三角形,点云P(粗配准结果)上有Np个点其中,Nx、Np分别根据目标点云X与点云P中的数据点确定。
2.设置P0=P,和k=0完成迭代初始化。那么按照下面的流程来执行直到容差满足收敛控制参数τ;其中t为转置,其中/>为需要迭代处理的/>的初始化形式。
(1)计算最近点集Yk=C(Pk,X);其中,C()表示最近点算子,Pk表示第k次迭代后的点云P。
(2)计算配准向量并计算配准向量的平均差;其中,/>向量为第k次迭代得到的最小二乘配准结果向量,dk表示第k次迭代的距离度量,Q()表示最小二乘配准算子。
(3)使用上一步得到的配准向量,计算采样点集的新位置:(更新粗配准结果);Pk+1第k+1次迭代后的点云P。
(4)若当前平均差与上一次平均差的变化即差值小于期望配准精度对应的预设期望阈值时,即dk-dk+1<τ,这里τ>0,终止迭代计算过程;dk+1表示第k+1次迭代的距离度量。需要说明的是,终止迭代计算过程后,得到了当前终止迭代条件对应的最佳变换矩阵,即目标变换矩阵,可以变换测试点云,实现精确配准,进而精确拼接。需要说明的是,满足迭代终止条件的向量,即为最佳的变换矩阵,即目标变换矩阵。
S600、通过目标变换矩阵将测试点云精确拼接至目标点云。
具体地,利用上述目标变换矩阵变换测试点云,从而将测试点云拼接至目标点云,例如可以为将测试点云中的拼接对象的点云精确拼接至目标点云中的拼接对象的点云中。
本发明实施例的基于参照物的点云拼接方法,能够解决特征不丰富点云的拼接问题;为了实现点云对精确快速拼接的目的,提出首先将待拼接点云实施空间位置变换;可以低成本、高精度、快速地的对特征不丰富的点云进行拼接。
本发明实施例还提供一种基于参照物的点云拼接装置,包括:
获取模块,用于获取目标点云以及测试点云;目标点云以及测试点云均包含参照物的点云以及拼接对象的点云;
分割处理模块,用于根据测试点云进行第一分割处理,得到第一参照物点云,并根据目标点云进行第二分割处理,得到第二参照物点云;
拟合处理模块,用于对第一参照物点云以及第二参照物点云进行拟合处理,得到空间位姿变换矩阵;
粗配准模块,用于通过空间位姿变换矩阵对测试点云进行粗配准;
确定模块,用于根据粗配准结果以及目标点云进行迭代计算处理,确定目标变换矩阵;
拼接模块,用于通过目标变换矩阵将测试点云精确拼接至目标点云。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本发明实施例还提供了一种基于参照物的点云拼接装置,该装置包括处理器以及存储器;
存储器用于存储程序;
处理器用于执行程序实现本发明实施例的基于参照物的点云拼接方法。本发明实施例的装置可以实现基于参照物的点云拼接的功能。该装置可以为包括手机、平板电脑、电脑、个人数字助理(Personal Digital Assistant,简称PDA)、车载电脑等任意智能终端。
上述方法实施例中的内容均适用于本装置实施例中,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有程序,该程序被处理器执行完成如前述发明实施例的基于参照物的点云拼接方法。
本发明实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述发明实施例的基于参照物的点云拼接方法。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种基于参照物的点云拼接方法,其特征在于,包括:
获取目标点云以及测试点云;所述目标点云以及所述测试点云均包含参照物的点云以及拼接对象的点云;
根据所述测试点云进行第一分割处理,得到第一参照物点云,并根据所述目标点云进行第二分割处理,得到第二参照物点云;
对所述第一参照物点云以及所述第二参照物点云进行拟合处理,得到空间位姿变换矩阵;
通过所述空间位姿变换矩阵对所述测试点云进行粗配准;
根据粗配准结果以及所述目标点云进行迭代计算处理,确定目标变换矩阵;
通过所述目标变换矩阵将所述测试点云精确拼接至所述目标点云。
2.根据权利要求1所述基于参照物的点云拼接方法,其特征在于:所述根据所述测试点云进行第一分割处理,得到第一参照物点云,并根据所述目标点云进行第二分割处理,得到第二参照物点云,包括:
对所述测试点云进行第一预处理以及对所述目标点云进行第二预处理;
对第一预处理结果进行第一分割处理得到第一参照物点云,对第二预处理结果进行第二分割处理,得到第二参照物点云。
3.根据权利要求2所述基于参照物的点云拼接方法,其特征在于:所述对所述测试点云进行第一预处理以及对所述目标点云进行第二预处理,包括:
通过Voxel Grid滤波器对所述测试点云进行下采样,生成若干个第一三维体素栅格;其中每一所述第一三维体素栅格的每一第一三维体素均包括预设个数的第一数据点,所述测试点云包括若干个第一数据点;根据每一第一三维体素内数据点的第一横轴坐标、第一纵轴坐标、第一竖轴坐标以及预设个数,确定每一第一三维体素的第一平均横轴坐标值、第一平均纵轴坐标值以及第一平均竖轴坐标值;将所述第一平均横轴坐标值、所述第一平均纵轴坐标值以及所述第一平均竖轴坐标值作为第一质心点,得到第一预处理结果;
通过Voxel Grid滤波器对所述目标点云进行下采样,生成若干个第二三维体素栅格;其中每一所述第二三维体素栅格的每一第二三维体素均包括预设个数的第二数据点,所述目标点云包括若干个第二数据点;根据每一第二三维体素内数据点的第二横轴坐标、第二纵轴坐标、第二竖轴坐标以及预设个数,确定每一第二三维体素的第二平均横轴坐标值、第二平均纵轴坐标值以及第二平均竖轴坐标值;将所述第二平均横轴坐标值、所述第二平均纵轴坐标值以及所述第二平均竖轴坐标值作为第二质心点,得到第二预处理结果;
其中,所述第一质心点用于表征第一三维体素,所述第二质心点用于表征第二三维体素。
4.根据权利要求3所述基于参照物的点云拼接方法,其特征在于:所述对第一预处理结果进行第一分割处理得到第一参照物点云,对第二预处理结果进行第二分割处理,得到第二参照物点云,包括:
从若干个第一三维体素中确定第一样本集,根据所述第一样本集确定第一预设模型,根据所述第一预处理结果与所述第一样本集计算所述第一样本集对应的第一余集;根据所述第一余集与第一预设模型计算第一误差;确定所述第一误差小于第一误差阈值的第一余集中第一有效样本集的数量;当所述第一有效样本集的数量大于预设数量阈值,根据第一预设模型的模型参数确定第一参照物点云,否则重新从若干个第一三维体素中确定新的第一样本集并作为所述第一样本集,返回所述根据所述第一样本集确定第一预设模型的步骤,直至所述第一有效样本集的数量大于预设数量阈值,或者直至达到确定新的第一样本集的预设迭代次数,并根据预设迭代次数中第一有效样本集的数量最大对应的第一预设模型的模型参数确定第一参照物点云;
从若干个第二三维体素中确定第二样本集,根据所述第二样本集确定第二预设模型,根据所述第二预处理结果与所述第二样本集计算所述第二样本集对应的第二余集;根据所述第二余集与第二预设模型计算第二误差;确定所述第二误差小于第二误差阈值的第二余集中第二有效样本集的数量;当所述第二有效样本集的数量大于预设数量阈值,根据第二预设模型的模型参数确定第二参照物点云,否则重新从若干个第二三维体素中确定新的第二样本集并作为所述第二样本集,返回所述根据所述第二样本集确定第二预设模型的步骤,直至所述第二有效样本集的数量大于预设数量阈值,或者直至达到确定新的第二样本集的预设迭代次数,并根据预设迭代次数中第二有效样本集的数量最大对应的第二预设模型的模型参数确定第二参照物点云。
5.根据权利要求1所述基于参照物的点云拼接方法,其特征在于:所述对所述第一参照物点云以及所述第二参照物点云进行拟合处理,得到空间位姿变换矩阵,包括:
构建球状点云的空间球面方程;
根据所述空间球面方程以及所述第一参照物点云,通过拟合算法,确定第一参照物点云的第一球心坐标,以及根据所述空间球面方程以及所述第二参照物点云,通过拟合算法,确定第二参照物点云的第二球心坐标;
根据所述第一球心坐标以及所述第二球心坐标,解算空间位姿变换矩阵参数从而确定空间位姿变换矩阵。
6.根据权利要求1所述基于参照物的点云拼接方法,其特征在于:所述通过所述空间位姿变换矩阵对所述测试点云进行粗配准,包括:
计算所述空间位姿变换矩阵与所述测试点云的乘积,将基于所述测试点云的坐标系描述的点云数据变换为以目标点云的坐标系描述的形式,得到粗配准结果。
7.根据权利要求1所述基于参照物的点云拼接方法,其特征在于:所述根据所述粗配准结果以及所述目标点云进行迭代计算处理,确定目标变换矩阵,包括:
计算所述粗配准结果的最近点集;
根据所述最近点集计算配准向量;
根据所述配准向量与所述粗配准结果,更新所述粗配准结果,将更新后的粗配准结果作为所述粗配准结果,完成一次迭代,返回所述计算所述粗配准结果的最近点集的步骤,直至新的配准向量的平均差与上一次迭代的配准向量的平均差之间的差值小于预设期望阈值,确定目标变换矩阵。
8.一种基于参照物的点云拼接装置,其特征在于,包括:
获取模块,用于获取目标点云以及测试点云;所述目标点云以及所述测试点云均包含参照物的点云以及拼接对象的点云;
分割处理模块,用于根据所述测试点云进行第一分割处理,得到第一参照物点云,并根据所述目标点云进行第二分割处理,得到第二参照物点云;
拟合处理模块,用于对所述第一参照物点云以及所述第二参照物点云进行拟合处理,得到空间位姿变换矩阵;
粗配准模块,用于通过所述空间位姿变换矩阵对所述测试点云进行粗配准;
确定模块,用于根据粗配准结果以及所述目标点云进行迭代计算处理,确定目标变换矩阵;
拼接模块,用于通过所述目标变换矩阵将所述测试点云精确拼接至所述目标点云。
9.一种基于参照物的点云拼接装置,其特征在于,包括处理器以及存储器;
所述存储器存储有程序;
所述处理器执行所述程序以实现如权利要求1-7中任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行时实现如权利要求1-7中任一项所述方法。
CN202110835400.4A 2021-07-23 2021-07-23 一种基于参照物的点云拼接方法、装置及存储介质 Active CN113658194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110835400.4A CN113658194B (zh) 2021-07-23 2021-07-23 一种基于参照物的点云拼接方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110835400.4A CN113658194B (zh) 2021-07-23 2021-07-23 一种基于参照物的点云拼接方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN113658194A CN113658194A (zh) 2021-11-16
CN113658194B true CN113658194B (zh) 2024-06-07

Family

ID=78489782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110835400.4A Active CN113658194B (zh) 2021-07-23 2021-07-23 一种基于参照物的点云拼接方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN113658194B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114882087B (zh) * 2022-07-12 2022-10-04 武汉瀚迈科技有限公司 针对具有不完整基本图元的三维扫描点云实时配准方法
CN116197913B (zh) * 2023-03-23 2023-12-05 广东技术师范大学 一种基于点云处理的机器人加工路径规划方法和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108133458A (zh) * 2018-01-17 2018-06-08 视缘(上海)智能科技有限公司 一种基于目标物体空间点云特征的自动拼接方法
CN109345620A (zh) * 2018-08-13 2019-02-15 浙江大学 融合快速点特征直方图的改进icp待测物体点云拼接方法
CN110363707A (zh) * 2019-06-28 2019-10-22 西安交通大学 一种基于约束物虚拟特征的多视三维点云拼接方法
CN111986239A (zh) * 2020-08-28 2020-11-24 贝壳技术有限公司 点云配准方法、装置、计算机可读存储介质及电子设备
CN112712466A (zh) * 2021-01-06 2021-04-27 武汉海达数云技术有限公司 三维点云拼接方法、装置及电子设备
WO2021129349A1 (zh) * 2019-12-26 2021-07-01 炬星科技(深圳)有限公司 激光点云地图融合方法、设备以及计算机可读存储介质
WO2021134339A1 (zh) * 2019-12-30 2021-07-08 深圳元戎启行科技有限公司 基于点云的分割处理方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108133458A (zh) * 2018-01-17 2018-06-08 视缘(上海)智能科技有限公司 一种基于目标物体空间点云特征的自动拼接方法
CN109345620A (zh) * 2018-08-13 2019-02-15 浙江大学 融合快速点特征直方图的改进icp待测物体点云拼接方法
CN110363707A (zh) * 2019-06-28 2019-10-22 西安交通大学 一种基于约束物虚拟特征的多视三维点云拼接方法
WO2021129349A1 (zh) * 2019-12-26 2021-07-01 炬星科技(深圳)有限公司 激光点云地图融合方法、设备以及计算机可读存储介质
WO2021134339A1 (zh) * 2019-12-30 2021-07-08 深圳元戎启行科技有限公司 基于点云的分割处理方法、装置、计算机设备和存储介质
CN111986239A (zh) * 2020-08-28 2020-11-24 贝壳技术有限公司 点云配准方法、装置、计算机可读存储介质及电子设备
CN112712466A (zh) * 2021-01-06 2021-04-27 武汉海达数云技术有限公司 三维点云拼接方法、装置及电子设备

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Research on Splicing method of point cloud with insufficient features based on spatial reference;diao shipu;Electronic Imaging;20210721;全文 *
三维重建中的点云拼接算法研究;王程远;中国优秀硕士学位论文全文数据库电子期刊信息科技辑;20170815;全文 *
基于特征向量的点云配准方法研究;俞浩;高飞;;合肥工业大学学报(自然科学版);20200728(07);全文 *
带有矩形参照物的可程序化点云精确拼接算法;邱望标;吕圣楠;;组合机床与自动化加工技术;20100920(09);全文 *
面向自由视角的多片三维扫描数据无约束拼接算法;程筱胜;崔海华;廖文和;戴宁;;中国机械工程;20090410(07);全文 *

Also Published As

Publication number Publication date
CN113658194A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN109409437B (zh) 一种点云分割方法、装置、计算机可读存储介质及终端
CN113658194B (zh) 一种基于参照物的点云拼接方法、装置及存储介质
CN109241844B (zh) 三维物体的姿态估计方法、装置、设备及存储介质
CN113888689A (zh) 图像渲染模型训练、图像渲染方法及装置
CN112381862B (zh) 一种cad模型与三角网格全自动配准方法和装置
CN113298870B (zh) 一种物体的姿态跟踪方法、装置、终端设备和存储介质
CN109685841B (zh) 三维模型与点云的配准方法及系统
CN113936090A (zh) 三维人体重建的方法、装置、电子设备及存储介质
CN111951335A (zh) 确定相机标定参数的方法、装置、处理器和图像采集系统
CN111612731A (zh) 基于双目显微视觉的测量方法、装置、系统及介质
CN114332191A (zh) 三维点云误差补偿方法及装置
CN110415341B (zh) 一种三维人脸模型的生成方法、装置、电子设备及介质
CN112233149A (zh) 场景流的确定方法及装置、存储介质、电子装置
CN112446952B (zh) 三维点云法向量的生成方法、装置、电子设备及存储介质
CN109816726B (zh) 一种基于深度滤波器的视觉里程计地图更新方法和系统
CN106228593B (zh) 一种图像密集匹配方法
CN115100254B (zh) 平面特征约束下对偶四元数描述的点云配准方法
CN116109685A (zh) 一种零件点云配准方法、装置、设备及介质
CN112991445B (zh) 模型训练方法、姿态预测方法、装置、设备及存储介质
CN108230377B (zh) 点云数据的拟合方法和系统
Kawai et al. Reconstruction of 3D objects by integration of multiple range data
CN115511935A (zh) 基于迭代离散化与线性插值的正态分布变换点云配准方法
CN111009029B (zh) 三维重建的数据处理方法、装置、电子设备与存储介质
CN109919998B (zh) 卫星姿态确定方法、装置和终端设备
CN113920267A (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