一种点云压缩方法、装置及计算机可读存储介质与流程

文档序号:28744305发布日期:2022-02-07 23:00阅读:60来源:国知局
一种点云压缩方法、装置及计算机可读存储介质与流程

1.本发明涉及网络技术领域,尤其涉及一种点云压缩方法、装置及计算机可读存储介质。


背景技术:

2.3d点云是3d对象表面几何形状的一种无序化表示,3d点云可应用在工业机械臂定位抓取、医疗可视化、工程设计、无人驾驶等领域。三维点云数据可通过3d机器视觉设备采集获取并存储,但所获得的3d点云测量数据点集通常密度较大,因此对于3d点云的传输、处理、显示都将消耗大量的网络带宽资源和计算算力资源,这导致了对3d点云高效压缩算法的迫切需求。因此,如何在最大化保持原有3d对象细节特征的同时,对3d点云数据进行最优程度的压缩,便是3d点云预处理及其他后续工作的先要条件。
3.大多数现有的点云压缩方法,包括mpeg g-pcc模型,是基于八叉树的3d点云数据无损压缩法。即基于八叉树进行点云空间分解,通过占有的八叉树单元格对点云进行编码,根据失真率限制生成八叉树,最后采用行程编码技术来压缩八叉树节点,但这种基于八叉树表示的缺点是,在树的生成过程中会丢失掉点云的平面、曲面、线段等诸多三维几何特征,且无法根据3d对象几何特征自动优化压缩率和失真率指标。


技术实现要素:

4.本发明所要解决的技术问题是针对现有技术的上述不足,提供一种点云压缩方法、装置及计算机可读存储介质,用以解决现有的基于八叉树进行点云空间分解的点云压缩方法,在树的生成过程中容易丢失掉点云的平面、曲面、线段等诸多三维几何特征,且无法根据3d对象几何特征自动优化压缩率和失真率指标的问题。
5.第一方面,本发明提供一种点云压缩方法,包括:
6.根据目标点云的几何结构,将所述目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记所述多个体素块;
7.基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,得到编码压缩后的目标点云;其中,所述训练好的掩膜3d卷积神经网络模型用于得到所述多个体素块的分布概率;
8.基于解码器将所述编码压缩后的目标点云解压重构。
9.优选地,所述基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,具体包括:
10.s1,从标记后的所述多个体素块中选择第一个体素块作为当前体素块;
11.s2,将所述当前体素块输入训练好的掩膜3d卷积神经网络模型,得到所述当前体素块的分布概率;
12.s3,将所述分布概率输入所述自适应算术编码器,得到编码压缩后的当前体素块;
13.s4,判断所述当前体素块是否为所述多个体素块中的最后一个体素块,若是,则结
束本流程,否则,将所述当前体素块的分布概率传回给所述训练好的掩膜3d卷积神经网络模型,并将所述当前体素块的下一个体素块作为新的当前体素块,返回执行步骤s2。
14.优选地,所述训练好的掩膜3d卷积神经网络模型包括一个第一卷积层以及多个第二卷积层,所述第一卷积层使用a型掩膜滤波器,所述第二卷积层使用b型掩膜滤波器。
15.优选地,所述基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行无损编码压缩,得到无损编码压缩后目标点云之前,所述方法还包括:
16.基于预先设定的训练样本集和交叉熵损失函数训练掩膜3d卷积神经网络模型,得到所述训练好的掩膜3d卷积神经网络模型,所述交叉熵损失函数表达式如下:
[0017][0018]
其中,p(vi)是训练样本集的真实条件分布概率,p

(vi)是训练样本集的预测估计分布概率,n为体素块的个数。
[0019]
第二方面,本发明提供一种点云压缩装置,包括:
[0020]
点云划分模块,用于根据目标点云的几何结构,将所述目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记所述多个体素块;
[0021]
编码压缩模块,与所述点云划分模块连接,用于基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,得到编码压缩后的目标点云;其中,所述训练好的掩膜3d卷积神经网络模型用于得到所述多个体素块的分布概率;
[0022]
解压重构模块,与所述编码压缩模块连接,用于基于解码器将所述编码压缩后的目标点云解压重构。
[0023]
优选地,所述编码压缩模块具体包括:
[0024]
选择单元,用于从标记后的所述多个体素块中选择第一个体素块作为当前体素块;
[0025]
分布概率获取单元,用于将所述当前体素块输入训练好的掩膜3d卷积神经网络模型,得到所述当前体素块的分布概率;
[0026]
编码压缩单元,用于将所述分布概率输入所述自适应算术编码器,得到编码压缩后的当前体素块;
[0027]
循环单元,用于判断所述当前体素块是否为所述多个体素块中的最后一个体素块,并在判断结果为否时,将所述当前体素块的分布概率传回给所述训练好的掩膜3d卷积神经网络模型,并将所述当前体素块的下一个体素块作为新的当前体素块。
[0028]
优选地,所述训练好的掩膜3d卷积神经网络模型包括一个第一卷积层以及多个第二卷积层,所述第一卷积层使用a型掩膜滤波器,所述第二卷积层使用b型掩膜滤波器。
[0029]
优选地,还包括:
[0030]
训练模块,用于基于预先设定的训练样本集和交叉熵损失函数训练掩膜3d卷积神经网络模型,得到所述训练好的掩膜3d卷积神经网络模型,所述交叉熵损失函数表达式如下:
[0031][0032]
其中,p(vi)是训练样本集的真实条件分布概率,p

