1. 噪声模型概述:图像传感器噪声来源与ISP Pipeline中的位置

各位好,我是老周。做图像传感器这行十几年了,今天咱们聊聊噪声模型。说白了,噪声就是图像里那些不该出现的东西——暗处的颗粒、亮区的闪烁、固定位置的条纹。你想想看,一个完美的传感器应该只响应光子,但现实世界哪有那么理想?

我刚开始接触这行时,总觉得噪声就是“噪点”,后来才发现,噪声的种类远比想象中复杂。每个噪声源都有自己的脾气,处理方式也完全不同。

1.1 噪声来源分类

图像传感器的噪声,按来源可以分为两大类:时间随机噪声和空间固定噪声。时间随机噪声每帧都不一样,空间固定噪声则像烙印一样贴在传感器上。

下面这张图,是我自己总结的噪声分类体系,你一看就明白:

图像传感器噪声分类体系 图像传感器噪声 时间随机噪声 空间固定噪声 (FPN) 光子散粒噪声 暗电流噪声 读出噪声 1/f 噪声 列固定模式噪声 像素固定模式噪声 说明: • 时间随机噪声:每帧独立变化,无法通过帧差消除 • 空间固定噪声:位置固定,可通过暗帧校准消除 • 光子散粒噪声是唯一与信号相关的噪声,服从泊松分布

1.2 五种核心噪声详解

咱们一个一个说。每种噪声我都结合项目经验来讲,这样你理解得更深。

1.2.1 光子散粒噪声 (Photon Shot Noise)

这是最根本的噪声。光子的到达是随机的,就像雨滴落在屋顶上——你永远无法精确预测下一秒有多少光子打到像素上。这种随机性就是散粒噪声。

关键特性:

  • 服从泊松分布,方差等于均值
  • 与信号强度相关——信号越强,噪声越大
  • 信噪比 SNR = √(信号电子数),所以信号越强SNR越高

我个人的经验: 有一次做低光照相机调优,团队一直纠结于读出噪声太大。后来我仔细一算,发现散粒噪声才是主导。你想想看,在1个电子信号时,散粒噪声就是1个电子,信噪比只有1。这时候再怎么压读出噪声也没用。所以低光照下,核心是增加进光量,而不是死磕读出噪声。

1.2.2 暗电流噪声 (Dark Current Noise)

即使没有光,像素也会产生电子——这就是暗电流。温度越高,暗电流越大。我记得有个项目在夏天做户外监控相机,暗电流比实验室数据大了三倍多。

关键特性:

  • 温度每升高6-8°C,暗电流翻倍
  • 暗电流本身是固定模式,但其涨落是散粒噪声
  • 长曝光时影响尤其严重

避坑指南: 我曾经在手机摄像头项目中,忽略了暗电流随温度的变化。结果手机拍夜景时,长曝光照片出现了明显的亮度不均匀。后来加了温度补偿校准,才解决问题。记住:暗电流校准不能只做一次,要随温度动态更新。

1.2.3 读出噪声 (Read Noise)

读出噪声是像素电荷转换成电压、再经过模拟前端放大、ADC量化过程中引入的噪声。它和信号无关,是传感器底噪的主要来源。

关键特性:

  • 与信号强度无关,是固定底噪
  • 单位:电子数 (e- rms)
  • 现代CMOS传感器读出噪声可做到1-3 e- rms
传感器代际 典型读出噪声 适用场景
早期CCD 10-20 e- rms 高光照工业相机
主流CMOS 3-8 e- rms 手机、安防相机
高端科学CMOS 1-2 e- rms 天文、显微成像

1.2.4 1/f 噪声 (Flicker Noise)

1/f噪声,也叫闪烁噪声。它的功率谱密度与频率成反比——频率越低,噪声越大。在图像传感器中,主要影响像素源跟随器和模拟读出电路。

嗯,这里要注意:1/f噪声在视频模式下更明显,因为低频成分会表现为帧间的缓慢漂移。我做过一个高速相机项目,帧率1000fps时1/f噪声几乎看不见,但降到30fps时,低频漂移就出来了。

1.2.5 固定模式噪声 (Fixed Pattern Noise, FPN)

FPN是空间噪声,每帧都一样。它分为两种:

  • 像素FPN: 每个像素的暗电流和增益不一致
  • 列FPN: 列放大器的不匹配,表现为竖条纹

小技巧: 判断FPN的方法很简单——拍一张全黑图,然后连续拍两张做差。差图里剩下的就是时间随机噪声,原图里固定不变的就是FPN。我经常用这个方法快速定位噪声来源。

1.3 噪声模型在ISP Pipeline中的位置

噪声模型不是孤立存在的。在ISP Pipeline中,噪声处理通常放在最前面。为什么?因为后面的处理(去马赛克、锐化、色彩校正)都会放大噪声,所以必须在源头就把噪声控制好。

下面这张图展示了典型的ISP Pipeline中噪声处理的位置:

ISP Pipeline 中的噪声处理位置 传感器原始数据 黑电平校准 噪声滤波 去马赛克 后续处理 噪声模型在ISP中的关键作用: 1. 黑电平校准:去除暗电流偏置,校正FPN 2. 噪声滤波:根据噪声模型自适应降噪,保留细节 3. 后续处理依赖:去马赛克、锐化都会放大噪声,需要前置噪声模型指导参数选择

1.4 为什么噪声模型如此重要?

我直接说结论:没有准确的噪声模型,ISP调优就是盲人摸象。

举个例子。你做一个降噪算法,如果不知道当前场景下散粒噪声和读出噪声的比例,降噪强度就很难设。设小了,噪声去不干净;设大了,细节全没了。有了噪声模型,你就可以根据信号强度动态调整降噪参数——信号弱的地方多降噪,信号强的地方少降噪。

核心观点: 噪声模型是ISP Pipeline的“眼睛”。它告诉你每个像素的信噪比是多少,哪些区域需要特殊处理。我参与过的所有成功项目,都有一个共同点——噪声模型建得准。

1.5 本章小结

咱们这一章把噪声的底子打好了。五种噪声各有各的脾气:

  • 光子散粒噪声: 信号越强越明显,但信噪比也越高
  • 暗电流噪声: 温度敏感,长曝光大敌
  • 读出噪声: 传感器底噪,低光照下的瓶颈
  • 1/f噪声: 低频漂移,视频模式下要小心
  • 固定模式噪声: 位置固定,校准可消除

记住一句话:噪声模型不是理论游戏,它是ISP调优的基石。 后面每一章,我们都会回到这个基础上,一步步把图像质量做到极致。