1.本发明涉及一种基于混合上下文熵模型的点云几何编码方法,属于点云数据压缩领域。
背景技术:2.点云是一种三维数据表征形式,它是三维空间中大量离散点的集合,每个点都有几何信息(即三维位置坐标x,y,z)和属性信息(如颜色、反射强度等)。点云具有高效的三维信息表示能力,已广泛应用在如虚拟/增强/混合现实(ar/vr/mr)、移动地图、历史文物扫描、智慧城市、机器人和自动驾驶等领域。但点云数据的数据量十分庞大,存储和传输成本高昂,需要对点云数据进行有效的压缩。
3.根据编码过程是否存在信息的损失,三维点云编码可以分为有损压缩编码和无损压缩编码。有损压缩编码虽然可以把数据极大程度的压缩,但是由于存在信息丢失,解码端不能还原恢复出原始图像。当有数据完整性的需求时,有损编码是不符合要求的。无损压缩编码不存在信息的丢失,可以在解码端准确无误地恢复出原始点云。但是目前的无损压缩编码普遍存在压缩率不够高的问题。
4.专利cn113284203a《基于八叉树编码和体素上下文的点云压缩及解压缩方法》基于体素和八叉树方法的优势,在深度熵模型中引入局部体素上下文,以更好地压缩八叉树结构数据,但仍存在计算量大,建模复杂的问题。
5.此外,现有技术中通过构建点云数据的混合结构改进点云空间索引方法的索引效率,如八叉树和k-d树混合结构、三维r树索引法、八叉树和三维r树混合结构,具体可参见《基于八叉树及kd树的混合型点云数据存储结构》.廖丽琼,白俊松,罗德安。
技术实现要素:6.为了克服现有技术中存在的问题,本发明设计了一种基于混合上下文熵模型的点云几何编码方法,采用基于八叉树和分块的混合结构表示,剔除了树结构中存在的大量冗余信息,并通过双向的上下文信息提取、上下文信息混合,实现了对体素上下文的精细建模,为体素编码提供了更准确的预测概率,在提高压缩率的同时降低编码过程中的数据损失。
7.为了实现上述目的,本发明采用如下技术方案:
8.一种基于混合上下文熵模型的点云几何编码方法,包括如下步骤:
9.获取点云数据;
10.对点云数据进行n-i次剖分,得到树结构点云;
11.将树结构点云中深度为n-i的节点转换为体素块,得到混合结构点云数据;
12.在树结构点云中,对深度为n-i的节点进行若干次剖分,得到若干个尺寸不一的节点;对树结构点云中的节点提取上下文信息;
13.在混合结构点云中,对体素块进行若干次压缩,得到若干个尺寸不一的体素块;对
混合结构点云中的体素块提取上下文信息;
14.分别将各体素块的上下文信息与其尺寸一致的节点的上下文信息进行拼接,得到若干个拼接结果;通过选择单元对所述若干个拼接结果进行混合,得到若干个对应于各体素块的混合上下文信息;
15.根据所述混合上下文信息,对各体素块进行概率估计,得到预测概率;
16.根据预测概率和体素块进行编码,得到编码结果。
17.进一步地,所述对树结构点云中的节点提取上下文信息,具体步骤如下:
18.对树结构点云中深度大于等于n-i的各节点进行上下文提取,再分别将每一节点的上下文提取结果与该节点的父节点的上下文提取结果进行渐进聚合,得到若干个对应各节点的上下文信息。
19.进一步地,所述对体素块进行压缩,具体为对体素块进行最大池化操作。
20.进一步地,选择单元包括顺次连接的拼接层、平均池化层、多层感知机、卷积层。
21.进一步地,所述选择单元对输入数据进行如下处理:
22.输入数据f1和数据f2至选择单元;拼接层对数据f1和数据f2进行拼接操作,得到拼接结果fcat;平均池化层对拼接结果fcat进行平均池化操作,得到用于描述全局特征的数据zc;多层感知机数据将数据zc转换成注意数据r;通过通道乘法,用注意数据r对拼接结果fcat进行选择再由卷积层进行混合,得到混合结果f
mix1
;通过通道加法,用注意数据r对混合结果f
mix
进行选择混合,得到并输出混合结果f
mix2
。
23.进一步地,假设有三个拼接结果,通过选择单元对拼接结果进行混合,包括如下步骤:
24.获取第一拼接结果、第二拼接结果、第三拼接结果;
25.将第一拼接结果和第二拼接结果输入选择单元进行混合,得到第一混合结果;
26.将第一混合结果和第三拼接结果输入选择单元进行混合,得到第二混合结果;第二混合结果为第三体素块的混合上下文信息;
27.将第二混合结果和第一混合结果输入选择单元进行混合,得到第三混合结果;第三混合结果为第二体素块的混合上下文信息;
28.将第三混合结果和第一拼接结果输入选择单元进行混合,得到第四混合结果;第四混合结果为第一体素块的混合上下文信息。
29.进一步地,还包括对编码结果进行解码,具体步骤如下:
30.利用自回归网络恢复各体素块的上下文熵模型;
31.通过上下文熵模型进行对各解码体素进行概率估计,得到各体素块的预测概率;
32.根据预测概率,通过算术解码器从编码结果中解码得到点云数据。
33.与现有技术相比本发明有以下特点和有益效果:
34.1、本发明对点云数据采用基于八叉树和分块的混合结构表示,剔除了树结构中存在的大量冗余信息,并通过双向的上下文信息提取、上下文信息混合,实现了对体素上下文的精细建模,为体素编码提供了更准确的预测概率,在提高压缩率的同时降低编码过程中的数据损失。
35.2、本发明通过选择单元s对体素块的上下文信息进行切片和选择,使各体素块的混合上下文信息中不仅包含自身信息还包括相邻层级体素块的信息,提高了体素上下文的
精细度。
附图说明
36.图1为本发明编码流程图;
37.图2为深度为2的八叉树示意图;
38.图3为实施例一中深度为n-i的八叉树示意图;
39.图4为图3中节点c剖分过程示意图;。
40.图5为图3中节点c转换所得体素块的压缩过程示意图;
41.图6为实施例一中上下文信息拼接过程示意图;
42.图7为选择单元s的结构示意图;
43.图8为实施例一中上下文信息拼接结果混合过程示意图。
具体实施方式
44.下面结合实施例对本发明进行更详细的描述。
45.实施例一
46.如图1所示,一种基于混合上下文熵模型的点云几何编码方法,包括以下步骤:
47.s1、获取点云数据。
48.s2、在2n×2n
×2n
的网格中,对点云数据进行n-i次剖分,得到深度为n-i的树结构点云,如图3所示。本实施例中优选为八叉树结构,并取i=6,则该八叉树各叶子节点的尺寸为26×26
×26
。
49.s3、使用尺寸为2i×2i
×2i
的非空二进制块体素化树结构点云中剩下深度的点云数据(即表示在八叉树中各叶子节点中的点云数据),得到混合结构点云数据。混合结构点云数据中各体素块尺寸为26×26
×26
。
50.s4、在树结构点云中继续向下对点云数据进行若干次剖分,得到若干个尺寸不一的节点;对各节点自上而下地提取上下文信息,具体如下:
51.如图4所示,对树结构点云中继续向下对点云数据进行3次剖分,得到原叶子节点的若干个子节点。子节点尺寸分别为25×25
×25
、24×24
×24
、23×23
×23
,即节点边长分别为32、16、8;树的深度变更为n-3。
52.分别对各节点内的点云数据进行上下文提取,提取内容包括父节点的索引、空间位置、子节点占用情况等信息。本实施例中,对树结构点云中边长为64、32、16、8的节点进行上下文提取。
53.再利用多层感知器(mlp)分别将每一节点的上下文提取结果与该节点的父节点的上下文提取结果进行渐进聚合,得到若干个对应各节点的上下文信息。
54.s4、在混合结构点云数据中提取自下而上的上下文信息,具体如下:
55.如图5所示,分别对各体素块进行3次最大池化操作,得到若干个不同尺寸的体素块。体素块尺寸分别为25×25
×25
、24×24
×24
、23×23
×23
。
56.通过resnet网络对各体素块内的点云数据进行上下文提取,得到若干个对应于各体素块的上下文信息。本实施例中,对混合结构点云数据中边长为64、32、16、8的体素块进行上下文提取。
57.s5、如图6所示,对尺寸相同的节点和体素块的上下文信息进行拼接;如图8所示,通过选择单元s对拼接结果进行混合,得到若干个对应于各体素块的混合上下文信息,具体如下:
58.对所有尺寸为8的节点和体素块的上下文信息进行拼接,得到信息f
l
;
59.对所有尺寸为16的节点和体素块的上下文信息进行拼接,得到信息f
l+1
;
60.对所有尺寸为32的节点和体素块的上下文信息进行拼接,得到信息f
l+2
;
61.对所有尺寸为64的节点和体素块的上下文信息进行拼接,得到信息f
l+3
;
62.将信息f
l
和信息f
l+1
输入选择单元进行混合,得到第一混合结果;
63.将第一混合结果和信息f
l+2
输入选择单元进行混合,得到第二混合结果;
64.将第二混合结果和信息f
l+3
输入选择单元进行混合,得到第三混合结果;第三混合结果即为尺寸为64的体素块的混合上下文信息;
65.将第三混合结果和第二混合结果输入选择单元进行混合,得到第四混合结果;第四混合结果即为尺寸为32的体素块的混合上下文信息;
66.将第四混合结果和第一混合结果输入选择单元进行混合,得到第五混合结果;第五混合结果即为尺寸为16的体素块的混合上下文信息;
67.将第五混合结果和信息f
l
输入选择单元进行混合,得到第六混合结果;第六混合结果即为尺寸为8的体素块的混合上下文信息。
68.s6、对各体素块进行概率估计:
69.根据混合上下文信息对各体素块进行上下文建模,得到若干个上下文熵模型;使用自回归网络对体素块进行概率估计并利用上下文熵模型提高自回归网络对体素的概率准确度,得到预测概率p。
70.s7、对点云进行基于上下文的算术编码:
71.构建算术编码器;将各体素块及对应预测概率p送入算术编码器中进行编码,得到码流输出即为编码结果。
72.实施例二
73.选择单元如图5所示,包括拼接层、平均池化层、多层感知机(第一全连接层、使用relu函数的激活层、第二全连接层、使用softmax函数的激活层)、1x1卷积层。
74.利用选择单元对输入数据进行混合的过程如下:
75.输入数据f1和数据f2至选择单元s;拼接层对数据f1和数据f2进行拼接操作,得到拼接结果fcat;平均池化层对拼接结果fcat进行平均池化操作,得到用于描述全局特征的数据zc;多层感知机数据将数据zc转换成注意数据r;通过通道乘法,用注意数据r对拼接结果fcat进行选择再由1x1卷积层进行混合,得到混合结果f
mix1
;通过通道加法,用注意数据r对混合结果f
mix
进行选择混合,得到并输出混合结果f
mix2
。
76.实施例三
77.对实施例一所得的编码结果进行解码,具体包括如下步骤:
78.步骤m1、将编码结果输入自回归网络,利用自回归网络恢复对各体素块的上下文建模。
79.步骤m2、通过恢复的上下文熵模型进行对各体素块进行概率估计,得到各体素块的预测概率。
80.步骤m3、根据预测概率,通过算术解码器从编码结果中解码得到点云数据。
81.显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
技术特征:1.一种基于混合上下文熵模型的点云几何编码方法,其特征在于,包括以下步骤:获取点云数据;对点云数据进行n-i次剖分,得到树结构点云;将树结构点云中深度为n-i的节点转换为体素块,得到混合结构点云数据;在树结构点云中,对深度为n-i的节点进行若干次剖分,得到若干个尺寸不一的节点;对树结构点云中的节点提取上下文信息;在混合结构点云中,对体素块进行若干次压缩,得到若干个尺寸不一的体素块;对混合结构点云中的体素块提取上下文信息;分别将各体素块的上下文信息与其尺寸一致的节点的上下文信息进行拼接,得到若干个拼接结果;通过选择单元对所述若干个拼接结果进行混合,得到若干个对应于各体素块的混合上下文信息;根据所述混合上下文信息,对各体素块进行概率估计,得到预测概率;根据预测概率和体素块进行编码,得到编码结果。2.根据权利要求1所述的一种基于混合上下文熵模型的点云几何编码方法,其特征在于,所述对树结构点云中的节点提取上下文信息,具体步骤如下:对树结构点云中深度大于等于n-i的各节点进行上下文提取,再分别将每一节点的上下文提取结果与该节点的父节点的上下文提取结果进行渐进聚合,得到若干个对应各节点的上下文信息。3.根据权利要求1所述的一种基于混合上下文熵模型的点云几何编码方法,其特征在于,所述对体素块进行压缩,具体为对体素块进行最大池化操作。4.根据权利要求1所述的一种基于混合上下文熵模型的点云几何编码方法,其特征在于,选择单元包括拼接层、平均池化层、多层感知机、卷积层。5.根据权利要求4所述的一种基于混合上下文熵模型的点云几何编码方法,其特征在于,所述选择单元对输入数据进行如下处理:输入数据f1和数据f2至选择单元;拼接层对数据f1和数据f2进行拼接操作,得到拼接结果fcat;平均池化层对拼接结果fcat进行平均池化操作,得到用于描述全局特征的数据zc;多层感知机数据将数据zc转换成注意数据r;通过通道乘法,用注意数据r对拼接结果fcat进行选择再由卷积层进行混合,得到混合结果f
mix1
;通过通道加法,用注意数据r对混合结果f
mix
进行选择混合,得到并输出混合结果f
mix2。
6.根据权利要求4所述的一种基于混合上下文熵模型的点云几何编码方法,其特征在于,通过选择单元对若干个拼接结果进行混合,包括如下步骤:获取第一拼接结果、第二拼接结果、第三拼接结果;将第一拼接结果和第二拼接结果输入选择单元进行混合,得到第一混合结果;将第一混合结果和第三拼接结果输入选择单元进行混合,得到第二混合结果;第二混合结果为第三体素块的混合上下文信息;将第二混合结果和第一混合结果输入选择单元进行混合,得到第三混合结果;第三混合结果为第二体素块的混合上下文信息;将第三混合结果和第一拼接结果输入选择单元进行混合,得到第四混合结果;第四混合结果为第一体素块的混合上下文信息。
7.根据权利要求1所述的一种基于混合上下文熵模型的点云几何编码方法,其特征在于,还包括对编码结果进行解码,具体步骤如下:利用自回归网络恢复各体素块的上下文熵模型;通过上下文熵模型进行对各解码体素进行概率估计,得到各体素块的预测概率;根据预测概率,通过算术解码器从编码结果中解码得到点云数据。
技术总结本发明涉及一种基于混合上下文熵模型的点云几何编码方法,通过将树结构点云中深度为n-i的节点转换为体素块,得到混合结构点云数据;对树结构点云中的节点和混合结构点云中的体素块提取上下文信息;将体素块的上下文信息与其尺寸一致的节点的上下文信息进行拼接;通过选择单元对拼接结果进行混合,得到各体素块的混合上下文信息;根据混合上下文信息,对各体素块进行概率估计,得到预测概率;根据预测概率和体素块进行编码,得到编码结果。本发明剔除了树结构中存在的大量冗余信息,并通过双向的上下文信息提取、上下文信息混合,实现了对体素上下文的精细建模,为体素编码提供了更准确的预测概率,在提高压缩率的同时降低编码过程中的数据损失。过程中的数据损失。过程中的数据损失。
技术研发人员:郑明魁 黄施平 邱鑫 王适 王泽峰
受保护的技术使用者:福州大学
技术研发日:2022.07.26
技术公布日:2022/11/1