基于差异哈希算法的改进非局部均值去噪算法 下载: 719次
1 引言
图像去噪的目的是去除数字图像在获取、传输过程中产生的噪声,是数字图像处理过程重要的环节。不仅影响图像质量的评价因子和主观视觉感受,对后续的图像处理过程也有重要的作用。目前,传统图像去噪算法主要基于滤波的思想,分为空间域去噪算法和频域去噪算法。空间域去噪算法主要有均值滤波、中值滤波、局部均值滤波、自适应中值滤波[1]等基于统计思想的滤波算法和非局部均值[2-3]等基于图像自相似性的滤波算法;频域去噪算法是将图像转化到频域空间进行滤波,主要有小波阈值滤波[4]、维纳滤波等。基于均值和中值的滤波算法对椒盐噪声有较好的去噪效果,但会导致图像模糊,不能很好地保持细节边缘;维纳滤波只对单一噪声的去噪效果较好;小波阈值滤波是将图像转化到频域,设定阈值以分离噪声频谱和图像频谱,但通常难以完全分离。
基于图像自相似性的非局部均值滤波算法去噪效果较好,但传统的非局部均值滤波算法只采用欧氏距离衡量邻域块间的相似度,不能很好地保留边缘细节。郭晨龙等[5]提出了采用梯度图像的结构相似度(GSSIM)与非局部均值(NLM)算法结合的GNLM算法;张娜等[6]提出了归一化转动惯量(NMI)与NLM算法结合的NMI-NLM算法;祝严刚等[7]用指数-Turkey权值核函数代替NLM算法中的高斯权值核函数(下文简称为TNLM),比NLM算法中的邻域权重更准确;李方舟等[8]利用Mahalanobis距离改善NLM算法中相似度的度量。相比传统NLM算法,上述改进算法在保持去噪性能的同时,能较好地保留边缘细节信息,但计算复杂度较高,即使对算法进行加速后,运行时间仍然较长。
为了在获得较好去噪效果的同时,尽可能地降低算法运行时间。本文采用带有图像梯度信息的差异哈希图像和汉明距离改进邻域块之间的相似度度量。相比传统算法,一方面,考虑了图像的结构信息,能更好地保留图像的边缘细节;另一方面,通过异或运算就能求出差异哈希图像的汉明距离,大大减少了算法的运行时间。
2 基本原理
2.1 非局部均值算法
假设一副噪声图像为v,非局部均值算法认为每个像素点与邻域像素点存在相似性,可由图像中的其他像素点来表示。通过构造加权系数对图像进行加权平均处理,使算法获得一定的去噪能力,可表示为
2.2 基于汉明距离与差异哈希算法改进的非局部均值算法
传统的非局部均值算法中,采用邻域块之间的欧氏距离衡量相似度,即欧氏距离短的邻域块相似度大,反之则小。但欧氏距离容易受噪声影响,导致去噪效果不理想;此外,没有考虑图像的结构信息,导致去噪后的图像模糊,保持边缘细节的能力不强。因此实验引入了汉明距离和梯度图像,以提高算法的运行时间,改善模糊现象。
两个相同维数向量的汉明距离是指对应位置元素不同的个数,体现了两个向量之间的相似度,汉明距离越大,表明相似度越低,其单调性与欧氏距离一致。
计算差异哈希图像的方法:遍历灰度图像,如果当前像素灰度值大于其右侧像素,则将当前像素灰度值置为1,否则置为0。差异哈希算法在计算两幅图像的差异哈希值时,通常需要对两幅图进行缩放。但实验使用的差异哈希算法主要针对尺寸为2 pixel×2 pixel的邻域块,不需要进行尺度缩放。
差异哈希算法的步骤:由邻域块Ni和Nj生成差异哈希图像Di和Dj,对Di和Dj进行异或运算,得到汉明距离D(i,j)
式中,XXOR为异或运算。实验用梯度图像的汉明距离权值调整欧氏距离的权值,计算图像梯度的Sobel算子,可表示为
式中,左边矩阵用来计算水平梯度图像,右边矩阵用来计算垂直灰度图像。根据(4)式得到水平和垂直方向的梯度图像gx和gy,然后进行绝对值求和获得梯度幅值图像
如果每取一组对比块就重复一遍上述步骤,会有很多重复计算。为了加快生成差异哈希图像的速度,引入卷积算子[1,-1]与梯度幅值图像g进行卷积运算,得到梯度差分图像G',梯度差分图像的差异哈希图像T中的像素可表示为
式中,G'(x,y)为梯度差分图像G'第x行、第y列的像素值。根据(3)式,从差异哈希图像T中取出对比块可计算出汉明距离D(i,j)。
由于引入汉明距离的作用是对欧氏距离的权值进行微调,而不是占主导地位。观察高斯权值函数的特点,可以发现,在自变量大于0时,自变量区间跨度越大,因变量被压缩的程度越高。可通过拉伸汉明距离区间,得到被压缩(相对欧氏距离的压缩)的汉明距离权值区间。即使汉明距离差距大的两个块,权值差距也不会很大,以此对欧氏距离权值进行微调。实验用文献[
9]提出的加速方法(Algorithm 3)对算法进行加速时,分别对欧氏距离和汉明距离采用尺寸相同,但大小不同的卷积算子,流程图如
改进后的权值公式为
式中,改进后的d(i,j)为矩阵H索引为(i,j)的元素,指数λ为0.5,h为4.6×σ',(σ'=
相比GNLM与TNLM两种对比算法,本算法的速度更快。原因是GNLM算法与TNLM算法是基于结构相似度(SSIM)衡量邻域块之间的相似度,使用文献[ 9]的加速方法加速时,需要按照(8)式计算均值、方差、协方差等,计算量大。而实验使用的基于差异哈希算法的非局部均值(HNLM)算法,只需要进行异或运算,即
式中,μi与μj分别为Ni和Nj的灰度均值,σi和σj分别为Ni和Nj的灰度方差,σi,j为Ni和Nj的灰度协方差,C1、C2与C3为防止分母为零的一个参数。
3 实验分析与讨论
为验证本算法的可行性,对
对含有不同噪声方差σ的图像去噪后,峰值信噪比(PSNR)取最大值时,得到的参数λ和h如
表 3. 四种算法在不同噪声下的PSNR和运行时间(Cameraman图像)
Table 3. PSNR and running time of four algorithms under different noises (Cameraman image)
|
图 2. 测试图像。(a) Lena;(b) Cameraman;(c)加噪后的Lena;(d)加噪后的Cameraman
Fig. 2. Test images. (a) Lena; (b) Cameraman; (c) Lena after adding noise; (d) Cameraman after adding noise
表 1. PSNR最大时的λ和h
Table 1. λ and h when PSNR is maximum
|
表 2. 四种算法在不同噪声下的PSNR和运行时间(Lena图像)
Table 2. PSNR and running time of four algorithms under different noises (Lena image)
|
通过
实验采用的对比算法包括NLM算法、文献[
5]提出的GNLM算法和文献[
7]提出的TNLM算法。
对两幅测试图像分别添加均值为0,标准差为10,25,50的高斯白噪声,得到四种算法的PSNR和运行时间如
图 5. 不同算法的去噪结果。(a) NLM;(b) GNLM;(c) TNLM;(d) HNLM
Fig. 5. Denoising results of different algorithms. (a) NLM; (b) GNLM; (c) TNLM; (d) HNLM
图 6. 不同算法得到的图像细节。(a) NLM;(b) GNLM;(c) TNLM;(d) HNLM
Fig. 6. Image details obtained by different algorithms. (a) NLM; (b) GNLM; (c) TNLM; (d) HNLM
4 结论
提出了一种基于差异哈希算法的改进非局部均值去噪算法,引入邻域块的差异哈希图像与汉明距离衡量邻域块之间的相似度,只需要对两个邻域块进行异或运算,大大缩短了算法的运算速度。实验结果表明,相比其他改进算法,本算法更容易实现,且速度更快,在实际中具有一定的应用价值。
[1] 邹永宁, 姚功杰. 自适应窗口形状的中值滤波[J]. 光学精密工程, 2018, 26(12): 3028-3039.
[2] BuadesA, CollB, Morel JM. A non-local algorithm for image denoising[C]//2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), June 20-26, 2005, San Diego, CA, USA. New York: IEEE, 2005, 2: 60- 65.
[3] Buades A, Coll B, Morel J M. A review of image denoising algorithms, with a new one[J]. Multiscale Modeling & Simulation, 2005, 4(2): 490-530.
[4] 龚昌来. 基于小波变换和均值滤波的图像去噪方法[J]. 光电工程, 2007, 34(1): 72-75.
[5] 郭晨龙, 赵旭阳, 郑海燕, 等. 一种基于改进非局部均值滤波算法的红外图像去噪[J]. 红外技术, 2018, 40(7): 638-641.
[6] 张娜, 刘辉, 尚振宏, 等. 改进权重函数的非局部均值图像去噪算法[J]. 计算机工程, 2016, 42(12): 254-261.
Zhang N, Liu H, Shang Z H, et al. Non-local means image denoising algorithm of improved weighting function[J]. Computer Engineering, 2016, 42(12): 254-261.
[7] 祝严刚, 张桂梅. 一种改进的非局部均值图像去噪算法[J]. 计算机工程与应用, 2017, 53(18): 192-198.
Zhu Y G, Zhang G M. Improved non-local means denoising algorithm[J]. Computer Engineering and Applications, 2017, 53(18): 192-198.
[8] 李方舟, 赵耀宏, 向伟, 等. 基于改进非局部均值的红外图像混合噪声去除方法[J]. 红外与激光工程, 2019, 48(1): S128001.
Li F Z, Zhao Y H, Xiang W, et al. Infrared image mixed noise removal method based on improved NL-means[J]. Infrared and Laser Engineering, 2019, 48(1): S128001.
[9] Froment J. Parameter-free fast pixelwise non-local means denoising[J]. Image Processing on Line, 2014, 4: 300-326.
[10] 邹滨益, 刘辉, 尚振宏, 等. 基于局部Hu矩的非局部均值去噪算法[J]. 计算机工程, 2018, 44(3): 241-244.
Zou B Y, Liu H, Shang Z H, et al. Non-local mean denoising algorithm based on local Hu moment[J]. Computer Engineering, 2018, 44(3): 241-244.
[11] 段影影, 陈武凡, 冯前进, 等. 医学图像质量评价中的梯度加权SSIM[J]. 计算机工程与应用, 2011, 47(24): 205-210.
Duan Y Y, Chen W F, Feng Q J, et al. Gradient-weighted SSIM based medical image quality assessment[J]. Computer Engineering and Applications, 2011, 47(24): 205-210.
化春键, 马金科, 陈莹. 基于差异哈希算法的改进非局部均值去噪算法[J]. 激光与光电子学进展, 2020, 57(14): 141007. Chunjian Hua, Jinke Ma, Ying Chen. Improved Non-Local Mean Denoising Algorithm Based on Difference Hash Algorithm[J]. Laser & Optoelectronics Progress, 2020, 57(14): 141007.