Page 93 - 《软件学报》2025年第8期
P. 93
3516 软件学报 2025 年第 36 卷第 8 期
∫
f (x) p(x)
[ ]
E f (x) = q(x)dx.
q(x)
p(x)
[
假设计算一个随机变量 X 的期望 E f(X )], 其中 X 服从概率分布 p(x). 其中, 为重要性权重, 用于调整因
q(x)
N
为提议分布 q(x) 与目标分布 p(x) 不匹配而引入的偏差. 然后, 通过从 p(x) 中采样 N 个样本 {x i } , 用加权样本均
i=1
[
值来估计 E f(X )]:
1 N ∑ f (x i ) p(x i )
[ ]
ˆ E f (x) = ,
N q(x i )
i=1
p(x i )
i
其中, x i 是从 q(x) 分布中抽取的第 个样本, 是相应的重要性权重值. 重要性采样的优势在于它能够减少估
q(x i )
计的方差, 尤其是当某些区域的 f (x) p(x) 远大于其他区域而在 p(x) 下的采样概率却很小时, 因此选择一个好的提
议分布 q(x), 使其尽可能接近 f (x) p(x), 可以显著提高估计的效率和准确性. 然而, 选择一个合适 q(x) 很具挑战性,
需要对问题有深入的理解.
在自动驾驶场景生成领域, 重要性采样可用于提高场景生成、采样的效率. Zhao 等人 [13] 使用重要性采样技术
来加速自动驾驶车辆在换道场景中安全性的评估, 采用偏向于更多危险场景的分布, 显著减少了评估自动驾驶车
辆安全性能所需的模拟测试数量. 清华大学 Feng 等人 [14] 提出构建一个同时具有自然和对抗特性的驾驶环境, 将
重要性采样技术应用于特定时刻执行特定的对抗性动作, 提高自动驾驶的测试效率. Arief 等人 [15] 提出了“深度概
率加速评估”框架, 通过结合支配点概念和深度学习来学习稀有事件集实现重要性采样, 验证智能驾驶算法的安全
性. 在 ADS 场景生成过程中, 安全关键场景发生概率低, 采用传统蒙特卡罗采样算法生成关键场景效率低, 而通过
重要性采样可以显著提高采样的效率.
2 基于 SML4ADS2.0 模型驱动式场景建模
本文前期工作 [16] 从模型驱动工程角度, 基于专家知识分析自动驾驶场景的关键内容与建模要素, 设计并实
现了面向自动驾驶场景的领域特定建模语言 (scenario modeling language for autonomous driving system,
SML4ADS), 以灵活地建模 ADS 的特定驾驶场景. 随着 ADS 系统的安全性需求日益增强, SML4ADS 在构建复杂、
准确的自动驾驶逻辑场景模型仍然存在局限性, 因缺乏领域知识指导和参数动态变化导致场景建模表达能力不
足, 限制其工业化应用. 为了解决复杂场景建模问题, 本文提出基于 ASAM OpenXOntology 和 ISO 3450X 标准, 通
过使用本体概念和参数概率分布, 增强对复杂自动驾驶场景的建模能力, 实现了场景建模语言 SML4ADS2.0 版本.
本节将简要介绍基于 SML4ADS2.0 的模型驱动式场景建模方法, 重点介绍其语言结构, 抽象语法、语义及其基于
树形结构的行为规划模型, 这也是本文的主要创新点之一.
2.1 场景建模 SML4ADS2.0 的结构与理论方法
根据 OpenXOntology 标准自动驾驶领域知识与 ISO 34501 标准自动驾驶测试场景中的关键术语和定义, 识别
自动驾驶场景的关键内容以及建模元素, 借助模型驱动软件开发的思想, 设计 SML4ADS2.0 的抽象语法、具体语
法以及语义. 此外, 为了有效提高场景建模效率, 避免文本语法冗余和复杂的结构问题, 方便设计者以可视化的方
式建模场景, 本文设计、实现了 SML4ADS2.0 的可视化建模工具.
根据模型驱动理论, 构建自动驾驶领域场景建模语言, 我们设计该建模语言的抽象语法、具体语法及语义模
型. 详细技术细节请参见团队前期的工作 [16,17] , 其语言结构如图 2 所示, 该语言采用了文本形式刻画静态场景信
息, 例如车辆位置、地图等, 并支持以图形化的方式建模车辆的行为, 这两种方式的结合, 为用户定义场景的静态
和动态信息提供了便捷的途径. 最终, 用户构建的 SML4ADS2.0 场景模型, 以 JSON 文件的格式存储, 可用于模型
验证及仿真.
图 2 所示为 SML4ADS2.0 场景建模的结构与理论方法. 场景建模语言 SML4ADS2.0 包括抽象语法、具体语
法以及语义. 其中, 抽象语法是基于自动驾驶本体领域知识, 抽象场景建模语言的关键元素以及元素之间的关系.

