基于自动驾驶的数据测试方法、设备及可读存储介质与流程

专利2022-05-10  4



1.本技术涉及计算机技术领域,尤其涉及一种基于自动驾驶的数据测试方法、设备以及可读存储介质。


背景技术:

2.随着自动驾驶技术的快速进步,自动驾驶车辆项目也越来越受瞩目。自动驾驶车辆是一种通过电脑系统实现自动驾驶的智能车辆。作为一种需要具备足够安全性的高新智能技术产品,自动驾驶车辆在正式投入前,必须要经过大规模的测试以采集足够的数据验证其安全可靠。
3.目前,对于自动驾驶车辆的测试方式,通常为在真实世界搭建测试场或者在实际道路上对自动驾驶车辆进行测试验证,对自动驾驶车辆测试即是对部署在自动驾驶车辆上的自动驾驶算法进行测试。在测试某个自动驾驶算法时,会在给定道路范围中进行实际测试,被测试的自动驾驶算法可以部署于车辆中,并对被测车辆进行行驶预测,根据这个被测的自动驾驶算法的预测行驶数据,可以对这个自动驾驶算法进行评测。按照现有的测试方法,会在每个测试场景下部署对应的道路范围,再对每一个算法进行反复多次的行驶测试,这无疑需要花费大量的人力、物力以及时间,严重加大了算法的测试成本、影响算法的测试效率。


技术实现要素:

4.本技术实施例提供一种基于自动驾驶的数据测试方法、设备以及可读存储介质,可以减少自动驾驶模型的测试成本,提高测试效率。
5.本技术实施例一方面提供了一种基于自动驾驶的数据测试方法,包括:
6.获取测试任务与测试任务对应的任务配置信息;任务配置信息包括测试任务所配置的测试场景信息、第一自动驾驶模型以及第二自动驾驶模型;
7.基于测试场景信息创建虚拟行驶环境,在虚拟行驶环境中获取目标仿真车辆在仿真行驶轨迹上的仿真车辆位置,通过第一自动驾驶模型对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第一预测行驶数据;第一预测行驶数据具备针对目标仿真车辆的行驶控制权限,行驶控制权限是指控制目标仿真车辆进行行驶且更新仿真行驶轨迹的权限;
8.通过第二自动驾驶模型,同步对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第二预测行驶数据;第二预测行驶数据不具备行驶控制权限;
9.本技术实施例一方面提供了一种基于自动驾驶的数据测试装置,包括:
10.信息获取模块,用于获取测试任务与测试任务对应的任务配置信息;任务配置信息包括测试任务所配置的测试场景信息、第一自动驾驶模型以及第二自动驾驶模型;
11.环境创建模块,用于基于测试场景信息创建虚拟行驶环境;
12.位置获取模块,用于在虚拟行驶环境中获取目标仿真车辆在仿真行驶轨迹上的仿
真车辆位置;
13.数据预测模块,用于通过第一自动驾驶模型对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第一预测行驶数据;第一预测行驶数据具备针对目标仿真车辆的行驶控制权限,行驶控制权限是指控制目标仿真车辆进行行驶且更新仿真行驶轨迹的权限;
14.数据预测模块,还用于通过第二自动驾驶模型,同步对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第二预测行驶数据;第二预测行驶数据不具备行驶控制权限。
15.在一个实施例中,虚拟行驶环境还包括目标虚拟道路、处于障碍对象生成点上的具有对象行为参数的障碍对象;障碍对象生成点位于目标虚拟道路中;目标虚拟道路包括仿真行驶轨迹;仿真行驶轨迹包括n个仿真车辆位置,n个仿真车辆位置包括仿真车辆位置m
i
;n为正整数,i为小于或等于n的正整数;
16.数据预测模块,包括:
17.第一参数输入单元,用于将目标虚拟道路、目标仿真车辆、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,输入至第一自动驾驶模型;
18.第一参数预测单元,用于通过第一自动驾驶模型、目标虚拟道路、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,确定目标仿真车辆在仿真车辆位置m
i
的第一预测行为参数;
19.第一参数预测单元,还用于基于仿真车辆位置m
i
与第一预测行为参数,确定目标仿真车辆的第一预测到达位置;
20.第一数据确定单元,用于将第一预测行为参数与第一预测到达位置,确定为第一预测行驶数据。
21.在一个实施例中,该基于自动驾驶的数据测试装置还包括:
22.车辆行驶模块,用于将第一预测到达位置确定为仿真车辆位置m
i 1
,控制目标仿真车辆以第一预测行为参数从仿真车辆位置m
i
行驶至仿真车辆位置m
i 1

23.轨迹获取模块,用于获取目标仿真车辆以第一预测行为参数,从仿真车辆位置m
i
行驶至仿真车辆位置m
i 1
的行驶轨迹数据;
24.轨迹更新模块,用于根据行驶轨迹数据对仿真行驶轨迹进行更新。
25.在一个实施例中,数据预测模块包括:
26.第二参数输入单元,用于将目标虚拟道路、目标仿真车辆、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,输入至第二自动驾驶模型;
27.第二参数预测单元,用于通过第二自动驾驶模型、目标虚拟道路、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,确定目标仿真车辆在仿真车辆位置m
i
的第二预测行为参数;
28.第二参数预测单元,还用于基于仿真车辆位置m
i
与第二预测行为参数,确定目标仿真车辆的第二预测到达位置;
29.第二数据确定单元,用于将第二预测行为参数与第二预测到达位置,确定为第二预测行驶数据。
30.在一个实施例中,仿真行驶轨迹包括n个仿真车辆位置,n个仿真车辆位置包括仿真车辆位置m
i
;n为正整数,i为小于或等于n的正整数;
31.该基于自动驾驶的数据测试装置还包括:
32.行驶数据对比模块,用于获取第一预测行驶数据中仿真车辆位置m
i
对应的预测行驶数据s
i
;预测行驶数据s
i
为第一自动驾驶模型,对处于仿真车辆位置m
i
上的目标仿真车辆进行行驶预测所得到的预测行驶数据;
33.行驶数据对比模块,用于获取第二预测行驶数据中仿真车辆位置m
i
对应的预测行驶数据t
i
;预测行驶数据t
i
为第二自动驾驶模型,对处于仿真车辆位置m
i
上的目标仿真车辆进行行驶预测所得到的预测行驶数据;
34.行驶数据对比模块,用于将预测行驶数据s
i
与预测行驶数据t
i
进行对比分析,得到仿真车辆位置m
i
对应的分析结果;
35.分析结果确定模块,用于当得到n个仿真车辆位置分别对应的分析结果时,根据n个仿真车辆位置分别对应的分析结果,确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果;
36.模型更新模块,根据第一预测行驶数据与第二预测行驶数据之间的对比分析结果,对第二自动驾驶模型进行更新,得到目标自动驾驶模型;目标自动驾驶模型用于控制真实车辆在测试场景信息对应的真实行驶环境中行驶。
37.在一个实施例中,行驶数据对比模块包括:
38.事故率确定单元,用于确定预测行驶数据s
i
对应的第一事故发生率,以及预测行驶数据t
i
对应的第二事故发生率;
39.事故率匹配单元,用于将第一事故发生率与第二事故发生率进行匹配;
40.对比结果确定单元,用于若第一事故发生率大于第二事故发生率,则将仿真车辆位置m
i
对应的分析结果确定为模型进步结果;模型进步结果用于指示在仿真车辆位置m
i
中,第二自动驾驶模型的自动驾驶质量优于第一自动驾驶模型;
41.对比结果确定单元,还用于若第一事故发生率小于或等于第二事故发生率,则将仿真车辆位置m
i
对应的分析结果确定为模型未进步结果;模型未进步结果用于指示在仿真车辆位置m
i
中,第二自动驾驶模型的自动驾驶质量差于第一自动驾驶模型。
42.在一个实施例中,分析结果确定模块包括:
43.结果统计单元,用于将n个仿真车辆位置分别对应的分析结果中,为模型进步结果的分析结果,确定为目标分析结果;
44.结果统计单元,还用于统计目标分析结果的第一结果数量与剩余分析结果的第二结果数量;剩余分析结果为n个仿真车辆位置分别对应的分析结果中,除模型进步结果以外的分析结果;
45.结果统计单元,还用于确定第一结果数量与第二结果数量的数量比值;
46.分析结果确定单元,用于根据数量比值确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果。
47.在一个实施例中,分析结果确定单元,还具体用于若数量比值大于或等于比值阈值,则将第一预测行驶数据与第二预测行驶数据之间的对比分析结果,确定为模型优异结果;模型优异结果用于提示在测试场景信息中,第二自动驾驶模型的自动驾驶质量优于第一自动驾驶模型;
48.分析结果确定单元,还具体用于若数量比值小于比值阈值,则将第一预测行驶数
据与第二预测行驶数据之间的对比分析结果,确定为模型待更新结果;模型待更新结果用于提示在测试场景信息中,第二自动驾驶模型的自动驾驶质量差于第一自动驾驶模型。
49.在一个实施例中,模型更新模块包括:
50.第一模型更新单元,用于若对比分析结果为模型优异结果,则将第二自动驾驶模型确定为目标自动驾驶模型;
51.第一模型更新单元,还用于若对比分析结果为模型待更新结果,则根据第二预测行驶数据对第二自动驾驶模型的逻辑参数进行调整更新,得到目标自动驾驶模型。
52.在一个实施例中,模型更新模块包括:
53.数据发送单元,用于将第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果发送至目标终端;目标终端为目标用户对应的终端;目标用户为创建测试任务的用户;
54.指示接收单元,用于接收目标终端基于第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果发送的操作指示;
55.第二模型更新单元,用于若操作指示为模型调整指示,则根据第二预测行驶数据对第二自动驾驶模型的逻辑参数进行调整更新,得到目标自动驾驶模型;
56.第二模型更新单元,还用于若操作指示为模型完成测试指示,则将第二自动驾驶模型,确定为目标自动驾驶模型。
57.在一个实施例中,环境创建模块包括:
58.道路创建单元,用于获取测试场景信息所需的虚拟道路类型,创建属于虚拟道路类型的目标虚拟道路;
59.生成点获取单元,用于在目标虚拟道路中获取主车生成点与障碍对象生成点;主车生成点为仿真行驶轨迹上的轨迹起始点;
60.对象创建单元,用于在主车生成点生成目标仿真车辆,在障碍对象生成点生成障碍对象;
61.参数分配单元,用于根据测试场景信息为障碍对象分配对象行为参数;
62.环境确定单元,用于将包含目标虚拟道路、处于主车生成点上的目标仿真车辆、处于障碍对象生成点上的具有对象行为参数的障碍对象的虚拟环境,确定为虚拟行驶环境。
63.在一个实施例中,障碍对象包括障碍仿真车辆与障碍仿真用户;
64.参数分配单元,还具体用于获取测试场景信息所需的障碍仿真车辆的车辆行为参数,以及障碍仿真用户的用户行为参数;
65.参数分配单元,还具体用于将障碍仿真车辆的行为参数设置为车辆行为参数,将障碍仿真用户的行为参数设置为用户行为参数。
66.在一个实施例中,该基于自动驾驶的数据测试装置还包括:
67.请求获取模块,用于获取配送终端发送的针对于目标物品的物品配送请求;物品配送请求用于请求将目标物品从真实行驶环境中的起始位置,配送至真实行驶环境中的接收位置;
68.物品运输模块,用于基于物品配送请求,将目标自动驾驶模型部署于真实车辆中,通过目标自动驾驶模型控制真实车辆将目标物品,从起始位置运输至接收位置。
69.本技术实施例一方面提供了一种计算机设备,包括:处理器和存储器;
70.存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本技术实施例中的方法。
71.本技术实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时,执行本技术实施例中的方法。
72.本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的方法。
73.在本技术实施例中,对于自动驾驶模型的测试,可以在虚拟行驶环境中进行仿真测试。其具体为:对于同一个测试任务,可以同时运行两种自动驾驶模型(例如,第一自动驾驶模型与第二自动驾驶模型)来执行该测试任务;在同时运行第一自动驾驶模型与第二自动驾驶模型进行测试时,可以为第一自动驾驶模型所预测的第一预测行驶数据分配行驶控制权限,同时,不为第二自动驾驶模型所预测的第二预测行驶数据分配该行驶控制权限,即只有第一自动驾驶模型有权限控制目标仿真车辆进行行驶,而第二自动驾驶模型并不具备目标仿真车辆进行行驶的权限。由此,在该测试任务中,目标仿真车辆所行驶的仿真行驶轨迹均是按照第一自动驾驶模型所预测的第一预测行驶数据来得到的,该仿真行驶轨迹上的每一个仿真车辆位置是按照第一预测行驶数据来行驶到达的位置,当目标仿真车辆每到达一个仿真车辆位置,第一自动驾驶模型会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,而虽然第二自动驾驶模型不会对目标仿真车辆进行行驶控制,但是第二自动驾驶模型依然会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,随后,目标仿真车辆会按照第一自动驾驶模型所预测的行驶数据进行行驶,到达新的仿真车辆位置后,第一自动驾驶模型与第二自动驾驶模型又会同时进行新一轮的行驶预测规划。可见,本技术可以在保证目标仿真车辆的历史行驶轨迹相同的情况下,第一自动驾驶模型与第二自动驾驶模型可以在相同轨迹上的每一个仿真车辆位置上进行不同的行驶预测规划,第一自动驾驶模型与第二自动驾驶模型在进行行驶预测规划时,目标仿真车辆处于相同的位置,所有的影响行驶预测规划时的环境参数(同一位置处的环境参数)均是相同的参数(即第一自动驾驶模型与第二自动驾驶模型是基于相同的输入参数进行行驶预测的)。也就是说,本技术可以对自动驾驶模型进行仿真测试,无需部署真实测试环境,同时,在相同的仿真测试场景下,本技术可以同时测试不同的算法,无需将算法分开进行测试,可以大量减少测试次数,由此可以节约大量的人力、时间以及物力成本;同时,由于这些算法是在相同的测试场景下,基于相同的输入参数进行预测的,那么在得到不同模型在相同位置处的不同预测行驶数据后,也可以在后续对预测行驶数据进行分析评测中,将不同自动驾驶模型在相同时刻下、相同位置处的预测行驶数据进行更为详细准确地进行对比评测,由此得到更为准确的测试评测结果,提高模型的测试准确率。综上,本技术可以在自动驾驶模型的仿真测试中,减少测试成本,提高测试效率,提高模型的测试准确率。
附图说明
74.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
75.图1是本技术实施例提供的一种网络架构图;
76.图2a

