一种利用可移动空间网格精简点云数据的方法

文档序号:6619673阅读:231来源:国知局
一种利用可移动空间网格精简点云数据的方法
【专利摘要】本发明公开了一种利用可移动空间网格精简点云数据的方法,包括:三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一包围盒为点云数据的最小外包立方体或长方体;给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点;平移第一外包盒,得到第二外包盒;在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。本发明在精简点云数据的效果和时间效率上有很大的优化和提高。
【专利说明】—种利用可移动空间网格精简点云数据的方法

【技术领域】
[0001]本发明涉及点云数据精简技术,特别涉及一种利用可移动空间网格精简点云数据的方法。

【背景技术】
[0002]近年来,三维激光技术在测绘领域的应用越来越广泛。然而由于通过扫描获取的点云数据具有冗余量大、存在误差以及规则性弱等特点,直接处理原始点云将会耗费大量的时间和资源,因此一般在进行点云数据的后处理之前都要进行预处理工作,包括点云去噪、点云精简、数据分块等等。点云精简是最为基本且非常重要的一步,同时也是逆向工程目前的研究热点之一。
[0003]点云精简最初的一些方法只是简单基于点之间距离、曲率、法向等原则,而目前点云精简的方法主要集中在以下几种典型方法:包围盒法、基于几何图像精简法、基于曲率精简法、基于法向精度精简法。
[0004]国外很多学者早就在点云精简这一领域探索出了很多解决方案。如Filip等人采用了包围盒法来精简点云数据,速度非常快,但只能用于处理均匀分布的点云;Alexa等人依据点云对最小二乘移动曲面的影响程度这一权重来进行点云的精简,且通过重采样保证了点云的密度,但其算法过程较为复杂;Chen.Y.H提出了先对点云进行三角网格化,通过精简三角网格数量来减少点云数量的方法,但往往构建三角网过程较繁杂。
[0005]国内学者针对点云精简也有很多研究,张丽艳在用Riemann图建立散乱测点间的k邻近的基础上,提出了简化后数据集中点的个数、数据集中点的密度阈值及删除一点引起的法向误差的阈值这三种简化准则进行点云的精简,三种算法效率较高且精简效果较好,但是较算法中的邻近点个数K难以确定合适值;Xiao提出了一种非均匀点云的精简算法,主要依据各点与KD-tree包围球中心法向内积的阈值进行点云的精简,算法达到的精简效果很好,但是KD-tree包围球的半径难以计算,且法向内积计算量较大;王仁方等提出了基于几何图像的精简算法和随机采样方法,精简效率非常高,但容易丢失点云特征;倪小军提出了一种特征保留的点云自适应的精简算法,将点云划分为特征点和非特征点,保留特征点,而非特征点则通过计算自适应精简距离阈值进行精简处理,算法速度较快,能够较好地保留点云中的几何特征,但算法较依赖于点集的权重系数和初始设定的距离阈值。


【发明内容】

[0006]本发明针对目前点云数据精简中存在的不足,设计开发了一种利用可移动空间网格精简点云数据的方法。
[0007]本发明提供的技术方案为:
[0008]一种利用可移动空间网格精简点云数据的方法,包括:
[0009]步骤1、三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一包围盒为点云数据的最小外包立方体或长方体;
[0010]步骤2、给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点;
[0011]步骤3、平移第一外包盒,得到第二外包盒,且第二包围盒包围所有步骤2中筛选出的点;
[0012]步骤4、在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。
[0013]优选的是,所述的利用可移动空间网格精简点云数据的方法中,所述步骤I具体为:
[0014]三维扫描仪采集被测对象的点云数据,在点云数据中查找最大三维坐标值的点,若存在,则取该点作为三维坐标值最大的点,若不存在,则根据点云数据中的点在X轴上的最大坐标值、在Y轴上的最大坐标值和在Z轴上的最大坐标值,创建一个虚拟的三维坐标值最大的点;在点云数据中查找最小三维坐标值的点,若存在,则取该点作为三维坐标值最小的点,若不存在,则根据点云数据中的点在X轴上的最小坐标值、在Y轴上的最小坐标值和在Z轴上的最小坐标值,创建一个虚拟的三维坐标值最小的点;依据最大三维坐标值的点和最小三维坐标值的点,创建第一外包盒。
[0015]优选的是,所述的利用可移动空间网格精简点云数据的方法中,所述步骤2具体为:
[0016]S1、根据三维扫描仪的分辨率,结合工程实际需求,人工设定一次空间网格和二次空间网格在X轴、Y轴和Z轴方向上的边长值,根据公式(I)分别计算出第一外包盒在Y轴方向和Z轴方向上包含一次空间网格的个数,
[0017]其中,一次空间网格和二次空间网格形状为立方体或长方体,
[0018]一次空间网格的边长是二次空间网格的边长的N倍,N为大于I的整数,为了确保划分的二次空间网格均在一次空间网格中;因为计算一次空间网格在Y轴和Z轴方向上的个数时,最后的个数取整,为了保证点云数据中的所有点均包含在一次空间网格中,所以对一次空间网格在X轴、Y轴和Z轴方向的个数上均多加一个一次空间网格;
[0019]

