三维点云曲面重建方法及装置与流程

文档序号:11708599阅读:1224来源:国知局
三维点云曲面重建方法及装置与流程

本发明实施例涉及互联网技术领域,尤其涉及一种三维点云曲面重建方法及装置。



背景技术:

平面点云数据的三角化研究已经经历长时间的研究,相关理论与算法均已成熟,但三维点云的三角化在算法效率与效果上有待提高。

目前,各国学者针对三维点云曲面重建技术提出了多种方法。其主要过程如下:首先采用三角化算法将空间物体对应的三维点云数据进行三角化,得到三角化网格,根据三角化网格非人防重建的曲面模型。其中,三角化算法可以为delaunay三角化算法或贪婪投影三角化算法。delaunay三角化算法两个重要的准则为:空圆特性和最大化最小角特性。贪婪投影三角化算法主要思想是将空间点投影到某一平面上,然后对投影得到的点云进行平面内的三角化。此方法要求输入的点云足够平滑且密度均匀,且不能填充孔洞。

但是,通过上述方法得到的三角化网格表面比较粗糙,从而导致重建的三维物体模型不够逼真。



技术实现要素:

本发明实施例提供一种三维点云曲面重建方法及装置,通过对网格数据进行平滑和/或细化处理,使得空间物体的重构曲面比较光滑,从而得到较为逼真的三维物体模型。

第一方面,本发明实施例提供了一种三维点云曲面重建方法,该方法包括:

对待重构空间物体的三维点云数据进行三维网格化处理,得到初始网格数据;

对所述初始网格数据进行平滑和/或细化处理,得到处理后的目标网格数据;

根据所述目标网格数据构建所述待重构空间物体的曲面模型。

第二方面,本发明实施例还提供了一种三维点云曲面重建装置,该装置包括:

初始处理模块,用于对待重构空间物体的三维点云数据进行三维网格化处理,得到初始网格数据;

平滑和/或细化模块,用于对所述初始网格数据进行平滑和/或细化处理,得到处理后的目标网格数据;

曲面重构模块,用于根据所述目标网格数据构建所述待重构空间物体的曲面模型。

本发明实施例通过对网格数据进行平滑和/或细化处理,再根据处理后的网格数据构建空间物体的曲面模型,这样使得空间物体的重构曲面比较光滑,从而得到较为逼真的三维物体模型。

附图说明

图1是本发明实施例一中的一种三维点云曲面重建方法的流程图;

图2是本发明实施例二中的一种三维点云曲面重建方法的流程图;

图3是本发明实施例三中的一种三维点云曲面重建方法的流程图;

图4是本发明实施例四中的一种三维点云曲面重建装置的结构图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的一种三维点云曲面重建方法的流程图,该方法可以由本发明实施例提供的三维点云曲面重建装置来执行,该装置可采用软件和/或硬件的方式实现,该装置可集成在终端设备中,例如可以是移动终端(例如手机)、平板电脑、台式电脑、虚拟现实设备、增强现实设备、或混合现实设备中等。如图1所示,具体包括:

s110、对待重构空间物体的三维点云数据进行三维网格化处理,得到初始网格数据。

具体的,可使用贪婪投影三角化算法对三维点云数据进行三角网格化处理,得到初始网格数据。例如,首先选取一个样本三角形作为初始曲面,不断地选择新点,根据新点来构造新的三角形,不断地扩张曲面边界,从而形成一个完整的三角网格曲面。最后根据投影点云的连接关系确定原始点云间的拓扑连接,所得到的三维网格为重建的曲面模型。由于噪声点的存在,使得得到的三角网格存在粗糙的表面,因此需对三角化后的数据进行处理,其中包括平滑和/或细化。

另外,为进一步减少数据的干扰,减少计算复杂度,在对三维点云数据进行三维网格化处理之前,进行以下至少一项处理:离群点移除和下采样。

在本实施例中,可使用统计方法来移除离群点,例如,对点集中的每个点进行统计分析,并删除那些不符合要求的点。统计分析指的是对点集中每个点,计算此点与其邻近点的距离,然后计算距离的均值及方差,假设它们服从高斯分布,若此点的平均距离不在标准区间内(此区间由均值与方差决定),则定义此点为离群点并从点集中删除此点。

在本实施例中,可采用体素网格方法来对点云进行下采样,例如,定义一个三维体素网格,可认为它是由一组很小的3d包围盒组成,3d包围盒在空间中各方向的大小可根据点云的密集度来决定。然后将每个包围盒内的所有点都由位于此包围盒内的点集的中心来近似,这样大大地减少了数据量,且能较好地保持点云的形状特征。

s120、对所述初始网格数据进行平滑和/或细化处理,得到处理后的目标网格数据。

具体的,在本实施例中,可选择性的对所述初始网格数据进行平滑,或对所述初始网格数据进行细化处理、或对所述初始网格数据进行平滑和细化处理。

s130、根据所述目标网格数据构建所述待重构空间物体的曲面模型。

本实施例通过对网格数据进行平滑和/或细化处理,再根据处理后的网格数据构建空间物体的曲面模型,这样使得空间物体的重构曲面比较光滑,从而得到较为逼真的三维物体模型。

实施例二

