方 庆,谢岸煌,谢仁礼
(深圳TCL新技术有限公司,广东 深圳 518000)
在获取图像的过程中,因为带宽限制、传输距离、压缩算法等原因,图像中可能出现噪声[1]。所以在对图像进行某些处理之前,需要对其进行去噪处理。常见的去噪方法有高斯滤波、中值滤波、双边滤波等[2]。然而,在对图像进行噪声消除的同时,某些边缘区域以及细节区域[3]的内容也会被破坏,导致图像清晰度的退化。因此,在图像去噪模块之后,一般都伴随着清晰度增强模块。反锐化掩膜算法就是常用的清晰度增强算法之一。
根据所处理的图像空间的不同,可以将清晰度增强算法分为基于空域的清晰度增强算法和基于频域的清晰度增强算法[4]。其中,基于空域的清晰度增强算法是将图像转换到某种色彩空间后再对像素值进行一系列处理以提升其清晰度的方法,典型的色彩空间有RGB色彩空间、YCbCr色彩空间以及HSV色彩空间等[5]。基于频域的清晰度增强算法是使用某种变换方法将图像从空域转换到频域之后,提升其中的高频信号,再将频域转换到空域,最终完成清晰度增强。常见的空域转频域方法有傅里叶变换以及小波变换等[6]。
传统的反锐化掩膜算法就是一种基于空域的清晰度增强算法,其使用勾边叠加方法,提取图像中的高频信号并将其叠加到原始图像中,达到清晰度增强的目的。但是,在这个过程中,不可避免地会将噪声误判为细节或边缘信息,导致噪声被增强,且可能对边缘或者细节信息造成过度锐化以及像素值溢出问题,导致出现光晕现象。因此,近年来,学者们提出了许多改进的反锐化掩膜算法以解决上述问题。RAMPONI提出了一种改进的非锐化掩膜算法[7],该算法在一定程度上可以避免噪声被放大,但是仍然存在过度增强以及像素值溢出的问题。白雪提出了基于改进中值滤波的反锐化掩膜算法[8],该算法使用改进的中值滤波提取图像中的高频信息,可以降低噪声被误判为细节信息的概率,但是算法也存在过度增强的问题。PELESEL提出了一种分区域处理的自适应反锐化掩膜算法[9],算法使用了高斯牛顿法更新增益系数,达到自适应锐化的目的,虽然能够有效地做到自适应锐化,但方法的计算量太庞大,导致其能够应用的场景并不多。冯鸣等人提出了改进反锐化掩膜的自适应图像增强算法[10],利用图像邻域高频信号之间的差值实现自适应锐化的效果,但是算法在增强细节的同时也会放大噪声,且存在过度增强的问题。刘艳莉等人提出了基于局部复杂度和方差的自适应图像锐化算法[11],在构建增益函数时考虑了图像的局部复杂度和方差,克服了传统算法过分依赖灰度变化强度导致细节增强不理想的问题。
针对现有锐化算法中存在过渡锐化以及像素值溢出的问题,本文提出一种自适应的反锐化掩膜算法,在传统的反锐化掩膜算法的基础上,增加了低中频信号以及噪声识别功能、锐化参数自适应功能以及过冲处理功能。在提高图像清晰度的同时,可以避免噪声被放大以及过冲现象的出现。
传统的反锐化掩膜算法是一种基于空域的清晰度增强算法,其原理流程如图1所示,算法各步骤效果如图2所示。该算法首先使用一个低通滤波器将原始图像图2(a)进行模糊化,结果如图2(b)所示,再通过原始图像与模糊图像作差,得到一个包含图像高频信号的图像,如图2(c)所示,再将高频图像乘以一个固定的增益系数后叠加到原始图像上,最终得到一个增强后的图像,如图2(d)所示。
图1 传统反锐化掩膜算法流程图
图2 传统反锐化掩膜算法各步骤的效果图
用具体的公式表达即为
式中:x(n,m)为输入图像,y(n,m)为输出图像;z(n,m)为高频信号,此处通过对原始图像进行低通滤波再与原始图像相减获得;α是锐化增益系数。
针对传统反锐化掩膜算法存在的噪声放大以及过冲现象等问题,本文提出一种自适应的反锐化掩膜算法。该算法在传统反锐化掩膜算法的基础上,增加了低中频信号以及噪声识别功能、锐化参数自适应功能以及过冲处理功能。其算法流程如图3所示。
图3 自适应反锐化掩膜算法流程图
该算法主要包括核化滤波、预处理判断、高通滤波、增益控制、过冲控制以及裁剪等步骤。下面对算法流程进行简要介绍(以下过程针对8 bit数据格式的彩色图像。对于其他数据格式的图像,相应的参数需视具体情况做变动)。
(1)将输入的图像信息从RGB色彩空间转换到YCbCr色彩空间,提取其中的Y分量。
(2)获取一个size为5且sigma为1的归一化高斯滤波器,高斯滤波器的参数可以自定义设定,其中size为高斯滤波器的大小,sigma为高斯滤波器的标准差。当size固定不变,sigma值越大,高斯滤波器的平滑效果越好。经实验验证,若size太小,则其效果不明显;若size太大,离中心点越远的点,其权重越小,小到几乎没作用,且高斯滤波器size过大会占用太多的硬件资源,所以不推荐使用9×9以上的滤波器。本文中,大小为5×5,sigma为1的高斯滤波器恰好可以满足上述要求。
(3)创建一个与步骤(2)中滤波器大小一样的初始滤波器(内容为0),将中心点的值改为1,再使用这个滤波器与步骤(2)中的滤波器作差,得到最终可以过滤出图像中高频信号的高通滤波器。
(4)使用一个高通滤波器[-1,2,-1]和一个带通滤波器[-1,0,2,0,-1][12],对当前Y分量及其邻域进行矩阵点乘再求和得到singleValue,其作用主要是用于判断当前信号是否属于高频信号。将singleValue与设定好的阈值Threshold值做对比,若singleValue<Threshold,则不对这个Y分量进行处理,反之,则表示该Y分量属于边缘信号,需要执行步骤(5)及其后面的步骤。本文中,Threshold的值设为10,通过求整个Y通道的singleValue值的直方图发现,当Threshold值设置为10时,可以过滤Y通道中90%左右的像素点,其中包括中低频信号和噪声信号。
(5)使用步骤(3)中的高通滤波器对当前Y分量的邻域进行卷积操作,获取当前Y分量的高频信号量yhigh。
图4 sin函数图
图5 sin一阶导数图
该公式的物理意义为:当像素点的值离127越接近,其增益越大。仿真实验发现,高频信号的像素点的值大部分都在[70,200]之间,在这个区间里面的点离127越近,它的可扩展性就越强,可以赋予它更大的增益权重;反之,不在这个区间的点的可扩展性很弱,容易出现像素值溢出的问题,所以需要赋予其较小的权重,防止像素值溢出。并且,通过sin函数的一阶导数发现,其一阶导数是一个单调递减函数,当Y=127时,一阶导数为0,其一阶导数反映的是sin函数的斜率,表示Y分量值离127越近,其斜率越平缓,Y分量的变化率就越低,其权重的变化率就越低。alpha值推荐设置为[0.8,1.2],因为这个值过大,会出现过增强的问题,过小,则会出现弱增强的问题。
(7)计算Y分量的新值,ynew=y+amount×yhigh。
(8)创建一个5×5的滤波器,其值为
使用上述滤波器与当前Y分量邻域进行点乘,得到一个新的5×5矩阵。该滤波器上不同的系数反映了该点的值对当前Y分量的影响有多大。求出这个5×5矩阵中的最大值maxValue和最小值minValue,将这两个值当成当前Y分量的一个窗口范围。
若ynew<(minValue+winrange),则ynew=maxValuewinrange; 若ynew>(maxValue+winrange), 则ynew=maxValue+winrange;否则ynew=ynew。其中winrange为可调节参数,默认值设为25。
(9)对最终的ynew进行裁剪,防止像素值溢出。
(10)输出最终全部更新完的Y通道,再将YCbCr色彩空间转换到RGB色彩空间。
为了检验本文算法的有效性,使用该算法与传统的反锐化掩膜算法进行效果对比,从主观和客观两方面对算法的优劣性进行评价。
为了验证本文算法的优劣,使用两张彩色图像作为实验对象,其中一幅是经典的Lena图像,另一幅是T公司清晰度图库中的Mountain图。对实验对象的处理结果如图6和图7所示。其中,图6(a)和图7(a)是原始图像,图6(b)和图7(b)经过传统反锐化掩膜算法处理的图像,图6(c)和图7(c)是经过本文算法处理的图像。
图6中,分别对比图6(b)和图6(a)以及图 6(c)和图 6(a),可以看出,图 6(b)和图 6(c)的清晰度更好,图像的边缘和细节区域更加清晰。然而,对比图6(b)和图6(c)会发现,在增强边缘和细节区域的同时,图6(b)中的噪声也被放大了,从图6(b)的左上角部分和右上角部分以及Lena眼角部分可以发现其中存在很多噪声;观察图6(c)相同部位则未发现噪声的存在。图7中,从山体部分可以看出,相比于图7(a),图7(b)和图7(c)的山体结构都描绘得很清晰;图7(b)和图7(c)中海边的岩石细节也比图7(a)中的要丰富。然而,对比图7(b)和图7(c)左上角天空部分后会发现,图7(b)左上角的天空中存在很多肉眼可见的噪声;观察图7(c)相同部位则未发现噪声的存在。由此可得,从主观层面上看,图6和图7中,由本文算法处理的图像质量要好于传统反锐化掩膜算法处理的图像质量。
图6 Lena图的实验结果比较
图7 Mountain图的实验结果比较
本文采用全参考图像质量评价以及无参考图像质量评价两类客观的图像质量评价方法对算法结果进行评价。其中,全参考图像质量评价采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)以及结构相似性指标(Structural Similarity,SSIM)[14],PSNR以及SSIM的值越大,表示处理后的图像与原始图像更接近,图像质量越好。无参考图像质量评价采用自然图像质量评估(Natural Image Quality Evaluator,NIQE)和基于感知的图像质量评估(Perception based Image Quality Evaluator,PIQE)两种方法[15],NIQE和PIQE的分数越小,代表图像质量越高。对于图6(b)、图6(c)、图7(b)以及图7(c)使用上述4种客观的图像质量评价方法进行评价,得到的评价值如表1所示。由表中的数据可以得出,图6(c)的图像质量要比图6(b)的要好,图7(c)的图像质量要比图7(b)的好。该结果与上述主观评价的结果一致。
表1 各种图像质量评价方法对上述4张图像的评分
本文提出了一种自适应的反锐化掩膜算法。与传统的反锐化掩膜算法相比较,本文算法具有更强的适应性,可以根据图像内容的不同而调整锐化的系数,达到自适应锐化的效果;而且在锐化之前还增加了低中频和噪声的过滤模块。通过结果对比可以看出,本文算法可以很好地过滤图像中的噪声,避免噪声被放大而破坏图像的自然度。除此之外,图像输出前还做了过冲处理,避免出现过增强现象。