【点云阅读笔记】Learned Point Cloud Geometry Compression

本文介绍了一种基于深度学习的点云编码方法,LearnedPointCloudGeometryCompression (PCGC),利用超先验知识改善潜在特征建模,通过3D CNN实现高效的空间相关性探索。模型轻量化,具有更好的并行性和性能,涉及预处理、编码器结构、量化策略及熵率优化。
摘要由CSDN通过智能技术生成

阅读报告——Learned Point Cloud Geometry Compression

本文提出了一个具有端到端(End-to-end)超先验知识(Learned, hyperprior )的PCGC的模型。本文所描述的成果参数少、性能好,并且可以有更好并行性。

Worth noticing in Intro

  1. 超先验信息被用来提升潜在特征的条件概率模型性能(Hyperpriors are used to improve the conditional probability modeling of latent features. )。本文使用variational autoencoder (VAE)来利用超先验信息。
  2. end-to-end已经被证明有更好的率失真表现。

Model & Structure

在这里插入图片描述

大致的框架和昨天所介绍的【点云阅读笔记】Point Cloud Coding: Adopting a Deep Learning-based Approach 并大致相同,但是可能这里会更加地详细而已。

Pre-processing

在这里插入图片描述

在预处理中,经过了体素化、缩放、划分。

体素化其实就是将其分为一个又一个的小正方体。

同时,我们要引入一个概念:精度。对于一个 ( i , j , k ) (i,j,k) (i,j,k)的体素,其精度为每个维度中可达到的最大值(Point cloud precision sets the maximum achievable value in each dimension)。例如,10b的精度,则 0 ≤ i , j , k ≤ 2 10 − 1 0 \leq i, j, k \leq 2^{10}-1 0i,j,k2101

至于缩放,这里的缩放是直接将其线性乘。这个缩放因子 s s s s < 1 s<1 s<1的,它是一种下采样。(原文还提出了一个future research 说,可以在神经网络内考虑采用一个适应性的缩放因子)

X ^ n = ROUND ⁡ ( X n × s ) = ROUND ⁡ ( i n × s , j n × s , k n × s ) \begin{aligned}\hat{\mathbf{X}}_{n} &=\operatorname{ROUND}\left(\mathbf{X}_{n} \times s\right) \\&=\operatorname{ROUND}\left(i_{n} \times s, j_{n} \times s, k_{n} \times s\right)\end{aligned} X^n=ROUND(Xn×s)=ROUND(in×s,jn×s,kn×s)

划分是指将其划分为不重叠的小方块,每个小方块大小为 W × W × W W\times W\times W W×W×W。要注意的是,只有方块里有点的方块才是我们编码压缩的对象。

Cube-based Learned-PCGC

本文的最明确的一个idea就在此:通过有效地探索局部和全局空间相关性,通过基于CNN的堆叠自动编码器,学习到的2D变换在图像压缩中表现出了良好的编码性能。于是,作者利用3DCNN将图像压缩相关的思想迁移于点云中。

首先要阐述的一点是,Analysis transform 和 Synthesis transform是一组编码器——解码器对,在main codec和hyperpriors codec都用到了这两种transform。

在这里插入图片描述

在hyperpriors的codec中,它起到的作用其实是针对于潜在特征建模。因此,在hypercodec中,它使用了3个轻量级的3D卷积,旨在进一步地降采样。(原文Given that hyperpriors are mainly used for latent feature entropy modeling, we apply three consecutive lightweight 3D convolutions (with further downsampling mechanism embedded) instead of in hyper codec.,感觉是有笔误的:应该是instead of in main codec)

而在main codec中,它在三个卷积里面,还增加了一个Voxception-ResNet (VRN)。增加这个模块是希望运用残差网络的优势,来实现这个提取特征的目的。

量化

因直接rounding是不可微的,因此这里的量化,是在原始的潜在特征向量 y y y下,加入:

y ^ = y + μ \hat y = y + \mu y^=y+μ

其中, μ ∼ U ( − 1 2 , 1 2 ) \mu \sim U(-\frac 1 {2}, \frac 1 {2}) μU(21,21) ,即 ( − 1 2 , 1 2 ) (-\frac 1 {2}, \frac 1 {2}) (21,21) 的均匀分布。

