CN105096379A - 一种基于k-邻域的三角网格曲面重建方法 - Google Patents

一种基于k-邻域的三角网格曲面重建方法 Download PDF

Info

Publication number
CN105096379A
CN105096379A CN201410223640.9A CN201410223640A CN105096379A CN 105096379 A CN105096379 A CN 105096379A CN 201410223640 A CN201410223640 A CN 201410223640A CN 105096379 A CN105096379 A CN 105096379A
Authority
CN
China
Prior art keywords
point
search volume
search
level
grid
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.)
Pending
Application number
CN201410223640.9A
Other languages
English (en)
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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201410223640.9A priority Critical patent/CN105096379A/zh
Publication of CN105096379A publication Critical patent/CN105096379A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)

Abstract

本发明提出一种基于k-邻域的三角网格曲面重建方法。用激光扫描仪扫描物体,获得由物体表面的数据点构成的三维点云模型,三维点云模型包含了点云中各点的三维坐标信息;对三维点云模型中各点进行k-邻域搜索;根据各点的k-邻域搜索结果,计算由点云模型中各点及其邻域拟合出的切平面,并估算出切平面的法向量,即法矢;对法矢进行法矢一致化处理;对点云模型进行三角网格重建,获得物体三维网格模型。本发明能够快速进行点云模型中各点的k邻域搜索,从而快速重建物体的三维网格模型。

Description