(vi)是训练样本集的预测估计分布概率,n为体素块的个数。
[0033]
第三方面,本发明提供一种点云压缩装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现上述第一方面所述的点云压缩方法。
[0034]
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的点云压缩方法。
[0035]
本发明提供的点云压缩方法、装置及计算机可读存储介质,首先根据目标点云的几何结构,将所述目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记所述多个体素块,由于这些体素块可以直接送入掩膜3d卷积神经网络模型进行特征提取,从而可以表征出点云的平面、曲面、线段等三维几何特征,这是传统八叉树表征法无法实现的。然后基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,得到编码压缩后的目标点云,其中,所述训练好的掩膜3d卷积神经网络模型用于得到所述多个体素块的分布概率,由于分布概率足够接近点云的真实后验分布,且又足够简单,因此可以根据该模型的预测结果,自动优化压缩率和失真率指标,最后基于解码器将所述编码压缩后的目标点云解压重构,实现高效点云无损压缩。从而解决现有的基于八叉树进行点云空间分解的点云压缩方法,在树的生成过程中容易丢失掉点云的平面、曲面、线段等诸多三维几何特征,且无法根据3d对象几何特征自动优化压缩率和失真率指标的问题。
附图说明
[0036]
图1:为本发明实施例1的一种点云压缩方法的流程图;
[0037]
图2:为本发明实施例的a型掩膜和b型掩膜的示意图;
[0038]
图3:为本发明实施例的掩膜3d卷积神经网络模型的示意图;
[0039]
图4:为本发明实施例2的一种点云压缩装置的结构示意图;
[0040]
图5:为本发明实施例3的一种点云压缩装置的结构示意图。
具体实施方式
[0041]
为使本领域技术人员更好地理解本发明的技术方案,下面将结合附图对本发明实施方式作进一步地详细描述。
[0042]
可以理解的是,此处描述的具体实施例和附图仅仅用于解释本发明,而非对本发明的限定。
[0043]
可以理解的是,在不冲突的情况下,本发明中的各实施例及实施例中的各特征可相互组合。
[0044]
可以理解的是,为便于描述,本发明的附图中仅示出了与本发明相关的部分,而与
本发明无关的部分未在附图中示出。
[0045]
可以理解的是,本发明的实施例中所涉及的每个单元、模块可仅对应一个实体结构,也可由多个实体结构组成,或者,多个单元、模块也可集成为一个实体结构。
[0046]
可以理解的是,在不冲突的情况下,本发明的流程图和框图中所标注的功能、步骤可按照不同于附图中所标注的顺序发生。
[0047]
可以理解的是,本发明的流程图和框图中,示出了按照本发明各实施例的系统、装置、设备、方法的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可代表一个单元、模块、程序段、代码,其包含用于实现规定的功能的可执行指令。而且,框图和流程图中的每个方框或方框的组合,可用实现规定的功能的基于硬件的系统实现,也可用硬件与计算机指令的组合来实现。
[0048]
可以理解的是,本发明实施例中所涉及的单元、模块可通过软件的方式实现,也可通过硬件的方式来实现,例如单元、模块可位于处理器中。
[0049]
实施例1:
[0050]
本实施例提供一种点云压缩方法,如图1所示,该方法包括:
[0051]
步骤s102:根据目标点云的几何结构,将目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记多个体素块。
[0052]
在本实施例中,首先根据目标点云的几何结构,将目标点云自适应地划分为多个大小不等的d
×d×
d的体素块vi(比如d={128,64,32,16,8})。需要说明的是,若体素块划分过于稀疏或稠密,都会影响网络模型效率,因此需要自适应划分,自适应划分具体可以采用递归法并设定阈值(假设每个体素块允许的点数不超过5),即首先将目标点云划分为8个相等体素块,若第一个体素块为空则不再划分,若第二个体素块点数在阈值范围内也不再进行划分,若第三个体素块点数超过阈值则再将其划分为8等分,依此类推,最终完成自适应划分。
[0053]
在本实施例中,通过使用八叉树标记分区体素块,可以进一步减少点云稀疏性,即整个目标点云通过一个八叉树标记,从根节点一级一级向下延伸拓展,使用八叉树标记体素块即实现对体素块进行索引编码,按照光栅扫描的方式,顺序地对所有体素块进行索引编码,如下式:
[0054]
vi=0,若i下标体素块未被占用
[0055]
vi=1,若i下标体素块被占用
[0056]
与传统八叉树方法不同的是,本方法所述的点云压缩方法首先根据目标点云的几何结构,将目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记多个体素块。一方面,八叉树的表示方式可以消除点云中的稀疏性影响,提高编码效率;另一方面,点云体素化后,可以直接被掩膜3d卷积神经网络卷积运算,从而表征出点云几何特征信息,这不仅解决了传统八叉树方法的缺点,也有助于高效无损编码。
[0057]
步骤s104:基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的多个体素块进行编码压缩,得到编码压缩后的目标点云;其中,训练好的掩膜3d卷积神经网络模型用于得到多个体素块的分布概率。
[0058]
步骤s106:基于解码器将编码压缩后的目标点云解压重构。
[0059]
具体地,基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的
的a型掩膜卷积核,在第二层卷积层及后续卷积层中将使用b型掩膜卷积核,为了避免梯度消失,同时加速特征收敛,在卷积层中插入了残差连接(注:为了应对梯度消失,残差连接允许低层的原始信息直接传到后续的高层,让高层专注残差的学习,避免模型的退化)。在整个掩膜3d卷积神经网络中,3d点云体素块经过多卷积层进行深度学习,并在每个卷积层后应用relu激活函数,最后一层则使用的是softmax激活函数。
[0069]
在本实施例中,训练好的掩膜3d卷积神经网络模型可以用来重构原始点云数据,其可作为整个自适应算术编码器网络,即采用生成模式,让自适应算术编码器从第一个体素块开始依次顺序编码压缩。具体地,掩膜3d卷积神经网络模型每次输出一个体素块vi的分布概率,然后把这个分布概率传给自适应算术编码器,自适应算术编码器对其进行编码压缩后,将其再传回给掩膜3d卷积神经网络模型作为预测下一个体素块的分布概率的前置条件,然后再将分布概率传递给自适应算术编码器来编码压缩下一个体素块,依此类推,最后输出的是基于体素块的无损编码。同时所得到的p(v)也将作为自适应编码器上下文信息传递给解码器,在解码器末端重构数据后,便可以实现高效点云无损压缩。
[0070]
可选地,基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的多个体素块进行无损编码压缩,得到无损编码压缩后目标点云之前,方法还可以包括:
[0071]
基于预先设定的训练样本集和交叉熵损失函数训练掩膜3d卷积神经网络模型,得到训练好的掩膜3d卷积神经网络模型,交叉熵损失函数表达式如下:
[0072][0073]
其中,p(vi)是训练样本集的真实条件分布概率,p

