自适应分块的基于体素的点云压缩方法及装置

文档序号:831331 发布日期:2021-03-30 浏览:21次 >En<

阅读说明:本技术 自适应分块的基于体素的点云压缩方法及装置 (Self-adaptive blocking point cloud compression method and device based on voxels ) 是由 王妙辉 董恒进 于 2020-12-14 设计创作,主要内容包括:本发明提供了自适应分块的基于体素的点云压缩方法及装置,所述方法包括,对原始的点云数据进行自适应分块;对自适应分块后的点云块进行编码;使用改进后的wBCE损失函数对压缩编码器进行训练;将训练完成的压缩编码器对自适应分块后的点云块进行编码。本发明的有益效果在于:能够有效的提升点云压缩的压缩率和速度,同时能够在较高压缩率时明显地提高点云压缩的质量。(The invention provides a voxel-based point cloud compression method and a device for self-adaptive blocking, wherein the method comprises the steps of carrying out self-adaptive blocking on original point cloud data; coding the point cloud block subjected to self-adaptive blocking; training a compression encoder by using the improved wBCE loss function; and (4) encoding the point cloud block subjected to self-adaptive blocking by the trained compression encoder. The invention has the beneficial effects that: the compression ratio and the speed of point cloud compression can be effectively improved, and meanwhile, the quality of point cloud compression can be obviously improved at a higher compression ratio.)

自适应分块的基于体素的点云压缩方法及装置

技术领域

本发明涉及一种压缩方法及装置,尤其是指一种自适应分块的基于体素的点云压缩方法及装置。

背景技术

点云压缩目的是将原始点云数据压缩编码,减少传输的带宽或者存储的容量。原始点云数据量庞大,随着点云获取设备的普及和3D应用的兴起,需要对原始点云数据进行压缩来满足传输的带宽或者存储的限制。点云压缩主要可以分为视频点云压缩和几何点云压缩,随着深度学习的发展,目前已经有许多深度学习框架应用在几何点云压缩中。基于深度学习的点云压缩,根据点云压缩中对于原始点云数据的处理,可以分为三类:基于体素的点云压缩、基于原始点云的点云压缩和基于二维矩阵的点云压缩。

基于体素的点云压缩是目前比较主流的使用深度学习的点云压缩方式,并且相比其他点云压缩其适应于较大的数据量和各类点云场景。点云数据具有不规则性和数据量大的特点,点云的体素化可以很好的将不规则点云转化为规则的体素,并且体素化的过程中将距离近的点云合并为同一体素,减少了点云需要压缩的庞大的数据量。基于体素的点云压缩的深度学习方法主要为使用三维的自动编码器进行压缩数据。由于三维数据相比二维数据分辨率的提升导致数据量增长过快,所以过高的体素分辨率会大大降低三维卷积的速度,因此目前点云压缩主要针对64×64×64或者32×32×32三维数据作为压缩输入。

基于体素的点云压缩都采取均匀切割原始点云数据为块,再对均匀的块内的点云进行体素化,并对每一个块进行压缩。由于三维点云数据的特点,三维点云数据量大,并且点云在空间中分布非常的稀疏并且点云是对物体表面的平面进行采集,对原始点云数据进行均匀的分块的方法导致对于一些极为稀疏的点云压缩率不佳,对于点云聚集的分块体素化压缩可能会较大的损失点云的细节。

发明内容

本发明所要解决的技术问题是:提供一种自适应分块的基于体素的点云压缩方法及装置,旨在保持较高压缩率的同时,提高点云压缩的质量。

为了解决上述技术问题,本发明采用的技术方案为:一种自适应分块的基于体素的点云压缩方法,包括以下步骤,

步骤S10、对原始的点云数据进行自适应分块;

步骤10具体包括,

S11、将原始的点云数据进行八叉树体素划分,得到划分的点云块;

S12、使用三维卷积网络对划分的点云块进行空间数量分布探测,得到点云块的特征;

S13、对点云块的特征进行处理,计算出点云块的稠密程度及细节重要程度,根据点云块的稠密程度对点云块进行分类;

S14、根据点云块的稠密程度及细节重要程度对点云块进行自适应合并;

步骤S20、对自适应分块后的点云块进行编码;

步骤S20具体包括,