Entropy Rate Modeling

本文考虑了用算术编码来压缩量化后的潜在特征。在这里,还提出了一个:

理论上,源符号(例如,特征元素)的熵界与其概率分布密切相关,更重要的是,准确的速率估计在有损压缩中起着关键作用,以实现率失真优化(Theoretically, the entropy bound of the source symbol (e.g., feature element) is closely related to its probability distribution, and more importantly, accurate rate estimation plays a key role in lossy compression for rate-distortion optimization)。

对于实际的比特率:

R y ^ = E y ^ [ − log ⁡ 2 p y ^ ( y ^ ) ] R_{\hat{y}}=E_{\hat{y}}\left[-\log _{2} p_{\hat{y}}(\hat{y})\right] Ry^=Ey^[log2py^(y^)]

对于rate-modeling,它的性能的提升,可以用先验知识提升。如果可以使用足够的先验信息 z ^ \hat z z^,我们就可以用其更好地估计 y ^ \hat y y^。事实上,这里的先验知识 z ^ \hat z z^在此时,其实是用 y ^ \hat y y^降采样了所得到的 z ^ \hat z z^(这部分实在看不懂,如果不对请斧正,谢谢!)

这几个式子确实是看不懂,请各位大神点拨一二!

p z ^ ∣ ψ ( z ^ ∣ ψ ) = ∏ i ( p z ^ i ∣ ψ ( i ) ( ψ ( i ) ) ∗ U ( − 1 2 , 1 2 ) ) ( z ^ i ) p_{\hat{z} \mid \psi}(\hat{z} \mid \psi)=\prod_{i}\left(p_{\hat{z}_{i} \mid \psi^{(i)}}\left(\psi^{(i)}\right) * \mathcal{U}\left(-\frac{1}{2}, \frac{1}{2}\right)\right)\left(\hat{z}_{i}\right) pz^ψ(z^ψ)=i(pz^iψ(i)(ψ(i))U(21,21))(z^i)

p y ^ ∣ z ^ ( y ^ ∣ z ^ ) = ∏ i ( L ( μ i , σ i ) ∗ U ( − 1 2 , 1 2 ) ) ( y ^ i ) p_{\hat{y} \mid \hat{z}}(\hat{y} \mid \hat{z})=\prod_{i}\left(\mathcal{L}\left(\mu_{i}, \sigma_{i}\right) * \mathcal{U}\left(-\frac{1}{2}, \frac{1}{2}\right)\right)\left(\hat{y}_{i}\right) py^z^(y^z^)=i(L(μi,σi)U(21,21))(y^i)

Rate-distortion Optimization

分为两部分:Rate EstimationDistortion Measurement。在Rate Estimation 里,所使用的是
R y ^ = ∑ i − log ⁡ 2 ( p y ^ i ∣ z ^ i ( y ^ i ∣ z ^ i ) ) R z ^ = ∑ i − log ⁡ 2 ( p z ^ i ∣ ψ ( i ) ( z ^ i ∣ ψ ( i ) ) ) \begin{aligned} &R_{\hat{y}}=\sum_{i}-\log _{2}\left(p_{\hat{y}_{i} \mid \hat{z}_{i}}\left(\hat{y}_{i} \mid \hat{z}_{i}\right)\right) \\ &R_{\hat{z}}=\sum_{i}-\log _{2}\left(p_{\hat{z}_{i} \mid \psi^{(i)}}\left(\hat{z}_{i} \mid \psi^{(i)}\right)\right) \end{aligned} Ry^=ilog2(py^iz^i(y^iz^i))Rz^=ilog2(pz^iψ(i)(z^iψ(i)))
Distortion Measurement里,所使用的是:
D W B C E = 1 N o ∑ N o − log ⁡ p x ~ o + α 1 N n ∑ N n − log ⁡ ( 1 − p x ~ n ) D_{\mathrm{WBCE}}=\frac{1}{N_{o}} \sum^{N_{o}}-\log p_{\tilde{x}_{o}}+\alpha \frac{1}{N_{n}} \sum^{N_{n}}-\log \left(1-p_{\tilde{x}_{n}}\right) DWBCE=No1Nologpx~o+αNn1Nnlog(1px~n)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值