RefracGS: Novel View Synthesis Through Refractive Water Surfaces with 3D Gaussian Ray Tracing¶
会议: ECCV 2026
论文: ECCV 官方页面
领域: 3D 视觉
关键词: 3D高斯泼溅, 动态水面折射, 神经高度场, 可微光线追踪, 新视角合成
一句话总结¶
针对非平整折射水面下水下场景重建中的非线性光路畸变与多视角不一致难题,本文提出结合连续神经高度场与网格细分求交的混合水面表征,并构建了梯度可穿透斯涅尔折射定律反传至水面参数的端到端可微 3D 高斯光线追踪框架,实现了兼具 15 倍训练加速与 200+ FPS 实时渲染的高保真新视角合成与水面水下联合解耦重建。
研究背景与动机¶
透过非平整折射水面观测水下场景的新视角合成,是浅水测深、水下环境监测与水下文化遗产保护等领域的关键基础问题。在空气中成像时,光线通常沿直线传播,辐射场表征(如 NeRF 与 3D Gaussian Splatting)依赖于空间多视角一致性与线性投影假设即可实现亚毫米级的高保真重建。然而,当光线穿透具有动态波纹的水-气界面时,介质折射率的不匹配导致光线方向在界面处发生突变,不仅引入严重的空间非线性畸变,更彻底破坏了传统多视角几何中的对极约束与直线投射规律。
现有折射神经辐射场方法(如 NeRFrac)尝试在光路中显式引入折射折角,但受限于体渲染本身密集的采样计算,训练耗时数小时且无法实时渲染;更严峻的是,诸多隐式方法直接将折射界面法向参数化为相机光线的函数,这种视线相关的局部建模机制天然缺失跨视角的全局几何一致性,极易产生水面几何漂移与水下结构重影。虽然近期 3DGS 凭借光栅化速度优势席卷三维重建领域,且后续拓展如 3DGRT 开始探索高斯光线追踪,但其渲染管线对折射与反射几何不可微,无法在未知界面形态下逆向联合求解折射水面;而面向透明物体的重建方法(如 TransparentGS)亦无法应对具有连续复杂波纹的流体交界面。
面对折射界面高频起伏与实时光线追踪之间的矛盾,关键切入点在于将折射界面与水下场景显式解耦,并构建一种既具备网格级硬件求交速度、又具备场连续性与完全可微梯度的折射表征。核心 idea:将折射水面显式解耦并建模为由粗到细网格递归细分求交的神经高度场,结合符合斯涅尔定律的全可微 3D 高斯光线追踪,实现梯度由图像损失直接反向穿透折射路径联合优化水面几何与水下高斯场景。
方法详解¶
整体框架¶
RefracGS 旨在仅使用从水面上方采集的多视角图像和相机参数,端到端联合重建水面几何形态以及水下三维场景。整个流程由两个核心部分组成:一是建模水面形态的混合水面表征——水面高度图(Water Height Map),它结合了连续的神经高度场与递归细分的三角网格代理;二是折射感知的 3D 高斯光线追踪管线(Refraction-Aware Gaussian Ray Tracing),负责将像素光线通过水面折射后遍历水下 3D 高斯基元进行可微渲染与梯度回传。
在正向渲染过程中,针对每个像素发射一条相机光线,首先在全局粗网格代理上通过硬件加速的 BVH 执行快速求交,随后局部剔除未相交三角形并进行递归细分,查询神经高度场并利用重心坐标插值得到连续平滑的水面交点与法向量。接着,利用斯涅尔定律计算出水面下的折射光线方向与折射起点,折射光线穿透水下场景并与一系列 3D 高斯基元求交,按透射率累积颜色与不透明度。在反向传播过程中,图像重构损失不仅更新水下 3D 高斯参数,更穿透折射路径传导至折射交点与折射光向,进而更新神经高度场 MLP 权重。
%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
A["多视角输入光线 r = (o, d)"] --> B["神经高度场与代理网格<br/>连续隐式建模与BVH粗求交"]
B --> C["递归细分求交与法向平滑<br/>局部细分剪枝与重心坐标插值"]
C --> D["折射感知高斯光线追踪<br/>斯涅尔定律折射与高斯辐射累积"]
D --> E["端到端可微联合优化<br/>多视角光度与不透明度损失反传"]
关键设计¶
1. 神经高度场与代理网格:解耦多视角一致空间的水面表征
传统折射隐式场将折射界面建模为视线相关的局部参数,无法保证多个摄像机视线交汇在同一物理水面,导致严重的视角不一致假影。针对这一痛点,本文观察到大多数水面大体垂直于高度轴并沿水平面展开,因而将向上方向对齐为 \(Z\) 轴,把折射水面显式表示为世界空间中连续的单值神经高度场 \(\mathcal{H}(x, y) = z\)。折射水面被定义为零等值面 \(\mathcal{H}(x, y) - z = 0\),由一个轻量 MLP 参数化。由于该高度场完全建立在全局笛卡尔坐标系下,彻底消除了视线依赖性,天然赋予折射表面严苛的多视角几何一致性。为了克服直接对隐式场进行光线步进二分查找所带来的沉重计算负担,系统在 2D 水平面上预定义初始粗三角网格 \(\mathcal{M}_{2D}(V_{2D}, F)\),通过查询高度场将其顶点抬升为 3D 代理网格(Proxy Mesh),将场求交转化为可由硬件 RT Core 与层次包围盒(BVH)加速的光线-网格求交问题。
2. 递归细分求交与法向平滑:高频波纹精确捕获与连续法向估计
固定分辨率的网格代理无法表达水面波动产生的高频细粒度几何,而全局加密网格又会引发显存暴涨与冗余查询。为此,本文设计了粗到细的递归细分追踪算法(Recursive Subdivision Tracing)。在获得粗网格的全局 BVH 求交掩码后,算法剪除所有未被光线击中的面片,仅对相交面片递归执行局部四叉细分(1 个三角形分为 4 个子三角形),并仅对新生成的细分顶点查询神经高度场 \(\mathcal{H}\) 更新空间坐标,在局部完成下一轮更精细的求交测试。这一过程在避免重复构建全量 BVH 的同时大幅降低了对 MLP 的查询开销。针对离散三角形面法向在边界处的不连续跳跃会导致折射光线方向骤变并造成条纹伪影的问题,本文引入基于重心坐标的顶点法向平滑插值机制:
其中 \(\alpha + \beta + \gamma = 1\) 为交点 \(p\) 对应三角形三顶点 \((v_i, v_j, v_k)\) 的重心坐标,顶点法向通过邻域面法向平均预先得到。平滑法向场的构建为后续精确计算折射角奠定了物理与视觉一致性基础。
3. 折射感知高斯光线追踪:全可微非线性光路传递与梯度反传
既往基于高斯的光线追踪(如 3DGRT)将光线追迹作为不可微的前向探针,无法从水面下的成像误差反推出未知的折射界面参数。本文建立了端到端可微的折射光线追踪闭环。给定求交所得水面点 \(\mathbf{p} \in \mathbb{R}^3\) 与单位法向 \(\mathbf{n} \in SO(3)\),光线根据矢量化斯涅尔折射定律发生偏折:
其中 \(\mathbf{\omega}_i\) 为入射光线方向,\(\mathbf{\omega}_o\) 为折射光向,\(\eta = n_1 / n_2\) 为空气与水的折射率比值,\(c_1 = \mathbf{n} \cdot \mathbf{\omega}_i\),\(c_2 = \sqrt{1 - \eta^2(1 - c_1^2)}\)。偏折后的光线从 \(\mathbf{p}\) 出发遍历水下由各向异性 3D 高斯基元组成的场景场,沿折射路径基于透射率加权累积颜色与密度。在反向传播中,渲染颜色对折射光起点 \(\mathbf{p}\) 和折射方向 \(\mathbf{\omega}_o\) 的一阶偏导数被显式推导并贯通,使光度梯度的反向传播直接回流至高度场 MLP 的网络权重中,驱动折射界面几何与水下高斯球位置、协方差、不透明度及球谐系数协同收敛。
损失函数 / 训练策略¶
模型整体在多视角图像监督下进行优化,总损失函数结合了光度重建损失与针对高斯浮空伪影的正则化约束:
其中光度损失由绝对误差 \(\mathcal{L}_1 = \|\mathbf{C} - \mathbf{C}_{gt}\|_1\) 与结构相似度损失 \(\mathcal{L}_{\text{SSIM}} = 1 - \text{SSIM}(\mathbf{C}, \mathbf{C}_{gt})\) 组成。针对水面折射在稀疏视角区域容易引发高不透明度浮空假影(Floaters)遮挡后续高斯并诱发梯度弥散的问题,设计了全局高斯不透明度二次惩罚损失:
超参数分别设定为 \(\lambda_1 = 0.8\)、\(\lambda_2 = 0.2\) 与 \(\lambda_3 = 0.007\)。整个系统在单张 NVIDIA RTX 4090 GPU 上训练 15k 步(约 10-12 分钟),通过 OptiX 与定制化 CUDA 算子实现软硬件高度协同。
实验关键数据¶
主实验¶
评估涵盖两个基准:NeRFrac 真实与合成数据集(各包含 8 视角垂直向下拍摄图像),以及视角覆盖跨度更大、折射入射角更陡峭、具备真实水面几何标注的 RefracGS 数据集(24 视角训练,6 视角测试)。基线对比涵盖通用辐射场方法(Mip-NeRF、TensoRF、Plenoxels、3DGS、3DGRT)与专用折射模型(WSGS、NeRFrac)。水面几何精度以测试视线交点与水面真值间的均方根误差(RMSE,单位 cm)衡量。
| 数据集 | 方法 | PSNR ↑ | SSIM ↑ | LPIPS ↓ | 训练时间 ↓ | 渲染 FPS ↑ | 水面 RMSE(cm) ↓ |
|---|---|---|---|---|---|---|---|
| NeRFrac Real | Mip-NeRF | 10.385 | 0.221 | 0.916 | ~15 h | < 1 | - |
| TensoRF | 22.973 | 0.809 | 0.139 | 11 min | < 1 | - | |
| Plenoxels | 14.867 | 0.389 | 0.631 | 9 min | 61 | - | |
| 3DGS | 27.711 | 0.864 | 0.130 | 3 min | 857 | - | |
| 3DGRT | 27.732 | 0.842 | 0.164 | 16 min | 157 | - | |
| WSGS† | 22.449 | 0.679 | 0.279 | 106 min | 129 | - | |
| NeRFrac† | 28.146 | 0.876 | 0.167 | 149 min | < 1 | - | |
| Ours† | 30.671 | 0.913 | 0.129 | 10 min | 242 | - | |
| NeRFrac Synthetic | Mip-NeRF | 12.414 | 0.382 | 0.870 | ~15 h | < 1 | - |
| TensoRF | 16.223 | 0.532 | 0.601 | 11 min | < 1 | - | |
| Plenoxels | 13.334 | 0.407 | 0.806 | 12 min | 72 | - | |
| 3DGS | 22.186 | 0.730 | 0.300 | 3 min | 704 | - | |
| 3DGRT | 21.929 | 0.689 | 0.363 | 27 min | 89 | - | |
| WSGS† | 20.868 | 0.726 | 0.271 | 107 min | 153 | - | |
| NeRFrac† | 34.381 | 0.944 | 0.149 | 77 min | < 1 | - | |
| Ours† | 35.816 | 0.952 | 0.136 | 12 min | 203 | - | |
| RefracGS | Mip-NeRF | 13.874 | 0.479 | 0.808 | ~15 h | < 1 | - |
| TensoRF | 14.125 | 0.362 | 0.658 | 13 min | < 1 | - | |
| Plenoxels | 13.983 | 0.383 | 0.790 | 12 min | 23 | - | |
| 3DGS | 17.482 | 0.428 | 0.486 | 5 min | 593 | - | |
| 3DGRT | 18.019 | 0.424 | 0.545 | 14 min | 182 | - | |
| WSGS† | 17.915 | 0.424 | 0.484 | 105 min | 124 | - | |
| NeRFrac† | 17.837 | 0.405 | 0.624 | 164 min | < 1 | 3.655 | |
| Ours† | 30.224 | 0.933 | 0.098 | 11 min | 124 | 0.115 |
(注:† 表示专为折射场景设计的方法)
消融实验¶
在 NeRFrac 真实与合成基准上验证各核心模块贡献的消融结果如下表所示:
| 配置 | PSNR ↑ | SSIM ↑ | LPIPS ↓ | 训练时间 ↓ | 渲染 FPS ↑ | 核心说明 |
|---|---|---|---|---|---|---|
| (a) 移除水面高度图(采用 NeRFrac 折射场) | 27.782 | 0.869 | 0.168 | 22 min | 57 | 视线相关折射场破坏多视角一致性,PSNR 大跌 5.09 dB |
| (b) 移除法向平滑(使用离散面法向) | 32.643 | 0.928 | 0.133 | 11 min | 232 | 面法向在三角面缝隙跳跃引入光路扰动,图像质量下降 |
| (c) 移除递归细分(固定低精网格求交) | 32.966 | 0.929 | 0.132 | 20 min | 218 | 训练耗时由 11 min 翻倍至 20 min,表明细分剪枝兼具极佳效率与保真度 |
| (d) 移除不透明度正则损失 \(\mathcal{L}_\alpha\) | 31.927 | 0.920 | 0.125 | 12 min | 224 | 稀疏视角产生高密度浮空杂质遮挡高斯基元,PSNR 下降近 1 dB |
| 完整模型 (Full Model) | 32.876 | 0.929 | 0.132 | 11 min | 223 | 在重构质量、训练速度与渲染帧率之间取得最优平衡 |
关键发现¶
- 水面高度图提供绝对的几何锚定作用:移除水面高度图改用 NeRFrac 隐式折射场时,PSNR 由 32.88 骤降至 27.78(跌落 5.1 dB),且渲染帧率从 223 跌至 57 FPS,证实了全局笛卡尔神经高度场对于消除多视角空间歧义的决定性作用。
- 大倾角与宽基线下的鲁棒性断崖:在更贴近实际环境的 RefracGS 环绕视点测试集上,先前最强基线 NeRFrac 因视线相关法向拟合崩溃,PSNR 仅有 17.84 dB 且水面重构误差高达 3.655 cm;本文方法依然取得 30.22 dB 的高质量合成,水面误差压缩至 0.115 cm(精度提升 30 余倍)。
- 递归细分的高性价比工程折中:递归细分策略使得训练时间缩短近 50%(从 20 分钟降至 11 分钟),虽然极少量边缘光线可能偶发性漏穿微小三角面,但对最终 PSNR 影响几乎可以忽略(仅微弱降低 0.09 dB)。
- 物理去水(Water Removal)的下游几何提取:在 RefracGS 数据集上去除水面折射后重新渲染图像,本文达到 23.15 dB(NeRFrac 仅为 14.95 dB),该无折射纯净图像可直接无缝喂给高斯表面重建算法 PGSR 提取精准的水下致密三维 Mesh 网格。
亮点与洞察¶
- 神经场连续性与网格求交硬件加速的优雅缝合:将连续单值神经高度场动态提升至粗三角网格代理,利用 RT Core 的 BVH 快速求交,再局部四叉细分局部查询神经高度场,完美融合了隐式场的高精连续性与显式网格的硬件级遍历速度。
- 折射光路的全可微穿透打通高斯几何反演:突破了以往 3DGRT 等高斯光线追踪管线中界面不可微的硬伤,显式构建了像素损失经由折射高斯辐射回传至折射界面法向与高度场的反向链式法则,实现了无真值先验下的自监督界面形状估计。
- 水面与水下的自然物理解耦:通过显式参数化物理水-气折射界面的边界曲面,渲染时只需关掉折射偏折计算即可一键实现完全物理保真的“水体消除”,或直接将水面替换为正弦波等任意合成网格实现虚拟水面二次编辑。
局限与展望¶
- 假设单值水面高度场:将水面参数化为 \(H(x, y)\) 无法处理水花翻滚、飞溅卷曲或破碎波浪等具有多层拓扑接触面的复杂流体极限状态。
- 忽略反射与水体参与介质效应:当前物理模型侧重于界面折射引起的几何形变,尚未融入水体表面的菲涅尔反射光泽以及水体内部颗粒造成的次表面散射与衰减。
- 静态场景假设:模型目前要求采集的多视角水面与水下几何保持静态,如何扩展到随时间演化的动态水波视频序列仍待探索。
- 基元形态可向 2D 高斯演进:水下场景目前采用 3D 高斯基元进行拟合,未来若引入平面约束更强的 2D Gaussian Splatting,有望进一步拉升直接几何提取时的法向准确性。
相关工作与启发¶
- vs NeRFrac: NeRFrac 依赖神经辐射场并使用视线相关的局部参数化估计折射法向,训练需数小时且无法实时渲染,大角度视线下几何极易崩塌;本文采用世界坐标系神经高度场与 3D 高斯光线追踪,训练提速约 15 倍,实现 200+ FPS 渲染并彻底解决了跨视角几何不一致。
- vs 3DGRT: 3DGRT 实现了 3D 高斯基元的光线追踪前向计算,但其求交与界面变换不可微;本文通过数学推导打通了折射界面交点与法向对水面高度场权重的反向梯度流,首创了基于高斯光线追踪的折射水面反向优化。
- vs WSGS: WSGS 假设水面为绝对平整的二维平面,在面对带有起伏波纹的非平整水面时表现急剧恶化;本文支持任意起伏波纹的高度场建模,兼具平整与复杂水面形态的普适性。
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次打通面向复杂折射界面的全可微 3D 高斯光线追踪与粗到细神经高度场混合表征
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖真实与合成场景、狭窄基线与广角大折射场景,具备视角合成、表面精度、消融与去水应用完备评测
- 写作质量: ⭐⭐⭐⭐⭐ 物理机制推导清晰,算法图示与消融论证严密自洽
- 价值: ⭐⭐⭐⭐⭐ 为涉水遥感、水下机器人感知及透明介质穿透三维重建提供了极具实用价值的实时新范式