李晓光,杨飞璠,卓 力
(北京工业大学信息学部,北京 100124)
动态场景下的图像去模糊技术一直是图像处理领域的研究热点,是一种由模糊图像复原出包含丰富边缘轮廓信息的清晰图像的重要技术手段,其利用数字信号处理方法,在不改变硬件设备的前提下复原缺失的高频信息,具有成本低、原有图像采集设备仍然可用等优点.
高质量的图像已经成为一种主流的需求.近年来,随着手持式移动设备的普及,模糊已经成为一个普遍存在的问题.此外,大部分基于高质量图像的应用,如医学影像、刑侦、遥感等领域,往往需要对图像进行复原处理[1].这使得图像去模糊技术受到越来越多的关注.模糊图像不仅影响主观感受,还会影响后续的智能化分析.动态场景下的非均匀模糊图像复原问题是一项极具挑战性的低层计算机视觉问题,如何从模糊图像中复原出清晰且包含细节信息的潜像是图像去模糊技术亟待解决的关键问题.其面临的困难主要表现在:
1)图像模糊的成因复杂,如由相机抖动、目标运动引起的运动模糊,场景深度变化引起的散焦模糊,以及在拍摄远距离场景时大气湍流引起的模糊等.
2)不同类型的模糊通常是动态随机耦合存在,一幅模糊图像往往包含多种模糊类型.
3)模糊核的空间变化,由于受到复杂运动及其他因素的影响,不同空间位置的模糊程度和模糊类型往往不尽相同.
图像去模糊技术在安防、刑侦、交通、金融等领域均具有良好的应用价值,同时,对人工智能、图像处理、信息安全等相关学科的发展也具有重要的推动作用.因此,图像去模糊技术研究具有重要的理论意义和应用前景.
图像去模糊技术有着悠久的研究历史.20世纪70年代,开始有学者开展基于重建模型的模糊图像复原技术研究,并取得了一定进展.近年来,深度学习技术的出现为图像去模糊技术提供了新的思路和解决方案.
本文从传统方法和基于深度学习的图像去模糊方法两方面进行综述,并对不同图像去模糊算法的特点进行分析和讨论.最后,对图像去模糊算法潜在的发展方向进行了展望.
图像去模糊是图像处理和计算机视觉领域的一个传统的基础问题,具有较长的研究历史.传统的图像去模糊方法可以分为非盲去模糊方法和盲去模糊方法2类.下面将从这2个方面对传统的图像去模糊算法进行阐述.
传统的图像去模糊方法需要建立图像获取过程的观测模型,然后再通过求解观测模型的逆问题实现图像去模糊.观测模型描述了在该成像系统下从清晰图像获得模糊图像的过程.从数学角度可以将模糊过程表示为原始清晰图像与点扩散函数(或者模糊核)的卷积.常用的模糊模型为
IB=K*IS+N
(1)
式中:IB、IS和N分别代表模糊图像、清晰图像和噪声;*代表卷积;K代表由局部模糊核组成的模糊核矩阵,每个局部模糊核作用于清晰图像IS生成一个模糊像素.
早期的传统去模糊工作[2-4]主要集中于非盲去模糊任务,非盲复原任务的定义是:在模糊核已知的情况下,利用所观测到的降质图像复原出原始图像.即假设模糊核K已知.经典的算法如Lucy-Richardson算法[2]、维纳滤波算法[3],通过对降质图像进行反卷积操作估计清晰的潜像.此后,大部分非盲去模糊方法[4-5]是在Lucy-Richardson算法[2]和维纳滤波算法[3]基础上进行改进,实现对模糊图像的复原.由于实际情况下,图像的模糊核往往是未知的,因此,非盲去模糊方法对于解决实际问题往往存在一定的限制.
图像盲复原任务的定义是:在模糊核未知的情况下,通过已知的模糊图像复原出清晰的原始图像.由于图像的模糊核K在真实环境中往往未知,因此图像盲复原方法有着更广泛的应用.如今,图像盲复原问题已经成为一个备受关注且有价值的基本研究课题,广泛应用于医疗图像、视频监控等领域.传统图像盲复原方法需要估计模糊核和清晰图像.这是一个严重的病态问题,因此传统方法往往需要利用图像的先验信息或对模糊做出假设.
传统的图像盲复原方法主要分为2类:基于最大后验概率(maximum a posterior,MAP)的方法[6-15]和基于变分贝叶斯(variational Bayesian,VB)框架的方法[16-19].这2种方法的主要不同点在于:基于MAP的方法具有模型简单、数值算法高效以及先验选择灵活等优点.基于VB框架的方法通过将原始图像与模糊核的联合后验概率在图像空间边际化,然后求解模糊核的边际分布,进而实现求解图像盲复原问题.这种策略在低维度空间便可以完成相关参数估计,但是,边际分布的推断却较为困难.
Fergus等[16]提出了一项图像盲复原任务的开创性工作.该方法利用自然的清晰图像满足重尾分布(heavy-tailed distribution)这一统计特性,在已知观测模型下,最大化原始图像和模糊核的联合后验概率,得到模糊核以及复原图像.
Whyte等[6]根据自然图像具有边缘稀疏特点,并结合超拉普拉斯先验对图像进行建模.Kotera等[8]引入了超拉普拉斯先验以及L0范数约束.但是这类方法采用的先验模型并未充分表达自然图像的边缘稀疏性,不利于精确评估模糊核,一旦估计错误往往导致不可取的结果,比如振铃效应等.
一些方法[16,20]通常假设模糊是空间不变的.文献[20]采用机器学习算法解决由单个模糊核引起的全局模糊.Fergus等[16]提出了一种针对相机抖动引起的全局模糊的去模糊方法.文献[7-9]假设模糊核局部线性,并利用简单的参数先验模型快速估计模糊核.方法[10-11]采用迭代策略,利用参数先验模型,在逐次迭代中提升估计模糊核和复原图像的准确性,该类算法的迭代次数没有较为明确的标准,且迭代求解过程的时间复杂度高,往往影响模糊图像复原的速度.
综上所述,传统方法所采用的模糊模型通常以简化的理想条件为前提假设,当退化模型不足以描述真实数据,或者模型估计不佳时,去模糊效果可能并不理想.大部分盲去模糊方法[21-30]的研究主要集中于解决简单的目标运动、相机平移、旋转等因素产生的模糊,而真实动态场景的模糊图像往往更加复杂[31].因此,传统盲复原方法对解决由复杂因素引起的模糊仍存在局限性.
因此,寻找一种新的思路与方法提升图像去模糊技术的性能是亟待解决的关键问题.
近年来,得益于深度学习的迅猛发展,越来越多的学者开始将深度学习技术应用于图像去模糊任务.深度学习技术通过构建多层神经网络来学习隐含在数据内部的关系,从而使得学习得到的特征具有更强的表达和泛化能力.基于深度学习的图像去模糊方法可以分为3个阶段:基于学习的模糊核估计方法、基于端到端的图像去模糊方法和基于动态网络的图像去模糊方法.下面将按照这3个阶段对现有基于深度学习的图像去模糊算法进行阐述.
基于学习的模糊核估计方法[32-36]主要采用卷积神经网络(convolutional neural network,CNN)估计未知的模糊核,提高盲复原中模糊核估计的准确性,然后再利用传统反卷积方法得到复原图像.
Schuler等[35]提出了采用CNN的图像盲去模糊方法.该方法将去模糊步骤分为特征提取、模糊核估计以及清晰潜像复原3个步骤,并采用由粗到精(coarse-to-fine)的方式迭代优化模糊图像.该方法[35]采用高斯模糊核与清晰图像卷积的方式获得训练数据,因此该模型只适用于解决特定类型的模糊,对非均匀模糊图像的复原仍有一定的局限性.文献[32-33]提出了一种利用CNN预测局部图像块(patch)模糊核的去模糊方法.首先,生成候选模糊核集合;然后,训练CNN分类器预测局部图像块的模糊核,并利用最大似然估计和模糊核平滑先验得到整幅非均匀模糊图像的模糊核;最后,利用反卷积方法复原清晰图像.Yan等[36]对模糊核进行参数化,通过分类和回归分析对模糊核进行估计.这些方法[32-33,35-36]遵循传统方法框架,使用CNN代替传统方法来估计未知的模糊核.这类算法的图像复原质量取决于模糊核估计的准确性,一旦核估计错误往往导致复原结果不理想.
最近,越来越多的研究开始转向基于端到端的图像去模糊方法.这类方法不需要估计模糊核,减少了由核估计错误带来的误差,通过利用CNN搭建端到端的网络结构学习模糊图像与清晰图像之间的特征映射.
Nah等[37]提出了基于深度多尺度CNN的动态场景去模糊方法,以端到端的方式复原清晰图像.该方法首次提出了多尺度网络结构,以迭代的方式提取图像的多尺度信息,逐步复原清晰图像.该结构保留了细尺度(fine-scale)下的细节信息以及粗尺度(coarse-scale)下长距离间的信息依赖性.此外,在损失函数设计方面,该方法提出了多尺度损失函数来训练网络,有效地提高了网络的收敛速度.该方法对非均匀模糊图像的复原效果有较大的提高,由于该网络在每个尺度上均使用独立的参数,使得模型训练的时间复杂度较高.
针对方法[37]存在的问题,Tao等[38]提出了共享参数的尺度递归网络模型.该方法采用跨尺度共享网络权值的方式对模型进行训练,显著降低了模型的训练难度,增加了模型的稳定性.此外,该网络结构中的递归模块能够有效捕捉多尺度信息,并跨尺度复原图像.该方法有效减少了网络的可训练参数数量,提高了模型的训练速度.但共享权重的方式可能会使网络丢失多尺度信息,不利于图像细节信息的复原.
文献[39]充分考虑了独立参数网络[37]和参数共享方案[38]的优势和不足,提出了参数选择性共享模型.由于图像的模糊程度会随着图像尺度的减小而减小,为了保留不同尺度的差异性信息,该方法在特征提取部分设置了独立的网络参数,而在非线性转换部分采用共享网络参数的设计,在减少网络规模的同时,也保留了图像的多尺度信息.该方法在GoPro数据集[37]上进行测试,取得了较好的主观和客观结果.
2014年,生成对抗网络(generative adversarial network,GAN)[40]被提出之后,相继在图像重建、医学影像处理等诸多领域得到了广泛的应用.该网络由生成网络和判别网络组成,2个网络以对抗的方式进行训练.GAN在图像生成[41]和图像补全[42]等领域都表现出了不错的效果.模糊图像复原是不适定性问题,因此需要利用先验知识对图像进行额外的约束.文献[43]提出了一种基于数据驱动判别先验的盲图像去模糊方法.该方法利用了这样一个图像先验:一幅好的图像更偏向于清晰而非模糊图像.因此,该方法设计了一个基于CNN的二元分类器对图像质量进行判断,优化网络模型,提高复原效果.DeblurGAN算法[44]将GAN网络引入到图像去模糊任务中,该方法利用成对数据集进行训练,取得了不错的复原效果.实验结果表明,该方法复原的图像细节信息更为丰富,显著提高了主观视觉质量.但是,复原图像中具体纹理结构还是难以复原,尚有很大的提升空间.在DeblurGAN算法[44]的基础上,该团队提出了去模糊效果更为先进的DeblurGAN-v2算法[45].该方法将空间金字塔网络作为核心模块搭建生成器.为了找到性能和效率之间的平衡,可选择不同量级的网络作为空间金字塔的骨干网络,如Inception-ResNet-v2[46]、MobileNet V2[47]网络.该方法还设计了双判别器结构分别在全局和局部尺度评估复原图像.相比于DeblurGAN方法[44],该方法将复原图像的PSNR值提高了0.9 dB,取得了较好的性能.这些方法显示出GAN在图像去模糊任务中的有效性.
但是,这类方法采用相同的网络权重复原模糊图像,方法过分依赖于数据驱动,且缺乏对非均匀模糊的自适应性,容易造成复原图像的平均化.此外,这类方法在设计网络结构的过程中缺乏对模糊图像自身模糊特性的利用,仅依靠独立的网络学习模糊和清晰图像之间的映射,缺乏对非均匀模糊特征的处理机制.
随着深度学习技术在图像去模糊领域的不断深入,越来越多的工作开始考虑结合非均匀模糊图像特性来设计网络结构.
视觉注意力机制能够定位图像中的目标区域并捕捉感兴趣的区域特征,目前已经成功应用于识别和分类问题.针对非均匀模糊图像在不同空间位置的模糊程度及模糊类型存在差异这一特点,文献[48]将视觉注意力机制应用于图像去模糊任务中,提出了针对动态场景去模糊任务的注意力模块和可变形卷积模块.注意力模块可以自适应地学习模糊的空间位置特征,可变性卷积模块用来处理几何变化的空间结构特征.实验证明,将2个模块联合应用于现有网络框架中,可有效提高算法的复原性能.
文献[49]从模糊图像的前景和背景模糊特征存在差异这一角度出发,提出了一种人体感知注意力引导的去模糊网络.该方法构建了2个解码网络分别用于提取前景中人的模糊以及背景模糊,解码网络融合两分支模糊信息重建清晰图像.该方法与其他采用注意力机制方法的最大区别是,采用具有人体位置标签的数据对注意力模块进行有监督训练,引导注意力模块更好地关注于前景中人的模糊信息.
文献[50]提出了一种简单而有效的对不同操作进行选择的注意力模块.该网络模块可根据输入图像的不同,通过注意力机制有选择性地并行执行多个操作.该方法通过调节模块的数量,叠加形成深度CNN网络,并通过梯度下降法更新网络权重进行端到端的训练.该方法能够根据不同输入图像降质程度的差异动态调节操作的权重,自适应复原图像.
文献[51]提出了一种门控融合CNN模块.首先,该方法将特征提取步骤分解为2个独立的并行分支.然后,通过门控机制动态融合双分支特征,避免因直接叠加而导致的特征利用率不高的问题,使模型自适应调整网络权重,提高复原效果.
上述方法结合真实场景下模糊图像的特点,利用动态网络提高模糊图像的复原效果,为后续的工作提供了一种可行的思路.
综上所述,基于学习的核估计方法提高了盲复原任务中核估计的准确性,但是这类算法一旦核估计错误,往往导致复原结果不理想.基于端到端网络的方法减少了核估计错误带来的误差,依靠网络学习模糊图像和清晰图像之间的映射关系.这类方法缺乏对非均匀模糊特征的处理机制,容易造成复原图像平均化.基于动态网络的方法结合模糊图像非均匀特性设计网络结构,自适应复原图像,为解决图像复原问题提供了新的思路.表1总结了不同图像去模糊方法的优缺点.
表1 不同方法对比Table 1 Comparison of different methods
数据是推动图像去模糊发展的关键因素之一.近年来,随着深度学习在图像处理领域的快速发展,对大规模可用数据的需求不断提高.本文将对图像去模糊任务的常用数据进行总结概述.表2为有代表性的图像去模糊数据集.
表2 图像去模糊常用数据集Table 2 Popular non-uniform deblurring datasets
早期的图像去模糊方法[33,35,52]采用模糊核卷积清晰图像的方式获得模糊图像.文献[35]将模糊核与ImageNet数据集中清晰图像卷积的方式得到训练数据.文献[52]提出了应用于图像盲去模糊算法评价的基准数据集KM-48,该数据集包含由4幅图像与12个6D轨迹卷积生成的48幅模糊图像.该数据集成为评估均匀模糊图像去模糊的标准数据集.Sun等[33]从PASCAL VOC 2010[53]数据集中随机抽样1 000幅图像作为清晰图像,利用与模糊核卷积的方式构建模糊-清晰图像对.这类数据集仅包含均匀模糊图像,对于解决真实情况下的图像去模糊任务仍存在一定差距.
针对上述方法仅考虑均匀模糊图像,缺乏对真实环境中复杂模糊的考虑,Nah等[37]构建了更接近于真实模糊图像的GoPro数据集.该方法通过对高频相机采集的多个连续帧取平均的方法生成动态模糊图像.该数据集共包含3 214对大小为720×1 280分辨率的模糊-清晰图像.其中2 103对用于训练,1 111对用于测试.GoPro数据集包含多种场景,可以模拟复杂的相机抖动和物体运动产生的非均匀模糊,已经成为评价动态场景去模糊方法的标准数据集.
但是,GoPro数据集[37]也存在一些缺陷,如一些图像存在较为严重的噪声、较大范围的平滑区域等缺点.针对其存在的问题,Gao等[39]在GoPro数据集的基础上提出了数据量更大的数据集,包含5 290对模糊-清晰图像.该数据集采用了3种策略来避免上述问题.首先,该数据集为白天拍摄,有效地减少了图像噪声;然后,对有足够细节的场景进行采样,避免图像中存在大面积的平滑区域;最后,该数据集在获取过程中避免记录高速运行的车辆或物体,而出现没有对应的清晰帧的情况.该数据集的提出,补充了GoPro数据集存在的缺陷,对提高模型的鲁棒性有一定作用.
GoPro数据集[37]和Gao等[39]提出的数据集更多关注于大范围场景下的模糊图像,忽略了实际更为常见的前景中物体的运动的情况.为了充分捕捉被动的设备干扰造成的动态模糊,Shen等[49]提出了HIDE数据集,该数据集共8 422对模糊-清晰图像,包含大范围和近距离场景的模糊图像.
通过对数据集的总结分析可以看出,模糊数据集的规模逐渐扩大,模糊类型更加复杂,模糊场景逐渐丰富.从使用模糊核卷积得到的均匀模糊数据集,逐渐发展为使用真实数据合成的更接近于实际模糊的数据集.随着数据集更加接近于真实场景的模糊,对算法的适应性和鲁棒性也提出了更高的要求.如何从模糊情况更为复杂的场景中复原出清晰且包含细节信息的图像是当前研究亟待解决的关键问题.
KM-48数据集[52]为评估均匀模糊图像去模糊的标准数据集,表3为近年来多种方法在KM-48数据集[52]上测试的客观结果.从表3可以看出,相比于估计模糊核函数的方法,基于深度学习的去模糊方法能更好地复原图像.
表3 KM-48数据集[52]上不同算法的客观结果Table 3 Comparison of methods on KM-48 dataset[52]
GoPro数据集[37]作为更接近于真实模糊图像的数据集已经成为评估基于深度学习的去模糊算法的标准数据集.表4为近年在GoPro数据集[37]上测试的客观结果.从表中可以看出,图像去模糊方法随着网络设计的不断优化,图像去模糊算法的性能也在不断提高.
表4 GoPro数据集[37]上不同算法的客观结果Table 4 Comparison of methods on GoPro dataset[37]
本研究在GoPro测试集[37]上对现有3种最新的动态场景去模糊方法[37,44-45]进行了对比实验.这些方法包括:DeblurGAN[44]、DeblurGAN-v2[45]以及Gao等[39]提出的方法.DeblurGAN[44]将生成对抗网络应用于图像去模糊任务,该方法能够较好地复原图像细节.DeblurGAN-v2[45]能够复原出包含丰富的边缘轮廓信息.Gao等[39]提出的算法为动态场景去模糊算法,该方法在GoPro数据集[37]上实现了较好的主观结果.
图1为对比实验的主观结果,从实验结果可见,DeblurGAN[44]对模糊有一定的复原效果,但对于模糊程度较为严重的图像效果有限.从第1幅图像可以看出,DeblurGAN-v2[45]的结果可能会导致恢复图像的局部运动模糊的平均化.算法[39]能够较好地复原物体运动带来的非均匀模糊,得到了边缘较为清晰的复原图像.但从第1幅图像可以看出,当区域放大时墙上的字依然存在模糊现象.
图1 GoPro测试集的主观结果Fig.1 Subjective results of the GoPro test images
从主观结果可以看出,随着网络结构设计的不断优化,算法对于动态模糊图像的复原能力不断提高,但对于模糊程度严重的图像效果依然有限,未来仍有较大的提升空间.
本文对基于传统方法和深度学习方法的图像去模糊技术进行了综述与分析,比较了不同算法的优势与不足.现有的图像去模糊算法对于解决复杂环境下的模糊图像复原问题效果依然有限,未能充分满足实际应用需求.为突破技术瓶颈,展望了图像去模糊技术今后的发展方向,在以下问题中尚存在着机遇与挑战.
1)基于动态网络的非均匀模糊图像复原技术.基于数据驱动的端到端的深度学习模型在模糊图像复原平均性能上取得了质量提升.但是,这类网络缺乏对具体图像模糊特征的挖掘.在网络中通过引入动态机制,如注意力机制,强化学习模型,引入分阶段的训练方式等,使网络具有针对不同降质特征,进行自适应模糊特征感知和动态复原的功能,是目前动态场景模糊图像复原的技术趋势.
2)大规模的模糊图像数据集.数据是模糊图像复原研究中重要的工具之一.尤其是深度学习技术出现以后,在训练样本数据量足够多的情况下,通常可以更易于获得较好的复原效果,提高算法的泛化性.提出规模更大、模糊场景更为丰富、更接近于真实模糊的数据集对于提高算法性能起着至关重要的作用,也是当前研究亟待解决的关键问题.
3)多种降质因素联合重建方法.实际应用中采集到的真实模糊图像往往受到多种类型的降质因素影响,不同降质因素随机耦合在一起.如何对多种降质因素复杂耦合的特点进行降质特征提取,自适应复原图像,是需要进一步研究的问题,具有重要的理论意义和应用价值.
4)任务驱动的模糊图像复原技术.在真实场景中的图像去模糊因不存在高质量图像,难以对复原结果进行客观评价.因此,针对特定任务的模糊图像复原任务,如文本模糊复原任务、人脸模糊复原任务等,利用图像质量提升带来的应用算法性能的提升来评价复原图像质量,也是近年来的趋势.
5)基于深度学习的模糊图像复原主要依赖有监督的数据驱动,需要借助成对的清晰图像和模糊图像数据集.目前虽然模糊图像的产生过程更加接近真实情况,但是,数据集中所涵盖的模糊情况依然有限.这严重限制了深度复原网络模型的泛化能力.如何借助半监督或非监督学习技术实现动态场景的模糊图像复原,是未来的重要研究方向.