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 长曝光下的影响
长曝光时,暗电流的影响会放大。我总结了几点:
- 暗电流累积:暗电流随时间线性增加。曝光时间越长,暗电流信号越大,最终可能饱和。
- DSNU放大:暗电流的像素间差异也随时间线性增加,导致固定噪声更明显。
- 热像素:个别缺陷严重的像素,暗电流异常高,形成热像素(hot pixel)。长曝光下热像素会变成白点。
- 动态范围压缩:暗电流占用了势阱容量,减少了可用动态范围。
长曝光下的暗电流影响,可以用这个公式估算:
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的校正方法,是做好图像质量调优的基础。我建议你在做ISP调优时,先把暗电流特性摸清楚,再去做其他参数的优化。顺序搞反了,后面会越调越乱。