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

技术编号:10714069 阅读:164 留言:0更新日期:2014-12-03 17:42
本发明专利技术公开了一种利用可移动空间网格精简点云数据的方法,包括:三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一包围盒为点云数据的最小外包立方体或长方体;给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点;平移第一外包盒,得到第二外包盒;在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。本发明专利技术在精简点云数据的效果和时间效率上有很大的优化和提高。

【技术实现步骤摘要】
一种利用可移动空间网格精简点云数据的方法
本专利技术涉及点云数据精简技术,特别涉及一种利用可移动空间网格精简点云数据的方法。
技术介绍
近年来,三维激光技术在测绘领域的应用越来越广泛。然而由于通过扫描获取的点云数据具有冗余量大、存在误差以及规则性弱等特点,直接处理原始点云将会耗费大量的时间和资源,因此一般在进行点云数据的后处理之前都要进行预处理工作,包括点云去噪、点云精简、数据分块等等。点云精简是最为基本且非常重要的一步,同时也是逆向工程目前的研究热点之一。点云精简最初的一些方法只是简单基于点之间距离、曲率、法向等原则,而目前点云精简的方法主要集中在以下几种典型方法:包围盒法、基于几何图像精简法、基于曲率精简法、基于法向精度精简法。国外很多学者早就在点云精简这一领域探索出了很多解决方案。如Filip等人采用了包围盒法来精简点云数据,速度非常快,但只能用于处理均匀分布的点云;Alexa等人依据点云对最小二乘移动曲面的影响程度这一权重来进行点云的精简,且通过重采样保证了点云的密度,但其算法过程较为复杂;Chen.Y.H提出了先对点云进行三角网格化,通过精简三角网格数量来减少点云数量的方法,但往往构建三角网过程较繁杂。国内学者针对点云精简也有很多研究,张丽艳在用Riemann图建立散乱测点间的k邻近的基础上,提出了简化后数据集中点的个数、数据集中点的密度阈值及删除一点引起的法向误差的阈值这三种简化准则进行点云的精简,三种算法效率较高且精简效果较好,但是较算法中的邻近点个数K难以确定合适值;Xiao提出了一种非均匀点云的精简算法,主要依据各点与KD-tree包围球中心法向内积的阈值进行点云的精简,算法达到的精简效果很好,但是KD-tree包围球的半径难以计算,且法向内积计算量较大;王仁方等提出了基于几何图像的精简算法和随机采样方法,精简效率非常高,但容易丢失点云特征;倪小军提出了一种特征保留的点云自适应的精简算法,将点云划分为特征点和非特征点,保留特征点,而非特征点则通过计算自适应精简距离阈值进行精简处理,算法速度较快,能够较好地保留点云中的几何特征,但算法较依赖于点集的权重系数和初始设定的距离阈值。
技术实现思路
本专利技术针对目前点云数据精简中存在的不足,设计开发了一种利用可移动空间网格精简点云数据的方法。本专利技术提供的技术方案为:一种利用可移动空间网格精简点云数据的方法,包括:步骤1、三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一包围盒为点云数据的最小外包立方体或长方体;步骤2、给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点;步骤3、平移第一外包盒,得到第二外包盒,且第二包围盒包围所有步骤2中筛选出的点;步骤4、在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。优选的是,所述的利用可移动空间网格精简点云数据的方法中,所述步骤1具体为:三维扫描仪采集被测对象的点云数据,在点云数据中查找最大三维坐标值的点,若存在,则取该点作为三维坐标值最大的点,若不存在,则根据点云数据中的点在X轴上的最大坐标值、在Y轴上的最大坐标值和在Z轴上的最大坐标值,创建一个虚拟的三维坐标值最大的点;在点云数据中查找最小三维坐标值的点,若存在,则取该点作为三维坐标值最小的点,若不存在,则根据点云数据中的点在X轴上的最小坐标值、在Y轴上的最小坐标值和在Z轴上的最小坐标值,创建一个虚拟的三维坐标值最小的点;依据最大三维坐标值的点和最小三维坐标值的点,创建第一外包盒。优选的是,所述的利用可移动空间网格精简点云数据的方法中,所述步骤2具体为:S1、根据三维扫描仪的分辨率,结合工程实际需求,人工设定一次空间网格和二次空间网格在X轴、Y轴和Z轴方向上的边长值,根据公式(1)分别计算出第一外包盒在Y轴方向和Z轴方向上包含一次空间网格的个数,其中,一次空间网格和二次空间网格形状为立方体或长方体,一次空间网格的边长是二次空间网格的边长的N倍,N为大于1的整数,为了确保划分的二次空间网格均在一次空间网格中;因为计算一次空间网格在Y轴和Z轴方向上的个数时,最后的个数取整,为了保证点云数据中的所有点均包含在一次空间网格中,所以对一次空间网格在X轴、Y轴和Z轴方向的个数上均多加一个一次空间网格;B为第一外包盒在Y轴方向上的边长值,Δdy为一次空间网格在Y轴方向上的边长值,count2是一次空间网格在Y轴方向上的个数;C为第一外包盒在Z轴方向上的边长值,Δdz为一次空间网格在Z轴方向上的边长值,count3是一次空间网格在Z轴方向上的个数,为取整符号;S2、定义一次XYZ编码值表示点云数据中的一个点在第一包围盒中的空间位置,根据公式(2)确定点云数据中每个点的一次XYZ编码值,根据公式(3)对点云数据中的所有点编码,每个点获得一个第一编码值;其中,(II、JJ、KK)为点云数据中的一个点的一次XYZ编码值,(x,y,z)为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的坐标值,Δdx为一次空间网格在X轴方向上的边长值,code1为点的第一编码值;此处利用公式(3)对点云数据中的点进行线性编码,便于步骤S3中使用二分查找法,将点云数据中的每个点存放到相应的一次空间网格中,为取整符号;code1=II×count2×count3+JJ×count3+KK(3);S3、点云数据中任选一个点,利用二分查找法,在第一包围盒中查找是否存在具有与该点第一编码值相同的编码值的一次空间网格,若存在,则将该点存储到具有与其第一编码值相同的编码值的一次空间网格,若不存在,则创建一个具有与该点第一编码值相同的编码值的一次空间网格,(具体为:根据公式(2)和(3)反推算出该点的一次XYZ编码值,根据该一次XYZ编码值提供的空间位置的信息,创建一个新一次空间网格;)并将该点存储到新创建的一次空间网格中;对点云数据中所有点执行上述过程,直至点云数据中的所有点均存储到相应的一次空间网格中;这里根据点云数据中点的第一编码值创建一次空间网格,可以避免出现空网格,有效的减少了运算;S4、定义二次XYZ编码值表示二次空间网格的空间位置,根据公式(4)确定点云数据中每个点的二次XYZ编码值,根据公式(5)对点云数据中的所有点的编码,每个点获得一个第二编码值,code2=II′×a×b+JJ′×b+KK′(5);其中,(II′、JJ′、KK′)为点云数据中的一个点的二次XYZ编码值,(x′,y′,z′)为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的三维坐标值,为取整符号;Δdx′为二次空间网格在X轴方向上的边长值,Δdy′为二次空间网格在Y轴方向上的边长值,Δdz′为二次空间网格在Z轴方向上的边长值,code2为点的第二编码值;a和b为人工设定常数,且a是b的平方;此处利用公式(5)对点云数据中的点进行线性编码,便于步骤S5中使用二分查找法,将点云数据中本文档来自技高网
...
一种利用可移动空间网格精简点云数据的方法

