第二章 摄像头选型与原理
各位同学,今天我们来聊聊车载摄像头。说实话,在所有的车载传感器里,摄像头是我个人觉得最「像人眼」的一个。它不发射任何信号,只是被动地接收光线,然后告诉我们「前面是什么」。但恰恰是这种被动感知,让它的选型变得特别讲究。
2.1 摄像头成像原理
先说说最基本的成像原理。摄像头的工作原理,说白了就是「小孔成像」的现代版。光线穿过镜头,经过光圈控制进光量,然后落在传感器上,光电转换后变成数字信号。
我习惯把这个过程拆成三步:
- 光学成像:镜头把外界景物聚焦到传感器表面
- 光电转换:传感器把光信号变成电信号
- 模数转换:模拟信号变成数字信号,输出给处理器
嗯,这里要注意一个细节。车载摄像头和手机摄像头最大的区别是什么?是「实时性」。手机拍一张照片可以处理几百毫秒,但车载摄像头每帧必须在几十毫秒内完成整个链路。我在做第一个ADAS项目时,就因为没注意这个延迟问题,导致车道线检测总是滞后半拍——后来才发现是传感器读出速度跟不上。
2.2 CMOS与CCD传感器对比
传感器这块,业内主要就两种:CMOS和CCD。你想想看,为什么现在车载摄像头几乎全是CMOS?
| 对比项 | CMOS | CCD |
|---|---|---|
| 功耗 | 低(约1/10) | 高 |
| 读出速度 | 快(支持高帧率) | 慢 |
| 噪声 | 相对较高 | 低 |
| 成本 | 低 | 高 |
| 车载适用性 | ✅ 主流选择 | ❌ 基本淘汰 |
我个人建议直接选CMOS。原因很简单:车载环境对功耗和帧率的要求太苛刻了。CCD虽然画质好、噪声低,但它的读出方式是「逐行转移」,帧率上不去。我曾经在一个夜视项目中试过CCD,结果发现30fps都跑不满,更别提后面还要做HDR合成。
关键点:车载摄像头几乎100%采用CMOS传感器。别在CCD上浪费时间。
2.3 分辨率与帧率选择
分辨率选多少?帧率设多高?这是每次选型都会遇到的问题。
我的经验是这样的:
- 前视摄像头:建议200万像素以上,帧率30fps起步。为什么?因为要看清200米外的交通标志,像素太低根本认不出来。
- 环视摄像头:100万像素就够了,帧率可以降到15fps。环视主要看近处,对细节要求不高。
- 驾驶员监控:30万到100万像素,帧率15-30fps。关键是红外补光,分辨率反而不是瓶颈。
我记得有一次,一个供应商推荐了800万像素的前视摄像头,说「分辨率越高越好」。我当场就否了。为什么?因为高分辨率意味着高数据量,处理器的带宽和算力根本扛不住。你想想看,800万像素30fps,每秒要处理2.4亿个像素点——这还没算后面的算法开销。
避坑指南:我曾经见过一个团队,为了追求高分辨率选了500万像素的传感器,结果发现ISP处理不过来,帧率被迫降到10fps。高速上10fps是什么概念?100km/h的速度,两帧之间车已经跑了2.8米。这要是做紧急制动,后果不堪设想。
2.4 镜头焦距与视场角
镜头这块,焦距和视场角是成反比的。焦距越长,看得越远,但视野越窄。焦距越短,视野越宽,但远处细节越差。
我一般这样选:
- 长焦(25mm以上):用于前视远距离检测,视场角一般在30°左右
- 中焦(12-25mm):兼顾远近,视场角40-60°,常用于主摄像头
- 广角(6-12mm):环视、侧视用,视场角100-190°
- 鱼眼(<6mm):视场角超过190°,用于全景环视
这里有个坑。广角镜头虽然视野大,但边缘畸变非常严重。我做过一个环视项目,用了180°的鱼眼镜头,结果图像拼接时边缘的车辆都变形了——算法根本没法识别。后来我们换成了四个120°的镜头,虽然数量多了,但效果反而更好。
注意:车载摄像头的视场角不是越大越好。过大的视场角会导致边缘分辨率急剧下降,而且畸变校正会消耗大量算力。我个人建议前视摄像头控制在50°以内,环视用120°左右就够了。
2.5 光圈与低照度性能
光圈大小直接影响进光量。光圈值F越小,进光量越大,低照度性能越好。但光圈太大也有问题——景深变浅,远处的物体容易虚焦。
车载摄像头的光圈一般怎么选?
- 白天为主:F2.0-F2.8,画质好,景深大
- 全天候:F1.4-F2.0,兼顾白天和夜晚
- 夜视为主:F1.0-F1.4,但要注意景深问题
我个人的习惯是选F1.6左右。为什么?因为车载摄像头大部分时间在白天工作,F1.6既能保证夜晚有足够的进光量,白天又不会因为光圈太大导致过曝。当然,如果你做的是专门的夜视系统,那F1.2甚至F1.0都可以考虑。
低照度性能还有一个关键指标——信噪比。说白了就是「在暗光下画面干不干净」。我测试过很多传感器,发现一个规律:像素尺寸越大,低照度性能越好。同样是200万像素,6μm像素尺寸的传感器比3μm的好太多了。所以别光看分辨率,像素尺寸才是王道。
2.6 车载摄像头特殊要求
车载摄像头和普通摄像头最大的区别,就是它要面对各种极端场景。我总结了几点:
宽动态(HDR)
隧道出入口、逆光场景,动态范围轻松超过120dB。普通摄像头早就过曝或欠曝了。车载摄像头必须支持HDR,一般要求动态范围在120dB以上。
实现方式有两种:
- 多帧合成:拍多张不同曝光的照片合成,效果好但延迟高
- 单帧HDR:利用像素内不同感光区域的差异,一次曝光完成,延迟低
我建议用单帧HDR。车载场景对延迟太敏感了,多帧合成在高速运动时会出现鬼影。我之前在一个项目中试过多帧HDR,结果车辆快速通过隧道时,画面边缘全是重影——算法直接崩溃。
防眩光
对面来车的远光灯、路面积水的反光,都会造成眩光。这问题怎么解决?
- 镀膜技术:镜头表面镀增透膜,减少反射
- 遮光罩:物理遮挡侧面杂光
- 算法处理:在ISP层面做局部亮度抑制
嗯,这里要提醒一下。防眩光不是靠单一技术能解决的。我见过有些方案只靠镀膜,结果遇到强光还是白茫茫一片。真正靠谱的做法是「光学+算法」双管齐下。镜头本身要做好镀膜和遮光,ISP里也要有专门的眩光抑制模块。
总结一下:车载摄像头的选型,核心就是「在极端环境下稳定工作」。别只看参数表上的理想值,一定要在实际场景中测试。我每次选型都会做三件事:白天强光测试、夜晚暗光测试、隧道出入口测试。这三关过了,基本就稳了。
好了,这一章的内容就到这里。下一章我们聊聊毫米波雷达,那个又是另一套玩法了。