本文是VCC曾博川同学对论文 DeblurGS: Gaussian Splatting for Camera Motion Blur 的解读,该工作来自首尔国立大学的电子与通信工程系和智能感知与机器人研究所,并已发表在计算机视觉顶会CVPR 2024上。
https://chaphlagical.icu/Deblur-GS/
这篇文章介绍了一种名为DeblurGS的方法,旨在
从运动模糊的输入图像中恢复清晰的三维场景
。该方法采用3D高斯溅射(3DGS)表示场景,通过模拟相机的运动来合成模糊视图,进而优化相机的运动轨迹和3DGS参数。同时为了有效地处理初始相机姿态不准确的情况,文章提出了一种高斯密度退火策略。实验证明,DeblurGS能够从实际模糊图像或视频中恢复清晰的三维场景,并且在多个数据集上优于现有方法。
3D重建和新视图合成具有广泛的应用场景,例如AR/VR、自动驾驶、大场景重建和机器人导航。近期,神经辐射场(NeRF)及其众多工作在此类3D视觉任务中取得了很大进展。通过利用渲染图像和真实图像之间的区别,这些方法训练神经网络将目标场景的颜色和密度信息表示为场景中空间位置的函数,从而在复杂的三维场景重建上实现了很好的效果。但是NeRF 的实际部署通常需要从不同视点捕获许多目标场景的图像,过程十分繁琐,所以通过视频记录场景信息的方式,通常对用户更为友好。然而,从视频捕获中获得的多视图输入数据通常伴随着相机运动所带来的模糊,3D重建质量可能会受到模糊输入的影响。现有工作试图通过将去模糊模块引入NeRF的框架,从模糊的多视图图像中重建3D场景。尽管在场景的清晰重建方面表现出显著的提升,但这些方法假设已知所有图像的精确位姿。然而,对模糊图像进行结构运动(SfM)估计,通常会产生非常大的相机位姿误差,无法满足这些工作的前提假设。
最近,3D高斯飞溅(3DGS)因其实时性和高质量的渲染效果引起了人们的关注。虽然原始的3DGS旨在从一组干净的图像中重建3D场景,但由于其独特的精细重建能力,对于从模糊图像中恢复清晰场景来说,3DGS也是一个很不错的选择。据以往工作所知,尚未有方法探索如何从模糊图像优化得到干净清晰的3DGS。
本次导读论文介绍了DeblurGS,第一个旨在从相机运动模糊的图像重建3D场景的高斯飞溅框架。DeblurGS联合优化了模糊图像的潜在的相机运动轨迹以及由3DGS表示的清晰3D场景。具体来说,该方法通过最小化合成模糊视图和输入模糊图像之间的差异,优化了相机的运动轨迹和3DGS参数。通过利用3DGS的精细渲染性能,DeblurGS提高了现有基于NeRF 的去模糊方法的去模糊性能。此外,虽然以前的方法在已知相机姿势的理想条件下表现良好,但模糊图像会导致SfM生成的初始位姿不准确,生成的渲染图像也就不准确,可能会使3DGS参数优化效果不好。由于采集的真实图像比较模糊,会导致SfM生成的相机位姿不准确,所以DeblurGS分析了初始相机位姿不准确时 3DGS的行为,并由此提出了一种高斯致密化退火策略,该策略能够稳定优化清晰的3D场景。此外,DeblurGS可以根据子帧相机沿估计的相机运动轨迹进行姿势采样,进而重建不同的模糊图像。为了实现更精确的模糊优化,本论文提出了子帧对齐参数,控制连续运动轨迹上的离散采样间隔。DeblurGS在所有现有的多视图去模糊数据集上都优于以前的去模糊方法,并且,DeblurGS是唯一能够从通过SfM基于噪声相机姿态恢复高质量清晰3D场景的方法。此外,该论文拍摄了模糊视频作为实验输入,进行3DGS重建,从而证明了DeblurGS在实际应用中的有效性。
本工作主要贡献如下:
-
提出了DeblurGS,第一个
从运动模糊图像中优化清晰3D场景
的3DGS方法框架;
-
高斯密集退火策略
,优化输入模糊图像的噪声初始相机位姿;
-
通过对现场拍摄的、
快速移动
的
真实世界视频
进行实验,展示了DeblurGS的实用性。
DeblurGS方法由两部分组成:模糊视图合成和使用高斯致密化退火策略对不准确的姿势进行优化。第一部分的目标是使用给定的运动模糊输入优化清晰的高斯飞溅场景,通过最小化合成模糊图像与输入模糊图像之间的差异,去优化相机运动轨迹和3D场景。第二部分为了避免过早地在错误位置生成高斯原型,提出了高斯密度正则化退火策略。该策略通过逐步降低高斯密度正则化阈值,优先优化相机运动轨迹,可以避免生成错误位置的高斯球。
图1 模型整体框架图
在优化过程中,DeblurGS通过优先优化相机运动轨迹,在足够准确的位置生成高斯球,从而避免了对模糊图像的错误拟合。首先,DeblurGS通过累积渲染图像和估计的摄像机轨迹来重建模糊图像。其次,通过最小化输入模糊图像和重建模糊图像之间的L1损失,以联合优化相机运动轨迹和清晰的3D场景。
DeblurGS通过运动轨迹取模拟相机运动,进而合成模糊视图,以便与输入的模糊图像进行比较和优化。
模糊图像的物理生成模型:模糊图像被建模为相机运动过程中辐照度积分的近似,即模糊图像是通过将多个不同位置的相机渲染图像进行叠加然后取平均得到的:
其中
表示从姿势
获得的渲染图像,B为叠加而成的模糊图像。
估计相机运动轨迹:通过使用Bézier曲线估计摄像机轨迹,可以估计出引起模糊的6自由度相机运动,从而模拟相机运动过程中的辐照度积分。
根据图2所示,DeblurGS利用估计的摄像机轨迹,根据子帧图像的采样间隔,得到的模糊图像会发生变化。即使潜在摄像机轨迹优化良好,均匀采样的模糊图像(第一行)也不符合对真实数据的模糊观测。本文通过优化子帧对齐参数来对齐子帧间隔,以累积精确的模糊图像(第二行)。
子帧采样策略:DeblurGS定义了子帧对齐参数,该参数用于调整相机运动轨迹上的采样间隔:
模糊图像合成:DeblurGS通过沿估计的相机运动轨迹累积多个子帧的渲染图像,并进行伽马校正,以模拟相机的成像过程,最终得到合成的模糊图像
:
其中
是在位姿
下的渲染图
是矫正系数。
由于传统的特征匹配算法是对模糊图像中的噪声特征进行的,因此通过COLMAP计算所得的初始姿态是不准确的。DeblurGS考虑到在不准确的初始姿态下,相机运动的联合估计会导致在优化的早期阶段在不正确的位置上产生高斯球。具体而言,如果相对于高斯位置的梯度超过致密化阈值θ,则高斯被一分为二。由于处于错误位置的高斯试图拟合来自错误位置的训练图像,从而破坏了优化过程。为了防止在不正确的位置产生过早的高斯分裂,论文采用了致密化阈值θ的退火策略。论文从较高的初始θ逐渐退火θ,当相机运动充分优化时,可以实现更精细的致密化。θ的退火策略在场景试图通过致密化来表示精细细节之前,优先考虑相机运动的精确优化,从而减轻高斯在错误位置造成的干扰。
重构损失:该损失项通过最小化合成模糊图像与输入模糊图像之间的差异,实现相机运动轨迹、子帧对齐参数和3D高斯场景的联合优化:
其中
为合成的模糊图像
,
为输入的模糊图像。
时序平滑损失:该损失项用于防止相邻子帧渲染之间出现不连续变化,从而提高模糊图像合成的质量:
其中
为在位姿
下得到的渲染图。
损失函数组合:DeblurGS将重构损失
与时序平滑损失