摘要:本文提出一种用于检测随机值脉冲噪声的图像统计量,利用该统计量可以定位被污染图像中绝大多数噪声像素。将该统计量与保边缘正则化方法结合,得到一套强大的两阶段去噪算法,即便噪声水平高达 60%,依然可以实现随机值脉冲噪声去除。仿真结果表明,本文算法在图像复原、噪声检测两项指标上显著优于多种现有算法。 索引词:随机值脉冲噪声、噪声检测器、保边缘正则化、图像去噪
一、引言
数字图像经常会受到脉冲噪声污染,噪声来源包括传输错误、相机传感器像素单元故障、存储器出错、模数转换时序错误等。脉冲噪声的重要特征是:只有部分像素被破坏,其余像素保持原始无噪声状态。在绝大多数图像处理任务中,图像去噪是边缘检测、图像分割、目标识别等后续操作的基础。去噪的目标是抑制噪声,同时尽可能保留图像细节。为此学界已经提出大量脉冲噪声去除算法。
中值滤波器是最经典的方法,计算效率高,能够有效压制噪声。但它会把窗口内全部像素替换为邻域中值,经常抹除图像细节,造成图像过度模糊。加权中值滤波、中心加权中值滤波通过给窗口内部分像素赋予更高权重做改进,相比基础中值滤波可以保留更多细节;但依然是对整幅图像做统一滤波,不会区分当前像素究竟是否已经被噪声污染。
后续研究者提出带噪声检测器的滤波算法:开关中值滤波、多状态中值滤波、自适应中心加权中值滤波、峰谷滤波器、信号依赖序均值滤波器、条件信号自适应中值滤波、逐像素 MAD 滤波、阈值布尔滤波、基于 Jarque‑Bera 检验的中值滤波、双输出非线性滤波、迭代中值滤波等。 这类算法先检测每个像素是否被噪声污染,仅修改判定为噪声的像素,避免无噪像素被失真。但它们的缺陷在于:修复噪声像素依旧依赖中值及其变种,即便噪声占比低于 30% 的轻度污染图像,也很难完好保留图像细节。
近些年也出现大量基于模糊理论的去噪算法。模糊系统适合处理 "既要去噪又要保细节" 带来的不确定性;但图像重度污染时,很难构建模糊规则库。于是很多研究引入神经‑模糊系统,利用神经网络从样本中学习规则,训练充分时可以兼顾去噪与细节保留。
还有一类保边缘正则化变分方法用于脉冲噪声去除。文献 25‑26 提出两阶段变分框架:第一阶段用自适应中值滤波或者自适应中心加权中值滤波筛选疑似噪声像素(噪声候选像素);第二阶段只对候选噪声像素做保边缘正则化复原,保护边缘和无噪像素。该框架记为 AM‑EPR、ACWM‑EPR。该方法可以修复大片被噪声覆盖的区域,依靠正则项引入图像先验信息;对椒盐脉冲噪声最高可处理 90% 噪声占比,对随机值脉冲噪声最高处理 50% 噪声占比。但整套算法性能上限完全取决于第一阶段噪声检测器的准确度。本文目标就是为这套两阶段框架设计更优秀的噪声检测器,专门针对随机值脉冲噪声。
Garnett 等人提出局部图像统计量 ROAD,用于识别脉冲噪声像素,并嵌入高斯噪声去除滤波器,得到三边滤波器,能够处理高斯 + 脉冲混合噪声,单独处理脉冲噪声效果也不错。但噪声占比很高时,三边滤波器会带来严重图像模糊。
本文新局部统计量 ROLD 就是在 ROAD 基础上改进:放大噪声像素与干净像素之间统计特征差距,提升噪声检测准确率。将 ROLD 作为两阶段算法第一阶段检测器,第二阶段沿用保边缘正则化,得到 ROLD‑EPR 算法。对比实验表明,ROLD‑EPR 在图像复原、噪声检测上优于现有多种算法;随机值脉冲噪声占比高达 60% 时,依然可以去除绝大多数噪声,同时保留图像细节。
本文结构安排:第 2 节定义新统计量 ROLD;第 3 节完整描述去噪算法;第 4 节给出仿真实验结果;第 5 节总结全文。
二、用于脉冲噪声检测的 ROLD 统计量
设原始图像像素,受噪声污染图像像素
。噪声模型:

