Page 89 - 《软件学报》2026年第1期
P. 89
86 软件学报 2026 年第 37 卷第 1 期
于捕获自动驾驶系统的性能边界.
7.1.3 基于交通仿真的自动驾驶测试场景生成
在自动驾驶的测试场景中, 除了道路信息, 行人、其他车辆等参与者的行为也是交通场景中的重要组成部分.
因此, 许多研究者以参与者行为为切入点, 研究基于交通仿真的自动驾驶测试场景生成方法, 该类方法更关注参与
者对自动驾驶系统可能产生的影响. 基于交通仿真的自动驾驶测试场景生成方法通常通过分析现有交通数据, 提
取多种参与者的单独行为模式及参与者之间的交互模式, 并将其应用于仿真测试, 以生成更贴近真实应用场景的
测试用例. 例如, O’Kelly 等人 [106] 提出的罕见交通事件模拟工具利用美国交通部公共交通数据建模以学习交通行
为的基本分布, 并通过模仿学习来训练环境车辆行为的模型和一组描述人类驾驶策略的模型. 该方法通过控制标
准交通行为的基本分布估计事故概率, 结合自适应重要性抽样方法与交叉熵算法, 迭代近似最优重要性采样分布,
从而加速罕见事件的概率评估, 并将学习到的概率值分配给环境状态和代理行为. 与之类似, 自动驾驶测试工具
CRISCO 通过从真实交通轨迹中挖掘出有影响力的行为模式, 即一些常见的导致交通事故的参与者的行为 [124] .
CRISCO 通过检测参与者轨迹是否发生重叠来判断是否发生碰撞, 确定碰撞轨迹并进行分类, 最终获取到 8 种汽
车的行为模式和两种行人的行为模式. 之后, CRISCO 构建简单抽象的场景, 通过求解轨迹规范生成多个具体测试
场景, 并逐步引导参与者实施有影响力的行为, 以提升非关键场景的挑战性. 这类方法能够快速有效地生成使自动
驾驶系统发生崩溃的安全关键场景.
此外, 还有一些研究为解决现有的模拟器很少模拟自动驾驶车辆与其他交通参与者之间相互作用的问题, 提
出了多种模拟车辆与行人、车辆与自行车等交互模式的方法. 例如, Song 等人 [116] 提出了一个专注于无信号灯交
叉路口建模的场景分布模型, 该模型采用交通密度和碰撞时间 (time to collision, TTC) 来预测车辆-行人交互的场
景分布. 该方法使用泊松分布来决定在给定时间范围内出现一定数量的车辆或行人的概率, 将行人进入交叉口的
瞬间前方车辆撞到行人之前的剩余时间定义为碰撞发生的紧急程度来评估自动驾驶系统的性能. Chao 等人 [108] 提
出的基于力的概念来实现异构交通仿真的方法可以通过简单统一的方式准确地复制各种道路使用者的复杂行为
及其相互作用. 在构建模拟环境的过程中, 该方法主要关注影响自动驾驶汽车决策的交互作用, 即车辆与行人的交
互作用和车辆与自行车的交互作用. 作者将混合交通流中每个参与者的详细行为进行建模, 然后基于参与者的初
始状态 (位置和速度) 去重建各种参与者及其相互作用的复杂行为. Yang 等人 [125] 提出了一种在 CARLA 模拟器中
设计“自杀式”行人智能体的方法, 用于测试自动驾驶系统在涉及行人的危险情况下的安全性. 该行人被建模为一
个强化学习智能体, 并配备了两个自定义奖励函数, 使其不按照常规交通规则或行人行为模式行动, 而是倾向于与
自动驾驶汽车发生碰撞. 实验结果表明, “自杀式” 行人在识别自动驾驶系统的决策错误方面是有效的, 但生成的仿
真场景的真实性与合理性有待进一步确认.
目前, 将搜索优化算法与交通仿真相结合去实现更高效率地找到符合预设目标的关键交通仿真场景也是一个
值得探索的方向. 其中, 一些研究使用遗传算法生成关键交通仿真场景, 其主要原理是通过构造适应度函数, 对编
码后的参数进行搜索, 直到达到研究人员所设目标的最优解或是最大迭代次数. 例如, Zhou 等人 [117] 提出了基于遗
传算法的切入事件和跟车事件的模拟框架, 该框架由两个阶段组成: 初始场景生成和场景库生成. 在初始场景生成
阶段, 每个场景被视为一个个体, 个体的适应度 (TTC 指数) 代表了对场景的挑战性评估, 该框架对原始种群的个
体基因随机初始化, 并选择基于适应度的轮盘赌选择方法来确定初始场景. 在场景库生成阶段, 对于给定的初始场
景, 由该场景作为起点进行水平搜索和垂直搜索, 以找到具有挑战性的场景. 若找到, 算法将其更新为新的初始场
景, 由该场景作为起点重新进行搜索. 除了将生成具有挑战性的场景作为搜索或优化目标, 一些研究将场景多样化
作为最终求解目标, 例如 Kim 等人 [109] 提出的可以从路径和行为规范自动化生成仿真测试场景的测试用例生成框
架和 Li 等人 [114] 提出的场景覆盖率驱动的自动驾驶安全测试工具 ComOpT. 前者使用了一种可满足性模理论
(satisfiability modulo theories, SMT) 求解器来自动生成路径, 并引入了测试区域覆盖的概念, 根据生成的路径可以
覆盖的区域的多样性来量化生成路径的质量. ComOpT 通过组合测试生成抽象场景, 并使用 k 路组合测试作为覆
盖标准, 其目标是确保测试场景集能够覆盖任意 k 个类别的所有组合. ComOpT 将抽象场景生成问题定义为混合
整数线性规划问题以最大限度地增加覆盖率, 每个抽象场景都可以被视为概念等价类. 之后, ComOpT 通过查询地

