图像传感器基础:CMOS vs CCD、Bayer Pattern、曝光与增益、帧率与分辨率
图像传感器,说白了就是摄像头的「眼睛」。你调了半天 ISP,如果传感器本身没选对或者没配好,后面再怎么折腾也是白费。我做了这么多年安防调优,见过太多项目因为传感器基础没打牢,最后返工重来的案例。
这一章,咱们就把传感器最核心的几个概念掰开揉碎讲清楚。不搞那些虚的,全是实战中绕不开的知识点。
CMOS vs CCD:谁才是安防主流?
先聊个老生常谈的问题:CMOS 和 CCD 到底怎么选?
我记得十年前刚入行那会儿,CCD 还是高端安防摄像头的标配。那时候 CMOS 的噪声大、动态范围低,根本入不了安防的眼。但现在你再看看,市面上 99% 的安防摄像头用的都是 CMOS。
为什么会这样?我列个表你就明白了:
| 对比项 | CMOS | CCD |
|---|---|---|
| 功耗 | 低(约 CCD 的 1/10) | 高 |
| 读出速度 | 快(支持高帧率) | 慢 |
| 噪声水平 | 较高(但技术进步已大幅改善) | 低 |
| 动态范围 | 中高(支持 HDR 叠加) | 高 |
| 集成度 | 高(可集成 ADC、DSP) | 低 |
| 成本 | 低 | 高 |
| 安防适用性 | ★★★★★ | ★★☆☆☆ |
你看,CMOS 在功耗、速度、集成度和成本上全面碾压 CCD。安防摄像头需要 7×24 小时工作,功耗每降低 1W,散热和电源成本都能省一大截。而且 CMOS 能直接把 ADC 做在芯片上,输出数字信号,省掉了外部模拟电路。
我的建议:除非你有特殊需求(比如极低光照下的超高灵敏度),否则直接选 CMOS。现在主流安防传感器厂商——索尼、豪威、安森美——主推的都是 CMOS 产品线。
一个小技巧:选型时别只看像素数,要重点关注「像素尺寸」。安防场景下,2.8μm 以上的像素尺寸通常能获得更好的低照度表现。我踩过坑:某项目用了 1.4μm 的小像素传感器,白天还行,晚上全是噪点。
Bayer Pattern:彩色图像是怎么来的?
传感器本身只能感知光的强度,分不清颜色。那彩色图像怎么来的?靠的就是 Bayer Pattern——一种滤色阵列。
标准的 Bayer 阵列长这样:
关键点在于:每个像素只采集一种颜色。红色像素只感知红光,绿色只感知绿光,蓝色只感知蓝光。那最终的全彩图像怎么来的?靠的是「去马赛克算法」(Demosaic),也就是用周围像素的颜色值插值计算出每个像素缺失的另外两个颜色通道。
注意:去马赛克算法直接影响图像清晰度和伪色。我曾经在一个项目中,用了默认的线性插值算法,结果画面边缘全是彩色锯齿。后来换成自适应插值算法,效果立竿见影。这部分我们在后续的 ISP 模块调优章节会详细讲。
另外,Bayer 阵列还有变种,比如 RGGB、BGGR、GBRG 等。不同传感器厂商的排列顺序可能不同,ISP 初始化时必须正确配置,否则颜色会完全错乱。
曝光与增益:控制亮度的两把刀
曝光和增益,是 ISP 调优中最基础也最容易被忽视的两个参数。我见过不少新手,画面暗了就加增益,亮了就减曝光时间,结果要么噪点满天飞,要么运动物体拖影严重。
先理清概念:
- 曝光时间(Shutter):传感器收集光的时间。时间越长,进光量越多,画面越亮。
- 模拟增益(Analog Gain):在传感器内部放大电信号。增益越大,信号越强,但噪声也被同步放大。
- 数字增益(Digital Gain):在 ADC 转换后对数字信号做乘法。这个更危险,因为它会放大量化噪声。
我个人的调优优先级是这样的:
- 先调曝光时间——在保证帧率的前提下,尽量用长曝光来提亮。
- 再调模拟增益——曝光时间到上限了还不够亮,才加模拟增益。
- 最后才动数字增益——能不用就不用,用了就要做好降噪。
避坑指南:我曾经在一个低照度项目中,为了追求画面亮度,直接把数字增益拉到 6dB。结果画面是亮了,但噪声大到连人脸都看不清。后来我强制限制了数字增益不超过 3dB,配合运动补偿降噪,效果好了很多。
这里有个实用的曝光策略表格,安防场景下可以直接参考:
| 场景 | 曝光时间 | 模拟增益 | 数字增益 |
|---|---|---|---|
| 白天室外 | 1/100s ~ 1/1000s | 0dB | 0dB |
| 室内正常光照 | 1/30s ~ 1/100s | 0~6dB | 0dB |
| 黄昏/黎明 | 1/15s ~ 1/30s | 6~12dB | 0~3dB |
| 夜间(有补光) | 1/10s ~ 1/15s | 12~18dB | 3~6dB |
| 夜间(无补光) | 1/5s ~ 1/10s | 18~24dB | 6~12dB(慎用) |
经验之谈:安防场景下,曝光时间尽量不要低于 1/15s,否则运动物体会出现明显拖影。如果光照实在太差,我建议优先考虑红外补光,而不是硬拉增益。
帧率与分辨率:平衡的艺术
帧率和分辨率,是 ISP 调优中一对天生的冤家。你想想看,传感器每秒钟要读出多少数据?
计算公式很简单:
数据量 = 分辨率(宽 × 高) × 位深 × 帧率
举个例子:一个 400 万像素的传感器(2560×1440),输出 10bit RAW 数据,跑 30fps:
2560 × 1440 × 10 × 30 = 1,105,920,000 bits/s ≈ 1.1 Gbps
这个数据量对 MIPI 接口和 ISP 处理能力都是不小的压力。所以实际项目中,我们经常需要在帧率和分辨率之间做取舍。
安防场景的典型配置:
- 实时预览/录像:4K@15fps 或 1080P@30fps。4K 分辨率下跑 30fps 对带宽和存储压力太大,15fps 是安防的常见折中。
- 运动检测:降低分辨率,提高帧率。比如用 720P@60fps 来捕捉快速移动的物体。
- 车牌识别:需要高帧率(25fps 以上)来避免运动模糊,同时分辨率不能太低(至少 1080P)。
注意:帧率不是越高越好。高帧率意味着每帧的曝光时间更短,低照度下画面会更暗。我见过有人为了追求 60fps,把曝光时间压到 1/100s,结果夜间画面黑成一片。安防场景下,30fps 通常已经足够。
另外,分辨率的选择还要考虑 ISP 的降噪能力。同样一个传感器,输出 4K 分辨率时每个像素的感光面积更小,信噪比更低。如果你 ISP 的降噪算法不够强,强行上 4K 反而会得到比 1080P 更差的视觉效果。
我的建议:选型阶段就要想清楚目标场景。如果是室内监控,1080P@30fps 是性价比最高的选择。如果是停车场或道路监控,4K@15fps 配合好的降噪算法,效果会更好。