2、传感器物理原理:CMOS与CCD传感器、量子效率与暗电流、噪声模型
做低光照采集,绕不开传感器。说白了,传感器就是相机的「视网膜」。我这些年折腾过不少夜视方案,从工业CCD到手机CMOS,踩过的坑能写本书。今天咱们就聊聊传感器那点物理底子——搞懂这些,你才知道为什么有些相机晚上拍得清楚,有些全是噪点。
2.1 CMOS与CCD:两种主流传感器架构
先说说CCD和CMOS的区别。这俩东西原理上都是把光转成电信号,但实现方式完全不同。
CCD(电荷耦合器件):每个像素收集到的电荷,像接力棒一样逐行传递到输出端。我早年做天文相机项目时用的就是CCD,那会儿CCD的暗电流控制得真好,长曝光半小时画面依然干净。但缺点也明显——功耗大、帧率低,而且一旦某个像素坏了,整行信号都受影响。
CMOS(互补金属氧化物半导体):每个像素自带放大器,直接读出电压信号。你想想看,这就像每个像素都有个「小秘书」帮忙处理数据,所以速度特别快。现在手机、监控摄像头清一色CMOS,不是没道理的。
我个人的经验是:做低光照静态拍摄(比如天文、显微),CCD仍有优势;但涉及视频或实时采集,CMOS是唯一选择。不过近几年背照式CMOS(BSI-CMOS)发展很快,量子效率已经能跟CCD掰手腕了。
核心差异速览:
- CCD:全局快门、低噪声、高填充因子、功耗大
- CMOS:卷帘快门为主、集成度高、速度快、功耗低
- 低光照场景:CCD暗电流更优,但BSI-CMOS正在追赶
2.2 量子效率:传感器对光的「敏感度」
量子效率(QE),说白了就是光子转化成电子的效率。一个光子打进来,能产生多少个电子?理想情况是1:1,但现实总打折扣。
我记得做红外增强项目时,选了一款QE标称85%的传感器,结果实测在近红外波段只有40%。为什么?因为传感器对不同波长的光响应不一样。硅基传感器在500-600nm(绿光)附近QE最高,到了红光和近红外就直线下降。
这里有个坑:低光照环境下,千万别只看峰值QE。你得关注目标波段(比如近红外850nm)的实际QE值。我曾经吃过这个亏——选了峰值QE 90%的传感器,结果在850nm只有20%,补光灯功率翻倍都救不回来。
避坑指南:
选传感器时,一定要看QE曲线图,而不是只看峰值。低光照场景下,近红外波段的QE往往比可见光波段更重要。我一般要求850nm处QE不低于30%,否则补光成本太高。
2.3 暗电流:没有光也有信号?
暗电流,就是传感器在完全无光条件下产生的电子。这玩意儿是热噪声的源头之一。温度每升高6-8°C,暗电流翻一倍。你想想看,夏天户外40°C,传感器内部可能60°C,暗电流能比实验室环境高十几倍。
我做过一个对比实验:同一款CMOS,25°C时暗电流约0.5 e-/s,到了55°C飙到8 e-/s。长曝光1秒,暗电流贡献的噪声就比读出噪声还大了。所以低光照采集,散热不是可选项,是必选项。
暗电流的补偿方法有两种:
- 硬件暗场校正:盖上镜头盖拍一张全黑帧,然后从正常图像中减去。我习惯在每次采集前都拍一张暗场,尤其是环境温度变化大的场景。
- 软件建模:根据温度传感器数据,用多项式拟合暗电流。这个方法省事,但精度不如硬件校正。
注意:
暗电流不是均匀的!每个像素的暗电流都有差异,这叫「固定模式噪声」(FPN)。减暗场只能消除均值,像素间的差异需要用「暗场帧平均」来降低。我一般拍10-20张暗场取平均,效果比单张好得多。
2.4 噪声模型:低光照的三大「杀手」
低光照环境下,信号本来就弱,噪声稍微大一点,信噪比就崩了。咱们重点说三种噪声:散粒噪声、读出噪声、热噪声。
2.4.1 散粒噪声:光子的「随机性」
散粒噪声是物理极限,没法消除。光子的到达是随机的,服从泊松分布。信号越弱,散粒噪声的相对影响越大。举个例子:
- 信号1000个电子,散粒噪声√1000 ≈ 32个,信噪比约31
- 信号10个电子,散粒噪声√10 ≈ 3.2个,信噪比约3.1
你看,信号降到10个电子时,信噪比只有3.1,基本看不清东西了。这就是为什么低光照下图像「颗粒感」特别明显——散粒噪声在作祟。
2.4.2 读出噪声:电路「不干净」
读出噪声是传感器读出电路引入的,跟信号强度无关。CMOS的读出噪声通常比CCD高,因为每个像素都有放大器,电路更复杂。
我测试过一款工业CMOS,读出噪声约3 e-(均方根)。这意味着即使信号为0,你也能看到约3个电子的底噪。对于低光照场景,读出噪声决定了你能采集到的最弱信号。
经验公式:当信号强度低于读出噪声的3倍时,图像基本不可用。所以低光照下,读出噪声比散粒噪声更致命。
2.4.3 热噪声:温度是敌人
热噪声就是暗电流的随机波动部分。前面说了暗电流的均值可以校正,但它的随机波动(即热噪声)没法消除。热噪声的方差等于暗电流的均值(也是泊松过程)。
我做过一个测试:
| 温度 | 暗电流均值 (e-/s) | 热噪声 (e- rms) | 长曝光1秒总噪声 |
|---|---|---|---|
| 25°C | 0.5 | 0.7 | 3.1 (读出噪声主导) |
| 45°C | 3.2 | 1.8 | 3.8 |
| 60°C | 12.5 | 3.5 | 5.3 (热噪声主导) |
你看,温度一高,热噪声直接盖过读出噪声。所以低光照长曝光,制冷是王道。我一般用TEC制冷片把传感器温度控制在10°C以下,暗电流能降到0.1 e-/s以下。
噪声模型总结:
- 散粒噪声:跟信号强度平方根成正比,物理极限
- 读出噪声:固定底噪,CMOS比CCD高
- 热噪声:跟温度和曝光时间相关,制冷可缓解
低光照下,噪声优先级:热噪声 > 读出噪声 > 散粒噪声(信号极弱时)
2.5 知识体系结构图
下面这张图梳理了传感器物理原理的核心逻辑,方便你理解各概念之间的关系:
嗯,这张图把传感器物理原理的脉络理清楚了。从传感器类型出发,到核心参数,再到噪声模型,每一步都环环相扣。低光照环境下,你真正要跟它较劲的,就是那三个噪声源。
公众号:蓝海资料掘金营,微信deep3321