论文状态:已完成

HAC++: Towards 100X Compression of 3D Gaussian Splatting

发表:2025/01/22
原文链接PDF 下载
价格:0.100000
价格:0.100000
已有 1 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

HAC++ 提出了一个新型的压缩框架,通过无组织锚点与结构化哈希网格的关系,利用空间上下文信息与通道冗余,精确估计高斯属性的概率,结合熵编码实现压缩,实验显示该方法在保真度提升的同时达到了超过 100 倍的存储压缩。

摘要

3D Gaussian Splatting (3DGS) has emerged as a promising framework for novel view synthesis, boasting rapid rendering speed with high fidelity. However, the substantial Gaussians and their associated attributes necessitate effective compression techniques. Nevertheless, the sparse and unorganized nature of the point cloud of Gaussians (or anchors in our paper) presents challenges for compression. To achieve a compact size, we propose HAC++, which leverages the relationships between unorganized anchors and a structured hash grid, utilizing their mutual information for context modeling. Additionally, HAC++ captures intra-anchor contextual relationships to further enhance compression performance. To facilitate entropy coding, we utilize Gaussian distributions to precisely estimate the probability of each quantized attribute, where an adaptive quantization module is proposed to enable high-precision quantization of these attributes for improved fidelity restoration. Moreover, we incorporate an adaptive masking strategy to eliminate invalid Gaussians and anchors. Overall, HAC++ achieves a remarkable size reduction of over 100X compared to vanilla 3DGS when averaged on all datasets, while simultaneously improving fidelity. It also delivers more than 20X size reduction compared to Scaffold-GS. Our code is available at https://github.com/YihangChen-ee/HAC-plus.

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

HAC++: Towards 100X Compression of 3D Gaussian Splatting (HAC++:迈向 3D 高斯喷涂的百倍压缩)

1.2. 作者

Yihang Chen, Qianyi Wu, Weiyao Lin, Mehrtash Harandi, Jianfei Cai 作者分别来自上海交通大学和莫纳什大学(Monash University)。Jianfei Cai 是 IEEE Fellow,Weiyao Lin 是 IEEE 高级会员,团队在计算机视觉和数据压缩领域具有深厚背景。

1.3. 发表期刊/会议

ECCV 2024 (HAC 基础版本),本文是其扩展版 HAC++,目前发布在 arXiv (v4) 预印本平台。ECCV(欧洲计算机视觉国际会议)是计算机视觉领域的三大顶级会议(CVPR, ICCV, ECCV)之一。

1.4. 发表年份

2025年1月 (v4),原始 HAC 工作发表于 2024 年。

1.5. 摘要

3D 高斯喷涂(3D Gaussian Splatting, 3DGS)因其极快的渲染速度和高保真度成为新视角合成(Novel View Synthesis)领域的热门技术。然而,为了达到高质量效果,模型需要存储数百万个高斯基元,导致巨大的存储开销。本文提出了 HAC++,一种通过建立无组织锚点(Unorganized Anchors)结构化哈希网格(Structured Hash Grid)之间联系的压缩框架。HAC++ 利用哈希网格提供的空间上下文信息,结合锚点内部的通道冗余,对高斯属性进行精确的概率估计,并通过熵编码(Entropy Coding)实现大幅压缩。实验表明,HAC++ 在所有数据集上平均比原始 3DGS 压缩了 100 倍以上,且保真度不降反升。

1.6. 原文链接

2. 整体概括

2.1. 研究背景与动机

3D 高斯喷涂 (3DGS) 是近年来 3D 重建领域的突破,它用大量的“彩色模糊球”(高斯球)来表示 3D 场景。

  • 核心问题: 为了还原复杂细节,3DGS 往往需要数百万个高斯基元,每个基元包含位置、缩放、旋转、颜色(球谐系数)和不透明度等属性。这导致一个场景的存储大小通常在数百 MB 到数 GB 之间。
  • 现有挑战: 现有的压缩方法多侧重于属性数值本身(如剪枝、量化),却忽视了高斯基元之间隐藏的结构关系(Structural Relations)。高斯点云是稀疏且无组织的,很难直接利用像图像压缩那样的空间相关性。
  • 切入点: 论文受到 NeRF 系列中“哈希网格(Hash Grid)”这种结构化表示的启发。作者发现,虽然高斯点云是乱序的,但它们在空间上的分布实际上与哈希网格特征存在很强的互信息(Mutual Information)