图2b是本技术实施例提供的一种测试场景示意图;
77.图3是本技术实施例提供的一种基于自动驾驶的数据测试方法的方法流程示意图;
78.图4是本技术实施例提供的一种确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果的流程示意图;
79.图5是本技术实施例提供的一种基于自动驾驶的仿真测试架构图;
80.图6是本技术实施例提供的一种针对测试系统中模块之间输入或输出的逻辑结构图;
81.图7是本技术实施例提供的一种基于自动驾驶的数据测试装置的结构示意图;
82.图8是本技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
83.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
84.本技术涉及到自动驾驶领域,为便于理解,以下将首先对自动驾驶及其相关概念进行阐述。
85.智能交通系统(intelligent traffic system,its)又称智能运输系统(intelligent transportation system),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
86.本技术涉及到智能交通系统中的自动驾驶技术。自动驾驶是指全自动化驾驶车辆的、对车辆进行高度集中控制。自动驾驶技术具备车辆自动唤醒启动和休眠、自动出入停车场、自动清洗、自动行驶、自动停车、自动开关车门、故障自动恢复等功能,并具有常规运行、降级运行、运行中断等多种运行模式。实现全自动运营可以节省能源,优化系统能耗和速度的合理匹配。
87.主车:表示在虚拟环境中通过数据交互接入自动驾驶算法(模型)的被测车辆;
88.非主车:表示在虚拟环境中进行自主驾驶或按照测试场景执行预先设定动作的车辆;
89.行人:表示在虚拟环境中进行自主行走或按照测试场景执行预先设定动作的人;
90.自动驾驶模型:表示被测车辆上具有决策规划、控制执行功能的综合算法模块。
91.请参见图1,图1是本技术实施例提供的一种网络架构图。如图1所示,该网络架构可以包括业务服务器1000和用户终端集群,用户终端集群可以包括一个或者多个用户终
端,这里将不对用户终端的数量进行限制。如图1所示,多个用户终端可以包括用户终端100a、用户终端100b、用户终端100c、

、用户终端100n;如图1所示,用户终端100a、用户终端100b、用户终端100c、

、用户终端100n可以分别与业务服务器1000进行网络连接,以便于每个用户终端可以通过该网络连接与业务服务器1000之间进行数据交互。
92.可以理解的是,如图1所示的用户终端集群中的用户终端可以包括测试终端,业务服务器1000可以为测试服务器(以下将用户终端100a称为测试终端100a、将业务服务器称为测试服务器1000);以用户终端集群中的用户终端100a为测试终端为例,用户可以通过测试终端100a创建测试任务,并通过测试终端100a实现对该测试任务进行管理、配置、展示和运行等相关可视化的功能(例如,用户可为测试任务配置测试场景信息、要测试运行的自动驾驶模型为哪一个模型等),测试终端100a可便于用户高效地开展系统性测试工作。
93.以用户为测试任务配置的自动驾驶模型为第一自动驾驶模型、第二自动驾驶模型(第二自动驾驶模型为第一自动驾驶模型的更新版本)为例,进一步地,测试终端100a可将用户创建的测试任务以及任务配置信息一并发送至测试服务器1000,测试服务器1000可以基于用户创建的测试任务,创建虚拟行驶环境,并开始对第一自动驾驶模型与第二自动驾驶模型在该虚拟行驶环境中进行仿真测试。本技术中的仿真测试过程可为:在每一个仿真车辆位置时,通过第一自动驾驶模型对目标仿真车辆进行预测规划,并基于第一自动驾驶模型的预测数据将目标仿真车辆控制行驶到达下一个仿真车辆位置;同时,通过第二自动驾驶模型对目标仿真车辆在每一个仿真车辆位置时进行同步预测,而第二自动驾驶模型的预测数据不会影响目标仿真车辆的行驶轨迹。由此,通过第一自动驾驶模型与第二自动驾驶模型对目标仿真车辆在同一位置时的预测规划,可以得到目标仿真车辆在每一个仿真车辆位置时,第一自动驾驶模型的预测行驶数据,与第二自动驾驶模型的预测行驶数据。
94.进一步地,测试服务器1000可基于第一自动驾驶模型与第二自动驾驶模型分别对应的预测行驶数据,进行后续处理。例如,测试服务器1000可对第一自动驾驶模型的预测行驶数据进行单独分析评测,也可以对第二自动驾驶模型的预测行驶数据进行单独分析评测,通过单独分析评测来确定第一自动驾驶模型(或第二自动驾驶模型)是否已满足测试指标(测试指标如:在自动驾驶过程中不会发生碰撞);例如,测试服务器1000也可以将第一自动驾驶模型与第二自动驾驶模型的预测行驶数据一起进行对比分析评测,以确定在第一自动驾驶模型与第二自动驾驶模型中,哪一个自动驾驶模型的自动驾驶质量更为优异。以下将以测试服务器1000将第一自动驾驶模型与第二自动驾驶模型的预测行驶数据,进行对比分析为例进行说明,测试服务器1000可将在同一个仿真车辆位置时的两个预测行驶数据可以作为一组预测行驶数据,测试服务器1000可将每一组预测行驶数据进行对比分析,并得到对比分析结果,基于该对比分析结果可判断与第一自动驾驶模型相比,第二自动驾驶模型是否存在进步。
95.进一步地,测试服务器1000可将仿真测试的相关数据(例如,每一组的预测行驶数据、每一组的分析结果、总的对比分析结果、地图数据等)一并返回至测试终端100a,而测试终端100a可将这些数据展示于终端显示界面中供用户进行评测。用户可基于这些数据判断是否需要对该第二自动驾驶模型进行调整更新,用户可以通过测试终端100a输入操作指示(例如,对第二自动驾驶模型进行调整更新并再次测试;或对第二自动驾驶模型不再更新,结束测试),而测试终端100a可将该操作指示发送至测试服务器1000,测试服务器1000可根
据该操作指示进行后续操作。
96.其中,上述测试服务器1000可以指实现可视化自动驾驶车辆控制仿真测试系统相关后台功能的服务器设备。
97.应当理解,通过在一个测试任务中同时运行第一自动驾驶模型与第二自动驾驶模型,无需将算法分开进行测试,可以减少测试次数,由此可以节约测试成本,提高测试效率;同时,在同时测试多个自动驾驶模型的过程中,采用由其中一个自动驾驶模型控制车辆运行的方式,由此可以使得多个自动驾驶模型的车辆运行轨迹是完全相同的,所有自动驾驶模型可以在相同轨迹上的每一个位置上进行不同的行驶预测,那么在得到这些不同模型在同一位置上的不同预测行驶数据时,可以更为详细准确的进行后续处理。例如,在得到不同模型在同一位置上的不同预测行驶数据时,可以更为详细准确的对比这些模型的预测数据,以更为准确地判断模型之间的自动驾驶的质量的好坏。
98.本技术实施例可以在多个用户终端中选择一个用户终端作为目标用户终端,该用户终端可以包括:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、智能音箱、台式计算机、智能手表、车载设备等携带多媒体数据处理功能(例如,视频数据播放功能、音乐数据播放功能)的智能终端,但并不局限于此。例如,本技术实施例可以将图1所示的用户终端100a作为该目标用户终端,该目标用户终端中可以集成有上述目标应用,此时,该目标用户终端可以通过该目标应用与业务服务器1000之间进行数据交互。
99.可以理解的是,本技术实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于用户终端或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
100.其中,用户终端以及业务服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
101.为便于理解,请一并参见图2a

