欢迎光临
我们一直在努力

3D Convex Splatting 精读:从小白到博士,彻底拆解 3D Smooth Convexes 如何重塑辐射场渲染

3D Convex Splatting 精读:从小白到博士,彻底拆解 3D Smooth Convexes 如何重塑辐射场渲染

论文标题:3D Convex Splatting: Radiance Field Rendering with 3D Smooth Convexes 论文链接:3D Convex Splatting 文章定位:论文精读 / 新视角合成 / 3DGS 进阶 / 计算机视觉 适合人群:零基础读者、CV/图形学研究生、准备复现论文的博士生与工程研究人员 在这里插入图片描述


文章目录

  • 3D Convex Splatting 精读:从小白到博士,彻底拆解 3D Smooth Convexes 如何重塑辐射场渲染
  • 一句提示词帮你速通论文
  • 前言
  • 一、小白阶段:把这篇论文讲到“是个傻子都能懂”
    • 1.1 这篇论文到底在解决什么问题?
  • Novel View Synthesis(新视角合成)
    • 1.2 3DGS 为什么那么火?
    • 1.3 但 3DGS 的问题也非常明显
    • 1.4 作者提出了什么?
  • 3D Convex Splatting(3DCS)
    • 1.5 为什么凸体比高斯更合适?
      • (1)它更擅长表达平面
      • (2)它更擅长表达硬边
      • (3)它通常能用更少 primitive 达到更好表达
    • 1.6 什么叫 smooth convex?
    • 参数一:δ(delta)
    • 参数二:σ(sigma)
    • 1.7 它是怎么渲染到图像上的?
      • 第一步:把 3D 里的块投影到 2D 图像平面
      • 第二步:算这个块在屏幕上覆盖了哪些像素
      • 第三步:把所有块按远近混合起来
    • 1.8 为什么它还能训练?
    • 1.9 这篇论文最直观的价值是什么?
    • 1.10 小白阶段总结
  • 二、硕士阶段:从“看懂意思”到“能分析论文”
    • 2.1 论文的研究定位
      • 脉络 A:Radiance Field / Novel View Synthesis
      • 脉络 B:Primitive-based Differentiable Rendering
    • 2.2 与 3DGS 的本质差异
      • 3DGS 的 primitive
      • 3DCS 的 primitive
    • 2.3 smooth convex 的核心公式
      • 这两个公式的意义
    • 2.4 为什么不用 plane-based,而改成 point-set based?
    • 2.5 渲染公式
    • 2.6 初始化策略
      • (1)从 SfM 点云初始化
      • (2)每个 convex 的点集用 Fibonacci sphere 初始化
      • (3)初始尺度由邻近点距离决定
    • 2.7 Loss 设计
    • 2.8 densification 是这篇论文最关键的训练设计之一
      • split 怎么做?
    • 2.9 实验结果怎么看?
      • (1)在结构化强、硬边多的场景里,3DCS 更强
      • (2)在自然、杂乱、非规则场景里,优势没那么绝对
      • (3)3DCS 更强调结构 fidelity,不只是像素拟合
    • 2.10 室内为什么更强,室外为什么不一定?
      • 室内场景常见特点
      • 室外自然场景常见特点
    • 2.11 硕士阶段总结
  • 三、博士阶段:逐段拆解论文,按“可复现 + 可研究”的标准吃透
    • 3.1 论文的核心命题到底是什么?
    • 3.2 从 representation 的角度看,这篇论文做了什么?
      • 第一层:primitive 替换
      • 第二层:footprint 替换
      • 第三层:densification 逻辑替换
    • 3.3 smooth convex 的本体论意义
      • (1)几何角色
      • (2)渲染角色
      • (3)优化角色
    • 3.4 为什么 point-set based representation 很关键?
      • 如果用 plane-based convex
      • 改成 point-set based 后
    • 3.5 这里有没有潜在的不光滑问题?
    • 3.6 δ 和 σ 的角色分离为什么高级?
      • δ:控制几何边角近似
      • σ:控制 radiance field 边界陡峭度
      • 进一步研究方向
    • 3.7 渲染深度排序的近似性
    • 3.8 densification 机制的研究价值到底在哪里?
    • 3.9 参数效率为什么比“单看 primitive 数量”更重要?
    • 3.10 为什么作者说 3DCS 更“physically meaningful”?
    • 3.11 复现这篇论文,你应该怎么做?
      • 3.11.1 第一阶段:搭建基础系统
      • 3.11.2 第二阶段:定义 convex primitive
      • 3.11.3 第三阶段:实现前向渲染
      • 3.11.4 第四阶段:实现反向传播与训练稳定性
      • 3.11.5 第五阶段:实现 densification 和 pruning
    • 3.12 复现中的隐藏坑
      • 坑一:Graham Scan 不是你想的那么简单
      • 坑二:LogSumExp 数值稳定性
      • 坑三:primitive 排序与 blending
      • 坑四:densification schedule
    • 3.13 这篇论文有哪些明确局限?
      • 局限一:对无规则自然场景未必最优
      • 局限二:训练和渲染一般比 3DGS 更慢
      • 局限三:表达单元仍然是 convex
      • 局限四:排序仍然是近似
      • 局限五:工程实现复杂度不低
    • 3.14 未来最值得做的研究方向
      • 方向一:Hybrid Primitive
      • 方向二:Concave-aware 表示
      • 方向三:Geometry-supervised 3DCS
      • 方向四:Semantic-aware 3DCS
      • 方向五:可学习的 densification policy
    • 3.15 博士阶段总结
  • 四、三层一句话总结
    • 小白一句话
    • 硕士一句话
    • 博士一句话
  • 五、我的评价:这篇论文值不值得读?
  • 六、写在最后
  • 总结

