有效
一种已知扫描点位置下的两点点云配准方法
姜光、赵晓娜、才长帅、贾静、彭亲利
江苏濠汉信息技术有限公司
摘要
本发明公开了一种已知扫描点位置下的两点点云配准方法,其实现步骤为:(1)获取待扫描物体的点云数据;(2)预处理点云数据;(3)计算迭代次数;(4)判断当前迭代次数是否达到阈值,若是,则执行步骤(12),否则,执行步骤(5);(5)计算第一次旋转矩阵;(6)计算第二次旋转矩阵;(7)计算待配准点云的旋转矩阵;(8)计算当前正确对应点个数;(9)计算当前代价评估值;(10)更新参数;(11)判断是否达到迭代终止条件,若是,执行步骤(12),否则,执行步骤(4);(12)配准两站待配准点云。本发明需要的样本个数仅为2,采样过程中取得误匹配概率降低,配准结果可靠性高,具有配准结果精度高的优点。
1.一种已知扫描点位置下的两点点云配准方法,其特征在于,包括如下步骤:(1)获取待扫描物体的点云数据:用地面三维激光扫描仪获取待扫描物体的点云数据;(2)预处理点云数据:(2a)从点云数据中任意选取一个站点的点云数据,将选取的点云数据的原点平移至所选取站点的扫描点位置,将平移后的点云数据作为第一站待配准点云;(2b)从第一站待配准点云平移前的点云数据附近任意选取一个站点的点云数据,将选取的点云数据的原点平移至所选取站点的扫描点位置,将平移后的点云数据作为第二站待配准点云;(2c)利用局部特征匹配方法,提取第一站待配准点云中与第二站待配准点云中相匹配的点对,组成两站待配准点云的对应点集,对应点集中包含正确对应点和错误对应点;(3)利用迭代次数计算函数,计算迭代次数,确定迭代次数的最大值和最小值;(4)判断当前迭代次数是否小于最小迭代次数或小于上次最大迭代次数,若是,则执行步骤(5);否则,执行步骤(12);(5)计算两站待配准点云的第一次旋转矩阵:(5a)从两站待配准点云的对应点集中,任意选取一组对应点作为样本A;(5b)以第一站待配准点云的扫描点位置为球心O 1 ,第一站待配准点云的扫描点位置到样本A中第一个点的欧式距离为半径,做球面S 1 ;(5c)以第二站待配准点云的扫描点位置为球心O 2 ,第二站待配准点云的扫描点位置到样本A中第二个点的欧式距离为半径,做球面S 2 ;(5d)判断两个球面的半径之和是否大于两个球心之间的欧式距离,若是,则执行步骤(5e);否则,执行步骤(5a);(5e)在两个球面的相交圆环的边缘上任取一点作为配准点;(5f)按照下式,计算样本A中的第一个点、球心O 1 、配准点三点所在平面的法向量:其中,n 1 表示样本A中的第一个点、球心O 1 、配准点三点所在平面的法向量, 表示向量符号,×表示向量叉乘操作,|·|表示向量的单位化操作,P 1 表示样本A中的第一个点,O 1 表示球面S 1 的球心,C表示配准点;(5g)按照下式,计算球心O 1 和样本A中的第一个点确定的直线与球心O 1 和配准点确定的直线间的夹角:其中,α 1 表示球心O 1 和样本A中的第一个点确定的直线与球心O 1 和配准点确定的直线间的夹角,arccos表示反余弦操作,r 1 表示球面S 1 的半径,d 1 表示样本A中第一个点到配准点的欧式距离;(5h)将法向量n 1 和夹角α 1 代入绕任意轴旋转矩阵,得到第一站待配准点云的第一次旋转矩阵;(5i)按照下式,计算样本A中的第二个点、球心O 2 、配准点三点所在平面的法向量:其中,n 2 表示样本A中的第二个点、球心O 2 、配准点三点所在平面的法向量, 表示向量符号,×表示向量叉乘操作,|·|表示向量的单位化操作,Q 1 表示样本A中的第二个点,O 2 表示球面S 2 的球心;(5j)通过下式,计算球心O 2 和样本A中第二个点确定的直线与球心O 2 和配准点确定的直线间的夹角:其中,α 2 表示球心O 2 和样本A中第二个点确定的直线与球心O 2 和配准点确定的直线间的夹角,r 2 表示球面S 2 的半径,d 2 表示样本A中第一个点到配准点的欧式距离;(5k)将法向量n 2 和夹角α 2 代入绕任意轴旋转矩阵,得到第二站待配准点云的第一次旋转矩阵;(6)计算两站待配准点云的第二次旋转矩阵:(6a)从两站待配准点云的对应点集中,任意选取除样本A之外的一组对应点,作为样本B;(6b)以球心O 1 到匹配点的向量为旋转轴,将样本B中的第一个点旋转一个 角度,其中,arctan表示反正切操作,F表示点云数据的精度,d表示球心O 1 到球心O 2 的欧式距离;(6c)以球心O 2 到匹配点的向量为旋转轴,将样本B中的第二个点旋转 角度,记录本次样本B中两个点的欧式距离及其对应的两个点的旋转角度;(6d)判断样本B中的第二个点的旋转角度是否大于360°,若是,则将样本B中第二个点的旋转角度置为0后执行步骤(6e);否则,执行步骤(6c);(6e)判断样本B中的第一个点的旋转角度是否大于360°,若是,则执行步骤(6f);否则,执行步骤(6b);(6f)在所有旋转记录中,寻找样本B中两个点的欧式距离最小时对应的样本B中第一个点的旋转角度β 1 和第二个点的旋转角度β 2 ;(6g)将球心O 1 到匹配点的向量和旋转角度β 1 ,代入绕任意轴旋转矩阵中,得到第一站待配准点云的第二次旋转矩阵;(6h)将球心O 2 到匹配点的向量和旋转角度β 2 ,代入绕任意轴旋转矩阵中,得到第二站待配准点云的第二次旋转矩阵;(7)计算当前的两站待配准点云的旋转矩阵:(7a)将第一站待配准点云的第二次旋转矩阵与第一次旋转矩阵相乘,得到第一站待配准点云的旋转矩阵;(7b)将第二站待配准点云的第二次旋转矩阵与第一次旋转矩阵相乘,得到第二站待配准点云的旋转矩阵;(8)计算当前正确对应点个数:(8a)对两站待配准点云的对应点集进行配准,得到配准后的对应点集;(8b)将配准后的对应点集中所有满足欧式距离阈值的对应点数,作为当前正确对应点的个数;(9)利用代价函数,计算当前代价评估值;(10)更新参数:(10a)判断当前正确对应点个数是否等于上次正确对应点个数,若是,执行步骤(10b);否则,执行步骤(10c);(10b)判断当前代价评估值是否小于上次代价评估值,若是,用当前代价评估值更新上次代价评估值后执行步骤(10e);否则,执行步骤(10c);(10c)判断当前正确对应点个数是否大于上次正确对应点个数,若是,执行步骤(10d);否则,执行步骤(11);(10d)用当前正确对应点个数更新上次正确对应点个数,利用迭代次数计算函数,计算当前最大迭代次数,用当前最大迭代次数更新上次最大迭代次数;(10e)用当前两站待配准点云的旋转矩阵更新上次两站待配准点云的旋转矩阵;(11)判断当前正确对应点个数是否等于两站待配准点云的对应点集包含的点对数,若是,执行步骤(12);否则,将当前迭代次数加1后执行步骤(4);(12)配准两站待配准点云:按照下式,对两站待配准点云中的每个点进行配准,完成两站待配准点云的配准:X i =R 1 *(P i -O 1 )+O 1Y i =R 2 *(Q i -O 2 )+O 2其中,X i 表示对第一站待配准点云中第i个点进行配准后得到的点,R 1 表示第一站待配准点云的旋转矩阵,P i 表示第一站待配准点云中第i个点,Y i 表示对第二站待配准点云中第i个点进行配准后得到的点,R 2 表示第二站待配准点云的旋转矩阵,Q i 表示第二站待配准点云中第i个点。
2.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(2a)、步骤(2b)、步骤(5b)、步骤(5c)中所述站点的扫描点位置是指,利用地面三维激光扫描仪配备的高精度全球定位系统GPS设备所确定的站点对应的地面三维激光扫描仪的扫描点位置。
3.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(2c)中所述的局部特征匹配方法是指,使用局部特征描述子对两站待配准点云中的点做局部特征描述,用局部特征对两站待配准点云之间的点进行相似性匹配,将所有的匹配点的集合作为两站待配准点云的对应点集。
4.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(3)、步骤(10d)中所述的迭代次数计算函数如下:其中,K表示迭代次数, 表示向上取整操作,log表示以10为底的对数操作,η 0 表示两站待配准点云的对应点集中的所有点均为正确对应点的概率,其取值范围为[0.95,0.99], 表示从m个不同元素中取出n个元素的组合数操作,N表示两站待配准点云的对应点集包含的对应点个数,N in 在计算最小迭代次数时表示预估计的正确对应点个数,在计算最大迭代次数时表示当前正确对应点个数。
5.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(4)、步骤(10d)中所述的上次最大迭代次数是指,在第一次迭代时的最大迭代次数为10 6 ,其余迭代过程中的最大迭代次数为当前迭代之前更新的最大迭代次数。
6.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(8a)中所述的对两站待配准点云的对应点集进行配准是按照下式实现的:M={(R 1 *(P i -O 1 )+O 1 ,R 2 *(Q i -O 2 )+O 2 )}其中,M表示两站待配准点云的对应点集进行配准后的对应点集,{}表示集合符号,(·,·)表示对应点对符号,R 1 表示当前第一站待配准点云的旋转矩阵,P i 表示在两站待配准点云的对应点集中属于第一站待配准点云的第i个点,R 2 表示当前第二站待配准点云的旋转矩阵,Q i 表示在两站待配准点云的对应点集中属于第二站待配准点云的第i个点。
7.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(9)中所述的代价函数如下:其中,J表示两站待配准点云的完成一次配准的代价评估值,N表示两站待配准点云的对应点集包含的点对数,∑表示求和操作,R i 在配准后的对应点集中第i个对应点的欧式距离大于对应点的欧式距离阈值时,R i 表示对应点的欧式距离阈值,否则,R i 表示配准后的对应点集中第i个对应点的欧式距离;I j 在配准后的对应点集中第i个对应点的欧式距离大于对应点的欧式距离阈值时,I j 表示0,否则,I j 表示1。
8.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(10a)、步骤(10c)、步骤(10d)中所述的上次正确对应点个数是指,在第一次迭代时的正确对应点个数为2,其余迭代过程中的正确对应点个数为当前迭代之前更新的正确对应点个数。
9.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(10b)中所述的上次代价评估值是指,第一次迭代时的代价评估值为10 6 ,其余迭代过程中的代价评估值为当前迭代之前更新的代价评估值。
10.根据权利要求1所述的一种已知扫描点位置下的两点点云配准方法,其特征在于,步骤(10e)中所述的上次两站待配准点云的旋转矩阵是指,在第一次迭代时的两站待配准点云的旋转矩阵为步骤5计算出的两站待配准点云的第一次旋转矩阵,其余迭代过程中的两站待配准点云的旋转矩阵为当前迭代之前更新的两站待配准点云的旋转矩阵。





