如果有研究水下3D重建的研究者,可以通过邮箱zhangwenniu@163.com联系我,我目前创建了一个水下3D重建的研究者交流群,欢迎感兴趣的研究者加入。
链接
[v1] Sun, 14 Jul 2024 20:24:44 UTC (15,456 KB) [v2] Tue, 16 Jul 2024 22:20:11 UTC (15,456 KB)
Published in: IEEE Robotics and Automation Letters ( Volume: 10, Issue: 1, January 2025)
发表于二区期刊IEEE Robotics and Automation Letters
论文重点难点讲解
1. 研究背景与问题
-
重点:水下成像中,浅水区域的海底图像常受到水下光斑(water caustics)的影响,这种现象由水面波浪的折射导致,表现为光斑闪烁,严重影响图像的视觉质量和后续的计算机视觉任务。
-
难点:传统方法(如2D滤波或基于深度学习的方法)在处理具有3D结构的图像时表现不佳,且依赖于标注数据,难以泛化到真实世界的数据。
2. 提出的方法:Recurrent Gaussian Splatting (RecGS)
-
重点:论文提出了一种基于3D重建技术的方法,称为Recurrent Gaussian Splatting (RecGS),利用3D Gaussian Splatting (3DGS)技术从图像序列中分离出光斑。
-
难点:
-
如何在3D场景表示中有效地分离光斑,同时保持图像的光度一致性和3D一致性。
-
如何设计一个无需标注数据的无监督框架,使其能够泛化到新的场景。
3. 方法细节
- 重点:
-
3DGS初始化:通过Structure-from-Motion (SfM)估计相机姿态和3D关键点云,初始化3DGS模型。
-
残差重建与2D FFT:通过计算渲染图像与真实图像的残差$R = I - \hat{I}$,并利用2D快速傅里叶变换(FFT)提取低频光斑成分$C = \text{ifft}(\text{fft}(R)[0:k])$。
-
迭代优化:通过交替优化3DGS模型和光斑成分,逐步去除光斑,最终得到无光斑的图像。
- 难点:
-
频率阈值的选择:FFT中保留的低频成分数量$k$需要手动调整,不当的选择会导致光斑去除不彻底或引入伪影。
-
迭代收敛:需要设计合适的迭代终止条件,以确保算法在有限步骤内收敛。
4. 实验与结果
- 重点:
-
数据集:使用在佛罗里达礁石保护区收集的水下图像数据集,验证方法的有效性。
-
对比实验:
-
与联合优化方法对比:联合优化光斑和3DGS会导致光照不均衡,而RecGS能够保持光照一致。
-
与预训练的深度学习方法对比:预训练模型在新场景下表现不佳,而RecGS无需预训练即可有效去除光斑。
-
与2D滤波方法对比:RecGS在处理具有3D结构的图像时表现更好。
-
难点:
-
泛化能力:如何证明RecGS在更广泛的场景和光照条件下依然有效。
-
性能评估:如何量化光斑去除的效果,尤其是在视觉效果上。
5. 局限性
- 重点:
-
稀疏视图3D重建:当前方法在从训练数据中仅包含顶视图时,侧视图重建效果不佳。
-
参数调整:FFT的频率阈值需要手动调整,存在潜在的失败风险。
- 难点:如何改进3D重建方法以支持更广泛的视角,并减少对超参数的依赖。
6. 未来工作
- 重点:
-
改进稀疏视图下的3D重建能力,以支持更好的新视角渲染。
-
将RecGS应用于其他具有挑战性的成像问题,如反射表面处理或光照不一致问题。
总结
论文的核心贡献在于提出了一种无监督的3D视觉框架RecGS,能够有效去除水下光斑,同时保持图像的3D一致性和光照一致性。其难点在于如何平衡3D重建的泛化能力和光斑去除的效果,以及如何减少对超参数的依赖。
论文详细讲解
1. 研究背景
水下成像中,浅水区域的海底图像常因水面波浪的折射而出现水下光斑(water caustics),表现为光斑闪烁,严重影响图像质量和后续的计算机视觉任务。传统方法(如2D滤波或深度学习)在处理具有3D结构的图像时表现不佳,且依赖于标注数据,难以泛化到真实世界的数据。
2. 研究目标
提出一种无监督的3D视觉算法,从水下图像序列中去除光斑,同时保持图像的光度一致性和3D一致性,无需依赖标注数据。
3. 提出的方法:Recurrent Gaussian Splatting (RecGS)
3.1 3D Gaussian Splatting (3DGS)
3DGS是一种基于3D高斯分布的场景表示方法,能够实现高效的光场渲染。给定一系列水下图像和相机姿态,3DGS通过优化3D高斯分布的参数来拟合图像。渲染公式为:
\[\hat{I} = \sum_{i \in N} c_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j)\]其中,$c_i$和$\alpha_i$分别是第$i$个高斯分布的RGB辐射度和体积密度。
3.2 光斑建模
光斑被视为场景的附加辐射度,优化问题可以表示为:
\[\min_G \text{dist}(I - C, \hat{I})\]其中,$C$是光斑,与训练图像$I$具有相同的格式,包含RGB三个通道。
3.3 残差重建与2D FFT
通过计算3DGS渲染图像与真实图像的残差$R = I - \hat{I}$,并利用2D快速傅里叶变换(FFT)提取低频光斑成分:
\[C = \text{ifft}(\text{fft}(R)[0:k])\]这里,$[0:k]$表示保留频率空间中绝对值最小的$k$个频率成分,实验中$k$取为9。
3.4 迭代优化(Recurrent 3DGS)
RecGS通过迭代优化逐步去除光斑。初始阶段,使用3DGS优化图像,然后通过FFT分解残差中的光斑,再将去除光斑后的图像用于下一次3DGS优化,直到光斑估计收敛。算法流程如下:
输入:图像序列$I$,相机姿态
输出:无光斑的渲染图像$\hat{I}$,光斑图像$C_{\text{ret}}$
1
. 使用3DGS优化图像:$\min_G \text{dist}(I, \hat{I})$
2
. 初始化$C_{\text{ret}} = \text{zeros_like}(I)$
3
. while True do
4
. 计算残差:$R = I - \hat{I}$
5
. 通过FFT分解光斑:$C = \text{ifft}(\text{fft}(R)[0:k])$
6
. if $|C - C_{\text{ret}}|_2 < \text{threshold}$ then
7
. $C_{\text{ret}} = C$
8
. break
9
. else
10
. 使用去除光斑后的图像优化3DGS:$\min_G \text{dist}(I - C, \hat{I})$
11
. end if
12
. end while
13
. 返回$\hat{I}$和$C_{\text{ret}}$
4. 实验与结果
4.1 实验设置
-
数据集:使用在佛罗里达礁石保护区收集的水下图像数据集,由LSU的Bruce ROV搭载ZED相机拍摄,水深5-10米。
-
训练:选择4个无明显运动物体的图像序列,使用COLMAP进行完整的3D重建,基于3DGS实现渲染。
4.2 实验结果
-
与联合优化方法对比:联合优化光斑和3DGS会导致光照不均衡,而RecGS能够保持光照一致。
-
与预训练的深度学习方法对比:预训练模型在新场景下表现不佳,而RecGS无需预训练即可有效去除光斑。
-
与2D滤波方法对比:RecGS在处理具有3D结构的图像时表现更好。
-
迭代效果:随着迭代次数增加,光斑的重建效果逐渐清晰,误差迅速收敛,通常在40次迭代内完成。
5. 局限性
-
稀疏视图3D重建:当前方法在从训练数据中仅包含顶视图时,侧视图重建效果不佳。
-
参数调整:FFT的频率阈值需要手动调整,不当的选择会导致光斑去除不彻底或引入伪影。
6. 未来工作
-
改进稀疏视图下的3D重建能力,以支持更好的新视角渲染。
-
将RecGS应用于其他具有挑战性的成像问题,如反射表面处理或光照不一致问题。
论文方法部分详细讲解
1. 方法概述
论文提出了一种基于3D重建技术的方法——Recurrent Gaussian Splatting (RecGS),用于从水下图像序列中去除光斑(caustics)。该方法利用3D Gaussian Splatting (3DGS)技术,通过迭代优化的方式分离光斑,同时保持图像的光度一致性和3D一致性。
2. 3D Gaussian Splatting (3DGS)
3DGS是一种高效的3D场景表示方法,通过优化3D高斯分布的参数来重建场景。给定一系列图像和相机姿态,3DGS的渲染公式为:
\[\hat{I} = \sum_{i \in N} c_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j)\]其中,$c_i$和$\alpha_i$分别表示第$i$个高斯分布的RGB辐射度和体积密度。优化目标是最小化真实图像$I$与渲染图像$\hat{I}$之间的距离:
\[\min_G \text{dist}(I, \hat{I})\]3. 光斑建模
光斑被视为场景的附加辐射度,优化问题可以表示为:
\[\min_G \text{dist}(I - C, \hat{I})\]其中,$C$是光斑,与训练图像$I$具有相同的格式,包含RGB三个通道。与以往将光斑建模为单色的方法不同,本方法考虑了光斑的彩色特性。
4. 残差重建与2D FFT
通过计算3DGS渲染图像与真实图像的残差:
\[R = I - \hat{I}\]利用2D快速傅里叶变换(FFT)提取残差中的低频光斑成分:
\[C = \text{ifft}(\text{fft}(R)[0:k])\]其中,$\text{fft}(R)$表示2D离散傅里叶变换,$\text{ifft}$表示其逆变换,$[0:k]$表示仅保留频率空间中绝对值最小的$k$个频率成分。实验中$k$取为9。
5. 迭代优化框架(Recurrent 3DGS)
RecGS通过迭代优化逐步去除光斑。具体步骤如下:
-
初始化:使用3DGS优化图像,得到初始渲染图像$\hat{I}$。
-
残差计算:计算残差$R = I - \hat{I}$。
-
光斑分解:通过2D FFT分解残差中的光斑成分$C$。
-
迭代优化:将分解出的光斑$C$从图像中去除,重新优化3DGS模型:
- 收敛判断:如果连续两次迭代中光斑的差异小于阈值($|C - C_{\text{ret}}|_2 < \text{threshold}$),则停止迭代。
算法流程如下:
输入:图像序列$I$,相机姿态
输出:无光斑的渲染图像$\hat{I}$,光斑图像$C_{\text{ret}}$
1
. 使用3DGS优化图像:$\min_G \text{dist}(I, \hat{I})$
2
. 初始化$C_{\text{ret}} = \text{zeros_like}(I)$
3
. while True do
4
. 计算残差:$R = I - \hat{I}$
5
. 通过FFT分解光斑:$C = \text{ifft}(\text{fft}(R)[0:k])$
6
. if $|C - C_{\text{ret}}|_2 < \text{threshold}$ then
7
. $C_{\text{ret}} = C$
8
. break
9
. else
10
. 使用去除光斑后的图像优化3DGS:$\min_G \text{dist}(I - C, \hat{I})$
11
. end if
12
. end while
13
. 返回$\hat{I}$和$C_{\text{ret}}$
6. 方法特点
-
结构感知(Structure-aware):通过3DGS的3D场景表示,RecGS能够处理具有复杂3D结构的图像。
-
无监督(Unsupervised):无需标注数据,能够直接应用于真实世界的水下图像。
-
迭代优化:通过逐步分解光斑并优化3DGS模型,RecGS能够有效去除光斑,同时保持图像的光度一致性和3D一致性。
7. 方法难点
-
频率阈值的选择:FFT中保留的低频成分数量$k$需要手动调整,不当的选择可能导致光斑去除不彻底或引入伪影。
-
迭代收敛:需要设计合适的迭代终止条件,以确保算法在有限步骤内收敛。
-
稀疏视图3D重建:当前方法在从训练数据中仅包含顶视图时,侧视图重建效果不佳,限制了其在新视角下的泛化能力。
通过上述方法,RecGS能够在无需标注数据的情况下,从水下图像中去除光斑,同时保持图像的光度一致性和3D一致性,为水下成像和3D重建提供了新的解决方案。
原文翻译
RecGS:通过循环高斯绘制去除水下光斑
天一 张¹,维明 知¹,凯宁 黄¹,约书亚 曼格尔森³,科丽娜 巴巴拉塔²,马修 约翰逊-罗伯森¹
摘要:水下光斑通常出现在浅水区域的海底成像数据中。传统的去除光斑模式的方法通常依赖于2D滤波或在标注数据集上进行预训练,这在泛化到具有3D结构的真实世界海底数据时会限制性能。在本文中,我们提出了一种新方法——循环高斯绘制(Recurrent Gaussian Splatting,RecGS),该方法利用当今逼真的3D重建技术——3D高斯绘制(3D Gaussian Splatting,3DGS),从海底图像中分离光斑。通过水下机器人拍摄的一系列图像,我们反复构建3DGS,并在每次迭代中通过低通滤波分解光斑。在实验中,我们将该方法与不同的方法进行了分析和比较,包括联合优化、2D滤波和深度学习方法。结果表明,我们提出的RecGS范式能够有效地将光斑从海底图像中分离出来,改善视觉效果,并且可以应用于更多光照不一致的问题。我们的视频和代码已发布在链接。
图1:(a) 浅水区的水下成像受到水面折射导致的光斑影响。 (b) 我们的方法通过循环构建3DGS,并利用2D傅里叶变换近似光斑。 图1:浅水区的水下成像受到水斑的影响。我们提出的基于3DGS和傅里叶低秩重建的流程可以在无监督的情况下将背景与水斑分离。
I. 引言
随着当今水下机器人技术的发展,海底世界对海洋科学家、海洋学家和公众变得越来越易于接触。机器人可以携带摄像机,以图像和视频的形式扫描海底。3D计算机视觉技术已被应用于从这些2D图像观测中恢复海底的几何结构和形态[1]。然而,水下拍摄的图像表现出严重的水下效应,例如光的衰减、颜色失真和后向散射[2],这些效应降低了图像的视觉质量以及所应用的计算机视觉技术的性能。水下光斑(也称为阳光闪烁)是常见的一种水下效应。这是由于光线通过移动的波浪折射而在水下表面上形成的闪烁图案。本文专注于开发一种3D视觉算法,用于从浅水区海底观测序列中去除水下光斑效应。我们的目标是获得无水斑的水下场景的真实感渲染。
在3D重建的文献中,基于运动的结构(Structure-from-Motion, SfM)方法是最基础的方法之一。这些方法从一系列图像中恢复相机的姿态和场景的稀疏3D结构[3]。然而,SfM的可视化结果通常是稀疏的,并非真实感的。因此,近年来3D重建的进展,如神经辐射场(Neural Radiance Field, NeRF)[4]和3D高斯绘制(3DGS)[5],在SfM的基础上进一步发展,以实现场景的真实感新视图渲染。这些方法构成了3D重建的最新技术(State-of-the-Art, SOTA)。一般来说,由于复杂的异常值剔除机制,SfM流程对光照变化具有较强的鲁棒性。因此,它们可以应用于不同环境光照和相机参数的网络数据[3],同时仍能准确估计相机的姿态。我们还观察到,由于同样的原因,传统SfM流程对水下光斑的影响通常是有限的。在水下恢复真实感可视化具有特别重要的意义,并且对其他科学领域也有影响。然而,水下光斑对基于SfM的真实感表示构建是有害的。这些包括NeRF和3DGS,它们通过优化光度误差而不是重投影误差来进一步学习3D场景。因此,这些模型受到光斑引起的光照不一致性的严重影响。
现有的光斑去除研究要么基于图像滤波,要么基于监督深度学习。基于滤波的方法[6]-[8]通过运行带有运动补偿的非线性时间滤波器来估计和分离光斑。然而,这些手工设计的滤波技术假设运动较小且对3D结构没有感知能力,因此其性能可能会因非最优的超参数、增加的运动速度和海底粗糙度而降低。基于深度学习的方法[9]、[10]需要一个标注的数据集来进行训练。然而,这样的密集光斑标注非常难以获取,难以扩展,并且仅限于单色[10]。因此,基于深度学习的方法在泛化到新的观测时表现不佳。
在本文中,我们将光斑去除视为3D结构内的光照不一致性问题。研究界已经看到与颜色[11]、亮度[12]和曝光不一致性[13]、[14]相关的问题,这些可以通过3D视觉技术在没有任何标注的情况下解决。我们希望推动这一领域的研究边界,并利用表示中保持的3D一致性来去除光斑。为此,我们提出了循环高斯绘制(Recurrent Gaussian Splatting, RecGS),这是一个新颖的框架,通过迭代低通滤波在构建过程中提高3D表示的质量。与现有的水下光斑去除方法相比,我们的方法独特之处在于其对结构的感知能力和无监督性质。也就是说,我们的方法利用我们表示中3D结构的一致性来增强性能,并且不需要任何标注标签,从而能够高效地扩展到大型场景。我们在美国佛罗里达群岛使用遥控水下机器人(ROV)收集的浅水珊瑚数据集上进行了广泛的实证评估。我们的方法始终如一且稳健地生成无光斑的真实感水下场景表示。我们的问题设置和方法的高级说明如图1所示。
II. 相关工作
在本节中,我们讨论了经典的基于滤波的光斑去除方法(II-A和图2左侧)、基于深度学习的光斑去除方法(II-B和图2中部),以及与我们的工作密切相关的NeRF和3D高斯绘制(3DGS)(II-C、II-D和图2右侧)。
A. 经典光斑去除方法
早期的工作通过在短时间内拍摄的一系列连续帧来去除水下光斑[6]。从每个图像帧中提取空间导数,并执行时间中值滤波以消除宽带光斑。然而,这种方法没有考虑相机的运动。基于非线性滤波的方法在[7]中得到了进一步发展,该方法利用类似的设置,在一系列图像中平均化不一致的光照,同时补偿了相机运动。后续工作[8]基于类似原理实现了在线光斑滤波,但假设相机运动是平滑的且海底是平坦的,这限制了其在真实世界图像上的泛化能力。在[15]中提出了一种自适应滤波策略,用于实时优化滤波器参数,但正如作者所承认的,其性能仍然对超参数调整敏感。总体而言,经典计算机视觉方法(如姿态估计和非线性滤波)已被广泛用于补偿水中的光斑,但这些操作都在2D图像空间中进行,对于处理具有3D结构的观测以及处理快速移动且帧间重叠有限的相机的能力有限。
B. 基于深度学习的光斑去除
深度神经网络已展现出在2D图像空间中学习像素级分布的强大能力[16],并有潜力扩展到不同的模态[17]和物理现象[18]。DeepCaustic[9]提出了一个由两个基于CNN的网络组成的流程。第一个网络学习显著性图,第二个网络学习恢复无光斑的图像。在[10]中研究了立体和多视图视觉,以使用神经网络去除光斑,同时保持恢复图像中的海底结构不变。然而,上述所有基于深度学习的方法都需要在带有真实标注和掩膜的数据集上训练神经网络,这使得它们难以扩展,并且在泛化到新的观测时表现不佳。
C. NeRF和3D高斯绘制(3DGS)
构建周围环境的表示对于在户外部署的机器人[19]、[20]以及在室内运行的机器人[21]、[22]都至关重要。广泛使用的基于运动的结构(SfM)[3]、[23]在近年来促进了真实感3D重建的发展。围绕基于特征的SfM[24]、[25]和基于学习的替代方法[26]、[27]已有大量研究工作。基于SfM的相机姿态估计,NeRF[4]使用连续函数(例如多层感知机MLP)对3D场景进行建模,并能够以真实感质量合成新视图图像。随后,NeRF在渲染质量和效率方面由其衍生方法(如Mip-NeRF[28]和Instant-NGP[29])进行了改进。为了减轻渲染中的重采样负担,3DGS[5]用3D高斯分布替换了神经网络主干,实现了100+fps的渲染速度,同时整个系统保持可微分。在本工作中,我们基于3DGS构建3D海底模型,从而可以从指定视图重建图像。准确的环境表示对于各种下游的机器人决策[30]–[32]和规划任务[33]–[35]至关重要。
D. 基于NeRF和3DGS的图像恢复
联合优化3D模型和图像扰动模型已被广泛使用。在[11]中,联合优化了颜色失真和后向散射模型以及神经反射场模型。在DarkGS[12]中,可以与3DGS模型一起优化人工光源的参数。RobustGS[13]优化了一个仿射变换模型,以纠正GS训练数据中的颜色不一致性。在[36]中提出了处理反射表面的尝试。神经表示不仅限于静态表示结构。基于神经表示的同步定位与建图(SLAM)在这种视觉干扰下的鲁棒性已在[37]中系统地研究。多视图NeRF渲染技术也已应用于机器人运动生成[38]、[39]。在本工作中,我们识别并解决了联合优化方法(IVB)中的不适定问题,并提出了一个能够从水下光斑中稳健恢复图像的循环框架。
III. 方法
A. 前提
给定一系列连续的海底观测图像,可以通过如COLMAP[3]的SfM流程估计相机姿态和3D关键点云。利用3DGS,以这个3D关键点云初始化一个3D高斯云$G$。对于图像序列中的每一个相机姿态,可以通过以下渲染方程合成图像[5]:
\[\hat{I} = \sum_{i \in N} c_i \alpha_i \prod_{j=1}^{i-1} (1 - \alpha_j) \quad (1)\]其中,$c_i$和$\alpha_i$分别是3D高斯模型$G$中第$i$个高斯的RGB辐射度和体积密度。给定一个训练图像$I$,优化3D高斯云$G$如下:
\[\min_G \text{dist}(I, \hat{I}) \quad (2)\]这里,$\text{dist}()$是与[5]相同的距离度量。优化$G$指的是优化每个高斯的所有参数,包括$c_i$和$\alpha_i$。
水下光斑可以在浅水区观察到,因为自然光进入水中时会因波动的水面而以不同角度折射,形成聚焦和散焦的图案。虽然精确模拟这种物理现象很困难,但我们可以将光斑$C$近似为场景的附加辐射度(类似于[7]中的方法)。因此,优化问题变为:
\[\min_G \text{dist}(I - C, \hat{I}) \quad (3)\]注意,这里的$C$与训练图像具有相同的图像格式,包含所有R、G和B通道。这与以往大多将光斑建模为单色的研究[9]、[10]不同。
B. 基于2D FFT的残差重建
从我们的观察来看,使用普通的3DGS构建场景时,水下光斑会导致光度不一致。这种不一致的光斑图案会反映在渲染图像的残差中。我们提出用2D低秩傅里叶级数来近似由波面折射引起的光斑。通过从图像序列构建普通的3DGS,可以计算残差$R = I - \hat{I}$。我们实现了基于2D FFT的低通滤波,以近似由光斑引起的低频光照不一致$C$(这一步类似于[7]中使用的巴特沃斯滤波器):
\[C = \text{ifft}(\text{fft}(R)[0:k]) \quad (4)\]其中,$\text{fft}()$和$\text{ifft}()$分别是2D离散傅里叶变换及其逆变换。$[0:k]$表示仅保留频率空间中绝对值最小的$k$个频率。我们选择$k = 9$,这是通过经验确定的。
C. 循环3DGS
虽然根据III-B节中的方法可以从频率谱中分解出光斑,但这并不能完全消除图像序列中的光斑。换句话说,光照不一致性仅部分反映在残差中。我们提出了一种循环3DGS框架(如图3所示),逐步去除光斑。利用式(2)的优化结果,可以通过式(4)求解光斑$C$的初始估计值。然后,利用式(3)重新优化3DGS模型。随着3DGS模型的更新,式(4)也可以更新。我们发现,式(3)和式(4)可以交替求解,直到估计的光斑$C$收敛。循环训练3DGS的详细算法见算法1。该算法将返回无光斑的图像$\hat{I}$以及通过低秩2D FFT重建的光斑$C_{\text{ret}}$。
IV. 实验
在本节中,我们对提出的RecGS方法进行了严格的实证评估。我们在IV-A节中提供了实验设置的详细信息。随后,我们试图探讨并回答以下问题:
-
是否应该将光斑效应与3DGS联合优化?(IV-B节)
-
预训练的深度学习方法是否足以去除水下光斑?(IV-C节)
-
循环高斯绘制(Recurrent Gaussian Splatting)与其他基于滤波的方法相比如何?(IV-D节)
-
循环的有效性如何?(IV-E节)
A. 实验设置
-
数据采集:我们在佛罗里达州的一个珊瑚礁保护区部署了配备ZED相机的LSU的Bruce ROV[40],采集了一组水下图像数据集。数据采集点和机器人平台的示意图如图4所示。数据采集时天气晴朗,水深范围为5到10米。
-
训练:我们在4个选定的图像序列上运行实验,这些序列中没有明显的运动物体,并且使用所有输入图像完成了COLMAP重建。我们使用3DGS[5]的渲染实现作为骨干网络,并使用PyTorch的fft模块进行滤波和光斑重建。
B. 是否应该联合优化光斑$C$?
我们首先探讨的问题是:是否应该将每帧的光斑$C$与3DGS联合优化,而不是通过循环从残差中分解光斑。考虑2D频率响应$c[0:k]$,其中最低的$k$个频率作为优化变量,高频部分固定为0。那么式(4)变为:
\[C = \text{ifft}(c[0:k]) \quad (5)\]随后,式(3)中的优化问题将联合优化$G$和$c[0:k]$:
\[\min_{G, c[0:k]} \text{dist}(I - C, \hat{I}) \quad (6)\]结果如图5所示。我们可以看到,将光斑与3DGS联合优化会导致光照失衡。相比之下,我们提出的循环3DGS框架能够持续保持平衡的光照。我们还发现,从不同视角评估同一场景的结果时,两种方法都能保持3D一致性。这表明,尽管我们可以借助3D一致性来学习光斑模型,但这种一致性并不能保证结果的良好性能。如图5所示,联合优化方法的结果是“一致地错误”。我们需要精心设计流程,以约束模型朝着期望的方向收敛。在本研究中,我们的循环流程相较于联合优化方法表现出显著的性能提升。
C. 预训练深度学习方法的失败案例
在过去十年中,扩展定律在多种计算机视觉任务中发挥了关键作用,即随着数据量和模型规模的增加,模型性能显著提高。光斑去除的深度学习方法试图在足够大的带有标注数据的数据集上进行训练,并在可能不同条件下的新位置对图像进行泛化。然而,在扩展水下计算机视觉研究方面,研究界取得的进展甚微,因为真实世界的数据极其昂贵且需要专家标注。目前用于学习光斑的最新数据集是RCaustic[10],其中包含来自7个场景的712对/三联图像,带有标注的光斑模式和轮廓。然而,对于单目相机设置,基于此类数据集训练的神经网络在迁移到野外采集的新数据时表现不佳。在图6中,我们展示了训练数据与真实世界数据之间的视觉差异,并展示了当存在领域差异时预训练神经网络持续失败的示例。我们提出的RecGS方法不受此限制,因为它不依赖于在标注数据集上进行训练以泛化到新的图像。
D. 可视化与2D滤波方法的比较
不同图像序列的结果在图7中进行了可视化。由于本研究具有很强的视觉性质,强烈建议在我们的GitHub上观看视频比较。第一列展示了作为输入的原始图像。我们在红色虚线框中标出了从一帧到另一帧具有最显著光斑的相同区域。第二列展示了通过我们的循环3DGS框架渲染的结果。通过比较同一序列中两个不同帧的框内区域,我们可以看到颜色和光照是一致的。第三列展示了残差,即输入图像与渲染图像之间的差异。通过对残差进行低通滤波,我们得到了光斑,如第四列所示。相比之下,运动补偿滤波方法(第五列)在某些序列(例如序列2)上表现良好,但在其他序列上不如我们的方法,因为在框内区域仍然可以观察到不一致的光照。
E. 循环的有效性如何?
根据算法1,一旦使用普通的3DGS优化了式(2),3D高斯就被认为已经初始化。随后,算法进入循环阶段。在每次迭代中,首先从残差中分解出光斑,然后使用式(3)对3D高斯进行1000步的优化。光斑随着迭代的演变如图8a所示。在第0次迭代中,即仅使用普通3DGS训练时,我们只能看到光斑的模糊影像。经过10次迭代后,我们开始看到更清晰的光斑模式。模型在40次迭代后收敛,此时可以看到清晰的光斑模式。为了支持上述观察,我们绘制了连续两次迭代返回的光斑之间的L1误差。低误差意味着模型已经收敛。如图8b所示,我们可以看到误差呈下降趋势,尤其是在前5次迭代中,并且在不到40次迭代内迅速收敛。
V. 限制
-
稀疏视图3D:通过我们的3DGS构建的3D结构在超出训练时提供的视角范围进行外推时能力有限。当训练数据仅包含顶视图图像时,从新的侧视图进行评估可能会失败,如图9a所示。换句话说,到目前为止,我们的方法在与数据集中收集的训练视图类似的顶视图上表现良好。这种限制并非我们方法所固有,也可以在基于NeRF和3DGS的方法中普遍观察到。在本文中,我们无法得出结论说去除光斑有助于为新视图的真实感渲染构建更好的3D表示。关键原因可能是机器人设置的顶视图观测不足以约束3D几何结构。当出现能够改善超出训练图像泛化的更先进的新视图合成方法时,我们可以无缝地将其集成到我们的循环框架中,并实现水下的真实感重建。
-
参数调整:FFT低通滤波中的频率阈值依赖于手动调整。选择过高的阈值会导致视觉效果不佳,如图9b所示。不知道合适的频率范围可能会导致潜在的失败。
VI. 结论与未来工作
本文提出了一个框架,用于从水下图像中循环去除光斑效应。在每次迭代中,使用3DGS和2D低通滤波来构建场景的光照一致的3D表示,并从残差中去除光斑。实验与不同的策略进行了对比,包括联合优化、深度学习和2D滤波方法,结果表明我们的方法提供了更好的视觉效果。总体而言,通过本项目,我们认识到通过设计围绕3D场景表示的系统,我们可以学习并恢复具有3D视觉一致性的复杂光照效应。未来的工作包括从稀疏视图构建更好的3D重建,这不仅可以去除光斑,还可以改善新视图的渲染。此外,我们希望我们提出的循环3DGS能够启发并应用于具有挑战性成像效应的不同应用。
致谢
本工作由NOAA NA22OAR0110624资助。
评论