
AD-GS 的核心是把 3DGS 的“致密化(densification)”做成高/低两个相互交替的阶段:
经典 3DGS 在多视角密集监督下很强,但输入视角稀疏时会出现:

训练由三个阶段按周期交替进行(两套 3DGS 模型并行训练,用于后续的一致性约束):
Warm-Up 预热:仅用光度损失(L1 + SSIM)分别训练两套模型,得到稳定初始化。
低致密化阶段(Low-Dfn,几何整形)
强剪枝:提高不透明度阈值,去除低 α 的可疑高斯;
慢致密:提高梯度阈值,放缓克隆/分裂;
几何正则(本阶段才启用)
高致密化阶段(High-Dfn,细节恢复)
关键设计:几何正则只在低致密化阶段使用。若全程使用,会抑制细节(论文对比 CoR-GS 的平滑问题即源于此)。



高致密化阶段仅用
# 两套模型 G1, G2;循环交替执行
for phase in training_schedule:
if phase == "warmup":
# 仅光度损失
train(G1, loss=L_ph); train(G2, loss=L_ph)
elif phase == "low_densify":
# 强剪枝 + 慢致密
prune_with_high_alpha_threshold(G1); slow_densify(G1)
prune_with_high_alpha_threshold(G2); slow_densify(G2)
# 几何正则:伪视角一致 + 边缘感知深度平滑
u = make_pseudo_view(perturb(train_view))
train(G1, loss=L_ph + L_tds(G1,u) + L_pseudo(G1,G2,u))
train(G2, loss=L_ph + L_tds(G2,u) + L_pseudo(G1,G2,u))
elif phase == "high_densify":
# 快致密(积极克隆/分裂),仅光度
fast_densify(G1); train(G1, loss=L_ph)
fast_densify(G2); train(G2, loss=L_ph)
实现提示:
slow_densify/fast_densify通过梯度范数阈值控制;prune_with_high_alpha_threshold用更高 α 阈值清除半透明“浮游物”;- 伪视角
u可对训练相机做小幅位姿扰动生成。

AD-GS 的创新在于:不依赖外部深度,只靠训练节律和损失编排,就能兼顾细节与几何稳定。
双模型并行:保证显存,或降低分辨率/批量。
阈值与节律:
伪视角生成:对训练视角做小扰动(平移/旋转少量),避免与训练分布偏离过远;
损失权重:
工程化:把致密化与剪枝封装成策略类,便于切换“高/低模式”;深度平滑用渲染深度直接计算梯度即可。
AD-GS 用简单而有效的训练节律设计,把稀疏视角 3DGS 中“细节恢复”和“几何稳定”这对老难题,做到了同向提升。如果你在少视角、含弱纹理场景里一直被浮游物和过平滑折磨,不妨把“交替致密化 + 阶段性几何正则”的套路搬进你的代码仓。
参考论文:AD-GS: Alternating Densification for Sparse-Input 3D Gaussian Splatting(ACM TOG,2025,arXiv:2509.11003)
