Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring 论文阅读

用于动态场景去模糊的深度多尺度卷积神经网络

摘要

针对一般动态场景的非均匀盲去模糊是一个具有挑战性的计算机视觉问题,因为模糊不仅来源于多个物体运动,还来源于相机抖动和场景深度变化。为了去除这些复杂的运动模糊,传统的基于能量优化的方法依赖于简单的假设,例如模糊核是部分均匀或局部线性的。此外,最近的基于机器学习的方法也依赖于在这些假设下生成的合成模糊数据集。这使得传统的去模糊方法在模糊核难以近似或参数化的情况下(例如物体运动边界)无法有效去除模糊。在这项工作中,我们提出了一种多尺度卷积神经网络,以端到端的方式恢复由各种原因引起的模糊图像。同时,我们提出了模仿传统由粗到精方法的多尺度损失函数。此外,我们提出了一个新的大规模数据集,该数据集提供了由高速相机拍摄获得的真实模糊图像及其对应的清晰地面实况图像对。通过使用在该数据集上训练的模型,我们通过实证证明,我们的方法在动态场景去模糊方面不仅在质量上,而且在数量上都达到了最先进的性能。

1. 引言

运动模糊是拍照时最常见的一种伪影类型。相机抖动和快速物体运动会降低图像质量,产生不期望的模糊图像。此外,深度变化、运动边界处的遮挡等各种原因使得模糊更加复杂。单幅图像去模糊问题是在给定一幅模糊图像的情况下估计未知的清晰图像。早期的研究集中于去除由简单的平移或旋转相机运动引起的模糊。最近的工作尝试处理动态环境中由深度变化、相机抖动和物体运动引起的一般非均匀模糊。这些方法大多基于以下模糊模型 [28, 10, 13, 11]。
B=KS+n, \mathbf{B} = \mathbf{KS} + \mathbf{n}, B=KS+n,

其中 B\mathbf{B}BS\mathbf{S}Sn\mathbf{n}n 分别是向量化的模糊图像、潜在清晰图像和噪声。K\mathbf{K}K 是一个大型稀疏矩阵,其每一行包含一个作用于 S\mathbf{S}S 以生成模糊像素的局部模糊核。在实践中,模糊核是未知的。因此,盲去模糊方法试图同时估计潜在清晰图像 S\mathbf{S}S 和模糊核 K\mathbf{K}K

每个像素寻找模糊核是一个严重不适定问题(就是解很多)。因此,一些方法尝试基于对模糊来源的简单假设对模糊模型进行参数化。在 [28, 10] 中,他们假设模糊仅由 3D 相机运动引起。然而,在动态场景中,由于存在多个运动物体以及相机运动,核估计更具挑战性。因此,Kim 等人 [14] 提出了一种动态场景去模糊方法,联合分割和去模糊非均匀模糊图像,允许在分割区域内估计复杂(非线性)的核。此外,Kim 和 Lee [15] 将模糊核近似为局部线性,并提出了一种联合估计潜在图像和局部线性运动的方法。然而,这些模糊核近似仍然不准确,特别是在运动突变和遮挡的情况下。值得注意的是,这种错误的核估计会直接影响潜在图像的质量,导致不期望的振铃伪影

最近,卷积神经网络 (CNNs) 已被应用于包括去模糊问题在内的众多计算机视觉问题中,并显示出有希望的结果 [29, 25, 26, 1]。由于没有可用于监督学习的真实模糊图像和地面实况清晰图像对,它们通常使用通过卷积合成模糊核生成的模糊图像。在 [29, 25, 1] 中,使用具有均匀模糊核的合成模糊图像进行训练。而在 [26] 中,训练分类 CNN 来估计局部线性模糊核。因此,基于 CNN 的模型仍然只适用于某些特定类型的模糊,对于更常见的空间变化模糊存在限制。

因此,所有现有方法在能够推广并实际使用之前仍存在许多问题。这主要是由于使用了简单且不真实的模糊核模型。因此,为了解决这些问题,在这项工作中,我们提出了一种新颖的端到端深度学习方法用于动态场景去模糊