图2b,图2a

图2b是本技术实施例提供的一种测试场景示意图。其中,如图2a

图2b所示的用户终端a可以为上述图1所对应实施例中用户集群中的任一用户终端,如该用户终端可为用户终端100a;如图2a

图2b所示的测试服务器2000可为上述图1所对应实施例中的业务服务器1000。
102.如图2a所示,用户a可以通过用户终端a创建测试任务并为该测试任务配置任务相关信息。例如,如图2a所示,用户a可以在显示界面中输入测试任务的任务名称,并为该测试任务选择要运行的算法并添加测试场景。如图2a所示,用户a可在用户终端a的显示界面中输入该测试任务的任务名称(如图2a所示的witggga);如图2a所示,算法列表中可以包括算法200a、算法200b、算法200c、算法200d、算法200e以及算法200f,其中,算法200b为算法200a的迭代更新版本;算法200d为算法200c的迭代更新版本;算法200f为算法200e的迭代更新版本。用户a可以在该算法列表中选择要运行测试的算法,如图2a所示,用户a所选择的算法为算法200a与算法200b。如图2a所示,测试场景列表中可包括场景20a、场景20b、场景20c、场景20d、场景20g以及场景20f,用户a所选择的测试场景为场景20b。应当理解,上述任务名称“witggga”、所选择的算法200a与算法200b、所添加的测试场景20b均可称之为该测试任务的任务配置信息。
103.可以理解的是,用户a在为测试任务选择运行测试的算法时,还可以选择主算法(即对被测车辆进行行驶控制的,具有行驶控制权限的算法)与影子算法(即,可以对被测车辆进行同步规划预测,但是不具有行驶控制权限的算法)。主算法与影子算法均会作为该测试任务的任务配置信息。以下将以用户a选择的主算法为算法200a、选择的影子算法为算法200b为例进行说明。
104.进一步地,用户终端a可将该测试任务以及该任务配置信息发送至测试服务器2000,测试服务器2000可基于该任务配置信息中的测试场景信息(即场景20b)创建虚拟行驶环境;其中,该虚拟行驶环境中可包括、目标虚拟道路、目标仿真车辆(即主车)、障碍车辆(目标虚拟道路中的其他车辆,即非主车)、障碍用户(即行人),测试还可为障碍车辆以及障碍用户设置行为参数(例如:为障碍车辆设置车辆速度、车辆方向等;为障碍用户分配行走速度、行走方向等等)。例如,以场景20b为避让行人场景为例,测试服务器2000可创建如图2a所示的虚拟行驶环境20000,该虚拟行驶环境20000中可包括避让行人场景所对应的目标虚拟道路m,在该目标虚拟道路m上,包括区域q1与区域q2,其中,该区域q1可为目标仿真车辆的生成点,测试服务器2000可在该生成点q1生成目标仿真车辆,如图2a所示,测试服务器2000在该生成点q1生成目标仿真车辆2a;区域p可为障碍对象(包括障碍车辆与障碍用户)的生成点,测试服务器2000可在该生成点p生成障碍车辆与障碍用户。
105.对于场景20b(避让行人场景)而言,生成点p可为虚拟斑马线,如图2a所示,在该生成点p中,测试服务器2000生成行人障碍用户2000a、障碍用户2000b以及障碍用户2000c。同时,可以为障碍用户2000a、障碍用户2000b以及障碍用户2000c分别设置行走速度、行走方向等行为参数。
106.进一步地,测试服务器2000可将虚拟行驶环境20000此时的各个虚拟参数(包括目标虚拟道路m、目标仿真车辆2a、目标仿真车辆2a所处的位置(即生成点q1)、区域p、障碍用户2000a、障碍用户2000b、障碍用户2000c、障碍用户2000a对应的行为参数、障碍用户2000b对应的行为参数以及障碍用户2000c对应的行为参数、障碍用户2000a所处的位置、障碍用户2000b所处的位置以及障碍用户2000c所处的位置)分别输入至算法200a与算法200b;算法200a与算法200b可基于这些虚拟参数,对处于生成点q1的目标仿真车辆2a分别进行规划预测。
107.例如,算法200a基于这些虚拟参数,对处于生成点q1的目标仿真车辆2a的规划预测为预测1(如,以50m/s的速度直行);算法200b基于这些虚拟参数对处于生成点q1的目标仿真车辆2a的规划预测为预测2(如,以60m/s的速度、朝方向向右偏移45度行驶)。进一步地,测试服务器2000可基于算法200a对目标仿真车辆2a进行控制行驶一段时间(例如,2s),由此,目标仿真车辆2a可到达新的位置。
108.进一步地,如图2a所示,以目标仿真车辆2a采用算法200a的预测行驶数据(即预测1)行驶了2s为例,目标仿真车辆2a可到达位置q2。此时,在该位置q2时,障碍用户2000a、障碍用户2000b以及障碍用户2000c在虚拟行驶环境中的位置也会发生相应变化。此时,测试服务器2000可将虚拟行驶环境20000在此刻的新的各个虚拟参数(包括目标虚拟道路m、目标仿真车辆2a、目标仿真车辆2a所处的位置(即位置q2)、区域p、障碍用户2000a、障碍用户2000b、障碍用户2000c、障碍用户2000a对应的行为参数、障碍用户2000b对应的行为参数以及障碍用户2000c对应的行为参数、障碍用户2000a所处的位置、障碍用户2000b所处的位置
以及障碍用户2000c所处的位置)分别输入至算法200a与算法200b;算法200a与算法200b可基于这些新的虚拟参数,对处于生位置q2的目标仿真车辆2a重新分别进行规划预测。
109.进一步地,目标仿真车辆2a可基于算法200a的预测行驶数据,在该虚拟行驶环境20000中行驶一段时间(例如,2s),并到达新的位置。在该新的位置时,测试服务器2000又可获取到新的虚拟参数,并将新的虚拟参数重新输入至算法200a与算法200b,算法200a与算法200b又可以基于这些虚拟参数对处于新的位置上的目标仿真车辆2a进行新一轮的预测,目标仿真车辆2a又会基于算法200a的预测行驶数据进行行驶,直至抵达预设终点(或直至到达该测试任务的测试中止时间)。
110.应当理解,目标仿真车辆2a在从生成点q1开始行驶的每一个位置(包括生成点q1)上,算法200a与算法200b均会进行一次预测,对于算法200a而言,在每一个位置上的预测数据,可称之为第一预测行驶数据;对于算法200b而言,在每一个位置上的预测数据,可称之为第二预测行驶数据。
111.应当理解,采用上述在同一个测试任务中,同时运行测试算法200a与算法200b的方式,可以在一次测试任务中,同时获取到算法200a与算法200b在同一时刻下、同一位置处的不同预测行驶数据(即第一预测行驶数据与第二预测行驶数据)。则进一步的,测试服务器2000可将该算法200a与算法200b在同一时刻下、同一位置处的不同预测行驶数据进行保存,以进行后续处理。该后续处理例如:测试服务器2000可将该第一预测行驶数据与第二预测行驶数据进行对比分析(可将某个位置上的算法200a与算法200b的预测数据进行对比分析,如比较分析加速度、比较方向盘偏移角度、分别分析是否发生碰撞等等),由此可得到对比分析结果。测试服务器2000可将相关数据(如,包括在每一个位置上的算法200a的预测数据(即第一预测行驶数据)与算法200b的预测数据(即第二预测行驶数据)、测试服务器2000的对比分析结果等)返回至用户终端a。
112.可以理解的是,因为这里是以算法200b是算法200a的更新版本为例进行的场景示例性说明,则测试服务器2000可以基于这些对比分析结果,来自动判断确定与算法200a相比,算法200b是否存在进步(即判断为更新版本的算法200b是否存在进步),也就是说,算法200b在该场景20b下的自动驾驶质量是否要优于算法200a。若测试服务器2000基于这些对比分析结果确定出算法200b在该场景20b下的自动驾驶质量要优于算法200a,则一旦算法200b存在进步时,测试服务器2000可以不再对算法200b进行迭代更新(可选的,即使存在进步,测试服务器2000也可以继续对算法200b进行迭代更新,直至算法200b在该场景20b下达到测试指标(测试指标如:在该场景20b下不会发生交通事故));而若测试服务器2000基于这些对比分析结果确定出算法200b在该场景20b下的自动驾驶质量要差于算法200a,则测试服务器2000可以继续对算法200b进行迭代更新,直至算法200b的自动驾驶质量优于算法200a或直至算法200b达到测试指标。
113.可选的,可以理解的是,测试服务器2000在得到算法200a的第一预测行驶数据、算法200b的第二预测行驶数据、对比分析结果后,测试服务器2000可以将算法200a的第一预测行驶数据、算法200b的第二预测行驶数据、对比分析结果返回至用户终端a,由用户a通过用户终端a对这些第一预测行驶数据、第二预测行驶数据进行分析评测,用户a可将测试服务器2000的对比分析结果作为参考来决定接下来要继续对算法200b进行进一步地调整更新并继续测试,还是不再对算法200b进行更新,而是将算法200b确定为可以投入使用的算
法。
114.例如,如图2b所示,用户终端a可在终端显示界面中显示测试服务器2000返回的这些数据(即,显示算法200a的第一预测行驶数据、算法200b的第二预测行驶数据,测试服务器2000的对比分析结果),用户a可以结合着测试服务器2000的对比分析结果,对第一预测行驶数据与第二预测行驶数据进行对比分析。如图2b所示,用户终端a可在显示界面中显示“是否完成测试”的选项,该选项对应有“完成测试”控件与“继续测试”控件,若用户a在进行对比分析后,确定算法200b已经达到了自己的测试指标,则用户a可以点击“完成测试”控件来终止对算法200b的测试;若用户a在进行对比分析后,确定算法200b还未达到自己的测试指标,则用户a可以点击“继续测试”来对算法200b进行调整更新,并继续测试调整更新后的算法200b,直至算法200b达到用户a的测试指标。
115.如图2b所示,以用户a确定算法200b达到了自己的测试指标为例,用户a可点击“完成测试”控件,用户终端a可将用户a的这一触发操作对应的操作指示(即完成测试指示)发送至测试服务器2000,测试服务器2000在接收到用户终端a发送的操作指示后,可终止测试任务。
116.应当理解,在一个测试任务中,可将同一个算法的不同版本同时运行测试,在测试过程中,将算法的某个版本(如低版本)作为用于控制被测仿真车辆(可称之为目标仿真车辆)在虚拟行驶环境中行驶的主算法,将该算法的其余版本(如,更新版本)作为影子算法。通过主算法对被测仿真车辆进行行驶预测规划,并控制被测仿真车辆行驶前进,通过影子算法对被测仿真车辆对被测仿真车辆在行驶过程中的每个位置上进行同步行驶预测规划,由此可以将主算法与影子算法之间(或是影子算法与影子算法之间)在每个时刻下、在相同位置上的行驶预测规划数据进行准确详细的横向对比分析。可以提高任意两个版本的算法之间的对比分析的准确率与可靠性,同时,由于可以在一个测试任务中运行多个算法,可以将任意两个版本算法之间的预测行驶数据进行对比分析,无需将算法分为多次测试再将多次得到的预测行驶数据进行对比,可以减少测试次数,减少测试成本,提高算法测试效率,也可以提高算法的迭代更新效率。
117.需要说明的是,上述各个参数(如50m/s的速度直行、60m/s的速度朝方向向右偏移45度行驶、行驶时长2s,等等),均是为便于理解,所作出的举例说明,其并不具备实际参考意义。
118.进一步地,请参见图3,图3是本技术实施例提供的一种基于自动驾驶的数据测试方法的方法流程示意图。其中,该基于自动驾驶的数据测试方法可以由测试服务器(如,上述图1所对应实施例中的业务服务器1000)执行;如图3所示,该方法流程可以至少包括以下步骤s101

