赵小强, 王 涛
(1. 兰州理工大学 电气工程与信息工程学院, 甘肃 兰州 730050; 2. 兰州理工大学 甘肃省工业过程先进控制重点实验室, 甘肃 兰州 730050; 3. 兰州理工大学 国家级电气与控制工程实验教学中心, 甘肃 兰州 730050)
随着当今智能设备的普及与应用,图像已经成为人们交流的一种方式,图像的采集也变得愈发方便.但在对其采集时,可能会受到各种因素的干预,如相机的抖动、物体与采集设备的相对移动、大气湍流效应、离焦等因素,由这些因素导致的图像都会造成一定程度上的模糊[1-3].如果不对造成模糊的图像进行复原,就很难进行一些后续操作,如图像检测[4-5]、图像分类[6]和图像识别[7]等.
由运动造成的图像模糊普遍存在,给人们的实际生活带来了诸多不便,因此,对运动模糊图像的复原研究具有重要的意义.在对运动模糊图像进行复原时,最重要的部分是点扩散函数(point spread function,PSF)的估计,但在实际成像过程中,点扩散函数是没有规律的,这就变成了一个病态问题,为了解决这个问题,一般都会对要处理的模糊图像施加相应的约束,然后再结合点扩散函数的一些先验知识,推导出相应的最优准则.这类方法主要有迭代盲解卷积算法[8]和正则化算法[9-10].迭代盲解卷积算法主要是通过点扩散函数和先验信息设置约束条件,继而在空间域和频率域中交替迭代进行,但是它具有可靠性不足和噪声容易放大等缺点.正则化算法主要在于找到合适的惩罚项,当合适的惩罚项找到以后,结合经验风险使得结构风险最小化,从而求解出能量函数.
最近几年,许多学者对稀疏正则化特性做了很多详细的研究.Chan等[11]通过总变分正则化方法来估计点扩散函数,但当图像有噪声或者点扩散函数中有较复杂的结构时,估计出的点扩散函数都不准确,且复原出的图像中有明显的振铃效应.Fergus等[12]首先提出选用高斯模型的方法对图像的梯度分布进行拟合,但是该方法在饱和区域具有严重的振铃现象.Levin等[13-14]提出了一种基于有效边缘通过概率逼近的方法,但是该方法不能完全恢复出图像细节,用该方法估计出的点扩散函数中有明显的噪声.Krishnan等[15]提出运用超拉普拉斯分布来拟合图像梯度,但是该方法不能有效地估计出图像边缘细节.Cai等[16]采用固定字典,分别使用两种不同的紧密框对PSF进行稀疏化处理,但是得到的图像结构细节方面具有一些约束.Hu等[17]没有运用图像先验信息,仅使用稀疏系数对图像进行处理,得到的图像不够平滑且容易呈现块效应.Jia等[18]将字典稀疏与梯度稀疏进行结合,得到的复原效果较好,但在实际成像过程中,点扩散函数是没有规律的,所以该方法适用性不高.以上方法在对模糊图像进行预处理时,因为模糊图像中含有很多噪声,使得求导得到的梯度包含许多弱边缘和伪边缘,从而影响点扩散函数的估计,使得复原效果变差.
针对以上问题,为了更加精确估计PSF,提高图像复原质量,本文提出了基于边缘约束与范数比值的运动图像盲复原算法.首先提取出图像的强边缘结构,然后构造范数比值的稀疏正则惩罚项与之结合指导PSF的复原,循坏迭代,使估计的PSF更加趋近于真实解,最终复原出的图像具有大量细节,可以抑制图像在复原过程中产生的大量伪迹.
对运动模糊的起因进行分析时,需要使用数学公式来建立相应的运动退化图像的复原模型,假定运动退化图像的PSF是线性空间不变的,则退化图像的复原模型可以用图1表示.
图1 退化图像的复原模型Fig.1 Restoration model of degraded image
退化图像的复原模型表达式为
g(x,y)=f(x,y)⊗h(x,y)+n(x,y)
(1)
其中:n(x,y)和⊗分别表示噪声和卷积;f(x,y)、h(x,y)、g(x,y)分别表示清晰原始图像、点扩散函数、退化图像.
对式(1)采取傅里叶变换处理,则可以得到它对应的频域表达式:
G(u,v)=F(u,v)H(u,v)+N(u,v)
(2)
对运动退化图像进行复原,其本质是把退化图像g(x,y)当作已知量来处理,然后采用逆向倒退的方法求解清晰原始图像f(x,y).
本文所提算法主要分为三个步骤:步骤1,对退化图像进行分层,然后对其边缘进行约束,提取退化图像的多尺度强边缘,图2给出了举例的退化图像多尺度分层结果图,从左往右大小依次为21×21、44×44、63×63、89×89、126×126、179×179和255×255;步骤2,将提取出的图像强边缘信息与构造的范数比值正则项进行结合用于指引点扩散函数的复原;步骤3,对图像进行非盲解卷积求解,使其复原,并将复原的图像作为下一次的输入图像,直到迭代出最大尺度.
图2 退化图像多尺度分解图
(3)
图3 提取强边缘仿真流程图Fig.3 Extract strong edge simulation flow chart
图4 多尺度点扩散函数估计
针对图像复原的病态性,通常选用正则惩罚项来改进,使得病态问题变成良态问题.Krishnan等[19]在研究繁杂的街景背景图像模糊程度与范数的关系时提出了范数比值用于约束模型,表达式如下:
(4)
本文借鉴文献[19],对退化图像施加范数比值稀疏性约束,同时将l1范数作为估计点扩散函数的正则项,因此得到的基于边缘约束与范数比值的图像盲复原梯度域能量函数表达式为
(5)
为了解决式(5)这种类型的非凸难题,本文将上述能量函数拆分为2个子问题,依次更新边缘图像f和点扩散函数k,当符合最终迭代停止要求时,输出最终k.
2.2.1更新图像f
(6)
Sa(x)i=max(|fi|-a,0)sign(fi)
(7)
采用ISTA对图像进行估计时,设置内部和外部两部分交替,防止式(6)分母‖′f‖2发生改变而影响能量函数中的∂.图像估计算法步骤如下所示:
输入:f0、∂、k、t、y、Nx;
步骤1:计算∂′=∂‖fi‖2,
forj=0 toN-1 do.
步骤2:计算v=y-tKT(Kfj-y).
步骤3:计算fi+1=fj+1,fx=fi+1.
输出:图像f的fx.
尽管式(6)是一个非凸问题,但本文采用内外迭代交替算法,有效地提高了图像估计的速度.在使用式(7)时,输入的内外层循环迭代最大次数为2,ISTA中阈值t的值为0.001,参数∂为20.
2.2.2更新点扩散函数k
(8)
(9)
其中:B表示一个对角正定矩阵.所以根据式(9)可以推导出J(k)的最优解表达式为
(10)
对式(10)进行求导可得:
(11)
用共轭梯度法对式(11)进行迭代计算.计算点扩散函数k的步骤如下:
步骤1,输入初始值:上一次迭代的k,本次更新的强边缘的数值F,Nmax=10,设置次数n=7开始取值为0,停止误差为0.000 1,β/∂取值为0.01;
步骤3,对梯度下降方向dn进行计算:
dn=AT(b-Akn)
步骤4,对步长u进行计算:
步骤5,计算kn+1=kn+udn和yn+1=AT(Akn-b);
步骤7,k=k(k+1),将k按照下式进行处理:
步骤8,输出最终估计k值.
由运动造成的图像模糊比较严重的情况下,观测得到的图像f往往过于模糊,使求得的梯度图中含有许多弱边缘和伪边缘,这对准确估计点扩散函数造成了很大的影响.为了更加精确估计点扩散函数,提高图像复原质量,本文借鉴多尺度的思想,由粗到细多尺度循环迭代点扩散函数的最优解.首先,根据点扩散函数的尺寸大小对图像进行分层处理,随后,将原始图像当作第0层图像,对其进行下采样处理,这样处理以后就可以得到图像的第1层,并将处理以后的图像作为下一尺度边缘约束的初始输入图像,然后依次迭代对图像进行复原.图4给出了点扩散函数的多尺度估计图.
(1)对止水槽基面采用聚合物复合韧型环氧砂浆进行找平处理,折角部位加强厚度形成弧状,解决因基面不平整而形成局部漏水空洞。
当最终估计的点扩散函数k确定以后,使用超拉普拉斯先验的非盲复原方法对图像进行复原,该方法的概率模型更满足实际图像的分布.该非盲复原的能量函数为
(12)
其中:f是当前复原图像,也是下次迭代复原的初试输入图像;∂是权重.
图5给出了本文算法流程图.首先,对输入的退化图像进行级数分解;再依次经过T-smooth图像技术[22]平滑处理、梯度筛选处理,得到图像的强边缘结构;然后将得到的强边缘与范数比值的惩罚约束项相结合用于点扩散函数的复原,之后将估计出来的点扩散函数用于非盲解卷积,当满足终止条件时,输出复原图像.
图5 本文所提算法流程图
本次仿真硬件为CPU Intel(R) Core(TM) i7-6500UCPU@2.50 GHz、RAM 4GB的计算机,软件环境为MATLAB R2018b.
本实验分为合成数据集实验和真实数据集实验.合成数据集实验用到的数据集是Levin公开运动模糊图像的测试集,该测试集是由4张清晰图像和8种不同尺寸(13×13~27×27)的点扩散函数卷积而成的32张退化图片组成,其图片分辨率均为255×255像素.Levin数据集是对三角支架的Z轴进行固定,然后让手柄进行旋转,在旋转的同时,放开X轴和Y轴的手柄,从而捕捉均匀的模糊图像.图6给出了4张清晰图像和8种不同的点扩散函数图像.真实数据集实验用到的是Pan的真实数据集.
图6 4张清晰图像和8种点扩散函数图像Fig.6 4 clear images and 8 kinds of point spread function images
在评价指标上,对合成数据集实验选用结构相似(SSIM)和峰值信噪比(PSNR)来衡量效果,对真实数据集实验选用图像熵(E)和空间频率(SF)来衡量效果.
PSNR为峰值信噪比,它主要用来比较原始图像的像素和复原以后图像的像素之间的差异,当它的数值越大时,证明复原图像采用的算法性能越好.PSNR的数学表达式为
(13)
其中:MAXI为图像中点颜色所对应的最大数值.
SSIM为结构相似度,当它数值越大时,表示使用的算法越优越,它的最大值为1.相比PSNR来说,SSIM更加直接地比较原始图像与复原以后图像的结构.SSIM的数学表达式为
(14)
E为图像熵,它是一种常见的无参评价指标,当它的数值越大时,表示图像中的平均信息量越多.E的数学表达式为
(15)
其中:P(i)是指某个像素i在图像中出现的概率;n为灰度0~255的范围.
SF为空间频率,它是由空间的行频率(RF)和列频率(CF)组成的,当它的数值越大时,表示图像空间的总体活跃程度越好,图像质量更优.行频率RF、列频率CF和空间频率SF的数学表达式为
其中:m和n分别表示图像的宽和高;f(i,j)为图像像素(i,j)的灰度值.
在实验中,T-smooth图像平滑技术设置的参数参考文[22]进行设置,在能量函数的估计中,参数∂的取值为20,β的取值为0.001.在点扩散函数的多尺度估计中,本文选择的最小结构为3×3的.本文对比算法分别为A等算法[8]、K等算法[19]和F等算法[23].表1和表2是本文算法同其他对比算法对Levin合成数据集32张退化图片进行复原以后的平均PSNR值和平均SSIM值以及总体的平均PSNR值和SSIM值.通过表1和 表2可知,本文提出算法得到的平均PSNR值和SSIM值均高于对比算法.
表1 本文算法与对比算法的平均PSNR
表2 本文算法与对比算法的平均SSIM
为了验证本文提出算法的有效性,合成数据集实验选用child测试图像与点扩散函数-05生成的模糊图像进行仿真实验.表3为本次实验各算法的评价指标对比.
表3 合成数据集实验各算法的评价指标
从表3中可以看出,本文算法得到的PSNR和SSIM值比A等算法、K等算法和F等算法得到的数值都优越.
各算法实验结果如图7所示.从图7可以看出,A等算法同其他对比算法相比复原效果最差,没有恢复出小孩的清晰轮廓且图像中的小孩具有大量的重影;K等算法对小孩模糊图像进行复原,恢复出了清晰结构,但在图像边缘处具有较严重的伪迹;F等算法复原出的图像在小孩眼睛处、鼻子处、头发处等也具有大量的重影,在图像的边缘处还有许多的振铃效应;本文算法恢复出的小孩图像效果最好,能清晰地恢复出小孩的细节,如衣服处、鼻子处等,且图像边缘处没有伪迹、重影和振铃效应.
图7 各算法合成数据集实验结果对比图
真实数据集实验选用Pan真实数据集中女孩的真实模糊图像,各算法得到的无参评价指标见表4.从表4可以看出,本文算法所求的图像熵值和空间频率值均高于其他对比算法求得的.
表4 真实数据集实验各算法无参评价指标结果
另外,真实数据集实验结果如图8所示.从图8可以看出,使用A等算法复原出来的女孩图像没有恢复出清晰图像,图中含有许多重影和噪声;K等算法恢复出来的女孩图像边缘有许多伪迹;F等算法恢复出来的女孩图像同样有大量伪迹和重影,且图像的边缘不锐利;本文算法恢复出来的女孩图像轮廓清晰,不管是结构上还是细节上都具有比较好的视觉成果.
图8 各算法真实数据集实验结果对比图Fig.8 Comparison of experimental results of real data sets of each algorithm
本文提出了基于边缘约束与范数比值的图像盲复原算法,将得到的强边缘加入到范数比值惩罚项约束的算法中,使得模糊图像的边缘信息和自然图像的边缘稀疏先验信息有效利用,解决了传统算法先验信息过于简单,复原时会使图像存在许多伪边缘、错边缘和伪迹的问题,以及基于稀疏约束的盲复原算法没有有效利用模糊图像的边缘信息和自然图像的边缘先验信息的问题.同时,本文对点扩散函数多尺度交替迭代估计,使其更加精确.通过合成数据集实验和真实数据集实验可以看出,本文提出的算法相比于其他对比算法,恢复出的图像边缘更加清晰,且评价指标都是最优的.