2、传感器基础与数据特性:相机成像原理与图像特征、激光雷达点云特性与坐标系、毫米波雷达与超声波雷达简介

2.1 相机成像原理与图像特征

做BEV感知,相机是绕不开的传感器。我个人习惯把相机比作「眼睛」,但它跟人眼差别其实挺大的。

相机成像,说白了就是三维世界到二维平面的映射。这个过程涉及几个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系。嗯,这里要注意,很多人搞混了「图像坐标系」和「像素坐标系」——前者单位是毫米,后者单位是像素。

核心公式就是小孔成像模型:

// 从相机坐标系到图像坐标系
x = f * X / Z
y = f * Y / Z

// 从图像坐标系到像素坐标系
u = x / dx + u0
v = y / dy + v0

我在项目中遇到过一个问题:标定板拍出来图像边缘有畸变,结果外参算出来总是偏的。后来发现是径向畸变参数没给对。所以啊,相机标定这一步千万别偷懒。

图像特征的关键点:

  • 纹理信息丰富:车道线、交通标志、行人轮廓,相机都能捕捉到
  • 颜色信息:红绿灯识别全靠它
  • 深度信息缺失:单目相机无法直接测距,这是硬伤
  • 光照敏感:逆光、夜间、隧道出入口,图像质量断崖式下降

你想想看,如果只用相机做BEV感知,遇到大逆光或者晚上没路灯的路段,基本就瞎了。所以多模态融合是必然的。

2.2 激光雷达点云特性与坐标系

激光雷达,我更喜欢叫它「LiDAR」。它发射激光束,测量反射回来的时间,从而得到距离信息。说白了就是「用光来测距」。

点云数据长什么样?就是一堆三维坐标点 (x, y, z),每个点还带个反射强度值 (intensity)。

// 一个典型的点云数据格式
// x, y, z, intensity
1.23, 2.34, 0.56, 85
1.45, 2.67, 0.78, 92
1.67, 2.89, 0.91, 78

激光雷达的坐标系通常是:x轴朝前,y轴朝左,z轴朝上。但不同厂家定义可能不一样。我记得有一次做多传感器融合,Velodyne和Hesai的点云坐标系定义就不同,导致融合结果全是乱的。所以第一步一定是统一坐标系。

我个人习惯的做法:

先把所有传感器的坐标系都转到车辆后轴中心。这样后续做BEV特征投影时,坐标系统一,少踩很多坑。

点云的特性:

  • 稀疏性:32线LiDAR一帧也就几十万个点,远不如图像像素多
  • 不规则性:点云不是网格结构,没法直接用CNN处理
  • 远距离点稀疏:越远的地方,点越少,检测越难
  • 反射强度有用:车道线、路牌、行人,反射强度不同,可以用来做语义分割

避坑指南:

我曾经在雨雾天气测试,点云里全是噪点,地面点都分不清了。后来加了滤波算法才勉强能用。所以做量产项目,一定要考虑恶劣天气下的点云退化问题。

2.3 毫米波雷达与超声波雷达简介

毫米波雷达,频率在30-300GHz之间。它跟激光雷达最大的区别是:毫米波能穿透雨雾,但分辨率低。

毫米波雷达输出的是目标级别的数据:距离、速度、角度。注意,它不输出点云,而是直接输出检测到的目标列表。

// 毫米波雷达目标数据示例
// id, 距离(m), 速度(m/s), 角度(deg)
1, 15.2, -3.5, 2.1
2, 22.8, 1.2, -1.5
3, 35.6, 0.0, 0.8

毫米波雷达的优势:

  • 全天候工作:雨、雾、雪都不怕
  • 直接测速:利用多普勒效应,速度信息很准
  • 探测距离远:长距毫米波能到200米以上

但它的缺点也很明显:

  • 角度分辨率低:两个目标靠太近,雷达分不清
  • 高度信息缺失:没法区分是桥上的车还是路上的车
  • 静态目标检测差:静止的物体容易被滤掉

超声波雷达,这个就简单了。它利用超声波反射测距,频率在40-60kHz。说白了就是「倒车雷达」用的那种。

超声波雷达的特点:

  • 探测距离短:一般3-5米,最远也就10米
  • 精度还行:厘米级精度,近距离够用
  • 成本极低:一个超声波传感器才几十块钱
  • 受环境影响大:温度、湿度、风都会影响

多传感器融合的思考:

你想想看,相机提供纹理和颜色,LiDAR提供精确的3D位置,毫米波提供速度和全天候能力,超声波负责近距离盲区。每个传感器都有自己的「舒适区」,融合起来才能覆盖全场景。

我个人习惯的做法是:在BEV空间里,把图像特征、点云特征、雷达特征都投影到同一个网格上,然后用Transformer或者CNN做特征融合。这样每个传感器的优势都能发挥出来。

嗯,这一章就讲到这里。下一章我们会深入讨论BEV感知的核心——如何把不同传感器的数据统一到BEV空间里。到时候我会分享一些我在实际项目中踩过的坑,比如坐标转换的精度问题、时间同步的延迟问题等等。