本申请涉及智能驾驶测试,尤其是涉及一种增加智能驾驶测试场景覆盖度的方法与系统。
背景技术:
1、自动驾驶汽车的关键组件是由底层深度神经网络(dnn)控制的感知模块。dnn接收来自不同传感器的输入,如摄像头、radar、lidar和ir(红外)等传感器,这些传感器测量环境并输出在当前条件下安全操纵汽车所需的转向角、制动等。
2、典型的前馈dnn由堆叠在一起的多个处理层组成,以提取输入的不同表示。dnn的每一层都由一系列称为神经元的独立计算单元组成。不同层的神经元通过边相互连接。每条边都有相应的权重。每个神经元对其输入应用非线性激活函数,并将输出发送到后续神经元。dnn的边缘权重是在dnn的训练过程中根据标记的训练数据推断出来的。训练后的dnn即可用于预测,而无需进一步更改权重。
3、dnn智驾软件的测试中用于检测错误行为的现有场景测试用例主要依赖于手动收集标记的测试数据,事故场景数据库或人工场景搭建,频繁事故的发生表明仍有大量未知极端测试场景有待发掘。
4、此外,为传统软件生成高覆盖率测试输入的可满足性模理论(smt)求解器由于浮点运算和高度非线性约束的限制不能应用于dnn软件覆盖度测试。
技术实现思路
1、为了增加智能驾驶测试场景覆盖度、提高智能驾驶深度神经网络模型性能,本申请提供一种增加智能驾驶测试场景覆盖度的方法与系统。
2、第一方面,本申请提供的一种增加智能驾驶测试场景覆盖度的方法,采用如下的技术方案:
3、一种增加智能驾驶测试场景覆盖度的方法,包括:
4、对实际图像样本进行预处理得到样本数据;
5、将所述样本数据输入深度神经网络,并利用神经元覆盖度来衡量样本数据的场景覆盖度;
6、基于预设的测试规范检测错误行为;
7、基于所述场景覆盖度以及错误行为对所述样本数据进行迭代处理以增加所述场景覆盖度。
8、进一步的,上述一种增加智能驾驶测试场景覆盖度的方法中,所述预处理包括图像变换,所述图像变换包括高斯变换、双向滤波、旋转、对比度增强中的至少一种。
9、进一步的,上述一种增加智能驾驶测试场景覆盖度的方法中,所述预处理包括组合变换,所述组合变换包括使用多帧所述实际图像样本进行组合生成更多的样本数据。
10、进一步的,上述一种增加智能驾驶测试场景覆盖度的方法中,所述神经元覆盖度为神经元激活数与神经元总数的比值。
11、进一步的,上述一种增加智能驾驶测试场景覆盖度的方法中,所述基于预设的测试规范检测错误行为包括:
12、定义兑变关系,所述兑变关系表示不同汽车行为在不同场景下的映射关系;
13、利用所述兑变关系,创建测试规范,以检查自动驾驶汽车在不同场景下的行为是否符合预期;
14、根据测试规范,执行测试并评估自动驾驶汽车在不同场景下的行为是否符合预期。
15、进一步的,上述一种增加智能驾驶测试场景覆盖度的方法中,所述兑变关系允许在实际图像样本的误差范围内变化,所述误差范围用实际图像样本的均方误差衡量;输入为变换图像时产生的误差应在λ乘以实际图像样本产生的均方误差的范围内;其中所述λ为可配置参数。
16、进一步的,上述一种增加智能驾驶测试场景覆盖度的方法中,所述迭代处理包括预处理中的至少一个处理方法。
17、第二方面,本申请提供了一种提高智能驾驶深度神经网络模型性能的方法,采用如下技术方案:
18、一种提高智能驾驶深度神经网络模型性能的方法,包括:
19、a1,基于模型训练的方法得到初始dnn模型;
20、a2,在对所述初始dnn模型进行测试过程中,基于如上述第一方面中任意一项所述的一种增加智能驾驶测试场景覆盖度的方法增加覆盖场景;
21、a3,基于增加后的覆盖场景对dnn模型进行测试并优化所述dnn模型;
22、a4,多次迭代步骤a2以及步骤a3使所述智能驾驶深度神经网络模型性能达到预设的评估指标。
23、第三方面,本申请提供了一种增加智能驾驶测试场景覆盖度的系统,采用如下技术方案:
24、一种增加智能驾驶测试场景覆盖度的系统,包括:
25、数据获取模块,对实际图像样本进行预处理得到样本数据;
26、模型测试模块,预存有dnn模型,获取所述样本数据并得到测试结果;
27、场景度计算模块,用于利用神经元覆盖度来衡量样本数据的场景覆盖度;
28、行为检测模块,用于基于预设的测试规范检测错误行为,所述错误行为包含在所述测试结果中;
29、场景度增加模块,用于基于所述场景覆盖度以及错误行为对所述样本数据进行迭代处理以增加所述场景覆盖度。
30、第四方面,本发明提供了一种电子设备,采用如下技术方案:
31、一种电子设备,包括:
32、处理器;
33、与所述处理器通信连接的存储器,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行上述第一方面中所述的一种增加智能驾驶测试场景覆盖度的方法。
34、第五方面,本发明提供了一种计算机可读存储介质,采用如下技术方案:
35、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如上述第一方面任一项所述的一种增加智能驾驶测试场景覆盖度的方法。
36、综上所述,本申请至少包括以下有益技术效果:通过神经元覆盖度来衡量样本数据的场景覆盖度,自动检测可能导致致命碰撞的dnn驱动车辆的错误行为,可以有效地增加测试场景的覆盖度和模型的性能,从而更好地评估智能驾驶系统的性能和可靠性。
1.一种增加智能驾驶测试场景覆盖度的方法,其特征在于,包括:
2.根据权利要求1所述的一种增加智能驾驶测试场景覆盖度的方法,其特征在于,所述预处理包括图像变换,所述图像变换包括高斯变换、双向滤波、旋转、对比度增强中的至少一种。
3.根据权利要求1所述的一种增加智能驾驶测试场景覆盖度的方法,其特征在于,所述预处理包括组合变换,所述组合变换包括使用多帧所述实际图像样本进行组合生成更多的样本数据。
4.根据权利要求1所述的一种增加智能驾驶测试场景覆盖度的方法,其特征在于,所述神经元覆盖度为神经元激活数与神经元总数的比值。
5.根据权利要求1所述的一种增加智能驾驶测试场景覆盖度的方法,其特征在于,所述基于预设的测试规范检测错误行为包括:
6.根据权利要求5所述的一种增加智能驾驶测试场景覆盖度的方法,其特征在于,所述兑变关系允许在实际图像样本的误差范围内变化,所述误差范围用实际图像样本的均方误差衡量;输入为变换图像时产生的误差应在λ乘以实际图像样本产生的均方误差的范围内;其中所述λ为可配置参数。
7.根据权利要求2或3所述的一种增加智能驾驶测试场景覆盖度的方法,其特征在于,所述迭代处理包括预处理中的至少一个处理方法。
8.一种提高智能驾驶深度神经网络模型性能的方法,其特征在于,包括:
9.一种增加智能驾驶测试场景覆盖度的系统,其特征在于,包括:
10.一种电子设备,其特征在于,包括:
11.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-7中任一项所述的一种增加智能驾驶测试场景覆盖度的方法。