发明内容
为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
基于场景的仿真测试是智能网联汽车与自动驾驶落地的重要一环。仿真测试是指基于计算机软件对智能网联汽车的驾驶环境和道路环境进行模拟,提供多传感器感知、动力学、气象等与背景环境的交互反馈;场景生成是仿真测试的重要组成部分,包括静态场景和动态场景,静态场景提供路网信息、感知需要的背景环境等信息,动态场景提供车辆与行人的行为动作交互。目前场景生成的方法有,基于自然驾驶的场景生成,最危险场景评估法和临界工况场景生成法等。
而在自动驾驶技术研究中生成危险测试场景是重要的一环。现有技术虽然能够实现生成对应的危险测试场景,但需要对所有测试场景进行计算,道路测试的时间成本和经济成本比较大。
为了解决相关技术中存在的问题,本公开实施例提供了危险测试场景的生成方法及系统、电子设备、存储介质,用以解决现有技术中的生成危险测试场景消耗巨大时间和经济成本的问题。
在一些实施例中,提供了一种危险测试场景的生成方法,方法包括:
S10,收集自然驾驶场景集,所述自然驾驶场景集包括多个自然驾驶场景;
S20,分析自然驾驶场景集中的危险性元素;所述危险性元素为驾驶场景中影响危险的元素;
S30,将自然驾驶场景用危险性元素的状态执行动作来表示;
S40,根据自然驾驶场景集,分析出动作空间范围;
S50,在动作空间范围内,量化每个状态中执行每个动作的暴露度、严重度和可控度,来计算量化的危险度,作为危险度矩阵;其中,所述暴露度为在车辆处于危险状况时,对人员和财产造成危害的可能性;所述严重度为在车辆处于危险状况时,对生命和财产造成的损害的严重性;所述可控度为在车辆处于危险状况时,驾驶员控制车辆的程度;
S60,计算初始状态执行所有动作的危险度之和,作为初始状态的危险度;
S70,在危险度矩阵中,以初始状态的危险度作为起点,筛选出大于目标危险度的动作,将初始状态和大于目标危险度的动作,作为危险测试场景。
优选地,所述方法中的危险性元素包括背景车辆与被测试车的相对速度,背景车辆与被测试车的相对距离,被测试车的车速。
优选地,S30的将自然驾驶场景用状态执行动作来表示,包括:
用
的序列来表示每个自然驾驶场景用状态执行动作,其中,/>
表示在状态s做动作a。
优选地,S50的量化自然驾驶场景集中每个状态中执行每个动作的暴露度,包括:
状态s、动作a出现的频率
作为暴露度的量化值E,即:
优选地,S50的量化自然驾驶场景集中每个状态中执行每个动作的危险度,包括:
通过计算当前状态的碰撞时间TTC进行确定,根据下式计算,
其中,
表示状态s执行动作a的危险度,D为相对距离,V为相对速度。
优选地,S50的量化自然驾驶场景集中每个状态中执行每个动作的可控性,包括:
设
为状态s执行动作a的危险度,/>
为状态s执行动作a的可控性,则
S50的计算量化的危险度,包括:
其中,m为动作a的空间范围,进行规范后得到的迭代公式为:
其中t为时间,st为当前时间下做的状态,at为当前时间下做的动作,
根据迭代公式迭代计算后,获得危险度矩阵;其中危险度矩阵的每个单位为状态下动作的危险性。
优选地,S60的计算初始状态执行所有动作的危险度之和,作为初始状态的危险度,包括:
初始状态的危险度为初始状态
下做出空间内所有动作a的危险性之和,m为a的空间范围;
在一些实施例中,公开了一种系统,包括:
收集模块,被配置为收集自然驾驶场景集,所述自然驾驶场景集包括多个自然驾驶场景;
分析危险性元素模块,被配置为分析自然驾驶场景集中的危险性元素;所述危险性元素为驾驶场景中影响危险的元素;
转化表示模块,被配置为将自然驾驶场景用危险性元素的状态执行动作来表示;
分析空间范围模块,被配置为根据自然驾驶场景集,分析出动作空间范围;
获取危险度矩阵模块,被配置为在动作空间范围内,量化每个状态中执行每个动作的暴露度、严重度和可控度,来计算量化的危险度,作为危险度矩阵;其中,所述暴露度为在车辆处于危险状况时,对人员和财产造成危害的可能性;所述严重度为在车辆处于危险状况时,对生命和财产造成的损害的严重性;所述可控度为在车辆处于危险状况时,驾驶员控制车辆的程度;
计算初始状态模块,被配置为计算初始状态执行所有动作的危险度之和,作为初始状态的危险度;
生成危险测试场景模块,被配置为在危险度矩阵中,以初始状态的危险度作为起点,筛选出大于目标危险度的动作,将初始状态和大于目标危险度的动作,作为危险测试场景。
在一些实施例中,公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,执行如上述的危险测试场景的生成方法。
在一些实施例中,公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行如上述的危险测试场景的生成方法。
本公开实施例提供的一种危险测试场景的生成方法及系统、电子设备、存储介质,可以实现以下技术效果:
本公开实施例将测试场景生成问题转化为了一个状态序列生成问题,具体为分析自然驾驶场景集中的危险性元素;然后用危险性元素的状态执行动作来表示自然驾驶场景集;量化所有场景中状态执行动作的危险性;最后根据状态执行动作的危险性,筛选出危险测试场景
以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和系统可以简化展示。
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,各实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。本文中,诸如第一和第二等之类的关系术语仅仅用于将一个实体或者操作与另一个实体或操作区分开来,而不要求或者暗示这些实体或操作之间存在任何实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法或者电子设备中还存在另外的相同要素。本文中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的方法、产品等而言,由于其与实施例公开的方法部分相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
近年来,基于场景的仿真测试是智能网联汽车与自动驾驶落地的重要一环。仿真测试是指基于计算机软件对智能网联汽车的驾驶环境和道路环境进行模拟,提供多传感器感知、动力学、气象等与背景环境的交互反馈;场景生成是仿真测试的重要组成部分,包括静态场景和动态场景,静态场景提供路网信息、感知需要的背景环境等信息,动态场景提供车辆与行人的行为动作交互。目前场景生成的方法有,基于自然驾驶的场景生成。
现有技术往往通过自然驾驶来获取样本分布,生成危险场景。自然驾驶样本分布下的危险场景数量少,这限制了驱动下场景生成的应用和效果,难以生成大量危险场景。
在实际应用中,现有技术中存在难以生成大量危险场景的问题。
为了解决相关技术中存在的问题,本公开实施例提供了危险测试场景的生成方法及系统、电子设备、存储介质。本公开实施例通过对场景的简化和关键参数定义,减少重复场景测试和低效场景的测试如安全的场景。遗传算法迭代优化种群所需的较少,利用种群适应度的反馈,解决了自然驾驶的获取困难问题。危险场景的分布区域连通,可以采用暴力搜索的方式获取更多的危险场景。因此,本公开实施例能够高效生成大量危险场景,以便于用于驾驶场景的仿真测试。
其中,本公开实施例应用于电子设备,用于危险测试场景的生成。
结合图1所示,本公开实施例提供一种危险测试场景的生成方法,包括:
S10,收集自然驾驶场景集,所述自然驾驶场景集包括多个自然驾驶场景。
S20,分析自然驾驶场景集中的危险性元素;所述危险性元素为驾驶场景中影响危险的元素。
应理解,本公开实施例是针对无人驾驶的危险测试场景。要针对能够影响场景危险的元素进行分析。所述危险性元素可以是危险性元素包括背景车辆与被测试车的相对速度,背景车辆与被测试车的相对距离,被测试车的车速。另外,危险性元素还可以包括背景车辆与被测试车的相对重量,背景车辆与被测试车的相对体积。所述背景车辆为辅助测试的车辆,即为有可能与被测试车相撞的车辆。
S30,将自然驾驶场景用危险性元素的状态执行动作来表示。
这样,相当于量化了驾驶场景。用
的序列来表示每个自然驾驶场景用状态执行动作,其中,/>
表示在状态s做动作a。通过危险性元素的状态执行动作进行描述可以形成一个完整的测试场景。其中,背景车辆的动作a
t会将当前状态s
t转化为下一个状态
即/>
,体现了测试场景的马尔科夫性。需要说明的是,状态s是针对所有危险性元素的。背景车辆与被测试车的相对速度、背景车辆与被测试车的相对距离、被测试车的车速,三个数值的状态。/>
另外,在本公开实施例中,
表示在状态s连续执行动作
。/>
表示状态s
0连续变为s
x。
S40,根据自然驾驶场景集,分析出动作空间范围。
在自然驾驶场景集中,获取真实的动作a的数值范围,作为动作空间范围。应理解,量化了动作a的数值在实际合理的范围内,设为m。S50,在动作空间范围内,量化每个状态中执行每个动作的暴露度、严重度和可控度,来计算量化的危险度,作为危险度矩阵;其中,所述暴露度为在车辆处于危险状况时,对人员和财产造成危害的可能性;所述严重度为在车辆处于危险状况时,对生命和财产造成的损害的严重性;所述可控度为在车辆处于危险状况时,驾驶员控制车辆的程度。
S50,在动作空间范围内,量化每个状态中执行每个动作的暴露度、严重度和可控度,来计算量化的危险度,作为危险度矩阵;其中,所述暴露度为在车辆处于危险状况时,对人员和财产造成危害的可能性;所述严重度为在车辆处于危险状况时,对生命和财产造成的损害的严重性;所述可控度为在车辆处于危险状况时,驾驶员控制车辆的程度。
本公开实施例借鉴了功能安全的ASIL标准并进行了相关优化,ASIL标准根据损害的可能性和可接受性确定安全要求。安全级别由三个重要参数进行确定暴露度、严重度和可控度。对应地,在驾驶场景下,暴露度为该驾驶场景出现的可能性;严重度,用碰撞时间作为衡量变量;可控性看出可控性反映了当前动作下的一个持续性后果,可以映射为强化学习里的潜在价值即当前策略的危险性量化值。
将暴露度E、严重性S、可控度C的量化值进行表示,最终确定危险性的量化值ESC。每个场景序列可以表示为
,即
,所以确定场景序列的危险性首先需要确定状态s下做动作a的危险度/>
。因此要确认/>
,/>
和/>
。
针对暴露度E的计算,通过自然驾驶场景集的数据分析,可以得出状态s、动作a出现的频率
作为暴露度的量化值E,即:
针对严重性S的计算,通过计算当前状态的碰撞时间TTC进行确定,根据下式计算,
其中,
表示状态s执行动作a的危险度,D为相对距离,V为相对速度。
针对可控度C的计算,可控性
反映的是基于后续状态的持续性影响,/>
的可控性用当前动作状态s下做出动作a后,再进行下个动作的平均危险性E,如下式所示:等于做出某动作/>
后的平均危险性。
其中
为下个动作,是不确定的,所以用期望表示。所以通过量化和强化学习中的时间差分算法可得,/>
的危险度为:
其中m为动作 a的空间范围。得出基于状态动作的危险度定位公式后,结合强化学习策略,
,在当前状态s下做出a的奖励为
,更新迭代的策略为当前状态下所有动作的危险度平均值即
其中t为时间,s
t为当前时间下做的状态,a
t为当前时间下做的动作,
和/>
为强化学习中的系数。
通过迭代,当迭代误差小于阈值时,停止迭代,可以获取状态动作危险性矩阵,其中每个单位为当前状态下做某个动作的危险性量化值。其中,
和/>
为强化学习中的系数,可根据实际情况而定,一般情况下,/>
为0.5,/>
为0.5。阈值也根据实际情况而定,阈值越小,迭代结果越精确,具体数值可参考/>
。
参见图2,为本公开实施例中危险性矩阵的计算流程图。
S60,计算初始状态执行所有动作的危险度之和,作为初始状态的危险度。
当得到测试空间内所有的
的危险度/>
后,状态s的危险性可量化为s状态下做出空间内所有动作a的危险性量化值的和,m为a的空间范围。
设初始状态为
,则初始状态的危险度为初始状态/>
下做出空间内所有动作a的危险性之和,表示为
S70,在危险度矩阵中,以初始状态的危险度作为起点,筛选出大于目标危险度的动作,将初始状态和大于目标危险度的动作,作为危险测试场景。
应理解,根据初始状态的危险性和危险度矩阵值,进行场景的生成。最后就是场景的生成部分:首先,从初始状态的危险性
作为起点,在危险度矩阵值不停地筛选。在选择动作时,选择危险性大于目标危险度的动作。如图3,为本公开实施例中在危险性矩阵中筛选动作而生成测试场景的示意图。其中,白色的圈为危险性大于目标危险度的动作,选择这种动作生成场景,最后生成了一个完整的状态动作序列即一个测试场景,即整个路径为虚线表示。
需要说明的是,所述目标危险度根据实际要求的危险测试情况而定。
一种优化的实施例中,可以将一个驾驶场景的危险性进行量化。
其中t为时间,st为当前时间下做的状态,at为当前时间下做的动作。
通过量化后的驾驶场景的危险性,用于比较驾驶场景的危险程度。
图4示出了根据本发明实施例提供的危险测试场景的生成系统,该系统包括:
收集模块,被配置为收集自然驾驶场景集,所述自然驾驶场景集包括多个自然驾驶场景;
分析危险性元素模块,被配置为分析自然驾驶场景集中的危险性元素;所述危险性元素为驾驶场景中影响危险的元素;
转化表示模块,被配置为将自然驾驶场景用危险性元素的状态执行动作来表示;
分析空间范围模块,被配置为根据自然驾驶场景集,分析出动作空间范围;
获取危险度矩阵模块,被配置为在动作空间范围内,量化每个状态中执行每个动作的暴露度、严重度和可控度,来计算量化的危险度,作为危险度矩阵;其中,所述暴露度为在车辆处于危险状况时,对人员和财产造成危害的可能性;所述严重度为在车辆处于危险状况时,对生命和财产造成的损害的严重性;所述可控度为在车辆处于危险状况时,驾驶员控制车辆的程度;
计算初始状态模块,被配置为计算初始状态执行所有动作的危险度之和,作为初始状态的危险度;
生成危险测试场景模块,被配置为在危险度矩阵中,以初始状态的危险度作为起点,筛选出大于目标危险度的动作,将初始状态和大于目标危险度的动作,作为危险测试场景。
结合图5所示,本公开实施例提供危险测试场景的生成的电子设备,包括处理器(processor)50和存储器(memory)51。可选地,该电子设备还可以包括通信接口(CommunicationInterface)52和总线53。其中,处理器50、通信接口52、存储器51可以通过总线53完成相互间的通信。通信接口52可以用于信息传输。处理器50可以调用存储器51中的逻辑指令,以执行上述实施例的危险测试场景的生成方法。
本公开实施例提供了一种存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述危险测试场景的生成方法。
上述的存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。非暂态存储介质,包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者电子设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、系统和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。