2. 感知系统需求解析

在智能驾驶项目中,客户给出的往往不是“毫米波雷达要探测 200 米”这样的技术指标,而是“车辆在高速公路上能以 130 km/h 自动巡航,并识别前方静止或慢速车辆”这类功能需求。感知系统需求解析的核心任务,就是把这类功能语言翻译成可设计、可测试、可验收的感知性能指标,并建立从功能到指标、从指标到验证的双向追溯关系。如果这一步做不扎实,后续的传感器选型、算法设计和测试用例都会失去依据。

一、需求分解的基本逻辑:功能 → 场景 → 指标

需求分解不是一次性翻译,而是一个逐层约束的过程。通常遵循“功能需求 → ODD 边界 → 场景集合 → 感知任务 → 性能指标”的路径。功能需求描述车辆应该做什么;ODD 界定这些功能在哪些条件下被允许激活;场景集合把 ODD 拆成可枚举的具体工况;感知任务明确每个场景下感知系统必须输出什么;性能指标则给出这些输出的量化门槛。

以“高速公路自动巡航”为例,其 ODD 可能包括:道路类型为封闭高速公路、天气为无雨无雾、光照为白天或夜间有路灯、车速范围 0~130 km/h。由此可导出典型场景:本车 120 km/h 接近前方 30 km/h 慢速车辆、本车 100 km/h 接近静止车辆、相邻车道车辆切入等。每个场景对应不同的感知任务:前方车辆检测、距离测量、相对速度估计、切入目标识别。最终落到指标上,就是探测距离、距离精度、速度精度、召回率等。

功能需求 → ODD → 场景 → 感知任务 → 性能指标 分解与追溯链 功能需求(客户语言) 高速公路自动巡航,130 km/h 下识别前方静止/慢速车辆并安全跟车或变道 ODD 运行设计域(边界条件) 道路:封闭高速 | 天气:无雨雾 | 光照:白天/夜间有路灯 | 车速:0~130 km/h | 目标类型:车辆 场景集合(可枚举工况) S1:本车120接近前方30慢车 | S2:本车100接近静止车 | S3:相邻车道车辆切入 | S4:前车急减速 感知任务(系统输出定义) 前方车辆检测与分类 | 纵向距离/横向距离测量 | 相对速度估计 | 切入目标识别与跟踪 感知性能指标(可量化、可测试) 探测距离 ≥ 200 m | 距离精度 ≤ ±0.5 m | 速度精度 ≤ ±0.3 m/s | 召回率 ≥ 99.5% | 误报率 ≤ 1e-4/km 双向追溯 需求分解方向

二、ODD 是分解的第一道闸门

ODD 不是一句“高速公路”就能带过的。工程上需要把 ODD 拆成可判定的维度:道路几何(曲率半径、坡度、车道数)、交通参与者(车辆类型、密度、速度分布)、环境条件(照度、天气、路面状态)、自车状态(车速、载荷、传感器健康状态)。每个维度都要给出明确的取值或范围,否则测试时无法判断“是否在 ODD 内”。

例如,曲率半径可以定义为“≥ 500 m”,照度定义为“≥ 10 lux”,雨量定义为“无降雨或降雨量 < 0.5 mm/h”。这些边界直接决定感知指标的适用条件。如果 ODD 写“高速公路”,但没写曲率下限,那么算法在急弯场景下性能下降就无法被追责,也无法被验证。

三、从场景到指标的量化方法

场景确定后,需要为每个感知任务定义指标。以“前方车辆探测距离”为例,不能只写“≥ 200 m”,而要说明在什么条件下、对什么目标、以什么概率达到。工程上常用如下形式:

指标:前方车辆探测距离
条件:目标为乘用车(RCS 参考 10 m²),本车车速 120 km/h,目标车速 30 km/h,白天无雨
要求:在距离 200 m 处,检测召回率 ≥ 99%,距离精度 ≤ ±0.5 m
验证:在封闭高速路段,以 200 m 为起始距离,重复 100 次接近工况,统计召回率与误差分布

