激光与光电子学进展, 2020, 57 (14): 141007, 网络出版: 2020-07-23   

基于差异哈希算法的改进非局部均值去噪算法 下载: 719次

Improved Non-Local Mean Denoising Algorithm Based on Difference Hash Algorithm
化春键 1,2,*马金科 1,2陈莹 3
作者单位
1 江南大学机械工程学院, 江苏 无锡 214122
2 江苏省食品先进制造装备技术重点实验室, 江苏 无锡 214122
3 江南大学物联网工程学院, 江苏 无锡 214122
摘要
针对非局部均值(NLM)算法度量邻域块相似度不够准确的缺点,提出了一种基于差异哈希算法与汉明距离的改进NLM算法。传统算法通过欧氏距离度量邻域块之间的相似度,保持边缘和细节的能力较弱,易导致滤波后的图像模糊失真。因此引入了包含梯度信息的差异哈希算法对欧氏距离进行改进,由邻域块生成差异哈希图像,并用其汉明距离衡量邻域块的相似度。实验结果表明,对于低噪图像,本方法在去噪的同时能较好地保持细节边缘,且相较其他算法,运行速度有很大提升,具有一定的应用价值。
Abstract
In order to solve the problem that the non-local mean (NLM) algorithm is not accurate enough in measuring the similarity of neighborhood blocks, an improved NLM algorithm based on difference hash algorithm and Hamming distance is proposed. Traditional algorithm measures the similarity between neighborhood blocks by Euclidean distance, and the ability to maintain edges and details is weak, resulting in blurred and distorted images after filtering. Therefore, the difference hash algorithm containing the gradient information is introduced to improve the Euclidean distance, and the Hamming distance of the difference hash value is calculated to measure the similarity of the neighborhood block. Experimental results show that this method can better maintain the edges of details well while denoising, and compared with other algorithms, the running speed of the algorithm is also greatly improved, which has certain application value.

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,非局部均值算法认为每个像素点与邻域像素点存在相似性,可由图像中的其他像素点来表示。通过构造加权系数对图像进行加权平均处理,使算法获得一定的去噪能力,可表示为

v(i)=jIw(i,j)v(j),(1)

式中,I为邻域搜索区域,v(j)为邻域搜索区域第j个像素值,v(i)为邻域搜索区域中心像素灰度的估计值,即滤波结果,权值w(i,j)为像素ij的相似度,假设像素i所在邻域块为Ni,像素j所在邻域块为Nj,w(i,j)可以通过计算NiNj的相似度得到,且满足0w(i,j)1,jIw(i,j)=1

d(i,j)=v(Ni)-v(Nj)2,a2,w(i,j)=1z(i)exp-d(i,j)h2,(2)

式中,d(i,j)为两像素间的距离,v(Ni)v(Nj)分别为图像v,邻域块NiNj对应的小矩阵,2.a为求得二范数后,用标准差为a(a>0)的高斯函数进行加权计算,h为控制权值衰减快慢的超参数,z(i)=jIexp-d(i,j)h2为权值归一化参数。

2.2 基于汉明距离与差异哈希算法改进的非局部均值算法

传统的非局部均值算法中,采用邻域块之间的欧氏距离衡量相似度,即欧氏距离短的邻域块相似度大,反之则小。但欧氏距离容易受噪声影响,导致去噪效果不理想;此外,没有考虑图像的结构信息,导致去噪后的图像模糊,保持边缘细节的能力不强。因此实验引入了汉明距离和梯度图像,以提高算法的运行时间,改善模糊现象。

两个相同维数向量的汉明距离是指对应位置元素不同的个数,体现了两个向量之间的相似度,汉明距离越大,表明相似度越低,其单调性与欧氏距离一致。

计算差异哈希图像的方法:遍历灰度图像,如果当前像素灰度值大于其右侧像素,则将当前像素灰度值置为1,否则置为0。差异哈希算法在计算两幅图像的差异哈希值时,通常需要对两幅图进行缩放。但实验使用的差异哈希算法主要针对尺寸为2 pixel×2 pixel的邻域块,不需要进行尺度缩放。

差异哈希算法的步骤:由邻域块NiNj生成差异哈希图像DiDj,对DiDj进行异或运算,得到汉明距离D(i,j)