p为噪声占比;图像灰度动态范围。 脉冲噪声分为两类:
- 椒盐噪声 :噪声像素
只能取最大或最小灰度,检测修复难度低;
- 随机值脉冲噪声 :
在灰度区间均匀随机取值,处理难度更大。
本文将图像归一化到(0,1),只研究随机值脉冲噪声。椒盐噪声已有峰谷滤波、自适应中值滤波等成熟检测器,最高可处理 90% 噪声比例。
2.1 ROAD 统计量回顾
记是以((0,0))为中心,大小
窗口的坐标集合;
是窗口去掉中心像素之后的邻域坐标。 定义邻域像素与中心像素灰度绝对差:
将全部从小到大排序,
代表第k小的差值。ROAD 统计量定义:
参数约束:。
举例:窗口(3*3)((N=1),(m=4),ROAD 就是中心像素和邻域中4 个最接近像素的灰度差之和。
原理:噪声像素灰度和周围邻域差异大,ROAD 数值大;无噪声像素哪怕位于图像边缘,至少部分邻域灰度接近,ROAD 数值小。设置阈值:ROAD 大于阈值判定为噪声像素,否则判定为干净像素。 文献建议:噪声占比 > 25%,使用5*5窗口,m=12;噪声占比≤25%,使用3*3)窗口,(m=4)。
2.2 ROLD 统计量定义
ROAD 存在缺陷:随机值脉冲噪声中,部分噪声像素灰度恰好和邻域接近,此时 ROAD 数值不会显著变大,无法区分噪声与干净像素。 改进思路:放大大的灰度差值,同时尽量不改变小差值;使用对数变换实现该目标。
对邻域灰度差做对数变换:
,输出落在
,做截断 + 线性映射,把数值映射回(0,1)区间:
a控制对数曲线形状,b控制截断位置。定义变换函数:
定理 1 :若
满足
,则对任意
,都有
。 证明利用对数换底公式,说明真正决定变换效果的是
,而不是(a,b)各自取值。
8 比特图像,灰度差小于 8 人眼几乎无法分辨,归一化后阈值(8/255),令差值小于该值时变换输出为 0。取(a=2,b=5),得到:
将全部从小到大排序,
为第k小的值,定义ROLD(Rank‑Ordered Logarithmic Difference,排序对数差分) :
噪声检测规则:设置阈值T,若,该像素判定为噪声像素;否则为无噪像素。
2.3 ROAD 与 ROLD 对比
文中使用 512×512 标准测试图:Lena(平滑区域多)、Bridge(大量精细细节)做对比实验。
图 1 说明:
- 子图 (a)(b):Lena 图;(c)(d):Bridge 图;第一行
窗口(m=4);第二行
窗口(m=12)。
- 上方虚线:噪声像素统计量均值;下方虚线:干净像素统计量均值;误差棒代表标准差。
- ROLD 统计量下,噪声像素与干净像素均值间距更大,误差棒重叠更少 ,两类样本区分度更高,噪声检测准确率更高。高噪声条件下,
窗口效果优于
窗口。
图 2 说明 :Lena 图像添加 50% 随机值脉冲噪声,5×5 窗口,阈值。
- (a) 检测率:正确识别噪声像素占全部噪声像素百分比;(b) 虚警率:干净像素被误判为噪声的百分比。
- 对比 ROAD,(b=5)的 ROLD 检测率高出约 6%,虚警率上升不超过 0.5%;不同b参数对比,(b=5)综合性能最优。
2.4 对数求和 vs 直接相乘
理论上,但不能直接把 ROLD 求和替换成差值相乘。 两个独立均匀分布
,乘积XY的概率密度
概率密度
。 乘积运算会让统计值大量聚集在 0 附近,噪声与干净像素难以区分;对数变换拉伸分布,扩大样本间差异,更容易区分噪声与无噪像素。
三、本文 ROLD‑EPR 算法
传统非线性滤波,检测到噪声后直接用中值及其变种修复,忽略边缘信息。文献 26 的 ACWM‑EPR 两阶段迭代算法:第一阶段 ACWM 筛选噪声候选像素;第二阶段只对候选噪声像素执行保边缘正则化复原。限制算法性能的瓶颈就是噪声检测器。
本文把检测器替换为 ROLD,得到ROLD‑EPR 两阶段迭代算法:迭代过程阈值逐步降低。迭代早期阈值大,只判定高置信度噪声;迭代轮次增加,阈值下降,逐步纳入更多疑似噪声。
ROLD‑EPR 算法流程
输入噪声图像y
- 初始化:迭代计数\(k=0\),初始复原图像
。
- 噪声检测 :计算每个像素
,标记
(噪声候选集合),否则标记为无噪像素。
- 噪声复原 :仅对
内像素,最小化下面泛函做复原;不在
中的像素保持原值不变:
其中
代表\((i,j)\)四邻域;
是保边缘势函数,本文选取
。
该目标函数不含数据拟合项:无噪声像素直接保留原始观测值,只依靠正则项约束噪声候选像素。使用 BB 梯度优化算法求解极小值,提升计算效率。
- 迭代终止:若
停止;否则(k=k+1),更新阈值
回到步骤 2。
参数设置:
- 窗口选择:噪声占比 > 25% 采用
窗口,(m=12);否则
窗口,(m=4)。
- 阈值:初始阈值
;迭代阈值
。
,s取值区间(1.7,2.1),实验取中点(s=1.9);
,s取值区间(4.9,5.9),实验取中点(s=5.4);
- 最大迭代次数:
,足够收敛。
图 6 验证参数s鲁棒性:在推荐区间改变s,复原后 PSNR 波动小于 0.5dB,算法对s不敏感。
效果对比:

