一种点云精准拼接方法转让专利

申请号 : CN202010392869.0

文献号 : CN111652801B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵晓芳刘华珠肖武艺姚娜

申请人 : 东莞理工学院

摘要 :

本发明公开了一种点云精准拼接方法,其对传统的ICP算法进行了优化改进,其利用SAC‑IA初始配准后的点云关系,为接下来的点云拼接提供了良好的初始旋转平移矩阵,使其不陷入局部最小值,从而可实现正确的配准拼接;并通过对每个点集进行ISS3D关键点检测,将采用具有特征的关键点进行对应点集搜索来实现高精度的识别匹配和减少计算量;而且还通过采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点,并在搜索完对应点对后,根据预设的剔除条件对错误匹配点对进行剔除。利用本发明提供的点云拼接方法,相对于基于传统ICP算法的拼接方法,其具有更高的准确性和更好的计算速度。

权利要求 :

1.一种点云精准拼接方法,其特征在于:所述方法步骤包括:步骤S10、对物体点云分别提取ISS3D特征点和相应的FPFH特征描述子,并将提取的ISS3D特征点和FPFH特征描述子作为该物体基于RANSAC算法的初试配准,计算出用于点云拼接的初始旋转平移矩阵;

其中,在对物体点云进行ISS3D特征点和相应的FPFH特征描述子进行提取时,先提取ISS3D关键点pf=[x,y,z],再通过在多维空间中构建Kdtree的方式来将构建高维向量的拓扑关系,以方便查询特征向量的近邻向量;对相邻的两帧点云Csrc与Ctgt提取关键点和提取对应的局部特征FPFH直方图,并用向量表示;对Csrc中每一个关键点pi,利用Kdtree算法在Ctgt中查找k个与pi点的FPFH特征向量相近邻的点,构成候选点集,并从候选点集中选取一点作为对应点集,构成(pi,qi)对应点集;

步骤S20、对每个(pi,qi)对应点集进行ISS3D关键点检测,采用具有特征的关键点进行对应点集搜索;

步骤S30、在对关键点进行对应点集搜索的过程中,当利用Kdtree算法搜索点对点最近邻方式出现错误匹配点对时,则采用以下搜索方式搜索对应点:将采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点,并在搜索完对应点对后,根据预设的剔除条件对错误匹配点对进行剔除;

步骤S40、通过求解SVD得到旋转平移矩阵,当满足收敛条件δ=|ΔEK‑ΔEK1|/M≤ε,其中M为归一化系数且ε>0或者达到最大迭代次数TM,即可获得最优的变换矩阵TE,从而完成点云的精确拼接;

所述步骤S10中,在利用RANSAC算法的初试配准中,利用随机采样的方法计算获得含有最多内点的旋转变换模型,其利用处于两点云上不同直线上的关键点对(pi,qi),i=1,2,3,先将pi和qi视为一对正确点对,利用点对估计旋转变换模型的转换参数[R|T];对于剩余点对中任一点对(pi,qi),i=1,2,3,计算距离:d=||Rp+T‑q||;

若距离d小于某一给定的阈值,则称该点对(p,q)为内点;若d大于给定阈值,则点对为外点;

统计每组转换参数[R|T]对应的内点数目n,直至达到最大迭代次数;当满足最大内点数n的转换参数[R|T]则为旋转变换模型的最佳参数,利用SVD分解计算n对内点的转换矩阵,完成初始配准,得到用于点云拼接的初始旋转平移矩阵;

在所述步骤S20中,所述ISS3D关键点的通过以下方法获取:‑1

(1)建立散布矩阵C并对其EVD分解:V CV=D;所述散布矩阵公式为:其中radius是支撑域大小,pj是pi支撑域内的邻居点;D是主对角线元素为特征值{λ1,λ2,λ3}的对角矩阵,V={λ1,λ2,λ3}是包含对应特征值λi特征向量vi的正交矩阵;

(2)将不满足 条件的ISS3D特征点淘汰掉,获得ISS3D关键点。

2.根据权利要求1所述的点云精准拼接方法,其特征在于:所述步骤S30中,所述采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点的具体搜索方法为:

设p为点云P内的一点,M1,M2,M3为离p最近的三点,M1,M2,M3三点连接组成三角形ΔM1M2M3,设p在ΔM1M2M3上的垂足为q,若q在ΔM1M2M3内,此时垂足q即为对应点;若q在ΔM1M2M3外,则取M1,M2,M3三点中距离垂足点q最近的点作对应点。