D(i,j)=XXOR(Di,Dj),(3)

式中,XXOR为异或运算。实验用梯度图像的汉明距离权值调整欧氏距离的权值,计算图像梯度的Sobel算子,可表示为

-1-2-1000121,-101-202-101,(4)

式中,左边矩阵用来计算水平梯度图像,右边矩阵用来计算垂直灰度图像。根据(4)式得到水平和垂直方向的梯度图像gxgy,然后进行绝对值求和获得梯度幅值图像

g=gx+gy(5)

如果每取一组对比块就重复一遍上述步骤,会有很多重复计算。为了加快生成差异哈希图像的速度,引入卷积算子[1,-1]与梯度幅值图像g进行卷积运算,得到梯度差分图像G',梯度差分图像的差异哈希图像T中的像素可表示为

T(x,y)=1,G'(x,y)>00,G'(x,y)0,(6)

式中,G'(x,y)为梯度差分图像G'第x行、第y列的像素值。根据(3)式,从差异哈希图像T中取出对比块可计算出汉明距离D(i,j)。

由于引入汉明距离的作用是对欧氏距离的权值进行微调,而不是占主导地位。观察高斯权值函数的特点,可以发现,在自变量大于0时,自变量区间跨度越大,因变量被压缩的程度越高。可通过拉伸汉明距离区间,得到被压缩(相对欧氏距离的压缩)的汉明距离权值区间。即使汉明距离差距大的两个块,权值差距也不会很大,以此对欧氏距离权值进行微调。实验用文献[ 9]提出的加速方法(Algorithm 3)对算法进行加速时,分别对欧氏距离和汉明距离采用尺寸相同,但大小不同的卷积算子,流程图如图1所示。其中,diff_hash表示差异哈希图,pad表示填充图像,虚线框表示滑动窗口(slide window),实线框表示中心窗口(center window),kernel为卷积核。中括号内的数字表示图像的尺寸,如[h]表示图像尺寸为h×h,sum1中和sum2表示将三维矩阵的每一层元素按位置求和,D为搜索框的宽,d为像素邻域块的宽,ones(2d+1)/(2d+1)2表示尺寸为(2d+1)×(2d+1)且元素值全部为1/(2d+1)2的矩阵,虚线方框中的多维矩阵,是将填充后图像里的窗口一次性全部取出组合而成。

改进后的权值公式为

d(i,j)=v(Ni)-v(Nj)2,a2×D(i,j)λ,w(i,j)=1z(i)exp-d(i,j)h2,(7)

式中,改进后的d(i,j)为矩阵H索引为(i,j)的元素,指数λ为0.5,h为4.6×σ',(σ'= σ22552,σ为噪声标准差,σ'为归一化的噪声标准差)。

图 1. 算法流程图

Fig. 1. Flow chart of algorithm

下载图片 查看所有图片

相比GNLM与TNLM两种对比算法,本算法的速度更快。原因是GNLM算法与TNLM算法是基于结构相似度(SSIM)衡量邻域块之间的相似度,使用文献[ 9]的加速方法加速时,需要按照(8)式计算均值、方差、协方差等,计算量大。而实验使用的基于差异哈希算法的非局部均值(HNLM)算法,只需要进行异或运算,即

XHNLM=2μiμj+C1μi2+μj2+C1×σi,j+C2σi2+σj2+C22σiσj+C3σi2+σj2+C3,(8)

式中,μiμj分别为NiNj的灰度均值,σiσj分别为NiNj的灰度方差,σi,jNiNj的灰度协方差,C1C2C3为防止分母为零的一个参数。

3 实验分析与讨论

为验证本算法的可行性,对图2中的测试图像进行仿真实验。图像尺寸均为512 pixel×512 pixel,邻域搜索范围为5 pixel×5 pixel,邻域尺寸为3 pixel×3 pixel,实验环境为Matlab R2018b,处理器为Intel Core i7-6700。其中,图2(a)为Lena图像,图2(b)为Cameraman图像,图2(c)和图2(d)为分别对图2(a)、图2(b)添加均值为0,标准差为10的高斯白噪声后的图像。