(vi)是训练样本集的预测估计分布概率,n为体素块的个数。
[0074]
在本实施例中,为了更好地训练掩膜3d卷积神经网络模型,使得掩膜3d卷积神经网络模型学习所估算出来的p

(vi|v
i-1,v
i-2
,

vi)的底层体素块占用分布更加接近真实分布p(vi|v
i-1
,v
i-2
,

vi),从而最小化编码比特率,本发明使用交叉熵损失函数训练掩膜3d卷积神经网络模型(熵表示信息量,并用于衡量一个事件的不确定性,一个事件发生的概率越大,不确定性越小,则其携带的信息量就越小)。本发明所使用的损失函数区别于有损点云压缩时所用的焦点损失函数,简而言之,对于大小为d
×d×
d的体素块vi,目标是需要将交叉熵损失函数最小化,以此实现估算出的条件分布和真实数据分布之间的差异最小,从而产生更加精确的算术编码上下文,使得编码时每个体素块占用更小的比特率。
[0075]
本发明实施例提供的点云压缩方法,首先根据目标点云的几何结构,将所述目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记所述多个体素块,由于这些体素块可以直接送入掩膜3d卷积神经网络模型进行特征提取,从而可以表征出点云的平面、曲面、线段等三维几何特征,这是传统八叉树表征法无法实现的。然后基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,得到编码压缩后的目标点云,其中,所述训练好的掩膜3d卷积神经网络模型用于得到所述多个体素块的分布概率,由于分布概率足够接近点云的真实后验分布,且又足够简单,因此可以根据该模型的预测结果,自动优化压缩率和失真率指标,最后基于解码器将所述编码压缩后的目标点云解压重构,实现高效点云无损压缩。从而解决现有的基于八叉树进行点云
空间分解的点云压缩方法,在树的生成过程中容易丢失掉点云的平面、曲面、线段等诸多三维几何特征,且无法根据3d对象几何特征自动优化压缩率和失真率指标的问题。
[0076]
实施例2:
[0077]
如图4所示,本实施例提供一种点云压缩装置,包括:
[0078]
点云划分模块12,用于根据目标点云的几何结构,将所述目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记所述多个体素块;
[0079]
编码压缩模块14,与所述点云划分模块12连接,用于基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,得到编码压缩后的目标点云;其中,所述训练好的掩膜3d卷积神经网络模型用于得到所述多个体素块的分布概率;
[0080]
解压重构模块16,与所述编码压缩模块14连接,用于基于解码器将所述编码压缩后的目标点云解压重构。
[0081]
可选地,所述编码压缩模块14具体包括:
[0082]
选择单元,用于从标记后的所述多个体素块中选择第一个体素块作为当前体素块;
[0083]
分布概率获取单元,用于将所述当前体素块输入训练好的掩膜3d卷积神经网络模型,得到所述当前体素块的分布概率;
[0084]
编码压缩单元,用于将所述分布概率输入所述自适应算术编码器,得到编码压缩后的当前体素块;
[0085]
循环单元,用于判断所述当前体素块是否为所述多个体素块中的最后一个体素块,并在判断结果为否时,将所述当前体素块的分布概率传回给所述训练好的掩膜3d卷积神经网络模型,并将所述当前体素块的下一个体素块作为新的当前体素块。
[0086]
可选地,所述训练好的掩膜3d卷积神经网络模型包括一个第一卷积层以及多个第二卷积层,所述第一卷积层使用a型掩膜滤波器,所述第二卷积层使用b型掩膜滤波器。
[0087]
可选地,还包括:
[0088]
训练模块,用于基于预先设定的训练样本集和交叉熵损失函数训练掩膜3d卷积神经网络模型,得到所述训练好的掩膜3d卷积神经网络模型,所述交叉熵损失函数表达式如下:
[0089][0090]
其中,p(vi)是训练样本集的真实条件分布概率,p