3.根据权利要求2所述的点云精准拼接方法,其特征在于:所述步骤S30中所述预设的剔除条件包括:

(1)在搜索对应点对中,剔除两两点对法线大于预设角度A的点对;

(2)在对两两点云拼接时,设定颜色阈值TRGB,计算任一点pi与其搜索点pj之间的RGB值的差值dRGB,若dRGB>TRGB,则剔除点pj与点pi这一点对。

4.根据权利要求3所述的点云精准拼接方法,其特征在于:所述预设角度A的取值范围为32°‑38°;所述颜色阈值TRGB的取值范围为10‑20。

说明书 :

一种点云精准拼接方法

技术领域

[0001] 本发明涉及点云处理技术领域,具体涉及一种点云精准拼接方法。

背景技术

[0002] 在三维重建方法中,通常需要用到ICP(Iterative Closest Point,迭代最近点)算法进行点云配准;点云配准,是指将多个拥有相同区域的点云片段融合到相同坐标系下。
ICP算法是基于最小二乘法的最优匹配算法,它重复进行“确定对应关系点集‑计算最优刚
体变换”的过程,直到表示正确匹配的收敛准则被满足,最终获得目标点集与参考点之间的
旋转矩阵R和平移矩阵T。该算法具有简单且计算复杂度低的优势,不过结果准确性严重依
赖初始配准位置以及配准点集有无噪声点。
[0003] 目前,现有三维重建方法中基于传统的ICP算法的点云拼接主要存在以下几点不足之处:
[0004] (1)使用传统ICP算法配准时对点云的初始位置要求很高,需要两个点云在相同坐标系内,如果两个点云距离很远,则很容易匹配错误,最终导致配准失败。
[0005] (2)传统ICP算法是使点云中每个点均参与对应点的查找,在进行点云配准时,需要点与点之间组成对应点对,而如果点云内的点个数多,需要匹配的点对就多,计算量就变
大,耗时变久;相反,计算量变小,耗时减少。因此,点云中需要进行配对的点对的个数是影
响配准速度的关键。
[0006] (3)传统ICP算法对每一个点搜索另一点集的对应近点时,采用了kdtree的最近邻点搜索方法,其利用穷举欧氏距离的方法进行匹配点查询,这种方法运算量大、运算时间
长、并且方法鲁棒性差;基于点对点由于随机采样的方式可能搜索到不存在对应点对,以及
搜索到错误的对应点对,没有对其剔除,这些因素都会导致两个点云点集之间的最终配准
错误。

发明内容

