Advertisement

Deep Multi-scale Convolutional Neural Network for Dynamic Scene Deblurring译

阅读量:

摘要

1.引言

由于相机抖动及物体快速移动导致成像质量下降,并形成模糊画面。

其中B,S及n分别代表用于表示模糊图像,潜在清晰图像以及噪声的关键变量参数。从理论上讲,K被假设为一个大型稀疏矩阵,其每一行都对应着对S执行局部模糊运算的过程,从而生成相应的结果像素点值。然而在实际应用中,K通常被认为是未知的参数值集合。基于观测到的混合像B的情况下,盲去 blur 方法旨在同时恢复原始清晰像S及其对应的隐含退化算子K

为每个像素确定模糊核是一项严重的问题。因此,在文献[29,10]中的一些方法尝试通过简化假设来建模模糊问题。他们假设模糊仅由相机运动引起,在这种情况下,在动态场景中由于存在多个运动物体以及相机自身的运动导致内核估计变得更为复杂。因此,Kim等人[14]提出了一种基于动态场景的消 fuzzy方法,并将其与分割图像相结合以实现对被分区域进行复杂的(非线性)核估计;此外,Kim与Lee[15]则将模糊核逼近为局部线性,并提出了一种同时恢复清晰图像与局部线性运动模型的方法;然而,在这种局部线性近似下仍存在不足之处,在突然出现的运动不连续或遮挡情况下表现不够理想;值得注意的是,在这种不准确的内核估计过程中直接影响到恢复出清晰图像的质量,并造成预期以外的振铃效果

近年来,CNN(卷积神经网络)已被广泛应用于计算机视觉领域,并在反模糊问题方面展现出色的效果[30,25,27,1]。由于缺乏高质量的真实模糊图像配对用于监督学习任务,研究者们通常利用清晰图像与特定核生成模拟的模糊图像进行训练。其中,在文献[30,25,1]中,研究人员采用具有均匀分布的模糊核构建合成模糊图像进行训练;而在文献[27]中,则采用了分类型CNN架构来估计局部线性变化下的模糊特性参数。由此可见,在现有研究条件下基于CNN的方法仅能较好地处理有限类型的空间变化敏感的反模糊问题

由此可见,在实践中运用现有方法会遇到诸多问题;这些困难主要归因于所使用的模糊核模型既简单又不切实际。鉴于此,在这项研究中,则提出了一种创新性的端到端学习方案,并应用于动态场景下的去模糊技术。

首先,在这项研究中,我们提出了一种多尺度的卷积神经网络(CNN)直接恢复清晰图像的方法,并且该方法不预先设定任何限制条件下的模糊核模型。与现有方法不同的是,在我们的框架中,并未显式估计模糊核这一关键步骤。因此,在这种情况下也不会产生由核估计所带来的振铃效应(ringing artifacts)。值得注意的是,在多尺度架构的设计上,则模拟了常规优化算法从粗到细逐步精化的流程。其次,在网络架构的设计上,则采用了多尺度损失函数进行训练,并且这种架构能够显著提升收敛速度。此外,在结果优化方面,则进一步引入了对抗损失(adversarial loss)以提升图像质量[9]。第三部分中,则提出了一个逼真的模糊图像与对应的清晰图像的数据集。为了获取无模型训练所需的数据集,在数据集获取方法上参考了文献[17]的相关工作内容。由于模糊成像过程可以被模拟为相机快门打开时一系列清晰图像的集合[17,21,16] ,因此我们在实验过程中采用了高速摄像机捕获动态场景中的多个清晰帧,并通过伽马校正(gamma correction)对这些帧进行平均处理以生成最终的模糊图像数据集

在经过对所提出的训练数据集的系统性学习后,并通过适当的数据扩展进一步优化,在处理局部模糊核方面展现出良好的适应能力。此外,在其优化后的损失函数表现与真实数据高度一致的情况下,该方法甚至能够在复杂遮挡区域实现精确重构效果(如图1所示)。本研究采用了包含数百万个图像补丁的数据集来训练我们的模型,并在此基础上,在动态场景去模糊任务中实现了显著性能提升。通过一系列大量实证实验分析得出,在定性和定量评估指标上,提出的方法显著超越了现有的动态场景去模糊技术