(vi)是训练样本集的预测估计分布概率,n为体素块的个数。
[0091]
实施例3:
[0092]
参考图5,本实施例提供一种点云压缩装置,包括存储器22和处理器24,存储器22中存储有计算机程序,处理器24被设置为运行所述计算机程序以执行实施例1中的点云压缩方法。
[0093]
其中,存储器22与处理器24连接,存储器22可采用闪存或只读存储器或其他存储器,处理器24可采用中央处理器或单片机。
[0094]
实施例4:
[0095]
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例1中的点云压缩方法。
[0096]
该计算机可读存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、计算机程序模块或其他数据)的任何方法或技术中实施的易失性或非易失性、可移除或不可移除的介质。计算机可读存储介质包括但不限于ram(random access memory,随机存取存储器),rom(read-only memory,只读存储器),eeprom(electrically erasable programmable read only memory,带电可擦可编程只读存储器)、闪存或其他存储器技术、cd-rom(compact disc read-only memory,光盘只读存储器),数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。
[0097]
实施例2至实施例4提供的点云压缩装置及计算机可读存储介质,首先根据目标点云的几何结构,将所述目标点云自适应地划分为大小不等的多个体素块,并使用八叉树标记所述多个体素块,由于这些体素块可以直接送入掩膜3d卷积神经网络模型进行特征提取,从而可以表征出点云的平面、曲面、线段等三维几何特征,这是传统八叉树表征法无法实现的。然后基于训练好的掩膜3d卷积神经网络模型和自适应算术编码器对标记后的所述多个体素块进行编码压缩,得到编码压缩后的目标点云,其中,所述训练好的掩膜3d卷积神经网络模型用于得到所述多个体素块的分布概率,由于分布概率足够接近点云的真实后验分布,且又足够简单,因此可以根据该模型的预测结果,自动优化压缩率和失真率指标,最后基于解码器将所述编码压缩后的目标点云解压重构,实现高效点云无损压缩。从而解决现有的基于八叉树进行点云空间分解的点云压缩方法,在树的生成过程中容易丢失掉点云的平面、曲面、线段等诸多三维几何特征,且无法根据3d对象几何特征自动优化压缩率和失真率指标的问题。
[0098]
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1