2. 自动驾驶感知基础

在自动驾驶系统中,感知层承担着“把物理世界翻译成机器可计算表达”的职责。可行驶区域与道路语义分割并不是孤立算法,它位于感知栈的中后段,向上承接传感器原始数据与目标检测结果,向下为预测、规划、控制提供可通行空间与道路结构约束。理解传感器类型、坐标系以及道路场景理解在感知栈中的位置,是后续工程实现的前提。

一、核心原理:感知栈的分层与道路场景理解的位置

典型自动驾驶感知栈可划分为四层:传感器层、预处理与标定层、感知理解层、输出接口层。传感器层提供相机图像、激光雷达点云、毫米波雷达回波、IMU/GNSS 位姿等原始数据;预处理与标定层完成时间同步、去畸变、坐标变换与外参对齐;感知理解层进一步分为目标级感知(车辆、行人、锥桶)与场景级感知(可行驶区域、车道线、路沿、路面语义);输出接口层将结果统一到车身坐标系或世界坐标系,供下游模块消费。

道路场景理解的核心价值在于:目标检测回答“有什么”,而可行驶区域与语义分割回答“哪里能走、边界在哪、路面属性如何”。二者互补,缺一不可。例如前方有一片未分类的施工围挡,目标检测可能漏检,但语义分割若将路面与路沿区分清楚,仍能给出可通行区域收缩信号。

道路场景理解在感知栈中的位置可概括为:传感器 → 标定/同步 → 目标感知 + 场景感知 → 融合输出 → 预测/规划。可行驶区域与道路语义分割属于场景感知的核心子任务。

二、传感器类型与道路语义分割的适配关系

不同传感器对道路场景理解的贡献差异显著。相机提供稠密纹理与颜色,适合车道线、路面标线、交通标志与语义分割;激光雷达提供精确三维几何,适合路沿、可行驶区域边界与障碍物高度判断;毫米波雷达对雨雾鲁棒,但角分辨率低,通常用于目标级感知与速度测量;IMU/GNSS 提供全局位姿,用于多帧拼接与地图对齐。

传感器 主要输出 对道路场景理解的作用 典型局限
前视相机 RGB 图像 车道线、路面标线、语义分割 受光照、逆光、雨雾影响
环视相机 多路鱼眼图像 近距离可行驶区域、泊车场景 畸变大,需去畸变与拼接
激光雷达 三维点云 路沿、可行驶区域边界、高度 雨雾衰减,成本较高
毫米波雷达 距离/速度/角度 目标级感知、速度辅助 角分辨率低,语义弱
IMU/GNSS 位姿、速度 多帧对齐、全局地图匹配 隧道/城市峡谷信号弱

三、坐标系体系:从像素到车身的统一表达

道路语义分割的输出必须落到统一坐标系中才有工程意义。常见坐标系包括:像素坐标系(u,v)、相机坐标系(Xc,Yc,Zc)、激光雷达坐标系(Xl,Yl,Zl)、车身坐标系(Xv,Yv,Zv,通常原点在后轴中心,X 向前,Y 向左,Z 向上)以及世界坐标系(ENU 或 UTM)。

相机到车身的变换依赖外参标定,通常表示为旋转矩阵 R 与平移向量 t。像素点反投影到车身平面的过程可简写为:

# 像素 -> 相机归一化平面
x_n = (u - cx) / fx
y_n = (v - cy) / fy

# 相机 -> 车身(外参 R, t)
P_cam = [x_n * Z, y_n * Z, Z]
P_veh = R * P_cam + t

# 若已知地面平面 Z_veh = 0,可反解尺度 Z

工程中常见误区是忽略相机安装俯仰角与滚转角,导致可行驶区域在远处出现“上飘”或“下压”。因此,标定后必须用地面控制点验证重投影误差,通常要求像素误差小于 2 像素。

四、案例场景:城市路口可行驶区域分割

以城市十字路口为例,车辆需要识别本车道、左转待转区、斑马线、路沿与安全岛。相机语义分割输出路面、路沿、人行道、车辆、行人等类别;激光雷达点云提供路沿三维高度与地面坡度;两者在车身坐标系下融合后,生成可行驶区域栅格图。若仅依赖相机,阴影可能被误判为路面;若仅依赖激光雷达,地面标线无法区分。融合后,规划模块可获得带语义标签的可通行空间。

在路口场景中,建议将可行驶区域输出为车身坐标系下的栅格图,分辨率 0.1~0.2 米,并附带类别置信度。这样规划模块可直接进行碰撞检测与路径搜索。

五、误区与复盘

  • 误区一:把语义分割当作目标检测的替代。语义分割不区分实例,无法直接输出每个行人的独立 ID,需与检测网络互补。
  • 误区二:忽略坐标系时效性。车辆运动时,不同传感器时间戳不一致,必须做时间同步与运动补偿,否则融合结果错位。
  • 误区三:只关注精度,不关注延迟。可行驶区域输出延迟超过 100ms,规划模块可能基于过期信息决策,带来安全风险。
  • 复盘建议:建立“传感器-标定-分割-融合-输出”全链路日志,记录每帧时间戳、外参版本与置信度,便于问题回溯。
感知栈分层与道路场景理解的位置 传感器层 相机 / 激光雷达 毫米波雷达 / IMU GNSS 预处理与标定层 时间同步 / 去畸变 外参标定 / 坐标变换 运动补偿 感知理解层 目标级感知:车辆/行人 场景级感知:可行驶区域/语义 输出接口层 车身坐标系栅格 语义标签 + 置信度 预测 / 规划 / 控制 坐标系转换链:像素 → 相机 → 激光雷达 → 车身 → 世界 像素 (u,v) 图像平面 相机 (Xc,Yc,Zc) 内参 K 激光雷达 (Xl,Yl,Zl) 外参 R,t 车身 (Xv,Yv,Zv) 后轴中心 世界 (ENU) 全局地图 道路场景理解的关键输出 可行驶区域栅格 0.1~0.2m 分辨率 路面语义标签 车道线/路沿/斑马线 边界与高度 路沿/安全岛/坡度 置信度与时效 时间戳/外参版本

综上,传感器类型决定了道路场景理解的数据基础,坐标系决定了结果能否被下游正确使用,而感知栈中的位置决定了它与目标检测、预测规划的分工边界。工程实践中,应把可行驶区域与语义分割视为“带坐标、带时间、带置信度”的结构化输出,而非单纯的分割掩码。只有打通传感器、标定、分割、融合与输出全链路,才能为自动驾驶提供稳定可靠的道路场景理解能力。