3、暗电流噪声(Dark Current):温度依赖性(Arrhenius方程),暗电流非均匀性(DSNU),长曝光下的影响

暗电流,说白了就是传感器在没光的时候自己产生的电荷。你想想看,一个像素明明没接收到光子,却冒出了电子信号,这肯定不是什么好事。我刚开始接触图像传感器时,总觉得暗电流是个小问题,直到有一次做长曝光项目,画面里全是白点,才意识到这东西有多麻烦。

暗电流的本质是热激发。硅晶格里的电子在温度作用下获得能量,从价带跃迁到导带,形成电子-空穴对。这些电子被像素的势阱收集,就成了暗电流。温度越高,热激发越强,暗电流就越大。这个关系,可以用Arrhenius方程来描述。

3.1 温度依赖性:Arrhenius方程

Arrhenius方程是描述化学反应速率与温度关系的经典公式。在暗电流这里,它长这样:

I_dark = A * exp(-Ea / (k * T))

其中:

  • I_dark:暗电流密度(e-/pixel/s)
  • A:前置因子(与工艺相关)
  • Ea:激活能(eV,硅中通常0.55~0.65 eV)
  • k:玻尔兹曼常数(8.617×10⁻⁵ eV/K)
  • T:温度(K)

这个公式告诉我们一个关键规律:温度每升高6~8°C,暗电流大约翻一倍。我在项目中验证过这个规律,基本准确。

经验数据:典型CMOS传感器在室温(25°C)下,暗电流约为10~50 e-/pixel/s。到了60°C,这个值会飙升到200~1000 e-/pixel/s。长曝光时,这些暗电流会累积成明显的噪声。

为什么激活能Ea这么重要?它反映了暗电流产生的物理机制。表面暗电流的Ea约0.55 eV,体暗电流约0.65 eV。通过测量不同温度下的暗电流,拟合Arrhenius曲线,可以反推Ea,从而判断暗电流的主要来源。我做过一次这样的分析,发现某款传感器的暗电流主要来自表面缺陷,后来通过优化钝化层工艺,把暗电流降了40%。

3.2 暗电流非均匀性(DSNU)

暗电流非均匀性,英文叫Dark Signal Non-Uniformity,简称DSNU。它描述的是:同样温度、同样曝光时间下,不同像素的暗电流不一样。

为什么会这样?因为每个像素的缺陷密度、掺杂浓度、暗电流产生速率都有微小差异。这些差异在暗场下表现为固定的空间噪声模式。DSNU的数学定义是:

DSNU = σ_dark / μ_dark

其中σ_dark是暗场信号的标准差,μ_dark是均值。DSNU通常用百分比表示,好的传感器DSNU可以做到1%以下。

DSNU和PRNU(光响应非均匀性)的区别,我整理了一个表格:

特性 DSNU(暗电流非均匀性) PRNU(光响应非均匀性)
产生条件 无光(暗场) 有光(亮场)
物理根源 暗电流产生速率差异 光电转换效率差异
温度依赖性 强(随温度升高而增大) 弱
曝光时间依赖性 线性增加 与信号水平相关
校正方法 暗帧减法 平场校正

DSNU在长曝光下特别明显。你想想看,如果曝光10秒,暗电流均值100 e-,DSNU 2%,那么暗电流的波动就是2 e-。但如果曝光100秒,均值变成1000 e-,波动变成20 e-。这个波动会直接叠加到图像上,形成固定的条纹或斑点。

避坑指南:我曾经在一个天文摄影项目中,忽略了DSNU的影响。结果拍出来的星轨照片,暗部区域有明显的固定噪声。后来我做了暗帧减法,才把问题解决。记住:暗帧减法是校正DSNU最直接有效的方法,但要注意暗帧的温度和曝光时间必须与拍摄帧一致。

3.3 长曝光下的影响

长曝光时,暗电流的影响会放大。我总结了几点:

  1. 暗电流累积:暗电流随时间线性增加。曝光时间越长,暗电流信号越大,最终可能饱和。
  2. DSNU放大:暗电流的像素间差异也随时间线性增加,导致固定噪声更明显。
  3. 热像素:个别缺陷严重的像素,暗电流异常高,形成热像素(hot pixel)。长曝光下热像素会变成白点。
  4. 动态范围压缩:暗电流占用了势阱容量,减少了可用动态范围。

长曝光下的暗电流影响,可以用这个公式估算:

N_dark = I_dark * t_exp
σ_dark = sqrt(N_dark + (DSNU * N_dark)²)

其中N_dark是暗电流累积的电子数,σ_dark是总暗电流噪声(包括散粒噪声和DSNU)。

举个例子:假设I_dark=20 e-/s,t_exp=30秒,DSNU=2%。那么:

  • N_dark = 20 × 30 = 600 e-
  • 散粒噪声 = sqrt(600) ≈ 24.5 e-
  • DSNU分量 = 0.02 × 600 = 12 e-
  • 总噪声 = sqrt(24.5² + 12²) ≈ 27.3 e-

这个噪声水平,在暗部区域会非常明显。

注意:长曝光时,暗电流校正不能只做简单的减法。因为DSNU的存在,每个像素的暗电流不同。我建议的做法是:采集多帧暗场,取平均后生成暗帧模板,再逐像素减去。如果温度变化大,还需要做温度补偿。

3.4 暗电流的抑制与校正

暗电流的抑制,可以从工艺和算法两个层面入手:

工艺层面:

  • 降低温度:使用TEC制冷或主动散热。每降低10°C,暗电流减少约一半。
  • 优化工艺:减少缺陷密度,优化掺杂分布,提高暗电流激活能。
  • 使用钉扎光电二极管:PPD结构可以有效抑制表面暗电流。

算法层面:

  • 暗帧减法:最基础的方法,适用于固定温度场景。
  • 温度补偿暗帧:建立暗电流-温度模型,根据实时温度动态生成暗帧。
  • 热像素校正:检测并替换热像素,通常用邻域插值。

我个人习惯在ISP pipeline中,把暗电流校正放在最前面。因为暗电流是加性噪声,先减掉它,后面的增益、白平衡等操作才不会放大它。

下面这张图展示了暗电流噪声的核心知识结构:

暗电流噪声知识结构图 暗电流噪声知识结构 暗电流噪声 温度依赖性 Arrhenius方程 暗电流非均匀性 DSNU 长曝光影响 累积与放大 激活能Ea 温度翻倍规律 固定噪声模式 暗帧减法校正 热像素 动态范围压缩 核心思路:抑制源头 + 算法校正 工艺降低暗电流 + 暗帧减法消除DSNU

总结一下:暗电流噪声是长曝光和高温场景下的主要噪声源。理解Arrhenius方程的温度依赖性,掌握DSNU的校正方法,是做好图像质量调优的基础。我建议你在做ISP调优时,先把暗电流特性摸清楚,再去做其他参数的优化。顺序搞反了,后面会越调越乱。