一种基于k-邻域的三角网格曲面重建方法
技术领域
本发明属于三维图像重建领域,具体涉及一种基于k-邻域的三角网格曲面重建方法。
背景技术
三维重建是对三维物体建立适合计算机表示和处理的数学模型的过程。在医疗、文物的数字化保护、机器人视觉导航、城市设计规划与管理等领域有广泛的应用。物体的点云模型是指通过测量仪器得到的物体表面点的集合。物体三维点云模型中点的k-邻域搜索,是指在欧几里德距离下,求出一组数据点集Xn∈R中的各点与某点P最近的K个数据点,从而得到点云中点与点之间的拓扑关系,便于进行对点云的分类、简化、变形、形状分析与识别、匹配和检索等处理。它被广泛应用于计算几何、模式识别与数据查询等实际领域中。在具体应用中,寻找点的k-邻域的时间代价直接影响到相关算法的速度。
目前,求取k-邻域的算法有许多。文献一(FerraioloD.KuhnR.Role-basedAccessControls[C]//Proceedingsofthe15thNIST-NCSCNationalComputerSecurityConference.Baltimore,USA:[s.n.],1992.)利用k-邻域的定义提出一种k-邻域的搜索方法。该方法遍历点云中的所有点,通过计算参考点与目标点之间的欧式距离,并比较距离大小来确定某点是否为目标点的k个最近邻之一。该方法在求取点云中每个点的k-邻域时,都需要求点云中其他所有点与该点之间的距离,并对距离进行比较,选取距离该点最近的k个点作为该点的k-邻域,所有该方法耗时长,效率低。文献二(SandhuRS,CoynekEJ,FeinsteinkHL,etal.Role-basedAccessControlModels[J].IEEEComputer,1996,29(2):38-47.)和文献三(OASIS.CoreandHierarchicalRoleBasedAccessControl(RBAC)ProfileofXACMLVersion2.0[EB/OL].(2005-10-30).)提出或介绍了一种基于点集Voronoi图的k-邻域搜索算法,该方法利用点集Voronoi图来进行k个最近邻搜索,但是点的Voronoi图的计算量仍然非常大。文献四(周儒荣,张丽燕,苏旭等,海量散乱点云的曲面重建算法.软件学报,2001-05,35(5):)提出或介绍了一种利用空间划分求取k邻域的方法,该方法引进了点云数据的空间划分,但当k值较大,点云密集时,栅格内的点数仍旧很多,计算距离所消耗的时间仍旧很长。文献五(LiuYH,LiaoWH,LiuH,Researchfork-nearestneighborssearchalgorithminreverseengineering[J].MachineryDesign&Manufacture,2012,1(3):256-258.[刘越华,廖文和,刘,逆向工程中散乱点云的k邻域搜索算法研究[J].机械设计与制造,2012,1(3):256-258])在空间划分的基础之上提出一种以目标点为中心构造球体来缩小k-邻域搜索范围的方法,该方法中以目标点到所对应立方体小栅格的环六壁的距离为球体半径的取值范围,通过逐步增加球体半径扩大搜索范围来进行k-邻域搜索。但是当k较大时,计算点在3个方向上的交集,最后根据传统方法来计算k-邻域,避免了大量的浮点计算,判断点在圆内的算法,但该方法计算量大,造成不必要的时间浪费。
发明内容
本发明提出一种基于k-邻域的三角网格曲面重建方法,能够快速进行点云模型中各点的k邻域搜索,从而快速重建物体的三维网格模型。
为了解决上述技术问题,本发明提供一种本发明一种基于k-邻域的三角网格曲面重建方法,实施过程为:用激光扫描仪扫描物体,获得由物体表面的数据点构成的三维点云模型,三维点云模型包含了点云中各点的三维坐标信息;对三维点云模型中各点进行k-邻域搜索;根据各点的k-邻域搜索结果,计算由点云模型中各点及其邻域拟合出的切平面,并估算出切平面的法向量,即法矢;由于各切平面的法矢有可能从切平面内部指向外部,也可能由切平面外部指向内部,切平面法矢的方向不同,会导致生成的网格弯曲方向不同,故进一步对法矢进行法矢一致化处理;对点云模型进行三角网格重建,获得物体三维网格模型。
所述对三维点云模型中各点进行k-邻域搜索的过程为:
步骤一、根据点云的三维坐标,获得包含点云模型中所有点的最小长方体空间信息,将该最小长方体空间均匀划分成大小相同的多个栅格,并计算每个栅格中包含的点的数目;
步骤二、选取任意栅格作为中心栅格,将该中心栅格与其周围多个栅格组成体积小于最小长方体空间的第一级搜索空间;
步骤三、根据第一级搜索空间内点的数目判断是否对第一级搜索空间的中心栅格内各点进行k-邻域搜索,具体为:
如果第一级搜索空间内点的数目较少,不足以进行各点的k-邻域搜索,则返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第一级搜索空间内点的数目适中,则对第一级搜索空间的中心栅格内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第一级搜索空间内点的数目过多,此时对点云模型中各点的k-邻域搜索来说,需要搜索空间过大,不能快速地进行k-邻域搜索,则在第一级搜索空间内部构建体积小于第一级搜索空间的第二级搜索空间,然后继续步骤四;
步骤四、根据第二级搜索空间内点的数目判断是否对第二级搜索空间内各点进行k-邻域搜索,具体为:
如果第二级搜索空间内点的数目适中,则对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第二级搜索空间内点的数目较少,则说明此时的第二级搜索空间太小,不足以进行k-邻域搜索,此时逐步增大第二级搜索空间,直到第二级搜索空间内点的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第二级搜索空间内点的数目过多,对k-邻域搜索来说,需要搜索空间过大,不能快速地进行k-邻域搜索,此时需逐步缩小第二级搜索空间,直到第二级搜索空间内点的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间。
通过上述k-邻域搜索,获得物体三维点云模型中每一个点的k-邻域,相当于对点云中的点进行了识别与分类。
本发明与现有技术相比,其显著优点在于:(1)本发明采用结合点云模型中各点的k-邻域,对物体的三维点云模型进行三角网格网格曲面重建,相比于传统的直接对点云进行Delaunay三角网格化的方法而言,适用性更加广泛。并且,也在一定程度上提高了三角网格的质量。这是由于在对点云进行三角网格化处理之前,先求取了点云中各点之间的拓扑关系,使得点云点之间的连接关系更加清晰且准确,从而,选取点构造三角形所得的三角形更加趋近等边三角形,在一定程度上提高了三角形的质量。另外,本发明方法进行的是分块求切平面,进而在切平面进行三角化的方法,避免传统的直接对点云进行Delaunay三角网格化处理时,点云重叠投影造成的三角化不准确的问题,从而,本发明方法的适用性更广;(2)本发明采用二级搜索空间,在空间划分的基础之上,构造以目标点为中心的立方体,理论上也可以构造以目标点为中心的球,但是由于满足在球内的点要求参考点到目标点的距离小于半径,大量的浮点数计算,造成时间浪费,而满足在球内只需要求点满足式(4)中条件即可,故选择立方体,这样目标点在搜索区域的中心,可以通过调节边长,快速搜索k邻域。与传统的基于空间划分求取k邻域的算法相比,大量节省了计算时间,从而能快速实现物体三维模型的三角网格曲面重构。
附图说明
图1是本发明流程图。
图2是本发明中由27个栅格构成的第一级搜索空间示意图。
图3是本发明中第二级搜素空间示意图。
具体实施方式
如图1所示,本发明一种基于k-邻域的三角网格曲面重建方法,实施过程为:
用激光扫描仪扫描物体,获得由物体表面的数据点构成的三维点云模型,三维点云模型包含了点云中各点的三维坐标信息;对三维点云模型中各点进行k-邻域搜索;根据各点的k-邻域搜索结果,计算由点云模型中各点及其邻域拟合出的切平面,并估算出切平面的法向量,即法矢;由于各切平面的法矢有可能从切平面内部指向外部,也可能由切平面外部指向内部,切平面法矢的方向不同,会导致生成的网格弯曲方向不同,故进一步对法矢进行法矢一致化处理;对点云模型进行三角网格重建,获得物体三维网格模型。上述物体三维网格模型可以弥补物体的三维点云模型中由于局部点缺失造成的漏洞,从而使物体的重建模型更加形象、逼真。
所述对三维点云模型中各点进行k-邻域搜索的过程为:
步骤一、根据点云的三维坐标,获得包含点云模型中所有点的最小长方体空间信息,将该最小长方体空间均匀划分成大小相同的多个栅格,并计算每个栅格中包含的点的数目;
步骤二、选取任意栅格作为中心栅格,将该中心栅格与其周围多个栅格组成体积小于最小长方体空间的第一级搜索空间;
步骤三、根据第一级搜索空间内点的数目判断是否对第一级搜索空间的中心栅格内各点进行k-邻域搜索,具体为:
如果第一级搜索空间内点的数目较少,不足以进行各点的k-邻域搜索,则返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第一级搜索空间内点的数目适中,则对第一级搜索空间的中心栅格内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第一级搜索空间内点的数目过多,此时对点云模型中各点的k-邻域搜索来说,需要搜索空间过大,不能快速地进行k-邻域搜索,则在第一级搜索空间内部构建体积小于第一级搜索空间的第二级搜索空间,然后继续步骤四;
步骤四、根据第二级搜索空间内点的数目判断是否对第二级搜索空间内各点进行k-邻域搜索,具体为:
如果第二级搜索空间内点的数目适中,则对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第二级搜索空间内点的数目较少,则说明此时的第二级搜索空间太小,不足以进行k-邻域搜索,此时逐步增大第二级搜索空间,直到第二级搜索空间内点的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第二级搜索空间内点的数目过多,对k-邻域搜索来说,需要搜索空间过大,不能快速地进行k-邻域搜索,此时需逐步缩小第二级搜索空间,直到第二级搜索空间内点的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间。
通过上述k-邻域搜索,获得物体三维点云模型中每一个点的k-邻域,相当于对点云中的点进行了识别与分类。
上述步骤一所述获得包含点云模型中所有点的最小长方体空间的实现过程为:
根据每个点的三维坐标值,找出在三维点云模型中X、Y、Z三个方向的坐标值最小的点(x_min,y_min,z_min)和坐标值最大的点(x_max,y_max,z_max),以坐标值最小的点(x_min,y_min,z_min)和坐标值最大的点(x_max,y_max,z_max)作为长方体空间的体对角线构建包含所有点的最小长方体空间,x_min、y_min、z_min分别为点在X、Y、Z三个方向上值最小的坐标,x_max、y_max、z_max分别为在点在X、Y、Z三个方向上值最大的坐标。
步骤一所述的每个栅格的边长取值方式为:
设栅格的边长为grid_size,调整公式(1)中栅格边长grid_size的取值,以便尽量让点云在每个栅格内的分布相对均匀,即通过调整栅格边长grid_size的取值,使得所述最小长方体空间在某一边上的栅格的数目不能过少,一般不能小于二个,即不能使公式(1)中Number_X、Number_Y和Number_Z的任意一个取值过小,一般不能小于二,如果某一边上的栅格的数目过少,则每个栅格内包含的点数会过多,对k-邻域搜索来说,需要搜索空间过大。
Number _ X = ( int ) [ ( max _ x - min _ x ) / grid _ size ] + 1 ; Number _ Y = ( int ) [ ( max _ y - min _ y ) / grid _ size ] + 1 ; Number _ Z = ( int ) [ ( max _ z - min _ z ) / grid _ size ] + 1 ; - - - ( 1 )
公式(1)中Number_X、Number_Y和Number_Z分别为最小长方体空间在X、Y、Z三个方向上栅格的数目,(int)是对一个浮点数求整,即将小数变为整数,避免栅格数为小数,不符合实际。
步骤一所述每个栅格中包含的点的数目的计算方式为:
首先,计点云模型中每个点所在的栅格的索引号,点云中任意点P(x,y,z)所在栅格索引号的计算方法如式(2)所示:
index _ x = ( int ) [ P x - min _ x ) / grid _ size ] ; index _ y = ( int ) [ P y - min _ y ) / grid _ size ] ; inder _ z = ( int ) [ P z - min _ z ) / grid _ size ] ; - - - ( 2 )
式(2)中,index_x、index_y、index_z分别为任意点P(x,y,z)所在的栅格在X、Y、Z三个方向的索引号值。遍历点云模型中所有的点,求得每个点对应的栅格索引号。
然后,统计X、Y、Z三个方向的栅格索引号值都对应相等的点的数目,即为该栅格内包含的点的数目,因为当两个点在X、Y、Z三个方向的栅格索引号值都对应相同时,则两个点在同一栅格内。
步骤二中所述第一级搜索空间的具体构成为:
以任意一个栅格为中心栅格,以该中心栅格以及其周围共计N*N*N个栅格构成的正方体空间,该正方体空间的每个边上都有N个栅格,其中,N≥3,N∈Z;当选定的中心栅格处于包含所有点的最小长方体空间边缘时,会造成以N*N*N个栅格构成的正方体空间超出最小长方体空间的范围,此时,仅以位于最小长方体空间范围内的栅格组成第一级搜索空间,此时构成的第一级搜索空间的栅格个数不足N*N*N个。
例如,取N=3,即第一级搜索空间是由27个栅格组成的、每条边都有三个栅格的3*3*3=27形式的正方体空间,如图2所示。当选定的中心栅格处于包含所有点的最小长方体空间边缘时,以27个栅格构成的空间中会有3*3=9个栅格的空间超出最小长方体空间的范围,此时,只需由位于最小长方体空间内的3*3*2=18个栅格组成第一级搜索空间即可。
步骤三中,根据第一级搜索空间每个栅格内的点数计算出第一级搜索空间内所有栅格包含的点数,即第一级搜索空间内的点数,并记为Number_First;
若Number_First<k,则认为第一级搜索空间内点的数目较少;
若k≤Number_First≤α*k,则认为第一级搜索空间内点的数目适中;
若α*k<Number_First,则认为第一级搜索空间内点的数目过多;
其中,k为k-邻域搜索中的k值,k的取值需要根据点云模型中点的数目来确定,一般来说,当点云模型中点的数目在千位以内时,一般取k≤20,k∈z,当点的数目偏大达到千位以上时,k可以取到百位数;α为调节系数,α*k用来限制各级搜索空间内点数上限,理论上说,α只要可以取大于1的任意实数。但在实际应用中,α的取值时需要综合考虑点云的分布情况、点云密度、点云数目等因素;
所述第二级搜索空间是以第一级搜索空间的中心栅格内的任意点P(x,y,z)为中心,构造边长为2d的立方体,如图3所示,其中,d为搜索步长,d的取值根据不同的点云模型有不同的取值参考标准,例如,选取搜索步长值d为候选点到所在栅格环六壁的最短距离,这种选择标准适用与点云数目较少的情况;另一种是结合采样密度、k值,取搜索步长这种选择标准适用于点云分布较为均匀的情况。由于本发明中选用的点云分布较为均匀,故采用第一种参考标准,即其中,k为设定的邻域k值,V=(x_max-x_min)*(y_max-y_min)*(z_max-z_min)。
此时立方体内的点的坐标均满足公式(4),
{T(tx,ty,tz)=(x-d≤tx≤x+d)∩(y-d≤ty≤y+d)∩(z-d≤tz≤z+d)}(4)
公式(4)其中,T(tx,ty,tz)表示第二级搜索空间内的任一点,tx、ty、tz分别表示第二级搜索空间内的点T(tx,ty,tz)在X、Y、Z三个方向上的坐标值;tx、ty、tz分别表示第一级搜索空间的中心栅格内的任意点P(x,y,z)在X、Y、Z三个方向上的坐标值,d为搜索步长。
步骤四中,当第二级搜索空间构造完成后,对第一级搜索空间内的各点坐标进行判定,判断出第一级搜索空间内的点是否满足式(4),满足式(4)的点即为处于第二级搜索空间内的点,并计算出满足式(4)的点的数目,将其记为Number_Second。另外,第二级搜索空间是以中心栅格内任意点为中心构造的立方体,立方体的扩大和缩小通过其边长的加长和缩短来实现。为了实现对边长的微调,设定一个步长增量Δd,Δd的取值通过参考点云模型中各点坐标值在小数点后面保留的位数、点云密度以及步长来定。一般步长增量Δd是搜索步长d的十分之一;
若k≤Number_Second≤α*k,则认为第二级搜索空间内点的数目适中;
若Number_Second<k,则认为第二级搜索空间内点的数目较少,则增大第二级搜索空间,即将构成第二级空间的立方体边长加长,令其边长也就是搜索步长d为d=d+β1Δd,再统计增大后的第二级搜索空间内点的数目Number_Second,直到第二级搜索空间内点的数目Number_Second满足k≤Number_Second≤α*k后停止增大第二级空间,其中,β1为构成第二级搜索的立方体边长增加的次数;
若α*k≤Number_Second,则认为第二级搜索空间内点的数目过多,则缩小第二级搜索空间,即将构成第二级空间的立方体边长缩短,令其边长也就是搜索步长d为d=d-β2Δd,再统计缩小后第二级搜索空间内点的数目Number_Second,直到第二级搜索空间内点的数目Number_Second满足k≤Number_Second≤α*k后停止缩小第二级搜索空间,其中,β2为构成第二级搜索的立方体边长减少的次数。

