1. 论文基本信息
发布于: CVPR 2021
2. 创新点
- 通过利用基于体素的方法和基于八叉树的方案,我们在深度熵模型中引入了局部体素上下文。
- 论文开发了一个基于体素的坐标细化模块来生成解码器端叶节点的准确坐标。
3. 背景
之前遇到的问题:
- 之前方法中基于八叉树的熵模型中忽略了统一深度级别的相邻八叉树节点之间的强依赖性
- 在将原始点云转换为八叉树结构化数据后,并且引入了失真,进一步降低了压缩性能。
4. Pipeline
利用所提出的深度熵模型无损压缩八叉树中非叶节点的特征,而坐标细化模块用于预测解码器端更准确的坐标。
4.1. Octree Construction(八叉树构造)
(a) 原始输入点云。、(b) 对应的八叉树。(c) 深度级别为2的输入点云的体素表示。 (d) 详细的二进制体素表示。
首先通过将 3D 空间划分为 8 个大小相同的立方体,然后以相同的方式递归地划分每个非空立方体,直到达到最大深度级别。每个节点的3D坐标表示立方体中心。对于每个非叶节点,使用 8 位符号来表示其八个子节点的占用状态,每个位对应一个特定子节点。在八叉树构建过程中重建点云的质量与八叉树的最大深度有关,并且由于八叉树立方体的中心位置可能与具体实际点的位置有所偏差,因此可能造成一定的坐标偏差。
4.2. Local Voxel Context in Octree (八叉树中的局部体素上下文)
在图(c)中,紫色区域表示当前节点ni的局部体素上下文,局部体素表示的详细二进制值如图(d)所示。在图(a) 中,提供了 3D 空间中相应局部区域的 3D 坐标范围(参见紫色虚线)。值得注意的是,当前节点ni的局部体素context Vi (
其中 M 表示局部体素表示的大小。Vi将在我们的方法中用作强大的先验信息来提高压缩性能)表示同一深度水平下相邻节点的分布信息。相比之下,之前的方法只利用其祖先节点的信息,而不考虑强空间相邻先验信息。
4.3. Deep Entropy Model 深度熵模型
在八叉树中论文使用 s = [ s1, ... , si, ...] 来表示8个字节的占用符号,si 表示八叉树中节点 ni 的符号,例如 si = [0, 0, 0, 1, 0, 0, 1] 时,这意味着节点 ni 有两个子节点,两个子节点的对应索引分别为 4 和 8。
比特率的下限是香农熵(对于节点占用信息来说,香农熵可以看作是在已知占用信息的概率分布的情况下,用最优编码方法对占用信息进行编码所需的比特数的下限)。然而,实际应用中的实际分布 P 是未知的。因此,论文中使用深度神经网络来估计可用于近似实际分布 P 的概率分布。基于学习到的深度熵模型,我们可以无损的方式从八叉树中压缩这些占用符号。具体来说,基于学习的熵模型的目标是最小化交叉熵损失 Es∼P [−logQs(s)],其中 Qs(s) 是 s 的估计概率。(解释:在实际应用中,节点占用信息的真实概率分布P通常是未知的。因此,作者使用了深度神经网络来估计这个概率分布,并利用学习到的深度熵模型来近似代替真实的概率分布P。深度熵模型的目标是通过学习大量的训练数据,尽可能准确地预测节点占用信息的概率分布。)
深度熵网络模型:
在这个过程中,论文采用流行和现成的 CNN 结构来有效地利用 3D 空间中的上下文信息,这是现有基于八叉树的点云压缩方法尚未利用的。然后论文连接上下文特征 fi 和节点特征 ci。之后,采用多层感知 (MLP) 生成 256 维隐藏特征,融合了局部体素上下文信息和节点信息。最后,使用 softmax 层为每个给定节点 ni 生成 8 位占用符号的概率 qs(si|Vi, ci)。
目标是使得熵模型能较好的预测当前节点的子节点占用情况
4.4. Coordinate Refinement Method(坐标细化方法)
论文中提到的解码端坐标细化依赖于节点的局部体素上下文信息,坐标细化遵循公式:
其中 Vi 是叶节点 ni 的局部体素上下文,R(·) 是坐标细化的可学习函数。解码坐标 (xdi , ydi , zdi) 表示八叉树解码后节点 ni 的坐标。
首先使用多层 CNN 在 3D 空间中提取上下文信息,然后使用一组全连接层预测偏移量。然后我们计算叶节点ni的解码坐标,ni的最终重构坐标是其解码坐标和预测偏移量的总和。
4.5. 训练策略
在所提出的方法中,分别训练我们基于局部体素上下文的深度熵模型和坐标细化模块。对于深度熵模型,基于每个非叶节点的预测分布 qs(si|Vi, ci),使用以下损失函数:
其中qs(si|Vi, ci) 是当前局部体素上下文 Vi 和节点特征 ci 在节点 ni 处给出时 si 的预测概率。
对于坐标细化模块,论文中的目标是生成每个点的精确坐标。为此,在训练过程中使用基于 MSE 的损失作为失真:
4.6. Dynamic Point Cloud Compression (动态点云压缩)
在动态点云的压缩中我们引入的时间维度的信息,对于点云帧 Pt 在深度为 k 第 i 个节点的熵模型预测中,我们使用第Pt-1 帧的信息和 Pt+1帧的信息 将局部体素信息连接后将聚合特征聚合到 Softmax 层以产生最终的概率分布。
5. 💎实验成果展示
倒角距离 (Chamfer Distance, CD):
- 倒角距离是一种度量两个点云之间的距离的指标。它通过计算每个点到另一个点云中最近点之间的距离,并将这些距离求和来衡量点云之间的差异,较小的倒角距离表示重建的点云与原始点云之间的差异较小,因此重建质量较高。
点对点峰值信噪比 (Point-to-Point Peak Signal-to-Noise Ratio, PSNR):
- 点对点 PSNR 就是通过比较原始点云和重建点云之间的差异来计算信噪比的指标。具体地,它将点云视为图像,将点云中的点视为像素,然后计算像素间的 PSNR 值:
其中,MAX 是点云数据的最大可能值(通常为点云坐标的范围),MSE 是均方误差(Mean Squared Error),表示原始点云和重建点云之间的差异程度,PSNR 的值越高,意味着原始点云和重建点云之间的差异越小,即重建质量越高。
点到平面峰值信噪比 (Point-to-Plane Peak Signal-to-Noise Ratio, PSNR):
- 它不仅考虑了点的位置,还考虑了点到其最近平面的距离。通过将点云中的点与其最近平面之间的距离作为信号和噪声来计算 PSNR。较高的点到平面 PSNR 表示点云中的点更好地拟合到了平面上,即点云的平面拟合质量较高。
6. 🔍问题分析
论文中的熵模型对八叉树点云的压缩这么体现?训练出来的应该是有个能够很好预测非叶节点占用符号的模型。