论文题目
Gyro-based Neural Single Image Deblurring
1简介
本文提出了GyroDeblurNet,一种新颖的单图像去模糊方法,该方法利用陀螺仪传感器来解决图像去模糊的不适定性问题。陀螺仪传感器提供关于相机运动的宝贵信息,可以提高去模糊质量。然而,由于来自各种来源的误差,利用真实世界的陀螺仪数据具有挑战性。为了处理这些误差,GyroDeblurNet配备了两个新颖的神经网络模块:陀螺仪精细化模块和陀螺仪去模糊模块。陀螺仪精细化模块利用来自输入图像的模糊信息来精细化有误差的陀螺仪数据。陀螺仪去模糊模块利用精细化后的陀螺仪数据去除输入图像的模糊,并通过利用来自输入图像的模糊信息来进一步补偿陀螺仪误差。为了训练使用存在误差的陀螺仪数据的神经网络,提出了一种基于类别学习的训练策略。还引入了一种新颖的陀螺仪数据嵌入方案,以表示真实世界中复杂的相机抖动。最后展示了用于训练和评估基于陀螺仪的单图像去模糊的合成和真实世界数据集。实验表明,通过有效地利用有误差的陀螺仪数据,实现了最先进的去模糊质量。
本文提出了 GyroDeblurNet,一种新颖的基于陀螺仪的单图像去模糊方法,即使在存在陀螺仪误差的情况下也能产生高质量的去模糊结果(图1-(c))。为了解决陀螺仪误差,GyroDeblurNet 采用了一种精心设计的网络架构,其中包括新颖的陀螺仪细化模块和陀螺仪去模糊模块。陀螺仪精细化模块利用来自输入图像的模糊信息校正陀螺仪数据误差。另一方面,陀螺仪去模糊模块使用精细化的陀螺仪数据去除输入图像的模糊。此外,为了进一步补偿陀螺仪误差,陀螺仪去模糊模块同时利用输入图像中的模糊信息和输入的陀螺仪数据。尽管存在这些阻碍,使用有误差的陀螺仪数据训练神经网络仍然具有挑战性,因为网络可能会被训练成忽略输入的陀螺仪数据,而仅仅依赖于输入的图像。为了解决这个问题,提出了一种基于类别学习的训练策略。
为了处理复杂的真实世界相机抖动,还提出了一种新的陀螺仪数据嵌入方案—相机运动场,它可以表示复杂的相机运动。真实世界模糊图像通常表现出复杂的模糊轨迹。然而,最近基于陀螺仪的方法假设相机运动是平滑的,并使用每个像素的一个或两个运动向量或整个图像的几个单应性来表示相机运动,这导致低质量的反模糊结果。为了解决这个问题,相机运动场被设计为使用每个像素的多个向量来表示复杂的相机运动,同时利用相机抖动的空间平滑特性,保持相当的内存占用。
先前的方法依赖于合成数据集来训练和评估这些方法。然而,它们的陀螺仪数据也无法反映在拍摄静态图像时发生的真实世界相机抖动。先前方法的陀螺仪数据是通过随机抽样生成的,或者从视觉惯性数据集 中获得的。然而,视觉-惯性数据集最初是为视觉里程计和SLAM开发的,因此其相机运动是从持续移动的相机中采集的,这与静态图像的相机抖动不同。
为了训练和评估基于陀螺仪的去模糊算法在真实世界模糊图像上的性能,提出了两个数据集:GyroBlur-Synth 和 GyroBlur-Real。GyroBlur-Synth 是一个合成数据集,用于训练和评估。该数据集由清晰和模糊的图像对以及它们对应的陀螺仪数据组成。陀螺仪数据从智能手机设备获取,以反映真实世界的相机抖动。模糊图像通过使用获取的陀螺仪数据和 RSBlur的模糊合成过程进行合成生成,以获得逼真的模糊图像。GyroBlur-Real 是一个真实世界的模糊数据集,用于定性评估,没有真实的清晰图像,它提供了真实世界的模糊图像,并配有从智能手机收集的陀螺仪数据。
在合成数据集和真实世界数据集上验证了 GyroDeblurNet 的性能。实验表明,GyroDeblurNet 在定量和定性方面均明显优于最先进的去模糊方法。
贡献可以总结如下:
• 提出了一种基于陀螺仪的新型单图像去模糊方法,GyroDeblurNet。大量的定量和定性评估表明,GyroDeblurNet优于现有的去模糊方法。
• 为了处理陀螺仪误差,引入了一个精心设计的网络,该网络配备了新颖的陀螺仪精炼和陀螺仪去模糊块。还开发了一种新颖的陀螺仪数据嵌入来表示复杂的相机抖动,并提出了一种基于类别学习的训练方案。
• 提出了合成的和真实的图像-陀螺仪配对数据集,GyroBlur-Synth 和 GyroBlur-Real,它们具有逼真的相机运动,用于训练和评估基于陀螺仪的单图像去模糊方法。
2背景
相机抖动引起的模糊会严重降低图像质量以及各种计算机视觉任务的性能。为了克服模糊造成的图像退化,单幅图像去模糊技术已经进行了数十年的广泛研究 ,各种基于深度神经网络(DNN)的方法被提出,并且相较于经典方法展现出了显著的性能提升。然而由于去模糊的严重不适定性,它们在具有大模糊的图像上仍然失效。
为了解决图像去模糊的不适定性问题,人们已经尝试利用大多数智能手机现在配备的陀螺仪传感器。基于模糊模型的经典方法使用陀螺仪数据来指导模糊核估计。然而它们的性能受到限制性模糊模型的限制,这些模型难以有效地处理噪声、非线性相机响应函数、饱和像素、移动物体和其他挑战。随着深度学习的进步,基于DNN的方法也被提出以利用陀螺仪数据。 凭借DNN的卓越能力和来自陀螺仪传感器的丰富信息,这些方法与经典的基于陀螺仪的方法相比,表现出更优越的性能。
然而,最近的基于DNN的方法在处理真实世界的模糊图像时仍然受到限制,这些方法利用了陀螺仪数据。首先,来自移动设备(如智能手机)的陀螺仪数据通常包含大量由各种来源引起的噪声。其次,陀螺仪传感器测量的是围绕其中心的角速度。因此,最近的基于陀螺仪的方法假定陀螺仪传感器和相机共享同一中心,并且相机仅受旋转运动的影响。然而,在实践中,相机和陀螺仪传感器的位置不同,并且相机经历更复杂的抖动。第三,真实场景中的模糊图像可能包含具有不同模糊轨迹的运动物体,而这些轨迹无法被陀螺仪传感器捕捉。所有这些因素导致陀螺仪数据中编码的运动信息与模糊图像中的模糊不一致(图1-(b)),使得在真实场景图像去模糊中利用陀螺仪数据具有挑战性。我们将陀螺仪数据与模糊之间的这种不一致称为陀螺仪误差。