Claims (9)

1.一种基于k-邻域的三角网格曲面重建方法,其特征在于,用激光扫描仪扫描物体,获得由物体表面的数据点构成的三维点云模型,三维点云模型包含了点云中各点的三维坐标信息;对三维点云模型中各点进行k-邻域搜索;根据各点的k-邻域搜索结果,计算由点云模型中各点及其邻域拟合出的切平面,并估算出切平面的法向量,即法矢;对法矢进行法矢一致化处理;对点云模型进行三角网格重建,获得物体三维网格模型;
所述对三维点云模型中各点进行k-邻域搜索的过程为:
步骤一、根据点云的三维坐标,获得包含点云模型中所有点的最小长方体空间信息,将该最小长方体空间均匀划分成大小相同的多个栅格,并计算每个栅格中包含的点的数目;
步骤二、选取任意栅格作为中心栅格,将该中心栅格与其周围多个栅格组成体积小于最小长方体空间的第一级搜索空间;
步骤三、根据第一级搜索空间内点的数目判断是否对第一级搜索空间的中心栅格内各点进行k-邻域搜索,具体为:
如果第一级搜索空间内点的数目较少,则返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
如果第一级搜索空间内点的数目适中,则对第一级搜索空间的中心栅格内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二;
如果第一级搜索空间内点的数目过多,则在第一级搜索空间内部构建体积小于第一级搜索空间的第二级搜索空间,然后继续步骤四;
步骤四、根据第二级搜索空间内点的数目判断是否对第二级搜索空间内各点进行k-邻域搜索,具体为:
如果第二级搜索空间内点的数目适中,则对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二;
如果第二级搜索空间内点的数目较少,则逐步增大第二级搜索空间,直到第二级搜索空间内点的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二;
如果第二级搜索空间内点的数目过多,则逐步缩小第二级搜索空间,直到第二级搜索空间内点的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后返回步骤二。
2.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤一所述获得包含点云模型中所有点的最小长方体空间的实现过程为:
根据每个点的三维坐标值,找出在三维点云模型中X、Y、Z三个方向的坐标值最小的点(x_min,y_min,z_min)和坐标值最大的点(x_max,y_max,z_max),以坐标值最小的点(x_min,y_min,z_min)和坐标值最大的点(x_max,y_max,z_max)作为长方体空间的体对角线构建包含所有点的最小长方体空间,x_min、y_min、z_min分别为点在X、Y、Z三个方向上值最小的坐标,x_max、y_max、z_max分别为在点在X、Y、Z三个方向上值最大的坐标。
3.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤一所述的每个栅格的边长取值方式为:
设栅格的边长为grid_size,调整公式(1)中栅格边长grid_size的取值,使得公式(1)中Number_X、Number_Y和Number_Z的取值均不小于二,
Number _ X = ( int ) [ ( max _ x - min _ x ) / grid _ size ] + 1 ; Number _ Y = ( int ) [ ( max _ y - min _ y ) / grid _ size ] + 1 ; Number _ Z = ( int ) [ ( max _ z - min _ z ) / grid _ size ] + 1 ; - - - ( 1 )
公式(1)中Number_X、Number_Y和Number_Z分别为最小长方体空间在X、Y、Z三个方向上栅格的数目,(int)是对一个浮点数求整的运算符。
4.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤一所述每个栅格中包含的点的数目的计算方式为:
首先,计点云模型中每个点所在的栅格的索引号,点云中任意点P(x,y,z)所在栅格索引号的计算方法如式(2)所示:
index _ x = ( int ) [ P x - min _ x ) / grid _ size ] ; index _ y = ( int ) [ P y - min _ y ) / grid _ size ] ; inder _ z = ( int ) [ P z - min _ z ) / grid _ size ] ; - - - ( 2 )
式(2)中,index_x、index_y、index_z分别为任意点P(x,y,z)所在的栅格在X、Y、Z三个方向的索引号值;
然后,统计X、Y、Z三个方向的栅格索引号值都对应相等的点的数目,即为该栅格内包含的点的数目。
5.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤二中所述第一级搜索空间的具体构成为:
以任意一个栅格为中心栅格,以该中心栅格以及其周围共计N*N*N个栅格构成的正方体空间,该正方体空间的每个边上都有N个栅格,其中,N≥3,N∈Z;当选定的中心栅格处于包含所有点的最小长方体空间边缘时,以大小为N*N*N个栅格构成的正方体空间位于最小长方体空间范围内的栅格组成第一级搜索空间。
6.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤三中,根据第一级搜索空间每个栅格内的点数计算出第一级搜索空间内所有栅格包含的点数,即第一级搜索空间内的点数,并记为Number_First;
若Number_First<k,则认为第一级搜索空间内点的数目较少;
若k≤Number_First≤α*k,则认为第一级搜索空间内点的数目适中;
若α*k<Number_First,则认为第一级搜索空间内点的数目过多;
其中,k为k-邻域搜索中的k值,k的取值需要根据点云模型中点的数目来确定;α为调节系数。
7.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤三中,所述第二级搜索空间是以第一级搜索空间的中心栅格内的任意点P(x,y,z)为中心,边长为2d的立方体,d为搜索步长,其中,
V=(max_x-min_x)*(max_y-min_y)*(max_z-min_z)。
8.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤四中,当第二级搜索空间构造完成后,判断第一级搜索空间内的各点坐标是否满足式(4),统计满足式(4)的点的数目,即为第二级搜索空间内点的数目Number_Second,
{T(tx,ty,tz)=(x-d≤tx≤x+d)∩(y-d≤ty≤y+d)∩(z-d≤tz≤z+d)}(4)
公式(4)其中,T(tx,ty,tz)表示第二级搜索空间内的任一点,tx、ty、tz分别表示第二级搜索空间内的点T(tx,ty,tz)在X、Y、Z三个方向上的坐标值;tx、ty、tz分别表示第一级搜索空间的中心栅格内的任意点P(x,y,z)在X、Y、Z三个方向上的坐标值,d为搜索步长。
9.如权利要求1所述的基于k-邻域的三角网格曲面重建方法,其特征在于,步骤四中,
若k≤Number_Second≤α*k,则认为第二级搜索空间内点的数目适中;
若Number_Second<k,则认为第二级搜索空间内点的数目较少,则令第二级搜索空间的搜索步长d=d+β1Δd以增大后第二级搜索空间,再统计增大后的第二级搜索空间内点的数目Number_Second,直到第二级搜索空间内点的数目Number_Second满足k≤Number_Second≤α*k后停止增大第二级空间;
若α*k≤Number_Second,则认为第二级搜索空间内点的数目过多,则令第二级搜索空间的搜索步长d=d-β2Δd以缩小第二级搜索空间,再统计缩小后第二级搜索空间内点的数目Number_Second,直到第二级搜索空间内点的数目Number_Second满足k≤Number_Second≤α*k后停止缩小第二级搜索空间;
其中,Δd为设定的每次增大或缩小第二级搜索空间的步长增量,且步长增量Δd是搜索步长d的十分之一;β1为第二级搜索空间边长增加的次数;β2为第二级搜索空间边长减少的次数。
CN201410223640.9A 2014-05-23 2014-05-23 一种基于k-邻域的三角网格曲面重建方法 Pending CN105096379A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410223640.9A CN105096379A (zh) 2014-05-23 2014-05-23 一种基于k-邻域的三角网格曲面重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410223640.9A CN105096379A (zh) 2014-05-23 2014-05-23 一种基于k-邻域的三角网格曲面重建方法

