严家奕,侯幸林,孙涛,经正,徐百川,刘德志
(1.常州工学院汽车工程学院,江苏 常州 213032; 2.新奥能源物流有限公司,河北 廓坊 065000)
图像运动模糊源于相机曝光时间内被摄物与成像系统之间的相对运动,该过程的本质是图像退化,运动模糊复原一般是基于退化过程的先验知识建立图像的退化模型,通过反退化逆向求解来恢复原始图像的过程。随着数字图像处理技术的深入发展,运动模糊复原在各个领域都有广泛应用。在汽车领域,模糊车牌图像复原对电子眼识别车辆信息具有较大意义,自动驾驶系统对周边环境感知也依赖于模糊图像的清晰复原;在航空航天领域,采用运动模糊图像复原技术对太空中的照片进行处理后便于资源调查,卫星拍摄的遥感模糊图像通过复原处理可提高分辨率以获取更多信息。综上所述,研究模糊图像复原技术对工业生产和人们的生活有着重要意义。
匀速直线运动所造成的模糊具有代表性,非匀速直线运动和曲线运动在一定条件下都可以近似看作多个匀速直线运动的合成,因此,分析匀速直线运动模糊机理可为研究其他类型的图像复原提供参考。
在模糊图像处理过程中,点扩散函数(point spread function, PSF)分为已知和未知两种情况,直线运动点扩散函数是由相对运动的长度和方向决定的,因此,估计和分析点扩散函数是解决匀速直线运动模糊问题的关键。现有的大部分算法忽略了傅里叶变换后频谱图像中心十字亮线的影响,在模糊长度较小时(2 常见模糊图像复原算法有逆滤波复原法[1]、维纳滤波复原法[2]、R-L迭代复原算法[3]等。逆滤波复原法其核心思想是通过逆滤波器将损坏的图像信号进行可逆反演得到复原图像。维纳滤波复原法的中心思想是找一幅图像并使其与原始清晰图像之间均方误差最小。R-L迭代复原算法假设图像服从泊松分布并采用最大似然法估计清晰图像,该算法对退化过程的先验知识要求少且复原效果好,但耗时长。3种方法都需要确定导致图像降质的退化函数,同时要考虑与噪声相关的先验知识。 图像的运动模糊从数学角度可看作输入图像和退化函数卷积后与噪声相加的过程。运动模糊复原算法可分为两种:一种是非盲去卷积复原算法;另一种是盲去卷积复原算法。因此,在复原图像前需对模糊图像的点扩散函数PSF进行估计,通过所得的PSF再进行去模糊处理。在工程应用中,大部分PSF是未知的,需要用到盲去卷积复原算法。PSF的估算是一个病态的过程[4],Le等[5]通过观察实际拍摄的模糊图像,发现了其频谱中的十字亮线会严重影响算法的精准度。 此外,根据研究对象不同可以将处理方法分为空域法和频域法。空域法是在原有的模糊图像上,根据图像模糊前后像素的变化以及边缘宽度变化进行复原。但空域法在应用中对图像处理算法要求较高[6],很难处理背景较为复杂的模糊图像,在工程运用中较困难。频域法是根据模糊图像进行傅里叶变换后得到的频谱图像条纹特性来研究退化函数的方法。Moghaddam等[7]针对频谱图像提出了Radon直线拟合的方法,使角度误差控制在1°以内,长度误差在0.95个像素左右。蔡慧敏等[8]基于二次傅里叶同态变化进行Hough变换测量角度,将精度再次提高,但是经过傅里叶变换的频谱图会削弱图像的抗噪声能力。王秋云等[9]研究图像的倒频谱,基于倒频谱估计运动模糊参数,在一定程度上提升了图像的复原质量,将角度误差控制在0.2°左右,但该方法受噪声的影响较大。针对上述问题,Zhou等[10]通过自适中值滤波,采用3次Radon变换法来提高测量的精度,减少了傅里叶变化噪声和干涉条纹对估计结果的影响,很好地提高了角度测量精度,然而当模糊长度在3~5个像素时仍存在角度估计误差大的问题。相对于空域法,频域法可以处理背景较复杂的模糊图像,工程应用范围更广。本文采用频域法对运动模糊角度进行估计,且在模糊长度较小时,设计高精度角度估计方法。 匀速直线运动造成的模糊图像可看作是清晰图像和退化函数进行卷积运算,并加上线性噪声的结果,模糊图像的时域表达式可写为: g(x,y)=f(x,y)⊗h(x,y)+n(x,y) (1) 根据时域卷积定理,时域内卷积可化为频域内的乘积,对式(1)两边进行傅里叶变换可得: G(u,v)=F(u,v)H(u,v)+N(u,v) (2) 当物体做匀速直线运动时,模糊图像g(x,y)在x轴和y轴上随时间变化的分量分别为x0(t)和y0(t),假设曝光时间为T,且图像不受噪声影响,则有: (3) u、v是二维图像频域上的变化量,物体在二维空间内运动,那么则有x0(t)=at/T和y0(t)=bt/T,其中a和b分别代表目标在x和y轴上的位移。因此退化函数可写为: H(u,v)= (4) 频域法中,模糊角度的估计精度影响着模糊长度的求解误差,直接关系到模糊图像的复原结果。本文针对频域上压缩图像过程中带来的噪声问题,采用腐蚀和膨胀的方法,将频谱图像高频部分进行缩减细化,减小了图像的高频噪声,同时在一定程度上缩小了频谱图像中的中心十字亮斑。针对小尺度下频谱图像出现的估计不准确问题,本文提出最小二乘直线拟合估算角度的方法,有效提高了模糊长度为3~5个像素时的角度估计精度。 3.1.1 图像预处理 傅里叶变换将图像从空域转化至频域,傅里叶变化后的特征频率可以根据傅立叶系数进行提取和计算[11]。在频谱图像上进行同态变换,压缩图像的灰度值,可使傅里叶变换后的条纹特征更加明显,无噪声情况下的频谱图像函数经同态变换得: log(|G(u,v)|)=log(|F(u,v)|)log(|H(u,v)|) (5) 由傅里叶变化的互易性可知,对log(|H(u,v)|)做傅里叶变换时,会在方向θ上出现一条亮条纹。在处理模糊图像过程中,将log(|G(u,v)|)进行傅里叶变换,取对数值以体现其特征。 虽然压缩图像可以明显地体现条纹特征,但多次压缩图像后,图像周围会出现一系列分布不均匀的噪声,同时中心的十字亮斑也会影响模糊参数的角度估计。为了减小压缩图像产生噪声对角度估计的影响,需要对模糊图像的频域图像进行预处理,本文采取图像形态学中的腐蚀和膨胀,通过选取恰当的结构元素来去除图像压缩产生的噪点和减小中心十字亮斑带来的影响。 3.1.2 改进的Radon角度估算方法 常见的估算角度方法有Hough直线拟合和 Radon变换,其中Hough直线拟合的时间复杂度和空间复杂度都很高,在估算图像角度时需要测量多个点,并且在检测过程中只能确定直线方向,丢失了线段的长度信息,不适合本文的运动模糊角度估计。 图像f(x,y)在某一指定角度上的线性积分变换方法称为Radon变换。对模糊图像在给定角度内进行Radon变换,其结果可以用矩阵表示,在特定角度上Radon变化结果可以看做一个向量。由模糊图像频谱特征可知,如果在模糊角度上进行Radon变换,当频谱中的亮暗条纹与积分直线束平行时,所得投影向量中就会出现一个最大值,若这个最大值为矩阵中的最大值,那么该值对应的角度,即为模糊角度。可见,Radon变换能够较为准确地估算运动角度,因此本文采取Radon变换测量角度。 对频域图像预处理后的图像进行Canny算子边缘检测,并在边缘检测后进行Radon变换测量直线角度。为了进一步提高精度,本文将Radon变换的步长设定为0.1。该算法在模糊长度较长(L≥6)时有较高的精确度,算法的具体流程如图1所示。首先,对模糊图像进行连续两次傅里叶变换并取其模的对数;其次,运用图像形态学去除二次频谱图像上的噪声;再次,运用Canny算子进行边缘检测;最后,对图像运用Radon变换求取角度。 图1 Radon算法流程图 3.1.3 高精确角度估算算法 当模糊长度较小(2 (a)第一次同态变化后的图像 用最小二乘法进行直线拟合,求取直线的角度。实验数据表明,该角度估算方法可将平均精确度控制在0.5°以内,获取的高精度角度值为: 通过求解可得: (6) 直线拟合产生的误差和取点方法有直接关系,因此,在取点过程中,需要平滑取点并且适当增加取点的个数以提高算法精度。 模糊长度估算一般以测量出的角度为基础,将模糊图像的模糊核旋转至水平或者垂直方向,并在此基础上求解模糊长度。本文采取频谱投影估算方法,并对传统微分自相关算法进行改进,其中频谱投影法基于模糊图像傅里叶变换的条纹特性进行估计,微分自相关则基于模糊图像灰度值的特点估算模糊长度。 3.2.1 频谱投影算法 在曝光时间内,假设图像尺寸为D×D,其位移为L,则式(4)中a=Lcosθ,b=Lsinθ,将a、b代入式(4)中,并令V=(ucosθ+vsinθ)可得: (7) 由式(7)可知,当LV取1、2、3、4……时,H(u,v)=0,此时二维频谱图像在与模糊角度垂直的方向上出现一系列明暗相间的条纹。因此,运动模糊图像的频谱图满足其条纹间距d和模糊尺寸L成反比,即L×d=D的规律,以此特性为基础,可以通过统计频谱图像上暗条纹的个数估算出模糊长度L。 对模糊图像进行二维傅里叶变换并且平移居中后旋转至垂直,通过滑动平均滤波计算出频谱的列平均像素。 该估算长度方法的流程为: 1)对水平模糊图像进行傅里叶变换,得到二维频谱图; 2)通过已求得的模糊角度,将频谱图旋转,使条纹垂直于水平面; 3)对频谱图像的像素求和再求平均,计算单个条纹间距; 4)用公式L=D/d解得运动长度。 实验发现,当模糊长度不同时,频谱投影法计算结果差异很大,例如,当运动长度小于等于25个像素时,估算出模糊长度的平均误差可控制在0.2个像素以内,但当运动长度超过25个像素时,明暗条纹条数过多,算法无法准确地判断暗条纹的数量。因此,频谱投影法只适用于小范围的估算,当模糊长度超过25个像素时,本文采用基于微分自相关的估计方法。 3.2.2 微分自相关估计法 在二维图像处理中,一般只考虑二维运动的情况,本文只针对匀速直线运动模糊的情况进行研究。匀速直线运动时可将图像看作是整体平移,其间图像像素所对应的灰度值不随时间的变化而发生改变。文献[13]中的自相关运算分配率表达式为: (8) 式中:Rg′g′是模糊图像的差分自相关运算函数;Rff是清晰图像的自相关运算符。由式(8)能很好地看出,在Δx=0处存在中央正峰,在距其±d处存在一对共轭负峰。 该模糊核长度估算方法流程为: 1)通过所求的模糊角度,将模糊图像旋转至水平方向; 2)对模糊图像在水平方向上进行一阶微分运算,得到水平微分图像; 3)对微分图像在水平方向上进行自相关运算,得到水平自相关图像; 4)将自相关图像各列求和再求平均,得到一条特征向量; 5)分析向量数据并获取长度,两负峰间距的一半即为模糊长度。 3.2.3 基于傅里叶变换对的自相关估计法 微分自相关估计法所求出的模糊长度准确度较高,但其对计算要求比较高,耗时较长。因此,本文提出一种基于傅里叶变换对的自相关估算方法,可有效减少计算时间,提高算法效率。由维纳辛钦定理可知,一个信号的功率谱密度就是该信号自相关函数的傅里叶变换,即信号的功率谱密度和信号的自相关函数是一对傅里叶变换对,因此,本文在功率谱密度上进行逆傅里叶变换可得到自相关图像鉴别曲线。 将模糊图像旋转至垂直方向,运用Sobel算子求图像垂直方向上的一阶微分后取模,可得其功率密度,在功率密度上作傅里叶逆变换即为模糊图像的自相关函数。 两负峰之间距离的一半即为模糊长度。 该长度估算方法的流程为: 1)通过已求得的模糊角度,将模糊图像旋转至垂直方向; 2)对垂直模糊图像用Sobel算子进行一阶微分得到垂直微分图像; 3)对微分图像进行二维傅里叶变换得到频域图像; 4)提取出频域图像中的实部和虚部,并计算图像的功率谱; 5)对能量图进行傅里叶反变换,得到自相关数据; 6)求自相关图中两负峰间的距离。 在分析运动模糊参数估计结束后,针对不同模糊程度的图像复原方法进行总结。第1种,当模糊长度大于10个像素时,采取Radon算法估计模糊角度,改进自相关估计长度;第2种,当模糊长度在6~10个像素时,采取Radon算法估计模糊角度,频谱法估计长度;第3种,当模糊长度在3~5个像素时,采用最小二乘法估计模糊角度,频谱法估计长度。但在进行图像复原时,何种方法估算出的模糊参数最准确,针对该问题本文设计了一种无参考图像质量评估流程来确定最佳复原图像。 首先将X×X的待评估图像分割为多个N×N的图像块P(N);其次对各个图像块进行降采样得到长度为n的相量h(n);再次利用视觉显著性计算各个图像块的权重值w(n);最后用模糊特征向量曲线归一化面积表征图像质量,并形成待评估图像的分数。 图像降采样过程中,对图像块进行梯度计算,很大程度上体现出图像的纹理特征。对梯度计算后的图像块按列求取信息熵,形成长度为n的相量h(n)。当复原图像较为清晰时,其纹理特征更明显,信息熵也更高,反之则低。对于各个图像块权重w(n)的计算,采用FT算法来模拟人的视觉特点形成视觉显著图,极大地保留了图像的形状特征。通过计算各个图像块灰度值在整幅图像中的占比可以得到图像块的权重大小。 (9) (10) 式中:p(ai)代表所求列各个像素出现的概率;Iu代表图像的平均特征;Iwhc代表所求的某一点高斯滤波后的像素值。 文献[14]对模糊程度不同的图像进行图像质量特征向量对比,并以显著度加权的失真特性向量预测模糊图像的质量得分,公式为: (11) 本文复原模糊图像的流程如下:首先,判断输入的模糊图像是否存在噪声,有则去除噪声;其次,进入模糊核估计,并对模糊图像进行复原;最后,对复原后的图组进行评分,输出得分最高的图像。 本节基于图像视觉显著性算法提出了一种新的图像评分方法,一方面提高了图像复原后的质量,另一方面也加快了图像复原的速度。 在MATLAB环境下进行实验,针对有噪声和无噪声两种情况,估计模糊图像的运动模糊参数,并利用估算出的运动参数进行运动模糊图像复原,通过计算复原后清晰图像的峰值信噪比验证图像的复原质量。图像的峰值信噪比(PSNR)定义如下: RPSN= (12) 在无噪声和方差为0.001的高斯噪声两种情况下的运动模糊角度估计结果见表1。由表1可以看出,在模糊长度为3~6时,最小二乘估计角度方法在计算精度上较高,在模糊长度大于6时改进后的Radon算法效果更好。 表1 无噪声和方差0.001的高斯噪声情况下运动模糊角度估计结果 无噪声和方差为0.001的高斯噪声时的运动模糊长度估计结果见表2。由表2可看出,在模糊长度小于等于10个像素时,频谱投影法估计长度精度更加准确,在模糊长度大于10个像素时,本文改进后的自相关估算法求解效果更好。 表2 无噪声和方差0.001的高斯噪声情况下运动模糊长度估计结果 无噪声和方差0.001的高斯噪声两种情况下,使用维纳滤波和R-L迭代复原算法对模糊图像进行复原后的峰值信噪比和得分见表3。可以看出,同一幅图的峰值信噪比越高的图像其得分也越高,一定程度上说明了本文设计的图像质量评估系统的准确性与稳定性。复原结果相比于原始图像,信噪比与得分在大部分情况下有较大的提高,但在有噪声的情况下,由于不同算法对噪声的敏感程度不同,提高的程度有所差异,总之,本文提出的运动参数估计算法能在一定程度上提高参数的估计精度和鲁棒性。 表3 无噪声和方差0.001的高斯噪声情况下复原的图像质量 图3、4是在不同模糊长度的情况下,用不同算法获取运动参数并通过R-L迭代复原算法进行复原的结果,不难看出,在两种情况下,本文提出的算法在复原图像的细节上优于对比算法。图5、6是有噪声情况下与已有方法的对比,同样可以看出,本文算法的复原结果使Lena脸部更加清晰,头发和帽子边缘也更平滑、清晰,总体上优于对比算法。 图3 模糊长度较大(L≥6)时的R-L迭代复原法复原图像结果 图4 模糊长度较小(2 图5 噪声方差0.001模糊长度较大(L≥6)时的维纳滤波复原图像结果 此外,实验对比了除Radon以外的多种算法与本文算法在估计结果上的差异,如表4、5所示。本文算法在模糊长度较小和较大两种情况下,所估计结果的最小误差、最大误差及平均误差绝大部分小于对比文献。 表4 模糊长度大于15个像素的不同算法的运动模糊参数估计结果对比 表5 模糊长度3~15个像素的不同算法的运动模糊参数估计结果对比 由实验数据可知:在无噪声情况下模糊长度在3~6个像素时最小二乘直线拟合法对无噪声图像模糊角度估算精度较高,平均误差可以控制在0.5°左右;当模糊长度大于6个像素时,改进后的Radon算法对模糊角度估算精确度较高,平均误差可以控制在0.2°左右;本文算法对于小尺度模糊长度的估算有了较好的改进。针对长度估计,当模糊长度在3~10个像素时频谱投影法的模糊长度估算精确度较高,而当模糊长度大于10个像素时采用改进后的自相关估算法所得效果更好,从实验结果可以看出本文的算法所得结果相比其他算法,特别是模糊长度估算有更好的效果。此外,实验结果显示:当准确知道退化函数或估算出的退化函数误差极小且不存在噪声时采用维纳滤波算法复原效果更好;当估算出的退化函数有一定误差或有噪声存在时,采用R-L迭代复原算法复原效果好。通过分析噪声对结果的影响可知,本文的算法对较小噪声的图像复原有一定的鲁棒性,但噪声较大时必须对噪声图像进行预处理,以避免复原图像时受噪声的影响。 本文主要针对匀速直线运动模糊图像复原质量问题进行研究。对模糊图像点扩散函数估算不准确的问题,首先基于图像预处理和改进的Radon变换,解决了频谱图像噪声和中心十字亮条纹的问题,在一定程度上提高了模糊角度参数估计的精度;其次针对模糊尺寸较小情况下角度估算不准确的问题,采取最小二乘直线拟合估算其角度;最后结合两种方法估算出模糊角度。对长度估算问题,通过解得的角度进行长度运算。实验表明:在模糊长度小于等于10个像素时频谱投影法估算的值更为精确;在模糊长度大于10个像素时应采取改进的自相关估计算法。对判别复原图像最优解的问题,基于图像视觉显著性算法,本文构造了得分函数以便求解最优质的图像,实现复原图像的自适应。实验证明,本文方法解决了图像自相关能量分布不均匀,算法耗时长,复原图像质量不为最优解的问题,改进后的算法精确度更高。在图像去噪过程中选择更加泛化的去噪方法,在最小二乘直线拟合估算角度过程中如何采点取样才能更加方便准确,如何正确选取形态学结构元素,是未来的研究内容。1 盲去卷积国内外研究现状
2 匀速直线运动模糊图像的退化
3 运动模糊参数估计
3.1 模糊图像角度估计
3.2 模糊长度估计
4 无参考图像质量评估系统
5 实验与结果分析
5.1 实验结果
5.2 实验分析
6 总结