3. 场景建模方法
场景建模是场景覆盖度评估的“地基”。如果场景定义模糊、边界不清、粒度混乱,后续的覆盖率计算、数据补齐和测试验证都会失去可靠基准。本节围绕四个递进环节展开:先把场景拆成可度量的要素,再建立分类体系,然后构建可计算、可检索的场景空间,最后用优先级划分确定补齐与验证的先后顺序。
一、核心原理:从“一段描述”到“可计算对象”
场景建模的本质,是把自然语言描述的真实世界片段,转化为结构化、可枚举、可组合的模型对象。一个场景通常由五类要素构成:环境条件(天气、光照、道路类型)、静态要素(车道线、交通标志、障碍物)、动态要素(车辆、行人、骑行者)、任务目标(本车要完成的驾驶行为)以及约束与评价(限速、安全距离、通过标准)。只有把这些要素显式拆解,才能判断“哪些组合已覆盖、哪些组合缺失”。
场景 = 环境条件 × 静态要素 × 动态要素 × 任务目标 × 约束评价
其中“×”表示组合关系,而非简单相加。组合爆炸正是场景空间需要分层、分类和优先级管理的原因。
二、场景要素拆解:建立参数化字典
要素拆解的目标是形成一份可复用的“场景参数字典”。每个要素都应具备名称、取值域、单位、来源和默认值。例如,环境条件中的“天气”可枚举为晴、雨、雪、雾;“光照”可枚举为白天、黄昏、夜间;“道路类型”可枚举为高速、城市主干道、园区道路、乡村道路。动态要素则需描述类型、数量、初始位置、速度、航向和交互意图。
拆解时建议遵循三个原则:正交性(要素之间尽量不重叠)、可观测性(取值能由传感器或日志验证)、可组合性(不同取值能稳定拼接成完整场景)。下表给出一个简化的要素拆解清单。
| 要素类别 | 典型参数 | 取值示例 | 建模用途 |
|---|---|---|---|
| 环境条件 | 天气、光照、路面 | 雨 / 夜间 / 湿滑 | 影响感知与制动距离 |
| 静态要素 | 道路类型、车道数、标志 | 城市主干道 / 3车道 / 限速60 | 定义场景骨架 |
| 动态要素 | 交通参与者、速度、意图 | 前车急刹 / 行人横穿 | 生成交互与冲突 |
| 任务目标 | 本车行为 | 跟车、变道、左转、避让 | 绑定待验证功能 |
| 约束评价 | 安全距离、通过标准 | TTC≥1.5s、无碰撞 | 判定通过或失败 |
三、场景分类体系:多维度标签而非单层树
分类体系决定场景如何被检索、统计和补齐。实践中不建议只建一棵单层树,而应采用“多维度标签体系”。常见维度包括:功能维度(感知、决策、控制)、道路维度(高速、城市、泊车)、交互维度(无交互、跟车、切入、横穿)、风险维度(常规、边缘、危险)以及来源维度(实车、仿真、法规、事故)。
多维度标签的好处是:同一场景可以同时属于“城市道路 + 行人横穿 + 高风险 + 事故来源”,在覆盖率统计时既能按功能切片,也能按风险切片。分类体系应保持稳定,但允许新增标签;新增标签必须回溯标注已有场景,避免出现“标签孤岛”。
四、场景空间构建:从离散枚举到可计算坐标
场景空间是把拆解后的要素取值进行组合,形成可枚举、可采样、可度量的空间。构建方式通常有三种:笛卡尔积枚举适合小规模关键参数;等价类划分把连续取值划分为若干区间;基于本体的图结构适合表达要素之间的依赖与约束。无论哪种方式,都要为每个场景分配唯一标识,并记录其参数向量。
scene_id: SC-URB-PED-0042
params:
road_type: urban_arterial
weather: rain
light: night
ego_task: left_turn
dynamic: pedestrian_crossing
risk_level: high
coverage_tags: [urban, pedestrian, night, rain, left_turn]
场景空间构建完成后,应能回答三个问题:当前已覆盖哪些参数组合?哪些组合在物理上不可能或不允许?哪些组合虽然可能但尚未采集数据?这三个问题的答案,直接决定数据补齐的方向。
五、场景优先级划分:用风险与稀缺度排序
场景数量往往远大于可投入的测试与数据采集资源,因此必须划分优先级。推荐使用“风险 × 稀缺度 × 业务价值”的三维评分:风险高、现有数据少、且直接关联核心功能的场景优先。具体可采用如下判断规则:
- P0:高风险 + 零覆盖,如夜间行人横穿、高速前车急刹;必须优先补齐。
- P1:高风险 + 低覆盖,或中风险 + 零覆盖;安排专项采集或仿真生成。
- P2:中风险 + 中覆盖,或低风险 + 零覆盖;纳入常规迭代。
- P3:低风险 + 已有覆盖;仅做回归验证,不额外投入。
六、案例:城市左转遇行人横穿
以“城市主干道夜间雨天左转,遇行人横穿”为例。要素拆解得到:环境=夜间+雨;静态=主干道+左转路口;动态=行人从右侧横穿;任务=本车左转;约束=不碰撞且TTC不低于阈值。分类标签为 urban、left_turn、pedestrian、night、rain、high_risk。场景空间中该组合若尚未被采集,则优先级评为 P0。数据补齐时,可先在仿真中批量生成不同行人速度与起始距离的变体,再挑选高风险变体进行实车或封闭场地验证。
七、常见误区与复盘
- 误区一:只按功能分类。导致同一风险场景散落在多个功能目录下,覆盖率被重复计算或漏算。
- 误区二:要素取值过粗。如“天气=坏”无法区分雨、雪、雾对感知的不同影响。
- 误区三:优先级只看发生频率。低频高危场景恰恰是长尾短板,不能因频率低而排后。
- 误区四:场景空间只建不维护。新增传感器配置或新法规后,参数字典未同步,导致评估失真。
综上,场景建模方法可以概括为“拆解—分类—构建—排序”的闭环:要素拆解提供参数基础,分类体系提供检索维度,场景空间提供组合与覆盖计算,优先级划分提供资源投放依据。四者缺一不可,共同支撑后续的覆盖度评估与数据补齐工程。