3. 感知基础
在 NOA(Navigate on Autopilot)感知预测规划一体化工程中,感知模块是整条链路的“眼睛”。它把摄像头、激光雷达、毫米波雷达等传感器采集的原始数据,转换为可供预测与规划使用的结构化环境描述。理解感知任务的分类,是理解后续预测、规划接口设计的前提。本节围绕目标检测、语义分割、实例分割、关键点检测与多任务学习五类核心任务展开,说明它们各自解决什么问题、输出什么形式、在 NOA 中如何被消费。
一、感知任务分类:从“有什么”到“在哪里、是什么形状”
感知任务可以按输出粒度与语义层级进行划分。最粗的层级是图像级分类,回答“画面里有没有车”;进一步是目标检测,回答“有哪些目标、各自在图像中的位置”;再进一步是语义分割,回答“每个像素属于哪一类”;实例分割在语义分割基础上区分同类中的不同个体;关键点检测则关注目标内部的结构点,如人体关节、车辆角点、车道线控制点。多任务学习把上述任务放在一个网络中联合训练,共享特征、互相约束。
从 NOA 工程视角看,不同任务服务于不同下游:检测框用于目标级跟踪与预测;语义分割用于可行驶区域与道路结构理解;实例分割用于区分相邻车辆、锥桶等同类目标;关键点用于姿态估计、车门开合判断、行人意图识别。它们不是互相替代,而是互补。
二、目标检测:NOA 中最基础的结构化输出
目标检测的输出是若干边界框,每个框附带类别与置信度。在 NOA 中,检测结果通常以“图像坐标 + 类别 + 分数”的形式进入跟踪模块,再通过相机标定与多传感器融合转换到自车坐标系。检测器的核心是“分类 + 回归”:分类判断框内是什么,回归修正框的位置与尺寸。
主流方法分为两阶段与单阶段。两阶段以 Faster R-CNN 为代表,先产生候选区域再分类回归,精度高但速度较慢;单阶段以 YOLO、SSD 为代表,直接在特征图上预测,速度快,适合车载实时场景。NOA 工程中更关注小目标、遮挡目标与远距离目标的召回率,因此常采用多尺度特征金字塔与数据增强。
# 目标检测输出示例(伪代码)
detections = [
{"bbox": [x1, y1, x2, y2], "class": "car", "score": 0.96},
{"bbox": [x1, y1, x2, y2], "class": "ped", "score": 0.88},
{"bbox": [x1, y1, x2, y2], "class": "truck", "score": 0.91},
]
# 下游跟踪模块按类别与 IoU 进行关联
三、语义分割与实例分割:从像素到个体
语义分割为每个像素分配一个类别标签,如道路、天空、车辆、行人、建筑。它的价值在于提供稠密的环境理解,尤其适合可行驶区域提取与道路边界识别。语义分割不区分同类个体,因此两辆相邻的车在语义分割结果中会连成一片。
实例分割在语义分割基础上增加实例 ID,使同类目标可以逐个区分。Mask R-CNN 是典型代表:在 Faster R-CNN 的检测分支上增加一个掩码分支,对每个候选框预测像素级掩码。在 NOA 中,实例分割用于区分相邻车辆、锥桶、施工围栏等,避免跟踪时发生 ID 切换。
| 任务 | 输出形式 | 是否区分同类个体 | NOA 典型用途 |
|---|---|---|---|
| 目标检测 | 边界框 + 类别 + 分数 | 是(按框区分) | 目标跟踪、轨迹预测输入 |
| 语义分割 | 逐像素类别图 | 否 | 可行驶区域、道路结构 |
| 实例分割 | 逐像素类别 + 实例 ID | 是 | 相邻车辆区分、锥桶识别 |
| 关键点检测 | 结构点坐标 + 置信度 | 是(按点集区分) | 行人姿态、车辆角点、意图 |
| 多任务学习 | 多任务联合输出 | 视任务而定 | 共享特征、提升实时性 |
四、关键点检测:结构信息的轻量表达
关键点检测输出目标内部的结构点,例如人体 17 个关节、车辆 4 个角点、车道线控制点。相比分割掩码,关键点更紧凑,计算量更小,适合表达姿态与朝向。在 NOA 中,行人关键点可用于判断其是否面向自车、是否处于行走状态;车辆角点可用于估计 3D 框的朝向与尺寸。
关键点检测的常见做法是热力图回归:为每个关键点生成一张高斯热力图,峰值位置即关键点坐标。HRNet 通过保持高分辨率特征贯穿整个网络,在关键点任务上表现稳定。工程中需注意关键点遮挡与截断问题,通常结合时序信息进行平滑。
五、多任务学习:共享与权衡
多任务学习让一个网络同时输出检测、分割、关键点等结果。其核心优势是共享主干特征,减少重复计算,提升实时性;同时任务之间可以互相约束,例如分割提供的边界信息有助于检测框回归,检测框有助于实例分割的候选生成。
但多任务学习并非简单叠加。不同任务的损失量级、收敛速度、梯度方向可能冲突,导致负迁移。工程中常用做法包括:损失加权(如不确定性加权)、梯度裁剪、任务特定 BN、以及分阶段训练。NOA 中常见的配置是“检测 + 可行驶区域分割 + 车道线关键点”三任务联合,兼顾目标、道路与结构。
六、复盘:任务选择与接口设计
在 NOA 感知系统设计中,任务选择应围绕下游需求展开。预测模块需要目标级轨迹,因此检测与跟踪是刚需;规划模块需要可行驶区域与道路边界,因此语义分割不可缺;行人意图与车辆朝向需要关键点或 3D 信息。多任务学习是提升效率的手段,而非目的。合理的做法是先明确每个下游模块的输入契约,再决定感知任务组合与输出格式,最后通过多任务网络统一实现。
本节从任务分类出发,梳理了检测、语义分割、实例分割、关键点检测与多任务学习的输出形式与 NOA 用途。理解这些任务的差异与联系,是后续设计感知-预测-规划接口的基础。