首页 / 专利库 / 多媒体工具与应用 / 有损压缩 / 一种基于体素卷积的点云几何有损压缩方法

一种基于体素卷积的点几何有损压缩方法

阅读:798发布:2020-05-13

专利汇可以提供一种基于体素卷积的点几何有损压缩方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于 体素 卷积的点 云 几何 有损压缩 方法,通过训练模型对点云的体素进行卷积与反卷积来压缩与解压。首先对点云数据进行体素化,对点云的体素选择一定的网格大小进行3D卷积操作,得到形状大小更小的特征数据,对卷积后的特征数据进行量化处理,训练模型时加入均匀量化噪声以提高模型泛化性,对量化后的数据进行压缩。解压时通过对量化后的特征数据反卷积,得到大小与初始点云体素形状大小一致的特征数据,对特征数据归一化后通过 阈值 判断每个体素单元是否为空,得到解压缩后的点云数据。模型训练时采用焦点损失作为失真损失以减少体素中空样本太多对模型的影响。本发明可以高效地对点云数据进行几何压缩,减少还原后的失真率。,下面是一种基于体素卷积的点几何有损压缩方法专利的具体信息内容。

1.一种基于体素卷积的点几何有损压缩方法,其特征在于,所述方法包括以下步骤:
S1:对点云数据进行体素化处理,得到离散的体素矩阵;
S2:将所述体素矩阵通过3D卷积得到形状更小的特征数据;
S3:将所述特征数据通过量化后得到压缩数据,所述压缩数据通过deflate算法可进一步压缩;
S4:所述压缩数据通过反卷积得到与原始体素形状大小相同的特征数据,对该数据进行归一化后通过阈值二分类得到解压后的体素数据。
2.根据权利要求1所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述方法还包括以下步骤:模型训练过程中通过焦点损失作为失真损失进行梯度下降以减少所述体素数据中空样本对模型的影响。
3.根据权利要求1所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤S1还包括:
S1-1:通过刚性缩放将点云模型的实际尺寸转换成大小统一的包围盒
S1-2:为3D模型选择一个固定大小的分辨率,根据分辨率将模型的所述包围盒沿着与X轴、Y轴、Z轴平行的方向对其边进行等分,等分过程中边长不足则向上取整;
S1-3:过等分点用垂直于等分边的平面将所述包围盒分割成包含Nx×Ny×Nz个正方体的所述体素矩阵。
4.根据权利要求1所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤S2还包括:
对所述体素矩阵进行3D卷积,卷积时的卷积核移动步长都为2,每层卷积使用RELU激活函数激活并添加偏移参数,最后一层卷积无所述偏移参数,每增加一层卷积可使点云数据缩小一个级别,因此可根据压缩等级需求来训练不同层数的模型,所述卷积最后一层输出一个形状更小的特征数据。
5.根据权利要求1所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤S3还包括:
模型训练时,为每个所述特征数据添加一个均匀噪声来进行量化操作,以提高模型的泛化性能,使原数据的分布模型保持可微,量化后得到压缩数据,而模型训练完进行使用时,则不再添加噪声,直接采用均匀量化方法。
6.根据权利要求1所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤S4还包括:
解压时对所述压缩数据进行3D反卷积,即先将所述压缩数据进行填充处理,在每个体素单元之间和最外一层都填充一层0,再进行步长为1的卷积操作,使用与压缩时相同的卷积层数和卷积核大小,最后一层就能输出一个与初始体素大小形状相同的特征数据。
7.根据权利要求1所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤S4还包括:
对所述特征数据进行归一化处理,并设定一个阈值对该特征数据进行二分类,即能判断体素中每个体素单元为空或非空从而得到最终解压的体素数据。
8.根据权利要求7所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述阈值为0.5。
9.根据权利要求2所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤还包括:
设输入的所述体素矩阵中体素单元非空的概率为pt,则焦点损失为FL(pt)=-αt(1-pt)γlog(pt),将焦点损失作为模型的失真损失D,设输入的每个体素占用的比特数即码率为R,则最终的损失函数为Loss=R+λD,训练时在量化前计算码率,所述特征数据是连续分布的,采用差分熵来计算其熵,测试使用时利用量化后的数据来计算其离散熵。
10.根据权利要求2所述的基于体素卷积的点云几何有损压缩方法,其特征在于,所述步骤还包括:
最终训练好的编解码模型可用峰值信噪比来评估其解码后体素矩阵的恢复质量,使用体素比特率bpov来表示体素矩阵中每个体素单元所占的比特数。

说明书全文

一种基于体素卷积的点几何有损压缩方法

