第二章:图像传感器基础
各位同学,欢迎来到第二章。这一章我们聊聊图像传感器的那些事儿。说实话,很多做ISP调优的工程师,往往只关注算法,却忽略了传感器本身。我个人觉得,这就像开车只看路不看仪表盘——迟早要出问题。
2.1 CMOS与CCD:两种主流传感器
先说说CMOS和CCD的区别。这俩东西,说白了就是两种不同的“光电转换”方式。
CCD传感器,电荷耦合器件。它的工作原理是:每个像素点收集到的光生电荷,需要像接力棒一样,一个像素一个像素地传递到输出端。这个过程很慢,但好处是噪声低、画质好。我记得早年做安防摄像头时,高端产品清一色用CCD。
CMOS传感器,互补金属氧化物半导体。每个像素点都有自己的放大器,可以直接把电荷转成电压信号输出。这样做的好处是速度快、功耗低、集成度高。但早期CMOS的噪声问题很严重,画质被CCD甩开几条街。
为什么会这样?你想想看,CCD的电荷传递路径是统一的,所有像素共享一个放大器,一致性很好。而CMOS每个像素都有自己的放大器,这些放大器之间的差异,就会带来固定模式噪声(FPN)。
不过现在,CMOS已经全面逆袭了。车载摄像头领域,几乎清一色用CMOS。为什么?因为车载需要高帧率、低功耗、小尺寸,这些都是CMOS的强项。我在一个ADAS项目中测试过,同样的分辨率,CMOS的帧率能做到CCD的3倍以上。
关键对比:
- CCD:高画质、低噪声、慢速、高功耗
- CMOS:高速度、低功耗、小尺寸、集成度高
2.2 像素结构:从光子到数字信号
每个像素,本质上就是一个光电转换器。光照射到感光区域,产生电子-空穴对,然后被收集、放大、量化。
常见的像素结构有几种:
- 前照式(FSI):光线先穿过金属布线层,再到达感光区。金属层会遮挡一部分光线,所以量子效率不高。
- 背照式(BSI):把感光层翻到上面来,光线直接照射到感光区。量子效率大幅提升。我调过一款BSI传感器,暗光下的信噪比比FSI好了将近6dB。
- 堆叠式:把像素层和电路层分开堆叠。这样像素面积可以做得更大,电路也更复杂。现在高端车载传感器基本都用这个结构。
嗯,这里要注意:像素尺寸不是越大越好。大像素收集的光子多,动态范围好,但分辨率就上不去。小像素分辨率高,但信噪比差。车载摄像头一般选3μm到5μm的像素,这是个折中方案。
2.3 Bayer阵列:彩色世界的入口
传感器本身只能感知光的强度,分不出颜色。那彩色图像怎么来的?靠滤光片阵列。
最经典的就是Bayer阵列。它用RGGB的排列方式——每个2x2的像素块里,有1个红色、2个绿色、1个蓝色滤光片。为什么绿色多一个?因为人眼对绿色最敏感,这样能模拟人眼的视觉特性。
我曾经踩过一个坑:某次项目中,我直接用默认的Bayer插值算法,结果图像边缘出现了严重的伪色。后来才发现,不同传感器的Bayer排列方向可能不一样——有的是RGGB,有的是BGGR,还有的是GRBG。如果搞错了,颜色就全乱了。
我的经验:拿到一个新传感器,第一件事就是确认Bayer排列顺序。用一张白纸对着光源拍一张raw图,然后看像素值分布。红色通道值最高的那个位置,就是R像素的位置。
2.4 传感器关键参数
这部分是调优的基础。不懂参数,就没法做针对性优化。
帧率
帧率就是每秒能输出多少帧图像。车载摄像头一般要求30fps以上,ADAS系统甚至需要60fps。帧率受几个因素限制:
- 像素时钟频率
- 行扫描时间
- 曝光时间(曝光时间太长,帧率就上不去)
我建议:在满足曝光需求的前提下,尽量提高帧率。因为高帧率能减少运动模糊,这对车辆检测至关重要。
动态范围
动态范围,说白了就是传感器能同时看清最亮和最暗区域的能力。单位是dB。
车载场景下,动态范围特别重要。你想想看,车辆从隧道里开出来,隧道内很暗,隧道外很亮。如果动态范围不够,要么隧道内一片死黑,要么隧道外一片惨白。
普通传感器的动态范围大概在60-70dB。车载摄像头一般要求120dB以上。怎么实现的?常用技术有:
- 多重曝光HDR:拍两张或三张不同曝光时间的图像,然后合成。这是目前最主流的方法。
- 对数响应传感器:像素的响应曲线是对数型的,天生就有高动态范围。但噪声控制比较难。
注意:HDR合成时,运动物体会出现鬼影。我曾经在调试中遇到过,车辆在HDR合成后出现了重影,导致目标检测算法误判。后来加了运动补偿才解决。
信噪比(SNR)
信噪比是信号和噪声的比值。噪声来源很多:
- 光子散粒噪声:光子的随机性带来的,无法消除
- 读出噪声:电路在读取信号时引入的
- 暗电流噪声:即使没有光照,像素也会产生电子
- 固定模式噪声:像素之间的差异
信噪比越高,图像越干净。车载摄像头一般要求SNR > 40dB(在100 lux照度下)。
我个人的习惯是:拿到传感器后,先测暗场和亮场的噪声分布。暗场噪声决定了最低照度下的表现,亮场噪声决定了高光区域的细节保留能力。
2.5 实战:如何选择传感器
说了这么多,到底怎么选?我列个简单的对照表:
| 参数 | 低端 | 中端 | 高端 |
|---|---|---|---|
| 分辨率 | 1MP | 2-3MP | 5-8MP |
| 帧率 | 30fps | 60fps | 120fps |
| 动态范围 | 60dB | 100dB | 140dB |
| 信噪比 | 35dB | 42dB | 50dB |
| 像素尺寸 | 6μm | 4μm | 3μm |
选型时,要根据应用场景来权衡。比如环视摄像头,对分辨率要求高,但对动态范围要求没那么苛刻。而前视ADAS摄像头,动态范围和信噪比才是关键。
好了,这一章就到这里。传感器是ISP调优的起点,把基础打牢,后面才能走得更远。下一章我们聊聊ISP Pipeline的整体架构,到时候见。