一句提示词帮你速通论文

提示词

你现在是一位计算机视觉的博士,请你仔细阅读这篇论文,并将其拆解为小白阶段、硕士阶段、博士阶段。一定要引人入胜,客观具体,且极为详细。小白阶段你需要达到是个傻子都能懂的情况,在硕士阶段你需要达到正常使用一些专业数据,帮助小白从傻子到小专家的突破,在博士阶段你需要仔细拆解整篇论文,把各项细节全部记录,方便后期进行复现,同时促使小专家成为资深大拿

镜像地址,ChatGTP 5.4 Thinking助您深入解析、速通论文 邀请码地址,ChatGTP 5.4 Thinking助您深入解析、速通论文

前言

最近两年,NeRF 和 3D Gaussian Splatting(3DGS) 几乎成了新视角合成领域最热门的方向之一。 它们有一个共同目标:输入多张不同视角的图像,恢复一个可渲染的三维场景表示,并生成任意新视角下的逼真图像。

但是,3DGS 虽然快、效果也很强,却有一个天然缺陷:

它的基本表示单元是 Gaussian(高斯椭球),本质上更像“模糊的小云团”,这类表示天然适合光滑过渡,却不擅长表达平面、棱角、硬边、规整结构。

于是,这篇论文提出了一个非常有意思的想法:

既然高斯云团不够擅长表达硬边结构,那为什么不直接换一种 primitive(图元)?

作者给出的答案是: 用 3D Smooth Convex(3D 平滑凸体) 替代 Gaussian,构造一种全新的 3D Convex Splatting(3DCS) 渲染框架。

这篇文章我会把整篇论文拆成三个层次来讲:

  • 小白阶段:用最直白的语言讲懂论文到底在做什么
  • 硕士阶段:开始引入必要的数学、公式、实验和方法对比
  • 博士阶段:按照“可复现、可推敲、可扩展”的标准,完整拆解论文细节

目标只有一个:

不只是让你“看过这篇论文”,而是让你真正“吃透这篇论文”。


一、小白阶段:把这篇论文讲到“是个傻子都能懂”

1.1 这篇论文到底在解决什么问题?

先别急着看公式,我们先看最本质的问题。

假设你拿着手机,围着一个房间拍了很多张照片。 现在你希望电脑可以做到下面这件事:

  • 理解这个房间大概长什么样
  • 记住桌子、墙、椅子、窗户的位置
  • 然后站在一个你没有拍过的新位置
  • 自动“脑补”出从那个角度看过去的图像

这个任务就叫做:

Novel View Synthesis(新视角合成)

也就是:

根据已有多视图图像,合成一个全新的、没拍过的视角。

NeRF、Mip-NeRF360、Zip-NeRF、3DGS,本质上都在做这件事。


1.2 3DGS 为什么那么火?

因为它快。

NeRF 虽然效果好,但过去最大的问题是:

  • 训练慢
  • 渲染慢
  • 想实时看结果很难

后来 3D Gaussian Splatting(3DGS) 横空出世。 它不再用传统的神经网络慢慢推理,而是直接把场景表示成一堆 3D Gaussian。

你可以把一个 Gaussian 想成:

  • 一个有位置的小气团
  • 一个可以拉长、旋转的椭球
  • 自带颜色、透明度
  • 很多很多这样的气团叠起来,就能拼出整个场景

它最大的优点就是:

  • 训练快
  • 渲染快
  • 可以实时

所以 3DGS 一出来就很炸。


1.3 但 3DGS 的问题也非常明显

问题就在它的 primitive 长这样:

一个高斯椭球,本质是一个“柔和扩散的小云团”。

这种形状有一个天然缺点:

  • 它擅长表达柔和、连续、模糊过渡
  • 但不擅长表达平面
  • 不擅长表达硬边
  • 不擅长表达尖角
  • 不擅长表达规则几何结构

比如这些东西它就不太舒服:

  • 墙角
  • 车牌数字边缘
  • 桌面平面
  • 门框
  • 建筑立面
  • 铁轨、窗框、机械边界

为什么?

因为你在本质上是在拿一堆“棉花球”去堆一个“硬纸盒”。

能不能堆出来? 能。

但是会有两个问题:

  • 边缘容易糊
  • 为了拟合方的、平的、硬的结构,你得用很多很多 Gaussian

所以论文作者的动机非常清楚:

既然 3DGS 的基本图元天然是圆润模糊的,那我们就换一种更有几何表达力的图元。


1.4 作者提出了什么?

作者提出的方法叫:

3D Convex Splatting(3DCS)