首先,我们提出了一种多尺度 CNN,它直接恢复潜在图像,而不假设任何受限的模糊核模型。特别是,多尺度架构被设计用来模仿传统的由粗到精优化方法。与其他方法不同,我们的方法不估计显式的模糊核。因此,我们的方法避免了由核估计误差引起的伪影。其次,我们使用适合由粗到精架构的多尺度损失来训练所提出的模型,这极大地提高了收敛性。此外,我们通过采用对抗损失 [9] 进一步改善了结果。第三,我们提出了一个新的包含地面实况清晰图像的真实模糊图像数据集。为了获得用于训练的无核模型数据集,我们采用了 [17] 中介绍的数据集采集方法。由于模糊过程可以通过快门时间内清晰图像的积分来建模 [17, 21, 16],我们使用高速相机捕捉动态场景的一系列清晰帧,并通过考虑伽马校正将它们平均以生成模糊图像

通过在所提出的数据集上进行训练并添加适当的增强,我们的模型可以隐式地处理一般的局部模糊核。由于损失项优化结果使其接近地面实况,它甚至能恢复模糊核极其复杂的被遮挡区域,如图 1 所示。我们使用数百万对图像块训练了我们的模型,并在动态场景去模糊方面取得了显著改进。大量的实验结果表明,所提出方法的性能在定性和定量评估上都远远优于最先进的动态场景去模糊方法。

图 1: (a) 输入模糊图像。(b) Sun 等人 [26] 的结果。© 我们的去模糊结果。我们的结果显示出清晰且无伪影的物体边界。

相关工作

有几种方法采用 CNN 进行去模糊 [29, 26, 25, 1]。Xu 等人 [29] 提出了一种图像反卷积 CNN,用于在非盲设置下去模糊图像。他们基于可分离核特性构建了一个网络,即(逆)模糊核可以分解为少量重要滤波器。此外,他们通过将去噪网络 [7] 模块连接到他们提出的网络末端,以融合该模块来减少噪声和颜色饱和度等视觉伪影。另一方面,Schuler 等人 [25] 提出了一种基于 CNN 的盲去模糊方法。他们提出的网络模仿了传统的基于优化的去模糊方法,并以由粗到精的方式迭代特征提取、核估计和潜在图像估计步骤。为了获得用于网络训练的清晰和模糊图像对,他们使用高斯过程生成均匀模糊核,并将它们卷积到从 ImageNet 数据集 [3] 收集的清晰图像上,合成了大量模糊图像。然而,他们报告称由于其次优架构,对于大模糊存在性能限制。

与 Couzinie-Devy 等人 [2] 的工作类似,Sun 等人 [26] 提出了一种序列去模糊方法。首先,他们使用 73 个候选模糊核生成模糊和清晰图像块对。接下来,他们训练分类 CNN 来测量局部图像块特定模糊核的可能性。然后,通过优化一个由 CNN 似然和平滑先验组成的能量模型,获得平滑变化的模糊核。最终的潜在图像估计使用传统的优化方法 [30] 执行。

请注意,所有这些方法都需要一个精确的核估计步骤来恢复潜在清晰图像。相比之下,我们提出的模型被训练为直接生成潜在图像,而无需估计模糊核。

在其他计算机视觉任务中,多种形式的由粗到精架构或多尺度架构已被应用 [8, 6, 4, 23, 5]。然而,并非所有多尺度 CNN 都被设计为能产生最优结果,类似于 [25]。在深度估计、光流估计等任务中,网络通常产生分辨率小于输入图像分辨率的输出 [8, 6, 5]。这些方法即使使用多尺度架构,也难以处理长距离依赖性。

因此,我们构建了一个多尺度架构,既能保留细粒度的细节信息,也能保留来自更粗尺度的长距离依赖性。此外,我们通过使用多尺度损失训练网络,确保中间层网络以显式方式帮助最终阶段。

动态场景去模糊的无核学习

传统上,在估计潜在图像之前找到模糊核是至关重要的。基于 CNN 的方法也不例外 [25, 26]。然而,估计核涉及几个问题。首先,假设简单的核卷积无法建模几个具有挑战性的情况,如遮挡区域或深度变化。其次,除非模糊模型经过精心设计,否则核估计过程微妙且对噪声和饱和度敏感。此外,错误估计的核会导致潜在图像中出现伪影。第三,在动态场景中为每个像素寻找空间变化的核需要大量的内存和计算。