Publications (1)

Publication Number Publication Date
CN105096379A true CN105096379A (zh) 2015-11-25

Family

ID=54576708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410223640.9A Pending CN105096379A (zh) 2014-05-23 2014-05-23 一种基于k-邻域的三角网格曲面重建方法

Country Status (1)

Country Link
CN (1) CN105096379A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488192A (zh) * 2015-12-03 2016-04-13 青岛尤尼科技有限公司 点云数据k邻域搜索方法
CN111105490A (zh) * 2020-02-07 2020-05-05 武汉玄景科技有限公司 一种散乱点云快速法矢定向方法
CN113932727A (zh) * 2021-11-29 2022-01-14 中国电建集团成都勘测设计研究院有限公司 基于扫描全站仪与gnss的边坡变形监测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067868A (zh) * 2007-05-25 2007-11-07 同济大学 基于自适应平坦度将无序点云转换为三角网格的系统及方法
CN101650835A (zh) * 2009-09-09 2010-02-17 哈尔滨工业大学 基于局部线性嵌入法构建狗左心室传导系统三维几何结构

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101067868A (zh) * 2007-05-25 2007-11-07 同济大学 基于自适应平坦度将无序点云转换为三角网格的系统及方法
CN101650835A (zh) * 2009-09-09 2010-02-17 哈尔滨工业大学 基于局部线性嵌入法构建狗左心室传导系统三维几何结构

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
刘越华等: ""逆向工程中散乱点云的K邻域搜索算法研究"", 《机械设计与制造》 *
周儒荣等: ""海量散乱点的曲面重建算法研究"", 《软件学报》 *
杨军等: ""大规模散乱点的k邻域快速搜索算法"", 《中国图象图形学报》 *
赵俭辉等: ""一种基于立方体小栅格的K邻域快速搜索算法"", 《武汉大学学报 信息科学版》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105488192A (zh) * 2015-12-03 2016-04-13 青岛尤尼科技有限公司 点云数据k邻域搜索方法
CN111105490A (zh) * 2020-02-07 2020-05-05 武汉玄景科技有限公司 一种散乱点云快速法矢定向方法
CN113932727A (zh) * 2021-11-29 2022-01-14 中国电建集团成都勘测设计研究院有限公司 基于扫描全站仪与gnss的边坡变形监测方法及系统

