面向自动驾驶的关键场景生成方法、装置及计算机设备制造方法及图纸

技术编号:36813240 阅读:23 留言:0更新日期:2023-03-09 00:58
本发明专利技术公开了一种面向自动驾驶的关键场景生成方法、装置及计算机设备,属于自动驾驶技术领域。所述方法包括:获取自动驾驶测试的测试任务对应的场景描述信息;从场景地图中获取符合场景描述信息的测试区域,并在测试区域中针对被测对象设置符合测试任务的行驶路线;从场景描述信息中提取场景参与者的原子动作;初始化强化学习模型对应的经验回放池,并基于场景描述信息、测试区域以及行驶路线,构建样本数据以存储至经验回放池;从经验回放池中抽取样本数据对强化学习模型进行更新,并通过更新后的强化学习模型获取原子动作的确定参数值;基于所有原子动作的确定参数值,生成用于实现测试任务的关键场景。本发明专利技术能够提升关键场景的生成效率。场景的生成效率。场景的生成效率。

【技术实现步骤摘要】
面向自动驾驶的关键场景生成方法、装置及计算机设备


[0001]本专利技术属于自动驾驶
,特别涉及一种面向自动驾驶的关键场景生成方法、装置及计算机设备。

技术介绍

[0002]基于场景的测试方法是自动驾驶系统工程中的关键环节。由于驾驶环境和驾驶任务的复杂性,自动驾驶系统可能遇到的驾驶场景数量是无限的。因此,必须对场景进行识别,生成那些有着高风险(车辆碰撞)的关键场景,这对于自动驾驶系统设计、确认和验证工作及其安全基础尤为重要,关乎自动驾驶研发的效率、安全与质量。
[0003]关键场景生成旨在从给定的逻辑场景中找到具体的关键场景,其中,逻辑场景是具有参数定义和取值范围的状态空间级别的场景,而具体场景是具有具体参数值的逻辑场景的具体化。因此,如何从无限参数空间中找到具体临界参数成为关键场景生成技术面临的核心挑战。相关技术采用的关键场景生成方法基于随机测试或组合测试,前者通过随机测试直接从逻辑场景的参数范围中采样,得到具体场景中参与者行动所需要的参数;后者通过组合测试生成多组尽可能覆盖参数范围的具体参数值得到多个参数组合,然后在仿真软件中基于参数组合模拟具体场景的执行以观测是否发生高风险事故,若发生则将该参数组合构成的具体场景标注为关键场景,否则继续采样得到新的参数组合。
[0004]然而,由于关键场景的数量稀少,采用相关技术中随机测试或组合测试的方式通常需要采样近百次才能获得一个关键场景,生成效率低下。

技术实现思路

[0005]为解决上述问题,本专利技术提出了一种面向自动驾驶的关键场景生成方法、装置及计算机设备,能够提升关键场景的生成效率,实现关键场景的快速生成。
[0006]为实现上述目的,本专利技术的
技术实现思路
包括:
[0007]一种面向自动驾驶的关键场景生成方法,所述方法包括:
[0008]获取自动驾驶测试的测试任务对应的场景描述信息,所述场景描述信息用于指示场景发生区域和场景参与者相关的信息;
[0009]从场景地图中获取符合所述场景描述信息的测试区域,并在所述测试区域中针对被测对象设置符合所述测试任务的行驶路线;
[0010]从所述场景描述信息中提取所述场景参与者的原子动作;
[0011]初始化强化学习模型对应的经验回放池,并基于所述场景描述信息、所述测试区域以及所述行驶路线,构建样本数据以存储至所述经验回放池;
[0012]从所述经验回放池中抽取样本数据对所述强化学习模型进行更新,并通过更新后的强化学习模型获取所述原子动作的确定参数值;
[0013]基于所有原子动作的确定参数值,生成用于实现所述测试任务的关键场景,所述关键场景是指所述被测对象和所述场景参与者发生碰撞的概率最大的测试场景。
[0014]可选地,所述基于所述场景描述信息、所述测试区域以及所述行驶路线,构建样本数据以存储至所述经验回放池,包括:针对原子动作a
i
,通过随机生成函数获取所述原子动作a
i
的训练参数值,所述i为正整数;通过接入有所述被测对象的自动驾驶仿真测试平台,按照所述测试区域和所述行驶路线,对环境状态s
i
的训练参数值和所述原子动作a
i
的训练参数值进行处理,获取环境状态s
i+1
的训练参数值、所述原子动作a
i
对应的训练奖励以及碰撞状态;其中,初始的环境状态s1的训练参数值基于所述场景描述信息得到;基于所述i、所述环境状态s
i
的训练参数值、所述原子动作a
i
的训练参数值、所述环境状态s
i+1
的训练参数值、所述原子动作a
i
对应的训练奖励以及碰撞状态,构建所述原子动作a
i
对应的样本数据;令i=i+1,从针对原子动作a
i
,通过随机生成函数获取所述原子动作a
i
的训练参数值的步骤开始再次执行,直至针对所有原子动作均完成样本数据的构建;将针对所有原子动作对应的样本数据的构建过程重复执行u个回合,并将所述u个回合中构建的所有样本数据存储至所述经验回放池。
[0015]可选地,所述原子动作的总数为n,所述n为大于或等于所述i的正整数;所述通过随机生成函数获取所述原子动作a
i
的训练参数值,包括:通过所述随机生成函数从所述原子动作a
i
的参数范围中随机采样,并在采样结果中加入填充掩码和时序掩码,获取所述原子动作a
i
的训练参数值;其中,所述填充掩码用于在所述采样结果中填充n

