2. 图像传感器基础
做安防监控,第一关就是选传感器。我见过不少项目,算法调得再好,传感器选错了,画面照样一塌糊涂。今天咱们就把CCD和CMOS那点事聊透,再讲讲Bayer阵列和ISP流水线——这些是后续坏点校正和去噪的根基。
CCD与CMOS:两种主流传感器的恩怨
先说结论:现在安防监控里,CMOS基本一统天下了。CCD虽然画质干净,但成本高、功耗大、速度慢,已经很少在新产品里用了。不过理解CCD的原理,能帮你更好地理解CMOS的优缺点。
| 对比项 | CCD | CMOS |
|---|---|---|
| 读出方式 | 电荷逐行转移,统一输出 | 每个像素独立放大、读出 |
| 噪声水平 | 低(读出路径单一) | 较高(像素级放大器不一致) |
| 功耗 | 高(需要多路高压驱动) | 低(单电源供电) |
| 帧率 | 慢(串行读出) | 快(并行读出) |
| 成本 | 高(特殊工艺) | 低(标准CMOS工艺) |
| 安防主流 | 已淘汰 | 主流 |
我个人习惯把CCD想象成一条传送带——所有像素的电荷像包裹一样,一个接一个传到终点去称重。而CMOS呢,每个像素自己带个小秤,称完自己报数。你想想看,一万个小秤之间肯定有误差,这就是CMOS固定模式噪声的来源。
关键点:CMOS的像素级放大器增益不一致,是导致固定模式噪声(FPN)的根本原因。坏点校正的第一步,就是跟这个FPN做斗争。
Bayer阵列与色彩滤波:单芯片如何拍出彩色
传感器本身是色盲的——它只感知光的强度,不感知颜色。那彩色照片怎么来的?靠的是传感器表面覆盖的彩色滤光片阵列,最常见的就是Bayer阵列。
Bayer阵列的排布很有意思:绿色占一半,红和蓝各占四分之一。为什么?因为人眼对绿色最敏感。说白了,这是模仿人眼视锥细胞的分布。
典型的Bayer RGGB模式(2x2单元):
R G
G B
每个像素只记录一种颜色,其他两种颜色靠插值算出来。
我在项目中遇到过一个问题:Bayer插值算法选不好,画面边缘会出现彩色锯齿。后来我养成了习惯——在ISP流水线里,先去噪再做插值,顺序不能乱。
避坑指南:我曾经在调试一款IPC时,发现画面有规律的彩色条纹。查了两天才发现,是Bayer阵列的相位对错了——传感器输出的Bayer顺序跟ISP配置的不一致。记住:拿到新传感器,第一件事就是确认Bayer相位(RGGB还是BGGR)。
ISP流水线简介:从Raw图到最终图像
ISP(图像信号处理器)是安防摄像头的灵魂。Raw图从传感器出来,经过ISP流水线,才变成你看到的清晰画面。咱们这门课的核心——坏点校正和去噪——就是ISP流水线里的两个关键环节。
下面这张图是我自己整理的ISP流水线标准流程,安防监控基本都按这个走:
流水线里每个模块都有讲究。我重点说几个跟咱们课程直接相关的:
- 黑电平校正——去掉传感器暗电流带来的固定偏置。不做这步,坏点检测会误判。
- 坏点校正——检测并修复死点、热噪点。这是咱们第3章到第8章的核心内容。
- 去噪——去除随机噪声和固定模式噪声。第9章到第15章会深入讲各种去噪算法。
- Bayer插值——把Raw图变成彩色图。注意:去噪必须在插值之前做,否则噪声会被插值算法扩散。
重要提醒:ISP流水线的顺序是硬约束。我曾经见过一个团队,为了省算力把去噪放到Bayer插值之后做,结果画面出现彩色噪点,怎么调都去不掉。后来改回标准顺序,问题立刻解决。顺序就是规矩,别乱改。
本章小结
传感器是图像的源头,源头不干净,后面再怎么处理都费劲。CCD和CMOS的区别,说白了就是集中处理和分布处理的区别。Bayer阵列让单芯片能拍彩色,但带来了插值噪声。ISP流水线把Raw图一步步加工成可用画面,而坏点校正和去噪是其中最关键的两步。