Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring

abstract

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

1. Introduction

因此,所有现有方法在推广和实际使用之前仍然存在许多问题。这主要是由于使用了简单且不切实际的模糊核模型。因此,为了解决这些问题,在这项工作中,我们提出了一种新的端到端深度学习方法,用于动态场景去模糊。
首先,我们提出了一种多尺度CNN,它可以直接恢复潜像,而不需要任何受限制的模糊内核模型。特别是,多尺度架构被设计成模仿传统的粗到精优化方法。与其他方法不同,我们的方法不会估计显式模糊内核。因此,我们的方法没有因核估计错误而产生的伪像。其次,我们训练所提出的模型具有多尺度损失,适用于从粗到精的体系结构,大大增强了收敛性。此外,我们通过使用对抗性损失进一步改善结果[9]。第三,我们提出了一个具有地面真实清晰图像的新的逼真模糊图像数据集。为了获得用于训练的无核模型数据集,我们采用[17]中介绍的数据集获取方法。由于模糊过程可以通过在快门时间[17,21,16]期间整合清晰图像来建模,我们使用高速相机拍摄动态场景的一系列锐利帧并将它们平均以通过以下方式生成模糊图像:考虑伽马校正。通过使用建议的数据集进行训练并添加适当的增强,我们的模型可以隐式处理一般的局部模糊内核。由于损失项将结果优化为类似于地面实况,它甚至可以恢复模糊内核非常复杂的遮挡区域,如图1所示。我们用数百万对图像补丁训练我们的模型,并在动态场景去模糊方面取得了显着的改进。大量实验结果表明,所提方法的性能远远优于现有动态场景去模糊方法在定性和定量评估中的表现。
1.1. Related Works
注意,所有这些方法都需要精确的核估计步骤来恢复潜在的清晰图像。相反,我们提出的模型被学习直接产生潜像而不估计模糊核。在其他计算机视觉任务中,应用了几种形式的粗到精简体系结构或多尺度体系结构[8,6,4,23,5]。然而,并非所有多尺度CNN都被设计为产生最佳结果,类似于[25]。在深度估计,光流估计等中,网络通常产生与输入图像分辨率相比具有更小分辨率的输出[8,6,5 ]。即使使用多尺度架构,这些方法也难以处理长程依赖性。因此,我们制作了一个多尺度架构,可以保留细粒度的细节信息以及较粗糙尺度的长距离依赖性。此外,我们通过培训具有多尺度损失的网络,确保中间级网络以明确的方式帮助最终阶段。
1.2 Kernel-Free Learning for Dynamic Scene Deblurring
传统上,在估计潜像之前找到模糊核是必要的。基于CNN的方法也不例外[25,26]。但是,估算内核涉及几个问题。首先,假设简单的内核卷积不能模拟几个具有挑战性的情况,例如遮挡区域或深度变化。其次,核心估计过程是微妙的,对噪声和饱和度敏感,除非精心设计模糊模型。此外,错误估计的内核会在潜像中产生伪影。第三,为动态场景中的每个像素找到空间变化的内核需要大量的存储器和计算。因此,我们在模糊数据集生成和潜像估计中采用无核方法。在模糊的图像生成中,我们遵循近似的相机图像 -
进程,而不是假设特定的运动,而不是寻找或设计复杂的模糊内核。我们捕获连续的锐利帧并进行整合以模拟模糊过程。详细过程在第2节中描述。​​请注意,我们的数据集仅由模糊和清晰的图像对组成,并且本地内核信息是隐式嵌入的。在图2中,将我们的无核模糊图像与具有均匀模糊核的传统合成图像进行比较。值得注意的是,由我们的方法生成的模糊图像表现出由移动的人和静态背景引起的逼真和空间变化的模糊,而通过传统方法合成的模糊图像则不然。对于潜在图像估计,我们不假设模糊源并仅在我们模糊和清晰的图像对上训练模型。因此,我们提出的方法在去模糊中不会遇到与内核相关的问题。

  1. Blur Dataset
    我们选择记录要随时间积分的锐利信息以生成模糊图像,而不是对内核进行建模以在锐利图像上进行卷积。 由于相机传感器在曝光期间接收光,因此每次都会产生锐利的图像刺激,从而产生模糊的图像[13]。 然后通过非线性CRF(相机响应函数)将积分信号变换为像素值。 因此,可以通过累积来自高速视频帧的信号来近似该过程。可以如下建模累积过程。


    Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring_第1张图片
    图片.png

    其中T和S(t)分别表示在时间t的清晰图像的曝光时间和传感器信号。 类似地,M,S [i]分别是在曝光时间期间捕获的采样帧数和第i个锐利帧信号。 g是将锐利潜在信号S(t)映射到观察图像S(t)中的CRF,使得S(t)= g(S(t)),或S [i] = g(S [i])。 实际上,我们只观察过视频帧,而原始信号和CRF是未知的
    众所周知,当涉及非线性CRF时,非均匀去模糊变得非常困难,并且应该考虑非线性。 然而,目前,没有可用于具有空间变化模糊的图像的CRF估计技术。 当没有给出基础事实CRF时,一种常见的实用方法是将CRF近似为γ= 2.2的伽马曲线,如下所示,因为它被称为已知CRF的近似平均值


    图片.png

    因此,通过校正伽玛函数,我们从观察图像S [i]获得潜在帧信号S [i] S [i] = g -1(S [i]),然后合成相应的模糊图像 B使用(2)。