核心思想一句话概括就是:

用 3D Smooth Convexes(3D 平滑凸体) 替代 3D Gaussian,作为场景的基本表示单元。

你可以先把 convex 理解成“不会往里凹的形状”。

比如这些都属于凸的:

  • 立方体
  • 四面体
  • 很多多面体
  • 被轻微圆滑过的盒子

而像月牙、回字形、U 型这种有凹进去的,一般就不是凸的。


1.5 为什么凸体比高斯更合适?

因为它更像“几何块”,而不是“气团”。

你可以这么理解:

  • Gaussian:更像一团柔软的棉花
  • Smooth Convex:更像一个边角可以调节软硬程度的积木块

这意味着 convex 有几个天然优势:

(1)它更擅长表达平面

桌面、墙面、盒子面、窗户面,这些都更像“块状结构”,而不是“雾状结构”。

(2)它更擅长表达硬边

车牌、建筑边缘、门框轮廓,这些地方凸体更容易贴住边界。

(3)它通常能用更少 primitive 达到更好表达

不是说“单个 convex 更简单”,而是说:

单个 convex 的形状表达能力更强。

也就是说,一个 convex 往往顶得上多个 Gaussian 一起干活。


1.6 什么叫 smooth convex?

这里最容易把人看晕,所以我直接讲最直观版本。

论文里的 convex 不是一个特别死板、特别硬的多面体。 它是一个 smooth convex,也就是:

边界可以连续调节软硬程度的平滑凸体。

它有两个非常关键的参数:

参数一:δ(delta)

你可以把它理解成:

控制这个凸体的边角到底是圆一点,还是硬一点。

  • δ 小:更圆、更软
  • δ 大:更接近真正的硬凸包,边更硬、角更尖

参数二:σ(sigma)

你可以把它理解成:

控制边界过渡有多“实”,有多“陡”。

  • σ 小:边缘过渡比较柔,像有点雾
  • σ 大:边界更紧、更实、更像实体块

所以:

  • δ 决定形状边角
  • σ 决定边界密度和锐利程度

这个设计非常巧妙,因为作者把“形状是什么样”和“边界有多硬”拆成了两件事。


1.7 它是怎么渲染到图像上的?

还是先讲大白话版本。

假设空间里有很多 convex 块,每个块都有:

  • 位置
  • 形状
  • 大小
  • 颜色
  • 透明度

那么渲染的时候会做什么?

第一步:把 3D 里的块投影到 2D 图像平面

也就是看看这个块在当前视角下投到屏幕上长什么样。

第二步:算这个块在屏幕上覆盖了哪些像素

如果某个像素被这个块覆盖,就让它对该像素颜色有贡献。

第三步:把所有块按远近混合起来

谁在前面,谁挡住后面,最后得到整张图。

这听起来和 3DGS 很像,对吧?

没错,整体渲染骨架和 3DGS 是很像的。 真正变化的是:

3DGS 用 Gaussian footprint 覆盖像素,3DCS 用 smooth convex 的 footprint 覆盖像素。


1.8 为什么它还能训练?

因为这整个过程是可微分的。

什么意思?

