戴柳云
(重庆师范大学计算机与信息科学学院,重庆 401331)
图像作为信息的主要表现形式之一,在信息表达的过程中起着重要的作用,所包含信息的丰富程度对信息的传递与交流具有很大的影响。然而在信息的采集过程中,经常会受到环境或者硬件的影响而导致采集的图像在不同程度上出现整体或者局部模糊的情况。例如采集图像的清晰程度通常受相机镜头(例如:制造质量、焦距、光圈和距图像中心的距离)、成像传感器(例如:传感器尺寸、像素数)、相机/物体运动、大气干扰和焦点准确性等影响。许多图像包含了由离焦、摄像机/物体运动和摄像机抖动等因素引起的模糊区域,当一幅图像出现模糊时,可能会对后期的图像分割、图像融合、图像特征提取等产生不同程度的影响。所以高效有效的模糊检测对图像分割、图像恢复和图像理解等领域都有着重要的应用价值,对模糊图像清晰程度测量以及对模糊区域的检测是非常有意义的。
失焦模糊由于相机景深的限制而产生的一种模糊。距离相机任意距离的对象都会在成像平面成像,但是成像的清晰程度会随着对象到镜头的距离的不同而产生变化。研究发现,只有当成像对象恰好在镜头焦点位置上时才可以在成像平面形成清晰的图像,而在镜头焦点与镜头之间的和焦点以外的对象在成像平面形成的图像会出现一定程度的模糊现象,在距离焦点前后较近范围内的对象成像图像的模糊程度较低,通常也判断为清晰图像,所以距离焦点前后可形成清晰图像的范围就是景深,其他范围内的对象成像就会出现失焦模糊。
模糊检测是计算机视觉中一项重要且具有挑战的任务,目前为止,已经有很多研究者在这方面进行了大量研究,并且取得了很多成果。例如,文献[1]提出运用奇异值分解的局部模糊测量方法,根据模糊图像前k项奇异值之和与所有奇异值之和的比值大于清晰图像前k项奇异值之和与所有奇异值之和的比值的特点,以部分奇异值占所有奇异值的和的比值作为像素的模糊度量,该方法在纹理丰富的区域表现良好,但在纹理平坦的清晰区域容易出现误检。文献[2]提出了一种采用奇异值分解的图像模糊区域检测的分割方法。该算法利用模糊图像前k项奇异值所占比重比清晰图像要大,然后根据对局部模糊图像进行低通滤波后,清晰区域变化要大于模糊区域,提出通过对局部模糊图像进行再次模糊,然后将前后图像的奇异值特征变化值的模糊度量。最后根据这个特征采用分块的方式对局部模糊图像进行检测和标识,该方法虽然对纹理丰富的区域有良好的表现效果,但是对趋于平坦的效果不明显。文献[3]基于BP神经网络对图像进行局部模糊测量,该算法采用所有奇异值特征和DCT非零系数特征联合实现空频联合的模糊度描述,并在此基础上训练BP神经网络分类器,实现图像模糊度预测,该方法在一定程度上改善了基于奇异值前k项奇异值所占比重的方法对纹理不丰富区域表现的不足,实现了对运动模糊图像的模糊程度测量,并且结果较其他相同召回率算法准确率有所提高,但是该方法对局部失焦模糊图像的模糊测量效果不明显。文献[4]基于SVM的模糊图像识别的方法,该算法先提取图像的频域内频率系数统计、峰度值、颜色饱和度特征,在此基础上训练支持向量机分类器,并利用该分类器分辨出模糊图像。但该方法仅适用于整张图像模糊的情况,可以将图像分为轻微模糊、中等模糊和严重模糊,不能对局部模糊的图像进行识别。在模糊特征的提取上,还有一些有助于确定图像模糊程度的指标,例如,文献[5]中的FISH,该指标使用离散小波变换来计算全局和局部图像清晰度的指标。文献[6]中使用基于Canny算子(边缘检测算法)的测量来检测模糊程度,对于具有少量边缘或弱边缘的图像使用此方法会导致错误识别模糊。本文是对失焦模糊图像的模糊程度测量,研究运用现有的表现很好的特征作为图像的特征向量,这些特征包括奇异值、部分奇异值法、再模糊部分奇异值变化、方差、空间频率、梯度,SML、边缘,为了检测出平坦/近平坦区域,还采用了反映高频信息变化的DCT能量。
BP神经网络是一种按误差逆传播算法训练的多层前馈网络。它的学习规则是使用递度下降法,在学习过程中,分为输入样本的正向传播和误差的反向传播:正向传播是输入样本传到输入层,再到各隐含层,最后传到输出层;若正向传播计算的输出与期望的输出之间存在误差,则将误差信号反向传播,调整权值和阈值,直到输出满足要求。BP神经网络模型拓扑结构一般包括输入层、一个或多个隐含层和输出层。本文设计的是三层网络模型,包括输入层,一个隐藏层和输出层。输入层输入的是选取的9个特征,隐藏层选择9个节点。输出层只有一个节点,输出输入图像块的模糊程度。考虑到训练效率,将网络模型的其他参数设置为:最大迭代次数为10000;目标函数设置为均方误差;学习率设为0.1。
图1 算法概念
具体步骤如下:
第一步:对失焦模糊图像Ik通过围绕边界进行镜像反射来扩展。
第二步:计算图像Ik的以block×block为中心的(2block)×(2block)区域的特征向量作为该块的模糊程度值。
第三步:为了训练BP神经网络,需要为每个特征向量贴一个标签。通过手动图像分割技术,将图像Ik的模糊区域标记为白色,清晰区域标记为黑色生成标记图IkL,然后将IkL分解成block×block的小块,统计内的白色像素个数Ri,则Ri={0,1,2,3,4}。
第五步:将测试待测量失焦模糊图像输入到神经网络模型中进行模糊程度度量。
失焦模糊区域检测利用空间域和变换域的九维特征信息来确定图像的清晰度,包括空间梯度、离散余弦变换提取不同类型的特征,这些信息特征有效地模拟了图像块中的模糊效果。
(1)空间频率(FS)
2014年高职在校生人数突破1 000万,占全国高校在校生人数的半壁江山。尽管高职的块头已足够大,但近20年来,由于追求规模发展,内涵质量存在一定缺陷。2006年,示范(骨干)校建设,从方向和内涵上彰显了培优扶强的效果, “校企合作”方面的示范成效显著。然而,示范(骨干)校与企业共同育人的做法和机制并不是十全十美,“校企合作”进展参差不齐,毕业生质量与企业需求也有差距。同时,示范(骨干)校以外的高职在与企业合作育人方面,也存在一定差距。整体高职育人过程缺少与企业标准的融合与对接。
空间频率[7]是对图像清晰程度的测量。通常,同一场景清晰图像的空间频率高于模糊图像的空间频率。本文采用文献[8]改进的空间频率,计算对于一个大小为M×N的图像F,图像的空间频率定义为:
式中RF表示水平方向的梯度值,CF表示垂直方向的梯度值,SDF表示副对角线方向的梯度值,MDF表示主对角线方向梯度值,SF为整体的空间频率,RF、CF、SDF、MDF的计算分别为:
式中ω表示距离权值,取
(2)拉普拉斯能量和(SML)
拉普拉斯能量和能表征图像的高频信息和边缘信息。本文采用一种改进的拉普拉斯能量和。计算方式如下:
(3)方差(VAR)
方差可以用来判断图像块的清晰程度。计算方式如下:
其中μI为图像I的均值。
(4)梯度能量(GE)
梯度能反映图像细节反差程度和纹理变换特征,本文采用文献[8]改进的梯度特征,G(i,j)为图像F在F(i,j)处的梯度值。计算方式如下:
(5)边缘(EDGE)
越清晰的图像块中包含的边缘的细节信息越丰富,本文采用了著名的Canny边缘检测算法来计算图像边缘。
(6)DTC能量(En)
DTC系数反映一幅图像的频域信息的分布情况。清晰图像通常具有良好的图像对比度,高频分量所占的比率相对较高,而模糊图像边界信息出现不同程度的损失,图像对比度下降,图像趋于平坦,其高频分量所占的比率下降。
(7)SVD
奇异值分解是对图像的主成分分析,奇异值越大,相应的特征所占的分量越大。同一场景清晰图像的奇异值较模糊图像的奇异值要大,并且文献[1]发现模糊图像前k项奇异值所占比重比清晰图像的要大,文献[2]提出对图像再次模糊后,清晰图像的前k项奇异值所占比重变化大于模糊图像。
本实验在MATLAB 2015a软件平台上进行,微机配置为 Windows 7,Intel Core i5 2.5GHz CPU,4GB RAM。为了验证本算法的有效性,选取了文献[3]结合奇异值和DTC非零元素个数的方法进行比较。使用两种方法分别对三幅图像进行模糊程度测量,其中实验1中图(a)为原图,大小为480×640,实验2中图(d)为原图,大小为520×520,实验 3 中图(g)为原图,大小为 520×520,(b)(e)(h)分别是采用文献[3]的方法的实验结果,(c)(f)(i)是本文方法的实验结果,本实验中的block=2。
图2 实验1
图3 实验2
图4 实验3
实验1中,原图image1前景失焦模糊,背景聚焦清晰,文献[3]的方法在背景聚焦清晰区域误检较多,在前景失焦模糊区域测量结果对模糊程度表现不够鲜明,本文的方法测量效果在这两个方面表现都较好。实验2中,原图image2前景聚焦清晰,背景失焦模糊,文献[3]和本文方法在前景聚焦区域表现都不够好,但是本文方法在背景模糊区域表现比较好,尤其是在左上角白色天空区域,准确检测出其模糊状态。实验3中,文献[3]的方法出现大面积误检,而本文方法较准确测量出前景和背景的模糊状态。从实验结果可以看出,本文的方法不仅在纹理丰富区域测量出模糊程度,在纹理平坦区域也表现较好。
本文通过选取图像频域和空域中多个表征模糊程度的特征,然后基于BP神经网络实现模糊程度的测量。该方法可以有效测量出局部失焦模糊图像的模糊位置以及模糊程度,可以用到多聚焦图像融合中失焦模糊区域检测,具有一定的实际意义。本文算法模糊程度测量结果总体较好,但是测量结果不连续,出现很多离散的误检,接下来考虑使用形态学算法进行修正。