Patch-Based Deep Autoencoder for Point Cloud Geometry Compression
https://arxiv.org/abs/2110.09109
这篇论文使用深度自编码器,提出了一种基于分块(patch)的有损点云几何压缩模型。与现有的点云压缩网络(在整个原始点云上应用特征提取和重建)不同,该模型通过采样和KNN操作将输入点云划分为多个小块并独立地压缩处理。最终的完整点云由解压缩后的各个小块组合得到。此外,作者使用分块的局部重建损失训练整个模型,以逼近最优的全局重建性能。使用分块来训练模型有两个优点:
- 首先,由于分块已经是点云的局部区域,因此网络模型不需要使用多个集合抽象层堆栈来捕获局部细节,从而降低了训练模型的复杂性。
- 其次,将点云划分成块增强了训练数据,这可以避免过拟合问题,提高模型预测精度。
在点云压缩任务中,该模型可以保证重建的点云与输入点云的点数相同,有很好的率失真性能(尤其是在低比特率下)。此外,还可以通过调整重建点云的点数将该模型应用于其他点云重建任务,例如点云上采样。
压缩流程
首先原始点云被分为两部分:独立的分块和作为分块的辅助信息的采样点坐标。该过程描述如下:
-
对于$N$个点的原始点云,使用FPS采集$S$个点${p_1,p_2,...,p_S}$,作为各个分块的辅助信息。
-
对于每个采样点,使用KNN得到$K$个最近邻点${p_i^1,p_i^2,...,p_i^K}$。然后计算每个最近邻点相对于采样点的坐标,即${p_i^1-p_i,p_i^2-p_i,...,p_i^K-p_i}$,作为网络模型的输入。
即使使所有分块的总点数等于输入点云的总点数,也不足以覆盖整个点云。因此,作者令$S×K=αN(α>1)$来避免某些点无法被捕获。
在编码过程中,每个分块被传递给自编码器的编码器,然后生成一组潜在表示。使用量化器对这些表示进行量化,然后将其与采样点的坐标信息相结合,以形成整个点云的最终潜在表示。
最后,最终的潜在表示被熵编码成比特流并传输到解码器。
解码过程与编码过程基本相反。在获得点云的表示之后,作者从中分离出各个分块的潜在表示,并将这些表示分别传递给自编码器的解码器得到各个重建分块。
然后,作者将解码器输出与辅助坐标信息(采样点坐标$𝑝_𝑖$)相加,以形成最终的重建结果。每个独立预测结果的合并是最终的点云重建结果。为了获得与输入点云相同的分辨率,作者设置络预测点云分块的点数$k=N/S$。
自编码架构
自编码器基于PointNet实现分块的变换和压缩。它包括分析变换(analysis transform)$f_a$、量化函数(quantization function)$Q$和合成变换(synthesis transform)$f_s$。
-
分析变换 $f_a$: 分析变换用于提取分块的特征表示。在分析转换中,作者首先使用PointNet++的集合抽象(SA)层中的分组层和PointNet层来提取每个点的小尺度局部特征($D$维),然后使用PointNet提取更高级别的全局特征($d$维)。
-
量化函数 $Q$: 量化函数用于量化隐特征表示以进一步压缩。在训练过程中作者向$(1,d)$维隐藏特征添加[-0.5, 0.5]的均匀噪声近似量化,这可以使量化过程可微,因此允许在随机梯度下降优化期间进行反向传播。在测试中,作者对隐藏层特征使用舍入运算,以实现后续的熵编码。
-
合成变换 $f_s$: 合成变换用于将量化特征重建为输入形状。使用几个全连接层将量化特征变换到$k×3$维,然后重塑为$(k,3)$得到一个分块的重建结果。
重建结果和输入之间的误差(失真)用Chamfer distance计算:
其中$P$为训练过程一个batch的总分块数。$x$表示原始点云的分块$S_i$的一个点。$y$表示预测分块$S'_i$的一个点。
最终损失函数设置为$L=D_{CD}+λR$,其中$R$是由隐藏层特征的概率分布估计的比特率。比特率估计表达式如下所示:
其中$\tilde{z}_i$是在为分块$S_i$添加均匀噪声之后的表示。$q(\tilde{z}_i|S_i)$表示$\tilde{z}i$的实际边缘分布。$p{\tilde{z}_i}(\tilde{z}_i)$是$\tilde{z}_i$的熵模型,使用[https://arxiv.org/abs/1802.01436]中的UNIVARIATE NON-PARAMETRIC DENSITY MODEL估计。需要解释的是,$λ$对压缩率的影响并不显著,作者主要依靠改变瓶颈层中$d$的大小来调整压缩率。
自编码器的具体网络参数为:
其中:
-
集合抽象层:SA(分块中的点数,每个分组中的点数,共享参数的MLP层每个层的大小)
-
PointNet:PN(共享参数的MLP层每个层的大小)
-
全连接层:FC(输入特征大小,输出特征大小)
实验结果
Visualization of Training Process
Compression Performance Comparison
Influence of Patch Count on Compression Performance
Application to Point Cloud Upsampling