1.1相关工作

有一些方法使用CNN进行图像去模糊[30,27, 25,1].

徐等 [30]开发了一种基于图像去卷积的人工智能模型,在实现非盲态下基于可分离的模糊核的去模糊算法研究中取得进展

另一方面, Schuler等人[25]提出了基于CNN的盲去模糊方法. 所提网络模仿传统基于优化的传统去模糊方法,并通过从粗到细的方式逐步提取特征,完成核估计与清晰图像估计过程. 为了获取用于训练网络的真实清晰图像与模糊图像对,研究者采用了高斯过程生成均匀分布的模糊核,并将其与ImageNet数据集[3]中的真实清晰图像进行卷积处理,从而生成大量真实模糊图像样本. 然而,由于其次优架构限制,该方法在实际应用中存在较大的局限性

与Couzinie-Devy等人的研究基础相似[2],Sun等人开发了一种连续型去模糊技术[27]。其次,在这项研究中,默认使用了73个候选模糊核来生成对应的模糊和清晰图像对。随后的研究步骤中,则采用了分类卷积神经网络(CNN)来推断局部图像块所对应的特定模糊核的概率分布情况。值得注意的是,在这一过程中,默认采用了平滑变化特性作为约束条件来优化包含CNN似然项和平滑先验的信息能量模型从而获取理想的平滑型变质核值最终所得的结果则采用传统优化方法进行了计算和重构得到清晰图像数据[31]

现有的这些方法均需精确地进行核估计步骤以重构潜在的清晰图像。相比而言,我们的系统可通过学习自动生成潜在的清晰图像而无需推断模糊核。

采用多种粗粒度结构和多尺度架构[7、5、4、23、8]。
然而,并非所有多规模CNN都能达到与文献[25]相似的效果。
在网络进行深度估计和光流计算时,
通常输出的分辨率低于输入图像。
即便采用了多项比例化架构,在处理长距离依赖关系时这些方法仍存在挑战性

基于多尺度架构设计系统,在细粒度细节层面捕获关键信息,并在大范围关联中平衡不同层次特征。同时,在多尺度损失函数指导下优化网络参数配置以促进中间层对最终结果的支持

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

一般情况下,在进行清晰图像估计之前(即...),获得一个精确且可靠的模糊矩阵是很有必要的;同样适用于基于CNN的方法[25,26];然而,在这一过程中会遇到多个关键问题:第一点在于:由于简单的单像素卷积难以模拟复杂的遮挡区域或深度变化情况;第二点在于:该过程对于噪声和饱和度较为敏感;除非经过精心设计的模糊模型处理才能得到较好的结果;第三点在于:如果无法准确估计模糊矩阵,则可能导致清晰图像中出现虚假阴影;第四点在于:为了在动态场景中为每个像素找到其对应的空间变化的模糊矩阵而进行建模运算,则需要消耗大量内存资源与计算资源

基于此,在模糊数据集生成和清晰图像估计领域中应用无核方法是必要的。在模糊图像生成任务中,我们模拟近似相机成像过程而非依赖于具体的运动模型来寻求或设计复杂的模糊核。通过采集连续的清晰帧并融合它们来模仿真实世界的模糊现象是关键步骤。这些详细内容将在第2节中进行介绍。请注意,在我们的数据集中仅包含配对存在的模糊和清晰图像样本,并且局部空间信息隐含地融入了这一结构之中。如图2所示,在对比我们的无核模糊图像与基于均匀分布假设的传统合成结果时可以看出显著差异性:由我们提出的方法生成的模糊区域展现出更加真实的人体运动与静止背景所引起的空间变化特征;而传统方法合成的结果则显得不够自然。对于清景区别估计问题而言我们并未假设存在特定类型的模糊源而是直接基于提供的配对样本进行训练因此这种方法确保了去模糊过程中无需面对与核相关的挑战

2.模糊数据集

为了避免直接对模糊核进行卷积处理, 我们选择记录随着时间积累的清晰信号, 以生成对应的模糊图像. 在相机工作期间, 传感器持续接收光线, 因此每次都会积累清晰度较高的图像信息, 最终形成一个模糊效果[13]. 接下来, 使用非线性相机响应函数(CRF)将这些累积的信号转换为有意义的像素值. 这样一来, 就可以通过从高速视频中累积这些信号来模拟这一过程.

模糊累积过程建模如下:

其中T与S(t)各自代表时间点t处清晰图像对应的曝光时间和传感器信号。同样地,在该时间段内捕捉到的是采样帧数目M以及第i个清晰帧。相机响应函数g旨在将真实图像S(t)转换为观测到的结果\hat{S}(t),从而实现或。事实上,我们只能获取视频帧序列,而原始信号及其对应的相机响应函数均为未知量。

当碰到而非线性的相机响应特性时(即碰到),确实会让非均匀去模糊变得极为棘手,并且必须考虑到系统的非线性特性。(此处补充了"即"以增强逻辑连接的同时也使句子更加完整)

在此基础上,经过对伽马函数进行校正处理后,在此基础上被用来从观察到的图像中获取清晰图像S [i]。随后,在此基础上利用式(2)综合生成相应的模糊图像B。

我们采用GOPRO4英雄黑相机生成数据集。通过GOPRO摄像机拍摄每秒240帧视频后取用了7至13帧连续清晰的照片作为基础素材来制作不同模糊程度的照片。值得注意的是,在生成每张模糊照片时对应的清晰隐像被定义为其时间段内的中段画面即第8帧图片。最终发布于我们网站上的数据集包含分辨率1280×720、共3214对模糊与清晰图像的数据集

3.提出的模型

在我们的模型中,在更高分辨率图像上进行去模糊处理是通过更低分辨率特征进行支撑。 在同时保留细节信息并结合中间级数据时(即高分辨率与低分辨率共同作用),我们网络采用高斯金字塔形式作为输入与输出结构。 请注意,在这种架构设计下(即从粗等到精细),大多数现有架构仅接受一个输入并生成一个输出。

3.1模型架构

除了基于多尺度架构的设计方案之外, 我们采用了文献[12]所提出的稍作改进的残差网络结构作为模型的一部分. 相较于传统卷积神经网络(CNN)而言, 使用残差网络结构能够实现更深层次的模型架构. 此外, 因为模糊图像与清晰图像在特征表征上具有高度一致性, 因此仅学习两者之间的差异信息能够取得较好的效果. 经过实验发现, 在保留原始残差组件的前提下, 通过移除传统残差模块中的线性修正层, 在训练过程中显著提升了模型收敛速度. 原始残差组件与我们的改进组件如图3所示进行了对比分析.

利用足够多数量的ResBlock卷积层进行堆叠后,在每个尺度上扩大了接收域范围。具体细节将在下文详细阐述。为了保持一致性和连贯性,在构建比例系列时,默认会以逐级降低分辨率的方式(即最佳比例系列)进行定义。除非另有特别说明,则默认采用K = 3的比例因子作为基准尺度。在训练阶段,则将输入与输出高斯金字塔块分别设定为{256×256,128×128,64×64}序列,并确保相邻尺度间的降缩放比率均为0.5倍。对于所有参与卷积操作的滤波器而言,则统一采用大小为5×5的设计方案。值得注意的是,在测试环节中由于模型架构完全依赖于全连接计算模式,在GPU内存允许的情况下可能动态调整块尺寸以适应不同计算需求。整个网络框架示意图已见图4展示。

如图3所示(a),本研究采用了原始残差网络的基本构建模块。基于该结构设计的基础上,在(b)部分展示的是我们所提出的改进组件架构。未采用批处理归一化层,在实验过程中发现由于本研究中的模型最小尺寸设定为4(低于常规批处理归一化方法),因此在实际应用中展现出更好的性能表现。通过实验结果表明

在块输出前去除线性修正单元在性能方面是有益的。