S21、对点云训练集进行体素化并特征强化,首先对点云数据集进行体素化,体素保留体素内点云数量通过三维卷积网络进行体素强化,保留特征强化后体素训练集;

S22、对特征强化后的体素进行编码,得到编码后的潜在表示数据;

S23、对编码后的潜在表示数据进行解码,对解码结果计算改进后的wBCE损失函数,迭代网络;

步骤S30、使用改进后的wBCE损失函数循环执行步骤S21-S23,分别对稠密点云压缩编码器和稀疏点云压缩编码器进行训练;

步骤S40、将训练完成的压缩编码器对自适应分块后的点云块进行编码。

进一步的,步骤S11具体为,

将原始的点云数据进行八叉树体素划分,划分到最大深度,并统计最大深度的点云块的点云数量。

进一步的,步骤S12具体为,

将划分的点云数据块分别使用三维卷积网络进行卷积得到主要反应点云周围数量的特征值和主要反映周围点云变化的特征值,加上点云块内的点云数量组成点云块的特征向量。

进一步的,步骤S13中,对稠密程度和细节重要程度进行计算的公式分别为:

其中,{b1,b2,b3,b4,b5}为步骤S12得到的点云特征向量,D1主要表现该点云块以及附近的稠密程度,u1u2u3为公式参数,Mb1为b1的众数,为b1的平均值,为b2的方差,为b1的方差,为b2的方差,为b3的方差。

D2主要表现该点云块在空间中细节重要程度。u1u2u3u4为公式参数,为b4的平均值,为b5的平均值,Mb4为b4的众数,Mb5为b5的众数,为b4的方差,为b5的方差,D1min和D1max分别为D1(i)的最小值和最大值。

进一步的,步骤S14具体为,对所有最小点云块进行合并判断,判断依据为其点云块的稠密程度和细节重要程度,若判断函数小于0则合并该8个点云块为大的点云块,判断函数如下所示:

其中,D1(i)和D2(i)由步骤S13计算得出,u1为函数参数,σD1为D1(i)的标准差。

进一步的,步骤S21具体为,

通过三维卷积网络强化体素特征,输入体素向量{c1,c2},体素向量分别为体素是否为空和体素内点云数量,点云数据体素化分辨率大小为{32×32×32},对该点云数据进行三维卷积得到体素向量{c1,c2,c3,c4},进行公式变换为加强特征值:

其中,{c1,c2,c3,c4}为体素向量,u2u3u4为函数参数表示为体素向量的权重。

进一步的,步骤S22具体包括,

根据D1(i)函数确定对该点云块使用稠密点云块自动编码器是稀疏点云块自动编码器编码,自动编码器卷积层使用{3×3×3}的卷积核,卷积核的步进为{2×2×2},激活函数为sigmoid,使用三层卷积层进行编解码。

进一步的,步骤S30中,改进后wBCE损失函数为:

其中,y(i)为原始体素值,p(i)为预测体素值,w1(i)主要为对原本为1的体素预测为0的权重,w2(i)为对原本为0的体素预测为1的权重。

进一步的,w1(i)及w2(i)的计算公式为:

其中,w1(i)主要为对原本为1的体素预测为0的权重,u1u2u3u4为函数参数,{c1,c2,c3,c4}为体素向量。w2(i)为对原本为0的体素预测为1的权重,u1u2u3u4为函数参数,{c1,c2,c3,c4}为体素向量。

本发明还提供了一种自适应分块的基于体素的点云压缩装置,包括,

自适应分块模块,用于对原始的点云数据进行自适应分块,

所述自适应分块模块具体包括,

划分单元,用于将原始的点云数据进行八叉树体素划分,得到划分的点云块;

分布探测单元,用于使用三维卷积网络对划分的点云块进行空间数量分布探测,得到点云块的特征;

点云块分类单元,用于对点云块的特征进行处理,计算出点云块的稠密程度及细节重要程度,根据点云块的稠密程度对点云块进行分类;

自适应合并单元,用于根据点云块的稠密程度及细节重要程度对点云块进行自适应合并;

编码模块,用于对自适应分块后的点云块进行编码;

所述编码模块包括,

特征强化单元,用于对点云训练集进行体素化并特征强化,首先对点云数据集进行体素化,体素保留体素内点云数量通过三维卷积网络进行体素强化,保留特征强化后体素训练集;

第一编码单元,用于对特征强化后的体素进行编码,得到编码后的潜在表示数据;

