腾讯优图提出SRN-DeblurNet:高效高质量去除复杂图像模糊

因为手抖或焦点选择等问题,相机拍摄的图像中常常存在模糊状况。消除图像模糊,呈现图像细节是计算机视觉领域内的一个重要研究主题。香港中文大学、腾讯优图实验室和旷视科技的研究者合作提出的 SRN-DeblurNet 能更高效地实现比之前最佳方法更好的结果。该论文已被将在当地时间 6 月 18-22 日于美国犹他州盐湖城举办的 CVPR 2018 接收。

图像去模糊一直以来都是计算机视觉图像处理领域内的一个重要问题。给定一张因运动或失焦而模糊(由相机摇晃、目标快速移动或对焦不准而造成)的图像,去模糊的目的是将其恢复成有清晰的边缘结构和丰富真实的细节的图像。

单图像去模糊在数学上是一个高度病态(ill-posed)问题。传统方法是通过对模糊的原理进行简化和建模(比如均匀模糊/非均匀模糊/考虑深度的模糊),并使用不同的自然图像先验 [1, 3, 6, 14, 26, 37, 38] 来约束解空间。这些方法大多数都涉及到大量的(有时是试验式的)参数调整和成本高昂的计算。此外,简化后的模糊模型往往有碍它们在真实拍摄样本上的表现。在真实世界中,模糊比建模的情况要复杂很多,甚至还涉及到相机内部的图像处理过程。

也有研究者为去模糊提出了基于学习的方法。早期的方法 [28, 32, 35] 是借助外部训练数据,用一组可学习的参数替代传统框架中的一些模块或步骤。更近期的工作则开始使用端到端的可训练网络来进行图像 [25] 和视频 [18,31] 去模糊。其中,Nah et al.[25] 使用一种多尺度卷积神经网络(CNN)达到了当前最佳水平。他们的方法从非常小尺度的模糊图像开始,然后逐渐恢复更高分辨率的清晰图像,直到达到完整分辨率。这一框架遵循传统方法中的多尺度机制,其中「由粗到精」流程在处理大的模糊核时很常见 [6]。

在本论文中,我们探索了一种用于多尺度图像去模糊的更有效的网络结构。我们提出了一种新的尺度循环网络(SRN:scale-recurrent network),它讨论和解决了基于 CNN 的去模糊系统中两个重要的一般性问题。

尺度训练结构

在现有的多尺度方法中,求解器及其每个尺度的参数通常是一样的。直观上看,这是一种自然的选择,因为在每个尺度上,我们的目标都是求解同样的问题。还可以发现,每个尺度上使用不同的参数可能会引入不稳定性并带来非限制性解空间的额外问题。另一个问题是输入图像可能会有不同的分辨率和运动尺度。如果允许每个尺度上都进行参数调节,那么这个解可能会在特定图像分辨率或运动尺度上过拟合

基于同样的原因,我们相信这个方案也应该被应用于基于 CNN 的方法。但是,近期的级联网络 [4, 25] 仍然为每个尺度使用了独立的参数。在本研究中,我们提出在不同尺度上共享网络权重,从而显著降低训练复杂度以及引入明显的稳定性优势。

这种做法有两种好处。首先,这能显著减少可训练参数的数量。即使用同样数目的训练数据,在共享权重的循环利用下的效果也像是有多倍数据来学习参数,这实际上相当于在尺度上进行的数据增强。其次,我们提出的结构可以利用到循环模块,其状态传递能隐含地获取各个尺度上的有用信息并帮助图像恢复。

编码器-解码器 ResBlock 网络

编码器-解码器结构在多种计算机视觉任务上有效应用 [23, 31, 33, 39],我们探索了将其应用于图像去模糊任务的有效方法。在本论文中,我们将表明直接应用已有的编码器-解码器结构不能得到最优结果。相对而言,我们的编码器-解码器 ResBlock 网络会放大各种 CNN 结构的优势并实现训练的可行性。同时,这还会产生非常大的感受野,这对运动模糊很大的图像的去模糊至关重要。

我们的实验表明,使用循环结构并结合上述优势,我们的端到端深度图像去模糊框架可以极大地提升训练效率(大约 [25] 的四分之一的训练时间就能实现近似的恢复效果)。我们只使用了不到三分之一的可训练参数以及远远更少的测试时间。除了训练效率,我们的方法在定量和定性比较上都能得到比已有方法更高质量的结果,如图 1 所示。我们将这个框架称为尺度循环网络(SRN)。

图 1:一个真实拍摄的示例。(a)输入的模糊图像,(b)Sun et al. [32] 的结果,(c)Nah et al. [25] 的结果,(d)我们的结果

图 2:用于图像处理的不同 CNN。(a)U-Net [27] 或编码器-解码器网络 [24],(b)多尺度 [25] 或级联细化网络 [4],(c)扩张卷积网络 [5],(d)我们提出的尺度循环网络(SRN)。

网络架构

我们将我们提出的网络的整体架构称为 SRN-DeblurNet,如图 3 所示。其以在不同尺度上从输入图像下采样的一个模糊图像序列为输入,然后得到一组对应的锐利图像。在全分辨率下的锐利图像即为最终输出。

图 3:我们提议的 SRN-DeblurNet 框架

实验

我们的实验是在一台 PC 上执行的,其配置有英特尔 Xeon E5 CPU 和一块英伟达 Titan X GPU。我们在 TensorFlow 平台 [11] 上实现了我们的框架。我们全面评估了多种网络结构,以验证不同的结构对于效果的影响。为了公平起见,除非另有说明,所有实验都是在同一数据集上,使用同样的训练配置完成的。

表 1:基准模型的定量结果

表 2:在测试数据集上的定量结果(PSNR/SSIM)

图 5:在测试数据集上的视觉比较。从上到下:输入、Whyte et al. [34]、Sun et al. [32]、Nah et al. [25] 和我们的方法。

论文:用于深度图像去模糊的尺度循环网络(Scale-recurrent Network for Deep Image Deblurring)

论文地址: http://www.cse.cuhk.edu.hk/leojia/papers/scaledeblur_cvpr18.pdf

摘要:在单图像去模糊中,「粗糙到精细」方案(即以金字塔的形式在不同分辨率上逐步恢复锐利图像)在传统的基于优化的方法和近期的基于神经网络的方法中都非常成功。在本论文中,我们研究了这一策略并提出了一种用于去模糊任务的尺度循环网络(SRN-DeblurNet)。相比于 [25] 中很多近期的基于学习的方法,它的网络结构更简单,参数数量更少,训练更容易。我们在带有复杂运动的大规模去模糊数据集上评估了我们的方法。结果表明,在定量和定性比较上,我们的方法能得到比之前最佳结果更高质量的结果。

理论CVPR 2018腾讯优图计算机视觉超分辨率
1
相关数据
神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

计算机视觉技术
Computer Vision

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

卷积神经网络技术
Convolutional neural network

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

图像处理技术
Image processing

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

过拟合技术
Overfitting

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

张量技术
Tensor

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

TensorFlow技术
TensorFlow

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

推荐文章