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:低风险 + 已有覆盖;仅做回归验证,不额外投入。
优先级不是一次性结论。当新法规、新事故或新功能上线时,风险权重会变化,P2 可能升级为 P0。建议每轮评估后重新计算优先级,并保留变更记录。

六、案例:城市左转遇行人横穿

以“城市主干道夜间雨天左转,遇行人横穿”为例。要素拆解得到:环境=夜间+雨;静态=主干道+左转路口;动态=行人从右侧横穿;任务=本车左转;约束=不碰撞且TTC不低于阈值。分类标签为 urban、left_turn、pedestrian、night、rain、high_risk。场景空间中该组合若尚未被采集,则优先级评为 P0。数据补齐时,可先在仿真中批量生成不同行人速度与起始距离的变体,再挑选高风险变体进行实车或封闭场地验证。

七、常见误区与复盘

  • 误区一:只按功能分类。导致同一风险场景散落在多个功能目录下,覆盖率被重复计算或漏算。
  • 误区二:要素取值过粗。如“天气=坏”无法区分雨、雪、雾对感知的不同影响。
  • 误区三:优先级只看发生频率。低频高危场景恰恰是长尾短板,不能因频率低而排后。
  • 误区四:场景空间只建不维护。新增传感器配置或新法规后,参数字典未同步,导致评估失真。
场景建模的产出不是一张静态清单,而是一套可持续演进的“场景资产库”。每次数据补齐和测试验证后,都应回写覆盖状态与优先级,形成闭环。
场景建模四步法与场景空间构建 ① 要素拆解 环境 · 静态 · 动态 任务 · 约束评价 形成参数字典 ② 分类体系 功能 · 道路 · 交互 风险 · 来源 多维度标签 ③ 场景空间 枚举 · 等价类 本体图结构 唯一ID + 参数向量 ④ 优先级 风险 × 稀缺度 × 业务价值 P0 ~ P3 场景空间:参数组合与覆盖状态 天气 晴 雨 雪 雾 光照 白天 黄昏 夜间 动态要素 前车急刹 行人横穿 车辆切入 本车任务 跟车 左转 变道 覆盖状态 已覆盖 部分覆盖 未覆盖 优先级划分 P0 高风险零覆盖 P1 高风险低覆盖 P2 中风险中覆盖 P3 低风险已覆盖

综上,场景建模方法可以概括为“拆解—分类—构建—排序”的闭环:要素拆解提供参数基础,分类体系提供检索维度,场景空间提供组合与覆盖计算,优先级划分提供资源投放依据。四者缺一不可,共同支撑后续的覆盖度评估与数据补齐工程。