就是它不是瞎调,而是这样做:

  • 先渲染出一张预测图
  • 和真实照片比较
  • 看哪里错了
  • 把误差反向传回去
  • 自动调整每个 convex 的参数
  • 被调整的参数包括:

    • 点的位置
    • 形状
    • 大小
    • 颜色
    • 透明度
    • δ
    • σ

    于是这些 convex 会慢慢从一个初始的小形状,变成能正确拟合场景的形状。


    1.9 这篇论文最直观的价值是什么?

    一句话:

    它把“高斯云团”换成了“软凸积木块”,于是更适合表达硬边和平面。

    你如果只记住这一句,也已经抓住论文 70% 的本质了。


    1.10 小白阶段总结

    把这篇论文压缩成最通俗的话:

    以前 3DGS 用很多“模糊的小云团”拼出一个世界。 这篇论文改成用很多“边界可调的软凸块”去拼这个世界。 所以在建筑、室内、桌子、车牌、门框这些有明显平面和棱角的地方,它更容易拼得准,也更容易拼得清楚。


    二、硕士阶段:从“看懂意思”到“能分析论文”

    下面进入更专业的版本。


    2.1 论文的研究定位

    这篇论文位于两个研究脉络的交叉点:

    脉络 A:Radiance Field / Novel View Synthesis

    目标是:

    • 从多张图像恢复场景表示
    • 支持高质量新视角合成
    • 在质量、训练速度、渲染速度之间找到平衡

    脉络 B:Primitive-based Differentiable Rendering

    目标是:

    • 用显式图元(点、网格、高斯、几何块等)表示场景
    • 通过可微渲染从图像监督中优化它们

    3DCS 的真正创新就在于:

    把 convex geometry representation 和 splatting-style real-time rendering 结合起来。

    所以这并不是简单地“换个形状”,而是给出了一整套:

    • 表示方式
    • 投影方式
    • footprint 构造方式
    • 渲染方式
    • densification 方式
    • 训练策略

    2.2 与 3DGS 的本质差异

    3DGS 的 primitive

    3DGS 的 primitive 一般包括:

    • 位置
    • 尺度
    • 旋转
    • 协方差
    • opacity
    • SH 颜色系数

    它本质上是一个各向异性高斯椭球。

    3DCS 的 primitive

    3DCS 的 primitive 则是一个 由点集定义的 smooth convex,通常包含:

    • 一组 3D 点
    • δ(smoothness)
    • σ(sharpness)
    • opacity
    • SH 颜色系数

    所以两者最大的差别是:

    • 3DGS:中心 + 协方差
    • 3DCS:点集 + 凸包 + 平滑边界参数

    本质上,3DCS 的 primitive 几何自由度更强。


    2.3 smooth convex 的核心公式

    这是整篇论文的数学核心之一。

    假设一个 convex 由若干个平面定义。 对第 (j) 个平面,点 (p \\in \\mathbb{R}^3) 到它的 signed distance 表达为:

    [ L_j§ = n_j \\cdot p + d_j ]

    其中:

    • (n_j):平面外法向
    • (d_j):偏移量

    如果我们直接用 hard max,那么点到整个 convex 的“外侧程度”可以写成所有平面距离的最大值。 但 hard max 不够平滑,不利于优化。

    所以论文使用 LogSumExp 做平滑近似:

    [ \\phi§ = \\log \\left(\\sum_{j=1}^{J} \\exp(\\delta L_j§)\\right) ]

    这里的 δ 控制平滑程度:

    • δ 越大,越接近 hard max,边更硬
    • δ 越小,越平滑

    然后再通过 sigmoid 构造 soft indicator:

    [ I§ = \\mathrm{Sigmoid}(-\\sigma \\phi§) ]

    这里的 σ 控制边界过渡陡峭程度:

    • σ 越大,边界更锐利
    • σ 越小,边界更柔和

    这两个公式的意义

    你可以把它们理解成:

    • (\\phi§):点离这个凸体边界“有多近”
    • (I§):这个点“有多属于这个凸体”

    也就是说,作者把一个本来边界很硬的几何体,变成了一个:

    连续、可微、可优化的 soft occupancy primitive

    这就是 3DCS 能够被端到端训练的关键。


    2.4 为什么不用 plane-based,而改成 point-set based?

    这是论文非常关键的一步。

    如果直接用一堆平面参数定义 3D convex,那么做 camera projection 会很麻烦。 因为你要处理:

    • 平面与平面的交
    • 投影后轮廓更新
    • 当前视角下的可见边界

    这些都不够工程友好。

    于是作者做了一个很聪明的设计:

    不直接优化平面,而是优化一组 3D 点。

    然后:

  • 将这组点投影到 2D 图像平面
  • 在 2D 上做 convex hull
  • 利用 2D 凸包构造 footprint
  • 这样做的好处非常大:

    • 投影天然可微
    • 2D hull 计算更简单
    • 更适合 GPU 并行实现
    • 更适合 splatting 框架

    所以你可以理解为:

    3DCS 不是在 3D 里硬算一个复杂多面体再去投影,而是先把点投到 2D,再在图像平面上构出这个图元的轮廓。


    2.5 渲染公式

    论文在像素层面仍然采用 alpha compositing。

    对于像素 (q),按深度排序后进行累积混合:

    [ C(q) = \\sum_{n=1}^{N} c_n o_n I_n(q)\\prod_{i=1}^{n-1}(1-o_i I_i(q)) ]

    其中:

    • (c_n):第 (n) 个 convex 的颜色
    • (o_n):opacity
    • (I_n(q)):这个 convex 在像素 (q) 上的 indicator 值
    • 前面的乘积项表示前面图元留下来的透射率

    这和 3DGS 非常像,只不过:

    • 3DGS 用 Gaussian footprint
    • 3DCS 用 smooth convex footprint

    也就是说,渲染骨架继承了 3DGS 的速度优势,而图元覆盖函数发生了本质变化。


    2.6 初始化策略

    论文初始化非常讲究。

    (1)从 SfM 点云初始化

    和 3DGS 类似,作者使用 Structure-from-Motion 得到的点云作为初始位置基础。

    (2)每个 convex 的点集用 Fibonacci sphere 初始化

    这意味着:

    • 初始点不是乱放的
    • 而是在球面上近似均匀分布

    这样初始时每个 convex 更像一个小型球壳,方便后续逐步变形。

    (3)初始尺度由邻近点距离决定

    作者根据最近几个 convex 的平均距离,给每个 primitive 设置初始大小。

    直觉上就是:

    • 稠密区域 -> 小一些
    • 稀疏区域 -> 大一些

    这让初始化更自适应。


    2.7 Loss 设计

    论文总损失写成:

    [ L = (1-\\lambda)L_1 + \\lambda L_{D\\text{-}SSIM} + \\beta L_m ]

    其中:

    • (L_1):像素级误差
    • (L_{D\\text{-}SSIM}):结构相似性相关损失
    • (L_m):紧凑表示相关正则项
    • (\\lambda = 0.2)
    • (\\beta = 0.0005)

    这个设计表明作者不是只想追像素数值,还在追求:

    • 结构一致性
    • 表示紧凑性

    换句话说,作者希望模型不仅“画得对”,还要“用更少的图元画得对”。


    2.8 densification 是这篇论文最关键的训练设计之一

    3DGS 大家都知道有一个核心机制:densification(增密)。 哪里拟合不好,就往哪里加更多 primitive。

    但 3DCS 这里有一个重要差异:

    作者没有沿用 3DGS 里基于 position gradient 的 densification 方式。

    为什么?

    因为 convex primitive 的几何结构更复杂。 对它来说:

    • 位置梯度不一定能反映哪里欠拟合
    • 有时候问题不是中心不对,而是形状不对
    • 欠拟合和过拟合往往更体现在边界 sharpness 上

    于是作者观察到:

    在 under-reconstruction 和 over-reconstruction 区域,sharpness (\\sigma) 的 loss 往往都会比较大。

    所以他们基于这个信号来做 split。

    split 怎么做?

    如果一个 convex 是由 (K) 个点定义的,作者会把它拆成 (K) 个更小的 convex:

    • 新 convex 更小
    • 每个新 convex 的中心落在原来某个点附近
    • 适当调整 opacity
    • 提高 (\\sigma),保持 (\\delta) 不变

    这个设计的直觉非常强:

    一个大块不够精细,那就沿着它自己的几何支撑点,把它拆成多个更小的几何块。

    这比简单复制 primitive 更符合几何意义。


    2.9 实验结果怎么看?

    这部分是很多人最容易“看表不看门道”的地方。

    论文在多个数据集上做了实验,包括:

    • Tanks and Temples
    • Deep Blending
    • Mip-NeRF360

    总体结果可以总结成三句话:

    (1)在结构化强、硬边多的场景里,3DCS 更强

    尤其是室内、人造物体、平面丰富的场景。

    (2)在自然、杂乱、非规则场景里,优势没那么绝对

    例如树叶、草地、灌木等复杂自然纹理区域,Gaussian 往往不一定吃亏。

    (3)3DCS 更强调结构 fidelity,不只是像素拟合

    有些场景里它视觉更自然,但 PSNR 不一定最高,因为 PSNR 常常偏好更模糊的结果。

    这其实恰恰说明:

    3DCS 的优势不只是“数值更高”,而是它在几何边界和结构表达上更有潜力。


    2.10 室内为什么更强,室外为什么不一定?

    论文的室内/室外对比非常有洞察力。

    室内场景常见特点

    • 墙面
    • 地板
    • 桌面
    • 柜子
    • 门框
    • 规则边缘
    • 平整结构

    这些都非常适合 convex 去表达。

    室外自然场景常见特点

    • 树叶
    • 草丛
    • 灌木
    • 不规则遮挡
    • 高频但无明显刚性边界的纹理

    这些内容用 Gaussian 这种“柔和覆盖核”去拟合,有时反而更自然。

    所以 3DCS 并不是“全场景无脑吊打 3DGS”,而是:

    在几何结构更明确的场景中,它更有优势。

    这才是一个成熟的论文应该有的结论边界。


    2.11 硕士阶段总结

    如果你要用一段比较专业、但又不至于太学究气的话来总结这篇论文,可以这样说:

    3D Convex Splatting 提出了一种基于 smooth convex primitive 的显式辐射场表示方法。 它通过点集定义 convex、在图像平面构造可微 convex footprint,并沿用 splatting 风格的快速 alpha compositing,实现了兼顾几何表达力与实时渲染效率的新视角合成框架。 相较 3DGS,它在室内和结构化场景中更擅长表达平面、硬边和规则几何,并能以更少 primitive 获得更优感知质量。


    三、博士阶段:逐段拆解论文,按“可复现 + 可研究”的标准吃透

    下面进入最细的一层。 如果你准备复现、做组会汇报、写 related work,甚至把这篇论文继续做成自己的研究方向,这一部分最关键。


    3.1 论文的核心命题到底是什么?

    很多人读完论文会说:

    这篇文章就是把 Gaussian 换成 Convex。

    这句话不算错,但太浅了。

    更准确的说法是:

    这篇论文重新定义了 radiance field 中 primitive 的设计空间。 它证明:只要 primitive 具备更强的几何表达能力,同时仍能高效、可微、可光栅化,那么就可以在结构化场景中突破 Gaussian 的表达上限。

    所以这篇论文真正挑战的不是某个小技巧,而是一个默认假设:

    为什么 radiance field 一定要用 Gaussian 作为基本图元?

    作者给出的答案是: 不一定。


    3.2 从 representation 的角度看,这篇论文做了什么?

    它做了三层替换:

    第一层:primitive 替换

    把 3D Gaussian 替换成 3D Smooth Convex。

    第二层:footprint 替换

    把 Gaussian 在图像上的二维 footprint,替换成 convex hull 对应的 soft indicator footprint。

    第三层:densification 逻辑替换

    把基于位置梯度的 split/clone 逻辑,替换成更适用于凸体的几何式细分策略。

    所以 3DCS 并不是某个单点 trick,而是:

    从 primitive、渲染、优化三层同时重做。


    3.3 smooth convex 的本体论意义

    从研究角度看,smooth convex 不是简单的 SDF,也不是标准 density field。 它更像是一种:

    soft occupancy primitive

    它兼具三种角色:

    (1)几何角色

    它代表一个可变形的局部凸体。

    (2)渲染角色

    它在图像平面上产生一个可微的覆盖区域。

    (3)优化角色

    它的形状边界、过渡强度都可通过参数学习。

    这使得它和 Gaussian 有根本不同:

    • Gaussian 更像一个局部的模糊核
    • Convex 更像一个局部的几何部件

    这也是为什么作者会强调:

    3DCS 学到的不只是“能渲染图像的粒子”,而是更有物理含义的三维部件式表示。


    3.4 为什么 point-set based representation 很关键?

    这一步是整篇论文能否落地的工程核心。

    如果用 plane-based convex

    你需要处理:

    • 3D 平面与平面的交
    • 投影后可见轮廓
    • 视角变化时轮廓重组
    • 更复杂的几何约束

    这对实时系统非常不友好。

    改成 point-set based 后

    流程立刻清晰很多:

  • 保存一组 3D 点
  • 用相机模型投影到 2D
  • 在 2D 做 convex hull
  • 由 hull 边构造 signed distance
  • 最后得到 soft indicator
  • 换句话说,作者做了一次非常成功的问题重构:

    把“3D 凸体投影问题”转化成了“2D 点集凸包问题”。

    这不仅让计算更高效,也让 GPU 并行实现更自然。


    3.5 这里有没有潜在的不光滑问题?

    有,而且这个问题非常值得博士阶段注意。

    因为 convex hull 的顶点集合不是固定的。 随着训练过程点的位置变化,谁是 hull vertex、谁不是 hull vertex,可能会发生离散切换。

    这意味着什么?

    整个系统虽然总体是“可微”的,但严格来说,它更接近 piecewise differentiable,而不是全局严格光滑。

    也就是说:

    • 在大多数时候梯度是稳定可传的
    • 但在 hull 拓扑发生变化的瞬间,可能会出现不连续性或不稳定性

    论文把这套流程实现成了可训练的 CUDA 管线,这说明工程上是能跑通的。 但从理论上,这里依然是一个潜在研究点。


    3.6 δ 和 σ 的角色分离为什么高级?

    这是我个人认为这篇论文非常漂亮的设计之一。

    很多几何表示方法只用一个参数控制“边界软硬”,但这篇论文明确分成两个维度:

    δ:控制几何边角近似

    它决定的是:

    • convex 的边是不是更像直边
    • 顶点是不是更尖
    • 形状是不是更接近真实凸包

    σ:控制 radiance field 边界陡峭度

    它决定的是:

    • 边界过渡是柔还是硬
    • 体是“软雾感”还是“实心感”

    这两个维度分开后,primitive 的建模自由度大大提高。

    比如你可以做到:

    • 几何上很方,但边界有一点柔和过渡
    • 几何上偏圆,但边界仍然很“实”

    这在单参数系统里很难兼顾。

    进一步研究方向

    这也自然引出很多研究问题:

    • δ 是否可以变成 per-edge
    • σ 是否可以变成 spatially varying
    • 能否让 δ / σ 和材质、视角依赖关联起来
    • 能否学出不同 semantic region 的不同边界风格

    所以这两个参数不只是“调得好不好看”,而是很可能构成一个新研究方向的接口。


    3.7 渲染深度排序的近似性

    论文在渲染时通常会按 primitive 中心的深度做排序,然后 alpha compositing。 这和 3DGS 非常接近,优点是:

    • 容易并行
    • 工程上成熟

    但从复现和研究角度,你必须意识到这里有近似。

    因为一个 convex 可能:

    • 很长
    • 很扁
    • 横跨较大的深度范围

    这时如果只按中心排序,可能会出现:

    • 局部遮挡不精确
    • 交错几何处混合错误
    • 复杂边缘处的 compositing bias

    论文的目标是实时渲染,因此这种近似完全合理。 但如果你之后想把 3DCS 做到更高质量、更强几何一致性,这一块是可挖的。


    3.8 densification 机制的研究价值到底在哪里?

    这是我认为整篇论文最值得继续研究的一块。

    作者发现:

    对 convex primitive 来说,position gradients 并不能可靠地告诉系统哪里该增密。

    为什么?

    因为 convex 的误差往往不是“你中心偏了”,而是:

    • 你形状不对
    • 你边界不对
    • 你覆盖范围不对
    • 你太大了,或者太粗了

    于是他们观察 sharpness 相关信号,并让 primitive 沿着自己的点集支撑结构被拆分。

    这意味着 densification 的逻辑从:

    • 位置驱动

    变成了:

    • 几何表达不足驱动

    这是一种很深的变化。

    你甚至可以把它理解为:

    3DGS 的增密更像局部采样细化; 3DCS 的增密更像几何部件递归分解。

    这个思想非常有研究潜力。


    3.9 参数效率为什么比“单看 primitive 数量”更重要?

    很多人容易被“更少 primitive”吸引,但真正更重要的是:

    在相似参数预算下,谁的表达能力更强。

    因为一个 convex 的参数其实并不一定比一个 Gaussian 少。 它有多个点,还有 δ、σ、opacity、SH 系数。

    所以论文真正想证明的不是:

    我每个 primitive 更便宜。

    而是:

    我每个 primitive 更有表达力。

    这意味着 3DCS 在参数效率上的提升,本质上是:

    更高质量的 basis element(基函数/基图元)

    这对后续很多方向都非常重要,例如:

    • hybrid primitive 系统
    • learned primitive selection
    • scene-adaptive representation
    • geometry-aware radiance basis design

    3.10 为什么作者说 3DCS 更“physically meaningful”?

    这是这篇论文很有野心的一句话。

    因为 Gaussian 在很多时候更像一种“图像拟合粒子”, 你可以用它把图像凑出来,但它未必让人感觉:

    “这真是世界里的一个有意义的局部几何块。”

    而 convex 不一样。 一个局部凸块天然更容易对应:

    • 桌角
    • 柜体边缘
    • 一块平面
    • 某个刚性部件
    • 某个物体的局部体积

    所以 3DCS 的潜在价值不止在 novel view synthesis,还在于:

    • 更易解释的 3D scene representation
    • 更适合编辑的三维表示
    • 更适合物体级分解
    • 更适合几何先验融合
    • 更可能服务机器人、仿真、交互式编辑

    这也是为什么我会说:

    3DCS 不是一个单纯提指标的论文,它其实是在往“结构化三维表示”方向走。


    3.11 复现这篇论文,你应该怎么做?

    下面给一个非常实战化的路线。


    3.11.1 第一阶段:搭建基础系统

    你需要先有一个类似 3DGS 的框架,包括:

    • 数据读取
    • 相机参数处理
    • SfM 点云初始化
    • primitive 参数管理
    • CUDA rasterizer
    • SH 颜色计算
    • alpha compositing
    • 优化器与训练循环

    如果这些都没有,直接从零复现难度会很高。


    3.11.2 第二阶段:定义 convex primitive

    你需要为每个 primitive 存这些信息:

    • (K) 个 3D 点
    • (\\delta)
    • (\\sigma)
    • opacity
    • SH 系数

    如果走论文默认设置,通常可以先用:

    • (K = 6)
    • SH degree = 3

    因为论文里 K=6 基本已经是一个比较稳妥的 sweet spot。


    3.11.3 第三阶段:实现前向渲染

    每个 iteration 里,对每个 primitive 大致做:

  • 取出 (K) 个 3D 点
  • 投影到当前相机视角的 2D 平面
  • 计算 2D convex hull
  • 提取 hull 边界线
  • 对 tile 内像素计算 signed distance
  • 用 LogSumExp + sigmoid 得到 indicator
  • 按深度排序
  • 做 alpha blending
  • 这里最耗工程的部分不是公式,而是:

    • hull 计算
    • tile culling
    • per-pixel line distance 评估
    • sorting 和 blend 的 CUDA 优化

    3.11.4 第四阶段:实现反向传播与训练稳定性

    你需要重点检查这些梯度链条:

    • 3D 点 -> 2D 投影
    • hull 边界 -> signed distance
    • (\\delta) 对 LogSumExp 的影响
    • (\\sigma) 对 sigmoid 的影响
    • opacity 的数值范围
    • SH 系数对颜色的影响

    比较容易出问题的地方包括:

    • 数值爆炸
    • 边界梯度抖动
    • hull vertex 切换导致的不稳定
    • mixed precision 下 exponent 溢出

    3.11.5 第五阶段:实现 densification 和 pruning

    这个阶段是复现成败的关键之一。

    你需要:

    • 设计 split 触发标准
    • 实现一个 convex -> (K) 个 smaller convex
    • 处理新 primitive 的初始化
    • 重新分配 opacity / sharpness
    • 做低贡献 primitive 的剪枝

    这里如果实现得粗糙,模型很可能会:

    • primitive 爆炸
    • 内存失控
    • 收敛很慢
    • 或者拟合效果不稳定

    3.12 复现中的隐藏坑

    坑一:Graham Scan 不是你想的那么简单

    理论上 convex hull 很简单, 但放到训练里,你还要面对:

    • 批量处理
    • 不同点数
    • 顶点重排
    • 可微性边界
    • GPU 并发

    这不是一个“调个库函数就结束”的问题。

    坑二:LogSumExp 数值稳定性

    如果 δ 或 σ 太大,指数项很容易炸。 你一定要做:

    • 稳定版 log-sum-exp
    • 参数初始化控制
    • 必要的裁剪或 reparameterization

    坑三:primitive 排序与 blending

    convex footprint 不是 Gaussian footprint, 其 bbox 和真实覆盖区域差别可能更大, 这会影响 tile-based culling 的效率。

    坑四:densification schedule

    很多时候论文主文不会把全部阈值写全。 实际复现时,split 频率、阈值、何时 stop densification,往往决定最终效果。


    3.13 这篇论文有哪些明确局限?

    任何值得认真读的论文,都不能只讲优点。

    局限一:对无规则自然场景未必最优

    树叶、草丛、灌木这种复杂自然结构,convex 不一定占优。

    局限二:训练和渲染一般比 3DGS 更慢

    因为 primitive 更复杂,footprint 计算也更复杂。

    局限三:表达单元仍然是 convex

    而现实世界有很多凹形结构。 3DCS 要表达凹形,只能靠多个 convex 去拼。

    局限四:排序仍然是近似

    对于大范围跨深度图元,中心排序并不总是完美。

    局限五:工程实现复杂度不低

    比起标准 3DGS,3DCS 的 kernel 和渲染逻辑更复杂,复现门槛更高。


    3.14 未来最值得做的研究方向

    如果你想基于这篇论文继续往前走,我认为至少有五个方向特别值得做。

    方向一:Hybrid Primitive

    把 Gaussian 和 Convex 混在一起:

    • Gaussian 负责树叶、草地、柔和纹理
    • Convex 负责建筑、平面、硬边、规则结构

    这可能比纯 3DGS 或纯 3DCS 都更强。

    方向二:Concave-aware 表示

    不再局限于 convex,考虑:

    • convex union
    • differentiable concave decomposition
    • BSP 风格图元

    方向三:Geometry-supervised 3DCS

    引入:

    • 深度监督
    • 法线监督
    • 多视图几何一致性
    • 平面先验

    让 3DCS 不只是图像拟合强,而且几何更准。

    方向四:Semantic-aware 3DCS

    让每个 primitive 同时带:

    • 几何
    • 外观
    • 语义标签
    • instance id

    这样就能直接用于场景理解和编辑。

    方向五:可学习的 densification policy

    当前 split 规则仍偏经验式。 未来完全可以把它做成:

    • uncertainty aware
    • residual aware
    • geometry aware
    • reinforcement 或 meta-learned 的策略

    3.15 博士阶段总结

    如果你已经读到这里,那么你应该能意识到:

    这篇论文的真正意义,不只是把结果做得更清晰一点。 它更重要的贡献是:重新打开了 radiance field 中“primitive 应该长什么样”的问题。

    它告诉我们:

    • primitive 不必总是 Gaussian
    • geometry-aware primitive 很有价值
    • 结构化场景需要更有几何表达力的图元
    • real-time rendering 与几何表达力并不是天然矛盾的

    所以从研究视角来看,这篇论文最值得记住的一句话是:

    3D Convex Splatting 不是对 3DGS 的小修小补,而是对显式辐射场 primitive 设计范式的一次实质推进。


    四、三层一句话总结

    小白一句话

    它把 3DGS 里的“模糊小云团”换成了“形状可调的软凸块”,所以更擅长还原平面和硬边。

    硕士一句话

    它提出了一个基于 smooth convex primitive 的可微 splatting 渲染框架,在结构化场景中比 3DGS 更有几何表达力,并能以更少 primitive 获得更优感知质量。

    博士一句话

    它把 convex geometry representation、2D hull-based differentiable footprint construction 与 tile-based real-time rasterization 融合起来,重新定义了 radiance field primitive 的设计空间,并为后续 geometry-aware explicit rendering 提供了新的方向。


    五、我的评价:这篇论文值不值得读?

    非常值得。

    原因不是因为它“比 3DGS 高了几点指标”这么简单, 而是因为它提出了一个非常重要的研究问题:

    当我们做显式辐射场时,primitive 的设计空间到底有多大?

    3DGS 证明了 Gaussian 很强。 3DCS 则进一步证明:

    Gaussian 不是唯一合理答案。

    如果你是以下人群,我会非常建议你认真读这篇论文:

    • 想进入 NeRF / 3DGS 方向的研究生
    • 想找 3DGS 新改进点的同学
    • 想做结构化几何表示的博士生
    • 想做实时三维重建 / 新视角合成系统的工程研究人员

    六、写在最后

    很多论文看起来只是在“换个表示”, 但真正好的论文,往往是通过“换个表示”,改写了整个问题的解法。

    3D Convex Splatting 就属于这一类。

    它提醒我们:

    • 表示方式会决定优化方式
    • 优化方式会决定渲染方式
    • 渲染方式会反过来影响最终的视觉质量与几何可解释性

    所以它不是一篇“改一点点参数”的论文, 而是一篇很值得细读的、带有范式意味的工作。


    总结

    本文我们把 《3D Convex Splatting: Radiance Field Rendering with 3D Smooth Convexes》 这篇论文拆成了三个层次:

    • 小白阶段:讲清它到底在解决什么问题
    • 硕士阶段:讲清它的方法、公式、实验和适用场景
    • 博士阶段:讲清它的研究意义、复现要点、隐藏难点和未来方向

    如果把全文再压缩成最后一句话,那就是:

    3DCS 的本质,是用更有几何表达力的 smooth convex primitive,替代 3DGS 中天然偏模糊的 Gaussian primitive,从而在结构化场景中实现更优的新视角合成。

    愿你下次再看到这篇论文时,不只是“眼熟”,而是真正“吃透”。

    赞(0)
    未经允许不得转载:171主机测评 » 3D Convex Splatting 精读:从小白到博士,彻底拆解 3D Smooth Convexes 如何重塑辐射场渲染
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址