3. GyroDeblurNet
GyroDeblurNet的目标是从输入的模糊图像B及其对应的、可能存在较大误差的陀螺仪数据G中估计出清晰的反模糊图像D。具体来说,将G定义为陀螺仪数据序列,使得G={g0,···,gT−1},其中gt是第t个陀螺仪数据,包含曝光时间内三个角速度。T是陀螺仪数据的数量,它与曝光时间成正比。没有直接使用G,而是设计了一种名为相机运动场的新型陀螺仪数据嵌入方案,以有效地处理任意曝光时长的复杂相机抖动。

3.1 陀螺仪数据嵌入
GyroDeblurNet首先将输入的陀螺仪数据序列G转换为相机运动场V,以处理任意长度的、时间上复杂的相机抖动T。转换过程如图2所示。相机运动场具有固定的通道大小2M,其中M是一个超参数,表示相机运动场中向量的数量,而与输入陀螺仪数据的长度无关,从而允许将其馈送到卷积神经网络中。为了实现这一点,首先使用三次样条插值将任意长度为G的输入陀螺仪数据序列T重采样为 M +1 个样本。将重采样后的序列表示为G′={g0′,···,gM′},其中gm′是重采样后的陀螺仪样本。超参数M被设置为偶数,以便在时间中心之前和之后拥有相同数量的陀螺仪数据。
然后,假设相机和陀螺仪共享相同的中心,并且不存在离心旋转或平移运动,积分角速度并获得M + 1个相机姿态θm,其中m = 0, · · · , M,包括曝光开始和结束时的相机姿态。请注意,尽管我们对相机运动做了限制性假设,但由于 GyroDeblurNet 对陀螺仪误差的鲁棒性,它可以成功地执行去模糊。对于每个θm,我们计算一个单应性矩阵Hm作为Hm=KR(θm)K−1,其中K是相机内参矩阵,R(θm)是对应于θm的旋转矩阵。为了防止去模糊后产生不必要的偏移,选择时间中心作为参考,假设时间中心处的θM/2为(0, 0, 0),以便在计算θm时,HM/2是一个单位矩阵。
最后,从获得的单应性矩阵中,计算一个相机运动场V,它阐明了每个像素是如何模糊的,将相机运动场V定义为一个尺寸为W/s × H/s × 2M的张量,其中W和H分别是输入模糊图像的宽度和高度,而s是一个缩放因子。然后,在V中的每个位置(x, y),我们通过Hm计算(x, y)的扭曲坐标,针对所有m,并计算时间上连续的坐标之间的差异以获得M向量。通过堆叠所有空间位置的向量构建V。在实验中,设置M = 8且s = 2。图1-(b)将相机运动场向量可视化到真实世界的模糊图像上。
基于矢量场的陀螺仪数据的类似表示也已被先前的方法提出,然而与这些方法依赖于仅一个或两个矢量来表示每个像素的相机抖动不同,我们的相机运动场提供了一种更复杂的表示。通过调整超参数M,可以有效地捕捉时间上复杂的相机抖动模式。此外,我们的方法利用了相机抖动的空间平滑性,使用了超参数s。因此,它可以在保持相当的内存占用量的同时,提供复杂运动的详细表示。
3.2.网络架构
GyroDeblurNet以模糊图像B和相机运动场V作为输入,并估计去模糊图像D。该网络由两个模块组成:图像去模糊模块和陀螺仪模块(图3)。图像去模糊模块借助陀螺仪数据对模糊图像B进行去模糊处理。然后生成残差R,该残差被加回到B以生成D。图像去模糊模块采用U-Net架构和NAFBlock作为其基本构建块。图像去模糊模块在其瓶颈处采用陀螺仪去模糊块,以使用来自陀螺仪网络的陀螺仪特征执行去模糊。
另一方面,陀螺仪模块接收相机运动场V,并借助图像去模糊模块的图像特征对其进行优化。陀螺仪模块由一个卷积层组成,用于将输入的相机运动场V嵌入到特征空间中,还包括陀螺仪优化块和步长卷积层。陀螺仪精细化模块借助图像去模糊模块编码器的图像特征来精细化陀螺仪特征。陀螺仪模块通过陀螺仪精细化模块和带步长的卷积层逐步精细化陀螺仪特征,并获得与图像去模糊模块瓶颈层特征图具有相同空间大小的陀螺仪特征。以下将详细解释陀螺仪精细化模块和陀螺仪去模糊模块,这两个模块是 GyroDeblurNet 的两个关键组成部分。
陀螺仪精细化模块图4-(a)展示了陀螺仪精细化模块的结构。输入相机运动场V中的相机运动信息可能包含由陀螺仪传感器噪声、未知的旋转中心和缺失的平移运动引起的显著全局误差,如图1-(b)所示。陀螺仪优化模块旨在基于以下直觉,利用输入图像中的模糊信息来补偿这些全局误差。