第二编码单元,用于对编码后的潜在表示数据进行解码,对解码结果计算改进后的wBCE损失函数,迭代网络;

训练模块,用于使用改进后的wBCE损失函数循环执行编码过程,分别对稠密点云压缩编码器和稀疏点云压缩编码器进行训练;

压缩模块,用于将训练完成的压缩编码器对自适应分块后的点云块进行编码,以完成点云数据的压缩。

本发明的有益效果在于:通过自适应划分能够有效的提升点云压缩的压缩率和速度,避免对点云空间中稀疏的点云块进行细致的压缩。通过判断点云块的细节重要程度,将不同细节程度的点云块通过稠密编码器和稀疏编码器进行编码,能够有效地提升对于体素压缩的压缩率和压缩质量。对于体素的特征加强,能够在较高压缩率时明显地提高点云压缩的质量,能够较好地保存点云数据的重要细节。损失函数对于不同特征强度的点采用不同的权重,加强了编码器对空体素重建中的保持,在高压缩率中加强了对于重要体素的重建。

附图说明

下面结合附图详述本发明的具体结构。

图1为本发明实施例的自适应分块的基于体素的点云压缩方法流程图;

图2为本发明实施例的自适应分块的基于体素的点云压缩装置框图;

图3为本发明实施例的三维卷积网络框架图;

图4为本发明实施例的对体素进行特征强化的流程图;

图5为本发明实施例的编码器训练框架图;

图6为本发明实施例的计算机设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如图1所示,本发明第一实施例为:一种自适应分块的基于体素的点云压缩方法,包括以下步骤,

步骤S10、对原始的点云数据进行自适应分块;

步骤10具体包括,

S11、将原始的点云数据进行八叉树体素划分,得到划分的点云块;

S12、使用三维卷积网络对划分的点云块进行空间数量分布探测,得到点云块的特征;

S13、对点云块的特征进行处理,计算出点云块的稠密程度及细节重要程度,根据点云块的稠密程度对点云块进行分类;

S14、根据点云块的稠密程度及细节重要程度对点云块进行自适应合并;

步骤S20、对自适应分块后的点云块进行编码;

步骤S20具体包括,

S21、对点云训练集进行体素化并特征强化,首先对点云数据集进行体素化,体素保留体素内点云数量通过三维卷积网络进行体素强化,保留特征强化后体素训练集;流程如图4所示。

S22、对特征强化后的体素进行编码,得到编码后的潜在表示数据;

S23、对编码后的潜在表示数据进行解码,对解码结果计算改进后的wBCE损失函数,迭代网络;

步骤S30、使用改进后的wBCE损失函数循环执行步骤S21-S23,分别对稠密点云压缩编码器和稀疏点云压缩编码器进行训练;

步骤S40、将训练完成的压缩编码器对自适应分块后的点云块进行编码。

进一步的,步骤S11具体为,

将原始的点云数据进行八叉树体素划分,划分到最大深度MaxDepth,并统计最大深度的点云块的点云数量。通过数组SumBlockCount统计点云在最大深度点云块的数量分布统计,避免重复遍历八叉树。

进一步的,步骤S12具体为,

将划分的点云数据块分别使用三维卷积网络进行卷积得到主要反应点云周围数量的特征值b2,b3和主要反映周围点云变化的特征值b4,b5,加上点云块内的点云数量b1组成点云块的特征向量{b1,b2,b3,b4,b5},三维卷积网络的框架如图3所示。

进一步的,步骤S13中,对稠密程度和细节重要程度进行计算的公式分别为:

其中,{b1,b2,b3,b4,b5}为步骤S12得到的点云特征向量,D1主要表现该点云块以及附近的稠密程度,u1u2u3为公式参数,Mb1为b1的众数,为b1的平均值,为b2的方差,为b1的方差,为b2的方差,为b3的方差。

D2主要表现该点云块在空间中细节重要程度。u1u2u3u4为公式参数,为b4的平均值,为b5的平均值,Mb4为b4的众数,Mb5为b5的众数,为b4的方差,为b5的方差,D1min和D1max分别为D1(i)的最小值和最大值。

进一步的,步骤S14具体为,对所有最小点云块进行合并判断,判断依据为其点云块的稠密程度和细节重要程度,若判断函数小于0则合并该8个点云块为大的点云块,判断函数如下所示:

