高斯泼溅技术-从入门到精通
自适应密度控制Adaptive Density Control训练从稀疏点云初始化经过几万步梯度下降最终得到数百万个高斯体。这中间高斯体的数量和位置是如何从初始状态演变到最终状态的答案就是本文的主题——自适应密度控制。对应原论文第5节Optimization中关于密度控制的部分这是3DGS区别于纯粹梯度下降的关键机制。目录1. 为什么单靠梯度下降不够2. 密度控制的三种操作2.1 克隆Clone2.2 分裂Split2.3 剪枝Prune3. 触发条件与阈值设置3.1 密度控制的触发时机3.2 各操作的判断阈值4. 密度控制对渲染质量的影响5. 超参数调优指南6. 参考资料1. 为什么单靠梯度下降不够纯粹的梯度下降只能移动和调整已有高斯体的参数不能凭空创造或删除高斯体。这在两种情况下会导致问题欠重建区域Under-Reconstruction场景中某些细节区域如树叶的纹理、窗框边缘初始点云太稀疏高斯体数量不够无论怎么调参也表示不好因为根本没有足够的高斯体来覆盖这些区域。梯度下降会把已有的高斯体拉向这些区域但一个太大的高斯体试图覆盖过大范围时精度必然下降。过重建区域Over-Reconstruction某些区域的高斯体不合理地变大一个高斯体试图表示太复杂的局部结构导致渲染模糊或出现伪影。自适应密度控制的作用让高斯体的分布进化——在需要的地方增殖在不需要的地方裁剪最终让高斯体的密度自然地匹配场景复杂度。2. 密度控制的三种操作2.1 克隆Clone触发条件高斯体的位置梯度∥ ∇ μ L ∥ \|\nabla_\mu \mathcal{L}\|∥∇μ​L∥超过阈值τ p o s \tau_{pos}τpos​且高斯体当前尺度较小max ⁡ ( s x , s y , s z ) ≤ τ s c a l e \max(s_x, s_y, s_z) \leq \tau_{scale}max(sx​,sy​,sz​)≤τscale​。操作在原高斯体旁边创建一个完全相同的复制体相同的μ \boldsymbol{\mu}μ,Σ \boldsymbol{\Sigma}Σ,α \alphaα, SH然后沿梯度方向轻微偏移其位置。直觉解释位置梯度大意味着这里渲染误差大需要调整尺度小意味着这个高斯体本身很小但还不够用来覆盖这个区域。克隆一个一样的放旁边用更多的高斯体覆盖同一区域增加局部密度。原始状态 克隆后 [Gs] ←大梯度 [Gs][Gs] 小高斯体复制一个放旁边一起覆盖细节区域2.2 分裂Split触发条件高斯体的位置梯度∥ ∇ μ L ∥ \|\nabla_\mu \mathcal{L}\|∥∇μ​L∥超过τ p o s \tau_{pos}τpos​且高斯体尺度较大max ⁡ ( s x , s y , s z ) τ s c a l e \max(s_x, s_y, s_z) \tau_{scale}max(sx​,sy​,sz​)τscale​。操作删除原高斯体用原协方差矩阵对应的概率分布采样两个新的中心位置生成两个尺度缩小各方向乘以1 / 1.6 1/1.61/1.6的系数的高斯体替代原高斯体。直觉解释位置梯度大 尺度大意味着一个大高斯体试图表示复杂的细节区域需要拆小。分裂后两个更小的高斯体可以各自聚焦于原来那个大高斯体覆盖范围内的不同子区域。分裂前 分裂后 [ Large Gs ] [Gs1] [Gs2] 大高斯体覆盖复杂区域 两个小高斯体各自负责子区域克隆 vs 分裂的判断逻辑高斯体小但不够密→克隆高斯体太大导致模糊→分裂。两者的判断依据都是梯度大小需要密度增加区别只在当前高斯体的尺度。2.3 剪枝Prune密度控制不只是增加高斯体还包括删除无用的高斯体条件1透明度剪枝α ϵ α \alpha \epsilon_\alphaαϵα​约0.005 0.0050.005。几乎透明的高斯体对渲染几乎没有贡献保留只会占用内存和计算资源。条件2尺度剪枝高斯体在世界坐标或图像坐标中的尺寸超过阈值。过大的高斯体通常出现在场景边界或空旷区域是浮云效应floaters的来源会在某些视角产生伪影。条件3定期不透明度重置每隔固定步数对所有高斯体的不透明度做一次强制重置乘以一个小于1的系数之后通过训练恢复。这个操作的目的是让那些位置不好的高斯体在重置后梯度大、透明度低最终在下一轮剪枝中被删除。不重置的话这些占位置的高斯体会在整个训练过程中一直存在。前瞻3DGS的密度控制是基于启发式规则的参数调整不当容易导致高斯体数量爆炸占满显存或不足欠拟合。后续工作 3DGS-MCMC2024提出用马尔可夫链蒙特卡洛方法替代这套启发式规则让密度控制变成一个有原则的概率推断过程。3. 触发条件与阈值设置3.1 密度控制的触发时机密度控制不是每一步训练都做而是按固定间隔执行操作频率克隆 / 分裂Densification每densification_interval 100步剪枝Pruning每次Densification时同时执行不透明度重置Opacity Reset每opacity_reset_interval 3000步停止Densification从第densify_until_iter 15000步之后停止这个节奏意味着前15000步是高斯体数量快速增长的阶段之后只有剪枝高斯体数量逐渐减少并稳定。3.2 各操作的判断阈值参数名默认值含义densify_grad_threshold0.0002触发克隆/分裂的位置梯度阈值percent_dense0.01区分克隆和分裂的尺度阈值相对于场景尺寸min_opacity0.005透明度剪枝阈值max_screen_size20像素图像空间尺寸超过该值的高斯体被剪枝梯度累积方式位置梯度不是单步梯度而是最近densification_interval步的梯度均值绝对值。累积后求平均能更稳定地判断哪些区域真正需要增加密度避免被单步的噪声梯度误触发。4. 密度控制对渲染质量的影响通过训练日志中高斯体数量的变化曲线可以看出密度控制的效果高斯体数量对数尺度 1M | ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙趋于稳定 | ∙∙∙∙ 500K| ∙∙∙∙ | ∙∙∙∙ 200K| ∙∙∙∙ | ∙初始点云 50K|___________________________________________▶ 训练步数 0 2k 4k 6k 8k 10k 12k 15k 30k ← 快速增长阶段 →|← 密度稳定阶段仍有微量剪枝→高斯体数量的快速增长阶段正是场景细节逐渐丰富的阶段——从远看轮廓正确但模糊到近看也能看清纹理和边缘细节。密度控制参数调得太激进densify_grad_threshold过小高斯体数量爆炸显存耗尽训练崩溃。密度控制参数调得太保守densify_grad_threshold过大高斯体不够细节丢失PSNR偏低。opacity_reset_interval的作用如果这个值太大重置频率太低“僵尸高斯体”位置不好但透明度已经学到较高值的高斯体会一直存在。适当频率的重置是避免高斯体数量虚高的保障。5. 超参数调优指南不同场景有不同的最优配置以下是一些经验规律室内近景场景如NeRF-Blender合成数据集# 场景规模小点云密可以适当提高梯度阈值python train.py-sdata/nerf_synthetic/lego\--densify_grad_threshold0.0002\# 默认值--densification_interval100# 默认值室外无约束场景如Mip-NeRF360数据集# 背景无限远高斯体数量多建议保守一些python train.py-sdata/360_v2/garden\--densify_grad_threshold0.0003\# 适当提高阈值减少高斯体数量--densify_until_iter20000# 可适当延长密度增长阶段高斯体数量过多显存不足的应对方案提高densify_grad_threshold减少密度增长触发频率降低densify_until_iter更早停止密度增长降低max_screen_size更积极地剪枝大高斯体降低训练分辨率减少图像空间计算量同时间接影响高斯体尺度阈值渲染结果有大量浮云场景边缘的噪声点降低max_screen_size或在训练后单独运行一次剪枝脚本。前瞻自适应密度控制的一个根本问题是它依赖梯度信号来判断哪里需要更多高斯体而梯度信号本身就有噪声。Gaussian Opacity Fields2024提出用不透明度场来驱动密度控制比纯梯度信号更稳定。另一个方向是 Compact3D2024通过在损失函数里加入高斯体数量的惩罚项让模型在训练过程中自动学习稀疏性而不依赖手动设定的阈值。6. 参考资料Kerbl, B. et al. (2023). 3D Gaussian Splatting.SIGGRAPH 2023. https://arxiv.org/abs/2308.04079 — 原论文第5节OptimizationKheradmand, A. et al. (2024). 3D Gaussian Splatting as Markov Chain Monte Carlo. https://arxiv.org/abs/2404.09591 — 用MCMC替代启发式密度控制Fan, Z. et al. (2023). LightGaussian: Unbounded 3D Gaussian Compression with 15x Reduction and 200 FPS. https://arxiv.org/abs/2311.17245 — 高斯体压缩与剪枝的后续工作Yu, Z. et al. (2024). Gaussian Opacity Fields: Efficient Adaptive Surface Reconstruction in Unbounded Scenes. https://arxiv.org/abs/2404.10772下一篇07 损失函数与优化策略