1个原子动作的参数值,使所述原子动作a
i
的训练参数值以长度为所述n的动作空间表示;所述时序掩码用于将所述动作空间中执行时序位于所述原子动作a
i
之后的n

i个原子动作的参数值置为零,并且,将所述动作空间中执行时序位于所述原子动作a
i
之前的i

1个原子动作的参数值置为相应原子动作的训练参数值。
[0016]可选地,所述原子动作a
i
对应的训练奖励为所述强化学习模型在训练过程中获取的奖励,计算过程包括:针对每个场景参与者,基于所述被测对象的纵坐标和相应场景参与者的纵坐标之差,以及所述被测对象的纵向速度和相应场景参与者的纵向速度之差,计算所述被测对象与相应场景参与者之间的纵向碰撞时间;针对每个场景参与者,基于所述被测对象的横坐标和相应场景参与者的横坐标之差,以及所述被测对象的横向速度和相应场景参与者的横向速度之差,计算所述被测对象与相应场景参与者之间的横向碰撞时间;基于所述纵向碰撞时间和所述横向碰撞时间,计算所述被测对象与每个场景参与者之间的风险因子;将所述被测对象与所有场景参与者之间的风险因子中最大值与额外奖励之和,作为所述强化学习模型获取的奖励。
[0017]可选地,所述基于所述纵向碰撞时间和所述横向碰撞时间,计算所述被测对象与每个场景参与者之间的风险因子,包括:针对每个场景参与者,若所述纵向碰撞时间大于零,或者所述横向碰撞时间大于零,则将所述纵向碰撞时间和所述横向碰撞时间中最大值的相反数,作为所述被测对象与相应场景参与者之间的风险因子;针对每个场景参与者,若所述纵向碰撞时间小于或等于零,并且所述横向碰撞时间小于或等于零,则将所述纵向碰撞时间和所述横向碰撞时间之差的绝对值,与所述纵向碰撞时间和所述横向碰撞时间中最小值之差的倒数,作为所述被测对象与相应场景参与者之间的风险因子。
[0018]可选地,所述经验回放池包括正样本缓冲区和负样本缓冲区;所述将所述u个回合中构建的所有样本数据存储至所述经验回放池,包括:按照所述碰撞状态对所述u个回合中构建的所有样本数据进行分类,获取至少一个正样本和至少一个负样本;将所述至少一个
正样本存储在所述正样本缓冲区,并将所述至少一个负样本存储在所述负样本缓冲区;其中,所述正样本是指所述被测对象与所述场景参与者发生碰撞的样本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向自动驾驶的关键场景生成方法,其特征在于,所述方法包括:获取自动驾驶测试的测试任务对应的场景描述信息,所述场景描述信息用于指示场景发生区域和场景参与者相关的信息;从场景地图中获取符合所述场景描述信息的测试区域,并在所述测试区域中针对被测对象设置符合所述测试任务的行驶路线;从所述场景描述信息中提取所述场景参与者的原子动作;初始化强化学习模型对应的经验回放池,并基于所述场景描述信息、所述测试区域以及所述行驶路线,构建样本数据以存储至所述经验回放池;从所述经验回放池中抽取样本数据对所述强化学习模型进行更新,并通过更新后的强化学习模型获取所述原子动作的确定参数值;基于所有原子动作的确定参数值,生成用于实现所述测试任务的关键场景,所述关键场景是指所述被测对象和所述场景参与者发生碰撞的概率最大的测试场景。2.根据权利要求1所述的方法,其特征在于,所述基于所述场景描述信息、所述测试区域以及所述行驶路线,构建样本数据以存储至所述经验回放池,包括:针对原子动作a
i
,通过随机生成函数获取所述原子动作a
i
的训练参数值,所述i为正整数;通过接入有所述被测对象的自动驾驶仿真测试平台,按照所述测试区域和所述行驶路线,对环境状态s
i
的训练参数值和所述原子动作a
i
的训练参数值进行处理,获取环境状态s
i+1
的训练参数值、所述原子动作a
i
对应的训练奖励以及碰撞状态;其中,初始的环境状态s1的训练参数值基于所述场景描述信息得到;基于所述i、所述环境状态s
i
的训练参数值、所述原子动作a
i
的训练参数值、所述环境状态s
i+1
的训练参数值、所述原子动作a
i
对应的训练奖励以及碰撞状态,构建所述原子动作a
i
对应的样本数据;令i=i+1,从针对原子动作a
i
,通过随机生成函数获取所述原子动作a
i
的训练参数值的步骤开始再次执行,直至针对所有原子动作均完成样本数据的构建;将针对所有原子动作对应的样本数据的构建过程重复执行u个回合,并将所述u个回合中构建的所有样本数据存储至所述经验回放池。3.根据权利要求2所述的方法,其特征在于,所述原子动作的总数为n,所述n为大于或等于所述i的正整数;所述通过随机生成函数获取所述原子动作a
i
的训练参数值,包括:通过所述随机生成函数从所述原子动作a
i
的参数范围中随机采样,并在采样结果中加入填充掩码和时序掩码,获取所述原子动作a
i
的训练参数值;其中,所述填充掩码用于在所述采样结果中填充n