Similar Documents

Publication Publication Date Title
CN103247041B (zh) 一种基于局部采样的多几何特征点云数据的分割方法
Zhang et al. An efficient approach to directly compute the exact Hausdorff distance for 3D point sets
CN104778688A (zh) 点云数据的配准方法及装置
CN102044088B (zh) 单站地面激光扫描海量散乱点云的lod模型快速构建方法
CN111540005B (zh) 基于二维栅格地图的回环检测方法
CN105654483A (zh) 三维点云全自动配准方法
CN103985155A (zh) 基于映射法的散乱点云Delaunay三角剖分曲面重构方法
CN110276768B (zh) 图像分割方法、图像分割装置、图像分割设备及介质
CN108389250A (zh) 基于点云数据快速生成建筑物断面图的方法
US20240153123A1 (en) Isogeometric Analysis Method Based on a Geometric Reconstruction Model
CN104063860A (zh) 一种激光点云边缘精细化的方法
CN104616349A (zh) 基于局部曲面变化因子的散乱点云数据精简处理方法
CN112305559A (zh) 基于地面定点激光雷达扫描的输电线距离测量方法、装置、系统和电子设备
CN112819962A (zh) 数字图像相关中非均匀网格划分及局部网格疏密方法
CN101034482A (zh) 复杂构件三维自适应有限元网格自动生成方法
CN109711242A (zh) 车道线的修正方法、装置和存储介质
CN106408653A (zh) 一种面向大规模三维重建的实时鲁棒的集束调整方法
CN114332291A (zh) 一种倾斜摄影模型建筑物外轮廓规则提取方法
CN105096379A (zh) 一种基于k-邻域的三角网格曲面重建方法
CN103236043A (zh) 一种植物器官点云修复方法
CN111009034B (zh) 一种三维模型单体化方法、系统、存储介质及设备
CN114241119A (zh) 一种游戏模型生成方法、装置、系统及计算机存储介质
CN104361625A (zh) 一种基于射线原理的带边界保留的云数据精简算法
CN108563915B (zh) 车辆数字化仿真测试模型构建系统及方法、计算机程序
CN102254353A (zh) 一种三维模型的特征描述方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151125