步骤s104:
119.步骤s101,获取测试任务与测试任务对应的任务配置信息;任务配置信息包括测试任务所配置的测试场景信息、第一自动驾驶模型以及第二自动驾驶模型。
120.本技术中,目标用户(可以为测试用户)可以在测试终端中,通过浏览器页面、测试应用界面等新建测试任务信息,目标用户可以在新建测试任务时,为该测试任务配置任务信息,得到任务配置信息,如,目标用户可以在新建测试任务时输入测试任务的名称、选择测试任务的场景(可称之为测试场景信息)、要运行测试的算法(可将算法称之为自动驾驶模型)等等。目标用户所输入的测试任务的名称、选择的测试任务的场景、要运行测试的算
法(如第一自动驾驶模型与第二自动驾驶模型)均可称之为该测试任务的任务配置信息。测试终端可将目标用户创建的测试任务以及任务配置信息发送至测试服务器。
121.应当理解,通过测试任务的名称可为每个测试任务命名,通过任务名称可对不同的测试任务进行更好地管理,则在后续测试用户希望比较不同的测试任务时,可基于任务名称获取到不同的测试任务;本技术可以为测试任务配置不同的测试场景,如场景可至少包括:超车场景、跟车场景、转弯场景、十字路口场景、交通灯场景、避让行人场景、停车场景等等,当然还可以为其他任意驾车的场景,本技术对于测试场景不进行具体限制。算法可以为自动驾驶中的任意算法,如可以为自动驾驶中的环境感知算法、也可以为对被测车辆具有决策规划、控制执行功能的综合算法(如规划算法、决策算法、控制算法等等),这里可将每个算法称为自动驾驶模型。
122.在本技术中,目标用户在创建测试任务时,可以同时选择多个自动驾驶模型来同时对同一个测试场景进行运行测试,这多个自动驾驶模型可以为同一个算法的不同版本(如同一个决策算法1的版本1、版本2、版本3),这多个自动驾驶模型也可以为不同的算法(如,决策算法1、决策算法2、决策算法3);同时,目标用户可选择其中的一个算法作为控制目标仿真车辆行驶的主算法。例如,以多个自动驾驶模型为同一个算法的不同版本为例,针对算法a,初始版本为版本v1、在此基础上的更新版本为版本v2,版本v1与版本v2具有不同的逻辑结构,版本v1与版本v2可称之为同一算法a的两个不同版本。本技术中的第一自动驾驶模型可为任一被测算法,该算法可作为控制目标仿真车辆行驶的主算法,而第二自动驾驶模型可为被测算法中除主算法以外的其余算法,将第一自动驾驶模型与第二自动驾驶模型进行同时运行测试的目的在于:可以在一测试任务中,同时得到第一自动驾驶模型与第二自动驾驶模型的不同的预测行驶数据,由此在后续处理中可以更为详细准确且高效的测试第二自动驾驶模型与第一自动驾驶模型相比,是否在该测试场景信息下存在自动驾驶质量上的进步。
123.步骤s102,基于测试场景信息创建虚拟行驶环境,在虚拟行驶环境中获取目标仿真车辆在仿真行驶轨迹上的仿真车辆位置,通过第一自动驾驶模型对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第一预测行驶数据;第一预测行驶数据具备针对目标仿真车辆的行驶控制权限,行驶控制权限是指控制目标仿真车辆进行行驶且更新仿真行驶轨迹的权限。
124.本技术中,测试服务器在接收到测试终端发送的测试任务与任务配置信息后,可基于任务配置信息中的测试场景信息,创建虚拟行驶环境。应当理解,本技术可为每个配置测试场景预先配置一个虚拟行驶环境,那么测试服务器在接收到测试任务后,可直接将该测试任务中的测试场景信息与配置测试场景进行匹配,待匹配上后,将匹配上的目标配置测试场景对应的配置虚拟行驶环境,作为该测试场景信息对应的虚拟行驶环境;随后,可将该获取到的虚拟行驶环境进行初始化。
125.可选的,若该测试场景信息并不存在对应的配置虚拟行驶环境,则测试服务器可基于该测试场景信息新建一个虚拟行驶环境,随后,可将该测试场景信息与该新建的虚拟行驶环境形成对应关系存储,由此,在后续若有针对该测试场景信息的测试任务时,可直接获取与该测试场景信息具有对应关系的虚拟行驶环境即可,无需再次新建。其中,对于测试服务器基于测试场景信息新建虚拟行驶环境的具体方法可为:可获取测试场景信息所需的
虚拟道路类型,创建属于虚拟道路类型的目标虚拟道路;随后,可在目标虚拟道路中获取主车生成点与障碍对象生成点;其中,主车生成点为仿真行驶轨迹上的轨迹起始点;随后,可在主车生成点生成目标仿真车辆,在障碍对象生成点生成障碍对象;根据测试场景信息为障碍对象分配对象行为参数,将包含目标虚拟道路、处于主车生成点上的目标仿真车辆、处于障碍对象生成点上的具有对象行为参数的障碍对象的虚拟环境,确定为虚拟行驶环境。
126.其中,障碍对象可包括障碍仿真车辆(即虚拟行驶环境中,除目标仿真车辆以外的进行自主驾驶的车辆)与障碍仿真用户(即在虚拟行驶环境中,进行自主行走的行人)。根据测试场景信息为障碍对象分配对象行为参数的具体方法可为:可获取测试场景信息所需的障碍仿真车辆的车辆行为参数,以及障碍仿真用户的用户行为参数;随后,可将障碍仿真车辆的行为参数设置为车辆行为参数,将障碍仿真用户的行为参数设置为用户行为参数。
127.应当理解,以测试场景信息为十字路口场景为例,那么该测试场景信息所需的虚拟道路类型即为十字路口类型,可创建属于十字路口类型的十字路口道路。在创建完成目标虚拟道路后,可在该目标虚拟道路中创建虚拟车辆(包括被测的目标仿真车辆、与非被测的障碍车辆)、创建行人,可为非被测的障碍车辆创建车辆行为参数(如,通过某一自动驾驶模型对障碍车辆的车辆行为参数进行预测规划,控制障碍车辆在虚拟行驶环境中进行自主行驶;也可以为障碍车辆设置一个车辆行为参数(如,行驶方向、行驶速度等),使得该障碍车辆可以在该虚拟行驶环境中使用该预设的不变的车辆行为参数进行自主行驶);同时,也可为行人设置行人行为参数(如,通过为障碍用户设置一个用户行为参数(如,行走方向、行走速度等),使得该障碍用户可以在该虚拟行驶环境中使用该预设的不变的用户行为参数进行自主行走)。
128.本技术中,目标用户在创建测试任务时,可在选择运行的算法时,选择某个算法作为控制目标仿真车辆行驶的主算法,那么该主算法即拥有针对目标仿真车辆的行驶控制权限,该主算法的预测行驶数据也可具备针对目标仿真车辆的行驶控制权限。可选的,对于控制目标仿真车辆的主算法,也可以通过测试服务器随机选择。
129.以第一自动驾驶模型拥有该行驶控制权限为例,进一步地,在虚拟行驶环境中创建完成后,可以通过第一自动驾驶模型对处于主车生成点的目标仿真车辆进行行驶预测,并控制目标仿真车辆按照第一自动驾驶模型的预测行驶数据在虚拟行驶环境中行驶。那么从主车生成点开始,可以通过第一自动驾驶模型的预测行驶数据,得到目标仿真车辆在该虚拟行驶环境中的仿真行驶轨迹,该仿真行驶轨迹的轨迹起始点即为该主车生成点,该仿真行驶轨迹上也可包括n个仿真车辆位置(即目标仿真车辆行驶过程中到达的各个位置)。为便于理解,以下将对第一自动驾驶模型控制目标仿真车辆行驶,并得到仿真车辆轨迹的具体方法进行阐述。
130.通过上述可知,虚拟行驶环境中包括有目标虚拟道路、处于障碍对象生成点上的具有对象行为参数的障碍对象;其中,障碍对象生成点位于目标虚拟道路中;目标虚拟道路包括仿真行驶轨迹(在目标仿真车辆还未开始行驶时,该仿真行驶轨迹即只包括主车生成点这一个仿真车辆位置);仿真行驶轨迹包括n(n为正整数)个仿真车辆位置(包括主车生成点)。
131.以n个仿真车辆位置包括仿真车辆位置m
i
(i为小于或等于n的正整数)为例,对于通过第一自动驾驶模型对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第一预
测行驶数据的具体方法可为:可将目标虚拟道路、目标仿真车辆、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,输入至第一自动驾驶模型;通过第一自动驾驶模型、目标虚拟道路、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,确定目标仿真车辆在仿真车辆位置m
i
的第一预测行为参数;随后,可基于仿真车辆位置m
i
与第一预测行为参数,确定目标仿真车辆的第一预测到达位置;进一步地,可将第一预测行为参数与第一预测到达位置,确定为第一预测行驶数据。
132.进一步地,可基于第一预测行驶数据对仿真车辆轨迹进行更新,其具体方法可为:可将第一预测到达位置确定为仿真车辆位置m
i 1
,随后,可控制目标仿真车辆以第一预测行为参数从仿真车辆位置m
i
行驶至仿真车辆位置m
i 1
;随后,可获取目标仿真车辆以第一预测行为参数,从仿真车辆位置m
i
行驶至仿真车辆位置m
i 1
的行驶轨迹数据;根据行驶轨迹数据可对仿真行驶轨迹进行更新。
133.应当理解,以仿真车辆位置m
i
为主车生成点(即轨迹起始点)为例,当目标仿真车辆处于主车生成点时,测试服务器可获取到此时障碍对象的位置数据、对象行为参数、目标仿真车辆的位置数据等数值,可将这些参数值输入至第一自动驾驶模型中,通过第一自动驾驶模型可对目标仿真车辆进行行驶预测,得到第一预测行为参数(例如,以460m/s的速度直行);随后,可获取预设行驶时长(该可为人为规定,也可为机器随机确定,例如,该预设行驶时长为1s),可控制目标仿真车辆以第一预测行为参数行驶1s(即预设行驶时长对应的时长),目标仿真车辆在行驶1s后,可到达新的位置,这个新的位置即可称之为仿真车辆位置m
i 1
;可获取目标仿真车辆从主车生成点到该新的位置之间的行驶轨迹数据,根据该行驶轨迹数据可对仿真车辆轨迹进行更新(当仿真车辆位置m
i
为主车生成点时,该从主车生成点到该新的位置之间的行驶轨迹数据,即可为该仿真车辆轨迹)。
134.同理,当目标仿真车辆从主车生成点到达新的位置(可称之为位置1)时,测试服务器又可获取到此时障碍对象的位置数据、对象行为参数、目标仿真车辆的位置数据等数值,测试服务器又可将这些参数值输入至第一自动驾驶模型,通过第一自动驾驶模型又可基于这些参数值对目标仿真车辆进行预测规划,得到新的预测行为参数;随后,又可基于新的预测行为参数控制目标仿真车辆行驶1s,目标仿真车辆又会到达一个新的位置(可称之为位置2),此时,测试服务器又可获取到目标仿真车辆从位置1行驶到该位置2的新的行驶轨迹,可将目标仿真车辆从主车生成点到上述位置1的行驶轨迹、与位置1到位置2的行驶轨迹进行拼接,拼接得到的行驶轨迹可为新的仿真行驶轨迹。
135.步骤s103,通过第二自动驾驶模型,同步对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第二预测行驶数据;第二预测行驶数据不具备行驶控制权限。
136.本技术中,虽然第二自动驾驶模型针对目标仿真车辆并不具备行驶控制权限,但第二自动驾驶模型仍可对处于各个仿真车辆位置上的目标仿真车辆进行同步行驶预测。以仿真车辆位置为仿真车辆位置m
i
为例,其具体方法可为:可将目标虚拟道路、目标仿真车辆、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,输入至第二自动驾驶模型;随后,可通过第二自动驾驶模型、目标虚拟道路、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,确定目标仿真车辆在仿真车辆位置m
i
的第二预测行为参数;基于仿真车辆位置m
i
与第二预测行为参数,可确定目标仿真车辆的第二预测到达位置;可将第二预测行为参数与第二预测到达位置,确定为第二预测行驶数据。
137.应当理解,以仿真车辆位置m
i
为主车生成点(即轨迹起始点)为例,当目标仿真车辆处于主车生成点时,测试服务器可获取到此时障碍对象的位置数据、对象行为参数、目标仿真车辆的位置数据等数值,可将这些参数值输入至第一自动驾驶模型中,同时,也可将这些参数值输入至第二自动驾驶模型中;通过第一自动驾驶模型可对目标仿真车辆进行行驶预测,得到第一预测行为参数(例如,以460m/s的速度直行);通过第二自动驾驶模型也可对目标仿真车辆进行行驶预测,得到第二预测行为参数(例如,方向盘向右偏移45度、以500m/s的速度行驶);随后,可获取预设行驶时长(该可为人为规定,也可为机器随机确定,例如,该预设行驶时长为1s),可控制目标仿真车辆以第一预测行为参数行驶1s(即预设行驶时长对应的时长),目标仿真车辆在行驶1s后,可到达新的位置,这个新的位置即可称之为仿真车辆位置m
i 1
;同时,可计算目标仿真车辆以第二预测行为参数行驶1s后会到达的位置,目标仿真车辆不会实际在虚拟行驶环境中抵达这个位置,但这个位置可作为第二自动驾驶模型的第二预测行驶数据。
138.同理,当目标仿真车辆从主车生成点到达新的位置(可称之为位置1)时,测试服务器又可获取到此时障碍对象的位置数据、对象行为参数、目标仿真车辆的位置数据等数值,测试服务器又可将这些参数值输入至第一自动驾驶模型,同时,可以将这些新的参数值一并发送至第二自动驾驶模型;通过第一自动驾驶模型又可基于这些参数值对目标仿真车辆进行预测规划,得到新的位置1上的预测行为参数;通过第二自动驾驶模型也可基于这些参数值对目标仿真车辆进行预测规划,得到这个位置1上的预测行为参数。
139.随后,又可基于第一自动驾驶模型的在位置1上的新的预测行为参数控制目标仿真车辆行驶1s,目标仿真车辆又会到达一个新的位置(可称之为位置2),此时,第一自动驾驶模型与第二自动驾驶模型又基于此时的新的参数值,对处于位置2上的目标仿真车辆进行不同的预测规划,但是目标仿真车辆会按照第一自动驾驶模型的预测数据进行行驶,并更新仿真行驶轨迹。也就是说,在仿真行驶轨迹上的每一个仿真车辆位置上,第一自动驾驶模型与第二自动驾驶模型均会进行不同的预测规划,第一自动驾驶模型对应的第一预测行驶数据中,包括有每个仿真车辆位置上的预测行驶数据;同理,第二自动驾驶模型对应的第二预测行驶数据中,包括有每个仿真车辆位置上的预测行驶数据。
140.应当理解,在得到上述第一自动驾驶模型的第一预测行驶数据,与第二自动驾驶模型的第二预测行驶数据后,可将该第一预测行驶数据与第二预测行驶数据进行保存,以进行后续处理。例如,可分别对第一预测行驶数据与第二预测行驶数据进行分析评测,基于该第一预测行驶数据评测第一自动驾驶模型在该测试场景中的自动驾驶质量(如是否发生碰撞、速度是否过快等);同理,基于该第二预测行驶数据评测第二自动驾驶模型在该测试场景中的自动驾驶质量。可以理解的是,通过上述可知,第一预测行驶数据与第二预测行驶数据是第一自动驾驶模型与第二自动驾驶模型在相同时刻下、相同位置时进行不同预测所得到的预测行驶数据,那么该第一预测行驶数据与第二预测行驶数据即为单一的变量,则可以对该第一预测行驶数据与第二预测行驶数据进行对比评测,由此可以比较两个或两个以上的模型在相同时刻下、相同位置时,基于相同的环境所作出的预测行驶数据中,哪一个模型的预测行驶数据更为优异,通过对比评测可以判断第二自动驾驶模型的自动驾驶质量是否优于第一自动驾驶模型。并基于对比评测的结果来判断是否要对自动驾驶模型进行更新,那么同时将多个自动驾驶模型在同一个测试任务中进行同步测试的方式,也可以提高
自动驾驶模型的更新效率。
141.其中,对于上述将第一预测行驶数据与第二预测行驶数据进行对比分析,并基于第一预测行驶数据与第二预测行驶数据之间的对比分析结果,对第二自动驾驶模型进行更新的具体实现方式,可以参见后续图4所对应实施例的描述。
142.在本技术实施例中,对于自动驾驶模型的测试,可以在虚拟行驶环境中进行仿真测试。其具体为:对于同一个测试任务,可以同时运行两种自动驾驶模型(例如,第一自动驾驶模型与第二自动驾驶模型)来执行该测试任务;在同时运行第一自动驾驶模型与第二自动驾驶模型进行测试时,可以为第一自动驾驶模型所预测的第一预测行驶数据分配行驶控制权限,同时,不为第二自动驾驶模型所预测的第二预测行驶数据分配该行驶控制权限,即只有第一自动驾驶模型有权限控制目标仿真车辆进行行驶,而第二自动驾驶模型并不具备目标仿真车辆进行行驶的权限。由此,在该测试任务中,目标仿真车辆所行驶的仿真行驶轨迹均是按照第一自动驾驶模型所预测的第一预测行驶数据来得到的,该仿真行驶轨迹上的每一个仿真车辆位置是按照第一预测行驶数据来行驶到达的位置,当目标仿真车辆每到达一个仿真车辆位置,第一自动驾驶模型会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,而虽然第二自动驾驶模型不会对目标仿真车辆进行行驶控制,但是第二自动驾驶模型依然会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,随后,目标仿真车辆会按照第一自动驾驶模型所预测的行驶数据进行行驶,到达新的仿真车辆位置后,第一自动驾驶模型与第二自动驾驶模型又会同时进行新一轮的行驶预测规划。可见,本技术可以在保证目标仿真车辆的历史行驶轨迹相同的情况下,第一自动驾驶模型与第二自动驾驶模型可以在相同轨迹上的每一个仿真车辆位置上进行不同的行驶预测规划,第一自动驾驶模型与第二自动驾驶模型在进行行驶预测规划时,目标仿真车辆处于相同的位置,所有的影响行驶预测规划时的环境参数(同一位置处的环境参数)均是相同的参数(即第一自动驾驶模型与第二自动驾驶模型是基于相同的输入参数进行行驶预测的)。也就是说,本技术可以对自动驾驶模型进行仿真测试,无需部署真实测试环境,同时,在相同的仿真测试场景下,本技术可以同时测试不同的算法,无需将算法分开进行测试,可以大量减少测试次数,由此可以节约大量的人力、时间以及物力成本;同时,由于这些算法是在相同的测试场景下,基于相同的输入参数进行预测的,那么在得到不同模型在相同位置处的不同预测行驶数据后,也可以将不同自动驾驶模型在相同时刻下、相同位置处的预测行驶数据进行更为详细准确地进行对比评测,由此得到更为准确的测试评测结果,提高模型的测试准确率综上,本技术可以在自动驾驶模型的仿真测试中,减少测试成本,提高测试效率以及模型的测试准确率。
143.进一步地,请参见图4,图4是本技术实施例提供的一种将第一预测行驶数据与第二预测行驶数据进行对比分析的流程示意图。本流程可以对应于上述图3所对应实施例中在得到第一预测行驶数据与第二预测行驶数据后的后续处理流程,即将第一预测行驶数据与第二预测行驶数据进行对比分析的流程。如图4所示,该流程可以至少包括以下步骤s201

