基于梯度直方图的图像自适应滤波去噪

2023-04-06 18:58焦莉娟王文剑裴春琴
关键词:直方图梯度均值

焦莉娟,王文剑,裴春琴

(1.忻州师范学院 计算机系,山西 忻州 034000;2.山西大学 计算机与信息技术学院,山西 太原 030006)

0 引言

空域滤波通过邻域运算实现对图像的变换处理,广泛应用于图像去噪、图像增强、轮廓提取以及图像识别等领域。滤波模板的选取直接决定了滤波结果,模板的类型和尺度是决定滤波效果的两个重要因素。中值滤波和均值滤波被广泛应用于图像去噪。传统的去噪模板采用固定尺度的滤波器,很难兼顾去噪能力和细节保留这两项指标。大尺寸的滤波模板去噪效果好,但容易导致去噪图像细节丢失,小尺寸的滤波模板可以更好地保留图像细节,但去噪效果不理想。

针对这一问题,研究者们提出自适应的滤波思想。在模板类型改进方面,开关滤波器[1-2]在传统的中值滤波[3]基础上只针对受噪声污染点进行滤波,非噪点保持原始值,较好地保留了图像的有效信息。去极值滤波思想[4]在邻域运算时取消了噪声点的参与,进一步提高了去噪效果。在此基础上,加权滤波器[5-7]通过距离计算和噪声概率估计对滤波模板进行了加权改进,唐超等[8]结合图像灰度值的统计特性自适应地选取噪声模板类型,在改善了滤波效果的同时对噪声估计提出了新的挑战。为提升噪声估计精度,万丰丰等[9]引入模糊隶属度函数,自适应地在真实值和含噪点之间寻找一个最佳平衡值,但该方法中的两个阈值需人工指定,增加了算法的不确定性。在滤波模板尺度的改进方面,窗口自适应滤波器[10-11]根据噪声强度自适应地调整滤波核尺度,一定程度上改善了图像细节丢失问题,但对噪声检测技术提出了更高的要求。Lin等[12-13]采用总变分差值来区分图像的纹理与结构部分,由于在滤波核尺度的自适应生成过程中参考了图像自身的特征,所以有效避免了因噪声估计误差影响滤波效果的问题,但该方法同样存在阈值需人工指定的问题。董烈乾等[14]提出用滤波后的图像与滤波前的含噪图像的相似度进行噪声估计。帅慕容等[15]用二次误差检测策略来降低噪声估计误差。综合以上,噪声依赖性强是目前自适应滤波器的主要问题之一,而受污染的图像中除了极值型的椒盐噪声外,针对其余类型噪声的估计都不同程度地存在困难。另外,自适应方法中普遍存在的阈值需人工设定问题也是影响滤波算法稳定性的因素之一。

针对自适应滤波器在图像去噪中存在的噪声依赖性强以及因人工设定阈值造成的算法不稳定的问题,本文提出改进。首先用均值滤波图像的梯度值作为参数,自适应调节滤波模板,使得去噪模板的构建可以充分利用图像的自身特征代替噪声估计。另外,根据图像梯度直方图曲线的变化率自适应地计算分割阈值,并通过计算得到的阈值控制滤波模板的尺度变化,避免了人工设定阈值导致算法不稳定的问题。

1 本文算法

本文从滤波模板尺度调节以及阈值自适应生成两方面做了改进。改进算法根据图像的原始尺寸和梯度参数定义了一个滤波模板尺度计算函数。另外,算法通过分析图像的梯度直方图曲线的曲率,自适应地生成用于控制梯度参数分割的双阈值。

1.1 滤波模板尺度

以中值和均值滤波图像去噪为例,在去噪过程中滤波模板的尺度会直接影响到去噪结果。滤波器尺度过大,容易造成图像模糊、细节丢失的现象,尺度过小则在邻域运算中无法获得充分的有效信息,从而影响去噪性能。另外,原始尺寸较大的图像相对于小尺寸图像而言滤波尺度也应相应扩大。本文结合图像的原始尺寸和梯度值定义了一个滤波模板尺度计算函数。针对图像中变化丰富的纹理区域选取了较小的滤波器,以充分保留图像细节;对于平坦的背景区域则应适当调大滤波模板以获取更多的有效信息参与邻域运算。滤波尺度计算公式定义为如下:

其中,[·]表示四舍五入取整运算,M、N为图像的原始尺寸,α为变换系数,k为图像梯度参数。梯度较大的像点具有较丰富的细节变化,应选取较大的滤波模板。通过反复实验本文算法选取了三种尺度,其值通过以下分段函数计算得到:

其中,gij为图像的梯度值,为避免邻域运算中噪声点的干扰,这里取均值滤波图像的梯度值。ti为自适应生成的双阈值。

1.2 阈值自适应生成

公式(2)中的阈值ti决定了滤波核尺度的分段取值情况。本文通过分析图像的梯度分布曲线自适应地寻找分割性最好的双阈值。不同的图像具有不同的梯度分布曲线,所以阈值ti不能取固定的常量,而每处理一幅图像都要通过人工分析、调试获取最佳阈值又会严重影响图像处理效率,因此本文提出自适应阈值调节算法。