图2为本发明实施例二提供的一种三维点云曲面重建方法的流程图,本实施例在上述实施例的基础上,将对所述初始网格数据进行平滑处理,得到处理后的目标网格数据进一步优化为:根据所述初始网格数据确定各个点云对应的权重;根据所述权重和类高斯函数对所述初始网格数据进行平滑处理,将平滑后的网格数据作为目标网格数据。

相应的,本实施例的方法包括:

s210、对待重构空间物体的三维点云数据进行三维网格化处理,得到初始网格数据。

s220、根据所述初始网格数据确定各个点云对应的权重。

具体的,首先根据所述初始网格数据形成点集p={p1,…,pn};采用公式计算得到各个点云对应的权重,其中,pj为点pi的k近邻,k为点pi邻近点个数。

s230、根据所述权重和类高斯函数对所述初始网格数据进行平滑处理,将平滑后的网格数据作为目标网格数据。

具体的,可将类高斯函数gσ(ρ)定义为

采用公式进行顶点坐标变换,并采用公式进行迭代得到顶点坐标,当时,迭代终止;

其中,nj为点pj的法向量,σ为用户自定义阈值,l为点云包围盒中主对角线长度。例如,l取值为点pmin(xmin,ymin,zmin)到pmax(xmax,ymax,zmax)的距离,其中,xmin,ymin,zmin和xmax,ymax,zmax分别为点集在x,y,z方向上的最小值和最大值。

s240、根据所述目标网格数据构建所述待重构空间物体的曲面模型。

本实施例通过对网格数据进行平滑处理,再根据平滑处理后的网格数据构建空间物体的曲面模型,这样使得空间物体的重构曲面比较光滑,从而得到较为逼真的三维物体模型。

实施例三

图3为本发明实施例三提供的一种三维点云曲面重建方法的流程图,本实施例在上述实施例的基础上,将对所述初始网格数据进行细化处理,得到处理后的目标网格数据进一步优化为:采用loop算法将所述初始网格数据中在预设条边上生成新的边点;移动原顶点将三角面片分成四个子面片。

相应的,本实施例的方法包括:

s310、对待重构空间物体的三维点云数据进行三维网格化处理,得到初始网格数据。

s320、采用loop算法将所述初始网格数据中在预设条边上生成新的边点。

s330、移动原顶点将三角面片分成四个子面片,得到处理后的目标网格数据。

具体的,首先确定原顶点vr的n个近邻采用公式确定原顶点vr修正后的顶点vr+1和边点(边上的点)位置;其中,为原顶点vr所对应的权重,

s340、根据所述目标网格数据构建所述待重构空间物体的曲面模型。

本实施例通过对网格数据进行细化处理,再根据细化处理后的网格数据构建空间物体的曲面模型,这样使得空间物体的重构曲面比较光滑,从而得到较为逼真的三维物体模型。

实施例四

图4所示为本发明实施例四提供的一种三维点云曲面重建装置的结构示意图。该装置可采用软件和/或硬件的方式实现,该装置可集成在终端设备中,例如可以是移动终端(例如手机)、平板电脑、台式电脑、虚拟现实设备、增强现实设备、或混合现实设备中等。如图4所示,具体包括:初始处理模块41、平滑和/或细化模块42和曲面重构模块43;

初始处理模块41用于对待重构空间物体的三维点云数据进行三维网格化处理,得到初始网格数据;

平滑和/或细化模块42用于对所述初始网格数据进行平滑和/或细化处理,得到处理后的目标网格数据;

曲面重构模块43用于根据所述目标网格数据构建所述待重构空间物体的曲面模型。

本实施例的三维点云曲面重建装置用于执行上述各实施例的三维点云曲面重建方法,其技术原理和产生的技术效果类似,这里不再赘述。

在上述实施例的基础上,所述平滑和/或细化模块42包括:权重计算子模块和平滑处理子模块;

权重计算子模块用于根据所述初始网格数据确定各个点云对应的权重;

平滑处理子模块用于根据所述权重和类高斯函数对所述初始网格数据进行平滑处理,将平滑后的网格数据作为目标网格数据。

在上述实施例的基础上,所述权重计算子模块具体用于:

根据所述初始网格数据形成点集p={p1,…,pn};采用公式计算得到各个点云对应的权重,其中,pj为点pi的k近邻,k为点pi邻近点个数。

在上述实施例的基础上,所述平滑处理子模块具体用于:

将类高斯函数gσ(ρ)定义为采用公式进行顶点坐标变换,并采用公式进行迭代得到顶点坐标,当时,迭代终止;其中,nj为点pj的法向量,σ为用户自定义阈值,l为点云包围盒中主对角线长度。

在上述实施例的基础上,所述平滑和/或细化模块42包括:边点生成子模块和原点移动子模块;

边点生成子模块用于采用loop算法将所述初始网格数据中在预设条边上生成新的边点;

原点移动子模块用于移动原顶点将三角面片分成四个子面片,得到处理后的目标网格数据。

在上述实施例的基础上,所述原点移动子模块具体用于:

确定原顶点vr的n个近邻采用公式确定原顶点vr修正后的顶点vr+1和边点(边上的点)位置;其中,为顶点vr所对应的权重,

上述各实施例的三维点云曲面重建装置用于执行上述各实施例的三维点云曲面重建方法,其技术原理和产生的技术效果类似,这里不再赘述。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1