2. 传感器基础:摄像头、毫米波雷达、激光雷达的工作原理与数据特性

做ADAS感知,说白了就是让车「看懂」世界。但车没有眼睛,它靠的是传感器。摄像头、毫米波雷达、激光雷达,这三兄弟各有各的脾气。我刚开始接触融合时,总觉得把数据堆在一起就行,结果踩了不少坑。今天咱们就把它们的底细摸清楚。

2.1 摄像头:最像人眼的传感器

摄像头的工作原理,跟人眼很像。光线通过镜头,打在CMOS或CCD感光元件上,转换成电信号。再经过ISP(图像信号处理器)处理,变成我们看到的图像。

数据特性:

  • 高分辨率:现在主流是200万到800万像素。分辨率高,能看清车道线、交通标志、行人轮廓。
  • 丰富的语义信息:颜色、纹理、形状,这些雷达和激光雷达都搞不定。比如红绿灯,只有摄像头能识别。
  • 被动感知:不发射能量,靠环境光。所以晚上、隧道、逆光时,性能会打折扣。
  • 缺乏深度信息:单目摄像头没有距离感。双目或结构光可以算深度,但精度和范围有限。

关键参数:帧率(通常30fps)、视场角(FOV,水平一般60°-120°)、动态范围(HDR,应对强光暗光切换)。

我的经验:我曾经在一个项目中,摄像头选了120°广角,结果边缘畸变严重,车道线检测老是飘。后来换了90°的,配合畸变校正算法,问题才解决。选型时别光看参数,要结合实际场景。

2.2 毫米波雷达:全天候的测距高手

毫米波雷达发射电磁波,频率在24GHz、77GHz或79GHz。波碰到物体反射回来,通过测量发射和接收的时间差,算出距离。利用多普勒效应,还能测出目标的速度。

数据特性:

  • 全天候工作:雨、雪、雾、灰尘,对它影响很小。摄像头看不清的时候,雷达依然稳定。
  • 直接测距和测速:距离精度可以到厘米级,速度精度到0.1m/s级别。这是摄像头做不到的。
  • 角度分辨率低:传统雷达水平分辨率只有几度甚至十几度。所以它知道「有个东西在那边」,但说不清具体是车还是护栏。
  • 点云稀疏:不像激光雷达那样密集,通常一个目标只返回几个点。

关键参数:最大探测距离(长距雷达可达250m)、距离分辨率(约0.1m)、速度范围、视场角(水平通常±60°)。

避坑指南:我曾经遇到过雷达对静止目标检测不稳定。因为多普勒效应只对运动目标敏感,静止目标容易被滤掉。后来我们加了「零速目标检测」模块,才解决这个问题。如果你做融合,一定要留意雷达对静止目标的处理逻辑。

2.3 激光雷达:三维世界的扫描仪

激光雷达发射激光束,通过测量飞行时间(ToF)或调频连续波(FMCW)来测距。它每秒发射几十万到几百万个点,形成三维点云。

数据特性:

  • 高精度三维信息:每个点都有精确的x、y、z坐标。距离精度可以到2cm以内。
  • 密集点云:64线、128线激光雷达,每秒能产生上百万个点。能清晰勾勒出车辆、行人、障碍物的轮廓。
  • 不受光照影响:白天黑夜一样用。但雨雪、雾天会衰减,因为激光会被水滴散射。
  • 成本高:虽然价格在下降,但相比摄像头和雷达,还是贵不少。

关键参数:线束(16线、32线、64线、128线)、视场角(水平360°,垂直通常30°-40°)、帧率(10-20Hz)、点云密度。

我的建议:激光雷达的点云处理,我习惯先做地面分割。把地面点去掉,剩下的就是障碍物。不然地面点太多,聚类算法容易把地面和障碍物混在一起。你想想看,一个点云里90%都是地面点,不处理的话后续根本没法做。

2.4 三种传感器的对比总结

特性 摄像头 毫米波雷达 激光雷达
感知原理 被动光学成像 主动电磁波反射 主动激光反射
主要数据 图像(RGB) 点云(稀疏) 点云(密集)
距离测量 间接(双目/结构光) 直接(高精度) 直接(高精度)
速度测量 间接(帧间差分) 直接(多普勒) 间接(帧间差分)
角度分辨率
语义信息 丰富 有限
全天候能力 差(光照影响大) 中等(雨雾衰减)
成本

2.5 为什么需要特征级融合?

你看,每个传感器都有自己的短板。摄像头看不清黑夜,雷达分不清类别,激光雷达怕雨雾。但它们的优势正好互补。

特征级融合,就是在数据层面把它们的特征对齐、合并。比如把雷达检测到的目标位置,投影到图像上,跟摄像头检测到的目标做关联。这样既能得到精确的距离和速度,又能知道目标的类别和颜色。

核心思路:取长补短。用摄像头的语义信息,补雷达的类别缺失;用雷达的距离精度,补摄像头的深度不足;用激光雷达的三维轮廓,补两者的空间细节。

注意:融合的前提是时空对齐。摄像头30fps,雷达20fps,激光雷达10fps。时间戳不对齐,融合出来的结果就是「鸡同鸭讲」。空间上,三个传感器的坐标系要统一,通常以车辆后轴中心为原点。我见过不少项目,融合效果差,最后发现是标定参数没校准好。

嗯,传感器基础就讲到这里。下一章咱们会深入聊特征级融合的具体方法,包括如何做目标关联、特征对齐,以及融合后的置信度评估。到时候我会拿实际项目中的代码和案例来拆解,你准备好了吗?