3. Proposed Method

在我们的模型中,更精细的图像去模糊由更粗糙的比例特征辅助。 为了在保留精细级别信息的同时利用粗略和中级信息,输入和输出到我们的网络采用高斯金字塔的形式。 请注意,大多数其他粗到细网络都将单个图像作为输入和输出。
3.1. Model Architecture
除了多尺度架构之外,我们还采用了略微修改的剩余网络结构版本[12]作为我们模型的构建块。与普通CNN相比,使用剩余网络结构可实现更深层的架构。此外,由于模糊和清晰的图像对的值相似,因此让参数仅了解差异是有效的。我们发现在原始残余构件的快捷连接之后去除整流的线性单元提高了训练时的收敛速度。我们将修改后的构建块表示为ResBlock。在图3中比较了原始和我们修改的构建块。通过使用ResBlocks堆叠足够数量的卷积层,扩展了每个尺度的感受野。细节在以下段落中描述。为了保持一致性,我们按照降低分辨率的顺序定义比例级别(即最精细等级的级别1)。除非另有说明,否则我们使用总K = 3个等级。在训练时,我们将输入和输出高斯金字塔补丁的分辨率设置为{256×256,128×128,64×64}。连续尺度之间的比例是0.5。对于所有卷积层,我们将滤波器大小设置为5×5。由于我们的模型是完全卷积的,因此在测试时,补丁大小可能随GPU内存允许而变化。整体架构如图4所示。


Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring_第2张图片
图片.png

Coarsest level network
在网络的前面找到最粗糙的级别网络。第一个卷积层将1/4分辨率,64×64大小的图像转换为64个特征映射。然后,堆叠19个ResBlock,然后是最后一个卷积层,将特征映射转换为输入维度。每个卷积层都使用zeropadding保留分辨率。总共有40个卷积层。确定每个比例级别的卷积层的数量,使得总模型应具有120个卷积层。因此,最粗糙的水平网络具有足够大的覆盖整个贴片的感受野。在阶段结束时,生成最粗糙的潜在清晰图像。此外,来自最粗等级输出的信息被传递到更精细规模网络的下一阶段。为了转换最粗糙的输出以适应下一个更精细尺度的输入尺寸,输出补丁通过上卷积[22]层,而其他多尺度方法使用整形[8]或上采样[4,6,23]。由于尖锐且模糊的贴片共享低频信息,因此通过向上卷积学习合适的特征有助于消除冗余。在我们的实验中,使用上卷积表现出比上采样更好的性能。然后,将上卷积特征与更精细的模糊补丁连接作为输入。
更精细的网络
更精细级别的网络基本上具有与最粗级别网络相同的结构。 然而,第一卷积层以连续的形式从前一阶段获取尖锐特征以及其自己的模糊输入图像。 每个卷积滤波器大小为5×5,与最粗糙的级别具有相同数量的特征映射。 除了最后一个最好的比例,在下一个阶段之前有一个上卷层。 在最精细的范围内,恢复原始分辨率清晰图像。

3.2 training

Multi-scale content loss
基本上,粗到细方法希望每个中间输出变成相应标度的清晰图像。 因此,我们训练我们的网络,使中间输出形成一个锐利图像的高斯金字塔。 MSE准则适用于金字塔的各个层次。因此,损失函数定义如下:


图片.png

其中L k,S k分别表示比例级k的模型输出和地面实况图像。 每个标度的损失通过通道数c k,宽度w k和高度h k(即元件的总数)归一化。
Adversarial loss

你可能感兴趣的:(Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring)