Learning Blind Motion Deblurring
abstract
由于手持式摄像机现在已经司空见惯并且可以在每个智能手机中使用,因此几乎可以随时随地记录图像和视频。 但是,由于在录制过程中不必要的相机抖动或在场景中移动物体,经常快速拍摄会产生模糊的结果。 从模糊记录中去除这些伪像是一个非常不适合的问题,因为锐利图像和运动模糊内核都不是已知的。 在多个连续模糊观察之间传播信息可以帮助恢复所需的清晰图像或视频。 在这项工作中,我们提出了一种有效的方法来产生大量的现实训练数据,并引入一种新颖的循环网络架构来对考虑时间信息的帧进行去模糊处理,这可以有效地处理任意空间和时间输入大小。
1. Introduction
由手持设备捕获的视频通常包含由相机抖动(自我运动)和动态场景内容(对象运动)的组合引起的运动模糊伪像。 在固定曝光时间下,记录期间的任何移动都会使传感器观察到场景中不同点的平均信号。 从模糊观察重建锐利帧是一个非常不适定的问题,根据是否已知相机抖动信息表示为盲或非盲去卷积。
在视频和图像突发中去模糊单帧的重建过程可以利用来自相邻帧的附加数据。 然而,问题仍然是挑战性的,因为每个帧可能遇到不同的相机抖动并且帧可能不对齐。
用于多帧和视频去模糊的所有最近的网络架构[30,24,17,2]要求输入匹配固定的时间和空间大小。 理论上可以通过完全卷积网络处理任意空间维度,如[24]中所做的那样,但由于GPU上的内存有限,它们在推理期间依赖于滑动窗口方法。 对于这些方法,通过聚合比训练网络更长的序列的信息,不可能重建一帧。
相比之下,我们的方法是一个去模糊系统,可以处理任意长度的序列,同时具有完全卷积网络,可以一次处理全分辨率视频帧。由于其占用的内存很小,因此在推理过程中不再需要滑动窗口,从而大大加速了去模糊过程。为了处理任意序列,我们依赖于循环
方案。虽然卷积LSTM [18]提供了一种直接的方法来替代传统单位的常规结构中的空间卷积,但我们发现它们具有挑战性且训练缓慢。除了消失渐变效果之外,它们还需要一系列技巧,例如仔细调整的渐变剪切参数和批量标准化的特殊变体。为了避免这些问题,我们引入了一种新的当前编码器 - 解码器网络。在网络中,我们结合了空间残差连接,并在后续迭代之间引入了新颖的时间特征传递。除了网络架构,我们进一步创建了一个新的视频去模糊训练集,因为数据驱动方法的成功在很大程度上取决于可用的数量和质量。现实的训练样例。由于获取真实的地面实况数据非常耗时,因此我们成功地完成了综合训练数据,几乎没有任何购置成本,并且展示了改进的结果和运行时间在各种基准集上,例如图1所示。
2. Related Work
图像去模糊的问题可以被表述为非盲或盲去卷积版本,这取决于关于模糊的信息是否可用。盲图像去模糊(BD)在现实世界的应用中非常普遍,并且在过去十年中取得了相当大的进步。 Wang和Tao [29]在最近的概述文章中提供了全面的综述。传统的国家 -
最先进的方法,如Sun等。 [26]或Michaeli和Irani [16]使用精心挑选的基于贴片的先验来进行清晰的图像预测。基于神经网络的数据驱动方法已经证明在非盲恢复任务[21,31,20]以及BD中更具挑战性的任务中成功,其中模糊内核未知[22,25,2,10,27] ]。最近在[17]中解决了从移动物体中去除模糊的问题。为了减轻问题的不适应性[7],可以考虑多个观察结果。因此,静态场景的观察(每个静态场景被不同地模糊)用作输[33,3,1,23,35,9]。为了结合诸如时间一致性的视频属性,[32,34,13,12]的方法使用强大且灵活的生成模型来明确地估计未知模糊以及预测潜在的清晰图像。然而,这是以更高的计算成本为代价的,这通常需要数十分钟才能完成恢复过程。
为了加快处理速度,Delbracio和Sapiro [6]提出了一种基于幸运成像方法对输入帧序列进行平均的巧妙方法。 他们建议计算傅立叶域中所有对齐输入帧的加权组合,这有利于包含清晰信息的突发中的稳定傅里叶系数。 这样可以大大加快处理时间,并且无需显式计算模糊内核。
最近,Wieschollek等人。 在[30]中介绍了一种用于多帧去模糊的端到端可训练神经网络架构。 他们的方法通过以拼接方式处理输入突发直接计算出清晰的图像,从而产生最先进的结果。 已经表明,这甚至能够治疗空间变化的模糊。 Su等人已经接近了关于视频去模糊的相关任务。[24]。 他们的方法使用具有跳过连接的U-Net架构[19]直接从输入突发中回归清晰图像。 他们的完全卷积神经网络学习了具有合理性能的多个输入的平均值。遗憾的是,两种学习方法[30,24]都需要在训练时修复时间输入大小,并且它们仅限于基于补丁的网络布局推断[ 30]和记忆约束
3. Method
概述。在我们的方法中,完全卷积神经网络使用来自先前帧I -1,I -2,...的信息以迭代,循环方式去除帧I。结合先前(模糊)观察改进了I的当前预测。我们将这些步骤称为deblur步骤。因此,完整的递归deblur网络(RDN)由几个deblur块(DB)组成。我们在这些之间使用权重共享来减少所使用参数的总量并在这些去模块之间引入新的时间跳过连接以在各个时间步骤之间传播潜在特征。为了有效地更新网络参数,我们在培训期间展开这些步骤。在推理时,只要最少两帧的处理适合GPU,输入就可以具有任意空间维度。此外,循环结构允许我们包含任意数量的帧,有助于在每次迭代时改善输出。因此,不需要填充突发序列以匹配网络架构,例如,网络架构。在[30]。
3.2. Handling the time dimension
CNN在计算机视觉任务中所需的典型输入形状是[B,H,W,C] - 批量大小,高度,宽度和通道数量。但是,处理一系列图像包括一个新维度:时间。为了应用空间卷积层,必须将附加维度“合并”到通道[B,H,W,C·T]或批量维度[B·T,H,W,C]中。像[24,30]这样的方法沿着通道维度堆叠时间,使得整个突发中的所有信息都可用而无需进一步修改。这是以删除有关时间顺序的信息为代价的。此外,输入帧的数量需要在训练之前固定,这限制了它们的应用。较长的序列只能通过填充和滑动窗口处理等方法进行处理。另一方面,将时间维度合并到批量维度中可以灵活地处理不同长度的序列。但是每个帧的处理完全与其相邻帧分离 - 没有信息传播。使用convLSTM的架构[18]或者convGRU细胞[4]被设计为自然处理时间序列,但在训练期间需要几个技巧[15,28]。我们尝试了几种基于这些复发细胞的结构,但发现它们很难训练,即使经过两天的训练也没有观察到任何改善。
3.3. Network Architecture
我们建议将整个网络表示为deblur块的循环应用,并连续处理输入对(目标帧和附加观察),而不是包括循环层,这使我们能够灵活地处理任意序列长度并实现信息融合。 网络。
考虑具有形状[H,W,C]的当前预测I和模糊观察I-k的单个去模糊步骤。 灵感来自Ronneberger等人的工作。 [19]和最近的剩余连接成功[8]我们在每个去模块中使用编码器 - 解码器架构,见图3.因此,网络只包括带有batchnorm的卷积和转置卷积层[11]。 我们将ReLU激活应用于[8]中提出的卷积层C·的输入。
图片.png
第一个可训练的卷积层将6通道输入(训练期间的两个128×128px RGB图像)扩展为64个通道。 在编码器部分中,每个残余块包括下采样卷积层(),后跟三个卷积层()。 下采样层用步幅2将空间维数减半,并使有效通道数[H,W,C]→[H / 2,W / 2,C·2]加倍。 在解码步骤期间,转置卷积层()反转下采样[H,W,C]→[2·H,2·W,C / 2]的效果。 对于所有卷积/转置卷积层,我们使用3×3/4×4的滤波器大小。 在开始时,没有下采样的附加残差块通过提供更大的感受野来解决更大的模糊。
为了加快训练过程,我们在编码和解码部分之间添加跳过连接。 因此,我们将从编码器提取的特征添加到相关的解码器部分。 这使得网络能够在模糊输入和清晰的地面实况之间学习残差,而不是最终从头开始生成清晰的图像。 因此,网络是完全卷积的,因此允许任意输入大小。 有关详细信息,请参阅表1。
跳过连接作为临时链接。 我们还建议在随后的deblur块之间传播潜在的特征。 为此,我们将前一次迭代中的特定层激活与当前deblur块中的一些层连接起来。 这些跳过连接如图3中的绿线所示。此外,为了减小通道尺寸以匹配下一层所需的输入形状,我们使用
1×1卷积层,表示为混合层B。
这样,网络可以通过在当前特征和来自先前迭代的传播特征之间进行混合来学习加权和。 这有效地将通道尺寸减半。 这种结构的一个优点是我们可以在第一个deblur块中禁用这些跳过连接,并且仅在后续迭代中应用这些跳过连接。 此外,它们可以应用于预先训练的模型而无需时间跳过连接
4.experments
使用多尺度输入。 虽然我们的网络仅在恒定空间分辨率的序列上进行了训练,但我们尝试进行多尺度输入以恢复强烈的物体运动。 特别地,我们在n = 1,2,3的不同水平上以1 / 2n-1分辨率对整个输入序列进行去模糊,然后对预测结果进行放大以获得更高规模的序列的额外新输入帧。 虽然它部分地有助于处理训练数据中未涉及的较大运动模糊,但是上采样可能产生网络未被训练的伪像。 图7显示了这样的结果。 虽然自行车变得更加锐利,但场景的静态部分呈现出“漫画风格”的外观。 直接培训这样一个多尺度网络似乎是一个有趣的研究方向。
图片.png
时间结构。 我们的网络架构包括一个“反因果”结构,通过在一对一映射中考虑原始的先前帧来去模糊一帧.I = DB(DB(I,I -1),...)。 我们尝试了几种序列到序列的映射方法,以在线方式产生一个清晰的帧I t = DB(I t,I t-1)。 我们注意到,传播时间信息的能力有限,可能无法带来学习上的好处。
识别有价值的时间信息。 我们设计的网络架构的一个新特点是时间跳过连接(图3中的绿色),作为后续deblur块之间的信息链接。 由于我们没有为这些链接添加约束,我们基本上允许网络传播任何特征信息似乎对下一个deblur块有益。 为了说明这些时间信息,我们可视化图6中的相应层激活。图示表明网络利用这个机会传播图像位置,
可能会从进一步的去模糊(黄色部分)中获益。