基于树型结构网格矢量量化的点云渲染方法、系统及装置与流程

文档序号:15589972发布日期:2018-10-02 18:50阅读:211来源:国知局

本发明涉及点云渲染技术领域,尤其是基于树型结构网格矢量量化的点云渲染方法、系统及装置。



背景技术:

近年来,三维激光扫描技术,在3d视频、虚拟旅游、数字城市和多媒体领域有很广泛的应用。人们可以通过传感器(如微软的kinect)、立体摄像头系统或高速高分辨率激光等来扫描生成大量高帧率数据。然而,产生的海量点云中包含较多的冗余数据,给存储、传输及后续的数据处理带来了极大不便,尤其在以图片内容为主要特征的互联网上更为突出,因此提出高效压缩方案变得很有必要。

对于高维度的数据集,现有技术通过把点云投影到相应的网格平面中,从投影到同一个网格的点里选择一个中值点来代替这个网格,并删除其余点,实现点云精简,但如果点分布不均衡,该方法容易产生大量空栅格,精度较低;现有技术还通过对点云进行三角化,然后对临近三角面片的法矢量进行比较,对于较为平坦的区域,在矢量加权算法的基础上使用较少的大三角面片代替较多小三角面片,实现点云精简,但是由于三角网格法需要对点云进行三角化处理,对于大规模散乱点云而言效率较低,该方法无法对大规模散乱点云进行实时压缩,不够实用;另外,现有的点云数据渲染方法无法根据实际的复杂度和精确度要求进行适应性调整,只能单一地处理高复杂度且高精度的点云数据、或者处理低复杂度且低精度的点云数据,该方法的拓展性较低。



技术实现要素:

为解决上述技术问题,本发明的目的在于:提供一种精度高、实时性高且拓展性强的,基于树型结构网格矢量量化的点云渲染方法、系统及装置。

本发明所采取的第一技术方案是:

基于树型结构网格矢量量化的点云渲染方法,其特征在于:包括以下步骤:

将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装;

根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒;

用最高深度的子包围盒来代替点云数据中在该子包围盒内的点。

进一步,所述将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装这一步骤,包括以下步骤:

根据点云数据组成的矢量空间,采用深度优先遍历法进行八叉树的构造;

将点云数据封装在八叉树的根节点中,形成包围盒。

进一步,所述根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒这一步骤,具体为:

判断包围盒对应的深度是否小于可调的渲染层级,若是,则采用八叉树分割方法对封装得到的包围盒进行多层量化处理,直至包围盒对应的深度不小于可调的渲染层级;反之,则执行用最高深度的子包围盒来代替点云数据中在该子包围盒内的点的步骤。

进一步,所述采用八叉树分割方法对封装得到的包围盒进行多层量化处理这一步骤,包括以下步骤:

将包围盒进行截断处理,得到多个截断网格;

将点云数据投影到相应的截断网格,得到截断包围盒;

将截断包围盒嵌入到3d物体对应的几何区域,所述3d物体对应的几何区域是指由点云数据构造成的且尺度统一的多个区域;

将嵌入后的几何区域作为输入向量进行实时量化操作。

进一步,所述将嵌入后的几何区域作为输入向量进行实时量化操作这一步骤,包括以下步骤:

将三维空间坐标原点平移至3d物体的中心;

根据可调的渲染层级,对3d物体中心的三维坐标进行缩放处理;

对缩放处理后的点进行坐标平移变换,然后进行量化处理;

根据变换后得到的三维坐标和可调的渲染层级计算输出向量,并将输出向量作为子包围盒的中心坐标。

进一步,还包括根据体积变化率和渲染时间开销来进行性能评价的步骤。

进一步,所述根据体积变化率和渲染时间开销来进行性能评价这一步骤,包括以下步骤:

通过体积变化比率来进行精确度的评价;

通过渲染时间开销来进行时间成本的评价。

本发明所采取的第二技术方案是:

基于树型结构网格矢量量化的点云渲染系统,包括:

封装模块,用于将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装;

量化模块,用于根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒;

取代模块,用于用最高深度的子包围盒来代替点云数据中在该子包围盒内的点。

进一步,所述量化模块包括:

截断单元,用于将包围盒进行截断处理,得到多个截断网格;

投影单元,用于将点云数据投影到相应的截断网格,得到截断包围盒;

嵌入单元,用于将截断包围盒嵌入到3d物体对应的几何区域,所述3d物体对应的几何区域是指由点云数据构造成的且尺度统一的多个区域;

实时量化单元,用于将嵌入后的几何区域作为输入向量进行实时量化操作。

本发明所采取的第三技术方案是:

基于树型结构网格矢量量化的点云渲染装置,包括:

存储器,用于存储程序;

处理器,用于加载所述程序,以执行如第一技术方案所述的基于树型结构网格矢量量化的点云渲染方法。

本发明的有益效果是:本发明首先对整个点云数据进行包围盒封装,然后根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,最终用最高深度的子包围盒来代替点云数据中在该子包围盒内的点,与现有技术相比,本发明能够实时调整渲染层级的大小,进而对包围盒进行量化处理,能够满足实际应用中不同的复杂度和精确度要求,以及实时地对所有点云数据进行高精度渲染,拓展性强。