技术领域

[0001] 本发明涉及点云压缩技术领域,尤其涉及一种基于体素卷积的点云几何有损压缩方法。

背景技术

[0002] 随着三维扫描技术的发展,现实世界中的三维信息应用越来越广,三维信息的数字化也越来越重要,点云是一种表达三维场景和物体三维表面的重要方式。点云通过点的形式离散地分布在三维空间内,每个点包含几何位置颜色和纹理等信息,可使用户以任意的视进行观看体验。实际应用中点云主要是由三维扫描设备对场景或物体表面进行采样得到的,点的数量众多,信息量大,因此点云的数据量往往非常庞大,考虑到存储和网络传输带宽的问题,点云数据的压缩则是一个十分重要的任务。
[0003] 点云压缩任务主要分为属性压缩和几何压缩,三维物体最重要的特征信息是其几何形状特征,因此点云几何压缩是一个首要解决的问题。三维扫描设备采集的点云数据通常为散乱点云,散乱点云的点之间没有对应的拓扑关系,因此难以处理,目前存在的传统压缩方法有均匀网格算法包围盒算法、平均点距离算法等,压缩率都较低且压缩效果不太理想,因此需要一种高效的压缩方法来解决该问题。
[0004] 近年来随着深度学习的快速发展,也带动了数据压缩方面技术的发展,且有部分的表现效果远远超过传统方法,因此通过深度自编码器对点云数据进行压缩,实现高压缩率高保真度的点云压缩具有高度的必要性和现实意义。
[0005] 因此,本领域的技术人员致于开发一种基于体素卷积的点云几何有损压缩方法,以提高点云数据的压缩率和保真度,降低点云数据的存储与传输对硬件和带宽的要求。

发明内容

[0006] 有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于体素卷积的点云几何有损压缩方法,以解决现有技术中点云数据的高效高保真的几何压缩问题。
[0007] 为实现上述目的,本发明提供了一种基于体素卷积的点云几何有损压缩方法,所述方法包括以下步骤:
[0008] S1:对点云数据进行体素化处理,得到离散的体素矩阵;
[0009] S2:将所述体素矩阵通过3D卷积得到形状更小的特征数据;
[0010] S3:将所述特征数据通过量化后得到压缩数据,所述压缩数据通过deflate算法可进一步压缩;
[0011] S4:所述压缩数据通过反卷积得到与原始体素形状大小相同的特征数据,对该数据进行归一化后通过阈值二分类得到解压后的体素数据。
[0012] 进一步地,所述方法还包括以下步骤:模型训练过程中通过焦点损失作为失真损失进行梯度下降以减少所述体素数据中空样本对模型的影响。
[0013] 进一步地,所述步骤S1还包括:
[0014] S1-1:通过刚性缩放将点云模型的实际尺寸转换成大小统一的包围盒;
[0015] S1-2:为3D模型选择一个固定大小的分辨率,根据分辨率将模型的所述包围盒沿着与X轴、Y轴、Z轴平行的方向对其边进行等分,等分过程中边长不足则向上取整;
[0016] S1-3:过等分点用垂直于等分边的平面将所述包围盒分割成包含Nx×Ny×Nz个正方体的所述体素矩阵。
[0017] 进一步地,所述步骤S2还包括:
[0018] 对所述体素矩阵进行3D卷积,卷积时的卷积核移动步长都为2,每层卷积使用RELU激活函数激活并添加偏移参数,最后一层卷积无所述偏移参数,每增加一层卷积可使点云数据缩小一个级别,因此可根据压缩等级需求来训练不同层数的模型,所述卷积最后一层输出一个形状更小的特征数据。
[0019] 进一步地,所述步骤S3还包括:
[0020] 模型训练时,为每个所述特征数据添加一个均匀噪声来进行量化操作,以提高模型的泛化性能,使原数据的分布模型保持可微,量化后得到压缩数据,而模型训练完进行使用时,则不再添加噪声,直接采用均匀量化方法。
[0021] 进一步地,所述步骤S4还包括:
[0022] 解压时对所述压缩数据进行3D反卷积,即先将所述压缩数据进行填充处理,在每个体素单元之间和最外一层都填充一层0,再进行步长为1的卷积操作,使用与压缩时相同的卷积层数和卷积核大小,最后一层就能输出一个与初始体素大小形状相同的特征数据。
[0023] 进一步地,所述步骤S4还包括:
[0024] 对所述特征数据进行归一化处理,并设定一个阈值对该特征数据进行二分类,即能判断体素中每个体素单元为空或非空从而得到最终解压的体素数据。
[0025] 进一步地,所述阈值为0.5。
[0026] 进一步地,所述步骤还包括:
[0027] 设输入的所述体素矩阵中体素单元非空的概率为pt,则焦点损失为FL(pt)=-αt(1-pt)γlog(pt),将焦点损失作为模型的失真损失D,设输入的每个体素占用的比特数即码率为R,则最终的损失函数为Loss=R+λD,训练时在量化前计算码率,所述特征数据是连续分布的,采用差分熵来计算其熵,测试使用时利用量化后的数据来计算其离散熵。
[0028] 进一步地,所述步骤还包括:
[0029] 最终训练好的编解码模型可用峰值信噪比来评估其解码后体素矩阵的恢复质量,使用体素比特率bpov来表示体素矩阵中每个体素单元所占的比特数。
[0030] 通过3D卷积对点云体素数据进行几何压缩可以有效地提高点云几何压缩的压缩率并减少还原后的失真度,降低点云数据的存储和传输对硬件设备的要求,可以流畅地应用在移动设备上。
[0031] 以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