图4展示了多尺度网络架构。其中Bk、Lk、Sk分别代表模糊图像是、清晰图像是、真实清晰图像是(注:这里可能需要进一步澄清标识符的具体含义)。在这里下标符号为k表示高斯金字塔中的第k个比例尺层次,在此层次上经过下采样处理后得到1/2^k的比例分辨率(注:这里可能需要进一步澄清具体计算方式)。我们的模型以模糊图像金字塔作为输入,并生成一个估计值为清晰图像金字塔的输出(注:这里可能需要进一步澄清输出的具体形式)。每个中间尺度层都会训练成能准确预测清晰图像层的目标(注:这里可能需要进一步澄清训练目标)。在实际应用中,默认使用原始分辨率的图片作为最终结果(注:这里可能需要进一步澄清实际应用中的处理策略)。

最粗糙的网络

处于网络架构最上游位置的模块组中嵌入了最粗糙特征提取机制。该模块组首先执行一个卷积操作层(第一层),其参数配置为1/4分辨率、64×64输入尺寸,并生成64个独立于其他通道的空间特征图。随后通过连续施加19个残差模块(ResBlock),最终在输出端引入另一个标准卷积操作层(第二层),从而完成从初始分辨率到更高层次抽象特征表示的整体转换过程。值得注意的是,在这一系列的操作过程中始终采用零填充策略以维持各层级特征图的空间维度一致性。实验中总共设计了40个独立的卷积操作层用于构建完整的网络架构体系。为实现多尺度特征表示目标,在每一步骤中均需明确指定各尺度下的卷积层数目配置参数,并保证最终构建出的整体模型具有总计120个可学习参数化操作层组件。基于此原则构建起来的最粗糙特征提取网络能够充分捕获图像块内的大范围空间信息,并在此基础上生成初步清晰度最低的潜在图像表征。随后将该初步结果与更高层次分辨率的信息进行融合整合,在后续阶段逐步提升整体图像质量直至达到最佳清晰度水平。值得注意的是,在向下一层次精细特征提取模块传递信息时必须采用特定的数据重排机制以适应目标模块组所需输入空间尺寸要求:具体而言,在本研究中我们采用上采样操作作为主要的数据重排手段以替代其他现有文献中普遍使用的数据重塑或插值重构方法[7]。基于实验结果表明,在保持相同模型复杂度的前提下所设计的上采样机制较传统插值方法展现出更好的性能表现:进一步地,在处理更高层次细节级别的模糊块时需将上采样得到的结果与当前模糊块之间建立深度关联关系并将其联合作为下一层次精细解码过程中的输入信号来源。

更精细的网络

在结构上基本一致的是更精细级别的网络。值得注意的是,在第一个卷积层中使用串联方式连接了来自前一层清晰特征(尽管输入是一个模糊图像)的部分。每个卷积滤波器被设定为5×5大小,并生成与最粗分辨率对应的同样数量的特征图。除了最后一级优化配置外,在进入下一阶段之前还有一个反向传播层(上采样层)参与其中。经过处理后,在最佳分辨率级别能够重建出清晰完整的图像细节。

3.2 训练

我们的模型基于所提出的GOPRO数据集进行训练。其中2103对图像用于训练过程中的参数优化阶段,剩余的数据则用于验证模型性能。为了防止网络出现过拟合现象,在实验设计中采用了多种数据增强技术来提升模型鲁棒性。具体而言,在几何变换模块中,在水平或垂直方向上对图像块进行旋转操作,并采用随机角度的方式实现旋转效果;同时,在颜色空间处理方面,则将RGB通道以随机顺序重新排列来增强颜色特征多样性;此外,在模拟真实成像效果时,在HSV颜色空间中将饱和度乘以[0.5,1.5]区间内的随机数来进行亮度调节;为了进一步提高模型抗噪能力,在模糊图像生成过程中加入了高斯噪声,并将其强度由高斯分布抽取决定;最后,在实验过程中采用了归一化处理手段将图像值缩放至[0,1]范围内进行裁剪处理。

在对网络参数进行优化的过程中,在线性和非线性模型之间实现了平衡训练,在多尺度特征丢失与对抗域中的能量损耗之间找到了最优解。

多尺度内容损失

基于从粗到细的理念,我们的目标是使每一层中间的输出都保持相应尺度下的清晰图像特征。 通过这种设计思路,在网络训练过程中我们致力于构建一系列清晰度逐渐提升的高斯金字塔结构。 采用均方误差损失函数作为评估标准,在每层金字塔中定义相应的损失项。 这样一来,在综合所有层级的信息后就可以得到完整的损失函数表达式。

