"We introduce Gaussian-enhanced Surfels (GESs), a bi-scale representation for radiance field rendering, wherein a set of 2D opaque surfels with view-dependent colors represent the coarse-scale geometry and appearance of scenes, and a few 3D Gaussians surrounding the surfels supplement fine-scale appearance details. The rendering with GESs consists of two passes – surfels are first rasterized through a standard graphics pipeline to produce depth and color maps, and then Gaussians are splatted with depth testing and color accumulation on each pixel order independently. The optimization of GESs from multi-view images is performed through an elaborate coarse-to-fine procedure, faithfully capturing rich scene appearance. The entirely sorting-free rendering of GESs not only achieves very fast rates, but also produces view-consistent images, successfully avoiding popping artifacts under view changes. The basic GES representation can be easily extended to achieve anti-aliasing in rendering (Mip-GES), boosted rendering speeds (Speedy-GES) and compact storage (Compact-GES), and reconstruct better scene geometries by replacing 3D Gaussians with 2D Gaussians (2D-GES). Experimental results show that GESs advance the state-of-the-arts as a compelling representation for ultra-fast high-fidelity radiance field rendering. Code and the interactive web viewer are available online."
- 缺口的形状在一处「从没打算改」的地方:排序。3DGS 用带视角相关色的稀疏 3D 高斯建模辐射场,靠可微光栅化与 α 混合拿到当前最好水平的画质与高分辨率下的实时帧率;而 α 混合要求对高斯做深度排序,逐像素精确排序计算很贵[§1, p1]。
- 3DGS 的做法是近似它:用整幅图一次性的 tile 级预排序替掉逐像素排序。原文对这一处取舍的判词是:在保住高渲染速度的同时,这种近似可能产生视角不一致的图像:表现为视角变化时斑块状的颜色出现与消失,也就是跳变伪影(popping artifacts)[§1, p1]。
- 缺口的判词由此定死:需要一套既不排序、又保住画质与速度的表示。本篇给出的答案是把它拆成两层,让排序无处可排。
- 本体主张是一条「分尺度的分工」:粗尺度用一组带视角相关色的 2D 不透明 surfel,构成surfel radiance field,负责场景的粗尺度几何与外观;细尺度用环绕这些 surfel 的少量 3D 高斯,构成 volumetric radiance field,补 surfel 表达不好的细节[§1, p1;§3, p3]。
- 这条分工背后是作者的一个观察(原文称 key observation,并有图可看):surfel radiance field 已经能抓住场景外观的主要部分,而高斯辐射场有效地增强了细尺度细节;两层合成后画质可与当前最好水平竞争[§1, p1]。
- surfel 的定义要先立住:它是局部 XY 平面上的一个 2D 单位圆盘,属性是位置
p_i ∈ R³、旋转四元数r_i ∈ R⁴、各向异性缩放s_i ∈ R²与球谐系数SH_i;变换到世界空间靠依次施加缩放、旋转、平移。原文特意点出它与 2DGS 的 2D 高斯形式相似,唯一差别是本篇的 surfel 完全不透明[§3, p3]。 - surfel 上「处处同色」这件事既是它的优点也是它的麻烦。整块 surfel 的颜色取「surfel 中心指向相机位置」方向的球谐色
c_i = Y(‖o − p_i‖, SH_i)(原文式 (1))[§3, p3]。优点是不需要逐点着色;麻烦在第 5 章:颜色处处相同,意味着几何动一点,颜色要么完全不变、要么突然全变。 - 渲染分两趟,顺序不能反。第一趟(surfel pass)走标准图形管线:算 surfel 片元深度、用 z-buffer 做深度测试、写出通过测试的片元颜色,得到颜色图
C_s与深度图D_s。第二趟把高斯泼溅到屏幕,逐像素累加颜色与权重,并且用D_s对高斯再做一次深度测试[§3, p3–p4]。 - 第二趟那次深度测试是「遮挡」的来源:中心深度没通过与
D_s的深度测试的高斯,不参与该像素的颜色累加:也就是说,被 surfel 所表示的几何遮住的高斯会被剔除[§1, p1;§3, p4]。这一句是第 9 章与 SortFreeGS 对照时的判词根据。 - ε 是一个必须调的常数,作用很具体:式子里写成
1(d_i < d_s(x̂) + ε)的指示函数,ε 是防止贴近表面的 3D 高斯被错误截断的小正数;此外还有一处与 3DGS 一致的处理:投影后的不透明度 α_i(x̂) < 1/255 时被截断为 0[§3, p4]。 - 权重累加与最终合成各一条式子:高斯颜色累加
C_G与高斯权重累加W_G用同一套指示函数与 α_i(原文式 (2)、式 (3)),而最终图像是surfel 颜色图与高斯图像的加权组合:C = (C_s·W_s + C_G)/(W_s + W_G),其中W_s = 1是 surfel 颜色的固定权重(原文式 (5))[§3, p4]。 - 「完全不排序」这句话的根据在这里:因为 3D 高斯的颜色是「按权重累加并归一化」的,整个过程不需要知道高斯的先后 ⇒ 整条 GES 渲染管线完全不需要排序 ⇒ 既绕开了高斯排序这个计算瓶颈、拿到极快的帧率,又成功避开了视角变化下的跳变伪影[§3, p4]。这一句是全篇的主结论,也是标题之外最该记住的一句。
- 优化是「由粗到细」两段:输入是一组静态场景的多视角图像、相机由 SfM 标定;粗阶段优化不透明 surfel 重建粗尺度几何与外观;细阶段把 surfel 的几何属性(p_i、r_i、s_i)冻结,加入 3D 高斯,与 surfel 的 SH 系数联合优化[§4, p4]。「几何由粗阶段决定」这条因果要写清。
- 粗阶段撞上的是一道结构性障碍:surfel 上的颜色处处相同,所以「从几何参数到像素颜色」的前向过程不可微:几何改变要么不引起颜色变化、要么引起突变(例如 0 → c_i)。原文给的判断是:直接从不透明 surfel 的图像颜色损失去优化它,非常困难[§1, p1;§4.1, p4]。
- 绕过它的办法是全篇最巧的一步:引入一个不透明度调制参数 w_i,让半透明的 surfel 逐步演化成不透明的:
α_i(x,y) = min(1, w_i·G(x,y)),其中G(x,y) = exp(−(x²+y²)/2)(原文式 (6)、式 (7))[§4.1, p4–p5]。 - 这个参数的三个取值区间各有含义:
w_i < 1时 surfel 就是一个 2D 高斯;w_i 增大时从中心向外逐渐变得更不透明;w_i = 255时,在G(x,y) > 1/255的范围内不透明度恒为 1、范围外为 0 ⇒ 结果是一个半径 r = √(2 ln 255) ≈ 3.3 的圆盘,盘内不透明度均匀为 1[§4.1, p5](图 4-1 画的正是 α_i(x,y) 随 w_i 变化的形状)。 - 为什么这样就能拿到梯度:优化期间 surfel 的外环是半透明的、且服从高斯分布的不透明度,于是基于颜色的梯度可以反传到 surfel 的几何参数上;随着 w_i 增大,半透明区域逐渐收缩,几何逐渐稳定,直到半透明 surfel 变成完全不透明的[§1, p1;§4.1, p5]。优化从 w_i = 0.1 起(此时每个 surfel 就是一个 2D 高斯),并且当所有 surfel 的 w_i 都超过 30 之后启用 4× 超采样(为了在半透明区域拿到更多梯度、同时做抗锯齿)[§4.1, p5]。
- 优化期还有一处「不能不做但做了又不准」的事:用 α 混合渲染半透明 surfel 需要深度排序;逐像素精确排序太贵,而照 3DGS 那样按 surfel 中心的 tile 级排序不准,会让最终的不透明 surfel 互相穿插、并降低重建质量。原文据此设计了更省的那条近似(依据是「w_i 很大时最前面的 surfel 对像素贡献最大」)[§4.1, p5–p6]。
- 细阶段除了联合优化,还要合成两张图:由 surfel 深度图
D_s与法线图N_s,用与高斯累加同构的加权和算出高斯侧深度D_G与法线N_G(原文式 (10)、式 (11)),再合成平滑深度D_smooth与平滑法线N_smooth(原文式 (12))[§4.2, p6]。法线这一路在第 11 章有专门的定性对照(图 10-1)。 - 四个扩展各是一句话的事,但要分开写:Mip-GES 抗锯齿:把高斯泼溅的滤波算法与 surfel 光栅化的标准多重采样抗锯齿(4×MSAA)合起来(原文式 (17)、式 (18) 是滤波核与物体空间下的滤波形式);Speedy-GES 加速:用 Hessian 剪枝分数(原文式 (9))大幅削减高斯数;Compact-GES 紧凑存储:照 C3DGS 的做法把两层的 SH 换成哈希网格查询,并量化 surfel 与高斯的缩放与旋转;2D-GES 更好几何:把 3D 高斯换成 2D 高斯[§1, p1;§6.1–6.4, p5–p6]。原文给的压缩读数是 20 倍以上存储压缩、画质只掉一点[§6.3, p6]。
- 主结果的画质那一面要靠一张大表读:表 8-1(原文 Table 1)是 20 行 × 13 列:四个数据集各带
SSIM↑/PSNR↑/LPIPS↓三个指标。读它有两条硬规矩:带*的行是用作者自己复现的代码评测的(表注写明),不是原作者的官方读数;而同一方法不要跨数据集横比[表 8-1 的注, p7]。 - 速度与存储那一面是三项独立读数:帧率 3D-GES 675 fps@1080p / 233 fps@2160p、Speedy-GES 1135 / 348(表 10-1);存储 3D-GES 366MB 对 3DGS 的 734MB(不到一半),按 SpeedySplat 同一策略剪枝后再降约 50%,Compact-GES 47MB 对 C3DGS 的 49MB;跳变另有一张表(表 10-2)与一张定性图(图 12-1)[§7.1, p7–p11]。「快」的来路要分开写:不排序省掉的是计算瓶颈,剪枝省掉的是高斯数,两者不是同一笔账。
- 几何那一侧要给三条证据:surfel 法线图
N_S的定性对照(图 10-1);2D-GES 对 2DGS 的网格对照:原文指出 2DGS 重建出的网格在光泽表面上会出现空洞(图 11-1);以及 DTU 数据集上的 chamfer distance(表 11-1)[§7.1, p9–p10]。「显式几何」这条好处要按「作者主张」写:原文把它写成「可用于阴影投射与物理碰撞」,但正文没有给这两件事的实验。 - 边界与反例共 12 条(三条作者自陈 + 九条口径边界,独立成节)。三条自陈是:训练时间比 3DGS 长 1.3×–1.6×(主因是 surfel 优化本身);不透明 surfel 抓不住镜面反射:3DGS 可以靠大量低不透明度高斯把反射「糊」出来,本篇没有这个能力,这类表面画质因此下降(原文给的补救方向是射线追踪或环境贴图,图 17-1 是这条局限的证据);与 3DGS 共享初始化敏感性:真实场景里用随机初始化点而非 SfM 点时重建质量下降(原文给的补救方向是 3DGS-MCMC 的确定性状态转移)[§8, p12]。
- 一处原文侧的排印缺失要照录不改:页脚印的是
ACM Trans. Graph., Vol. 44, No. 4, Article . Publication date: August 2025.:Article后面的文章号是空的(只有一个点);首页的ACM 0730-0301/2025/8-ART同样在ART后缺号。站内不替原文补号,出处按「Vol. 44, No. 4(August 2025)· DOI10.1145/3730925」标注,并把这两处缺失记下来。
13DGS 卡住的环节是排序,不是画质
要看清这篇论文盯的是什么,最省事的办法是先看它的 teaser 里那三组数字。teaser 排了两行、六个面板,每个面板下面都压着一行 PSNR↑ / LPIPS↓ / FPS[图 1-1]。这一栏的顺序本身就是判据:画质在前、速度在后。而面板分成两排的依据在于下面那行小字,不在画质:上排标的是 Rendering quality & speed,下排标的是 View consistency。换句话说,这篇论文要证明的不止「我更准/我更快」,还有一件在上一代方法里被牺牲掉的东西。
那件被牺牲掉的东西,来路很清楚,而且是主动换来的。 3DGS 用一组稀疏分布的 3D 高斯建模辐射场,每个高斯带视角相关的颜色,渲染靠可微光栅化与 α 混合,从而在高分辨率下拿到当前最好水平的画质与实时帧率[§1, p1]。这条路径的全部效率都压在 α 混合上,而 α 混合要求对高斯做深度排序。逐像素做精确排序在计算上很贵,所以 3DGS 的做法是用整幅图一次性的 tile 级预排序去近似它[§1, p1]。
近似是有价格的,价格在视角变化时才显形。 原文对这一处的判词写得很克制:在保住高渲染速度的同时,这种近似可能产生视角不一致的图像;具体的表现是视角变化时斑块状的颜色出现与消失,这就是跳变伪影(popping artifacts)[§1, p1]。这里值得停一下:它的表现是「同一块颜色忽然有了、忽然没了」,而不是画面变糊或变噪:它破坏的是跨视角的一致性,而不是单帧的观感。
所以缺口的判词落在两个约束的交点上:需要一套不需要排序、但画质与速度都保住的表示。本篇给出的答案,是一处分尺度的分工:把场景拆成粗尺度与细尺度两层,让「排序」这件事在结构上无处可排——因为两层各自都不需要知道对方的先后。这个「为什么要拆两层」的判词,是第三章的主题;而「拆了之后为什么就能不排序」,是第四章的主题。
先说清本篇动手的位置,因为它很容易被读偏。 本篇没有改高斯(细尺度用的就是 3DGS 的那套属性)、也没有改 α 混合(细尺度那一层仍然是按不透明度加权累加)。它换掉的是几何那一层的载体与两层的合成方式:用不透明的面片去承载粗尺度几何与外观,再让高斯的累加变成一次与顺序无关的加权平均。所以准确的说法是:这篇论文不动「怎么着色」,动的是「谁来决定前后」,并顺手把「前后」这个问题取消掉。
3DGS[Kerbl et al. 2023]、SpeedySplat[Hanson et al. 2024]、SortFreeGS[Hou et al. 2024a]与 StopThePop[Radl et al. 2024];六个面板各压一行 PSNR↑ / LPIPS↓ / FPS(例如 3D-GES 是 26.77/0.201/762,3DGS 是 26.58/0.210/204,SpeedySplat 是 26.68/0.288/1269),并有两组行标:上排 Rendering quality & speed、下排 View consistency(后者对应两个相邻视角 t 与 t+1)。②读法(怎么读):先按行读判据、再按列读方法:上排读 PSNR/LPIPS/FPS 三项,下排读「视角一变,画面有没有跳」;不要把它读成本方法的胜利榜:SpeedySplat 的 FPS 到了 1269 而画质与 LPIPS 都更差,3DGS 在 FPS 那栏只有 204。③对照:与图 2-1 连起来读,那一张把本篇的表示按「粗/细/合」拆开;与图 12-1 连起来读,那一张把跳变伪影单独放大来比;与图 6-1、图 7-1、图 8-1 连起来读,那三张分别是对 SpeedySplat、AbsGS、SortFreeGS 的单独对照。④落点:这张图承载的是三件主张的合取(画质有竞争力、速度极快、视角一致),任何一件单看都不能从这一张图得出结论:它是目录页,不是证据链。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 1(p.0)· 未修改引用(原样引用,署名保留)
2前人怎么绕排序:加权和、剪枝、tile 优化、准不透明高斯
要看懂本篇的位置,得先把「别人怎么处理排序」这条线上的四类做法摆齐。原文的相关工作分了四节,其中第四节(3D Gaussian Splatting)与我们这篇的关系最近,第一节里则藏着一条最像本篇的前身。
第一条线是传统的光场与重建,其中「表面光场」最像本篇。 传统的自由视点合成从稠密采样的图像里构造光场;随着运动恢复结构(SfM)与多视图立体(MVS)的发展,从一组照片里做完整三维重建成为可能,此后出现了一批视图合成方法[§2.1, p2]。原文把其中的表面光场挑出来当作与本篇关系最密切的表示:它表示「从表面上任意点、沿任意方向发出」的辐射;但构造表面光场需要高分辨率几何与稠密图像[§2.1, p2]。差别也随之写明:本篇用带视角相关色的 surfel 去近似表面光场,用高斯去补 surfel 抓不住的细节,而且不需要高分辨率几何[§2.1, p2]。这一句是本章里最该记住的分界。
第二条线是 NeRF 及其加速分支。 NeRF 把场景表示为神经体(用 MLP 拟合视角相关的颜色与密度),通过体射线行进合成图像,代价是训练与渲染都很贵[§2, p2]。加速这条线里,InstantNGP 用一个浅层 MLP 配多分辨率哈希编码替掉深层 MLP,把训练压到几分钟;Adaptive Shells 则从 SDF 里抽出两张网格当场景边界,渲染时只在与射线相交的网格之间采样点,从而显著减少体采样数量[§2.2, p2]。这一条线管的是「体渲染太贵」,与排序无关,但它解释了为什么「用面片几何把采样范围框住」这个思路一直有市场:本篇的 Pass 1 深度图正是这个思路的另一种用法。
第三条线才是本篇真正要绕开的那条:基于点的渲染与它带来的排序问题。 原文在这一节里有三处对本篇特别要紧的对照。
其一,SortFreeGS 也做「不排序」,但它付出了颜色泄漏的代价。 它用一个加权和近似 α 混合,从而消除跳变伪影;但原文指出:因为对每个像素它都要计算射线上所有高斯的加权和,这个方法会产生被遮挡物体的颜色泄漏(color leakage)[§2.3, p2–p3]。这一条差别是第 9 章与它正面对照的判词根据,也是本篇「不排序但仍有遮挡」这句话的来处。
其二,剪枝这条线有一个反直觉的副作用。 有一批工作通过剪掉冗余高斯来加速渲染与减少存储;原文的评价是:虽然能拿到很快的渲染,但过度剪枝容易丢掉外观细节;更要紧的是:剩下的高斯对颜色的贡献变得更大,于是跳变伪影反而被加剧[§2.3, p3]。这句话把「剪枝」与「跳变」这两件看似无关的事连了起来,也解释了为什么本篇要把剪枝做成一个独立扩展(Speedy-GES)而不是默认行为。
其三,RTG-SLAM 提供了一个「准不透明高斯」的对照物。 它用不透明高斯去拟合几何与主色、用近乎透明的高斯去拟合残差色;原文特意点出两者的一处差别:它的不透明高斯中心的不透明度是 0.99、向外按高斯函数衰减,而本篇的不透明 surfel 在整块范围内不透明度恒为 1[§2.3, p3]。这是一处很小的差别,但它决定了本篇能不能给出一块颜色处处相同、且边缘有明确边界的面片:而这正是第五章那处「不可微」问题的由来。
第四条线是 3DGS 本身与它的改进。 除了排序这条主线,还有一批工作改进光栅化管线本身(例如减少屏幕空间高斯覆盖的 tile 数),但因为排序仍然作为计算瓶颈存在,它们的渲染速度慢于本篇[§2.3, p3]。原文随后把本篇与这一整族的总分界写了出来:3DGS 及其后续都用高斯构造体辐射场,而本篇用带视角相关色的 2D 不透明 surfel 构造 surfel 辐射场去表示粗尺度几何与外观,再用高斯构造体辐射场去增强细节;渲染完全不排序[§2.3, p3]。
本章最后要留一句伏笔,它在第五章兑现。 原文在讨论相关工作时特意说了「本篇的 surfel 优化与可微网格光栅化那一族相关」:那一族通常靠子像素抗锯齿、或把网格转成一堆 3D 高斯、或为每个三角面构造平滑概率图来拿到「图像损失对顶点位置」的梯度;而本篇的设计不同:它用不透明度调制参数把半透明 surfel 逐步优化成不透明的[§2.3, p3]。也就是说,本篇解决「面片几何不可微」的办法是把不透明度从软变硬,而不是去把几何变软。
3本体主张:两层结构:不透明 surfel 管粗尺度,高斯补细节
第二章摆完前人的四条线,本篇要加的那一步就显得很小:把场景按尺度拆成两层,让两层各自都不需要知道对方的先后。这一章把那个拆法说清,并把一条观察立出来:它是整套设计的立足点。
粗尺度那一层是「surfel 辐射场」。 一组带视角相关色的 2D 不透明 surfel,近似场景的表面辐射场,承担粗尺度几何与外观[§3, p3]。这里的关键词有两个:2D(是面片,不是体素也不是点)与不透明(整块范围内不透明度恒为 1)。前者让它可以走标准图形管线的光栅化,后者让它可以给出明确的遮挡关系。
surfel 的定义要立准,因为它决定了后面所有式子的形状。 一个 surfel 是局部 XY 平面上的一个 2D 单位圆盘,带一组属性:位置 p_i ∈ R³、旋转四元数 r_i ∈ R⁴、各向异性缩放 s_i ∈ R²、以及球谐系数 SH_i 表示的视角相关颜色;变换到世界空间靠依次施加缩放、旋转、平移[§3, p3]。原文特意与 2DGS 的 2D 高斯做了对照:形式相似,唯一差别是本篇的 surfel 完全不透明[§3, p3]。这句话值得单独记:它是本篇与 2D-GES 这个扩展(第 7 章)之间的分界:基础版用不透明 surfel 配 3D 高斯,2D-GES 把 3D 高斯换成了 2D 高斯,而另一侧的不透明 surfel 始终没变。
surfel 上「处处同色」这个性质,既是它省事的地方,也是它全部的麻烦。 整块 surfel 的颜色取「surfel 中心指向相机位置」方向的球谐色[式 3-1]。省事的地方在于不需要逐点着色:一块面片一个颜色,光栅化时按片元写出即可。麻烦的地方在于:几何动一点,颜色要么完全不变、要么突然全变:这一句会在第 5 章变成「前向过程不可微」这个结构性障碍。
细尺度那一层是「高斯体辐射场」。 环绕这些 surfel 的少量 3D 高斯构成一个体辐射场,用来补足 surfel 辐射场表达不好的细尺度外观细节[§1, p1;§3, p3]。每个高斯的属性与 3DGS 完全一致:中心位置 p_i、最大不透明度 σ_i、缩放 s_i、旋转 r_i 与球谐系数 SH_i[§3, p3]。「少量」这个词要留着:第 10 章里「存储只有 3DGS 的一半」这个读数,一半的原因就在这两个字上。
两层为什么能拼起来?原文给的是一条观察,而不是一条定理。 原文把这一处标为 key observation:surfel 辐射场已经能抓住场景外观的主要部分,而高斯辐射场有效地增强了细尺度细节,两层合成后能合成出与当前最好水平相当的图像[§1, p1]。这个措辞值得较真:它是一条经验性观察,原文确实给了图作为依据(图 2-1 的三块),但它不是一个「任何场景都成立」的断言。第 12 章那处机制性的适用条件(当粗尺度外观本身扛不住时,收益与画质都会退)正是从这条观察的性质推出来的。
这条分工在图上是一目了然的,这也是本篇最好用的一张图。 图 2-1 把同一视角的三次渲染并排放:只用 surfel、只用高斯、以及两层合成。它把「粗尺度扛主体、细尺度补细节」这句话从论断变成了可以指着看的东西,而且它同时解释了为什么两层都必须留着:只看单层,你就知道缺的是哪一半。
Surfel rendering/Gaussian rendering/Full GES rendering。②读法(怎么读):先看左再看中,最后看右:左侧该看的是主体结构与大块颜色是否已经在,中间该看的是它补进去了什么(细纹理、锐边、高频细节),右侧该看的是合成后有没有出现两层打架的地方。图注给的判词是:三者合起来达到高质量的视图合成。③对照:与图 3-1 连起来读,那一张把这两层画成了管线(两趟 + 深度测试);与图 14-1 连起来读,那一张是「只用 surfel 对完整渲染」的消融放大。④落点:这张图是「粗尺度扛主体」这条观察的唯一图示依据,也是第 12 章那条适用条件的注脚:引用它时不能把它读成「两层都可有可无、合起来才有意义」这个空话,它的信息量在于「缺哪一层会缺什么」。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 2(p.1)· 未修改引用(原样引用,署名保留)
4两趟渲染:一个 ε 改过的深度测试,与一条「完全不排序」的合成式
第三章把两层立了起来,这一章要把「两层怎么合成一张图」写成式子,并且把全篇那句最要紧的话:完全不排序:兑现成一条可以验算的等式。这是本篇的技术支点。
先立表示,再谈渲染。 粗尺度是 surfel 集合 S = {p_i, r_i, s_i, SH_i},细尺度是高斯集合 G = {p_i, σ_i, r_i, s_i, SH_i};两者的属性含义已在第三章交代。第一步是给整块 surfel 定一个颜色:取「surfel 中心指向相机位置」方向的球谐色,
式子里的 Y(·) 是球谐函数、‖·‖ 是模长、o 是相机位置[§3, p3]。这一步是「一块面片一个颜色」这件事的正式表述,它同时也埋下了第五章的麻烦:颜色只与「中心到相机」这一个方向有关,与面片上的位置无关。
渲染分两趟,第一趟完全不涉及高斯。 surfel 走标准图形管线光栅化:计算 surfel 片元的深度、用 z-buffer 做深度测试、写出通过测试的片元颜色;渲染结束后就拿到了 surfel 颜色图 C_s 与深度图 D_s[§3, p3–p4]。这一趟的意义超出「渲染粗尺度」:它同时产出了一份几何(深度图),而这份几何在第 11 章的几何账和第 12 章那条「显式几何可用于阴影与碰撞」的主张里都会出现。
第二趟才把高斯泼上去,而且要对着一张深度图做测试。 把高斯泼溅到屏幕、逐像素累加它们的颜色与权重;累加的过程中同时用 D_s 对高斯做深度测试,中心深度没通过测试的高斯被忽略[§3, p4]。写成式子,高斯侧的颜色累加与权重累加分别是
两式共用同一个指示函数 1(d_i < d_s(x̂) + ε):d_i 是高斯中心深度、d_s 是 D_s 里该像素的深度、ε 是防止贴近表面的 3D 高斯被错误截断的小正数[§3, p4]。ε 不是一个可以随手抹掉的符号:取太小,贴表面的高斯被切掉、细尺度细节丢失;取太大,本该被遮住的高斯漏进来、遮挡失效。第 12 章里有一处专门的消融就是量这一件事(图 16-1)。
单个高斯贡献多少,由一条投影后的不透明度决定,
其中 Σ 是由旋转与缩放决定的投影后协方差矩阵、p̂_i 是投影后的高斯中心、c_i 是该高斯在当前视角下的颜色;α_i 在 α_i(x̂) < 1/255 时被截断为 0,这一处与 3DGS 一致[§3, p4]。这里有一个容易读漏的细节:式 4-4 里的 α_i 是「投影后的二维不透明度」,与第五章那个「surfel 圆盘上的不透明度 α_i(x,y)」不是同一个东西:前者属于高斯,后者属于 surfel,两处的下标写法相近但对象不同。
最后是合成,而这一式就是「完全不排序」的全部根据:
即 C = (C_s·W_s + C_G)/(W_s + W_G),其中 W_s = 1 是 surfel 颜色的固定权重[§3, p4]。为什么这就叫不排序? 原文的解释只有一句,但它是全篇最关键的一句:「因为高斯的颜色是按权重累加并归一化的」:高斯那一侧贡献的是一个加权平均,而不是一个按前后顺序逐项衰减的和;加权平均与求和的顺序无关,所以整条 GES 渲染管线完全不需要排序[§3, p4]。原文随之给出这处设计的两个结果:既绕开了高斯排序这个计算瓶颈、拿到极快帧率,又成功避开了视角变化下的跳变伪影[§3, p4]。
把这一章与 α 混合那条路对照着看,差别就一句话。 α 混合算的是 Σ c_i α_i Π_{j<i}(1−α_j):每一项都要乘上它前面所有项的剩余透射率,于是顺序直接进了式子的结构。本篇算的是 Σ c_i α_i / Σ α_i:分母是权重之和、分子是加权之和,两项都对顺序不敏感。这就是这一篇的全部技术动作:把一条顺序敏感的求和,换成一条顺序不敏感的加权平均。 代价也随之而来:α 混合天然处理「前面的东西挡住后面的东西」,而加权平均不处理遮挡:所以本篇必须另找一份几何来做遮挡判断,那份几何就是第一趟的 D_s。式 4-2、式 4-3 里那个指示函数,本质上是在把 α 混合丢掉的那部分遮挡语义,用一份深度图补回来。
S = {p_i, r_i, s_i, SH_i}(i 从 1 到 N)与环绕它们的少量 3D 高斯 G = {p_i, σ_i, r_i, s_i, SH_i}(i 从 1 到 M)组成,p_i/σ_i/r_i/s_i/SH_i 分别是位置、最大不透明度、旋转、缩放与球谐系数;渲染分两趟:图内的标签给出 Pass 1(surfel 渲染,走标准图形管线,产出颜色图 C_S 与深度图 D_S)与 Pass 2(高斯泼溅,按 ε 修正过的 surfel 深度图做深度测试并累加颜色与权重)。图内还标出了 ε 与合成式的分子分母(c_s + α₁c₁ + α₂c₂ 与 1 + α₁ + α₂)。②读法(怎么读):沿箭头的方向把「数据在每一站变成了什么」念一遍:从两层参数出发,第一趟产出 C_S 与 D_S,第二趟用 D_S 做遮挡判断并产出高斯的加权平均,最后一步只做一次线性合成;图注给的判词是整条管线完全不排序。③对照:与图 2-1 连起来读(同一件事的分解视图与管线视图);与图 4-1 连起来读,那一张是 Pass 1 里那块 surfel 的不透明度形状怎么随优化变化;与式 4-1…式 4-5 连起来读。④落点:这张图是第 4 章那五条式子的几何底稿,也是全篇最该先看的一张:它把「两层、两趟、一次合成」这套结构一次讲完;它本身不含读数,正文里没有从它读出任何数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 3(p.3)· 未修改引用(原样引用,署名保留)
5不可微的那一步:不透明度调制参数怎么把透光片「烤」成不透明片
第四章把渲染写完了,但那只解决了「给定两层参数怎么出图」。剩下的一半更麻烦:这两层参数怎么从多视角图像里学出来。这一章要处理的,是这套表示唯一一处结构性障碍,以及本篇绕过它的那一步:全篇最巧的一步。
障碍的形状要先说准。 surfel 上的颜色处处相同(第 4 章的式 4-1:整块面片取「中心指向相机」那一个方向的球谐色)。于是「surfel 的几何参数变一点,像素颜色会怎么变」这件事没有中间态:几何改变要么完全不引起颜色变化(面片挪了点但仍然覆盖同一批像素),要么引起突然的变化(例如从「不覆盖」跳到「覆盖」、颜色由 0 变 c_i)。原文对这种情形的判词是:从 surfel 几何参数到像素颜色的前向过程不可微;由此得出的结论也很直接:直接从不透明 surfel 的图像颜色损失去优化它,非常困难[§1, p1;§4.1, p4]。
这里值得停一下,因为它是「为什么不能像网格那样做」的分界。 可微网格光栅化那一族也面对「面片边界对像素的影响是阶跃」的问题,它们的做法是把边界变软(子像素抗锯齿、或把三角面转成高斯、或给每个面构造平滑概率图)。本篇走的是另一条路:不把几何变软,而是把不透明度从软变硬:让 surfel 在优化早期本来就是半透明的,于是颜色变化是连续的、梯度存在;随着优化推进,再把它逐步收紧到完全不透明[§2.3, p3]。
这个「软」由一个参数控制,写成式子就是这一章的核心:
也就是 α_i(x,y) = min(1, w_i·G(x,y)),其中 G(x,y) = exp(−(x²+y²)/2),而 α_i(x,y) 在 min(α_i(x,y), G(x,y)) < 1/255 时被截断为 0[§4.1, p4–p5]。这里的 w_i 就是不透明度调制参数,取值范围 [0, 255]。半透明 surfel 的光栅化与 2DGS 一致[§4.1, p5]。
w_i 的三个取值区间各对应一件具体的事,这一段要读细。 w_i < 1 时,surfel 就是一个 2D 高斯;w_i 增大时,从中心向外逐渐变得更不透明;w_i = 255 时,在 G(x,y) > 1/255 的范围内不透明度恒为 1、范围外为 0:也就是得到一个半径 r = √(2 ln 255) ≈ 3.3 的圆盘,盘内不透明度均匀为 1[§4.1, p5]。图 4-1 画的正是这条曲线在三个 w_i 取值下的形状。把这三个区间连起来读,就知道这个参数在做一件很朴素的事:它把「半透明的高斯盘」和「不透明的圆盘」变成同一个对象的两个端点,中间的过渡全部连续。
优化怎么走,原文给了具体的时刻表。 优化从 w_i = 0.1 起步,此时每个 surfel 都是一个 2D 高斯;早期迭代里,大片半透明区域为位置与形状的优化提供有效梯度;后期迭代里逐步增大 w_i,半透明区域相应收缩,surfel 几何逐渐稳定,直到半透明 surfel 变成完全不透明的[§4.1, p5]。另有一处工程细节:一旦所有 surfel 的 w_i 都超过 30,就启用 4× 超采样:目的有两个,在半透明区域拿到更多梯度,以及做抗锯齿[§4.1, p5]。
优化期还有一件事「不能不做、但做了又不准」,原文在这里的处理值得单独写。 用 α 混合渲染半透明 surfel 需要深度排序(这是第 1 章那条缺口的原始形态,它在本篇的优化期仍然存在,只在渲染期被取消)。逐像素精确排序太贵;而照 3DGS 那样按 surfel 中心做 tile 级排序并不准,后果很具体:最终的不透明 surfel 会互相穿插,重建质量下降[§4.1, p5]。本篇据此设计了一条更省的近似,依据是一条观察:当 w_i 很大(也就是 surfel 基本不透明)时,覆盖某个像素的、最靠前的那块 surfel 对像素颜色的贡献最大[§4.1, p5–p6]。这一处的诚实之处在于:它承认了「排序问题在优化期没有被取消」,只是把代价压到可接受;而渲染期之所以能不排序,靠的是第 4 章那条「加权平均与顺序无关」的性质。
损失函数本身没有花样:
即 L_rgb = (1−λ)L1 + λL_D-SSIM,与 3DGS 一致[§4.1, p5]。这一处「没有花样」也是信息:本篇的创新不在损失设计上,它全部的巧劲都花在「让梯度存在」这件事上。
α_i(x, y) 的形状如何随 w_i 增大而改变;图内三档分别标 w_i = 1、w_i = 30、w_i = 255。②读法(怎么读):沿三档看「盘内那一段平坦区怎么长出来」:w_i = 1 时整块是标准高斯剖面(中心亮、向外平滑衰减);w_i = 30 时中心已出现一段变平的顶部;w_i = 255 时中心在一个有限半径内完全平坦(不透明度恒为 1)、之外为 0,对应原文说的半径 r = √(2 ln 255) ≈ 3.3 的圆盘。③对照:与式 5-1、式 5-2 连起来读(这正是那两式的图形);与图 3-1 连起来读,那一张的 Pass 1 里那块 surfel 用的就是这个形状;与第 5 章「优化从 w_i = 0.1 起步、并在所有 w_i 超过 30 后启用 4× 超采样」那两句连起来读:w_i = 30 这一档不是随手选的,它就是超采样的开启点。④落点:这张图是「不透明度调制」这条主张唯一的形状依据,也是理解第 12 章那处「不透明是优化出来的、不是假设出来的」这条口径边界的关键;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 4(p.4)· 未修改引用(原样引用,署名保留)
6由粗到细的后半程:冻结几何、联合优化、平滑深度与法线
第 5 章把 surfel 优化讲完了,那是「粗阶段」。这一章讲「细阶段」:加入高斯之后,两边怎么一起调,以及为什么还要顺手合成两张图。
细阶段的第一步是「冻结」,这一步的顺序不能颠倒。 原文写得直:在细阶段,surfel 的几何属性(也就是 p_i、r_i、s_i)被固定,然后加入 3D 高斯,把它们与 surfel 的 SH 系数联合优化,用来重建丰富的外观细节[§4, p4]。「几何由粗阶段决定」这条因果要写清:细阶段只调外观(两边的球谐系数),不调几何:所以场景的形状在进入细阶段那一刻就已经定了。这条设计也解释了第 12 章的一处消融为什么重要(图 13-1:两阶段对单阶段),以及为什么第 5 章那处「几何优化」要做得足够稳。
细阶段多做的一件事是「把两层的深度与法线合成起来」。 给定 surfel 的深度图 D_s 与法线图 N_s,用与高斯颜色累加同构的形式算出高斯侧的深度与法线:
两式与式 4-2、式 4-3 是同一个形状:同样的 ε 修正指示函数、同样的 α_i(x̂) 权重,只不过被累加的量从「颜色 c_i」换成了「深度 d_i」与「法线 n_i」[§4.2, p6]。然后按与最终图像同构的加权方式合成两张平滑图:
也就是 D_smooth 与 N_smooth 各按 (·_s·W_s + (·)_G)/(W_s + W_G) 合成[§4.2, p6]。为什么要做这一步? 因为它要拿来当约束:原文的用法是用 D_smooth 的梯度导出的表面法线去监督 2D 高斯(附录 A 的式 (13)–(16) 是这一路的具体损失),从而使 2D 高斯分布贴合 surfel 表面[附录 A, p13–p14]。这一处是「两层之间不止是合成、还有相互约束」的证据:如果两层只是「渲染完各出一张图再平均」,就不需要把深度与法线也做成平滑图。
到这里,整套优化的骨架齐了,可以按顺序复述一遍。 ①SfM 给出稀疏点与标定相机;②粗阶段:surfel 由 SfM 点初始化(位置与颜色取 SfM 点、缩放取到最近邻的距离、旋转随机生成),用不透明度调制参数把半透明盘收紧成不透明片;③细阶段:冻结 surfel 几何,加入高斯,联合优化两层的球谐系数,并用平滑深度与法线把 2D 高斯约束到 surfel 表面上;④渲染:按第 4 章的两趟管线出图,全程不排序[§4, p4;§4.1, p5;§4.2, p6]。第四章那句「完全不排序」是渲染期的性质,这一点在复述时要守住。
7四个扩展:抗锯齿、剪枝加速、紧凑存储、2D 高斯
基础版 GES 已经能出图,但它在四个具体的维度上还留着口子。原文的第四章之后有一节专门补这些口子(§6 EXTENSIONS),四个扩展各补一个维度,而且每一个都借用了别人现成的组件。
Mip-GES 补的是「抗锯齿」。 做法是把高斯泼溅的滤波算法与 surfel 光栅化的标准多重采样抗锯齿(MSAA)合起来,于能显著减少渲染图像里的锯齿伪影[§1, p1;§6.1, p5]。它的技术内核是把滤波搬到物体空间去做:先给出 2D 高斯投影滤波核
再把核平方中的缩放项与旋转项拼成 Σ_i + r·J⁻¹J⁻ᵀ(r 是像素滤波半径、J 是投影的雅可比、I 是单位矩阵),得到物体空间下的滤波后 2D 高斯
[§6.1, p6]。这一处的意义在于:抗锯齿靠的是把「屏幕上一个像素有多宽」翻译回「物体空间里有多大」,而不是后处理。第 12 章里有一张 3D-GES 对 Mip-GES 的定性对照(图 9-1)。
Speedy-GES 补的是「速度」,手段是剪枝。 这里用的组件是 Hessian 剪枝分数(Hanson 等人的工作):先按训练视角算每个 3D 高斯 G_i 的贡献分数
即取该高斯在各训练视角下 c·α(x̂) 的最大值(与 RadSplat 的做法类似),再用它大幅削减高斯数量,从而进一步提升渲染速度[§6.2, p5]。这一处要连着第 2 章那个反直觉的判词一起读:剪枝过狠会丢细节、并且加剧跳变伪影。本篇之所以敢把剪枝做成一个可选扩展而不是默认行为,前提是它的渲染本来就不排序:剪枝不会引入新的顺序问题,只会丢细节。这也是它敢报「1135 fps」而同时承认「画质只掉一点」的原因。
Compact-GES 补的是「存储」,走的完全是别人的路。 照 C3DGS(Lee 等人的工作)的做法:把 surfel 与高斯的球谐系数换成「从哈希网格查询颜色」,再量化两层的缩放与旋转,从而得到紧凑存储[§1, p1;§6.3, p6]。原文给的读数是 20 倍以上存储压缩、画质只掉一点[§6.3, p6]。这一处要照实写清它的性质:它是把别人的压缩方案套到自己的表示上,不是本篇提出了一套压缩方法。 第 10 章会给出它与 C3DGS 的存储对照(47MB 对 49MB)。
2D-GES 补的是「几何」,做法是换掉细尺度那一层的基元。 把 3D 高斯换成 2D 高斯(用 Huang 等人的 2DGS 那一套),从而重建出更好的场景几何[§1, p1;§6.4, p6]。它在两处出现:第 11 章有一张与 2DGS 的网格对照(图 11-1:2DGS 重建出的网格在光泽表面上会出现空洞),第 12 章有一张「有无物体空间滤波」的对照(图 18-1)。这一处与第 3 章那句「本篇的 surfel 完全不透明、而 2DGS 的 2D 高斯不是」正好接起来:2D-GES 换掉的是细尺度那一层的基元类型,粗尺度那层的不透明 surfel 始终没动。
四个扩展合起来说明一件事,值得在章末点出来。 它们分别借用了滤波(Mip-GES)、剪枝(Speedy-GES)、压缩(Compact-GES)与基元替换(2D-GES)四种现成组件,而基础表示的结构一处都没改。原文在引言里的说法是「基础 GES 表示可以很容易地扩展」[§1, p1]。这句话背后是一条设计判断:只要表示本身是「一层显式几何 + 一层体细节」这个形状,别人在细节那一层的所有改进都可以直接搬过来。
3D-GES 与 Mip-GES 的定性对照;原文对 Mip-GES 的说明是「把高斯泼溅的滤波与 surfel 光栅化的标准多重采样抗锯齿结合起来」。②读法(怎么读):盯住「细结构在高频区域的表现」:抗锯齿要处理的是采样率不够时的边缘闪烁与摩尔纹,所以该看的是细密纹理、细线条、远处高频结构的边缘是否更干净;不要去看大块区域的亮度或颜色,那些与抗锯齿无关。③对照:与图 5-1 连起来读(同一批场景在主结果里的对照);与第 12 章那六件消融连起来读,Mip-GES 是扩展而不是消融,两者的读法不同:消融回答「少了这一件会怎样」,扩展回答「加上这一件能多拿到什么」。④落点:这张图是「四个扩展各补一个维度」这条主张里「抗锯齿」那一格的图示依据;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 9(p.9)· 未修改引用(原样引用,署名保留)
8画质主结果:与七条基线摆在同一张表里
从这一章进入实测。画质这一侧的主结果全部压在一张表里,而这张表是本系列到目前为止单表信息量最大的一张:20 行 × 13 列。这一章的任务是把读它的规矩讲清,而非把数抄一遍。
表的骨架先交代。 表 8-1(原文 Table 1)的列是四个数据集:Mip-NeRF360、Deep Blending、Tanks & Temples、NeRF Synthetic,每个数据集带 SSIM↑/PSNR↑/LPIPS↓ 三个指标;表体上方还有一行数据集分组行(数据集名各跨三列)。行是七条方法:MipNeRF、Plenoxel、INGP、3DGS、SortFreeGS、SortFreeGS*、StopThePop,再加上本篇的两行 3D-GES 与 Speedy-GES[表 8-1, p7]。
**读它的第一条规矩来自表注:带 * 的行是「复现读数」,不是官方读数。 表注写明「标有 \* 的结果是用我们自己复现的代码评测的**」[表 8-1 的注, p7]。这条规矩的重要性在于:SortFreeGS* 与不带星的那一行不是同一份代码,把两行并排比较等同于比较两份实现;而跨方法比较时,带星的行与不带星的行也不该混着读。
第二条规矩是「同一方法不跨数据集横比」。 四个数据集的难度差异极大(NeRF Synthetic 是合成数据、Tanks & Temples 与 Deep Blending 是真实拍摄、Mip-NeRF360 含无界场景),所以在同一列里往下看才是合法比较:也就是说,读这张表应当按数据集分四块读,一块一块地把八条方法排个序,而不是把某条方法的四个数拿来互相印证。
第三条规矩是「先看三件指标的分工」。 PSNR 与 SSIM 越高越好、LPIPS 越低越好(表头用 ↑↓ 标注)。这三件指标在不同数据集上的判别力并不一样:合成数据上大家都很高、区分度小;真实场景的 LPIPS 区分度最大。所以读这张表时,LPIPS 那一列值得单独看一遍:它是「观感差异」这一侧最灵敏的一件。
第四条规矩是「本篇在表里有两行,区别在快慢而不在好坏」。 3D-GES 是基础版、Speedy-GES 是剪枝版;后者用画质换速度(第 7 章的式 7-3 与第 10 章的表 10-1 是这件事的两头)。读的时候要把这两行当成「同一条曲线上的两个点」,而不是「两个互相竞争的方案」。
表 8-1 量化画质对照(原文 Table 1) (原文 Table 1, p.7 · 数值取原文文字层,逐格未改)
| Datasets | Mip-NeRF360 | Deep Blending | Tanks & Temples | NeRF Synthetic | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Method\|Metric | SSIM ↑ | PSNR ↑ | LPIPS ↓ | SSIM ↑ | PSNR ↑ | LPIPS ↓ | SSIM ↑ | PSNR ↑ | LPIPS ↓ | SSIM ↑ | PSNR ↑ | LPIPS ↓ |
| MipNeRF | 0.792 | 27.58 | 0.237 | 0.15 | 29.40 | 0.245 | 0.759 | 22.22 | 0.257 | 0.951 | 33.09 | 0.060 |
| Plenoxel | 0.625 | 23.08 | 0.462 | 0.795 | 23.06 | 0.510 | 0.719 | 21.08 | 0.379 | 0.958 | 31.76 | 0.049 |
| INGP | 0.699 | 25.59 | 0.331 | 0.817 | 24.97 | 0.390 | 0.745 | 21.92 | 0.305 | 0.959 | 33.18 | 0.055 |
| 3DGS | 0.814 | 27.43 | 0.214 | 0.903 | 29.41 | 0.243 | 0.841 | 23.62 | 0.183 | 0.969 | 33.31 | 0.037 |
| SortFreeGS | 0.804 | 27.19 | 0.211 | 0.902 | 29.63 | 0.229 | 0.842 | 23.61 | 0.178 | N/A | N/A | N/A |
| SortFreeGS* | 0.790 | 27.04 | 0.263 | 0.910 | 30.22 | 0.254 | 0.825 | 23.49 | 0.223 | 0.964 | 32.72 | 0.040 |
| StopThePop | 0.816 | 27.44 | 0.217 | 0.904 | 29.69 | 0.248 | 0.843 | 23.43 | 0.178 | 0.970 | 33.32 | 0.035 |
| AdrGS | 0.792 | 26.95 | 0.259 | 0.906 | 29.88 | 0.254 | 0.836 | 23.51 | 0.203 | 0.968 | 33.24 | 0.036 |
| MipSplat | 0.815 | 27.49 | 0.214 | 0.904 | 29.48 | 0.243 | 0.846 | 23.71 | 0.158 | 0.969 | 33.33 | 0.037 |
| AbsGS | 0.821 | 27.49 | 0.208 | 0.902 | 29.65 | 0.243 | 0.851 | 23.75 | 0.167 | 0.969 | 33.32 | 0.037 |
| 3D-GES | 0.813 | 27.38 | 0.208 | 0.906 | 30.00 | 0.241 | 0.841 | 23.95 | 0.181 | 0.967 | 33.37 | 0.033 |
| Mip-GES | 0.812 | 27.42 | 0.208 | 0.906 | 30.06 | 0.239 | 0.847 | 23.97 | 0.177 | 0.969 | 33.37 | 0.032 |
| SpeedySplat | 0.782 | 26.92 | 0.296 | 0.887 | 29.32 | 0.311 | 0.818 | 23.39 | 0.241 | 0.955 | 32.50 | 0.056 |
| Speedy-GES | 0.806 | 27.07 | 0.226 | 0.908 | 30.03 | 0.247 | 0.829 | 23.73 | 0.208 | 0.962 | 32.60 | 0.043 |
| C3DGS | 0.800 | 27.03 | 0.243 | 0.906 | 29.80 | 0.258 | 0.835 | 23.40 | 0.201 | 0.968 | 33.24 | 0.034 |
| Compact-GES | 0.808 | 26.98 | 0.221 | 0.906 | 29.93 | 0.251 | 0.832 | 23.62 | 0.194 | 0.964 | 33.12 | 0.033 |
| 2DGS | 0.798 | 26.82 | 0.253 | 0.905 | 29.67 | 0.260 | 0.833 | 23.17 | 0.213 | 0.966 | 32.82 | 0.037 |
| 2D-GES | 0.808 | 26.76 | 0.219 | 0.911 | 30.02 | 0.235 | 0.834 | 22.76 | 0.190 | 0.967 | 33.24 | 0.034 |
这张表里有一格要单独标出来。 MipNeRF 行在 Deep Blending 的 SSIM↑ 格,原文文字层是 0.15;而同列的 Plenoxel/INGP 是 0.795/0.817。这一格在阶段 3a 做过核对:0.15 是 4 个字符,它的文本框宽度(14.3 pt)也正好是 4 字符的宽度(同列 5 字符的数字宽 18.5 pt),所以文字层自身是自洽的、不是「丢了字符」;但作为 MipNeRF 在 Deep Blending 上的 SSIM 仍显得偏低。站内按文字层照录、不改数,并在台账里标为「待对照原始裁图逐格确认」[表 8-1 的注, p7 与台账 §三]。
定性这一侧的对照是图 5-1。 它把五个场景(Stump、Bicycle、Train、Counter、Treehill)的渲染结果与各方法并排摆出来,作用是把表里那串数字落到肉眼可辨的差别上。读定性图有一条纪律:不要拿它去「发现」表里没有的结论。 定性对照能证的是「差距在哪些类型的区域上显形」(例如细枝、叶隙、远景纹理),而「谁在哪个数据集上多 0.5 个 dB」这件事只有表能证。
本章最后要补一句「这张表不是孤证」。 附录 D 里还有一张画质对照(图 19-1),把另外四个场景(Stump、Flowers、Bicycle、Truck)的同类比较放在一起。它的位置在附录,但它回答的是同一个问题:表 8-1 上的差距在更多场景上是否同样显形。原文把这类对照放到附录而不是正文,本身就是一处口径:正文里的图给结论,附录里的图给覆盖面。
Stump、Bicycle、Train、Counter 与 Treehill,每行把同一视角下各方法的结果并排;图注另注明本篇的 GES 表示重建出了丰富的细节。②读法(怎么读):按行读、不要按列读:同一行是同一场景的横向对照,跨行比较没有意义(五个场景的难度与内容都不同);在每一行里该看的是细结构区域(树枝、叶隙、金属反光、远景高频纹理)有没有出现糊、断、或斑块。③对照:与表 8-1 连起来读:表给数、图给位置,两者是同一次实验的两种呈现,不能当成互相独立的两份证据;与图 19-1 连起来读,那一张(附录 D)把另外四个场景(Stump/Flowers/Bicycle/Truck)的同类对照补上。④落点:这张图承载「画质与当前最好水平有竞争力」这条主张里的观感一侧;它不含读数,正文里没有从它读出任何数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 5(p.7)· 未修改引用(原样引用,署名保留)
覆盖面那一侧的证据在这里:另外四个场景,同一套对照。
Stump、Flowers、Bicycle 与 Truck;来源是附录 D(MORE COMPARISONS)。②读法(怎么读):把「需要看什么」从图 5-1 直接搬过来用:同样是按行读、同样盯细结构区域;它多出来的一层作用是覆盖面:看有没有哪个场景上出现「前五个场景没见过的失效模式」。③对照:与图 5-1 连起来读(两张构成画质定性对照的完整集合,注意 Stump 与 Bicycle 在两张里都出现,可以互为校验);与表 8-1 连起来读(表给四数据集的数,两张图给九个场景的位置)。④落点:这张图回答的是「结论在更多场景上是否同样成立」,属于覆盖面证据而不是新结论;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 19(p.14)· 未修改引用(原样引用,署名保留)
画质这一侧还有第二张表,它补的是「按指标细分」这一层。 表 8-2(原文 Table 7)在附录 D 里给出与不同方法的 PSNR 对照,是表 8-1 的补充读数。两张表的关系要说清:表 8-1 是跨四个数据集 × 三件指标的宽表,表 8-2 是把 PSNR 这一件指标单独摊开、按方法逐条列出;读法与红线一致:表 8-1 那两条规矩(带 * 的是复现读数、同一方法不跨数据集横比)在这一张上同样适用。不要把它们当成互相独立的两份证据:数据同源、口径同源,一张宽一张窄而已。
表 8-2 与不同方法的 PSNR 对照(原文 Table 7,附录 D) (原文 Table 7, p.14 · 数值取原文文字层,逐格未改)
| Mip-NeRF360 | Deep Blending | T&T | |
|---|---|---|---|
| 3DGS | 27.48 | 29.43 | 23.90 |
| MipSplat | 27.52 | 29.66 | 23.91 |
| SpeedySplat | 26.92 | 29.34 | 23.41 |
| 3D-GES | 27.38 | 30.00 | 23.95 |
9与两条「不排序」基线的正面比较
第 2 章埋了一条伏笔:SortFreeGS 也做「不排序」,但它付出了颜色泄漏的代价。这一章把这条伏笔收回。之所以自成一章,是因为它比较的是两条都想绕掉排序的路线绕法差在哪里,而不在「谁更快」或「谁更准」。
先说这条比较的正当性。 与本篇「不排序」这条主张直接对撞的有两条线:一条是同样消掉排序、但用加权和替掉 α 混合的(SortFreeGS);另一条是在光栅化那一侧做改进、以减少伪影为目标的(AbsGS)。与它们比,才谈得上「路线之争」;与 NeRF 那一族比,比的是「体渲染贵不贵」,与本篇的主题不在一处。
与 SortFreeGS 的差别,第 2 章已经写出判词:遮挡。 原文在那里的说法是:它用加权和近似 α 混合、从而消除跳变,但因为对每个像素都要计算射线上所有高斯的加权和,会产生被遮挡物体的颜色泄漏[§2.3, p2–p3]。本篇的式 4-2、式 4-3 里那个指示函数 1(d_i < d_s(x̂) + ε) 正是对这一处的回答:在做加权平均之前,先用第一趟的深度图把「被遮住的高斯」排除掉。所以两条路线的分界可以压成一句话:都是加权和,一个不带遮挡、一个带遮挡。
与 AbsGS 的差别落在「伪影处理」这一侧。 图 7-1 是这一处的定性对照,图注点名的是「更少的视觉伪影」这一栏。把这一章与第 12 章连起来读会发现一处结构上的呼应:本篇的伪影处理在累加阶段就把不该参与的高斯剔掉,而不在后处理;因此它能处理的是「被遮挡却仍被累加」这类伪影,而不是屏幕空间的闪烁或锯齿:后者归第 7 章的 Mip-GES 管。
本章的两张图要并排读,因为它们答的是同一个问题的两半。 与 SortFreeGS 对照(图 8-1)答的是「同为不排序,差别在有没有遮挡」;与 AbsGS 对照(图 7-1)答的是「同为消伪影,差别在处理在哪一阶段」。这两张图不能合起来当「全面胜出」的证据:它们各自只对着一条线、只答半个问题,完整的量化比较在表 8-1 与表 10-1、表 10-2 里。
3D-GES 与 AbsGS[Ye et al.]的定性对照,对照点落在视觉伪影的多少上。②读法(怎么读):盯着「本不该出现的颜色或碎片」有没有:伪影这类东西与大块画质无关,它出现在边界、遮挡交接处与高频区域,所以要看的是这些位置的干净程度;同时要守住一条纪律:定性图能证「差别出现在哪类区域」,不能证「差多少」。③对照:与图 8-1 连起来读:那是对 SortFreeGS 的对照,两张合起来才覆盖「不排序」这条线上的两个对手;与图 12-1 连起来读,那一张专画跳变伪影,与本图问的不是同一类伪影(跳变是跨视角时间轴上的,本图是单帧空间上的)。④落点:这张图承载「与消伪影路线相比有竞争力」这半句里的观感一侧;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 7(p.8)· 未修改引用(原样引用,署名保留)
上面那张对照的是「伪影处理在哪一阶段」,下面这张对照的是「同为不排序、有没有遮挡」—— 它才是与 SortFreeGS 那条路线的正面碰撞。
3D-GES 与 SortFreeGS[Hou et al.]的定性对照。②读法(怎么读):去找「被遮挡物体的颜色漏出来了没有」:这一路线的失效模式很具体:对射线上所有高斯做加权和时,本该被前景遮住的物体的颜色会渗进像素,表现为前景内部的透色、或本应干净的区域出现背后物体的色斑;看图时正是要盯这些位置,而不是看整体亮度或锐度。③对照:与第 2 章「SortFreeGS 用加权和近似 α 混合、因此消除跳变、但产生被遮挡物体的颜色泄漏」那句判词连起来读;与式 4-2、式 4-3 的指示函数连起来读(本篇对这一处的回答就是那个由 D_s 驱动的遮挡判断);与图 12-1 连起来读,那一张证明的是「本篇在消掉跳变这件事上没有输」。④落点:这张图是「同为不排序,差别在有没有遮挡」这条分界唯一的图示依据;引用它时不能写成「SortFreeGS 不行」:原文的判词只说了它会产生颜色泄漏,没有否定它消除跳变的成绩。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 8(p.8)· 未修改引用(原样引用,署名保留)
10速度、存储与「不跳变」:三项读数与自己的一笔账
这一章是三章「读数章」里的第一张,也是本篇卖点最集中的一处。但它最容易读错,因为「本方法更快」这句话背后有三笔互不相干的账,混在一起读就会得出错误的结论。
第一笔账是帧率,来路是「不排序」。 表 10-1(原文 Table 3)给出 1080p 与 2160p 两档帧率、存储与训练时间。原文在这一节的读数是:3D-GES 在 1080p 达到 675 fps、在 2160p 达到 233 fps;Speedy-GES 在 1080p 达到 1135 fps、在 2160p 达到 348 fps[§7.1, p8–p9]。这笔账省下的是计算瓶颈:排序被取消了,所以省下来的是「排序那一步的开销」,与场景有多复杂、高斯有多少个没有直接关系。
第二笔账是存储,来路是「两层里的细尺度层本来就不该多」。原文的读数是:3D-GES 的存储消耗不到 3DGS 的一半(366MB 对 734MB);再按与 SpeedySplat 相同的策略剪枝之后,存储开销进一步下降约 50%;最后 Compact-GES 的存储低于 C3DGS(47MB 对 49MB)[§7.1, p.9]。这笔账省下的是「高斯数量」:而且注意后半句:「按 SpeedySplat 相同的策略剪枝」这一句说明这个降幅不是本篇的独门手段,本篇在存储这一侧的原创贡献是双层结构天然少放高斯,而不是某套压缩算法。
第三笔账是「噪声」这一侧的一笔负账:也是本篇真正的题眼。 表 10-2(原文 Table 2)专门评测跳变伪影。原文在整篇里对这件事的判词始终一致:因为渲染完全不排序,视角变化时不会出现跳变伪影[§1, p1;§3, p4]。注意这一笔与前两笔性质不同:帧率与存储是「更快、更省」的正收益,而「不跳变」是修掉了一个别人没修好的缺陷:前者是量上的,后者是质上的。本篇之所以把这一条单列一张表、并放到标题(view-consistent)与图 1-1 的下排,原因就在这里。
三笔账必须分开写,因为它们的因果链不同。 不排序 ⇒ 省掉排序的计算 ⇒ 帧率上去、并且没有跳变(这是同一条因果的两个结果);双层里细尺度层的高斯少 ⇒ 存储下来、剪枝的起点也低。如果把「快」笼统地写成「因为高斯更少」,就把第一笔账说错了:删掉排序省下的开销与高斯数无关,而剪枝省下的开销与排序无关。原文在讲 Speedy-GES 时用的措辞是「进一步提升渲染速度」——「进一步」这三个字正说明这是叠加在「不排序」之上的第二笔账。
这一节还有两处必须写清的读数口径。 其一,训练时间在这一篇里是「相对」说法:原文在讨论章里给的是比 3DGS 长 1.3×–1.6×,主因是 surfel 优化要花时间[§8, p12]:表 10-1 里确有训练分钟数,但本篇在正文里强调的是这个比值。其二,帧率读数的场景口径要看表注:平均值的取法写在表注里,不要把它当成「某一个场景上跑到 1135 fps」。
表 10-1 帧率、存储与训练时间对照(原文 Table 3) (原文 Table 3, p.9 · 数值取原文文字层,逐格未改)
| FPS (1080p) | FPS (2160p) | MEM | Train | |
|---|---|---|---|---|
| 3DGS | 185 | 62 | 734 | 28 |
| SortFreeGS* | 321 | 168 | 506 | 42 |
| StopThePop | 167 | 55 | 830 | 40 |
| MipSplat | 131 | 43 | 1054 | 37 |
| AdrGS | 537 | 195 | 274 | 16 |
| AbsGS | 176 | 60 | 746 | 29 |
| SpeedySplat | 1140 | 369 | 78 | 14 |
| C3DGS | 139 | 47 | 49 | 36 |
| 2DGS | 90 | 24 | 504 | 26 |
| 3D-GES | 675 | 233 | 366 | 43 |
| 2D-GES | 718 | 247 | 343 | 52 |
| Mip-GES | 640 | 213 | 394 | 49 |
| Speedy-GES | 1135 | 348 | 185 | 36 |
| Compact-GES | 300 | 128 | 47 | 39 |
表 10-2 跳变伪影评测(原文 Table 2) (原文 Table 2, p.9 · 数值取原文文字层,逐格未改)
| STP | 3DGS | Speedy | SFGS | 2D-GES | 3D-GES | |
|---|---|---|---|---|---|---|
| LIP1↓ F | 0.037 | 0.041 | 0.043 | 0.034 | 0.032 | 0.032 |
| LIP7↓ F | 0.126 | 0.128 | 0.130 | 0.120 | 0.114 | 0.117 |
两张表的分工要在章末点明:表 10-1 答「多快、多省、训练多久」,表 10-2 答「跳变有没有」。前者是性能与代价,后者是质量缺陷的消除。本篇的自我定位是两条都要:这也是它在引言里同时报「675 fps」与「成功避开跳变伪影」的原因[§1, p1]。
速度这一侧的定性对照有两张,先看剪枝版与它的直接对手,后面再看跳变那一张。
Speedy-GES 与 SpeedySplat[Hanson et al.]的对照;SpeedySplat 正是本篇借用的 Hessian 剪枝分数的出处,所以这一张是「同一套剪枝工具,用在不同表示上」的对照。②读法(怎么读):这次要同时看画质与速度两栏:剪枝这一侧的交易是「用画质换速度」,只看速度会把「掉的那一点画质」读没;图注给出的判词是速度与画质两侧的综合表现。③对照:与表 10-1 连起来读(图是定性、表是读数,同一次实验的两种呈现);与第 2 章「过度剪枝会丢细节、并加剧跳变伪影」那句连起来读:本图是在没有加剧跳变的前提下做的对照(因为本篇不排序)。④落点:这张图承载「Speedy-GES 进一步提速、且画质只掉一点」这条读数的观感一侧;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 6(p.7)· 未修改引用(原样引用,署名保留)
上面那张是「更快」这一侧,下面这张才是本篇题眼的正面证据:跳变伪影到底还在不在。
2D-GES 与 3D-GES 都因为本篇的不排序渲染而实现了视角一致的渲染。②读法(怎么读):这一类伪影只能「跨视角」看:它是视角变化时同一块颜色忽有忽无,因此在单帧上看不出来;读图时应当沿一组相邻视角走(图 1-1 下排那组 t 与 t+1 就是这个意思),去找同一区域在不同视角下是否保持一致。③对照:与图 1-1 的下排连起来读(那张是同一判据的六方法横比);与图 15-1 连起来读:那一张是消融(有/无排序的对照),本图是多方法对照,回答的问题不同;与表 10-2 连起来读(那张是这件事的量化面)。④落点:这张图是本篇最核心主张(渲染完全不排序 ⇒ 视角一致)的可视化证据,也是「值得把这一篇读完」的那个理由;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 12(p.11)· 未修改引用(原样引用,署名保留)
11几何:深度、法线与两张网格账
第 1 章说过,本篇「不排序」之外的第二个收益是surfel 层天然给出显式几何与粗尺度深度。这一章是那一条主张的证据页,也是全篇最容易被写成空话的一章:因为「有几何」这件事本身不是结论,能拿几何做什么才是。
先看这条主张的原始措辞,它比一般宣传克制得多。 原文在讨论章里说的是:与 3DGS 相比,本篇提供显式几何、并且能高效计算粗尺度深度,这两件对阴影投射与物理碰撞可能有用[§8, p12]。notice 这句话的两个修饰:一个「显式几何」是对比项(3DGS 的几何是隐式的、要额外提取),一个「粗尺度深度」是限定项(它有几何,但分辨率在粗尺度那一层)。这一章的读法要据此定:它证的是「几何存在且可用」,不是「几何足够准到能替代重建」:后者要去看表 11-1 的 chamfer distance。
这一侧的第一件证据是法线图。 用第 6 章的式 6-2、式 6-3 合成出的 N_smooth 可以得到 surfel 表面法线,图 10-1 把它与渲染出的法线并排对照。这一处的意义是把第 6 章那步「合成平滑深度与法线」从「为什么做」落到「做出来长什么样」:只有法线靠谱,拿它去监督 2D 高斯(附录 A 的式 (13)–(16))才成立。
第二件证据是网格,而这一处有一个「换掉基元才出现的能力」。 2D-GES 把细尺度那层的 3D 高斯换成 2D 高斯,从而能重建出更好的几何;图 11-1 是它与 2DGS 的网格对照,原文在这一处指出一件具体的事:2DGS 重建出的网格在光泽表面上会出现空洞[§7.1, p10]。这一句要照实写:它说明的是 2D-GES 在这些表面上更完整,不等于说 2D-GES 在所有表面上都更好:第 12 章里有一张「2D-GES 有无物体空间滤波」的消融(图 18-1),那一张才是 2D-GES 内部的自省。
第三件证据是量化账,也就是表 11-1。 表 11-1(原文 Table 4)在 DTU 数据集上用 chamfer distance(CD) 评测几何质量;表注写明「我们使用中央深度」这一处口径[表 11-1 的注, p.10]。这一处口径要写清:几何质量是从渲染出的深度图提取后算的,不是从原始点云算的:所以它量的是「这套表示能给出多准的深度」,而不是「重建算法能给出多准的点云」。
表 11-1 几何质量对照(DTU 上的 chamfer distance,原文 Table 4) (原文 Table 4, p.10 · 数值取原文文字层,逐格未改)
| Scan | 24 | 37 | 40 | 55 | 63 | 65 | 69 | 83 | 97 | 105 | 106 | 110 | 114 | 118 | 122 | Mean |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3DGS | 2.14 | 1.53 | 2.08 | 1.68 | 3.49 | 2.21 | 1.43 | 2.07 | 2.22 | 1.75 | 1.79 | 2.55 | 1.53 | 1.52 | 1.50 | 1.97 |
| 2DGS | 0.48 | 0.91 | 0.39 | 0.39 | 1.01 | 0.83 | 0.81 | 1.36 | 1.27 | 0.76 | 0.70 | 1.40 | 0.40 | 0.76 | 0.52 | 0.80 |
| 3D-GES | 0.56 | 0.89 | 0.49 | 0.37 | 1.15 | 0.96 | 0.82 | 1.35 | 1.28 | 0.80 | 0.67 | 1.51 | 0.47 | 0.87 | 0.58 | 0.85 |
| 2D-GES | 0.52 | 0.73 | 0.41 | 0.38 | 1.19 | 0.88 | 0.78 | 1.26 | 1.18 | 0.69 | 0.66 | 1.47 | 0.44 | 0.80 | 0.52 | 0.79 |
本章最后一张图放在附录 C,但它正好是「几何与画质同源」这句话的证据。 它把 Garden 场景的渲染结果与 L1 损失并排可视化出来:损失大的地方往往就是几何与外观都吃紧的地方。这一张在读法上有特殊性:它看的是误差在空间上怎么分布,而不在「好不好看」,属于诊断用图,不是结果图。
surfel 法线图 N_S 的定性对照(N_S 对应式 6-2、式 6-3 那一路合成出的平滑法线)。②读法(怎么读):看法线要看法线的两个性质,而不是看它好不好看:一是大面是否平整(同一平面上法线应当一致,出现碎花说明几何噪),二是边界是否干净(物体轮廓处的法线该断则断,糊在一起说明几何不准);这两条恰好也是拿它去监督 2D 高斯时最要紧的两条。③对照:与式 6-2、式 6-3 连起来读(本图是那两式的产物);与附录 A 的式 (13)–(16) 连起来读(法线在图 10-1 里是结果,在附录 A 里是监督信号);与第 12 章那条「显式几何可用于阴影与碰撞是作者主张、正文没有实验」的口径边界连起来读:本图属于「几何存在且可用」这一侧,不属于「几何足够准」那一侧。④落点:这张图是第 6 章那步「合成平滑深度与法线」的可视化依据;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 10(p.9)· 未修改引用(原样引用,署名保留)
上面那张是粗尺度那一层自己的几何,下面这张是「把细尺度那层换成 2D 高斯之后」的几何:后者正是 2D-GES 这个扩展存在的理由。
2D-GES 与 2DGS[Huang et al. 2024]的对照,并点出一件具体的事:2DGS 重建出的网格在光泽表面上会出现空洞。②读法(怎么读):去光泽表面那几块看「面片是否连续」:空洞是拓扑性的缺陷(该有面的地方没有),与「表面糙一点」性质不同,看图时要找的是破洞与缺失面;同时要意识到这是网格的对照,不是渲染图,所以看的不是颜色。③对照:与第 3 章「本篇的 surfel 完全不透明、而 2DGS 的 2D 高斯不是」那句连起来读(这是两个表示最本质的差别);与图 18-1 连起来读,那一张是 2D-GES 内部「有无物体空间滤波」的消融,本图是 2D-GES 对外部方法的对照,两者回答的问题不同;与表 11-1 连起来读(图给位置、表给读数)。④落点:这张图承载 2D-GES 这个扩展的存在理由;引用它时不能扩写成「2D-GES 几何全面更好」:它证的是光泽表面这一类的网格完整性。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 11(p.10)· 未修改引用(原样引用,署名保留)
沿这条几何线索再往下一层,还有一张诊断图:它把渲染结果与 L1 损失并排摆出来,看的是误差在地图上的分布。
VISUALIZATION OF OPTIMIZATION)。②读法(怎么读):把损失图当「误差地图」读,不当「结果图」读:要找的是误差在空间上的聚集位置(例如细枝、叶隙、远处高频纹理),以及这些位置是否与本篇那两层表示各自的短板对得上(粗尺度几何错了会成大块误差,细尺度细节漏了会成点状误差)。③对照:与图 10-1、图 11-1 连起来读(同为几何/误差这一侧,本图给的是空间分布);与图 5-1 连起来读,那张给的是观感、本图给的是误差位置,两者对同一场景的回答角度不同。④落点:这张图是附录 C 的唯一图,性质是诊断图(原文归入「优化的可视化」),用来支持「误差是可解释的」这一点;它不含读数,正文里没有从它读出数字、也不逐点读值。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 21(p.15)· 未修改引用(原样引用,署名保留)
几何这一侧的覆盖面证据与法线、网格那两张同属一条线索,但它把场景换成了另外两个。
Garden 与 Bicycle;来源是附录 D。这是本篇版心面积最大的一张图(含表注在内 511.7×396.0 pt)。②读法(怎么读):沿「表面是否连续」这条线索读(与图 11-1 同一条): 看的是几何的完整性(有没有破洞、有没有错位的面),而不是渲染出来的颜色;两个场景各自代表一类表面(Garden 的植被与 Bicycle 的薄结构),该看的是这两类表面上几何是否都立得住。③对照:与图 11-1 连起来读(那张是 2D-GES 对 2DGS、本图是本篇内部的场景覆盖面);与表 11-1 连起来读(图给位置、表给 DTU 上的 chamfer distance 读数);与图 21-1 连起来读(本图看几何、那张看误差分布,两个角度)。④落点:这张图回答的是「几何这条结论在更多场景上是否同样成立」,属于覆盖面证据;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 20(p.15)· 未修改引用(原样引用,署名保留)
12消融与边界
这一章把两件事收口:这套设计里哪几件是必要的(六处消融),以及它到哪儿为止(三条作者自陈 + 九条口径边界)。
第一处消融回答的是「由粗到细到底值不值」。 图 13-1 是两阶段(3D-GES)对单阶段的对照,表 12-1(原文 Table 5)给出数据集平均的画质与帧率。这一处的读法要连着第 6 章那条「几何由粗阶段决定」的因果:单阶段意味着没有粗阶段先把几何钉住,于是细阶段的联合优化要同时面对几何与外观两件事:这正是「由粗到细」这个设计的必要性的证据。表 12-1 的表注写明它是在 Mip-NeRF360 上做的、并且是隔离算法选择的实验[表 12-1 的注, p.11]。
3D-GES)与单阶段优化的定性对照,量化面在表 12-1。②读法(怎么读):先想清楚「少了粗阶段会缺什么」再去看图:按第 6 章的因果,缺的是「被钉住的几何」,所以该看的是几何相关的症状(轮廓是否发虚、结构是否错位、细节是否贴到了错的位置),而不是整体亮度或色彩。③对照:与表 12-1 连起来读(图给症状、表给读数);与第 6 章「冻结 surfel 几何、只联合优化 SH 系数」那段连起来读(那是这条消融的机制解释);与图 14-1 连起来读,那一张消的是另一件(只用 surfel),两者不可混读。④落点:这张图是「由粗到细」这个设计必要性的观感依据;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 13(p.11)· 未修改引用(原样引用,署名保留)
上面那一处是「少一个阶段」,下面这一处是「少一整层」—— 它直接检验第 3 章那条观察。
第三处消融把本篇的主题单独摘出来做对照实验:如果把排序加回去,会看到什么。
第四处消融量的是一个常数:第 4 章式 4-2、式 4-3 里那个 ε。
第五处消融要先把这张图读成「短板证据」再看它是不是局限,它不是一道设计选择题。
GES 与 3DGS[Kerbl et al. 2023]的对照,看的是镜面(高光)表面上的差别。②读法(怎么读):这一张的读法与其他几张相反:它是一张「找自己短处」的图:原文在讨论章里写明,3DGS 可以依赖大量低不透明度高斯来「模仿」反射效果,而本篇的不透明 surfel 缺少这个能力,导致渲染质量下降[§8, p12];所以该看的是镜面区域的反射细节是否缺失或发死。③对照:与本章末尾「三条作者自陈局限」的第②条连起来读(这是那条局限的唯一图示证据);与图 2-1、图 14-1 连起来读:那两张讲的是「粗尺度扛主体」在一般表面上成立,本图给出的是这条观察失效的一类表面。④落点:这张图是全篇唯一一张以不利结论收尾的结果图,引用它时不要顺手写成「总体上更好」;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 17(p.12)· 未修改引用(原样引用,署名保留)
第六处消融回到 2D-GES 内部:把物体空间滤波关掉会怎样。
2D-GES 有无「物体空间滤波」的对照。②读法(怎么读):这一张与第 7 章的 Mip-GES 不要混读:Mip-GES 的滤波作用在高斯泼溅那一层(式 7-2、式 7-3),本图这一处的滤波属 2D-GES 的内部实现;看的是细结构在有无滤波下的差异。③对照:与图 11-1 连起来读(那张是 2D-GES 对外部方法 2DGS,本图是 2D-GES 内部的开关);与图 9-1 连起来读(两张都涉及抗锯齿类处理,但作用层次不同)。④落点:这张图是 2D-GES 这个扩展内部配置的消融依据;它不含读数,正文里没有从它读出数字。图内标签之外不逐格读值。
来源:When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2 · Keyang Ye et al.)· 图 18(p.13)· 未修改引用(原样引用,署名保留)
表 12-1 消融实验:隔离算法选择(原文 Table 5) (原文 Table 5, p.11 · 数值取原文文字层,逐格未改)
| SSIM ↑ | PSNR ↑ | LPIPS ↓ | FPS ↑ | |
|---|---|---|---|---|
| 3D-GES | 0.813 | 27.38 | 0.208 | 675 |
| Single stage optimization | 0.809 | 27.04 | 0.216 | 624 |
| Only surfels | 0.611 | 24.22 | 0.501 | 4771 |
| Only Gaussians | 0.774 | 26.02 | 0.272 | 705 |
| w/o order adjustment | 0.801 | 26.97 | 0.213 | 663 |
| 𝜖= 0 | 0.806 | 27.11 | 0.212 | 678 |
| 𝜖= 0.1 | 0.811 | 27.19 | 0.216 | 666 |
| RGB surfels | 0.808 | 27.29 | 0.208 | 688 |
表 12-2 各方法所用基元数对照(原文 Table 6) (原文 Table 6, p.13 · 数值取原文文字层,逐格未改)
| Garden | Room | |
|---|---|---|
| 3DGS | 5.83M | 1.59M |
| SortFreeGS* | 4.21M | 1.14M |
| StopThePop | 5.85M | 1.53M |
| MipSplat | 6.25M | 1.98M |
| AdrGS | 2.52M | 0.63M |
| SpeedySplat | 0.53M | 0.12M |
| C3DGS | 2.23M | 0.53M |
| 2DGS | 2.51M | 0.87M |
| 3D-GES | 0.19+2.46M | 0.15+0.55M |
| 2D-GES | 0.18+2.21M | 0.13+0.58M |
| Mip-GES | 0.18+2.48M | 0.15+0.61M |
| Speedy-GES | 0.17+0.82M | 0.13+0.18M |
| Compact-GES | 0.18+2.01M | 0.14+0.50M |
表 12-2 的读法要单独交代:它给出各方法在 Garden 与 Room(均取自 MipNeRF360 数据集)上所用基元数,单元格是 5.83M/1.59M 这类带单位写法(表注写明 1M = 10⁶)[表 12-2 的注, p.13]。这一张表在整套证据里的位置是「解释前两章的读数从哪来」:第 10 章说本篇存储不到 3DGS 的一半,那笔账的分子分母就在这里;读的时候要把「基元数」与「存储」分开:基元数说的是几何与外观的载体有多少个,存储说的是这些载体占多少字节,两者不是一回事(Compact-GES 就是靠后者省出来的)。
三条作者自陈局限(照写)
①训练时间比 3DGS 长 1.3×–1.6×,主因是 surfel 优化本身要花时间[§8, p12]。原文没有把它当成可忽略的代价,而是放在讨论章的第一句。
②不透明 surfel 抓不住镜面反射。 原文的完整表述是:3DGS 可以依赖大量低不透明度高斯来「模仿」反射效果,而本篇的不透明 surfel 缺少这个能力,导致渲染质量下降;原文给的补救方向是用射线追踪或环境贴图来捕捉反射[§8, p12](图 17-1 是这条局限的证据)。这一条要连着第 3 章那句「本篇的 surfel 完全不透明、而 2DGS 的 2D 高斯不是」一起读:不透明带来了明确的遮挡与干净的剪影,代价就是失去了「用半透明高斯糊出反射」这条后路。
③与 3DGS 共享初始化敏感性。 原文的表述是:本篇与 3DGS 存在同一个问题:在真实场景里用随机初始化的点而不是 SfM 点时,重建质量下降;给的补救方向是引入 3DGS-MCMC 那种「MCMC 采样的确定性状态转移」[§8, p12]。这一条是三条里最容易被略过的,但它的信息量最大:它说明本篇在初始化这一环上没有改进,而初始化的来源正是第 5 章那套不透明度调制参数的起点(surfel 由 SfM 点初始化)。
九条口径边界
①「合」不等于「融合」。 两层是两次渲染后按权重线性合成(式 4-5,W_s = 1 固定),不是把两类基元塞进同一次 α 混合。这条差别决定了整套设计的其余部分。②不排序的前提是「高斯颜色按权重归一化」:一旦改成对所有权重直接求和(SortFreeGS 那条路),立刻会产生被遮挡物体的颜色泄漏:这正是第 9 章那一格对照的由来。③「不透明」是优化出来的、不是假设出来的:w_i 从 0.1 起步,只有增到 255 之后 surfel 才在整个半径 r ≈ 3.3 内不透明度恒为 1(图 4-1)。④ε 是一个必须调的量:它的作用是防止贴表面的高斯被错误截断,不同 ε 策略的对照在图 16-1,不能当成无参数设计。⑤几何属性在细阶段是冻结的(p_i、r_i、s_i 固定),细阶段只联合优化两层的 SH 系数:因此「几何由粗阶段决定」这条因果要写清。**⑥表 8-1 里带 * 的行是用作者自己复现的代码评测的,不是原作者的官方读数。⑦表 8-1 有一处读数按文字层照录不改:MipNeRF 行在 Deep Blending 的 SSIM↑ 为 0.15(文字层自洽、但数值上可疑,待对照裁图确认)。⑧速度与时间的来源口径要标注:帧率与存储取自表 10-1;而训练时间是「比 3DGS 长 1.3×–1.6×」的相对说法,不是绝对值。⑨「显式几何」这条好处是作者的主张:原文把它写成「可用于阴影投射与物理碰撞」,但正文没有给这两件事的实验**,只有 DTU 上的 chamfer distance(表 11-1)与法线对照(图 10-1)。
一处机制性的适用条件(适用面,不是局限)
本篇的收益建立在「surfel 层能扛住大部分外观」这条观察上(原文在引言里即点明,图 2-1 是它的图示)。当场景的粗尺度外观本身扛不住时:例如高度镜面、或极细的高频反射:收益与画质都会退:前者在第②条自陈局限里(图 17-1),后者在「只用 surfel」那处消融的对照里(图 14-1)。这一条与「大而重叠的基元会拖慢加速结构」那类条件不同:它是这套表示的分工本身的边界,而不只是一处工程代价。
一条额外的读法建议
如果只读一章,读第 4 章:把「顺序敏感的 α 混合」换成「顺序不敏感的加权平均」是全篇的支点,第 10 章那三笔账里的第一笔、第 12 章那处「把排序加回去」的消融,都是它的推论。如果要判断这条路值不值得跟,读第 10 章的表 10-1 与第 12 章的图 15-1:前者给出帧率与存储的正面读数,后者给出「不排序」这条性质的消融证据,两处合起来才是这套表示真正的卖点。如果关心它与 3DGS 的关系,先把第 12 章那条自陈局限②(镜面)读完,再回头看第 10 章的数字:顺序反过来读,很容易把它读成「一个全面更好的 3DGS」。
13贡献块
原文在引言末尾列了三条贡献[§1, p1]。三条读下来是「一件主张 + 一处配套 + 一串扩展」,而不是三件并列的事。
第一条是主张:首次把 surfel 辐射场与高斯辐射场合到一套表示里,从而实现超快、视角一致、且画质达到当前最好水平的渲染[§1, p1]。这一条里最该注意的是「首次」与「合」这两个词的分量:surfel 这条路与高斯这条路各自都有成熟的工作(第 2 章的第一节里,表面光场就是 surfel 这一侧的前身),本篇要证的是「两条路可以分工」,而不在「两条路都能用」:粗尺度交给面片、细尺度交给高斯。这一条也是标题里「Gaussian meets Surfel」的落点,但要注意原标题的主语顺序:是 Gaussian 遇上 Surfel,不是「高斯换成 surfel」;细尺度那一层用的仍然是 3DGS 的原班属性。
第二条是配套:一套由粗到细的优化方法,能把不透明 surfel 与高斯一起从多视角图像里优化出来[§1, p1]。这一条是三条里最硬的一条,理由在第 5 章已经铺好:「surfel 上颜色处处相同 ⇒ 从几何参数到像素颜色的前向过程不可微」是一个结构性障碍:它的问题在于梯度根本不存在,而不在精度不够或收敛慢。本篇用不透明度调制参数把「半透明的高斯盘」与「不透明的圆盘」接成同一个对象的两个端点,从而让梯度在优化早期存在、再逐步收紧到不透明。这一步的巧处在于它改变了提问方式:可微网格那一族问的是「怎么让几何变软以获得梯度」,本篇问的是「怎么让几何一开始就是软的,然后把它变硬」。
第三条是扩展:一串把基础表示推向实用的改进:抗锯齿(Mip-GES)、提速(Speedy-GES)、紧凑存储(Compact-GES)、更好几何(2D-GES)[§1, p1]。这一条的分量在于它的性质:四个扩展都借用了别人现成的组件(滤波、剪枝、量化、2D 高斯),基础表示的结构一处没改。这不是缺点,恰恰是这条表示的设计目标之一:原文在引言里的措辞是「可以很容易地扩展」[§1, p1]。一条表示如果「别人在某一层的改进都能直接搬进来」,那它在实践里的寿命会比它的初始读数更长。
三条的关系可以压成一句:第一条说「把什么和什么放在一起」,第二条说「怎么让它一开始就学得动」,第三条说「学完之后怎么把它做小做快」。 最容易被高估的是第一条(「合起来」听起来像结论,其实它是前提);最容易被低估的是第二条:因为那处不可微问题在别的表示里不出现,它是本篇自己选的路带来的代价,绕过它是本篇真正的方法贡献。最容易被读错的是第三条:四个扩展的读数是各自独立的四笔账(第 7 章已按「补哪个维度」分开写),不能合成一句「全面提升」。
14出处块
原文出处:When Gaussian Meets Surfel: Ultra-fast High-fidelity Radiance Field Rendering,ACM Transactions on Graphics(TOG)第 44 卷第 4 期,2025 年 8 月出版;DOI 10.1145/3730925(Crossref 与 arXiv 摘要页的 Related DOI 互证)。作者为 Keyang Ye、Tianjia Shao、Kun Zhou(State Key Lab of CAD&CG, Zhejiang University, China),通讯作者为 Kun Zhou。原文地址 https://arxiv.org/abs/2504.17545(本页所据版本为 arXiv:2504.17545v2,2025-12-14),摘要另注明代码与交互式网页查看器可在线获取。
两处与本页出处标注有关的说明(照录不改):①页脚的文章号是空的:逐页印的是 ACM Trans. Graph., Vol. 44, No. 4, Article . Publication date: August 2025.,Article 之后只有一个点;首页的 ACM 0730-0301/2025/8-ART 同样在 ART 之后缺号。站内不替原文补文章号,出处按「Vol. 44, No. 4(August 2025)· DOI 10.1145/3730925」标注,并把这两处缺失照录下来。②摘要的排布:摘要正文在首页跨左右两栏(左栏起、右栏续),并非单栏块;站内按整体一段照录。
许可与本站处置:本站逐处实测的读数互相印证,指向同一个结论:arXiv 摘要页的许可链接是 http://arxiv.org/licenses/nonexclusive-distrib/1.0/,也就是 arXiv 的非独占分发许可,不是 CC;而本页所据 PDF 的版权块是标准 ACM 权利行:© 2025 Copyright held by the owner/author(s). Publication rights licensed to ACM.,此外全篇没有 Creative Commons/CC BY/nonacm 字样。⇒ 本站按非 CC 处置:21 张原图与 7 张表原样、零加工引用(未裁切拼接、未加标注、未施滤镜;表体按文字层逐格重排、不改数值),逐图署名并给出原文出处;不站内托管 paper.pdf,文末只给 arXiv canonical 与 ACM DOI 两条链接,并声明未对原文作任何修改。列表页卡片标「非 CC · 逐图署名引用」。(与篇目 53/55 的 CC BY ⇒ 三件落点相比,本篇是落点两件。)
原文全文:arXiv:2504.17545(canonical 版本) · DOI 10.1145/3730925(ACM 正式版)
图件署名(21 件,全部为 E 类证据图、原样引用、未修改)
- 图 1-1=原文 Fig. 1(p.0)|When Gaussian Meets Surfel(ACM TOG 44(4) · arXiv:2504.17545v2)
- 图 2-1=原文 Fig. 2(p.1)|同上
- 图 3-1=原文 Fig. 3(p.3)|同上
- 图 4-1=原文 Fig. 4(p.4)|同上
- 图 5-1=原文 Fig. 5(p.7)|同上
- 图 6-1=原文 Fig. 6(p.7)|同上
- 图 7-1=原文 Fig. 7(p.8)|同上
- 图 8-1=原文 Fig. 8(p.8)|同上
- 图 9-1=原文 Fig. 9(p.9)|同上
- 图 10-1=原文 Fig. 10(p.9)|同上
- 图 11-1=原文 Fig. 11(p.10)|同上
- 图 12-1=原文 Fig. 12(p.11)|同上
- 图 13-1=原文 Fig. 13(p.11)|同上
- 图 14-1=原文 Fig. 14(p.12)|同上
- 图 15-1=原文 Fig. 15(p.12)|同上
- 图 16-1=原文 Fig. 16(p.12)|同上
- 图 17-1=原文 Fig. 17(p.12)|同上
- 图 18-1=原文 Fig. 18(p.13)|同上
- 图 19-1=原文 Fig. 19(p.14)|同上
- 图 20-1=原文 Fig. 20(p.15)|同上
- 图 21-1=原文 Fig. 21(p.15)|同上
图件为区域渲染取得(位图与矢量标签一起渲染,3.0× 位图导出、约 216 dpi),未做任何修改。21 张里 7 张为通栏(图 1-1/3-1/5-1/11-1/12-1/19-1/20-1)、7 张为左栏、7 张为右栏;其中图 20-1 是最大的一张(511.7×396.0 pt),图 16-1 是最小的一张(244.2×80.2 pt),而图 19-1 与图 20-1 的图注落在左栏、图本身却是通栏(站内按实测包围盒取通栏)。图注体例一律 Fig. N. 起(非 Figure N.),21 张的图注一律在图之下(21/21 实测)。
表格(7 张,数值按原文文字层逐格取值,未改位数、未做换算)
- 表 8-1=Table 1(p.7)|20 行 × 13 列|两级表头:数据集分组行(
Mip-NeRF360/Deep Blending/Tanks & Temples/NeRF Synthetic,各跨 3 列)+Method|Metric行 + 指标行(SSIM↑/PSNR↑/LPIPS↓×4);行:MipNeRF/Plenoxel/INGP/3DGS/SortFreeGS/SortFreeGS*/StopThePop/3D-GES/Speedy-GES。**表注在上;带*的行为作者复现代码的评测结果。 token 复核数字 219/219 一致**。 - 表 10-1=Table 3(p.9)|5 行 × 5 列(
FPS (1080p)/FPS (2160p)/存储/训练时间等);token 复核 63/63 一致。 - 表 10-2=Table 2(p.9)|3 行 × 7 列(跳变伪影评测,MipNeRF360);token 复核 17/17 一致。
- 表 11-1=Table 4(p.10)|5 行 × 17 列(DTU 上的 chamfer distance;表注写明「使用中央深度」);token 复核 83/83 一致。
- 表 12-1=Table 5(p.11)|9 行 × 5 列(消融:隔离算法选择,MipNeRF360 上的画质与帧率);token 复核 35/35 一致。
- 表 12-2=Table 6(p.13,附录 B)|14 行 × 3 列(各方法所用基元数;单元格为
5.83M这类带单位写法,表注写明1M = 10⁶);token 复核 41/41 一致。 - 表 8-2=Table 7(p.14,附录 D)|5 行 × 4 列(与不同方法的 PSNR 对照);token 复核 15/15 一致。
表体统一以 HTML 重排呈现,不使用截图(原始裁图 tables/tab1.png … tables/tab7.png 留作核对凭据)。本篇体例:原文这 7 张表的表注都写在表体之上(7/7 实测),站内沿用同一位置,注文逐字照录。
附录索引(正文按节引用)
- 附录 A IMPLEMENTATION DETAILS OF 2D-GES(p13–p14):2D-GES 的实现细节。给出两项正则:约束 2D 高斯加权深度贴近 surfel 深度的
L_gd = MAE(D_G − D_s)(原文式 (13))与法线一致性损失(原文式 (14)),以及两项法线监督项L_sn、L_sd(原文式 (15)、(16),分别约束渲染法线与由平滑深度梯度导出的表面法线)。本篇的 4 条不落块式 (13)–(16) 全在这里。 - 附录 B NUMBER OF PRIMITIVES(p13):各方法所用基元数对照(表 12-2=原文 Table 6),在
Garden与Room两个场景上给出(均取自 MipNeRF360 数据集)。 - 附录 C VISUALIZATION OF OPTIMIZATION(p15):优化过程的可视化,图 21-1 在 Garden 场景上把渲染结果与 L1 损失并排摆出(诊断用图)。
- 附录 D MORE COMPARISONS(p14–p15):更多对照:画质侧有图 19-1(
Stump/Flowers/Bicycle/Truck),几何侧有图 20-1(Garden/Bicycle),量化侧有表 8-2(原文 Table 7)。这三件都已被正文引用:图 19-1 与表 8-2 在第 8 章、图 20-1 在第 11 章。
怎么读这篇:如果只读一章,读第 4 章:把「顺序敏感的 α 混合」换成「顺序不敏感的加权平均」是全篇的支点,第 10 章三笔账里的第一笔、第 12 章那处「把排序加回去」的消融,都是它的推论。如果要判断这条路值不值得跟,读第 10 章的表 10-1(帧率与存储的正面读数)与第 12 章的图 15-1(「不排序」这条性质的消融证据),两处合起来才是这套表示真正的卖点。如果关心它与 3DGS 的关系,先读第 12 章那条自陈局限②(镜面表面)再看数字:顺序反过来读,很容易把它读成「一个全面更好的 3DGS」。如果只关心「两层怎么分工」这一件事,读第 3 章的图 2-1 与第 12 章的图 14-1:前者是分工的图示,后者是把分工拆散的消融,两张对着看出价。
致谢照录:原文致谢一项 NSF China 资助(编号 62421003、62227806、U23A20311)与 XPLORER PRIZE。