OctSqueeze阅读

创新点

提出一种新的深度压缩算法来减少点云的内存占用。
利用点之间的稀疏性和结构冗余来降低比特率。

先利用高效且自适应的八叉树结构来获得原始点云的初始编码。
然后在树的每个中间节点上学习一个树结构的深度条件熵模型,结合场景的先验上下文来帮助预测节点符号。
最后从熵模型中预测的概率被传递给编码器,将序列化的符号编码成最终的比特流。

Architecture

image.png

上下文包括:
Location:节点的3D位置编码为R3中的向量,表示节点在三维空间中的空间坐标。
Octant:八叉树块索引,范围在{0,1,2,…,7}的整数。此索引标识当前节点xi属于其父节点的哪个八叉树块。
Parent:父节点的占用状态,范围为{0,1,2,…,255}的整数,父节点的8位占用位的十进制化,指示父节点的哪些子八叉树块被占用。
Octant和Parent的解释和图片上的对不上。

为什么熵模型能减少bit数

把所有体素的八位占用率进行排序,根据哈夫曼编码,减少编码的总长度。最后编码的bit流包含从根到叶所有结点的占用率。然后再从根到叶根据bit流解码出占用位可以重建出整颗八叉树。

为什么要用网络学习占用率

以便可以扩展到其他点云模型上,进行扩展。

Deep Entropy Model

给定占用序列x=[x1,x2…xn],熵模型的目标是学习一个估计分布q(x),与实际分布p(x)的交叉熵最小:image.png
将q(x)分解为每个个体占用符xi的条件概率的乘积:image.png
Xan(i)是当前结点祖先的集合,直到指定的k阶。image.png
W是熵模型权重。
Ci是相应上下文:包括节点深度、父节点占位和当前八元组的空间位置等信息。
用MLP为每个节点提取一个独立的深度特征:image.png
从hi(0)开始,在当前节点特征和父节点的特征之间进行K次聚合。
聚合也使用一个MLP:image.png
对每个节点进行端到端的交叉熵image.pngy是真实概率,q是预测概率。
最终输出位于第K个聚合特征hi(k)的线性层,为给定节点的8比特占用符号产生256维的概率softmax

Encoder-Decoder

编码:

从根到叶在不同的层次上依次应用熵模型,不在同一层次的节点之间传播信息。因此,在每个层内,可以将概率估计的计算并行化。
之后用熵编码算法(如算术编码)对八叉树原始比特流进行无损压缩。通过预测序列中每个字节xi的类别分布(0~255)来确定算术编码器的熵模型。

解码:

在解码算法中使用相同的熵模型。然后从解压后的比特流中建立八叉树,并用于重建点云。
由于熵模型的自回归特性,每个节点概率估计只依赖于自身和更高层的节点特征。此外,八叉树以广度优先的搜索方式序列化。因此,给定节点xi,它的祖先xan(i)在xi之前被解码,使得解码器也可以解码xi。

Experiments

上下文特征的消融实验:
L,P,O,LL分别表示结点八叉树层级,父节点占有率,八元组索引和空间位置
image.png
上下文特征的消融实验
image.png
下游感知任务的量化结果
image.png

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值