第2章:场景理论——场景的定义与六层模型

大家好,我是你们的老朋友。今天我们来聊聊场景理论。

说实话,我刚入行那会儿,大家对「场景」的理解特别模糊。有人说场景就是一条路,有人说场景就是天气不好。嗯,这些都对,但都不完整。

直到后来,我参与了一个L3级自动驾驶项目。测试时发现,车辆在某个路口总是莫名其妙地急刹车。我们排查了整整两周,最后发现——问题出在路边的电子广告牌上。屏幕闪烁的频率刚好和摄像头曝光周期产生了共振,导致感知系统误判。

你看,这就是典型的场景问题。它不光是路、不光是天气,而是多种因素的组合。

2.1 场景的定义

先给场景下个定义。

场景,是指在特定时间和空间范围内,自动驾驶系统所面临的所有外部环境条件的集合。它包含了道路、交通参与者、天气、信号、临时事件等一切可能影响系统行为的因素。

我个人习惯把场景理解成「剧本」。你想想看,拍电影需要剧本,自动驾驶也需要。剧本里写了什么时间、什么地点、谁出场、发生了什么事。场景也是一样。

核心要点:

  • 场景是动态的,不是静态快照
  • 场景是多维的,不是单一因素
  • 场景是连续的,不是孤立片段

我在项目中遇到过一件事:同一个十字路口,白天和晚上的场景完全不同。白天有行人、非机动车、交通协管员;晚上只有零星车辆,但多了路灯眩光。如果你只测试了白天场景,那晚上出问题是迟早的事。

2.2 六层场景模型

好了,定义清楚了。那场景怎么拆解?

业内有个经典框架——六层场景模型。我第一次看到这个模型时,心里想的是:「终于有人把这事说清楚了。」

六层模型把场景拆成六个维度,每一层都对应一类影响因素。我们一层一层来看。

第一层:道路

道路是场景的「舞台」。没有路,车就没法开。

这一层包括:

  • 道路类型:高速公路、城市道路、乡村道路、匝道
  • 车道数量:单车道、双车道、多车道
  • 道路几何:直道、弯道、坡道、交叉口
  • 路面条件:干燥、湿滑、积雪、坑洼

举个例子。我测试过一个场景:城市快速路的弯道上,路面有轻微积水。结果车辆在弯中突然减速,差点被后车追尾。为什么?因为系统把积水误判成了障碍物。你看,道路条件直接影响感知。

我的经验:测试道路时,别只盯着「好路」。烂路、窄路、施工路段才是真正的考验。

第二层:交通设施

这一层说的是「人为设置的交通规则载体」。

包括:

  • 交通信号灯:红绿灯、箭头灯、闪烁灯
  • 交通标志:限速牌、禁止通行、让行标志
  • 标线:车道线、停止线、导流线
  • 护栏、隔离带、路缘石

这里有个坑,我踩过。有一次测试,路边的限速牌被树枝挡住了三分之一。系统没识别到,结果超速行驶。嗯,后来我们专门加了一个「遮挡检测」模块。

为什么会这样?因为交通设施不是永远清晰可见的。老化、遮挡、损坏,都是常态。

第三层:临时操作

这一层最容易被忽略。它指的是临时性、非永久性的交通管理措施。

比如:

  • 施工区域:锥桶、围挡、临时改道
  • 交通事故现场:车辆停靠、碎片散落
  • 临时交通管制:交警手势、临时信号灯
  • 特殊事件:游行、马拉松、火灾

我曾经在测试中遇到一个场景:前方有交通事故,交警用手势指挥车辆绕行。我们的车完全没反应,因为它只认红绿灯,不认人。后来我们花了三个月才把「交警手势识别」加进去。

注意:临时操作是SOTIF的「重灾区」。因为系统训练数据里很少包含这些边缘情况,但实际道路上随时可能发生。

第四层:物体

这一层是「动态参与者」和「静态障碍物」的集合。

动态物体:

  • 车辆:轿车、卡车、公交车、摩托车
  • 行人:成人、儿童、老人、推婴儿车的人
  • 动物:狗、猫、鸟、野生动物
  • 非机动车:自行车、电动滑板车

静态物体:

  • 路边的垃圾桶、邮筒、消防栓
  • 掉落的货物、轮胎碎片
  • 低矮的路障、石墩

我印象最深的一次测试:一只猫突然从路边窜出来。我们的车紧急刹车,但猫又突然折返,车又加速,结果猫又回头……最后猫跑了,但车里的测试员差点吐了。你看,动物的行为是不可预测的。

第五层:环境

环境层包括自然环境和气象条件

主要因素:

  • 光照:白天、夜晚、黄昏、隧道出入口
  • 天气:晴天、雨天、雪天、雾天、沙尘
  • 温度:高温、低温、结冰
  • 其他:强风、逆光、阴影

这里有个经典问题:逆光。下午三四点,太阳正好在正前方,摄像头直接过曝。我见过一个案例,车辆因为逆光没识别到前方的静止车辆,直接撞上去了。嗯,后来我们给摄像头加了偏振片,情况好了一些。

关键认知:环境不是「有或无」的问题,而是「程度」的问题。小雨和大雨对传感器的影响完全不同。

第六层:数字信息

这一层是近年来才加进来的。它指的是非物理世界的数字信号

包括:

  • V2X通信:车与车、车与路、车与云
  • 高精地图:实时更新、差分定位
  • 云端信息:交通流量、事故预警、天气预报
  • 数字孪生:虚拟仿真中的场景数据

数字信息的好处是「看得更远」。但坏处是——它可能出错。我遇到过V2X信号延迟,导致车辆提前减速,后车追尾。还有一次,高精地图没更新,路已经改了,车还在按旧地图走。

我的建议:数字信息可以作为辅助,但不能完全依赖。系统必须能在「断网」情况下安全运行。

2.3 六层模型的实践意义

你可能会问:知道这六层有什么用?

用处大了去了。

第一,场景覆盖。做测试时,你可以按这六层来设计场景矩阵。每一层都覆盖到,就不会漏掉关键因素。

第二,根因分析。出问题后,按六层去排查。是道路问题?还是物体问题?还是数字信息问题?定位更快。

第三,SOTIF分析。预期功能安全的本质就是「未知危险场景的发现」。六层模型帮你系统性地思考:哪些场景还没测到?哪些组合可能出问题?

我举个例子。有一次我们做SOTIF分析,按六层模型列了一个表格:

因素 潜在危险
道路 急弯+下坡 车速过快,弯道偏离
交通设施 限速牌被遮挡 超速行驶
临时操作 施工改道 系统无法规划路径
物体 儿童突然冲出 制动距离不足
环境 逆光+雨天 传感器性能下降
数字信息 V2X延迟 误判前方路况

你看,这么一列,哪些场景需要重点测试,一目了然。

2.4 小结

场景理论是SOTIF的基石。没有场景,就没有测试;没有测试,就没有安全。

六层模型帮我们把「混沌的现实」拆解成「可管理的维度」。每一层都有它的特殊性,每一层都可能藏着未知的危险。

我个人习惯在做项目时,先把六层模型贴在墙上。每次开会、每次评审,都对着它看一遍。你会发现,很多问题其实早就写在模型里了,只是你没注意到。

下一章,我们会深入探讨「场景探索的方法论」。到时候我会分享一些实战中踩过的坑,以及怎么用系统化的方法去发现那些「看不见的危险」。

嗯,今天就到这里。记住:场景不是玄学,是科学。拆开来看,其实没那么复杂。