步骤s205:
144.步骤s201,获取第一预测行驶数据中仿真车辆位置m
i
对应的预测行驶数据s
i
;预测行驶数据s
i
为第一自动驾驶模型,对处于仿真车辆位置m
i
上的目标仿真车辆进行行驶预测所得到的预测行驶数据。
145.具体的,仿真行驶轨迹中可包括有一个或多个仿真车辆位置,对于每个仿真车辆位置,第一自动驾驶模型与第二自动驾驶模型均会对目标仿真车辆同时进行不同的行驶预测,那么在该第一自动驾驶模型的第一预测行驶数据中,可以包括有n个仿真车辆位置分别对应的预测行驶数据。本技术可以获取到第一预测行驶数据中每个仿真车辆位置对应的预测行驶数据,以仿真车辆位置m
i
为例,可以获取到仿真车辆位置m
i
对应的预测行驶数据s
i

146.步骤s202,获取第二预测行驶数据中仿真车辆位置m
i
对应的预测行驶数据t
i
;预测行驶数据t
i
为第二自动驾驶模型,对处于仿真车辆位置m
i
上的目标仿真车辆进行行驶预测所得到的预测行驶数据。
147.具体的,同理,在该第二自动驾驶模型的第二预测行驶数据中,可以包括有n个仿真车辆位置分别对应的预测行驶数据。本技术可以获取到第二预测行驶数据中每个仿真车辆位置对应的预测行驶数据,以仿真车辆位置m
i
为例,可以获取到仿真车辆位置m
i
对应的预测行驶数据t
i