附图说明

图1为本发明基于树型结构网格矢量量化的点云渲染方法的整体步骤流程图;

图2为本发明采用八叉树分割方法对封装得到的包围盒进行多层量化处理的步骤流程图;

图3为本发明将截断六边形包围盒嵌入3d物体对应的几何区域得到的一种结果示意图;

图4为本发明对缩放处理后的点进行坐标平移变换的示意图。

具体实施方式

下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

参照图1,本发明基于树型结构网格矢量量化的点云渲染方法,其特征在于:包括以下步骤:

将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装;

根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒;

用最高深度的子包围盒来代替点云数据中在该子包围盒内的点。

其中,点云是指对物体进行扫描或者摄影后得到的由所有点组成的一个集合。

进一步作为优选的实施方式,所述将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装这一步骤,包括以下步骤:

根据点云数据组成的矢量空间,采用深度优先遍历法进行八叉树的构造;

将点云数据封装在八叉树的根节点中,形成包围盒。

进一步作为优选的实施方式,所述根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒这一步骤,具体为:

判断包围盒对应的深度是否小于可调的渲染层级,若是,则采用八叉树分割方法对封装得到的包围盒进行多层量化处理,直至包围盒对应的深度不小于可调的渲染层级;反之,则执行用最高深度的子包围盒来代替点云数据中在该子包围盒内的点的步骤。

进一步作为优选的实施方式,所述采用八叉树分割方法对封装得到的包围盒进行多层量化处理这一步骤,包括以下步骤:

将包围盒进行截断处理,得到多个截断网格;

将点云数据投影到相应的截断网格,得到截断包围盒;

将截断包围盒嵌入到3d物体对应的几何区域,所述3d物体对应的几何区域是指由点云数据构造成的且尺度统一的多个区域;

将嵌入后的几何区域作为输入向量进行实时量化操作。

进一步作为优选的实施方式,所述将嵌入后的几何区域作为输入向量进行实时量化操作这一步骤,包括以下步骤:

将三维空间坐标原点平移至3d物体的中心;

根据可调的渲染层级,对3d物体中心的三维坐标进行缩放处理;

对缩放处理后的点进行坐标平移变换,然后进行量化处理;

根据变换后得到的三维坐标和可调的渲染层级计算输出向量,并将输出向量作为子包围盒的中心坐标。

进一步作为优选的实施方式,还包括根据体积变化率和渲染时间开销来进行性能评价的步骤。

进一步作为优选的实施方式,所述根据体积变化率和渲染时间开销来进行性能评价这一步骤,包括以下步骤:

通过体积变化比率来进行精确度的评价;

通过渲染时间开销来进行时间成本的评价。

与图1的方法相对应,本发明基于树型结构网格矢量量化的点云渲染系统,包括:

封装模块,用于将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装;

量化模块,用于根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒;

取代模块,用于用最高深度的子包围盒来代替点云数据中在该子包围盒内的点。

进一步作为优选的实施方式,所述量化模块包括:

截断单元,用于将包围盒进行截断处理,得到多个截断网格;

投影单元,用于将点云数据投影到相应的截断网格,得到截断包围盒;

嵌入单元,用于将截断包围盒嵌入到3d物体对应的几何区域,所述3d物体对应的几何区域是指由点云数据构造成的且尺度统一的多个区域;

实时量化单元,用于将嵌入后的几何区域作为输入向量进行实时量化操作。

与图1的方法相对应,本发明基于树型结构网格矢量量化的点云渲染装置,包括:

存储器,用于存储程序;

处理器,用于加载所述程序,以执行本发明基于树型结构网格矢量量化的点云渲染方法。

下面从名词解释和具体实现过程这两方面入手对本发明的基于树型结构网格矢量量化的点云渲染方法进行详细说明。

(一)名词解释

本发明涉及到的专有名词如下:

八叉树:是指一个有预定义深度的树型结构,每个分支节点代表一个在3d空间中的确定的立方体,也叫体素,八叉树的子节点中可以包含或不包含点云中的点,另外,3d点云中的所有结点最终被映射到八叉树的叶结点上。

矢量量化(vq,vectorquantization)是信号处理中典型的量化技术,矢量是由若干个标量数据组成的,矢量量化把矢量空间分成若干个小区域,每个小区域寻找一个代表矢量,量化时落入小区域的矢量就由这个代表矢量代替。实际应用中,对于每一个量化矢量(即码字),利用其在码书中分配的索引号进行存储或传输,从而达到数据压缩的目的。由于图像的相邻数据项都是相关的,故而可以将矢量量化技术应用于图像压缩。

结构化矢量量化(lvq,latticevectorquantization)是指将网格点集的子集作为vq的输出点,通过网格编码将纯矢量量化扩展成具有更大码书尺寸的矢量量化器,因此相比vq具有更好的性能。lvq不仅利用了量化信号间的空间相关性,而且它也利用了量化信号间的时间相关性,同时根据受约束的率失真理论和不受约束的率失真理论,该方法原理上可以任意逼近率失真下限。其中,码字是几何区域(即包围盒)的中心点,包围盒的空间嵌入决定了它的属性。lvq中的编码与矢量坐标相关。因此,它仅仅依赖于近似和尺度缩放操作,编码非常方便。