相关新闻

HarmonyOS7 启动优化:冷启动从 3 秒降到 1 秒的 5 个技巧

HarmonyOS7 启动优化:冷启动从 3 秒降到 1 秒的 5 个技巧

文章目录前言冷启动 vs 热启动优化 1:延迟加载优化 2:减少 onCreate 逻辑优化 3:预加载优化 4:布局优化优化 5:懒初始化效果对比写在最后前言 我们的 App 上线后第一周,用户反馈最多的不是功能 bug&#x…

2026/10/26 7:12:57 阅读更多 →
测试文章 001122 - 请忽略

测试文章 001122 - 请忽略

这是一篇测试文章,用于验证账号状态,将立即删除。

2026/10/27 11:53:35 阅读更多 →
800G/1.6T交换机时代:通信PCB打样挑战与应对

800G/1.6T交换机时代:通信PCB打样挑战与应对

800G/1.6T交换机时代:通信PCB打样挑战与应对随着AI算力需求的快速增长与数据中心规模的持续扩张,800G与1.6T高速交换机正从技术验证阶段走向规模化部署。这一速率跃升不仅对芯片架构和系统设计提出了更高要求,更对作为信号传输核心载体的**PC…

2026/10/27 6:32:29 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/10/26 12:00:21 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/10/27 4:06:49 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/10/27 7:21:53 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/10/26 12:00:21 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/10/27 6:20:47 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/10/27 4:06:50 阅读更多 →

日新闻

周新闻

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 12:00:19 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/27 7:21:50 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/26 8:34:37 阅读更多 →