召回率(Recall)是感知指标中最容易被低估的一项。它回答的是“应该被检测到的目标中,实际检测到了多少”。对于安全相关功能,召回率通常要求 99% 以上,甚至 99.9%。但召回率不能孤立看,必须与误报率(False Positive Rate)联合约束。如果为了拉高召回率而放宽阈值,误报率会上升,导致幽灵刹车。因此指标定义中通常同时给出召回率和误报率上限,例如“召回率 ≥ 99.5%,误报率 ≤ 1e-4 /km”。

四、精度指标的定义与参照系

精度指标必须绑定参照系和测量点。距离精度是指目标参考点到本车后轴中心的纵向距离误差,还是到前保险杠的误差?速度精度是相对速度还是绝对速度?这些必须在需求文档中写清楚。常见的定义方式是:以本车后轴中心为原点,车辆前进方向为 X 轴正方向,左侧为 Y 轴正方向,距离精度指目标 X 坐标的误差绝对值 ≤ 0.5 m。

精度指标还分为系统误差和随机误差。系统误差可以通过标定修正,随机误差则决定滤波和融合策略。需求分解时,通常把总误差预算分配给传感器、标定、算法和融合各环节。例如总距离误差 ≤ 0.5 m,其中传感器原始误差 ≤ 0.3 m,标定残差 ≤ 0.1 m,融合算法引入误差 ≤ 0.1 m。这种分配方式让每个环节都有明确的设计目标。

五、追溯矩阵:让每条指标都有来源和去向

需求分解完成后,必须建立追溯关系。正向追溯回答“这条指标来自哪个功能需求”,反向追溯回答“这个功能需求被哪些指标覆盖”。工程上常用追溯矩阵(Traceability Matrix)来管理。矩阵的行是功能需求和场景,列是感知指标和测试用例,交叉点标注覆盖关系。

一个简化的追溯矩阵示例如下:

功能需求 场景 感知任务 性能指标 测试用例
高速自动巡航 S1 慢车接近 前方车辆检测 探测距离 ≥ 200 m TC-001
高速自动巡航 S2 静止车接近 距离/速度估计 距离精度 ≤ ±0.5 m TC-002
高速自动巡航 S3 车辆切入 切入目标识别 召回率 ≥ 99.5% TC-003
高速自动巡航 S4 前车急减速 相对速度估计 速度精度 ≤ ±0.3 m/s TC-004

追溯矩阵的价值在于:当某个测试用例失败时,可以快速定位它影响哪个功能需求;当功能需求变更时,可以快速找到需要重新验证的指标和用例。没有追溯矩阵,需求变更就会变成“改一处、漏三处”的混乱局面。

实践提示:在项目早期,ODD 和指标往往只能给出粗略范围。建议采用“滚动细化”策略:概念阶段先定义 ODD 维度和指标框架,设计阶段填充具体数值,测试阶段根据实测数据反向修正。每次修正都要更新追溯矩阵,确保功能、指标、用例三者始终一致。

六、常见误区与检查要点

需求分解中最常见的误区有三个。第一,把传感器指标直接当成感知指标。例如“雷达探测距离 200 m”是传感器能力,不等于感知系统在 200 m 处能稳定输出目标。第二,忽略 ODD 边界对指标的影响。同一个探测距离指标,在白天和夜间、干燥和湿滑路面下的表现可能差异很大,必须分条件定义。第三,召回率和误报率只写一个。安全功能必须同时约束两者,否则指标不可验收。

检查要点可以归纳为:每条指标是否有明确的 ODD 条件?是否有可执行的测试方法?是否有对应的功能需求来源?是否有量化的通过/失败判据?如果四个问题都能回答,这条指标才算真正可追溯、可验证。

从客户功能需求到感知性能指标,本质上是一次“从模糊到精确、从定性到定量、从孤立到关联”的工程翻译。ODD 划定边界,场景提供枚举,指标给出门槛,追溯矩阵保证一致性。掌握这套方法,才能在量产交付中做到需求不遗漏、指标不悬空、验证不重复。