【技术保护点】
一种利用可移动空间网格精简点云数据的方法,其特征在于,包括: 步骤1、三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一包围盒为点云数据的最小外包立方体或长方体; 步骤2、给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点; 步骤3、平移第一外包盒,得到第二外包盒,且第二包围盒包围所有步骤2中筛选出的点; 步骤4、在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。

【技术特征摘要】
1.一种利用可移动空间网格精简点云数据的方法,其特征在于,包括:步骤1、三维扫描仪采集被测对象的点云数据,创建点云数据的第一外包盒,该第一外包盒为点云数据的最小外包立方体或长方体;步骤2、给定二次空间网格在X轴、Y轴和Z轴方向上的边长值,在第一外包盒中创建多个二次空间网格,将点云数据中的所有点存储到多个二次空间网格中,筛选出每个二次空间网格中权重值最大的点,滤除其他点;步骤3、平移第一外包盒,得到第二外包盒,且第二外包盒包围所有步骤2中筛选出的点;步骤4、在第二外包盒中创建多个三次空间网格,三次空间网格的大小与形状和二次空间网格一致,将第二外包盒中的点存储到多个三次空间网格中,筛选出每个三次空间网格中权重值最大的点,滤除其他点。2.如权利要求1所述的利用可移动空间网格精简点云数据的方法,其特征在于,所述步骤1具体为:三维扫描仪采集被测对象的点云数据,在点云数据中查找最大三维坐标值的点,若存在,则取该点作为三维坐标值最大的点,若不存在,则根据点云数据中的点在X轴上的最大坐标值、在Y轴上的最大坐标值和在Z轴上的最大坐标值,创建一个虚拟的三维坐标值最大的点;在点云数据中查找最小三维坐标值的点,若存在,则取该点作为三维坐标值最小的点,若不存在,则根据点云数据中的点在X轴上的最小坐标值、在Y轴上的最小坐标值和在Z轴上的最小坐标值,创建一个虚拟的三维坐标值最小的点;依据最大三维坐标值的点和最小三维坐标值的点,创建第一外包盒。3.如权利要求1所述的利用可移动空间网格精简点云数据的方法,其特征在于,所述步骤2具体为:S1、根据三维扫描仪的分辨率,人工设定一次空间网格和二次空间网格在X轴、Y轴和Z轴方向上的边长值,根据公式(1)分别计算出第一外包盒在Y轴方向和Z轴方向上包含一次空间网格的个数,其中,一次空间网格的边长是二次空间网格的边长的N倍,N为大于1的整数;B为第一外包盒在Y轴方向上的边长值,Δdy为一次空间网格在Y轴方向上的边长值,count2是一次空间网格在Y轴方向上的个数;C为第一外包盒在Z轴方向上的边长值,Δdz为一次空间网格在Z轴方向上的边长值,count3是一次空间网格在Z轴方向上的个数,为取整符号;S2、定义一次XYZ编码值表示点云数据中的一个点在第一外包盒中的空间位置,根据公式(2)确定点云数据中每个点的一次XYZ编码值,根据公式(3)对点云数据中的所有点编码,每个点获得一个第一编码值;其中,(II、JJ、KK)为点云数据中的一个点的一次XYZ编码值,(x,y,z)为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的三维坐标值,Δdx为一次空间网格在X轴方向上的边长值,code1为点的第一编码值,为取整符号;code1=II×count2×count3+JJ×count3+KK(3);S3、点云数据中任选一个点,在第一外包盒中查找是否存在具有与该点第一编码值相同的编码值的一次空间网格,若存在,则将该点存储到具有与其第一编码值相同的编码值的一次空间网格,若不存在,则创建一个具有与该点第一编码值相同的编码值的一次空间网格,并将该点存储到新创建的一次空间网格中;对点云数据中所有点执行上述过程,直至点云数据中的所有点均存储到相应的一次空间网格中;S4、定义二次XYZ编码值表示二次空间网格的空间位置,根据公式(4)确定点云数据中每个点的二次XYZ编码值,根据公式(5)对点云数据中的所有点编码,每个点获得一个第二编码值;code2=II′×a×b+JJ′×b+KK′(5);其中,(II′、JJ′、KK′)为点云数据中的一个点的二次XYZ编码值,(x′,y′,z′)为点云数据中的一个点的三维坐标值,(xo,yo,zo)为点云数据中三维坐标值最小的点的三维坐标值,为取整符号;Δdx′为二次空...

【专利技术属性】
技术研发人员:黄明王晏民杨芳
申请(专利权)人:北京建筑大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1