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

📄 arXiv: 2501.12255v4 📥 PDF

作者: Yihang Chen, Qianyi Wu, Weiyao Lin, Mehrtash Harandi, Jianfei Cai

分类: cs.CV

发布日期: 2025-01-21 (更新: 2025-02-11)

备注: Project Page: https://yihangchen-ee.github.io/project_hac++/ Code: https://github.com/YihangChen-ee/HAC-plus. This paper is a journal extension of HAC at arXiv:2403.14530 (ECCV 2024)

🔗 代码/项目: GITHUB


💡 一句话要点

HAC++:实现3D高斯溅射100倍压缩,提升渲染保真度

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics)

关键词: 3D高斯溅射 压缩 新视角合成 哈希网格 上下文建模

📋 核心要点

  1. 3D高斯溅射虽然渲染速度快且保真度高,但其庞大的高斯参数集导致存储和传输成本高昂,高效压缩是关键挑战。
  2. HAC++利用高斯点云与哈希网格的互信息进行上下文建模,并捕获锚点内部关系,实现高效压缩。
  3. 实验表明,HAC++在压缩率上优于现有方法,平均实现了比原始3DGS超过100倍的压缩,并提升了渲染保真度。

📝 摘要(中文)

3D高斯溅射(3DGS)已成为一种很有前景的新视角合成框架,它以高保真度实现了快速渲染。然而,大量的Gaussians及其相关属性需要有效的压缩技术。高斯点云(或本文中的锚点)的稀疏性和无组织性给压缩带来了挑战。为了实现紧凑的尺寸,我们提出了HAC++,它利用无组织锚点和结构化哈希网格之间的关系,利用它们的互信息进行上下文建模。此外,HAC++捕获锚点内的上下文关系,以进一步提高压缩性能。为了方便熵编码,我们使用高斯分布来精确估计每个量化属性的概率,并提出了一个自适应量化模块,以实现这些属性的高精度量化,从而提高保真度恢复。此外,我们还结合了一种自适应掩蔽策略来消除无效的Gaussians和锚点。总的来说,HAC++在所有数据集上平均实现了比原始3DGS超过100倍的尺寸缩减,同时提高了保真度。与Scaffold-GS相比,它还实现了超过20倍的尺寸缩减。我们的代码可在https://github.com/YihangChen-ee/HAC-plus上找到。

🔬 方法详解

问题定义:3D高斯溅射(3DGS)虽然在高质量新视角合成方面表现出色,但其存储空间占用大,限制了其在资源受限设备上的应用。现有的压缩方法难以有效处理高斯参数的稀疏性和无序性,导致压缩率不足或质量损失。

核心思路:HAC++的核心在于利用高斯点云(锚点)与结构化哈希网格之间的互信息,以及锚点内部的上下文关系,进行高效的上下文建模。通过这种方式,可以更准确地预测和编码每个高斯参数,从而实现更高的压缩率。同时,自适应量化和掩蔽策略进一步优化了压缩性能和渲染质量。

技术框架:HAC++的整体框架包括以下几个主要模块:1) 哈希网格构建:构建一个结构化的哈希网格,用于辅助锚点的上下文建模。2) 上下文建模:利用锚点与哈希网格的互信息,以及锚点内部的上下文关系,构建上下文模型。3) 自适应量化:根据参数的分布特性,自适应地调整量化步长,以实现高精度量化。4) 自适应掩蔽:消除无效的Gaussians和锚点,减少冗余信息。5) 熵编码:使用高斯分布对量化后的参数进行熵编码,进一步压缩数据。

关键创新:HAC++的关键创新在于其上下文建模方法,它充分利用了锚点与哈希网格之间的互信息,以及锚点内部的上下文关系。这种方法能够更准确地预测和编码每个高斯参数,从而实现更高的压缩率。此外,自适应量化和掩蔽策略也进一步优化了压缩性能和渲染质量。与现有方法相比,HAC++在压缩率和渲染质量之间取得了更好的平衡。

关键设计:HAC++的关键设计包括:1) 哈希网格分辨率:哈希网格的分辨率需要根据数据集的特点进行调整,以平衡上下文建模的精度和计算复杂度。2) 上下文建模的权重:锚点与哈希网格的互信息,以及锚点内部的上下文关系,需要根据经验或学习进行加权,以获得最佳的压缩性能。3) 自适应量化的参数:自适应量化的参数需要根据参数的分布特性进行调整,以实现高精度量化。4) 自适应掩蔽的阈值:自适应掩蔽的阈值需要根据数据集的特点进行调整,以平衡压缩率和渲染质量。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

HAC++在多个数据集上进行了评估,实验结果表明,HAC++在压缩率上显著优于现有方法。具体而言,HAC++实现了比原始3DGS超过100倍的压缩,同时提高了渲染保真度。与Scaffold-GS相比,HAC++也实现了超过20倍的压缩。这些结果表明,HAC++是一种高效且实用的3D高斯溅射压缩方法。

🎯 应用场景

HAC++在三维重建、虚拟现实、增强现实、自动驾驶等领域具有广泛的应用前景。通过大幅降低3D高斯溅射模型的存储空间,HAC++使得在移动设备或云端部署高质量的3D场景成为可能,加速了相关技术的普及和应用。此外,HAC++还可以应用于三维模型的压缩和传输,提高网络带宽的利用率。

📄 摘要(原文)

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.