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

文档序号:9376911阅读:421来源:国知局
一种基于k-邻域的三角网格曲面重建方法
【技术领域】
[0001] 本发明属于三维图像重建领域,具体涉及一种基于k-邻域的三角网格曲面重建 方法。
【背景技术】
[0002] 三维重建是对三维物体建立适合计算机表示和处理的数学模型的过程。在医疗、 文物的数字化保护、机器人视觉导航、城市设计规划与管理等领域有广泛的应用。物体的点 云模型是指通过测量仪器得到的物体表面点的集合。物体三维点云模型中点的k_邻域搜 索,是指在欧几里德距离下,求出一组数据点集X n e R中的各点与某点P最近的K个数据 点,从而得到点云中点与点之间的拓扑关系,便于进行对点云的分类、简化、变形、形状分析 与识别、匹配和检索等处理。它被广泛应用于计算几何、模式识别与数据查询等实际领域 中。在具体应用中,寻找点的k_邻域的时间代价直接影响到相关算法的速度。
[0003] 目前,求取k_邻域的算法有许多。文献一(Ferraiolo D. KuhnR. Role-based Access Controls[C]//Proceedings of thel5th NIST-NCSC National Co mputer Security Conference. Baltimore, USA: [s. n. ],1992.)利用 k_ 邻域的定义提出一种 k_ 邻 域的搜索方法。该方法遍历点云中的所有点,通过计算参考点与目标点之间的欧式距离, 并比较距离大小来确定某点是否为目标点的k个最近邻之一。该方法在求取点云中每个 点的k-邻域时,都需要求点云中其他所有点与该点之间的距离,并对距离进行比较,选取 距离该点最近的k个点作为该点的k-邻域,所有该方法耗时长,效率低。文献二(Sandhu R S,Coynek E J,Feinsteink H L,et al. Role-based Access Control Models[J]. IEEE Computer, 1996, 29 (2) :38-47.)和文献三(OASIS. Core and Hierarchical Role Based Access Control(RBAC)Profile of XACML Version2.0[EB/0L]· (2005-10-30)·)提出或介 绍了一种基于点集Voronoi图的k-邻域搜索算法,该方法利用点集Voronoi图来进行k个 最近邻搜索,但是点的Voronoi图的计算量仍然非常大。文献四(周儒荣,张丽燕,苏旭等, 海量散乱点云的曲面重建算法.软件学报,2001-05, 35(5):)提出或介绍了一种利用空间 划分求取k邻域的方法,该方法引进了点云数据的空间划分,但当k值较大,点云密集时,栅 格内的点数仍旧很多,计算距离所消耗的时间仍旧很长。文献五(Liu Y H,Liao W H,Liu H, Research fork-nearest neighbors search algorithm in reverse engineering[J]. Machinery Design&Manufacture, 2012, 1 (3) :256-258.[刘越华,廖文和,刘,逆向工程中散 乱点云的k邻域搜索算法研究[J].机械设计与制造,2012, 1 (3) :256-258])在空间划分的 基础之上提出一种以目标点为中心构造球体来缩小k-邻域搜索范围的方法,该方法中以 目标点到所对应立方体小栅格的环六壁的距离为球体半径的取值范围,通过逐步增加球体 半径扩大搜索范围来进行k-邻域搜索。但是当k较大时,计算点在3个方向上的交集,最 后根据传统方法来计算k-邻域,避免了大量的浮点计算,判断点在圆内的算法,但该方法 计算量大,造成不必要的时间浪费。

【发明内容】

[0004] 本发明提出一种基于k_邻域的三角网格曲面重建方法,能够快速进行点云模型 中各点的k邻域搜索,从而快速重建物体的三维网格模型。
[0005] 为了解决上述技术问题,本发明提供一种本发明一种基于k_邻域的三角网格曲 面重建方法,实施过程为:用激光扫描仪扫描物体,获得由物体表面的数据点构成的三维 点云模型,三维点云模型包含了点云中各点的三维坐标信息;对三维点云模型中各点进行 k_邻域搜索;根据各点的k-邻域搜索结果,计算由点云模型中各点及其邻域拟合出的切 平面,并估算出切平面的法向量,即法矢;由于各切平面的法矢有可能从切平面内部指向外 部,也可能由切平面外部指向内部,切平面法矢的方向不同,会导致生成的网格弯曲方向不 同,故进一步对法矢进行法矢一致化处理;对点云模型进行三角网格重建,获得物体三维网 格模型。
[0006] 所述对三维点云模型中各点进行k-邻域搜索的过程为:
[0007] 步骤一、根据点云的三维坐标,获得包含点云模型中所有点的最小长方体空间信 息,将该最小长方体空间均匀划分成大小相同的多个栅格,并计算每个栅格中包含的点的 数目;
[0008] 步骤二、选取任意栅格作为中心栅格,将该中心栅格与其周围多个栅格组成体积 小于最小长方体空间的第一级搜索空间;
[0009] 步骤三、根据第一级搜索空间内点的数目判断是否对第一级搜索空间的中心栅格 内各点进行k_邻域搜索,具体为:
[0010] 如果第一级搜索空间内点的数目较少,不足以进行各点的k-邻域搜索,则返回步 骤二继续选取另一任意栅格作为中心栅格构造第一级搜索空间;
[0011] 如果第一级搜索空间内点的数目适中,则对第一级搜索空间的中心栅格内各点进 行k-邻域搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第 一级搜索空间;
[0012] 如果第一级搜索空间内点的数目过多,此时对点云模型中各点的k-邻域搜索来 说,需要搜索空间过大,不能快速地进行k-邻域搜索,则在第一级搜索空间内部构建体积 小于第一级搜索空间的第二级搜索空间,然后继续步骤四;
[0013] 步骤四、根据第二级搜索空间内点的数目判断是否对第二级搜索空间内各点进行 k_邻域搜索,具体为:
[0014] 如果第二级搜索空间内点的数目适中,则对第二级搜索空间内各点进行k-邻域 搜索,当搜索完毕以后,返回步骤二继续选取另一任意栅格作为中心栅格构造第一级搜索 空间;
[0015] 如果第二级搜索空间内点的数目较少,则说明此时的第二级搜索空间太小,不足 以进行k-邻域搜索,此时逐步增大第二级搜索空间,直到第二级搜索空间内点的数目适 中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后,返回步骤二继续选 取另一任意栅格作为中心栅格构造第一级搜索空间;
[0016] 如果第二级搜索空间内点的数目过多,对k-邻域搜索来说,需要搜索空间过大, 不能快速地进行k-邻域搜索,此时需逐步缩小第二级搜索空间,直到第二级搜索空间内点 的数目适中,然后对第二级搜索空间内各点进行k-邻域搜索,当搜索完毕以后返回步骤二 继续选取另一任意栅格作为中心栅格构造第一级搜索空间。
[0017] 通过上述k-邻域搜索,获得物体三维点云模型中每一个点的k-邻域,相当于对点 云中的点进行了识别与分类。
[0018] 本发明与现有技术相比,其显著优点在于:⑴本发明采用结合点云模型中各点 的k-邻域,对物体的三维点云模型进行三角网格网格曲面重建,相比于传统的直接对点云 进行Delaunay三角网格化的方法而言,适用性更加广泛。并且,也在一定程度上提高了三 角网格的质量。这是由于在对点云进行三角网格化处理之前,先求取了点云中各点之间的 拓扑关系,使得点云点之间的连接关系更加清晰且准确,从而,选取点构造三角形所得的三 角形更加趋近等边三角形,在一定程度上提高了三角形的质量。另外,本发明方法进行的 是分块求切平面,进而在切平面进行三角化的方法,避免传统的直接对点云进行Delaunay 三角网格化处理时,点云重叠投影造成的三角化不准确的问题,从而,本发明方法的适用性 更广;(2)本发明采用二级搜索空间,在空间划分的基础之上,构造以目标点为中心的立方 体,理论上也可以构造以目标点为中心的球,但是由于满足在球内的点要求参考点到目标 点的距离小于半径,大量的浮点数计算,造成时间浪费,而满足在球内只需要求点满足式 (4)中条件即可,故选择立方体,这样目标点在搜索区域的中心,可以通过调节边长,快速搜 索k邻域。与传统的基于空间划分求取k邻域的算法相比,大量节省了计算时间,从而能快 速实现物体三维模型的三角网格曲面重构。
【附图说明】
[0019] 图1是本发明流程图。
[0020] 图2是本发明中由27个栅格构成的第一级搜索空间示意图。
[0021] 图3是本发明中第二级搜素空间示意图。
【具体实施方式】
[0022] 如图1所示,本发明一种基于k_邻域的三角网格曲面重建方法,实施过程为:
[0023] 用激光扫描仪扫描物体,获得由物体表面的数据点构成的三维点云模型,三维点 云模型包含了点云中各点的三维坐标信息;对三维点云模型中各点进行k_邻域搜索;根据 各点的k_邻域搜索结果,计算由点云模型中各点及其邻域拟合出的切平面,并估算出切平 面的法向量,即法矢;由于各切平面的法矢有可能从切平面内部指向外部,也可能由切平面 外部指向内部,切平面法矢的方向不同,会导致生成的网格弯曲方向不同,故进一步对法矢 进行法矢一致化处理;对点
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1