因此,我们在模糊数据集生成和潜在图像估计中都采用无核方法。在模糊图像生成中,我们遵循近似相机成像过程的思路,而不是假设特定的运动或寻找或设计复杂的模糊核。我们捕捉连续的清晰帧并进行积分来模拟模糊过程。详细过程在第 2 节描述。请注意,我们的数据集仅由模糊和清晰图像对组成,局部核信息隐式嵌入其中。在图 2 中,我们将我们的无核模糊图像与使用均匀模糊核合成的传统图像进行了比较。值得注意的是,我们的方法生成的模糊图像展示了由运动的人和静态背景引起的真实且空间变化的模糊,而传统方法合成的模糊图像则没有。对于潜在图像估计,我们不假设模糊来源,仅在我们的模糊和清晰图像对上训练模型。因此,我们提出的方法在去模糊中不会受到与核相关问题的困扰。

2 模糊数据集

我们没有选择对清晰图像进行卷积的核进行建模,而是选择记录随时间积分以生成模糊图像的清晰信息。当相机传感器在曝光期间接收光线时,每一时刻的清晰图像刺激会被累积,生成模糊图像 [13]。然后,积分信号通过非线性 CRF(相机响应函数)转换为像素值。因此,该过程可以通过累积来自高速视频帧的信号来近似。

模糊累积过程可以建模如下:
B=g(1T∫t=0TS(t)dt)≃g(1M∑i=0M−1S[i]),(2)B=g\left(\frac{1}{T}\int_{t=0}^{T}S(t)dt\right)\simeq g\left(\frac{1}{M}\sum_{i =0}^{M-1}S[i]\right),(2)B=g(T1t=0TS(t)dt)g(M1i=0M1S[i]),(2)

其中 TTTS(t)S(t)S(t) 分别表示曝光时间和时刻 ttt 清晰图像的传感器信号。类似地,MMMS[i]S[i]S[i] 分别表示曝光时间内采样的帧数和第 iii 帧清晰帧信号。ggg 是将清晰潜在信号 S(t)S(t)S(t) 映射到观测图像 S^(t)\hat{S}(t)S^(t) 的 CRF,即 S^(t)=g(S(t))\hat{S}(t)=g(S(t))S^(t)=g(S(t)),或 S^[i]=g(S[i])\hat{S}[i]=g(S[i])S^[i]=g(S[i])。在实践中,我们只有观测到的视频帧,而原始信号和 CRF 是未知的。

已知当涉及非线性 CRF 时,非均匀去模糊会变得非常困难,必须考虑非线性性。然而,目前,没有可用的 CRF 估计技术适用于具有空间变化模糊的图像 [27]。当未给出地面实况 CRF 时,一个常见的实用方法是使用 γ=2.2\gamma=2.2γ=2.2 的伽马曲线近似 CRF,如下所示,因为它被认为是已知 CRF 的近似平均值 [27]。
g(x)=x1/γ,(3)g(x)=x^{1/\gamma},(3)g(x)=x1/γ(3)

因此,通过校正伽马函数,我们从观测图像 S^[i]\hat{S}[i]S^[i] 获得潜在帧信号 S[i]=g−1(S^[i])S[i] = g^{-1}(\hat{S}[i])S[i]=g1(S^[i]),然后使用公式 (2) 合成相应的模糊图像 BBB

我们使用 GOPRO4 Hero Black 相机生成我们的数据集。我们用 GOPRO 相机拍摄 240 fps 的视频,然后平均不同数量(7 - 13)的连续潜在帧以产生不同强度的模糊。例如,平均 15 帧模拟了以 1/16 快门速度拍摄的照片,而相应的清晰图像快门速度为 1/240。值得注意的是,每个模糊图像对应的清晰潜在图像被定义为用于生成模糊图像的清晰帧序列中的中间帧。最终,我们的数据集由 3214 对分辨率为 1280x720 的模糊和清晰图像组成。所提出的 GOPRO 数据集可在我们的网站https://github.com/SeungjunNah/DeepDeblur_release上公开获取。

Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring 论文阅读_第1张图片
Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring 论文阅读_第2张图片

你可能感兴趣的:(论文阅读,计算机视觉,人工智能)