2. 传感器模型的核心参数:分辨率、视场角(FOV)、帧率、精度与噪声模型
好,咱们接着聊传感器模型。上一章我讲了传感器模型在感知联调中的定位,说白了它就是虚拟世界和真实世界之间的“翻译官”。那这个翻译官到底靠不靠谱,得看几个硬指标。
我个人习惯,拿到一个新传感器,先不看它的品牌和价格,直接翻数据手册,盯着五个参数看:分辨率、视场角(FOV)、帧率、精度、噪声模型。这五个参数,决定了你的感知算法能跑多快、能看多远、能看多清。
2.1 分辨率:看得清,还是看得见?
分辨率,大家都不陌生。摄像头有1080P、4K,激光雷达有16线、64线、128线。但我要提醒你一点:分辨率高不等于感知效果好。
我在项目中遇到过一件事。有个同事非要用4K摄像头做目标检测,觉得像素高肯定牛。结果呢?算法跑不动,帧率掉到个位数,车都开起来了,画面还在卡。后来换成1080P,帧率上去了,检测效果反而更好。
为什么会这样?因为分辨率越高,数据量越大,对算力的要求也越高。你想想看,一张4K图像是1080P的四倍像素,处理时间自然翻倍。感知联调里,实时性往往比分辨率更重要。
激光雷达的分辨率,主要体现在线数和水平角分辨率上。64线激光雷达比16线能看清更多细节,但点云密度大了四倍。嗯,这里要注意:点云太密,反而容易造成计算瓶颈。
2.2 视场角(FOV):你能看到多大的世界?
FOV,全称Field of View,就是传感器能看到的范围。水平FOV越大,看得越宽;垂直FOV越大,看得越高。
摄像头常见的FOV有60°、90°、120°。激光雷达呢,机械式的通常是360°水平FOV,固态的可能是120°或更小。毫米波雷达的FOV一般比较窄,60°左右。
这里有个坑,我踩过。有一次做多传感器融合,摄像头FOV是120°,激光雷达FOV只有90°。结果呢?摄像头看到了侧方的障碍物,激光雷达没看到,融合算法直接报错。后来我加了一个FOV对齐的预处理步骤,才把问题解决。
FOV还有一个隐藏参数——盲区。激光雷达的盲区通常在几十厘米到几米之间,摄像头也有近场盲区。盲区内的物体,传感器是看不到的。所以感知联调时,一定要留出安全冗余。
2.3 帧率:快,还是稳?
帧率,就是传感器每秒输出多少帧数据。摄像头一般是30fps,激光雷达10-20fps,毫米波雷达可以到50fps以上。
帧率越高,感知系统对动态目标的跟踪越平滑。但帧率太高,数据量也大,处理不过来怎么办?
我个人的做法是:帧率匹配。比如摄像头30fps,激光雷达10fps,那就让激光雷达每3帧和摄像头对齐一次。这样既保证了时间同步,又不会浪费算力。
你想想看,如果激光雷达10fps,摄像头30fps,你非要把每一帧摄像头数据都和激光雷达对齐,那激光雷达的数据根本跟不上。结果就是大量无效的插值计算,白白浪费资源。
2.4 精度:差一厘米,可能就是事故
精度,是传感器最核心的参数之一。激光雷达的测距精度通常在±2cm到±5cm之间,摄像头的深度估计精度就差多了,可能差几十厘米甚至更多。
我记得有一次做自动泊车项目,用的激光雷达标称精度±3cm。结果实际测试时,发现某些角度下误差能到±10cm。后来一查,是温度变化导致的光学器件形变。从那以后,我每次做传感器选型,都会要求供应商提供全温度范围内的精度曲线。
精度还分绝对精度和相对精度。绝对精度是测量值和真实值的偏差,相对精度是多次测量之间的偏差。感知联调中,相对精度往往比绝对精度更重要。因为算法更关心的是“物体移动了多少”,而不是“物体到底在哪个经纬度”。
| 传感器类型 | 典型测距精度 | 典型角度精度 | 我的经验 |
|---|---|---|---|
| 激光雷达 | ±2~5cm | ±0.1° | 温度影响大,需做温补 |
| 摄像头 | 差(依赖深度估计) | ±0.5° | 双目比单目准,但计算量大 |
| 毫米波雷达 | ±10~50cm | ±1° | 多径效应是主要误差源 |
2.5 噪声模型:传感器也会“说谎”
最后一个参数,也是很多人容易忽略的——噪声模型。传感器不是完美的,它输出的数据里总带着噪声。激光雷达有高斯噪声和离群点,摄像头有散粒噪声和暗电流,毫米波雷达有杂波和闪烁噪声。
为什么要关心噪声模型?因为感知算法需要知道“哪些数据是可信的”。如果你不知道传感器的噪声分布,那你的滤波器、卡尔曼增益、置信度计算,全都是瞎蒙。
我习惯的做法是:先做噪声标定。拿一个已知距离的标定板,让传感器对着它测1000次,然后统计误差的分布。是高斯分布?还是均匀分布?方差多大?有没有离群点?这些数据,直接决定了你的感知算法怎么设计。
噪声模型还有一个作用——评估传感器退化。传感器用久了,噪声会变大。如果你定期做噪声标定,发现噪声方差突然变大,那说明传感器可能出问题了。我曾经靠这个办法,提前发现了一个激光雷达的光学窗口污染问题,避免了一次路测事故。
好了,这五个参数讲完了。总结一下我的经验:分辨率看算力,FOV看覆盖,帧率看匹配,精度看场景,噪声看标定。把这五个参数吃透了,传感器模型这块你就拿捏住了。