1个原子动作的参数值,使所述原子动作a
i
的训练参数值以长度为所述n的动作空间表示;所述时序掩码用于将所述动作空间中执行时序位于所述原子动作a
i
之后的n

i个原子动作的参数值置为零,并且,将所述动作空间中执行时序位于所述原子动作a
i
之前的i

1个原子动作的参数值置为相应原子动作的训练参数值。4.根据权利要求2所述的方法,其特征在于,所述原子动作a
i
对应的训练奖励为所述强化学习模型在训练过程中获取的奖励,计算过程包括:针对每个场景参与者,基于所述被测对象的纵坐标和相应场景参与者的纵坐标之差,
以及所述被测对象的纵向速度和相应场景参与者的纵向速度之差,计算所述被测对象与相应场景参与者之间的纵向碰撞时间;针对每个场景参与者,基于所述被测对象的横坐标和相应场景参与者的横坐标之差,以及所述被测对象的横向速度和相应场景参与者的横向速度之差,计算所述被测对象与相应场景参与者之间的横向碰撞时间;基于所述纵向碰撞时间和所述横向碰撞时间,计算所述被测对象与每个场景参与者之间的风险因子;将所述被测对象与所有场景参与者之间的风险因子中最大值与额外奖励之和,作为所述强化学习模型获取的奖励。5.根据权利要求4所述的方法,其特征在于,所述基于所述纵向碰撞时间和所述横向碰撞时间,计算所述被测对象与每个场景参与者之间的风险因子,包括:针对每个场景参与者,若所述纵向碰撞时间大于零,或者所述横向碰撞时间大于零,则将所述纵向碰撞时间和所述横向碰撞时间中最大值的相反数,作为所述被测对象与相应场景参与者之间的风险因子;针对每个场景参与者,若所述纵向碰撞时间小于或等于零,并且所述横向碰撞时间小于或等于零,则将所述纵向碰撞时间和所述横向碰撞时间之差的绝对值,与所述纵向碰撞时间和所述横向碰撞时间中最小值之差的倒数,作为所述被测对象与相应场景参与者之间的风险因子。6.根据权利要求2所述的方法,其特征在于,所述经验回放池包括正样本缓冲区和负样本缓冲区;所述将所述u个回合中构建的所有样本数据存储至所述经验回放池,包括:按照所述碰撞状态对所述u个回合中构建的所有样本数据进行分类,获取至少一个正样本和至少一个负样本;将所述至少一个正样本存储在所述正样本缓冲区,并将所述至少一个负样本存储在所述负样本缓冲区;其中,所述正样本是指所述被测对象与所述场景参与者发生碰撞的样本数据,所述负样本是指所述被测对象与所述场景参与者未发生碰撞的样本数据。7.根据权利要求1所述的方法,其特征在于,所述强化学习模型包括:演员网络、演员网络对应的目标网络、第一评论员网络、第一评论员网络对应的目标网络、第二评论员网络、第二评论员网络对应的目标网络;其中,所述演员网络,用于对输入的当前环境状态的参数值进行处理,输出当前原子动作的参数值;所述第一评论员网络和所述第二评论员网络,用于对输入的样本数据进行处理,分别输出相应原子动作对应的第一评价值和第二评价值;所述目标网络,用于稳定所述强化学习模型的期望收益。8.根据权利要求7所述的方法,其特征在于,所述从所述经验回放池中抽取样本数据对所述强化学习模型进行更新,并通过更新后的强化学习模型获取所述原子动作的确定参数值,包括:针对原子动作a
i
,从所述经验回放池中抽取目标数量...

【专利技术属性】
技术研发人员:薛云志康舒婷郭恒刘光镇董乾孟令中陈贺杨光
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1