148.步骤s203,将预测行驶数据s
i
与预测行驶数据t
i
进行对比分析,得到仿真车辆位置m
i
对应的分析结果。
149.具体的,本技术可以对同一仿真车辆位置上的两种(或两种以上)算法的不同预测行驶数据进行对比分析。例如,以仿真车辆位置m
i
为例,可以将预测行驶数据s
i
与预测行驶数据t
i
进行对比分析,其具体方法可为:可确定预测行驶数据s
i
对应的第一事故发生率,以及预测行驶数据t
i
对应的第二事故发生率;随后,可将第一事故发生率与第二事故发生率进行匹配;若第一事故发生率大于第二事故发生率,则可将仿真车辆位置m
i
对应的分析结果确定为模型进步结果;其中,该模型进步结果可用于指示在仿真车辆位置m
i
中,第二自动驾驶模型的自动驾驶质量优于第一自动驾驶模型;而若第一事故发生率小于或等于第二事故发生率,则可将仿真车辆位置m
i
对应的分析结果确定为模型未进步结果;其中,模型未进步结果可用于指示在仿真车辆位置m
i
中,第二自动驾驶模型的自动驾驶质量差于第一自动驾驶模型。
150.应当理解,上述事故发生率可以是指行驶过程中可能发生事故的概率,除此以外,还可对比分析预测行驶数据s
i
与预测行驶数据t
i
之间的横向加速度、纵向加速度、方向盘转角值、打方向盘的速度、油门/刹车值、是否发生碰撞、发生碰撞的次数等等,对比分析的还可为其他驾驶过程中的任意交通参数,这里将不进行限制。
151.步骤s204,当得到n个仿真车辆位置分别对应的分析结果时,根据n个仿真车辆位置分别对应的分析结果,确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果。
152.具体的,通过上述确定仿真车辆位置m
i
对应的分析结果的方式,可以得到每一个仿真车辆位置分别对应的分析结果,由此可得到n个仿真车辆位置分别对应的分析结果。在得到n个仿真车辆位置分别对应的分析结果后,可基于n个仿真车辆分别对应的分析结果,确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果,其具体方法可为:可将n个仿真车辆位置分别对应的分析结果中,为模型进步结果的分析结果,确定为目标分析结果;随后,可统计目标分析结果的第一结果数量与剩余分析结果的第二结果数量;其中,剩余分析结果为n个仿真车辆位置分别对应的分析结果中,除模型进步结果以外的分析结果;随后,可确定第一结果数量与第二结果数量的数量比值,根据数量比值可确定第一预测行
驶数据与第二预测行驶数据之间的对比分析结果。
153.其中,根据数量比值确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果的具体方法可为:若数量比值大于或等于比值阈值,则将第一预测行驶数据与第二预测行驶数据之间的对比分析结果,确定为模型优异结果;模型优异结果用于提示在测试场景信息中,第二自动驾驶模型的自动驾驶质量优于第一自动驾驶模型;若数量比值小于比值阈值,则将第一预测行驶数据与第二预测行驶数据之间的对比分析结果,确定为模型待更新结果;模型待更新结果用于提示在测试场景信息中,第二自动驾驶模型的自动驾驶质量差于第一自动驾驶模型。
154.例如,以比值阈值为1为例,在对每个仿真车辆位置进行对比分析后,若分析出第二自动驾驶模型优于第一自动驾驶模型的次数为5次,第二自动驾驶模型差于第一自动驾驶模型的次数为6次,那么数值比值即为5/6,该数值比值小于比值阈值1,则可确定该最终的对比分析结果为模型待更新结果(即第一自动驾驶模型优于第二自动驾驶模型)。
155.步骤s205,根据第一预测行驶数据与第二预测行驶数据之间的对比分析结果,对第二自动驾驶模型进行更新,得到目标自动驾驶模型;目标自动驾驶模型用于控制真实车辆在测试场景信息对应的真实行驶环境中行驶。
156.本技术中,根据第一预测行驶数据与第二预测行驶数据之间的对比分析结果(可包括模型优异结果与模型待更新结果),可对第二自动驾驶模型进行更新,得到目标自动驾驶模型。其具体方法可为:若对比分析结果为模型优异结果,则可将第二自动驾驶模型确定为目标自动驾驶模型;若对比分析结果为模型待更新结果,则可根据第二预测行驶数据对第二自动驾驶模型的逻辑参数进行调整更新,得到目标自动驾驶模型。应当理解,调整逻辑参数后的第二自动驾驶模型可继续进行测试,直到第二自动驾驶模型达到测试指标(即自动驾驶质量优于第一自动驾驶模型,对比分析结果为模型优异结果)。
157.可选的,对于根据第一预测行驶数据与第二预测行驶数据之间的对比分析结果(可包括模型优异结果与模型待更新结果),对第二自动驾驶模型进行更新,得到目标自动驾驶模型的具体方法还可为:可将第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果发送至目标终端;目标终端为目标用户对应的终端;目标用户为创建测试任务的用户;可接收目标终端基于第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果发送的操作指示;若操作指示为模型调整指示,则根据第二预测行驶数据对第二自动驾驶模型的逻辑参数进行调整更新,得到目标自动驾驶模型;若操作指示为模型完成测试指示,则将第二自动驾驶模型,确定为目标自动驾驶模型。
158.应当理解,在测试服务器得到n个仿真车辆位置分别对应的分析结果并得到最终的对比分析结果后,测试服务器可将第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果一并发送至测试终端,那么测试用户(目标用户)可通过测试终端查看到这些数据,测试用户可以将测试服务器得到的对比分析结果作为参考,那么测试用户可在具有参考的情况下,对第一预测行驶数据与第二预测行驶数据进行人工对比分析,并结合测试服务器的参考数据判断第二自动驾驶模型是否达到了自己的测试指标。其中,该测试指标可为相比于第一自动驾驶模型,第二自动驾驶模型的自动驾驶质量更优异;该测试指标还可为在该测试场景中,第二自动驾驶模型不会发生交通事故。
对于该测试指标,可由测试用户人为规定。
159.应当理解,若测试用户对比分析后确定第二自动驾驶模型达到了自己的测试指标,则该操作指示可为模型完成测试指示,测试服务器基于该操作指示,即可不再对第二自动驾驶模型进行更新测试;而若测试用户对比分析后确定第二自动驾驶模型还未达到自己的测试指标,则该操作指示可为模型调整指示,测试服务器基于该操作指示,可以对第二自动驾驶模型进行调整更新,并对调整更新后的第二自动驾驶模型继续进行测试(需要说明的是,此时调整更新前的第二自动驾驶模型可作为测试中的主算法,而调整更新后的第二自动驾驶模型可为影子算法,也就是说,在新一轮的测试中,可查看该调整更新后的第二自动驾驶模型的自动驾驶质量,是否比调整更新前更优异)。
160.需要说明的是,上述第一自动驾驶模型的数量可为1,即每次测试任务中用于控制目标仿真车辆行驶的算法为1个;但是第二自动驾驶模型的数量可为一个或多个,也就是说,在每次测试任务中,可对多个第二自动驾驶模型进行同时测试,以提高对模型的迭代更新效率。此外,该第二自动驾驶模型可为与第一自动驾驶模型的更新版本(即第一自动驾驶模型与第二自动驾驶模型可为同一算法的不同版本);该第二自动驾驶模型也可为第一自动驾驶模型的不同算法(即第一自动驾驶模型与第二自动驾驶模型属于不同的算法)。
161.可选的,可以理解的是,对于自动驾驶模型的对比测试,也可以采用与实际路采数据进行对比测试的方式,例如:可以通过真实驾驶用户在测试场景对应的真实驾驶环境中对真实车辆进行行驶,由此可以得到在真实驾驶环境中的实际路采数据,可将该实际路采数据输入至目标仿真车辆中,由该实际路采数据控制目标仿真车辆在虚拟行驶环境中行驶;同时,将各个被测的自动驾驶模型部署于目标仿真车辆中,在实际路采数据控制目标仿真车辆在虚拟行驶环境中行驶的过程中,多个自动驾驶模型也可以在行驶轨迹上的每一个位置上分别进行行驶预测,可以将这些自动驾驶模型的预测行驶数据与真实驾驶用户的实际路采数据进行对比评测。
162.应当理解,完成测试并通过测试的目标自动驾驶模型,可以投入使用。以使用场景为物品配送场景为例,对于目标自动驾驶模型的应用流程可为:可获取配送终端发送的针对于目标物品的物品配送请求;其中,物品配送请求用于请求将目标物品从真实行驶环境中的起始位置,配送至真实行驶环境中的接收位置;基于物品配送请求,可将目标自动驾驶模型部署于真实车辆中,通过目标自动驾驶模型控制真实车辆将目标物品,从起始位置运输至接收位置。对于目标自动驾驶模型的应用场景可为任意交通运输场景,这里将不进行限制。
163.在本技术实施例中,对于同一个测试任务,可以同时运行两种自动驾驶模型(例如,第一自动驾驶模型与第二自动驾驶模型)来执行该测试任务;在同时运行第一自动驾驶模型与第二自动驾驶模型进行测试时,可以为第一自动驾驶模型所预测的第一预测行驶数据分配行驶控制权限,同时,不为第二自动驾驶模型所预测的第二预测行驶数据分配该行驶控制权限,即只有第一自动驾驶模型有权限控制目标仿真车辆进行行驶,而第二自动驾驶模型并不具备目标仿真车辆进行行驶的权限。由此,在该测试任务中,目标仿真车辆所行驶的仿真行驶轨迹均是按照第一自动驾驶模型所预测的第一预测行驶数据来得到的,该仿真行驶轨迹上的每一个仿真车辆位置是按照第一预测行驶数据来行驶到达的位置,当目标仿真车辆每到达一个仿真车辆位置,第一自动驾驶模型会对处于该仿真车辆位置的目标仿
真车辆进行接下来的行驶预测规划,而虽然第二自动驾驶模型不会对目标仿真车辆进行行驶控制,但是第二自动驾驶模型依然会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,随后,目标仿真车辆会按照第一自动驾驶模型所预测的行驶数据进行行驶,到达新的仿真车辆位置后,第一自动驾驶模型与第二自动驾驶模型又会进行新一轮的行驶预测规划。可见,本技术可以在保证目标仿真车辆的历史行驶轨迹相同的情况下,第一自动驾驶模型与第二自动驾驶模型可以在每一个仿真车辆位置上同时进行不同的行驶预测规划,第一自动驾驶模型与第二自动驾驶模型在进行行驶预测规划时,所有的影响行驶预测规划时的环境参数均是相同的参数,在这些影响参数相同的情况,第一自动驾驶模型与第二自动驾驶模型即是单一变量,则可以更为准确详细将第一自动驾驶模型所预测的数据与第二自动驾驶模型所预测的数据进行对比,提高数据对比准确率;同时,本技术可以将多个自动驾驶模型在一个测试任务中同时运行,可以在提高数据对比准确率的同时,减少对自动驾驶模型的对比测试次数,可以提高自动驾驶模型的迭代更新效率。综上,本技术可以在自动驾驶模型的仿真测试中,提高数据对比准确率,提高自动驾驶模型的迭代更新效率。
164.进一步地,请参见图5,图5是本技术实施例提供的一种基于自动驾驶的仿真测试架构图。以某个测试场景中需要测试决策控制算法为例,如图5所示,该测试架构可以包括中枢模块、系统模块1、系统模块2、系统模块3、算法模块1、算法模块2以及算法模块3。
165.当本技术的仿真系统运行测试场景时,中枢模块(相当于测试服务器)会依次调用不同的系统模块和用户算法模块,每个系统模块和算法模块都会根据场景和被测对象的不同而不同。
166.例如,在某个测试场景中需要测试决策控制算法,那么中枢模块会按顺序依次调用系统模块1、系统模块2、算法模块1、算法模块2、算法模块3、系统模块3。其中,系统模块1与系统模块2可属于环境感知模块,可用于创建虚拟行驶环境,并基于被测仿真车辆当前的位置,感知被测仿真车辆的周围环境(例如,其余障碍对象的位置),得到目标级真值(如,障碍对象对应的位置参数值、被测仿真车辆所处的位置参数值等)。
167.进一步地,系统模块1和系统模块2输出感知的目标级真值后,可将该目标级真值(即感知到的环境的参数值)给到下游的算法模块1、算法模块2和算法模块3。其中,算法模块1可对应规划算法、算法模块2可对应决策算法、算法模块3可对应控制算法。算法模块1、算法模块2和算法模块3可输出基于这些目标级真值进行行驶预测的预测行为参数以及控制信号。
168.进一步地,算法模块1、算法模块2以及算法模块3所输出的预测行为参数会给到下游的系统模块3,系统模块3可为计算模块。系统模块3可根据算法模块3输出的控制信号计算出下一帧被测仿真车辆在虚拟行驶环境中的定位,系统模块3可将该计算出的定位发送至系统模块1,则系统模块1与系统模块2可基于更新后的定位,重新感知当前所处的环境的参数值,然后开始新一轮的计算。即,算法模块1可以接收到新的环境的参数值,又会进行新一轮的行驶预测,系统模块3也会基于算法模块3给到的信号重新计算被测仿真车辆的位置并给到系统模块1,然后再次进行新一轮的计算直至达到测试时间,或者直至被测仿真车辆到达预设终点。需要说明的是,上述各个算法模块可称之为自动驾驶模型。
169.为便于理解,请参见图6,图6是本技术实施例提供的一种针对模块之间输入或输
出的逻辑结构图。
170.如图6所示,当需要同时测试同一个算法(如算法a)的不同版本(如图6所示的版本1与版本2)的时候,可以将该算法a的某一个版本(如版本1)作为基准版本;该基准版本可用于控制被测仿真车辆在虚拟行驶环境中行驶,同时,该基准版本的输出可输入至下游模块。同时,该算法a的其他版本(如版本2)设置为影子模块,由此,来自上游模块(如上述图5所对应实施例中的系统模块2)的输出(如上述图5所对应实施例中的目标级真值)会同时输入到该算法的所有不同版本模块中,从而可以保证该算法a的所有版本均基于相同的输入进行计算(两个版本的算法进行预测计算时,被测仿真车辆所处的环境是相同的)。进一步地,只有该算法的基准版本的输出会给到下游模块,其他用于对比测试的版本(影子模块)的输出只会给到评测模块和前端渲染。该前端渲染模块可以对接收到的数据进行渲染输出(例如,渲染出运行轨迹),该评测模块可用于对不同版本算法的预测数据进行评测分析。
171.应当理解,本技术通过在自动驾驶的仿真测试系统中增加影子模式,测试用户可以同时运行多个算法,那么可以使得这些算法每次都基于相同的输入进行不同的预测,而不是在每次预测时,是基于不同的输入进行预测的,基于相同的输入即其余所有变量均相同,仅仅是算法预测的不同。那么本技术可以使得测试用户在其他因素相同的情况下,仅仅单一的比较算法预测的优异,可以更为详细准确的进行对比。
172.进一步地,请参见图7,图7是本技术实施例提供的一种基于自动驾驶的数据测试装置的结构示意图。该基于自动驾驶的数据测试装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于自动驾驶的数据测试装置为一个应用软件;该基于自动驾驶的数据测试装置可以用于执行图3所示的方法。如图7所示,该基于自动驾驶的数据测试装置1可以包括:信息获取模块11、环境创建模块12、位置获取模块13、数据预测模块14。
173.信息获取模块11,用于获取测试任务与测试任务对应的任务配置信息;任务配置信息包括测试任务所配置的测试场景信息、第一自动驾驶模型以及第二自动驾驶模型;
174.环境创建模块12,用于基于测试场景信息创建虚拟行驶环境;
175.位置获取模块13,用于在虚拟行驶环境中获取目标仿真车辆在仿真行驶轨迹上的仿真车辆位置;
176.数据预测模块14,用于通过第一自动驾驶模型对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第一预测行驶数据;第一预测行驶数据具备针对目标仿真车辆的行驶控制权限,行驶控制权限是指控制目标仿真车辆进行行驶且更新仿真行驶轨迹的权限;
177.数据预测模块14,还用于通过第二自动驾驶模型,同步对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第二预测行驶数据;第二预测行驶数据不具备行驶控制权限;
178.其中,信息获取模块11、环境创建模块12、位置获取模块13、数据预测模块14的具体实现方式,可以参见上述图3所对应实施例中步骤s101