对含有不同噪声方差σ的图像去噪后,峰值信噪比(PSNR)取最大值时,得到的参数λh表1所示。

表 3. 四种算法在不同噪声下的PSNR和运行时间(Cameraman图像)

Table 3. PSNR and running time of four algorithms under different noises (Cameraman image)

AlgorithmParameterStandard deviation
102550
NLMPSNR /dB26.0125.5624.02
time /s0.410.430.42
GNLMPSNR /dB34.2030.5225.95
Time /s3.213.253.26
TNLMPSNR /dB34.1629.8324.25
time /s3.523.493.34
HNLMPSNR /dB35.5130.7125.89
time /s0.650.690.67

查看所有表

图 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

σImagePSNR /dBλh
10Lena34.720.50.006
Cameraman35.510.50.006
15Lena33.060.50.014
Cameraman33.500.50.014
20Lena31.700.50.026
Cameraman32.040.50.026
25Lena30.580.50.044
Cameraman30.710.50.044
30Lena29.660.50.066
Cameraman29.580.50.064
35Lena28.860.50.092
Cameraman28.430.50.090

查看所有表

表 2. 四种算法在不同噪声下的PSNR和运行时间(Lena图像)

Table 2. PSNR and running time of four algorithms under different noises (Lena image)

AlgorithmParameterStandard deviation
102550
NLMPSNR /dB27.3826.9825.71
time /s0.450.450.46
GNLMPSNR /dB34.1130.5327.12
time /s3.223.173.55
TNLMPSNR /dB33.2229.4025.99
time/s3.543.453.51
HNLMPSNR /dB34.7230.5827.02
time /s0.630.650.62

查看所有表

通过表1将(7)式中的参数λ确定为0.5。图3图4分别为表1中标准化后的噪声方差σ'与h的散点以及拟合结果。可以看出,σ'与h近似满足线性关系,基本服从比例为4.6的正比关系,因此实验取比例系数为4.6。

图 3. Lena图σ'h的拟合结果

Fig. 3. Fitting result of σ' and h of Lena image

下载图片 查看所有图片

图 4. Cameraman图σ'h的拟合结果

Fig. 4. Fitting result of σ' and h of Cameraman image

下载图片 查看所有图片

实验采用的对比算法包括NLM算法、文献[ 5]提出的GNLM算法和文献[ 7]提出的TNLM算法。图5为三种算法与本算法去噪后的图像。可以看出,虽然NLM算法的去噪效果较好,但图5(a)和图5(b)中,仍出现了边缘模糊。而包括本算法在内的三种改进算法都在一定程度上提高了边缘保持的能力。

图6为从图5中对应图像截取的细节对比图。可以明显发现,NLM算法造成了细节模糊,而三种改进算法则保留了更多的细节。相比GNLM与TNLM算法,本算法的去噪结果更接近原始无噪声图像。

对两幅测试图像分别添加均值为0,标准差为10,25,50的高斯白噪声,得到四种算法的PSNR和运行时间如表2表3所示。四种算法都采用文献[ 9]提出的加速方法进行加速。可以看出,本算法在低噪声水平下,去噪效果相比传统NLM算法的效果有较大提升,略优于GNLM和TNLM算法。在运行速度上,本算法的运行时间都小于1 s,处理Lena图的平均耗时只有GNLM算法的19.1%,以及TNLM算法的18.1%;处理Cameraman图的平均耗时则只有GNLM算法的20.7%,以及TNLM算法的19.4%。这证明本算法比其他两种改进算法的运行时间更短,比NLM算法的去噪效果更好。

图 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.

    Zou Y N, Yao G J. Median filtering algorithm for adaptive window shape[J]. Optics and Precision Engineering, 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.

    Gong C L. Image-denoising method based on wavelet transform and mean filtering[J]. Opto-Electronic Engineering, 2007, 34(1): 72-75.

[5] 郭晨龙, 赵旭阳, 郑海燕, 等. 一种基于改进非局部均值滤波算法的红外图像去噪[J]. 红外技术, 2018, 40(7): 638-641.

    Guo C L, Zhao X Y, Zheng H Y, et al. Infrared image denoising method based on improved non-local means filter[J]. Infrared Technology, 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.

本文已被 3 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!