陀螺仪优化模块以从输入相机运动场V计算出的陀螺仪特征作为输入。该输入陀螺仪特征编码了不同通道上的多个相机运动候选,这些候选通过对前几层中的输入相机运动信息引入扰动而获得。为了全局地优化陀螺仪特征,陀螺仪优化模块自适应地选择与输入图像中的模糊信息一致的陀螺仪特征通道。具体而言,陀螺仪优化模块将来自图像去模糊模块的图像特征作为附加输入,并将其与输入的陀螺仪特征连接起来。然后,它通过全局平均池化和1×1卷积层计算通道权重,并将它们乘以陀螺仪特征。在陀螺仪细化块之后,一个带步长的卷积层进一步细化陀螺仪特征,同时降低其空间分辨率。
陀螺仪去模糊模块如图4-(b)所示,利用来自陀螺仪模块的陀螺仪特征对图像特征进行去模糊处理。输入图像B可能存在由相机抖动和移动物体引起的空间变化模糊。为了有效去除这种模糊,陀螺仪去模糊模块由两个子模块组成:第一个子模块执行模糊信息的空间细化,并利用细化后的模糊信息对图像特征进行去模糊处理;第二个子模块进一步细化去模糊后的图像特征。
具体而言,第一个子模块将图像特征和陀螺仪特征进行拼接,计算形变卷积核偏移的形式的空间精细化模糊信息。然后,它使用这些偏移对图像特征进行去模糊处理。第二个子模块使用空间注意力进一步细化去模糊后的图像特征。空间注意力权重通过卷积层和Sigmoid层从去模糊图像块计算得出,并与去模糊图像特征相乘,然后通过卷积层和连接层进一步处理。
3.3. 训练策略
为了解决利用存在误差的陀螺仪数据训练去模糊网络所面临的挑战,提出了一种基于类别学习的训练策略。这种方法受到其在先前工作中处理噪声数据方面的成功经验的启发,旨在逐步引导网络有效地利用陀螺仪信息,即使存在不准确性。
训练策略首先使用无误差的陀螺仪数据训练网络,然后逐渐增加训练数据中的误差。为此首先假设,对于每个模糊图像B,其对应的无误差陀螺仪数据GGT以及其真值清晰图像SGT是给定的。从GGT中,计算一个无噪声的相机运动场Vclean和一个含噪声的相机运动场Vnoisy。通过随机扰动旋转中心并向陀螺仪数据添加噪声来生成Vnoisy。然后计算一个混合相机运动场Vα=(1−α)·Vclean+α·Vnoisy,其中α是一个混合参数。在训练过程中逐渐将α从0增加到1。
4. 陀螺仪模糊数据集
4.1. GyroBlur-Synth
GyroBlur-Synth 提供 14,600 张和 640 张尺寸为 720 × 1280 的合成模糊图像,分别用于训练集和测试集。该数据集还提供真实的清晰图像以及相应的陀螺仪数据。为了忠实地模拟真实世界的模糊图像,该数据集涵盖了各种退化源,例如移动物体、噪声和饱和度。
为了构建一个具有真实相机运动的数据集,实现了一个 Android 应用程序,用于记录手机上的陀螺仪数据。使用三星 Galaxy S22 智能手机以 200 Hz 的采样率收集陀螺仪数据。收集了两个陀螺仪数据序列,用于生成具有真实手持抖动运动的训练和测试数据集。陀螺仪数据序列分别记录了195秒和60秒,并分别具有39,116和12,065个样本。然后使用陀螺仪数据来合成模糊图像。为此使用了4KRD数据集的清晰帧。为了生成模糊图像,首先随机抽取了10个连续的陀螺仪数据序列,对应于1/20秒的曝光时间。然后将它们插值八倍以合成连续的模糊轨迹,并从插值后的陀螺仪数据计算单应性矩阵。最后,我们使用单应性矩阵对清晰图像进行扭曲,并将它们混合以获得模糊图像。
为了创建具有不同模糊轨迹的运动物体的合成模糊图像,使用了一种简单的方法。从COCO数据集中选择一个单独的实例,并假设它在模糊图像中以恒定速度移动。随机选择其位置以及运动的方向和速度。然后在模糊合成过程中,将该对象添加到扭曲后的清晰图像中,然后再进行混合,如前所述。
为了反映真实世界的噪声和饱和像素,也采用了 RSBlur 的模糊合成流程。具体来说,按照上述过程在线性 sRGB 空间中合成模糊。然后,我们合成饱和像素,将图像转换为相机 RAW 空间,合成噪声,并将含噪 RAW 图像转换为线性 sRGB 图像。使用三星 Galaxy S22 超广角相机的相机参数,以及由此估计的噪声分布。
为了生成带噪声的相机运动场,加入了带有陀螺仪数据噪声的陀螺仪误差以及随机扰动的旋转中心。为了获得真实的陀螺仪噪声,测量了放置在桌上的静止智能手机(三星 Galaxy S22)的陀螺仪噪声分布。陀螺仪噪声被建模为每个旋转轴上独立的高斯分布。
我们的合成数据集生成需要极少的设备特定输入、简短的陀螺仪序列以及简单的相机标定,从而显著减少了手动数据收集。可以在几分钟内捕获足够的陀螺仪数据,并从几张标定图像中获得 RSBlur 流程所需的相机参数。虽然我们没有明确地对陀螺仪相对于相机的位置进行建模,但这一点已通过陀螺仪误差(如旋转中心误差)隐式地解决。实验表明,无论这些误差如何,都能有效地去除模糊。
4.2 GyroBlur-Real
GyroBlur-Real包含两个子集:GyroBlur-Real-S和GyroBlur-Real-H。GyroBlur-Real-S使用Samsung Galaxy S22收集,该设备也用于构建GyroBlur-Synth数据集。使用GyroBlur-Real-S作为主要数据集,以评估我们的方法在真实图像上的性能。另一方面,GyroBlur-Real-H使用Huawei P30 Pro收集,并用于评估我们方法的泛化能力。GyroBlur-Real-S提供了100张大小为4080 × 3060的真实模糊图像,以及它们对应的陀螺仪数据。GyroBlur-Real-H 提供了 17 张尺寸为 5120 × 3840 的真实世界模糊图像及其陀螺仪数据。两个数据集中的图像均以 DNG 和 JPEG 格式提供。
5实验
1)GyroBlur-Synth和GyroBlur-Real-S的定量比较

2)GyroBlur-Synth的定性比较

3)GyroBlur-Real-S的定性比较

4)消融实验























暂无评论内容