(二)、以斯坦福大学图像学实验室的中国龙的点云数据库和mitcsail图像库的石狮的点云数据库为例,本发明基于树型结构网格矢量量化的点云渲染方法的具体步骤流程如下:

s1、将点云数据组成的矢量空间分成若干个网格矢量,并将若干个网格矢量进行包围盒封装;

其中,步骤s1具体包括以下步骤:

s11、根据点云数据组成的矢量空间,采用深度优先遍历法进行八叉树的构造;

s12、将点云数据封装在八叉树的根节点中,形成包围盒。

s2、根据可调的渲染层级,采用八叉树分割方法对封装得到的包围盒进行多层量化处理,得到不同深度的子包围盒;

步骤s2具体为:判断包围盒对应的深度是否小于可调的渲染层级,若是,则采用八叉树分割方法对封装得到的包围盒进行多层量化处理,直至包围盒对应的深度不小于可调的渲染层级;反之,则执行用最高深度的子包围盒来代替点云数据中在该子包围盒内的点的步骤。

参照图2,所述采用八叉树分割方法对封装得到的包围盒进行多层量化处理这一步骤,具体包括以下步骤:

s21、将包围盒进行截断处理,得到多个截断网格;

s22、将点云数据投影到相应的截断网格,得到截断包围盒;

s23、将截断包围盒嵌入到3d物体对应的几何区域,所述3d物体对应的几何区域是指由点云数据构造成的且尺度统一的多个区域;如图3所示,将六边形的截断包围盒嵌入到3d物体对应的几何区域(即较大的六边形包围盒)。

s24、将嵌入后的几何区域作为输入向量进行实时量化操作。

所述步骤s24具体包括以下步骤:

s241、将三维空间坐标原点平移至3d物体的中心;

s242、根据可调的渲染层级,对3d物体中心的三维坐标进行缩放处理;

s243、对缩放处理后的点进行坐标平移变换,然后进行量化处理,如图4所示,从而完成三维空间中2×2×2到3×3×3的坐标变换;

s244、根据变换后得到的三维坐标和可调的渲染层级计算输出向量,并将输出向量作为子包围盒的中心坐标。

如图2所示,t1代表步骤s241;xi是第i层的输入向量;yi是第i层的输出向量;f是指初始渲染层级,用于将每一个输入向量xi映射到对应的第一个截断包围盒;b表示后续渲染层级;tslvq(treestructurelatticevectorquantization)是指本发明基于树型结构网格矢量量化的点云渲染方法;t2代表步骤s243。

其中,本实施例通过初始渲染层级将输入向量x映射到对应的截断包围盒,所述初始渲染层级f的计算公式为:

ρ是对应的填充半径(所述填充半径的固定取值为0.5),l2max为输入向量的最大的球体半径,所有的输入向量被映射到一个球体中,这个球体的半径等于b×ρ。

本发明在点云数据层层深入量化的过程中,八叉树的中间节点仅作为数据检索的“通道”,而不对点数据进行存储。

s3、用最高深度的子包围盒来代替点云数据中在该子包围盒内的点;

本发明通过设定不同深度的渲染层级,将输入向量映射到不同层级的截断包围盒。在本实施例中,第i层的截断包围盒的输出向量是yi,本发明的最终结果(即最高深度的子包围盒)的计算公式为:

center表示3d物体的中心坐标,在本实施例中,center=[0.5,0.5,0.5],bi-1表示第i-1层的渲染层级,f代表初始渲染层级。

s4、根据体积变化率和渲染时间开销来进行性能评价。本实施例的实验运行的硬件环境为:intelcorei5/双核四线程2.50ghzcpu,内存为8gb,软件平台为matlabr2017a。现有技术对于点云数据的精简评价大多采用目视的方式,也有部分通过计算rate-distortion曲线来评价。本发明采用体积变化比率和渲染时间开销来评价算法的性能。

其中,步骤s4具体包括以下步骤:

s41、通过体积变化比率来进行精确度的评价;

其中,计算计算体积变换比率ov的公式为:

count是在八叉树对应深度层次上的包围盒的数量;depth是指八叉树的深度。体积变换比率表示数据相对于标准完全树网格的扭曲程度,本发明采用八叉树分割的点云渲染方法与现有技术采用二十七叉树的点云渲染方法对比结果如表1所示,反映了本发明的数据相对扭曲程度较低,精确度较高。

表1

s42、通过渲染时间开销来进行时间成本的评价。

相较于现有技术,本发明基于树型结构网格矢量量化的点云渲染方法具有以下优点:

1)、本发明能够适应不同复杂度和精确度的需求,通过调整八叉树的深度来进行拓展,具有较强的通用性和拓展性;

2)、本发明的数据相对扭曲程度较低,精确度较高;

3)、本发明能够实时地对任意规模的散乱点云进行压缩渲染,实时性高;

4)、本发明能够对点云数据进行快速渲染,时间成本低。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

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