【权利要求】
1.一种利用可移动空间网格精简点云数据的方法,其特征在于,包括: 步骤1、三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一包围盒为点云数据的最小外包立方体或长方体; 步骤2、给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点; 步骤3、平移第一外包盒,得到第二外包盒,且第二包围盒包围所有步骤2中筛选出的占.步骤4、在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。
2.如权利要求1所述的利用可移动空间网格精简点云数据的方法,其特征在于,所述步骤I具体为: 三维扫描仪采集被测对象的点云数据,在点云数据中查找最大三维坐标值的点,若存在,则取该点作为三维坐标值最大的点,若不存在,则根据点云数据中的点在X轴上的最大坐标值、在Y轴上的最大坐标值和在Z轴上的最大坐标值,创建一个虚拟的三维坐标值最大的点;在点云数据中查找最小三维坐标值的点,若存在,则取该点作为三维坐标值最小的点,若不存在,则根据点云数据中的点在X轴上的最小坐标值、在Y轴上的最小坐标值和在Z轴上的最小坐标值,创建一个虚拟的三维坐标值最小的点;依据最大三维坐标值的点和最小三维坐标值的点,创建第一外包盒。
3.如权利要求1所述的利用可移动空间网格精简点云数据的方法,其特征在于,所述步骤2具体为: 51、根据三维扫描仪的分辨率,人工设定一次空间网格和二次空间网格在X轴、Y轴和Z轴方向上的边长值,根据公式(I)分别计算出第一外包盒在Y轴方向和Z轴方向上包含一次空间网格的个数, 其中,一次空间网格的边长是二次空间网格的边长的N倍,N为大于I的整数;

coun t = ηττζ +1
■(I)*