[0007] 为了克服现有技术中的不足,本发明提供一种点云精准拼接方法,以解决现有技术中在点云拼接中存在的容易导致点云配准错误,配准速度较慢的缺陷。
[0008] 本发明是通过以下技术方案实现的:
[0009] 一种点云精准拼接方法,所述方法步骤包括:
[0010] 步骤S10、对物体点云分别提取ISS3D特征点和相应的FPFH特征描述子,并将提取的ISS3D特征点和FPFH特征描述子作为该物体基于RANSAC算法的初试配准,计算出用于点
云拼接的初始旋转平移矩阵;
[0011] 其中,在对物体点云进行ISS3D特征点和相应的FPFH特征描述子进行提取时,先提取ISS3D关键点pf=[x,y,z],再通过在多维空间中构建Kdtree的方式来将构建高维向量的
拓扑关系,以方便查询特征向量的近邻向量;对相邻的两帧点云Csrc与Ctgt提取关键点和提
取对应的局部特征FPFH直方图,并用向量表示;对Csrc中每一个关键点pi,利用Kdtree算法
在Ctgt中查找k个与pi点的FPFH特征向量相近邻的点,构成候选点集,并从候选点集中选取
一点作为对应点集,构成(pi,qi)对应点集;
[0012] 步骤S20、对每个(pi,qi)对应点集进行ISS3D关键点检测,采用具有特征的关键点进行对应点集搜索;
[0013] 步骤S30、在对关键点进行对应点集搜索的过程中,当利用Kdtree算法搜索点对点最近邻方式出现错误匹配点对时,则采用以下搜索方式搜索对应点:将采用点与到另一点
云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点,并在搜索完对应点对
后,根据预设的剔除条件对错误匹配点对进行剔除;
[0014] 步骤S40、通过求解SVD得到旋转平移矩阵,当满足收敛条件δ=|ΔEK‑ΔEK1|/M≤ε,其中M为归一化系数,且ε>0或者达到最大迭代次数TM,即可获得最优的变换矩阵TE,从而
完成点云的精确拼接。
[0015] 作为优选,所述步骤S10中,在利用RANSAC算法的初试配准中,利用随机采样的方法计算获得含有最多内点的旋转变换模型,其利用处于两点云上不同直线上的关键点对
(pi,qi),i=1,2,3,先将pi和qi视为一对正确点对,利用点对估计旋转变换模型的转换参数
[R|T];对于剩余点对中任一点对(pi,qi),i=1,2,3,计算距离:d=||Rp+T‑q||;
[0016] 若距离d小于某一给定的阈值,则称该点对(p,q)为内点;若d大于给定阈值,则点对为外点;
[0017] 统计每组转换参数[R|T]对应的内点数目n,直至达到最大迭代次数;当满足最大内点数n的转换参数[R|T]则为旋转变换模型的最佳参数,利用SVD分解计算n对内点的转换
矩阵,完成初始配准,得到用于点云拼接的初始旋转平移矩阵。
[0018] 作为优选,在所述步骤S20中,所述ISS3D关键点的通过以下方法获取:
[0019] (1)建立散布矩阵C并对其EVD分解:V‑1CV=D;所述散布矩阵公式为:
[0020]
[0021] 其中radius是支撑域大小,pj是pi支撑域内的邻居点;D是主对角线元素为特征值{λ1,λ2,λ3}的对角矩阵,V={λ1,λ2,λ3}是包含对应特征值λi特征向量vi的正交矩阵;
[0022] (2)将不满足 条件的ISS3D特征点淘汰掉,获得ISS3D关键点。
[0023] 作为优选,所述步骤S30中,所述采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点的具体搜索方法为:
[0024] 设p为点云P内的一点,M1,M2,M3为离p最近的三点,M1,M2,M3三点连接组成三角形ΔM1M2M3,设p在ΔM1M2M3上的垂足为q,若q在ΔM1M2M3内,此时垂足q即为对应点;若q在ΔM1M2M3
外,则取M1,M2,M3三点中距离垂足点q最近的点作对应点。
[0025] 作为优选,所述步骤S30中所述预设的剔除条件包括:
[0026] (1)在搜索对应点对中,剔除两两点对法线大于角预设角度A的点对;
[0027] (2)在对两两点云拼接时,设定颜色阈值TRGB,计算任一点pi与其搜索点pj之间的RGB值的差值dRGB,若dRGB>TRGB,则剔除点pj与点pi这一点对。
[0028] 本发明提供的点云精准拼接方法,其对传统的ICP算法进行了优化改进,其利用SAC‑IA初始配准后的点云关系,为接下来的点云拼接提供了良好的初始旋转平移矩阵,使
其不陷入局部最小值,从而可实现正确的配准拼接;并通过对每个点集进行ISS3D关键点检
测,将采用具有特征的关键点进行对应点集搜索来实现高精度的识别匹配和减少计算量;
而且还通过采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判断搜
索对应点,并在搜索完对应点对后,根据预设的剔除条件对错误匹配点对进行剔除;因此利
用本发明提供的点云拼接方法,其拼接的准确性和速度也更好。

附图说明

[0029] 附图1是本发明实施例提供的一种点云精准拼接方法的方法流程示意图;
[0030] 附图2是本发明实施例所述垂足q在三角形ΔM1M2M3的位置示意图。

具体实施方式