2.2. 核心贡献/主要发现

  • 提出了 HAC 框架: 首次将无组织的 3D 锚点与结构化的哈希网格结合,利用哈希特征作为“上下文信息”来辅助属性压缩。

  • 锚点内上下文模型 (Intra-anchor Context): 进一步挖掘了单个锚点内部不同特征通道之间的冗余。

  • 自适应量化与遮罩 (Adaptive Quantization & Masking): 提出了 AQM 模块动态调整量化步长,并利用自适应掩码自动剔除无效的高斯基元。

  • 性能突破: 实现了惊人的压缩率。相比 3DGS 压缩 >100 倍,相比目前的 SOTA 模型 Scaffold-GS 压缩 >20 倍,且渲染质量(PSNR 等指标)依然保持领先。


3. 预备知识与相关工作

3.1. 基础概念

  • 3D 高斯喷涂 (3D Gaussian Splatting): 一种 3D 表示技术。它把 3D 空间看作是一群带有透明度的椭球体。通过将这些椭球体投影到 2D 平面并进行混合(Blending),可以生成极其逼真的图像。
  • 锚点 (Anchors): 在 Scaffold-GS(HAC++ 的基础模型)中,不再直接存储数百万个高斯球,而是存储一些“锚点”。每个锚点会根据神经网络的预测,“长出”数个局部的高斯球。这种方式本身就比原始 3DGS 更节省空间。
  • 哈希网格 (Hash Grid): 一种高效的 3D 空间索引方式。它将空间坐标映射到一个固定大小的表格中。Instant-NGP 曾利用它极大提升了 NeRF 的训练速度。
  • 熵编码 (Entropy Coding): 一种无损压缩技术(如算术编码 AE)。其核心原理是:给出现概率高的数值分配短编码,出现概率低的分配长编码。

3.2. 前人工作与技术演进

  1. NeRF (2020): 用全连接网络表示场景,速度慢但体积小。
  2. 3DGS (2023): 显式高斯球表示,速度极快但体积巨大。
  3. Scaffold-GS (2024): 引入锚点概念,通过神经网络预测高斯属性,提升了效率并初步减少了冗余。
  4. HAC (2024): 本文作者的前期工作,引入了哈希网格辅助上下文。
  5. HAC++ (本文): 在 HAC 基础上增加了锚点内上下文、自适应量化和增强型掩码策略。

3.3. 差异化分析

现有 3DGS 压缩方法通常是独立地处理每个高斯点。而 HAC++ 认为:“如果你告诉我一个锚点在空间里的位置,我就能利用哈希网格的信息,大概猜出它的属性值是多少。”这种预测-残差的思路是 HAC++ 远超其他方法的关键。


4. 方法论

4.1. 方法原理

HAC++ 的核心思想是上下文建模 (Context Modeling)。它不直接压缩锚点属性 A\mathcal{A},而是利用哈希网格生成一个参考特征 fhf^h,然后用 fhf^h 去预测属性 A\mathcal{A} 的分布。预测得越准,压缩率就越高。

4.2. 核心方法详解 (逐层深入)

4.2.1. 桥接锚点与哈希网格 (Bridging Anchors and Hash Grid)

对于每一个锚点 ii,其位置为 xia\pmb{x}_i^a。我们首先在结构化的哈希网格 H\mathcal{H} 中进行插值查询,得到哈希特征 fhf^hfh:=Interp(xa,H) \pmb{f}^h := \mathrm{Interp}(\pmb{x}^a, \mathcal{H}) 这个 fhf^h 捕捉了该位置周围的空间结构信息。作者通过实验证明,fhf^h 与锚点属性 A\mathcal{A} 之间存在巨大的互信息。我们将压缩问题转化为求解条件概率: p(Afh)p(\pmb{A} | \pmb{f}^h)

4.2.2. 自适应量化模块 (Adaptive Quantization Module, AQM)

