3、噪声模型:光子散粒噪声、读出噪声与固定模式噪声

做图像传感器这行,天天跟噪声打交道。说白了,噪声就是图像里那些不该有的随机波动。你想想看,一个完美的传感器应该输出纯净的信号,但现实世界哪有那么理想?

我个人习惯把传感器噪声分成三类:光子散粒噪声、读出噪声、固定模式噪声。这三兄弟各有各的脾气,处理方式也完全不同。今天咱们就一个一个把它们扒清楚。

3.1 光子散粒噪声——躲不掉的物理宿命

光子散粒噪声,这是最根本的噪声。它来自光本身的量子特性——光子到达传感器的时间是随机的。

我记得刚入行时,有个老工程师跟我说:「散粒噪声是上帝定的,你改不了。」当时我不信,后来做了几年项目才明白,这话真没错。

核心公式:

散粒噪声的标准差 = √(信号电子数)

信噪比 SNR = 信号电子数 / √(信号电子数) = √(信号电子数)

什么意思呢?假设一个像素收集了 10,000 个电子,那散粒噪声的标准差就是 100 个电子。信噪比是 100:1,也就是 40dB。

这里有个关键点:散粒噪声是信号依赖的。信号越强,噪声值越大,但信噪比也在提高。暗区信号弱,信噪比就低,所以暗部噪点最明显。

信号电子数 散粒噪声标准差 信噪比 (dB)
100 10 20
1,000 31.6 30
10,000 100 40
100,000 316 50

我在项目中遇到过一件事:某款手机传感器在暗光下噪点严重,团队一开始怀疑是读出噪声太大。后来我算了一笔账,发现散粒噪声才是主因。换了个大像素的方案,问题就解决了。嗯,物理规律你得尊重它。

实战技巧:

多帧融合时,散粒噪声的方差是可加的。如果你融合 N 帧,散粒噪声的标准差会降低到原来的 1/√N。这就是为什么夜景模式要拍多张照片。

3.2 读出噪声——电路里的「杂音」

读出噪声,是传感器把电荷转换成电压、再转换成数字信号的过程中引入的。它跟信号大小没关系,是个固定底噪。

你想想看,电荷从像素转移到列放大器,再经过 ADC 量化,每一步都会引入噪声。这些噪声源包括:

  • 复位噪声 (kTC noise):复位晶体管关断时,沟道电荷随机分配产生的噪声
  • 1/f 噪声:晶体管界面态引起的低频噪声
  • ADC 量化噪声:模数转换时的量化误差
  • 列放大器噪声:模拟电路的热噪声和闪烁噪声

读出噪声的单位通常是电子数 (e- rms)。高端工业相机的读出噪声能做到 1-2 e- rms,而手机传感器一般在 3-10 e- rms 之间。

注意:

读出噪声在低照度下是主要限制因素。当信号电子数小于读出噪声时,图像会被噪声淹没。这就是为什么暗光拍摄需要长曝光或多帧融合——先把信号提上来,让散粒噪声成为主导。

我曾经调试过一款传感器,读出噪声指标标称 3 e- rms,但实测到了 8 e- rms。查了半天,发现是 PCB 布局问题——模拟电源和数字电源没分开,数字开关噪声串进来了。改了一版 layout,噪声就降回去了。所以啊,电路设计也很关键。

3.3 固定模式噪声——每颗像素都有自己的「性格」

固定模式噪声 (FPN),说白了就是不同像素对同一光照的响应不一致。它不像散粒噪声那样随机,而是固定的——你拍 100 张暗场,每颗像素的偏置都一样。

FPN 分两种:

  • 像素级 FPN (DSNU):暗场下各像素输出不一致,由像素本身的暗电流差异引起
  • 列级 FPN:同一列像素共享的列放大器偏移不同,表现为竖条纹

FPN 的可怕之处在于,人眼对固定图案特别敏感。随机噪声看着像「噪点」,还能忍;但 FPN 看着像「条纹」或「网格」,一眼就能看出来。

FPN 校正方法:

  1. 暗场校正:拍一张暗场图像,记录每颗像素的偏置,后续图像减去这个偏置
  2. 双采样 (CDS):在像素复位后和曝光后各读一次,相减消除复位噪声和像素偏置
  3. 列校正:对每列像素的增益和偏置做独立校准

我记得有一次做安防相机,客户投诉画面有竖条纹。我一看就知道是列级 FPN。但奇怪的是,暗场校正已经做了啊。后来发现是温度变化导致列放大器偏移漂移了。解决方案是加了一个温度传感器,根据温度查表更新校正参数。嗯,工程问题往往比理论复杂。

3.4 三种噪声的关系与对比

这三种噪声在图像中同时存在,但主导地位随光照变化:

  • 极暗光:读出噪声 + FPN 主导
  • 中等光照:散粒噪声主导
  • 强光照:散粒噪声仍然主导,但信噪比已经很高了

多帧融合策略必须考虑这个特性。举个例子,暗光下读出噪声是主要矛盾,那融合时就要用均值或中值滤波来压制它。而亮光下散粒噪声是主要矛盾,融合时更关注如何保持细节。

图像传感器三大噪声模型 光子散粒噪声 √(信号电子数) 读出噪声 kTC + 1/f + ADC 固定模式噪声 DSNU + 列FPN 三大噪声特性对比 信号依赖 是 信号依赖 否 (固定底噪) 信号依赖 否 (固定图案) 时间特性 随机 (帧间变化) 时间特性 随机 (帧间变化) 时间特性 固定 (帧间不变) 主导场景 中高光照 主导场景 极暗光 主导场景 所有光照 (需校正) 多帧融合策略需根据主导噪声类型选择:散粒噪声→均值融合;读出噪声→中值融合;FPN→先校正再融合

3.5 噪声模型对多帧融合的指导意义

理解了这三种噪声,你就能明白为什么多帧融合不是简单的「拍多张取平均」。不同噪声需要不同的处理策略:

噪声类型 融合策略 原理
光子散粒噪声 均值融合 方差可加,N帧融合后标准差降为 1/√N
读出噪声 中值融合 中值对异常值鲁棒,能有效抑制脉冲噪声
固定模式噪声 先校正再融合 FPN 是固定的,融合前必须用暗场或 CDS 去除

我的经验:

实际项目中,我通常先做 FPN 校正,再做多帧融合。FPN 不除掉,融合再多帧也没用——固定图案会一直留在图像里。校正完 FPN 后,再根据光照条件选择均值或中值融合。暗光下优先用中值,亮光下用均值就够了。

好了,噪声模型这部分就讲到这里。记住一句话:噪声不可怕,可怕的是你不了解它。搞清楚了每种噪声的脾气,你就能对症下药,设计出靠谱的多帧融合算法。