步骤s104的描述,这里将不再进行赘述。
179.在一个实施例中,虚拟行驶环境还包括目标虚拟道路、处于障碍对象生成点上的具有对象行为参数的障碍对象;障碍对象生成点位于目标虚拟道路中;目标虚拟道路包括
仿真行驶轨迹;仿真行驶轨迹包括n个仿真车辆位置,n个仿真车辆位置包括仿真车辆位置m
i
;n为正整数,i为小于或等于n的正整数;
180.数据预测模块14可以包括:第一参数输入单元141、第一参数预测单元142以及第一数据确定单元143。
181.第一参数输入单元141,用于将目标虚拟道路、目标仿真车辆、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,输入至第一自动驾驶模型;
182.第一参数预测单元142,用于通过第一自动驾驶模型、目标虚拟道路、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,确定目标仿真车辆在仿真车辆位置m
i
的第一预测行为参数;
183.第一参数预测单元142,还用于基于仿真车辆位置m
i
与第一预测行为参数,确定目标仿真车辆的第一预测到达位置;
184.第一数据确定单元143,用于将第一预测行为参数与第一预测到达位置,确定为第一预测行驶数据。
185.其中,第一参数输入单元141、第一参数预测单元142以及第一数据确定单元143的具体实现方式,可以参见上述图3所对应实施例中步骤s102的描述,这里将不再进行赘述。
186.在一个实施例中,该基于自动驾驶的数据测试装置1还可以包括:车辆行驶模块16、轨迹获取模块17以及轨迹更新模块18。
187.车辆行驶模块16,用于将第一预测到达位置确定为仿真车辆位置m
i 1
,控制目标仿真车辆以第一预测行为参数从仿真车辆位置m
i
行驶至仿真车辆位置m
i 1

188.轨迹获取模块17,用于获取目标仿真车辆以第一预测行为参数,从仿真车辆位置m
i
行驶至仿真车辆位置m
i 1
的行驶轨迹数据;
189.轨迹更新模块18,用于根据行驶轨迹数据对仿真行驶轨迹进行更新。
190.其中,车辆行驶模块16、轨迹获取模块17以及轨迹更新模块18的具体实现方式,可以参见上述图3所对应实施例中步骤s102中的描述,这里将不再进行赘述。
191.在一个实施例中,数据预测模块14可以包括:第二参数输入单元144、第二参数预测单元145以及第二数据确定单元146。
192.第二参数输入单元144,用于将目标虚拟道路、目标仿真车辆、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,输入至第二自动驾驶模型;
193.第二参数预测单元145,用于通过第二自动驾驶模型、目标虚拟道路、仿真车辆位置m
i
、处于障碍对象生成点上的具有对象行为参数的障碍对象,确定目标仿真车辆在仿真车辆位置m
i
的第二预测行为参数;
194.第二参数预测单元145,还用于基于仿真车辆位置m
i
与第二预测行为参数,确定目标仿真车辆的第二预测到达位置;
195.第二数据确定单元146,用于将第二预测行为参数与第二预测到达位置,确定为第二预测行驶数据。
196.其中,第二参数输入单元144、第二参数预测单元145以及第二数据确定单元146的具体实现方式,可以参见上述图3所对应实施例中步骤s103中的描述,这里将不再进行赘述。
197.在一个实施例中,仿真行驶轨迹包括n个仿真车辆位置,n个仿真车辆位置包括仿
真车辆位置m
i
;n为正整数,i为小于或等于n的正整数;
198.该基于自动驾驶的数据测试装置1还可以包括:行驶数据对比模块19、分析结果确定模块21以及模型更新模块15。
199.行驶数据对比模块19,用于获取第一预测行驶数据中仿真车辆位置m
i
对应的预测行驶数据s
i
;预测行驶数据s
i
为第一自动驾驶模型,对处于仿真车辆位置m
i
上的目标仿真车辆进行行驶预测所得到的预测行驶数据;
200.行驶数据对比模块19,还用于获取第二预测行驶数据中仿真车辆位置m
i
对应的预测行驶数据t
i
;预测行驶数据t
i
为第二自动驾驶模型,对处于仿真车辆位置m
i
上的目标仿真车辆进行行驶预测所得到的预测行驶数据;
201.行驶数据对比模块19,用于将预测行驶数据s
i
与预测行驶数据t
i
进行对比分析,得到仿真车辆位置m
i
对应的分析结果;
202.分析结果确定模块21,用于当得到n个仿真车辆位置分别对应的分析结果时,根据n个仿真车辆位置分别对应的分析结果,确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果;
203.模型更新模块15,用于根据第一预测行驶数据与第二预测行驶数据之间的对比分析结果,对第二自动驾驶模型进行更新,得到目标自动驾驶模型;目标自动驾驶模型用于控制真实车辆在测试场景信息对应的真实行驶环境中行驶。
204.其中,行驶数据对比模块19、分析结果确定模块21以及模型更新模块15的具体实现方式,可以参见上述图4所对应实施例中步骤s201