[0031] 为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述。
[0032] 一种点云精准拼接方法,如附图1所示,所述方法步骤包括:
[0033] 步骤S10、采用SAC‑IA首配准的方式,计算出点云拼接的初始旋转平移矩阵,具体为:
[0034] 对物体点云分别提取ISS3D特征点和相应的FPFH特征描述子,并将提取的ISS3D特征点和FPFH特征描述子作为该物体基于RANSAC算法的初试配准,计算出用于点云拼接的初
始旋转平移矩阵;
[0035] 其中,在对物体点云进行ISS3D特征点和相应的FPFH特征描述子进行提取时,先提取ISS3D关键点pf=[x,y,z],再通过在多维空间中构建Kdtree的方式来将构建高维向量的
拓扑关系,由于FPFH是33维度的高维向量,因此通过在33维空间中构建Kdtree的方式来将
构建高维向量的拓扑关系,以方便查询特征向量的近邻向量;
[0036] 对相邻的两帧点云Csrc与Ctgt提取关键点和提取对应的局部特征FPFH直方图,并用向量表示;对Csrc中每一个关键点pi,利用Kdtree算法在Ctgt中查找k个与pi点的FPFH特征向
量相近邻的点,构成候选点集,并从候选点集中选取一点作为对应点集,构成(pi,qi)对应点
集;
[0037] 步骤S20、对每个(pi,qi)对应点集进行ISS3D关键点检测,采用具有特征的关键点进行对应点集搜索;由ISS3D关键点方法提取的关键点能保持原始点云重要几何特性,对点
云能很好的进行描述,因此计算出来的特征能够唯一地描述原始点云,从而保持高精度的
物体识别与匹配。同时拼接计算量变小,耗时减少;
[0038] 步骤S30、在对关键点进行对应点集搜索的过程中,当利用Kdtree算法搜索点对点最近邻方式出现错误匹配点对时,则采用以下搜索方式搜索对应点:将采用点与到另一点
云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点,并在搜索完对应点对
后,根据预设的剔除条件对错误匹配点对进行剔除;
[0039] 步骤S40、通过求解SVD(Singular value decomposition:奇异值分解)得到旋转平移矩阵,当满足收敛条件δ=|ΔEK‑ΔEK1|/M≤ε,其中M为归一化系数且ε=0,或者达到最
大迭代次数TM,即可获得最优的变换矩阵TE,从而完成点云的精确拼接。
[0040] 具体地,所述步骤S10中,在利用RANSAC算法的初试配准中,利用随机采样的方法计算获得含有最多内点的旋转变换模型,其利用处于两点云上不同直线上的关键点对(pi,
qi),i=1,2,3,先将pi和qi视为一对正确点对,利用点对估计旋转变换模型的转换参数[R|
T];对于剩余点对中任一点对(pi,qi),i=1,2,3,计算距离:
[0041] d=||Rp+T‑q||;
[0042] 若距离d小于某一给定的阈值,则称该点对(p,q)为内点;若d大于给定阈值,则称该点对(p,q)为外点;
[0043] 统计每组转换参数[R|T]对应的内点数目n,直至达到最大迭代次数;当满足最大内点数n的转换参数[R|T]则为旋转变换模型的最佳参数,利用SVD分解计算n对内点的转换
矩阵,完成初始配准,得到用于点云拼接的初始旋转平移矩阵。
[0044] ISS3D是一种基于散布矩阵特征值分解(EigenValue Decomposition,EVD)的特征提取方法。散布矩阵也称作PCA矩阵或协方差矩阵。
[0045] 由于ISS3D是固定尺度的特征点检测方法,其特征点提取时支撑域的半径radius大小需要一开始确定,然后围绕目标点建立一个radius大小的半径球,将半径球内的所有
顶点作为目标点的邻居点。通常支撑域取平均网格分辨率的6倍大小。在求支撑域问题上,
由于三维点云数据本身缺失了网格数据的拓扑信息,在查找邻域关系时特别复杂和费时,
常用K‑D树加速求解支撑域。为了更加精确的确定特征点,采用非极大值抑制NMS搜索局部
极大值。
[0046] 在其中一个优选的实施例中,在所述步骤S20中,所述ISS3D关键点的通过以下方法获取:
[0047] (1)建立散布矩阵C并对其EVD分解:V‑1CV=D;所述散布矩阵公式为:
[0048]
[0049] 其中radius是支撑域大小,pj是pi支撑域内的邻居点;D是主对角线元素为特征值{λ1,λ2,λ3}的对角矩阵,V={λ1,λ2,λ3}是包含对应特征值λi特征向量vi的正交矩阵;
[0050] (2)将不满足 条件的ISS3D特征点淘汰掉,获得ISS3D关键点。
[0051] 在其中一个优选的实施例中,所述步骤S30中,所述采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判断搜索对应点的具体搜索方法为:
[0052] 设p为点云P内的一点,M1,M2,M3为离p最近的三点,M1,M2,M3三点连接组成三角形ΔM1M2M3,设p在三角形ΔM1M2M3上的垂足为q,若q在ΔM1M2M3内,此时垂足q即为对应点;若q在
ΔM1M2M3外,则取M1,M2,M3三点中距离垂足点q最近的点作为对应点。
[0053] 具体请参阅下图2:其中,图2a为垂足q在三角形ΔM1M2M3内的示意图,图2b为垂足q在三角形ΔM1M2M3外的示意图。
[0054] 根据垂足q在三角形ΔM1M2M3中的位置,对应点的计算获取方法如下:
[0055] 设M1,M2,M3三点的坐标为分别为(Mj,Nj,Hj),j=1,2,3。由上述公式d=||Rp+T‑q||可求出垂足q(x,y,z),获得q与M1,M2,M3构成的向量pM1,pM2,pM3,计算三者qM1×qM2,qM2×
qM3与qM3×qM1,如果三者同号,证明垂足q在ΔM1M2M3内,此时垂足即为对应点。
[0056] 否则,q在ΔM1M2M3外,此时去取距离垂足点最近的点作对应点,距离垂足点q最近的点的计算方法公式如下:
[0057]
[0058] 其中,a0,b0,c0求解如计算公式如下:
[0059]
[0060] 在搜索万对应点对后,通过一下预设的剔除条件对错误匹配点对进行剔除:
[0061] (1)在搜索对应点对中,剔除两两点对法线大于预设角度A的点对;由于在本发明实施例中,对两两点云进行拼接时,深度相机对每个方位获取数据的角度不超过30°,因此
本实施例中,在搜索对应点对中,剔除两两点对法线大于预设角度A的取值范围优选为32°‑
38°,具体可选为35°。
[0062] (2)同时在对两两点云拼接时,由于采用彩色点云,故可对RGB值作为剔除错误匹配点对的条件,在对两两点云拼接时,设定颜色阈值TRGB,计算任一点pi与其搜索点pj之间的
RGB值的差值dRGB,若dRGB>TRGB,则剔除点pj与点pi这一点对。其中,所述颜色阈值TRGB的取值范
围可选为10‑20,本实施例中所述颜色阈值TRGB优选为13或15。
[0063] 与现有基于传统的ICP算法的点云拼接方法相比,本发明的主要优点有:
[0064] (1)使用传统ICP算法配准时对点云的初始位置要求很高,需要两个点云在相同坐标系内,如果两个点云距离很远,则很容易匹配错误,最终导致配准失败;
[0065] 而本发明提供的点云拼接方法,其利用SAC‑IA初始配准后的点云关系,为接下来的拼接提供了良好的初始旋转平移矩阵,使其不陷入局部最小值,从而可实现正确的配准
拼接。
[0066] (2)传统ICP算法是使点云中每个点均参与对应点的查找,在进行点云配准时,需要点与点之间组成对应点对,而如果点云内的点个数多,需要匹配的点对就多,计算量就变
大,耗时变久;相反,计算量变小,耗时减少,因此,传统ICP算法中,其速度较慢,耗时长;
[0067] 而本发明提供的点云拼接方法,其不对点集中的每个点进行搜索,而将对每个点集进行ISS3D关键点检测,将采用具有特征的关键点进行对应点集搜索。由于ISS3D关键点
方法提取的关键点能保持原始点云重要几何特性,对点云能很好的进行描述,因此计算出
来的特征能够唯一地描述原始点云,从而保持高精度的物体识别与匹配,同时拼接计算量
变小,耗时减少。
[0068] (3)传统ICP算法对每一个点搜索另一点集的对应近点时,采用了kdtree的最近邻点搜索方法,其利用穷举欧氏距离的方法进行匹配点查询,这种方法运算量大、运算时间
长、并且方法鲁棒性差;同时,基于点对点由于随机采样的方式可能搜索到不存在对应点
对,以及搜索到错误的对应点对,没有对其剔除,这些因素都会导致两个点云点集之间的最
终配准错误;
[0069] 而本发明提供的点云拼接方法,当利用Kdtree算法搜索点对点最近邻方式出现错误匹配点对时,则采用点与到另一点云中最近三点所构成的三角形之间的位置关系进行判
断搜索对应点,并在搜索完对应点对后,根据预设的剔除条件对错误匹配点对进行剔除;因
此利用本发明提供的点云拼接方法,其拼接的准确性更高,计算处理速度也更快。
[0070] 上述实施例中提到的内容为本发明较佳的实施方式,并非是对本发明的限定,在不脱离本发明构思的前提下,任何显而易见的替换均在本发明的保护范围之内。