其中,D1(i)和D2(i)由步骤S13计算得出,u1为函数参数,σD1为D1(i)的标准差。

进一步的,步骤S21具体为,

通过三维卷积网络强化体素特征,输入体素向量{c1,c2},体素向量分别为体素是否为空和体素内点云数量,点云数据体素化分辨率大小为{32×32×32},对该点云数据进行三维卷积得到体素向量{c1,c2,c3,c4},进行公式变换为加强特征值:

其中,{c1,c2,c3,c4}为体素向量,u2u3u4为函数参数表示为体素向量的权重。

进一步的,步骤S22具体包括,

根据D1(i)函数确定对该点云块使用稠密点云块自动编码器是稀疏点云块自动编码器编码,自动编码器卷积层使用{3×3×3}的卷积核,卷积核的步进为{2×2×2},激活函数为sigmoid,使用三层卷积层进行编解码。D1(i)但针对不同点云块分别进行训练,可以提高对稠密点云和稀疏点云的编码效果,主要网络如图5所示。

进一步的,步骤S30中,改进后wBCE损失函数为:

其中,y(i)为原始体素值,p(i)为预测体素值,w1(i)主要为对原本为1的体素预测为0的权重,w2(i)为对原本为0的体素预测为1的权重。

进一步的,w1(i)及w2(i)的计算公式为:

其中,w1(i)主要为对原本为1的体素预测为0的权重,u1u2u3u4为函数参数,{c1,c2,c3,c4}为体素向量。w2(i)为对原本为0的体素预测为1的权重,u1u2u3u4为函数参数,{c1,c2,c3,c4}为体素向量。

本实施例中,通过自适应划分能够有效的提升点云压缩的压缩率和速度,避免对点云空间中稀疏的点云块进行细致的压缩。通过判断点云块的细节重要程度,将不同细节程度的点云块通过稠密编码器和稀疏编码器进行编码,能够有效地提升对于体素压缩的压缩率和压缩质量。对于体素的特征加强,能够在较高压缩率时明显地提高点云压缩的质量,能够较好地保存点云数据的重要细节。损失函数对于不同特征强度的点采用不同的权重,加强了编码器对空体素重建中的保持,在高压缩率中加强了对于重要体素的重建。

如图2所示,本发明的第二实施例为:一种自适应分块的基于体素的点云压缩装置,包括,

自适应分块模块10,用于对原始的点云数据进行自适应分块,

所述自适应分块模块10具体包括,

划分单元,用于将原始的点云数据进行八叉树体素划分,得到划分的点云块;

分布探测单元,用于使用三维卷积网络对划分的点云块进行空间数量分布探测,得到点云块的特征;

点云块分类单元,用于对点云块的特征进行处理,计算出点云块的稠密程度及细节重要程度,根据点云块的稠密程度对点云块进行分类;

自适应合并单元,用于根据点云块的稠密程度及细节重要程度对点云块进行自适应合并;

编码模块,用于对自适应分块后的点云块进行编码;

所述编码模块20包括,

特征强化单元,用于对点云训练集进行体素化并特征强化,首先对点云数据集进行体素化,体素保留体素内点云数量通过三维卷积网络进行体素强化,保留特征强化后体素训练集;

第一编码单元,用于对特征强化后的体素进行编码,得到编码后的潜在表示数据;

第二编码单元,用于对编码后的潜在表示数据进行解码,对解码结果计算改进后的wBCE损失函数,迭代网络;

训练模块30,用于使用改进后的wBCE损失函数循环执行编码过程,分别对稠密点云压缩编码器和稀疏点云压缩编码器进行训练;

压缩模块40,用于将训练完成的压缩编码器对自适应分块后的点云块进行编码,以完成点云数据的压缩。

需要说明的是,所属领域的技术人员可以清楚地了解到,上述自适应分块的基于体素的点云压缩装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。

上述自适应分块的基于体素的点云压缩装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。

请参阅图6,图6是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。

参阅图6,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种自适应分块的基于体素的点云压缩方法。

该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种自适应分块的基于体素的点云压缩方法。

该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如上所述的自适应分块的基于体素的点云压缩方法。

应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如上所述的自适应分块的基于体素的点云压缩方法。

所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种相衬成像方法、装置、存储介质及医学成像系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!