步骤s205中的描述,这里将不再进行赘述。
205.在一个实施例中,行驶数据对比模块19可以包括:事故率确定单元191、事故率匹配单元192以及对比结果确定单元193。
206.事故率确定单元191,用于确定预测行驶数据s
i
对应的第一事故发生率,以及预测行驶数据t
i
对应的第二事故发生率;
207.事故率匹配单元192,用于将第一事故发生率与第二事故发生率进行匹配;
208.对比结果确定单元193,用于若第一事故发生率大于第二事故发生率,则将仿真车辆位置m
i
对应的分析结果确定为模型进步结果;模型进步结果用于指示在仿真车辆位置m
i
中,第二自动驾驶模型的自动驾驶质量优于第一自动驾驶模型;
209.对比结果确定单元193,还用于若第一事故发生率小于或等于第二事故发生率,则将仿真车辆位置m
i
对应的分析结果确定为模型未进步结果;模型未进步结果用于指示在仿真车辆位置m
i
中,第二自动驾驶模型的自动驾驶质量差于第一自动驾驶模型。
210.其中,事故率确定单元191、事故率匹配单元192以及对比结果确定单元193的具体实现方式,可以参见上述图3所对应实施例中步骤s104中的描述,这里将不再进行赘述。
211.在一个实施例中,分析结果确定模块21可以包括:结果统计单元211以及分析结果确定单元212。
212.结果统计单元211,用于将n个仿真车辆位置分别对应的分析结果中,为模型进步结果的分析结果,确定为目标分析结果;
213.结果统计单元211,还用于统计目标分析结果的第一结果数量与剩余分析结果的第二结果数量;剩余分析结果为n个仿真车辆位置分别对应的分析结果中,除模型进步结果
以外的分析结果;
214.结果统计单元211,还用于确定第一结果数量与第二结果数量的数量比值;
215.分析结果确定单元212,用于根据数量比值确定第一预测行驶数据与第二预测行驶数据之间的对比分析结果。
216.其中,结果统计单元211以及分析结果确定单元212的具体实现方式,可以参见上述图3所对应实施例中步骤s104中的描述,这里将不再进行赘述。
217.在一个实施例中,分析结果确定单元212,还具体用于若数量比值大于或等于比值阈值,则将第一预测行驶数据与第二预测行驶数据之间的对比分析结果,确定为模型优异结果;模型优异结果用于提示在测试场景信息中,第二自动驾驶模型的自动驾驶质量优于第一自动驾驶模型;
218.分析结果确定单元212,还具体用于若数量比值小于比值阈值,则将第一预测行驶数据与第二预测行驶数据之间的对比分析结果,确定为模型待更新结果;模型待更新结果用于提示在测试场景信息中,第二自动驾驶模型的自动驾驶质量差于第一自动驾驶模型。
219.在一个实施例中,模型更新模块15可以包括:第一模型更新单元151。
220.第一模型更新单元151,用于若对比分析结果为模型优异结果,则将第二自动驾驶模型确定为目标自动驾驶模型;
221.第一模型更新单元151,还用于若对比分析结果为模型待更新结果,则根据第二预测行驶数据对第二自动驾驶模型的逻辑参数进行调整更新,得到目标自动驾驶模型。
222.其中,第一模型更新单元151的具体实现方式,可以参见上述图3所对应实施例中步骤s104中的描述,这里将不再进行赘述。
223.在一个实施例中,模型更新模块15可以包括:数据发送单元152、指示接收单元153以及第二模型更新单元154。
224.数据发送单元152,用于将第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果发送至目标终端;目标终端为目标用户对应的终端;目标用户为创建测试任务的用户;
225.指示接收单元153,用于接收目标终端基于第一预测行驶数据、第二预测行驶数据、n个仿真车辆位置分别对应的分析结果以及对比分析结果发送的操作指示;
226.第二模型更新单元154,用于若操作指示为模型调整指示,则根据第二预测行驶数据对第二自动驾驶模型的逻辑参数进行调整更新,得到目标自动驾驶模型;
227.第二模型更新单元154,还用于若操作指示为模型完成测试指示,则将第二自动驾驶模型,确定为目标自动驾驶模型。
228.其中,数据发送单元152、指示接收单元153以及第二模型更新单元154的具体实现方式,可以参见上述图3所对应实施例中步骤s104中的描述,这里将不再进行赘述。
229.在一个实施例中,环境创建模块12可以包括:道路创建单元121以及生成点获取单元122、对象创建单元123、参数分配单元124以及环境确定单元125。
230.道路创建单元121,用于获取测试场景信息所需的虚拟道路类型,创建属于虚拟道路类型的目标虚拟道路;
231.生成点获取单元122,用于在目标虚拟道路中获取主车生成点与障碍对象生成点;主车生成点为仿真行驶轨迹上的轨迹起始点;
232.对象创建单元123,用于在主车生成点生成目标仿真车辆,在障碍对象生成点生成障碍对象;
233.参数分配单元124,用于根据测试场景信息为障碍对象分配对象行为参数;
234.环境确定单元125,用于将包含目标虚拟道路、处于主车生成点上的目标仿真车辆、处于障碍对象生成点上的具有对象行为参数的障碍对象的虚拟环境,确定为虚拟行驶环境。
235.其中,道路创建单元121以及生成点获取单元122、对象创建单元123、参数分配单元124以及环境确定单元125的具体实现方式,可以参见上述图3所对应实施例中步骤s102中的描述,这里将不再进行赘述。
236.在一个实施例中,障碍对象包括障碍仿真车辆与障碍仿真用户;
237.参数分配单元124,还具体用于获取测试场景信息所需的障碍仿真车辆的车辆行为参数,以及障碍仿真用户的用户行为参数;
238.参数分配单元124,还具体用于将障碍仿真车辆的行为参数设置为车辆行为参数,将障碍仿真用户的行为参数设置为用户行为参数。
239.在一个实施例中,该基于自动驾驶的数据测试装置1还可以包括:请求获取模块22以及物品运输模块23。
240.请求获取模块22,用于获取配送终端发送的针对于目标物品的物品配送请求;物品配送请求用于请求将目标物品从真实行驶环境中的起始位置,配送至真实行驶环境中的接收位置;
241.物品运输模块23,用于基于物品配送请求,将目标自动驾驶模型部署于真实车辆中,通过目标自动驾驶模型控制真实车辆将目标物品,从起始位置运输至接收位置。
242.其中,请求获取模块22以及物品运输模块23的具体实现方式,可以参见上述图3所对应实施例中步骤s104中的描述,这里将不再进行赘述。
243.在本技术实施例中,对于同一个测试任务,可以同时运行两种自动驾驶模型(例如,第一自动驾驶模型,与第二自动驾驶模型)来执行该测试任务;在同时运行第一自动驾驶模型与第二自动驾驶模型进行测试时,可以为第一自动驾驶模型所预测的第一预测行驶数据分配行驶控制权限,同时,不为第二自动驾驶模型所预测的第二预测行驶数据分配该行驶控制权限,即只有第一自动驾驶模型有权限控制目标仿真车辆进行行驶,而第二自动驾驶模型并不具备目标仿真车辆进行行驶的权限。由此,在该测试任务中,目标仿真车辆所行驶的仿真行驶轨迹均是按照第一自动驾驶模型所预测的第一预测行驶数据来得到的,该仿真行驶轨迹上的每一个仿真车辆位置是按照第一预测行驶数据来行驶到达的位置,当目标仿真车辆每到达一个仿真车辆位置,第一自动驾驶模型会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,而虽然第二自动驾驶模型不会对目标仿真车辆进行行驶控制,但是第二自动驾驶模型依然会对处于该仿真车辆位置的目标仿真车辆进行接下来的行驶预测规划,随后,目标仿真车辆会按照第一自动驾驶模型所预测的行驶数据进行行驶,到达新的仿真车辆位置后,第一自动驾驶模型与第二自动驾驶模型又会进行新一轮的行驶预测规划。可见,本技术可以在保证目标仿真车辆的历史行驶轨迹相同的情况下,第一自动驾驶模型与第二自动驾驶模型可以在每一个仿真车辆位置上同时进行不同的行驶预测规划,第一自动驾驶模型与第二自动驾驶模型在进行行驶预测规划时,所有的影响行
驶预测规划时的环境参数均是相同的参数,在这些影响参数相同的情况,可以更为准确详细将第一自动驾驶模型所预测的数据与第二自动驾驶模型所预测的数据进行对比,提高数据对比准确率;同时,本技术可以将多个自动驾驶模型在一个测试任务中同时运行,可以在提高数据对比准确率的同时,减少对自动驾驶模型的对比测试次数,可以提高自动驾驶模型的迭代更新效率。综上,本技术可以在自动驾驶模型的仿真测试中,提高数据对比准确率,提高自动驾驶模型的迭代更新效率。
244.进一步地,请参见图8,图8是本技术实施例提供的一种计算机设备的结构示意图。如图8所示,上述图7所对应实施例中的基于自动驾驶的数据测试装置1可以应用于上述计算机设备1000,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi

fi接口)。存储器1005可以是高速ram存储器,也可以是非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模型、用户接口模型以及设备控制应用程序。
245.在图8所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
246.获取测试任务与测试任务对应的任务配置信息;任务配置信息包括测试任务所配置的测试场景信息、第一自动驾驶模型以及第二自动驾驶模型;
247.基于测试场景信息创建虚拟行驶环境,在虚拟行驶环境中获取目标仿真车辆在仿真行驶轨迹上的仿真车辆位置,通过第一自动驾驶模型对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第一预测行驶数据;第一预测行驶数据具备针对目标仿真车辆的行驶控制权限,行驶控制权限是指控制目标仿真车辆进行行驶且更新仿真行驶轨迹的权限;
248.通过第二自动驾驶模型,同步对处于仿真车辆位置上的目标仿真车辆进行行驶预测,得到第二预测行驶数据;第二预测行驶数据不具备行驶控制权限。
249.应当理解,本技术实施例中所描述的计算机设备1000可执行前文图3到图4所对应实施例中对该基于自动驾驶的数据测试方法的描述,也可执行前文图7所对应实施例中对该基于自动驾驶的数据测试装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
250.此外,这里需要指出的是:本技术实施例还提供了一种计算机可读存储介质,且上述计算机可读存储介质中存储有前文提及的数据处理的计算机设备1000所执行的计算机程序,且上述计算机程序包括程序指令,当上述处理器执行上述程序指令时,能够执行前文图3到图4所对应实施例中对上述基于自动驾驶的数据测试方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本技术所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述。
251.上述计算机可读存储介质可以是前述任一实施例提供的基于自动驾驶的数据测试装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
252.本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例中一方面提供的方法。
253.本技术实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模型,而是可选地还包括没有列出的步骤或模型,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
254.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
255.本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
256.以上所揭露的仅为本技术较佳实施例而已,当然不能以此来限定本技术之权利范围,因此依本技术权利要求所作的等同变化,仍属本技术所涵盖的范围。
转载请注明原文地址: https://doc.8miu.com/read-1550304.html

最新回复(0)