4. 噪声分类:高斯噪声、椒盐噪声、泊松噪声、均匀噪声的数学模型与视觉特征

噪声这东西,说白了就是图像里不该有的随机信号。我刚开始做图像处理那会儿,总觉得噪声就是噪声,分那么细干嘛?后来被现实狠狠教育了一顿——不同噪声的数学模型不一样,去噪手段也完全不同。你拿高斯滤波器去搞椒盐噪声,效果惨不忍睹。

这一节,咱们就把四种最常见的噪声掰开揉碎讲清楚。我会把数学模型和视觉特征对应起来,这样你以后看到一张带噪图,基本能一眼判断出是哪种噪声。

4.1 高斯噪声

这是最常见的一种噪声,没有之一。我参与过的项目中,十张有问题的图里至少六张是高斯噪声。

数学模型:

高斯噪声的概率密度函数服从正态分布:

P(x) = (1 / (σ * √(2π))) * exp(-(x - μ)² / (2σ²))

其中 μ 是均值,σ 是标准差。实际图像中,μ 通常为 0,σ 决定了噪声的强度。

视觉特征:

  • 整张图像所有像素点都受到干扰,没有明显的孤立噪点
  • 看起来像图像上蒙了一层细沙或雪花
  • 亮度变化是连续的、平滑的
  • σ 越大,图像越模糊,细节丢失越严重
我的经验:高斯噪声主要来自传感器热噪声和电路噪声。我记得有一次做安防摄像头项目,晚上画面全是高斯噪声,后来发现是 CMOS 传感器温度太高。物理降温比算法去噪管用多了。

4.2 椒盐噪声

这个名字很形象——就像你在图像上撒了一把盐和胡椒。视觉上就是随机出现的纯白和纯黑像素点。

数学模型:

椒盐噪声的分布是离散的:

P(x) = 
  p_s,  x = 0 (黑点,盐)
  p_p,  x = 255 (白点,胡椒)
  1 - p_s - p_p,  x = 原像素值

p_s 和 p_p 分别表示黑点和白点出现的概率。通常 p_s = p_p,总噪声密度用 d = p_s + p_p 表示。

视觉特征:

  • 图像上随机分布着纯黑和纯白的点
  • 噪点之间没有关联,是孤立的
  • 背景区域噪点更明显(想想看,白色区域上的黑点特别扎眼)
  • 噪声密度 d 超过 0.5 时,图像基本没法看了
避坑指南:我曾经犯过一个错误——用均值滤波去椒盐噪声。结果噪点没去掉,反而把整个图像搞糊了。椒盐噪声的正确处理方式是中值滤波,这个后面会详细讲。

4.3 泊松噪声

这个稍微冷门一点,但在低光照条件下特别常见。泊松噪声跟光子计数有关,说白了就是光信号本身的量子特性导致的。

数学模型:

泊松噪声的分布:

P(k) = (λ^k * e^(-λ)) / k!

其中 λ 是期望值,也是方差。这里有个关键特性:噪声的方差等于信号强度。信号越强,噪声越大;信号越弱,噪声越小。

视觉特征:

  • 噪声强度随像素亮度变化——亮区噪声大,暗区噪声小
  • 低光照区域看起来有颗粒感,但不是均匀的
  • 不像高斯噪声那样均匀分布在整个图像上
  • 在医学成像(如 PET、CT)中特别常见

关键区别:高斯噪声的方差是常数,泊松噪声的方差随信号变化。这个特性决定了去噪策略完全不同。我个人习惯先判断噪声类型,再选算法。

4.4 均匀噪声

均匀噪声在教科书里经常出现,但实际项目中反而少见。不过它的数学特性很干净,适合做理论分析。

数学模型:

均匀噪声的概率密度函数:

P(x) = 
  1 / (b - a),  a ≤ x ≤ b
  0,  其他

a 和 b 是噪声幅度的上下界。均值是 (a + b)/2,方差是 (b - a)²/12。

视觉特征:

  • 噪声幅度在某个范围内均匀分布
  • 看起来像电视没信号时的雪花屏,但更均匀
  • 没有明显的亮暗偏好
  • 量化噪声(模数转换产生的)就属于均匀噪声

4.5 四种噪声对比总结

噪声类型 分布特性 视觉特征 常见来源 我推荐的处理方式
高斯噪声 正态分布,方差恒定 细沙状,均匀覆盖 传感器热噪声 高斯滤波、BM3D
椒盐噪声 离散分布,黑白点 孤立黑白点 传输错误、存储损坏 中值滤波
泊松噪声 泊松分布,方差=均值 亮区噪点多,暗区少 低光照成像、医学影像 方差稳定变换+高斯滤波
均匀噪声 均匀分布,幅度固定 均匀雪花 量化误差 均值滤波

一个小技巧:判断噪声类型最快的方法是看直方图。高斯噪声的直方图是钟形曲线,椒盐噪声会在 0 和 255 处出现两个尖峰,泊松噪声的直方图会随亮度偏移,均匀噪声的直方图是平的。嗯,这个方法我用了十年,基本没失手过。

最后说一句,实际图像中的噪声往往是混合的。比如手机夜景照片,既有传感器的高斯噪声,又有低光照下的泊松噪声,还可能因为压缩传输引入椒盐噪声。这时候就需要组合策略了。不过别急,后面几章我会逐一拆解每种噪声的去除方法。