在尺度级k上,模型输出为Lk代表预测图像对应的特征图层输出结果;真实图像对应的真实特征图层输出结果则记作Sk。每个层级的损失值则通过通道数目ck、宽度wk以及高度hk(即元素总数)进行归一化。

对抗性损失

最近的研究者们报告称能够通过对抗网络生成高度逼真且具现实感的图像[9,4,24]。基于文献[24]对架构的详细描述,我们开发了一个鉴別器(如图1所示)。该鉴別器利用最佳分辨率或真实样例的输出作为输入,并用于判断其是否为对抗网络生成的结果。

对抗性损失定义如下。

我们采用的生成器分别为G和D;如图4所示为多尺度去模糊网络与鉴别器(分类器)的集合体;为了优化性能,在实验中我们综合考虑了多尺度内容损失与对抗性损失的影响;其总目标函数为:

其中权重常数\lambda= 1\times 10^{-4}被设定为一个微调参数,在基于小批量尺寸B=4的ADAM优化器[Ref: 18]下用于训练过程。初始学习率为\eta_0= 5\times 10^{-5}通过动态调整实现自适应收敛;经过\eta_{\text{final}}= \eta_0/2=2.25\times 1e^{-6}的学习率降至目标值所需的一系列实验验证后,在整个算法框架下完成总共N_{\text{iter}}= 9\times 2e^{6}次迭代后的模型收敛评估

表1.鉴别器的模型参数。 每个卷积层用LeakyReLU层激活函数

4.实验结果

4.1 GOPRO数据集

为了验证我们模型的效果,在提出的新GOPRO数据集上进行了性能评估。测试集包含约1/3的数据量,并由约1111对样本组成。通过定性和定量分析将我们的研究结果与现有最先进的比较方法进行了对比[27, 16]。研究发现表明,在运动模糊或非线性形状模糊区域中去模糊效果并不理想。如Sun等人在运动边缘或非线性模糊区域的研究显示(图中未展示),去模糊效果难以达到预期目标。相比之下,在缺乏明确边缘信息的情况下(如金和李[16]所指出),现有方法同样无法取得令人满意的成果)。表2通过PSNR指标展示了各算法间的性能对比结果;同时计算得到的SSIM值均超过了测试数据集的标准。

表2. GOPRO数据集上的定量去模糊性能比较。K表示刻度级。

4.2 Kohler数据集

Köhlert 数据集[19] 包含 4 个清晰图像和 12 个具有不同模糊度的模糊图像。由于重播记录中的6D摄像机运动导致图像变得模糊。我们从表3 中汇总并分析了该数据集的定量评估结果。

表3中基于Köhler数据集展开的定量对比分析。 由于该数据集配备了独立的评估代码库,在本研究中采用多尺度SSIM指标作为评价标准而非传统的SSIM。

4.3 Lai等人的数据集

赖等人 [20]通过卷积不均匀的模糊核并施加几种常见的退化来生成合成数据集。 他们还记录了6D摄像机轨迹生成模糊核。 然而,他们模糊的图像和清晰的图像与我们的数据集不一致,使得诸如PSNR和SSIM之类的简单图像质量评测标准与知觉质量相关性较小。 因此,我们在图6中显示了定性比较。 显然,我们的结果可以避免振铃效应,同时保留诸如波纹的细节。

5. 结论

在本文中, 我们开发了一种新型的盲去模糊神经网络系统, 其主要目的是实现清晰图像估计功能. 相比于现有技术, 我们的模型采用了模块化设计, 并且采用了多层次的学习机制来规避核估计过程中的潜在问题. 该系统采用自底向上的设计思路, 即从基础模块开始逐步集成, 并结合多尺度特征提取策略进行优化. 此外, 我们成功构建了一个真实模糊数据集, 这不仅为监督学习提供了充足的数据支撑, 同时也为系统的严格评估奠定了可靠的基础. 实验结果表明, 该系统在质量指标和定量评估结果显示方面均显著优于现有的同类算法.

新手,翻译的不太规范,欢迎批评指正

全部评论 (0)

还没有任何评论哟~