为了进行熵编码,属性必须离散化(量化)。传统的量化步长是固定的,但这会损伤精度。HAC++ 使用 AQM 动态调整量化步长: 锚点属性的任何一个分量 fi{fia,li,oi}f_i \in \{f_i^a, l_i, o_i\}(特征、缩放、偏移),其量化过程如下:

  • 训练阶段 (添加噪声以模拟量化): f^i=fi+U(12,12)×qi \hat{\pmb{f}}_i = \pmb{f}_i + \mathcal{U}\left(-\frac{1}{2}, \frac{1}{2}\right) \times \pmb{q}_i
  • 测试阶段 (真正量化): f^i=Round(fi/qi)×qi \hat{\pmb{f}}_i = \mathrm{Round}(\pmb{f}_i / \pmb{q}_i) \times \pmb{q}_i 其中,量化步长 qi\pmb{q}_i 是由哈希特征预测得到的: qi=Q0×(1+tanh(MLPq(fih))) \pmb{q}_i = Q_0 \times (1 + \tanh(\mathrm{MLP}_q(\pmb{f}_i^h))) Q0Q_0 是预定义的初始步长。这样,模型可以为重要的属性分配更细致的量化级别。

4.2.3. 基于高斯分布的概率建模 (Gaussian Distribution Modeling)

为了让算术编码器(AE)工作,我们需要知道量化值 f^i\hat{f}_i 出现的概率。HAC++ 假设属性服从高斯分布,并利用哈希特征预测该分布的均值 μ\mu 和标准差 σ\sigmaμis,σis=MLPc(fih) \mu_i^s, \sigma_i^s = \mathrm{MLP}_c(\pmb{f}_i^h) 有了均值和标准差,量化值 f^i\hat{f}_i 的概率可以通过累积分布函数(CDF)计算: p(f^i)=Φ(f^i+qi2μis,σis)Φ(f^iqi2μis,σis) p(\hat{f}_i) = \Phi(\hat{f}_i + \frac{q_i}{2} | \mu_i^s, \sigma_i^s) - \Phi(\hat{f}_i - \frac{q_i}{2} | \mu_i^s, \sigma_i^s) 这里的 Φ\Phi 是标准高斯分布的 CDF。

4.2.4. 引入锚点内上下文与高斯混合模型 (GMM)

除了空间关系,锚点自身的通道之间也有冗余。HAC++ 将锚点特征 faf^a 分成 NcN^c 个块(Chunks),并采用因果预测(Causal Prediction): μi,ncc,σi,ncc=MLPa([f^i,<nca;μis;σis]) \mu_{i, n^c}^c, \sigma_{i, n^c}^c = \mathrm{MLP}_a([\hat{f}_{i, <n^c}^a; \mu_i^s; \sigma_i^s]) 即用已经解码的特征块来预测下一个块。 最后,通过 高斯混合模型 (Gaussian Mixture Model, GMM) 将空间上下文(来自哈希)和块上下文(来自自身)融合: p(f^ia)=l{s,c}θil×Gaussian_Prob(f^iaμil,σil) p(\hat{f}_i^a) = \sum_{l \in \{s, c\}} \theta_i^l \times \mathrm{Gaussian\_Prob}(\hat{f}_i^a | \mu_i^l, \sigma_i^l) 其中 θil\theta_i^l 是学习到的加权系数。

4.2.5. 自适应偏移遮罩 (Adaptive Offset Masking)

有些锚点长出的高斯球可能是多余的。HAC++ 为每个偏移引入了一个学习掩码 mi,km_{i,k}。 如果一个锚点产生的所有高斯球都被遮掩了(m=0m=0),那么整个锚点都可以被删掉。作者将掩码率直接计入熵损失函数: Lentropy=imia×(bits for attributes) L_{entropy} = \sum_i m_i^a \times (\text{bits for attributes}) 这样在训练过程中,模型会自动在“保留更多点以提升质量”和“删除点以节省空间”之间寻找最优平衡。


5. 实验设置

5.1. 数据集

论文在五个权威数据集上进行了测试:

  1. Synthetic-NeRF: 包含乐高、椅子等 8 个合成物体,背景干净。
  2. Mip-NeRF360: 复杂的户外和室内 360 度场景,是目前最难的数据集之一。
  3. Tanks&Temples: 大型户外场景。
  4. DeepBlending & BungeeNeRF: 涵盖了从城市规模到精细细节的不同尺度。

