2. 图像传感器基础:CMOS vs CCD传感器、像素结构与感光原理、量子效率与信噪比、暗电流与热噪声

做低光照调试,你首先得摸清楚传感器的脾气。说白了,传感器就是摄像头的「视网膜」。它怎么感光、怎么转电信号,直接决定了你晚上拍出来的东西是清晰还是满屏噪点。我这些年调过的方案里,踩坑最多的就是没吃透传感器特性就开始调ISP参数——结果往往是白费功夫。

2.1 CMOS vs CCD:两种主流传感器的恩怨情仇

先聊聊CMOS和CCD。这俩家伙原理不同,性格也迥异。

CCD(电荷耦合器件):它的工作方式有点像流水线。每个像素收集到的光生电荷,要一个接一个地「传递」到输出端统一放大。好处是噪声低、一致性极好。坏处呢?速度慢、功耗高、成本也高。我记得早年做安防摄像头,高端机型清一色用CCD,晚上画面确实干净。

CMOS(互补金属氧化物半导体):每个像素自带放大器,各干各的。读出速度快、功耗低、集成度高。但早期CMOS的噪声问题很严重,尤其是低光照下,满屏雪花。不过现在技术成熟了,背照式、堆栈式结构出来以后,CMOS基本统治了消费级市场。

我个人的习惯是:低光照场景优先选CMOS,尤其是背照式(BSI)的。为什么?因为它的填充因子更高,感光面积更大。CCD虽然底噪低,但读出速度慢,做不了高帧率,而且功耗大,手持设备根本扛不住。

核心结论: 低光照调试,CMOS是主流选择。CCD更适合对噪声要求极端苛刻、但对帧率无感的场景。

2.2 像素结构与感光原理:一个像素是怎么「看见」光的?

一个像素,说白了就是一个微型光电转换器。它的核心结构包括:

  • 微透镜:把光线汇聚到感光区域。嗯,这里要注意——微透镜的偏移量会影响边缘进光量,我在项目中遇到过因为微透镜没对准导致四周发黑的问题。
  • 滤色片(CFA):Bayer阵列最常见,RGGB排列。每个像素只感知一种颜色,其他颜色靠插值猜出来。
  • 光电二极管(PD):真正干活的地方。光子打进来,产生电子-空穴对。
  • 传输门(TG):控制电荷从PD转移到浮置扩散区(FD)。
  • 浮置扩散区(FD):临时存储电荷,并转换成电压信号。

感光原理其实不复杂:光子 → 电子 → 电压 → 数字码值。你想想看,每个像素就像一个微型水桶,光子就是雨滴。雨滴越多,水桶里的水(电荷)就越多。但水桶有容量上限——这就是满阱容量(FWC)。

实战经验: 低光照下,我建议优先关注「满阱容量」和「转换增益」这两个参数。满阱容量大,动态范围就宽;转换增益高,弱信号放大效果就好。但增益高了噪声也会被放大,这是个trade-off。

2.3 量子效率与信噪比:传感器到底有多「敏感」?

量子效率(QE):指入射光子转化为电子的比例。比如QE=70%,意味着100个光子进来,有70个变成了电子。剩下的30个去哪了?被反射、吸收或者浪费掉了。

QE跟波长有关。人眼对550nm左右的绿光最敏感,传感器也是。但近红外(850nm/940nm)的QE通常很低,这就是为什么夜视需要红外补光。

信噪比(SNR):信号功率与噪声功率的比值。单位是dB。公式很简单:

SNR = 20 * log10(信号 / 噪声)

低光照下,信号弱,噪声不变,SNR自然就低。那怎么提升?

  • 增加曝光时间:让更多光子进来。但小心运动模糊。
  • 提高模拟增益:信号和噪声一起放大,效果有限。
  • 像素合并(Binning):把相邻像素的电荷加起来,牺牲分辨率换灵敏度。

我记得有一次调一个车载夜视项目,SNR死活上不去。后来发现是镜头光圈太小,进光量不够。换了F1.2的大光圈镜头,SNR直接提升了6dB。所以说,别光盯着传感器,光学系统也得跟上。

关键指标: 低光照场景下,SNR > 40dB算及格,> 50dB算优秀。如果低于30dB,画面基本没法看。

2.4 暗电流与热噪声:为什么黑屏也有噪点?

你肯定遇到过这种情况:盖上镜头盖,画面却不是全黑的,而是有星星点点的亮斑。这就是暗电流和热噪声在作怪。

暗电流:没有光照时,像素内部的热激发也会产生电子-空穴对。这些「假信号」被当成有效信号读出来,就成了暗电流。温度每升高6-8°C,暗电流大约翻一倍。所以传感器发热是低光照的大敌。

热噪声(暗电流散粒噪声):暗电流本身不是恒定的,它存在随机波动。这种波动就是热噪声。它服从泊松分布,均值等于暗电流大小。

怎么处理?

  • 降低传感器温度:主动散热、Peltier制冷。工业相机常用,手机就别想了。
  • 暗场校正(DPC):拍一张全黑帧,记录每个像素的暗电流值,然后从正常图像中减去。我建议每次开机都做一次,因为暗电流会随温度变化。
  • 长曝光降噪:曝光时间越长,暗电流积累越多。很多相机有「长曝光降噪」功能,原理就是拍一张暗场然后减去。
避坑指南: 我曾经在一个项目中,为了追求低光照效果,把曝光时间拉到了2秒。结果画面全是亮斑,还以为是传感器坏了。后来一测温度,传感器已经到60°C了。暗电流直接爆炸。从那以后,我每次调低光照都会先监控传感器温度。

2.5 知识体系总览

下面这张图是我自己整理的传感器基础框架,帮你快速建立全局认知:

图像传感器基础框架 ① 传感器类型 • CMOS:每个像素自带放大器 • CCD:电荷统一读出 • 低光照选CMOS(BSI优先) • 高帧率场景CMOS优势明显 关键参数:读出噪声、功耗、帧率 ② 像素结构 • 微透镜 → 汇聚光线 • 滤色片 → Bayer阵列 • 光电二极管 → 光子转电子 • 传输门 + 浮置扩散区 关键参数:满阱容量、转换增益 ③ 量子效率与信噪比 • QE = 电子数 / 光子数 • SNR = 20*log10(信号/噪声) • 低光照提升方法: 增加曝光 / 提高增益 / Binning 目标:SNR > 40dB(低光照) ④ 暗电流与热噪声 • 暗电流:热激发产生的假信号 • 温度每+8°C,暗电流翻倍 • 处理方法: 降温 / 暗场校正 / 长曝光降噪 注意:开机后温度上升,暗电流变化 低光照调试 = 吃透传感器 + 选对策略 + 控制温度

这张图把四个核心知识点串起来了。你调试低光照的时候,脑子里要有这根弦:传感器类型决定了你的起点,像素结构决定了你的上限,量子效率和信噪比是你的衡量标尺,暗电流和热噪声则是你绕不开的敌人。

好了,这一章的内容就到这里。记住一句话:传感器是硬件的基础,ISP是软件的灵魂。基础不牢,地动山摇。


公众号:蓝海资料掘金营,微信deep3321