首先定义了图像梯度直方图的概念,梯度直方图体现了图像梯度的概率分布情况,水平坐标表示图像的梯度值,垂直坐标表示梯度值在图像中的概率分布。然后通过梯度直方图曲线函数的一阶导观测梯度变化率的分布情况。导数值越大,对应的变化率也越大,说明该点的分割性越好,即以该点作为界点时,被分割的两个区域的差异性越明显。所以图像梯度直方图一阶导中值最大的前两个导数值x1、x2对应的梯度值ind1、ind2归一化后的值,即为滤波窗口尺度分割的最佳阈值t1和t2。阈值计算公式如下:

其中,M、N为图像原始尺寸,indi为xi在梯度直方 图 中 的 位 置 索 引 ,所 以 有 :indi∈[0,M×N], i=1,2

其中的grad(I)表示图像I的梯度直方图函数。

1.3 算法步骤

为降低噪声点对梯度运算的干扰,算法首先对含噪图像进行了一次均值滤波。本文改进后的自适应滤波算法步骤如下。

输入:含噪图像fn

step1 对噪声图像fn均值滤波,得到初始去噪图像f1;

step2 求f1的梯度图像直方图g;

step3 求g的一阶导数g’;

step4 用公式(5)和公式(6)求出 xi,由 xi对应求出indi;

step5 用公式(3)和公式(4)计算得到阈值ti;

step6 将 ti代入公式(1)和公式(2)计算得到窗口尺度参数w;

step7 用第6步求到的w控制滤波模板,对fn进行滤波去噪,生成去噪图像f̂。

2 实验及结果分析

本文实验环境为Intel CORE I7处理器,16 GB内存,64 bit Windows10操作系统,Matlab 2014a平台。实验图像选取了20幅大小为256×256的灰度图像。变换系数α由实验反复验证取结果最佳值1/205。初始均值滤波模板采取固定尺度5×5。

本文实验分别对受高斯噪声污染图像的均值滤波去噪和受椒盐噪声污染图像的中值滤波去噪算法进行了对比分析。

2.1 均值滤波对高斯噪声去噪

为了验证本文算法在滤波模板尺寸自适应调节方面的有效性,第一组实验对添加了均值为 0、方差 σ分别为 0.04、0.06、0.08的高斯噪声生成的噪声图像进行均值滤波去噪,采用模板尺度固定为k的均值滤波与本文自适应的均值滤波方法进行了比较。图1为lena图像加入均值为0方差为0.08的高斯噪声的均值滤波去噪实验比较。从实验结果可看到,当k值较小(如k = 3)时结果的细节保留较好,轮廓较清晰,但平滑部分仍有大量噪声存在。k值较大(如k = 9)时去噪效果好,但细节丢失,轮廓模糊。本文算法结合了二者的优势,在去噪效果和细节保留方面均有改善。

实验结果表明,对于固定窗口尺寸的均值滤波,当滤波窗口尺度分别为3、5、7、9时的去噪效果相对其他尺寸情况下较好,因此表1只列出了这四种尺寸下的滤波结果。在四组固定尺寸实验中,去噪效果最好的数据加粗显示。表1为其中四幅图像在不同强度高斯噪声污染下的均值滤波的去噪效果。本文算法的实验结果均大于前四列中的最大值,表明相对于尺寸固定的均值滤波去噪,本文自适应调节滤波窗口尺度后去噪效果有所改善。

2.2 中值滤波对椒盐噪声去噪

为了验证本文提出的自适应滤波方法与其他算法的融合性,第二组实验将本文方法与极值型开关中值滤波算法相结合进行图像去噪。另外,为了验证本文算法对噪声类型的鲁棒性,将噪声类型改为椒盐噪声。对原始图像添加了不同强度的椒盐噪声生成噪声图像,然后分别用传统中值滤波、开关中值滤波、极值型开关中值滤波、文献[8]中提到的加权模板应用到极值开关中值滤波后的加权极值开关中值滤波算法,与本文改进的方法与加权极值型开关中值滤波算法相融合的自适应加权极值型开关中值滤波进行去噪效果的对比,图2为其中一幅图像噪声强度为0.5的实验效果。

从以上去噪结果可看到,与前四种算法相比,本文算法充分保留了细节和纹理部分的基础上在图像平滑部分的去噪优势更明显。表2列出了其中三幅图像的几种算法去噪结果的峰值信噪比PSNR值。

3 结论

滤波去噪算法中滤波模板的尺度设置至关重要。本文的去噪算法针对初始去噪图像的梯度直方图,而不是直接对噪声图像进行分析,用分析图像本身的特征取代了原算法中的噪声估计,缓解了原算法去噪过程对噪声类型依赖性强的问题。另外,提出用梯度直方图曲线的曲率变化自适应地调节分割阈值的方法,避免了人工设置阈值导致算法效率低、稳定性差的问题。本文提出的阈值自适应调节方法是一个独立的普适性算法,目前只针对去极值中值滤波进行了初步融合。今后将在算法融合性方面进行深入研究,将本文算法与其他需要阈值设置的算法,如轮廓提取、图像分割等领域的一些算法相融合进行改进。

猜你喜欢
直方图梯度均值
符合差分隐私的流数据统计直方图发布
一个改进的WYL型三项共轭梯度法
一种自适应Dai-Liao共轭梯度法
一个具梯度项的p-Laplace 方程弱解的存在性
均值—方差分析及CAPM模型的运用
均值—方差分析及CAPM模型的运用
用直方图控制画面影调
一类扭积形式的梯度近Ricci孤立子
中考频数分布直方图题型展示
基于空间变换和直方图均衡的彩色图像增强方法