5.2. 评估指标

  • PSNR (峰值信噪比):
    • 定义: 衡量图像失真程度,值越高表示图像质量越好。
    • 公式: PSNR = 10 \cdot \log_{10}\left(\frac{MAX_I^2}{MSE}\right)
    • 符号: MAXIMAX_I 是像素最大值,MSE 是均方误差。
  • SSIM (结构相似性):
    • 定义: 模拟人类视觉系统,衡量亮度、对比度和结构的相似度。范围 0~1,越接近 1 越好。
  • LPIPS (感知相似度):
    • 定义: 利用深度学习特征计算图像差异,值越低表示视觉上越接近真实图像。
  • Size (MB): 最终压缩后的模型文件大小。
  • BD-rate: 在相同质量(PSNR)下,两种方法之间的比特率(存储空间)差异。

5.3. 对比基线

  • 原始 3DGS: 压缩的基准。

  • Scaffold-GS: HAC++ 的基础架构。

  • 其他压缩方法: 包括 LightGaussian, EAGLES, Compressed3D 等(大多基于剪枝和量化)。

  • 上下文方法: ContextGS, CompGS(同步进行的并行工作)。


6. 实验结果与分析

6.1. 核心结果分析

HAC++ 表现出了压倒性的优势。

  • 平均压缩率: 在所有数据集上,HAC++ 平均比 vanilla 3DGS 缩小了 120 倍(例如 BungeeNeRF 数据集从 1616MB 压缩到约 11MB)。
  • 质量: 在大幅压缩的同时,PSNR 指标通常还高于原始 3DGS 和 Scaffold-GS。这是因为熵约束起到了正则化的作用,防止了模型过拟合。

6.2. 数据呈现

以下是原文 Table II 的部分核心结果转录(展示主要数据集的平均表现):

数据集 & 方法 Synthetic-NeRF Mip-NeRF360 Tank&Temples
PSNR↑ Size(MB)↓ PSNR↑ Size(MB)↓ PSNR↑ Size(MB)↓
3DGS 33.80 68.46 27.46 750.9 23.69 431.0
Scaffold-GS 33.41 19.36 27.50 253.9 23.96 86.50
LightGaussian 32.73 7.84 27.00 44.54 22.83 22.43
HAC++ (High rate) 33.76 1.84 27.82 18.48 24.32 8.63

分析: 可以看到,在 Mip-NeRF360 数据集上,HAC++ 仅用 18.48 MB 就达到了 27.82 dB 的 PSNR,而原始 3DGS 需要 750.9 MB 且 PSNR 仅为 27.46 dB。这是质的飞跃。

6.3. 消融实验分析

通过 Table III,作者验证了各个组件的有效性:

  • 去掉 HAC (哈希信息): 压缩率下降 63.3%。说明空间上下文非常关键。

  • 去掉 Intra-anchor (自身信息): 压缩率下降 14.7%。说明通道冗余也值得挖掘。

  • 去掉自适应掩码 (Masking): 压缩率下降 31.4%。说明自动剔除无用点非常高效。


7. 总结与思考

7.1. 结论总结

HAC++ 是 3D 高斯喷涂压缩领域的里程碑式工作。它成功地证明了:尽管 3D 高斯点云表面上是无组织的,但通过巧妙的哈希网格映射,可以挖掘出巨大的结构性冗余。 该方法在压缩率、渲染质量和渲染速度(得益于点数减少)之间取得了极佳的平衡。

7.2. 局限性与未来工作

  • 训练时间: HAC++ 的训练时间比 Scaffold-GS 增加了约 80%。这是因为需要额外训练复杂的上下文预测 MLP。
  • 解码延迟: 算术编码的逐块解码会带来一定的延迟,虽然对于离线存储不是问题,但对于实时流传输仍有优化空间。
  • 未来方向: 开发更轻量级的上下文模型,或者探索如何直接在压缩域进行渲染而无需完全解码。

7.3. 个人启发与批判

  • 启发: HAC++ 的成功在于“跨界融合”。它结合了 NeRF 的哈希表示(结构化)和 3DGS 的点云表示(非结构化),这种取长补短的思维在多模态或混合表示的研究中非常值得借鉴。
  • 批判: 论文中提到“改善了保真度”,这在有损压缩中比较少见。作者将其归功于正则化,但在某些极端复杂的场景下,过度依赖哈希预测是否会导致细节的“平滑化”或“幻觉”?这在论文中探讨较少,值得进一步验证。此外,对于动态场景(4D 压缩),该框架的扩展能力也值得期待。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。