3. 传感器与噪声:CMOS传感器原理、暗电流与热噪声、读出噪声与光子散粒噪声
做安防ISP这些年,我接触过各种各样的传感器。说实话,CMOS传感器就像相机的“视网膜”,它好不好直接决定了图像质量的底线。很多朋友问我:“为什么同样的场景,有的摄像头晚上噪点少,有的就糊成一片?”答案就在传感器本身和它产生的噪声里。
今天咱们就聊聊CMOS传感器的工作原理,以及那些让人头疼的噪声——暗电流、热噪声、读出噪声、光子散粒噪声。搞懂了这些,你才算真正入了低照度增强的门。
3.1 CMOS传感器工作原理
CMOS传感器,全称是互补金属氧化物半导体图像传感器。它的核心结构是一个像素阵列,每个像素包含一个光电二极管和一个读出电路。
工作原理其实不复杂:
- 光电转换:光子打到光电二极管上,产生电子-空穴对。光越强,电子越多。
- 电荷积累:电子在像素的势阱里积累,形成电荷包。
- 电荷读出:通过行选、列选电路,逐行逐列把电荷转换成电压信号。
- 模数转换:电压信号经过ADC变成数字值,就是我们看到的像素灰度。
我个人习惯把CMOS传感器想象成一个“电子水桶阵列”。每个像素就是一个水桶,光子就是雨滴。雨下得大,水桶接的水就多。但问题来了——水桶本身也会漏水、会蒸发,这就是噪声的来源。
关键点:CMOS传感器的核心指标包括量子效率(QE)、满阱容量(FWC)、暗电流、读出噪声等。低照度场景下,这些指标直接决定了图像的信噪比。
3.2 暗电流与热噪声
暗电流,说白了就是没有光照时像素产生的“假信号”。为什么会这样?因为半导体材料中的电子在热激发下会跃迁到导带,形成电流。
我在项目中遇到过一款传感器,暗电流在60°C环境下比25°C时大了将近10倍。夏天户外监控,机壳温度轻松到50-60°C,暗电流就成了大问题。
暗电流的主要来源:
- 耗尽区热产生:硅材料中缺陷能级辅助的热激发
- 表面态产生:硅-二氧化硅界面处的缺陷
- 扩散电流:中性区少数载流子扩散到耗尽区
热噪声和暗电流是“孪生兄弟”。热噪声是电阻元件中载流子随机热运动产生的,它的功率谱密度是平坦的——也就是白噪声。温度每升高10°C,暗电流大约翻一倍。这个规律我验证过很多次,基本靠谱。
实战技巧:做低照度ISP时,我建议先做暗电流校正。方法很简单——盖上镜头盖拍一张全黑图,然后把这个“暗场”从正常图像中减掉。但注意,暗电流随温度变化,最好实时更新校正参数。
3.3 读出噪声
读出噪声,是传感器把电荷转换成电压、再经过模拟前端处理时引入的噪声。它和信号大小无关,是固定噪声基底。
读出噪声的主要成分:
- 复位噪声(KTC噪声):像素复位时,复位管沟道电阻的热噪声被采样到像素电容上。公式是 √(kT/C),k是玻尔兹曼常数,T是温度,C是像素电容。
- 源跟随器噪声:像素内的源跟随器晶体管贡献的1/f噪声和热噪声。
- 列放大器噪声:列并行ADC或放大器引入的噪声。
- 量化噪声:ADC量化过程中产生的噪声,理想情况下是LSB/√12。
我曾经调试过一款传感器,读出噪声高达12个电子。在低照度下,信号可能只有几十个电子,信噪比惨不忍睹。后来换了低噪声设计,读出噪声降到了3个电子,效果立竿见影。
避坑指南:我曾经以为读出噪声是固定的,做降噪时直接减一个固定值。结果发现不同增益下读出噪声不一样——高增益时读出噪声会被放大。正确的做法是测量不同增益下的读出噪声曲线,做分段校正。
3.4 光子散粒噪声
光子散粒噪声,这是“天注定”的噪声。光子的到达是随机的,服从泊松分布。也就是说,即使光照完全均匀,每个像素接收到的光子数也会有波动。
散粒噪声的特性:
- 噪声大小等于信号电子数的平方根:σ_shot = √(N_e)
- 信噪比 SNR = N_e / √(N_e) = √(N_e)
- 信号越强,散粒噪声越大,但信噪比也越高
举个例子:如果信号是100个电子,散粒噪声就是10个电子,信噪比10。如果信号是10000个电子,散粒噪声是100个电子,信噪比100。所以低照度下散粒噪声是主要限制因素。
你想想看,散粒噪声能不能通过算法消除?答案是——不能。因为它是物理本质决定的。我们能做的只有:
- 增加进光量(更大光圈、更慢快门)
- 提高量子效率(更好的传感器)
- 多帧叠加(时间换信噪比)
核心认知:散粒噪声是“好噪声”——它和信号同源,无法消除。读出噪声和暗电流是“坏噪声”——可以通过电路设计和算法校正来抑制。做ISP时,优先干掉“坏噪声”,再想办法应对“好噪声”。
3.5 噪声模型与知识体系
下面这张图是我自己总结的CMOS传感器噪声模型,涵盖了从光子入射到数字输出的完整链路:
从这张图可以清楚看到,噪声是在每个环节叠加的。总噪声是各噪声分量的均方根和。低照度下,散粒噪声和读出噪声是主要矛盾;高温环境下,暗电流会变成主导。
3.6 实战中的噪声处理策略
做安防ISP这么多年,我总结了一套噪声处理的优先级:
| 优先级 | 噪声类型 | 处理方法 | 效果 |
|---|---|---|---|
| 1 | 暗电流 | 暗场校正、温度补偿 | 消除固定模式噪声 |
| 2 | 读出噪声 | 低噪声电路设计、相关双采样(CDS) | 降低噪声基底 |
| 3 | 光子散粒噪声 | 多帧叠加、双边滤波、BM3D | 提升信噪比 |
| 4 | 热噪声 | 散热设计、帧率控制 | 抑制高温噪声 |
我的经验:做低照度增强时,先做暗电流校正,再做去噪。去噪算法要区分平坦区域和纹理区域——平坦区域用强去噪,纹理区域用弱去噪。我常用的方法是先做边缘检测,然后自适应调整去噪强度。
嗯,传感器噪声这部分内容就到这里。搞懂了这些底层原理,你再看ISP的降噪模块、3DNR算法,就会明白它们到底在解决什么问题。下一节咱们聊聊模拟增益和数字增益的区别,以及怎么在低照度下合理分配增益。
公众号:蓝海资料掘金营,微信deep3321