[0032] 图1是本发明一个较佳实施例的基于体素卷积的点云几何有损压缩方法的流程示意图;
[0033] 图2是本发明一个较佳实施例的体素3D卷积网络模型示意图;
[0034] 图3是2D卷积操作与3D卷积操作示意图。

具体实施方式

[0035] 以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
[0036] 在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
[0037] 承前所述,目前对点云数据的几何压缩主要为均匀网格算法、包围盒算法、平均点距离算法等传统方法,这些算法的压缩率低且压缩效果并不理想。针对这个问题,本发明提供了一种基于体素卷积的点云几何有损压缩方法,以提高点云数据的压缩率和保真度,降低点云数据的存储与传输对硬件和带宽的要求。
[0038] 如图1所示,展示为本申请一实施例中的基于体素卷积的点云几何有损压缩方法的流程示意图。如图所示,所述方法包括:
[0039] 步骤S1:对点云数据体素化处理,得到离散的体素矩阵。
[0040] 体素可以作为描述3D模型的基本数据单元,体素化是在保证精度的情况下,将点云数据转化为离散的体素集合表示的过程。该过程需要建立网格顶点与体素单元的对应关系,首先通过刚性缩放将点云模型的实际尺寸转换成大小统一的轴对齐包围盒(AABB),为3D模型选择一个固定大小的分辨率,体素为网格模型的最小单元且不可再分割,模型的分辨率选择越高,则体素单元的大小越小,同时解压缩模型时的计算量也会增加,因此选择一个大小合适的分辨率十分重要,本实施例中选择的模型分辨率为32×32×32。根据分辨率将模型的包围盒(AABB)沿着与X轴、Y轴、Z轴平行的方向对其边进行等分,等分过程中边长不足则向上取整,过等分点用垂直于等分边的平面将包围盒AABB分割成包含Nx×Ny×Nz个正方体的体素矩阵。AABB包围盒沿X轴、Y轴、Z轴分割的行数Nx、列数Ny、层数Nz分别为:
[0041]
[0042] 式中,(xmin,ymin,zmin)和(xmax,ymax,zmax)分别为包围盒AABB的对角顶点,round(·)函数为向上取整函数,Lvp为体素单元的边长,以(xmin,ymin,zmin)为坐标原点,则坐标为(x,y,z)的点在体素存储空间中对应的体素单元标记为(Nr,Nc,Nl),即表示第Nr行,第Nc列,第Nl层的体素单元,其计算公式为:
[0043]
[0044] 根据坐标点数据计算出所有被影响到的体素单元,将体素单元的值映射到集合{0,1}中,将被影响到的体素单元映射为1,表示“非空”体素,未被影响到的体素单元映射为0,表示“空”体素,即完成了3D模型的体素化操作。
[0045] 步骤S2:将体素矩阵通过3D卷积得到形状更小的特征数据。
[0046] 对体素矩阵进行3D卷积提取特征并降低体素矩阵的形状大小,3D卷积类似于2D卷积,如图3所示,2D卷积应用于图像上对像素数据或特征数据进行卷积,每个卷积核进行卷积操作后可得到一个2D特征图,3D卷积在3D数据上进行卷积操作则会输出一个新的3D数据。如图2所示,在本实施例中,采用的3D卷积核大小都为3x3x3,在压缩模型阶段,卷积时的卷积核移动步长都为2,步长为2且卷积核大小为3x3x3刚好能使卷积得到的特征数据在每个维度的形状都变为原来的1/2,即对于第一层卷积,输入32×32×32的数据,输出为16×16×16的特征矩阵。本实施例中在编码模型中每层卷积层卷积核的数量为32,除最后一层卷积层以外,每层卷积得到的特征矩阵都使用RELU函数进行激活并添加偏移参数,RELU是一种非线性激活函数,会使部分神经元为0,增加了特征矩阵的稀疏性,减缓参数间的依赖关系,可以较好地防止过拟合的出现。最后一层不使用RELU和偏移参数是因为该层无需进行泛化,只需要得到准确的特征数据。对于基于体素卷积的点云压缩模型,每增加一层卷积可使点云数据缩小一个级别,因此可根据压缩等级需求来训练不同层数的模型,本实施例中采用4层卷积层,卷积最后一层输出32个形状为2×2×2的特征矩阵。
[0047] 步骤S3:特征数据通过量化后得到压缩数据,压缩的数据通过deflate算法可进一步压缩数据。
[0048] 为提高模型的泛化性,在训练模型时,每个特征数据添加一个-0.5到0.5的均匀噪声来进行量化操作,同时可以使原数据的分布模型保持可微,量化后得到压缩数据,而模型训练完进行使用时,则不再添加噪声,直接采用均匀量化方法,量化后得到压缩数据。压缩数据可通过Deflate算法进行编码进一步压缩,Deflate算法由Huffman编码和LZ77压缩算法组成,可以高效地对数据流进行压缩,在本发明中通过Deflate算法对量化后的数据流进行压缩,得到最终的压缩数据。在解压缩前也需要先通过Deflate算法对其进行解压,再对初步解压后的压缩数据进行操作。
[0049] 步骤S4:压缩数据通过反卷积得到与原始体素形状大小相同的特征数据,对该数据进行二分类得到解压后的体素数据。
[0050] 对于Deflate算法初步解压后的压缩数据,使用3D反卷积操作可使压缩数据变成压缩前的形状大小,传统的压缩方法在解压数据前会有反量化操作,把离散数据转变为连续数据,但使用3D反卷积的方法就无需反量化,因为3D反卷积操作的对象是离散数据。通常卷积操作不会使特征数据的形状变大,本发明采用填充的方法,在每次卷积操作前,在每一行、每一列、每一层之间都填充一层数据0,再以卷积核大小为3×3×3、步长为1的方式进行卷积,则可得到形状大一个级别的数据,以此类推,通过4层3D卷积层之后即可得到与压缩前形状大小一致的数据,本实例的解压卷积模型由4层3D卷积层组成,每一层的卷积核大小都为3×3×3,卷积移动步长为1,并且每一层都使用RELU函数进行激活并添加偏移参数。前3层卷积层每层都使用32个卷积核进行卷积,最后一层使用1个卷积核进行卷积最终得到形状与压缩前一致的32×32×32的特征数据矩阵。
[0051] 将最终的特征数据矩阵转换到体素矩阵实际上是一个二分类问题。先通过归一化处理将特征数据的值映射到0~1之间,再设定一个阈值对该特征数据进行二分类,即特征矩阵中的元素值小于阈值的则判为“空”,大于阈值的判为“非空”,从而可以得到最终解压的体素数据矩阵,本实施例将该阈值设置为0.5。
[0052] 训练模型时,需要一个合适的损失函数对整个模型进行优化,整个压缩模型最主要的两个指标是失真度D和码率R,码率在本实例中为每个体素单元压缩后的熵。而失真度和码率是对立因素,码率越低失真度越高,因此实际中通常会以一定比例来权衡码率和失真度。在本实例的模型中,由于空体素单元的数量往往会大量高于非空体素单元,因此训练时需要平衡其梯度下降的损失,焦点损失就是专被提出来解决样本比例不对称的问题,因此本发明使用焦点损失作为失真损失。设输入的体素矩阵中体素单元非空的概率为pt,则焦点损失为
[0053] FL(pt)=-αt(1-pt)γlog(pt)
[0054] 本实例中设式中αt=0.9,γ=2.0。将焦点损失作为模型的失真损失D,码率为R,则最终的损失函数为
[0055] Loss=R+λD
[0056] 训练时在量化前计算码率,因此特征数据是连续分布的,采用差分熵来计算其熵,测试使用时无需进行梯度下降训练模型,只需利用量化后的数据来计算其离散熵。
[0057] 最终训练好的编解码模型可用峰值信噪比(PSNR)来评估其解码后体素矩阵的恢复质量,使用体素比特率bpov(bits per occupied voxel)来表示体素矩阵中每个体素单元所占的比特数,在同等的bpov下,PSNR越高,表示解压数据恢复的质量越好。
[0058] 以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