____NXXf 3 Γ c I ,
com t = +1 B为第一外包盒在Y轴方向上的边长值,Ady为一次空间网格在Y轴方向上的边长值,count2是一次空间网格在Y轴方向上的个数;C为第一外包盒在Z轴方向上的边长值,Δ dz为一次空间网格在Z轴方向上的边长值,count3是一次空间网格在Z轴方向上的个数,「I为取整符号; 52、定义一次XYZ编码值表示点云数据中的一个点在第一包围盒中的空间位置,根据公式(2)确定点云数据中每个点的一次XYZ编码值,根据公式(3)对点云数据中的所有点编码,每个点获得一个第一编码值; 其中,(I1、JJ、KK)为点云数据中的一个点的一次XYZ编码值,(χ,γ,ζ)为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的三维坐标值,Adx为一次空间网格在X轴方向上的边长值,code1为点的第一编码值,I" I为取整符号;
code1 = IIX count2 X count3+JJ X count3+KK (3); S3、点云数据中任选一个点,在第一包围盒中查找是否存在具有与该点第一编码值相同的编码值的一次空间网格,若存在,则将该点存储到具有与其第一编码值相同的编码值的一次空间网格,若不存在,则创建一个具有与该点第一编码值相同的编码值的一次空间网格,并将该点存储到新创建的一次空间网格中;对点云数据中所有点执行上述过程,直至点云数据中的所有点均存储到相应的一次空间网格中; S4、定义二次XYZ编码值表示二次空间网格的空间位置,根据公式(4)确定点云数据中每个点的二次XYZ编码值,根据公式(5)对点云数据中的所有点编码,每个点获得一个第二编码值;
code2 = ir XaXb+JJ' Xb+KK/ (5); 其中,(Ι、JJ'、KK')为点云数据中的一个点的二次XYZ编码值,(X' ,y' ,Z1 )为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的三维坐标值,「I为取整符号; Adx,为二次空间网格在X轴方向上的边长值,Ady'为二次空间网格在Y轴方向上的边长值,Adzf为二次空间网格在Z轴方向上的边长值,code2为点的第二编码值;a和b为人工设定常数,且a是b的平方。 S5、点云数据中任选一个点,在该点所处的一次空间网格中,查找是否存在具有与该点第二编码值相同的编码值的二次空间网格,若存在,则将该点存储到具有与其第二编码值相同的编码值的二次空间网格,若不存在,则创建一个具有与该点第二编码值相同的编码值的二次空间网格,并将该点存储到新创建的二次空间网格中;对点云数据中所有点执行上述过程,直至点云数据中的所有点均存储到相应的二次空间网格中; S6、筛选出每个二次空间网格中权重值最大的点,滤除其他点。
4.如权利要求3所述的利用可移动空间网格精简点云数据的方法,其特征在于,当所有点云数据中点存储到一次空间网格中后,将每个一次空间网格中存储的点的个数与设定的点个数阈值对比, 若不存在存储的点的个数大于点个数阈值的一次空间网格,则进行S4 ;若存在存储的点的个数大于点个数阈值的一次空间网格,则将存储的点的个数大于点个数阈值的一次空间网格划分为多个新一次空间网格,对该一次空间网格中存储的点执行S2和S3过程,将每个新一次空间网格中存储的点的个数与点个数阈值比较,若所有新一次空间网格中存储的点的个数小于点个数阈值,则停止划分,若有新一次空间网格中存储的点个数值大于点个数阈值,则对存储点个数大于点个数阈值的新一次空间网格重复上述过程,直至每个新一次空间网格中存储的点的个数小于或等于点个数阈值,停止划分; 将多个新一次空间网格与其他一次空间网格合并,并统称为一次空间网格,执行S4 ; 其中每个新一次空间网格在X轴、Y轴和Z轴方向上的边长值分别二次空间网格在X轴、Y轴和Z轴方向上的边长值的整数倍。
5.如权利要求1、3或4所述的利用可移动空间网格精简点云数据的方法,其特征在于,权重值可根据点与二次空间网格中心距离值、点与扫描仪原定位置距离值、曲率值或法向值确定。
6.如权利要求3或4所述的利用可移动空间网格精简点云数据的方法,其特征在于,所述步骤3中,第一外包盒移动m个单位值,得到第二外包盒,其中,一个单位值为二次空间网格的在X轴、Y轴或Z轴方向上的边长值,m非整数。
7.如权利要求1所述的利用可移动空间网格精简点云数据的方法,其特征在于,所述步骤4中, 给定三次空间网格在X轴、Y轴和Z轴方向上的边长值,定义三次XYZ编码值表示三次空间网格的空间位置,根据公式(6)确定第二外包盒中每个点的三次XYZ编码值,根据公式(7)对第二外包盒中的所有点编码,每个点获得一个第三编码值;
code3 =IIXcX d+JJ X d+KK (7); 其中,(II"、JJ"、KK")为第二外包盒中的一个点的三次XYZ编码值,(X",y",z")为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的三维坐标值,Adx"为三次空间网格在X轴方向上的边长值,Ady"为三次空间网格在Y轴方向上的边长值,Adz"为三次空间网格在Z轴方向上的边长值;c和d为人工设定常数,且c是d的平方,code3为点的第三编码值,「I为取整符号; 点云数据中任选一个点,在第二外包盒中查找是否存在具有与该点第三编码值相同的编码值的三次空间网格,若存在,则将该点存储到该三次空间网格,若不存在,则创建一个具有与该点第三编码值相同的编码值的三次空间网格,并将该点存储到新创建的三次空间网格中;对第二外包盒中所有点执行上述过程,直至第二外包盒中所有点均存储到相应的三次空间网格中; 筛选出每个三次空间网格中权重值最大的点,滤除其他点。
8.如权利要求5所述的利用可移动空间网格精简点云数据的方法,其特征在于,二次空间网格中筛选权重值大的点的标准与三次空间网格中筛选权重值大的点的标准一致。
【文档编号】G06T17/30GK104183021SQ201410326078
【公开日】2014年12月3日 申请日期:2014年7月10日 优先权日:2014年7月10日
【发明者】黄明, 王晏民, 杨芳 申请人:北京建筑大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1