一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于自动驾驶的数据处理方法、装置、设备及存储介质与流程

2023-09-13 15:11:06 来源:中国专利 TAG:


1.本技术实施例涉及自动驾驶技术领域,特别涉及一种用于自动驾驶的数据处理方法、装置、设备及存储介质。


背景技术:

2.在自动驾驶技术领域中,需要通过仿真、测试等手段检测自动驾驶车辆的安全性及稳定性。其中,通过仿真、测试等手段检测自动驾驶车辆的安全性及稳定性的过程需要利用到场景文件。
3.相关技术中,场景文件由人工编写得到,场景文件的获取效率较低。因此,如何提供一种用于自动驾驶的数据处理方法,以提高场景文件的获取效率,是一种亟需解决的问题。


技术实现要素:

4.本技术实施例提供了一种用于自动驾驶的数据处理方法、装置、设备及存储介质,可用于提高场景文件的获取效率。所述技术方案如下:
5.一方面,本技术实施例提供了一种用于自动驾驶的数据处理方法,所述方法包括:
6.获取场景描述数据,对所述场景描述数据进行解析,得到至少一个场景参数,所述场景描述数据用于对自动驾驶车辆的虚拟驾驶场景进行描述;
7.确定各个场景参数分别对应的至少一个目标取值实例;基于所述各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据,其中,任一组场景配置数据包括所述各个场景参数分别对应的一个目标取值实例,不同组场景配置数据不同;
8.基于第一地图配置数据以及所述至少一组场景配置数据,生成至少一个第一场景文件,所述第一地图配置数据用于指示第一地图以及所述自动驾驶车辆在所述第一地图中所处的位置。
9.另一方面,提供了一种用于自动驾驶的数据处理装置,所述装置包括:
10.第一获取单元,用于获取场景描述数据,对所述场景描述数据进行解析,得到至少一个场景参数,所述场景描述数据用于对自动驾驶车辆的虚拟驾驶场景进行描述;
11.第二获取单元,用于确定各个场景参数分别对应的至少一个目标取值实例;基于所述各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据,其中,任一组场景配置数据包括所述各个场景参数分别对应的一个目标取值实例,不同组场景配置数据不同;
12.生成单元,用于基于第一地图配置数据以及所述至少一组场景配置数据,生成至少一个第一场景文件,所述第一地图配置数据用于指示第一地图以及所述自动驾驶车辆在所述第一地图中所处的位置。
13.在一种可能实现方式中,所述第二获取单元,用于当任一场景参数为任一取值范围时,在所述任一取值范围中采样,得到所述任一场景参数对应的至少一个目标取值实例;
当所述任一场景参数为任一取值实例时,将所述任一取值实例作为所述任一场景参数对应的至少一个目标取值实例。
14.在一种可能实现方式中,所述生成单元,用于对所述第一地图配置数据进行解析,确定所述第一地图以及所述自动驾驶车辆在所述第一地图上所处的位置;基于所述至少一组场景配置数据、所述第一地图以及所述自动驾驶车辆在所述第一地图上所处的位置,生成所述至少一个第一场景文件。
15.在一种可能实现方式中,所述第一获取单元,用于确定场景描述模型指示的场景描述要素;将对所述场景描述要素进行描述的一组数据作为所述场景描述数据。
16.在一种可能实现方式中,所述生成单元,用于基于所述第一地图配置数据以及至少两组场景配置数据,并发生成至少两个第一场景文件。
17.在一种可能实现方式中,所述生成单元,还用于获取第二地图配置数据,所述第二地图配置数据用于指示第二地图以及所述自动驾驶车辆在所述第二地图中所处的位置,所述第二地图与所述第一地图不同;基于所述第二地图配置数据以及所述至少一组场景配置数据,生成至少一个第二场景文件。
18.在一种可能实现方式中,所述至少一个第一场景文件的格式为符合openscenario标准的格式。
19.在一种可能实现方式中,所述装置还包括:
20.输出单元,用于输出第一文件和第二文件中的至少一个,所述第一文件用于记录所述至少一个场景参数,所述第二文件用于记录所述至少一组场景配置数据。
21.另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行,以使所述计算机设备实现上述任一所述的用于自动驾驶的数据处理方法。
22.另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行,以使计算机实现上述任一所述的用于自动驾驶的数据处理方法。
23.另一方面,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的用于自动驾驶的数据处理方法。
24.本技术实施例提供的技术方案至少带来如下有益效果:
25.本技术实施例提供的技术方案,基于场景配置数据以及第一地图配置数据自动生成了第一场景文件,无需人工编写,场景文件的获取效率较高。此外,由于第一地图配置数据和场景配置数据为分开的两部分数据,所以第一地图配置数据和场景配置数据能够较为灵活的变更,有利于提高场景文件的获取灵活性。通过提高场景文件的获取效率以及获取灵活性,能够快速获取大量的场景文件,从而丰富用于自动驾驶的场景,提高自动驾驶的安全性。
附图说明
26.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1是本技术实施例提供的一种用于自动驾驶的数据处理方法的实施环境的示意图;
28.图2是本技术实施例提供的一种用于自动驾驶的数据处理方法的流程图;
29.图3是本技术实施例提供的一种场景描述模型的示意图;
30.图4是本技术实施例提供的一种待填充表格以及表格填充结果的示意图;
31.图5是本技术实施例提供的一种第一文件中记录的数据以及第二文件中记录的数据的示意图;
32.图6是本技术实施例提供的一种生成第一场景文件的过程的示意图;
33.图7是本技术实施例提供的一种生成第一场景文件的过程中的数据流的示意图;
34.图8是本技术实施例提供的一种至少一个第一场景文件的可视化呈现结果的示意图;
35.图9是本技术实施例提供的一种用于自动驾驶的数据处理方法的流程图;
36.图10是本技术实施例提供的一种用于自动驾驶的数据处理装置的示意图;
37.图11是本技术实施例提供的一种终端的结构示意图;
38.图12是本技术实施例提供的一种服务器的结构示意图。
具体实施方式
39.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
40.对本技术实施例中涉及的名词进行介绍:
41.openscenario:一种出自工业标准协会的标准,于2018年11月移交给asam(association for standardisation of automation and measuring systems,自动化及测量系统标准协会)。openscenario包含了仿真应用中动态内容的说明及文件组成模式。openscenario主要用于描述多车复杂操作工况,用于辅助驾驶及自动驾驶功能的虚拟开发、测试与验证。openscenario中的动态内容可与asam opendrive(一种出自asam的标准)和asam opencrg(一种出自asam的标准)中关于驾驶仿真的静态内容结合使用。
42.mapsdk:读取地图(如,高精地图)并提供轨迹、经纬度、道路(road)、车道(lane)等属性的sdk(software development kit,软件开发工具包)接口,可基于此计算需要的地图信息。示例性地,地图的格式包括但不限于opendrive格式、sqlite(一种数据格式)格式等。
43.pegasus:一种从欧洲汽车工业领域发起的项目,该项目一共有17个项目合作企业或者组织。为了让自动驾驶功能能够被验证通过进入市场,需要各个研究领域和工业领域合作制定新的质量标准和方法,这也就是pegasus项目产生的目的,pegasus的全名为:project for the establishment of generally accepted quality criteria,tools and methods as well as scenarios and situations for the release of highly-automated driving functions(建立普遍接受的质量标准、工具和方法以及发布高度自动化驾驶功能的场景和情况的项目)。pegasus项目的目的是开发一套自动驾驶功能的测试流程,以加快自动驾驶功能开发与落地。
44.图1示出了本技术实施例提供的一种用于自动驾驶的数据处理方法的实施环境的示意图。该实施环境可以包括:计算机设备11。
45.计算机设备11能够基于本技术实施例提供的方法生成场景文件。在示例性实施例中,场景文件能够提供用于自动驾驶的场景,示例性地,用于自动驾驶的场景可以是指用于自动驾驶仿真的场景,也可以是指用于自动驾驶测试的场景等,本技术实施例对此不加以限定。示例性地,自动驾驶测试包括但不限于对自动驾驶车辆的自动驾驶感知、规划、决策控制等算法进行测试。
46.在示例性实施例中,计算机设备11在生成场景文件后,还可以将生成的场景文件存储在场景文件库中,以便于仿真设备(或称为仿真器)以及测试设备等从场景文件库中提取需要的场景文件。
47.示例性地,计算机设备11可以为终端,也可以为服务器,本技术实施例对此不加以限定。示例性地,终端可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如pc(personal computer,个人计算机)、手机、智能手机、pda(personal digital assistant,个人数字助手)、可穿戴设备、ppc(pocket pc,掌上电脑)、平板电脑、智能车机、智能电视、智能音箱、车载终端等。服务器可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。
48.本领域技术人员应能理解上述计算机设备11仅为举例,其他现有的或今后可能出现的计算机设备如可适用于本技术,也应包含在本技术保护范围以内,并在此以引用方式包含于此。
49.基于上述图1所示的实施环境,本技术实施例提供一种用于自动驾驶的数据处理方法,以该方法应用于计算机设备11为例。如图2所示,本技术实施例提供的用于自动驾驶的数据处理方法可以包括如下步骤201至步骤203。
50.在步骤201中,获取场景描述数据,对场景描述数据进行解析,得到至少一个场景参数,场景描述数据用于对自动驾驶车辆的虚拟驾驶场景进行描述。
51.自动驾驶车辆是通过车载传感系统感知车辆周围环境,并根据感知所获得的道路信息、其它车辆位置信息以及障碍物信息等,控制车辆的转向和速度,以实现车辆在无人状态下自主沿道路行驶的智能车辆。示例性地,自动驾驶车辆还可以称为无人驾驶车辆、电脑驾驶车辆等。本技术实施例涉及的自动驾驶车辆可以是指实际的自动驾驶车辆,也可以是指虚拟的自动驾驶车辆等,本技术实施例对此不加以限定。
52.场景描述数据是用于对自动驾驶车辆的虚拟驾驶场景进行描述的数据,也就是说,根据场景描述数据,能够确定出自动驾驶车辆的虚拟驾驶场景的具体情况。相对于真实的驾驶场景而言,虚拟驾驶场景为模拟构建的场景。示例性地,自动驾驶车辆的虚拟驾驶场景的具体情况是指自动驾驶车辆与其他车辆、设施、环境、道路等元素的交互情况。
53.在示例性实施例中,场景描述数据可以是指在不考虑真实的地图情况下得到的数据,此种场景描述数据描述出的虚拟驾驶场景无需映射到真实的地图上,有利于提高模拟构建虚拟驾驶场景的灵活性。
54.示例性地,在自动驾驶技术领域,自动驾驶车辆在开发和测试中会用到功能场景、逻辑场景和具体场景这三种类型的场景。功能场景是一种能够利用自然语言描述的场景,
例如,功能场景可以描述为:“自动驾驶车辆(也可以称为主车)在当前车道行驶”;逻辑场景是一种在功能场景的基础上,额外定义一个或多个场景参数(如,自动驾驶车辆的车速,前车的车速以及加速度,自动驾驶车辆与前车之间的距离等)的取值范围得到的场景,例如,逻辑场景可以描述为:“自动驾驶车辆在当前车道以10m/s(米每秒)~30m/s的车速行驶”;具体场景是一种从逻辑场景定义的场景参数的取值范围中采样场景参数的取值实例后得到的场景,例如,具体场景可以描述为:“自动驾驶车辆在当前车道以20m/s的车速行驶”。每个逻辑场景都可以通过从场景参数的取值范围中采样场景参数的取值实例来转换为具体场景。
55.本技术实施例对场景描述数据描述出的虚拟驾驶场景的类型不加以限定,示例性地,虚拟驾驶场景的类型可以为逻辑场景,示例性地,虚拟驾驶场景的类型还可以为具体场景。
56.在一种可能实现方式中,场景描述数据由用户定义并上传至计算机设备,则计算机设备直接获取用户上传的场景描述数据。在一种可能实现方式中,场景描述数据由计算机设备生成,则计算机设备能够直接获取本地生成的场景描述数据。
57.在一种可能实现方式中,获取场景描述数据的过程包括:确定场景描述模型指示的场景描述要素,将对场景描述要素进行描述的一组数据作为场景描述数据。场景描述要素是指场景描述模型指示的全面描述一个驾驶场景所需描述的要素。场景描述要素的类型以及数量与场景描述模型的类型有关,不同的场景描述模型指示的场景描述要素可能有所不同。本技术实施例利用的场景描述模型可以根据经验设置,也可以根据应用场景灵活调整,本技术实施例对此不加以限定。
58.在示例性实施例中,场景描述模型为pegasus项目提出的6层模型,便于更全面详细的定义场景。基于pegasus项目提出的6层模型以及定义参数的取值范围,能够较为全面的描述场景,从而保证场景描述的覆盖度。pegasus项目提出的6层模型中的第1层用于描述道路,第2层用于描述基础设施层,第3层用于描述临时性操作,第4层用于描述移动对象,第5层用于描述自然环境,第6层用于描述数字信息。示例性地,场景描述模型的示意图如图3所示。对于场景描述模型为pegasus项目提出的6层模型的情况,场景描述模型指示的场景描述要素包括:道路、基础设施、临时性操作、移动对象、自然环境和数字信息。
59.示例性地,描述道路包括但不限于描述道路的几何结构、拓扑结构、道路的表面质量等。描述基础设施包括但不限于描述交通标识、交通灯的情况等。描述临时性操作包括但不限于描述施工情况、遗撒物的情况等。描述移动对象包括但不限于描述行人、车辆等的相关情况(如,距离、速度、类型等)。描述自然环境包括但不限于描述时间、天气、光照等。描述数字信息包括但不限于描述数字地图的使用情况、v2x(vehicle to everything,车对外界的信息交换)的使用情况等。需要说明的是,在描述移动对象时,需要至少描述自动驾驶车辆本身的相关情况。
60.在确定场景描述模型指示的场景描述要素后,即可进一步获取对场景描述要素进行描述的一组数据,将该一组数据作为场景描述数据。需要说明的是,场景描述要素的数量可能为一个或多个,对于场景描述要素的数量为多个的情况,对场景描述要素进行描述的一组数据是指对场景描述要素中的至少一个要素进行描述的一组数据。
61.在示例性实施例中,对场景描述要素进行描述的过程可以由用户执行,也可以由
计算机设备自行执行,本技术实施例对此不加以限定。
62.在示例性实施例中,以对场景描述要素进行描述的过程由用户执行为例,计算机设备在确定场景描述要素后,可以获取与场景描述要素匹配的待填充表格,在显示界面中显示待填充表格,用户基于待填充表格对场景描述要素进行描述。
63.待填充表格用于规定各个场景描述要素的描述方式。示例性地,可以通过规定待填充表格中的各列的属性或者各行的属性来规定各个场景描述要素的描述方式。示例性地,待填充表格可以由技术人员结合实际的使用体验设置并上传到计算机设备,也可以由计算机设备自行确定,本技术实施例对此不加以限定。示例性地,待填充表格为一种便于理解、相对简洁的形式,以降低虚拟驾驶场景的编辑门槛,提高场景文件的获取方式的普适性以及行业内大规模推广应用的可能性。
64.示例性地,以通过规定待填充表格中的各列的属性来规定各个场景描述要素的描述方式、场景描述模型为pegasus项目提出的6层模型为例,待填充表格可以如图4中的(1)所示。如图4中的(1)所示的待填充表格可用于填充描述pegasus项目提出的6层模型指示的6个场景描述要素的数据,有利于确保场景描述较为全面。根据图4中的(1)所示的待填充表格,能够得知各个场景描述要素的描述方式,如,根据图4中的(1)可知,道路这一场景描述要素需要通过描述“键”和“值”中的至少一项来描述,临时性操作这一场景描述要素需要通过描述“键”、“类别”、“距离”、“偏移”和“角度”中的至少一项来描述。如图4中的(1)所示的待填充表格的输入界面相对简洁,便于使用。需要说明的是,图4中的(1)所示的待填充表格的行数可以灵活调整。
65.在显示待填充表格后,用户能够基于待填充表格对场景描述要素进行描述,得到表格填充结果,表格填充结果包括对场景描述要素进行描述的一组数据或多组数据。以待填充表格如图4中的(1)所示为例,能够如图4中的(2)所示的excel(表格)形式的表格填充结果,在图4中的(2)所示的表格填充结果中,“逻辑场景标识”所在的列填充了7个标识信息,每个标识信息所在行的数据均为对场景描述要素进行描述的一组数据。在图4中的(2)中,obj1和obj2表示两种不同的临时性操作,ego表示自动驾驶车辆(也即主车),npc表示除主车外的其他移动对象,ttc表示自车与前车发生碰撞的时间,kph表示速度单位千米每小时。
66.计算机设备在获取表格填充结果后,能够基于表格填充结果获取对场景描述要素进行描述的一组数据,将该一组数据作为场景描述数据。需要说明的是,对于表格填充结果中包括对场景描述要素进行描述的多组数据的情况,可以从对场景描述要素进行描述的多组数据中提取任一组数据作为对场景描述要素进行描述的一组数据。
67.在示例性实施例中,在获取表格填充结果后,还可以对表格填充结果执行数据清洗和格式化处理中的至少一种操作,然后再基于执行数据清洗和格式化处理中的至少一种操作后得到的结果获取对场景描述要素进行描述的一组数据。需要说明的是,执行数据清洗和格式化处理中的至少一种操作后得到的结果同样包括对场景描述要素进行描述的一组数据或多组数据。
68.示例性地,对表格填充结果执行数据清洗操作能够提高表格填充结果的精度。对表格填充结果执行数据清洗操作的方式根据经验设置,或者根据表格填充结果的形式等灵活调整,本技术实施例对此不加以限定。示例性地,对于表格填充结果是在指定列属性的待
填充表格中填充数据后得到的结果的情况,对表格填充结果执行数据清洗操作可以包括删除表格填充结果中未填充数据的列。
69.在示例性实施例中,对表格填充结果执行格式化处理操作的方式与表格填充结果本身的格式有关,本技术实施例对此不加以限定。示例性地,对于表格填充结果是在指定列属性的待填充表格中填充数据后得到的结果的情况,对场景描述要素进行描述的一组数据可能分布在多行数据中,此种情况下,对表格填充结果执行格式化处理操作,可以是指将对场景描述要素进行描述的一组数据变换成一行数据。
70.在示例性实施例中,计算机设备在显示界面中显示待填充表格的方式可以是计算机设备在显示界面的在线文档网页中显示待填充表格。通过在显示界面的在线文档网页中显示待填充表格,能够扩展场景版本的管理能力,提供多人协作设计场景的可能。
71.在获取场景描述数据后,对场景描述数据进行解析,得到至少一个场景参数。至少一个场景参数是指描述虚拟驾驶场景所利用的参数,由于场景描述数据用于对虚拟驾驶场景进行描述,所以能够通过对场景描述数据进行解析,得到描述虚拟驾驶场景所利用的各个场景参数。
72.示例性地,每个场景参数用于对场景相关的一个属性进行表征。例如,一个场景参数可以为用于对车道的类型这一属性进行表征的“直线”;一个场景参数还可以为用于对车速这一属性进行表征的“10m/s(米每秒)~30m/s”。本技术实施例对场景参数的表示形式不加以限定,示例性地,场景参数可以利用数字、字母、文字中的至少一种进行表示。
73.对于任一场景参数而言,该任一场景参数可能为任一取值实例,也可能为任一取值范围,本技术实施例对此不加以限定。例如,以任一场景参数用于对车速这一属性进行表征为例,则该任一场景参数可能为“10m/s”这一取值实例,也可能为“10m/s~30m/s”这一取值范围。
74.本技术实施例对取值范围的表示形式不加以限定,只要能够涵盖多个取值实例即可,示例性地,取值范围的表示形式可以为取值区间(如,[10,30],10m/s~30m/s),也可以为多个取值实例的集合(如,{10,15,20})。
[0075]
对场景描述数据进行解析,得到至少一个场景参数的实现方式可以根据场景描述数据的类型灵活调整,本技术实施例对此不加以限定。示例性地,场景描述数据可能是对场景描述要素进行描述的一组数据,此种场景描述数据中,包括场景描述要素中的一个或多个要素对应的描述数据,对每个要素对应的描述数据进行解析,均能够得到一个或多个场景参数。例如,假设自然环境这一要素对应的描述数据为“键:时间、值:日;键:天气、值:晴”,从该数据中能够解析出两个场景参数,分别为:用于对时间的粒度这一属性进行表征的场景参数“日”以及用于对天气的类型这一属性进行表征的场景参数“晴”。通过对场景描述数据中包括的各个要素对应的描述数据分别进行解析,即可得到描述虚拟驾驶场景所利用的全部场景参数。
[0076]
示例性地,场景描述数据包括至少一个场景参数,则可以直接从场景描述数据中解析出至少一个场景参数。
[0077]
示例性地,对场景描述数据进行解析处理的过程可以利用数据处理工具实现,或者利用预先编辑的相关程序实现等,本技术实施例对此不加以限定。示例性地,数据处理工具可以是指pandas第三方库(一个扩展程序库,用于数据分析)。
[0078]
示例性地,至少一个场景参数中可能包括位置相关的场景参数(如,自动驾驶车辆的位置、前车的位置、信号灯的位置等),由于场景描述数据是在不考虑真实的地图情况的基础上获取的数据,所以,位置相关的场景参数不是在真实的地图所处的位置,而是与自动驾驶车辆的相对位置关系(如,与自动驾驶车辆之间的距离、相对自动驾驶车辆偏移的方向)。示例性地,在确定了某一场景元素(如,其他车辆、行人、交通信号灯等)与自动驾驶车辆的相对位置关系后,若确定了自动驾驶车辆在真实的地图中所处的位置,则可以基于相对位置关系,确定出该场景元素在真实的地图中所处的位置。
[0079]
在步骤202中,确定各个场景参数分别对应的至少一个目标取值实例;基于各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据,其中,任一组场景配置数据包括各个场景参数分别对应的一个目标取值实例,不同组场景配置数据不同。
[0080]
在获取至少一个场景参数后,确定各个场景参数分别对应的至少一个目标取值实例,以便于基于各个场景参数分别对应的至少一个目标取值实例,获取生成场景文件所需依据的至少一组场景配置数据。
[0081]
在一种可能实现方式中,任一场景参数对应的至少一个目标取值实例的获取方式与任一场景参数的类型有关。示例性地,任一场景参数可能为任一取值范围,此种情况下,任一场景参数对应的至少一个目标取值实例的获取方式包括:在该任一取值范围中采样,得到该任一场景参数对应的至少一个目标取值实例。
[0082]
任一场景参数对应的目标取值实例的数量与该任一取值范围的大小以及采样方式有关,本技术实施例对此不加以限定。例如,若该任一场景参数为“10m/s~30m/s”这一取值范围,则可以采样得到该任一场景参数对应的3个目标取值实例:10m/s、20m/s、30m/s,也可以采样得到该任一场景参数对应的5个目标取值实例:10m/s、15m/s、20m/s、25m/s、30m/s,当然,还可以采样得到该任一场景参数对应的其他数量个目标取值实例。
[0083]
示例性地,任一场景参数可能为任一取值实例,此种情况下,直接将该任一取值实例作为该任一场景参数对应的至少一个目标取值实例。通过此种方式得到的该任一场景参数对应的目标取值实例的数量为一个。
[0084]
根据获取任一场景参数对应的至少一个目标取值实例的方式,能够获取各个场景参数分别对应的至少一个目标取值实例。需要说明的是,不同场景参数对应的目标取值实例的数量可能相同,也可能不同,本技术实施例对此不加以限定。
[0085]
在示例性实施例中,若每个场景参数均为任一取值实例,则虚拟驾驶场景可以认为是一种具体场景;若各个场景参数中存在为任一取值范围的场景参数,则虚拟驾驶场景可以认为是一种逻辑场景。
[0086]
在获取各个场景参数分别对应的至少一个目标取值实例后,基于各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据。其中,任一组场景配置数据包括各个场景参数分别对应的一个目标取值实例,且不同组场景配置数据不同。
[0087]
基于各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据的实现方式可以根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定,只要能够保证每组场景配置数据均包括各个场景参数分别对应的一个目标取值实例且不同组场景配置数据不同即可。需要说明的是,最终获取的场景配置数据的组数与各个场景参数分别对应的至少一个目标取值实例的情况以及获取至少一组场景配置数据的实
现方式有关,本技术实施例对此不加以限定。
[0088]
示例性地,由于任一组场景配置数据包括各个场景参数分别对应的一个目标取值实例,所以不同组场景配置数据不同是指不同组场景配置数据中至少存在一个场景参数对应的目标取值实例不同。
[0089]
每组场景配置数据均为生成一个场景文件所依据的场景方面的数据。示例性地,根据每组场景配置数据均能够构建出自动驾驶车辆的一个驾驶场景,由于每组场景配置数据均包括各个场景参数分别对应的一个目标取值实例,所以根据每组场景配置数据构建出的驾驶场景均可以认为是一种具体场景。
[0090]
示例性地,假设各个场景参数的数量为3个,分别为场景参数a、场景参数b和场景参数c,其中,场景参数a对应的目标取值实例的数量为2个(分别记为a1和a2),场景参数b对应的目标取值实例的数量为2个(分别记为b1和b2),场景参数c对应的目标取值实例的数量为1个(记为c1)。此种情况下,基于各个场景参数分别对应的至少一个目标取值实例,可以获取4组场景配置数据(分别为:包括a1、b1和c1的一组场景配置数据,包括a1、b2和c1的一组场景配置数据,包括a2、b1和c1的一组场景配置数据以及包括a2、b2和c1的一组场景配置数据),也可以获取2组场景配置数据(分别为:包括a1、b1和c1的一组场景配置数据以及包括a2、b2和c1的一组场景配置数据),当然,还可以获取其他组数的场景配置数据,在此不再一一列举。
[0091]
在示例性实施例中,若每个场景参数对应的目标取值实例的数量均为一个,则获取的场景配置数据的组数为一组。
[0092]
在示例性实施例中,本技术实施例提供的用于自动驾驶的数据处理方法还包括:输出第一文件和第二文件中的至少一个。也就是说,可以仅输出第一文件,也可以仅输出第二文件,还可以输出第一文件和第二文件。其中,第一文件用于记录至少一个场景参数,第二文件用于记录至少一组场景配置数据。
[0093]
本技术实施例对第一文件以及第二文件的文件格式不加以限定,第一文件的文件格式与第二文件的文件格式可以相同,也可以不同。示例性地,第一文件和第二文件的文件格式可以均为后缀名为.csv的文件格式。
[0094]
在示例性实施例中,对于虚拟驾驶场景为一种逻辑场景的情况,第一文件可以称为逻辑场景的参数说明文件。第二文件可以称为具体场景的参数说明文件。通过输出逻辑场景的参数说明文件和具体场景的参数说明文件,能够使用户基于这两个文件进行二次开发,按照期望的格式获取实际需要的文件。
[0095]
示例性地,第一文件中记录的数据可以如图5中的(1)所示,第二文件中记录的数据可以如图5中的(2)所示。在图5中的(1)中,利用一行数据记录至少一个场景参数。在图5中的(2)中,利用一行数据记录一组场景配置数据。在图5中,npc表示除主车外的其他移动对象;r1表示主车的一种姿态的索引值。
[0096]
示例性地,获取至少一组场景配置描述数据的过程可以由计算机设备中的数据处理层执行。数据处理层主要有2个功能,第1个功能是指数据清洗以及格式化,第2个功能是指生成泛化后的逻辑场景的参数说明文件以及具体场景的参数说明文件,提供预设格式并支持定制化二次开发。
[0097]
示例性地,数据处理层的功能能够通过数据处理工具进行,利用数据处理工具提
供的函数功能,对数据进行组合,能够将每一个具体场景转换成一行数据,也即利用一行数据描述一个具体场景。数据处理工具根据经验选取,或者根据实际的应用场景灵活调整,本技术实施例对此不加以限定。示例性地,数据处理工具可以是指pandas第三方库(一个扩展程序库,用于数据分析)。
[0098]
在步骤203中,基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件,第一地图配置数据用于指示第一地图以及自动驾驶车辆在第一地图中所处的位置。
[0099]
在获取至少一组场景配置数据后,基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件。其中,任一第一场景文件是基于第一地图配置数据和任一组场景配置数据获取的。
[0100]
每个第一场景文件均能够提供用于自动驾驶的场景,不同第一场景文件提供的场景不同。示例性地,用于自动驾驶的场景可以是指用于自动驾驶仿真的场景,也可以是指用于自动驾驶测试的场景等,本技术实施例对此不加以限定。
[0101]
在示例性实施例中,用于自动驾驶的场景是与真实的地图匹配的场景,所以在生成场景文件的过程中,除了需要考虑场景配置数据外,还需要考虑第一地图配置数据。第一地图配置数据是指与第一地图相关的配置数据,第一地图配置数据用于指示第一地图以及自动驾驶车辆在第一地图中所处的位置。第一地图可以是任一真实的地图。本技术实施例对任一真实的地图的精度以及对应的区域大小不加以限定,可以灵活设置。例如,第一地图是指北京市的地图。
[0102]
示例性地,第一地图配置数据包括第一地图的标识信息以及自动驾驶车辆在第一地图中所处的位置的标识信息。第一地图的标识信息用于标识第一地图,示例性地,第一地图的标识信息包括但不限于第一地图的名称、第一地图的存储地址、第一地图的索引值等。自动驾驶车辆在第一地图中所处的位置的标识信息用于标识自动驾驶车辆在第一地图中所处的位置,示例性地,自动驾驶车辆在第一地图中所处的位置的标识信息包括但不限于自动驾驶车辆在第一地图中所处的位置的经纬度、自动驾驶车辆在第一地图中所处的位置的坐标、自动驾驶车辆在第一地图中所处的位置的索引值等。
[0103]
示例性地,自动驾驶车辆的虚拟驾驶场景可以是一种动态场景,则自动驾驶车辆在第一地图中所处的位置是指自动驾驶车辆移动前在第一地图中所处的位置,也即自动驾驶车辆的初始位置。
[0104]
示例性地,第一地图配置数据可以由用户配置,也可以由计算机设备自行配置,本技术实施例对此不加以限定。示例性地,第一地图配置数据可以记录在后缀名为.json的文件中。需要说明的是,在生成不同第一场景文件的过程中,利用的是相同的第一地图配置数据。
[0105]
在示例性实施例中,表格填充结果和第一地图配置数据均由用户上传至计算机设备,本技术实施例对用户上传表格填充结果和第一地图配置数据的先后顺序不加以限定。示例性地,用户可以同时上传表格填充结果和第一地图配置数据,也可以先上传表格填充结果后上传第一地图配置数据,还可以先上传第一地图配置数据再上传表格填充结果等。
[0106]
至少一个第一场景文件的格式可以根据经验设置,或者根据应用场景灵活调整,本技术实施例对此不加以限定。在示例性实施例中,至少一个第一场景文件的格式为符合
openscenario标准的格式。符合openscenario标准的格式的场景文件的后缀名为.xosc。符合openscenario标准的格式为自动驾驶领域中通用的格式,在各个第一场景文件的格式均为符合openscenario标准格式的情况下,可以减少文件格式的转换,便于直接在不同的设备间复用相同的场景文件。
[0107]
示例性地,场景配置数据的组数可能为一组,也可能为至少两组。对于场景配置数据的组数为至少两组的情况,基于第一地图配置数据以及至少两组场景配置数据,生成至少两个第一场景文件。
[0108]
在示例性实施例中,基于第一地图配置数据以及至少两组场景配置数据,生成至少两个第一场景文件的方式可以为:依次基于第一地图配置数据以及每组场景配置数据,生成每个第一场景文件。
[0109]
在示例性实施例中,基于第一地图配置数据以及至少两组场景配置数据,生成至少两个第一场景文件的方式还可以为:基于第一地图配置数据以及至少两组场景配置数据,并发生成至少两个第一场景文件。此种方式有利于提高第一场景文件的生成效率。
[0110]
在示例性实施例中,基于第一地图配置数据以及至少两组场景配置数据,生成至少两个第一场景文件方式还可以为:将至少两组场景配置数据划分到不同的集合中,依次基于第一地图配置数据以及每个集合中各组场景配置数据,生成每个集合对应的第一场景文件。其中,生成任一集合对应的第一场景文件的方式为:基于第一地图配置数据以及任一集合中的各组场景配置数据,并发生成该任一集合对应的第一场景文件。
[0111]
在一种可能实现方式中,基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件的过程包括以下步骤2031和步骤2032。
[0112]
步骤2031:对第一地图配置数据进行解析,确定第一地图以及自动驾驶车辆在第一地图上所处的位置。
[0113]
由于第一地图配置数据用于指示第一地图以及自动驾驶车辆在第一地图上所处的位置,所以通过对第一地图配置数据进行解析,能够确定第一地图以及自动驾驶车辆在第一地图上所处的位置。
[0114]
在示例性实施例中,在确定第一地图后,可以加载第一地图。在示例性实施例中,对于场景配置数据的数量为至少两组的情况,仅需加载一次第一地图即可。
[0115]
步骤2032:基于至少一个组场景配置数据、第一地图以及自动驾驶车辆在第一地图上所处的位置,生成至少一个第一场景文件。
[0116]
在确定出第一地图以及自动驾驶车辆在第一地图上所处的位置后,即可基于至少一组场景配置数据、第一地图以及自动驾驶车辆在第一地图上所处的位置,生成至少一个第一场景文件。
[0117]
每个第一场景文件均是基于每组场景配置数据、第一地图以及自动驾驶车辆在第一地图上所处的位置生成的。基于不同组场景配置数据、第一地图以及自动驾驶车辆在第一地图上所处的位置生成不同的第一场景文件的原理类似,本技术实施例以基于任一组场景配置数据、第一地图以及自动驾驶场景车辆在第一地图上所处的位置,生成该任一第一场景文件的过程为例进行说明。
[0118]
在基于任一组场景配置数据、第一地图以及自动驾驶场景车辆在第一地图上所处的位置,生成该任一第一场景文件的过程中,可以基于任一组场景配置数据、第一地图以及
自动驾驶车辆在第一地图上所处的位置解析出该任一第一场景文件的各个组成部分的子数据,然后由各个组成部分的子数据,构建得到该任一第一场景文件。
[0119]
在示例性实施例中,该任一第一场景文件的组成部分的类型与该任一第一场景文件的格式有关,本技术实施例对此不加以限定。在示例性实施例中,该任一第一场景文件的组成部分的类型的数量为5个,分别为参数声明部分、路网介绍部分、实体介绍部分、初始状态声明部分以及行为变化介绍部分。
[0120]
在示例性实施例中,任一组场景配置数据中包括描述各个场景元素与自动驾驶车辆之间的相对位置关系的数据,在确定了自动驾驶车辆在第一地图上所处的位置后,能够基于自动驾驶车辆在第一地图上所处的位置以及任一组场景配置数据中描述各个场景元素与自动驾驶车辆之间的相对位置关系的数据,确定出各个场景元素在第一地图上所处的位置,从而将该任一组场景配置数据指示的驾驶场景映射到第一地图上,得到驾驶场景与地图的映射结果。该任一场景文件的各个组成部分的子数据能够从映射结果中解析得到。示例性地,场景元素是指该任一组场景配置数据指示的驾驶场景中涉及的需要确定在第一地图上所处的位置的元素。示例性地,场景元素可以包括自动驾驶车辆本身,也可以不包括自动驾驶车辆本身,本技术实施例对此不加以限定。
[0121]
在示例性实施例中,第一地图配置数据指示的自动驾驶车辆在第一地图上所处的位置周围的地图环境可能不支持构建出任一组场景配置数据指示的驾驶场景,则可以在第一地图上确定出与第一地图配置数据指示的位置距离最近的支持构建出任一组场景配置数据指示的驾驶场景的目标位置,然后以该目标位置为基准,确定各个场景元素在第一地图上所处的位置,进而将该任一组场景配置数据指示的驾驶场景映射到第一地图上。
[0122]
在示例性实施例中,基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件的过程可以为:对至少一组场景配置数据进行调整,获取至少一组调整后的场景配置数据;基于第一地图配置数据以及至少一组调整后的场景配置数据,生成至少一个第一场景文件。
[0123]
对至少一组场景配置数据进行调整的方式可以根据实际的应用需求灵活设置,本技术实施例对此不加以限定。对每组场景配置数据进行调整,得到每组调整后的场景配置数据的原理相同,以对任一组场景配置数据进行调整,得到任一组调整后的场景配置数据的过程为例进行说明。
[0124]
在示例性实施例中,对任一组场景配置数据进行调整,得到任一组调整后的场景配置数据的过程包括:对任一组场景配置数据执行泛化处理以及数据转换中的至少一种操作,将执行泛化处理以及数据转换中的至少一种操作后得到的数据作为任一组调整后的场景配置数据。
[0125]
示例性地,对任一组场景配置数据执行泛化处理操作可以是指在该任一组场景配置数据中添加目标参数的取值实例,目标参数为与各个场景参数不同的参数,以扩展该任一组场景配置数据。目标参数可以根据经验设置,或者根据实际情况灵活调整,本技术实施例对此不加以限定。目标参数的数量可以为一个或多个。
[0126]
目标参数的取值实例可以由计算机设备生成,本技术实施例对此不加以限定。在不同组场景配置数据中添加的同一目标参数的取值实例可以相同,也可以不同,这与目标参数的类型有关。例如,若目标参数为驾驶场景的标识信息,则在不同组场景配置数据中添
加的驾驶场景的标识信息的取值实例不同;若目标参数为当前时间戳,则在不同组场景配置数据中添加的当前时间戳的取值实例相同。
[0127]
示例性地,对任一组场景配置数据执行数据转换操作可以发生在任一组场景配置数据的数据格式为不适用于生成场景文件的数据格式的情况下,对任一组场景配置数据执行数据转换操作是指将任一组场景配置数据的数据格式转换成适用于生成场景文件的数据格式。适用于生成场景文件的数据格式根据经验设置,或者根据实际的情况灵活调整,本技术实施例对此不加以限定。示例性地,适用于生成场景文件的数据格式为josn(javascript object notation,js对象简谱)格式。
[0128]
示例性地,对任一组场景配置数据执行泛化处理以及数据转换中的至少一种操作的过程可以利用数据处理工具实现,也可以利用预先编辑的相关程序实现等,本技术实施例对此不加以限定。
[0129]
基于第一地图配置数据以及至少一组调整后的场景配置数据,生成至少一个第一场景文件的实现方式与直接基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件的实现方式的原理相同,此处不再赘述。
[0130]
在示例性实施例中,基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件的过程可以通过编写程序代码实现,也可以通过调用相关接口实现,本技术实施例对此不加以限定。在通过调用相关接口实现的方式下,上层逻辑可以不用关心具体实现,从而保证维护的便利性。
[0131]
在示例性实施例中,相关接口可以包括地图解析接口以及场景文件生成接口。通过调用地图解析接口,能够实现对第一地图的解析;通过调用场景文件生成接口,能够实现第一场景文件的生成。地图解析接口和场景文件生成接口的具体类型根据经验设置,或者根据应用场景灵活调整。示例性地,地图解析接口可以是指mapsdk的调用接口,场景文件生成接口可以是指openscenario标准的api(application programming interface,应用程序接口)接口。
[0132]
在示例性实施例中,相关接口(如,地图解析接口以及场景文件生成接口)可以由计算机设备的基础层提供。通过调用相关接口,基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件的过程由计算机设备中的业务逻辑层实现。示例性地,任一第一场景文件的各个组成部分分别封装为一个类,则业务逻辑层能够通过封装的各个类,调用基础层提供的接口,实现一个一个第一场景文件的生成工作。
[0133]
在示例性实施例中,生成第一场景文件的过程如图6所示。用户上传表格填充结果以及第一地图配置数据。计算机设备的数据处理层对基于表格填充结果获取的场景描述数据进行数据处理,获取至少一个场景参数,基于至少一个场景参数,获取至少一组场景配置数据,将至少一组场景配置数据发送到业务逻辑层。计算机设备的数据处理层通过对场景描述数据进行数据处理,还能够输出逻辑场景的参数说明文件以及具体场景的参数说明文件。
[0134]
计算机设备的业务逻辑层通过调用基础层提供的地图解析接口以及场景文件生成接口,基于第一地图配置数据以及至少一组场景配置数据,确定至少一个第一场景文件的参数声明部分的子数据、路网介绍部分的子数据、实体介绍部分的子数据、初始状态声明部分的子数据以及行为变化介绍部分的子数据,然后由参数声明部分的子数据、路网介绍
部分的子数据、实体介绍部分的子数据、初始状态声明部分的子数据,构建得到至少一个第一场景文件。
[0135]
示例性地,生成第一场景文件的过程中的数据流如图7所示。用户上传表格填充结果(记录在后缀名为.xlsx的文件中)以及第一地图配置数据(记录在后缀名为.json的文件中),该第一地图配置数据用于指示自动驾驶车辆的初始位置以及第一地图。
[0136]
在数据处理层对表格填充结果以及第一地图配置数据进行数据解析以及格式化处理,确定至少一组场景配置数据以及确定第一地图、自动驾驶车辆在第一地图中所处的位置等,并且输出逻辑场景的参数说明文件(后缀名为.csv)以及具体场景的参数说明文件(后缀名为.csv),以便于用户开发特定格式场景描述文件。之后进入业务逻辑层,业务逻辑层在调用基础层提供的接口后,读取用于存储第一地图的地图文件(后缀名为.xodr),然后执行第一场景文件批量生成的过程,得到大量的具有符合openscenario标准的格式的第一场景文件(后缀名为.xosc)。
[0137]
在示例性实施例中,在生成至少一个第一场景文件后,可以在计算机设备的显示界面中对至少一个第一场景文件进行可视化呈现,以使用户查看生成的第一场景文件。示例性地,至少一个第一场景文件的可视化呈现结果如图8所示。在图8中,在左侧区域中显示有场景文件显示列表,在场景文件显示列表中,显示有各个第一场景文件的标识信息。若场景文件显示列表中的某一第一场景文件的标识信息(如,场景文件1.xosc)被选中,则在右侧区域中显示被选中的标识信息所标识的第一场景文件的内容。需要说明的是,图8仅示出了一个第一场景文件的部分内容。
[0138]
示例性地,由于第一地图配置数据与场景配置数据为分开的两部分数据,所以第一地图配置数据和场景配置数据可以灵活变更。示例性地,第一地图配置数据变更可以是指第一地图配置数据指示的第一地图变更,也可以是指在保持第一地图配置数据指示的第一地图不变的情况下变更第一地图配置数据指示的自动驾驶车辆在第一地图中所处的位置。场景配置数据变更可以是指场景配置数据的组数变更,也可以是指场景配置数据包含的数据内容变更等。此种方式能够实现高灵活的地图变更,从而能够实现快速生成与不同地图匹配的场景文件,提高场景文件的生成灵活性。
[0139]
在一种可能实现方式中,在生成至少一个第一场景文件之后,还可以获取第二地图配置数据,然后基于第二配置数据以及至少一组场景配置数据,生成至少一个第二场景文件。其中,第二地图配置数据用于指示第二地图以及自动驾驶车辆在第二地图中所处的位置,第二地图与第一地图不同。示例性地,第二地图与第一地图不同可以是指第二地图与第一地图的精度、涵盖的区域范围中的至少一项不同。
[0140]
通过此种方式,能够在保持至少一组场景配置数据不变的基础上,通过变更地图,来生成更多样性的场景文件,此种方式有利于提高场景文件的多样性生成过程的灵活性,有利于丰富用于自动驾驶的场景,提高自动驾驶的安全性。
[0141]
基于第二配置数据以及至少一组场景配置数据,生成至少一个第二场景文件与步骤203的实现原理相同,此处不再加以赘述。通过灵活变更地图配置数据,能够实现基于不同地图从大规模多角度构建场景文件,从而能够丰富场景文件集,便于自动驾驶算法快速迭代。
[0142]
本技术实施例提出一种基于excel定义虚拟驾驶场景及参数,自动批量生成全部
泛化后场景文件的方式,该场景文件的格式符合openscenario标准,且可以随意基于不同地图进行生成。示例性地,excel定义时遵从pegasus项目提出的6层模型,通过该模型以及定义场景参数,可较为全面的描述场景,较好的来保证场景的覆盖度。通过mapsdk搜寻地图道路,可生成符合不同地图的场景文件。支持生成完全符合openscenario标准的1.0版本和1.1版本的格式的文件。本技术实施例能够通过低门槛的场景设计,高灵活的地图变更,生成符合openscenario标准的场景文件,降低人工负担和时间成本,提高场景文件的获取效率以及获取的场景文件的质量。
[0143]
本技术实施例有特定的应用目的,即生成自动驾驶领域中的场景文件。首先用户(如,场景设计人员)通过在excel中按照格式定义虚拟驾驶场景,其次在地图配置数据中定义所用地图及其他项目参数,最后运行程序便可获得符合openscenario格式的场景文件。该场景文件可用于自动驾驶感知,规划,决策控制等算法的测试。
[0144]
本技术实施例中,使用excel方法进行场景及参数定义,相比于通过脚本来定义场景,能够实现低门槛编辑场景,从而更好的在工程领域推广,同时自然语言的描述也可保证场景描述的准确性。并且,本技术实施例中,通过读取地图(如,高精地图),经过mapsdk寻路寻点计算获取场景元素的地理位置信息,并且相对关系是由excel中定义处获取,通过变更地图配置数据可便捷的切换地图,实现高灵活变更地图。此外,本技术实施例能够生成行业内通用的格式(符合openscenario标准的格式)的场景文件,便于在不同设备(如,仿真设备、测试设备等)间复用,能够有效地节省人力和时间成本。
[0145]
本技术实施例提供的用于自动驾驶的数据处理方法,基于场景配置数据以及第一地图配置数据自动生成了第一场景文件,无需人工编写,场景文件的获取效率较高。此外,由于第一地图配置数据和场景配置数据为分开的两部分数据,所以第一地图配置数据和场景配置数据能够较为灵活的变更,有利于提高场景文件的获取灵活性。通过提高场景文件的获取效率以及获取灵活性,能够快速获取大量的场景文件,从而丰富用于自动驾驶的场景,提高自动驾驶的安全性。
[0146]
基于上述图1所示的实施环境,本技术实施例提供一种用于自动驾驶的数据处理方法,以该方法应用于计算机设备11为例。如图9所示,本技术实施例提供的用于自动驾驶的数据处理方法可以包括如下步骤901至步骤905。
[0147]
在步骤901中,获取场景描述数据,对场景描述数据进行解析,得到至少一个场景参数,场景描述数据用于对自动驾驶车辆的虚拟驾驶场景进行描述。
[0148]
在步骤902中,当任一场景参数为任一取值范围时,在任一取值范围中采样,得到任一场景参数对应的至少一个目标取值实例;当任一场景参数为任一取值实例时,将任一取值实例作为任一场景参数对应的至少一个目标取值实例。
[0149]
在步骤903中,基于各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据,其中,任一组场景配置数据包括各个场景参数分别对应的一个目标取值实例,不同组场景配置数据不同。
[0150]
在步骤904中,对第一地图配置数据进行解析,确定第一地图以及自动驾驶车辆在第一地图上所处的位置。
[0151]
其中,第一地图配置数据用于指示第一地图以及自动驾驶车辆在第一地图中所处的位置。
[0152]
在步骤905中,基于至少一组场景配置数据、第一地图以及自动驾驶车辆在第一地图上所处的位置,生成至少一个第一场景文件,其中,至少一个第一场景文件的格式为符合openscenario标准的格式。
[0153]
上述步骤901至步骤905的实现方式参见图2所示的实施例中的相关步骤,此处不再加以赘述。
[0154]
参见图10,本技术实施例提供了一种用于自动驾驶的数据处理装置,该装置包括:
[0155]
第一获取单元1001,用于获取场景描述数据,对场景描述数据进行解析,得到至少一个场景参数,场景描述数据用于对自动驾驶车辆的虚拟驾驶场景进行描述;
[0156]
第二获取单元1002,用于确定各个场景参数分别对应的至少一个目标取值实例;基于各个场景参数分别对应的至少一个目标取值实例,获取至少一组场景配置数据,其中,任一组场景配置数据包括各个场景参数分别对应的一个目标取值实例,不同组场景配置数据不同;
[0157]
生成单元1003,用于基于第一地图配置数据以及至少一组场景配置数据,生成至少一个第一场景文件,第一地图配置数据用于指示第一地图以及自动驾驶车辆在第一地图中所处的位置。
[0158]
在一种可能实现方式中,第二获取单元1002,用于当任一场景参数为任一取值范围时,在任一取值范围中采样,得到任一场景参数对应的至少一个目标取值实例;当任一场景参数为任一取值实例时,将任一取值实例作为任一场景参数对应的至少一个目标取值实例。
[0159]
在一种可能实现方式中,生成单元1003,用于对第一地图配置数据进行解析,确定第一地图以及自动驾驶车辆在第一地图上所处的位置;基于至少一组场景配置数据、第一地图以及自动驾驶车辆在第一地图上所处的位置,生成至少一个第一场景文件。
[0160]
在一种可能实现方式中,第一获取单元1001,用于确定场景描述模型指示的场景描述要素;将对场景描述要素进行描述的一组数据作为场景描述数据。
[0161]
在一种可能实现方式中,场景配置数据的组数为至少两组,生成单元1003,用于基于第一地图配置数据以及至少两组场景配置数据,并发生成至少两个第一场景文件。
[0162]
在一种可能实现方式中,生成单元1003,还用于获取第二地图配置数据,第二地图配置数据用于指示第二地图以及自动驾驶车辆在第二地图中所处的位置,第二地图与第一地图不同;基于第二地图配置数据以及至少一组场景配置数据,生成至少一个第二场景文件。
[0163]
在一种可能实现方式中,至少一个第一场景文件的格式为符合openscenario标准的格式。
[0164]
在一种可能实现方式中,该装置还包括:
[0165]
输出单元,用于输出第一文件和第二文件中的至少一个,第一文件用于记录至少一个场景参数,第二文件用于记录至少一组场景配置数据。
[0166]
本技术实施例提供的用于自动驾驶的数据处理装置,基于场景配置数据以及第一地图配置数据自动生成了第一场景文件,无需人工编写,场景文件的获取效率较高。此外,由于第一地图配置数据和场景配置数据为分开的两部分数据,所以第一地图配置数据和场景配置数据能够较为灵活的变更,有利于提高场景文件的获取灵活性。通过提高场景文件
的获取效率以及获取灵活性,能够快速获取大量的场景文件,从而丰富用于自动驾驶的场景,提高自动驾驶的安全性。
[0167]
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将设备的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0168]
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条计算机程序。该至少一条计算机程序由一个或者一个以上处理器加载并执行,以使该计算机设备实现上述任一种用于自动驾驶的数据处理方法。该计算机设备可以为终端,也可以为服务器,本技术实施例对此不加以限定。接下来,对终端和服务器的结构分别进行介绍。
[0169]
图11是本技术实施例提供的一种终端的结构示意图。该终端可以是:pc、手机、智能手机、pda、可穿戴设备、ppc、平板电脑、智能车机、智能电视、智能音箱、车载终端。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0170]
通常,终端包括有:处理器1101和存储器1102。
[0171]
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0172]
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1101所执行,以使该终端实现本技术中方法实施例提供的用于自动驾驶的数据处理方法。
[0173]
在一些实施例中,终端还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107和电源1108中的至少一种。
[0174]
外围设备接口1103可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施
例对此不加以限定。
[0175]
射频电路1104用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1104可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1104还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0176]
显示屏1105用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105可以为一个,设置在终端的前面板;在另一些实施例中,显示屏1105可以为至少两个,分别设置在终端的不同表面或呈折叠设计;在另一些实施例中,显示屏1105可以是柔性显示屏,设置在终端的弯曲表面上或折叠面上。甚至,显示屏1105还可以设置成非矩形的不规则图形,也即异形屏。显示屏1105可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light-emitting diode,有机发光二极管)等材质制备。
[0177]
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0178]
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还可以包括耳机插孔。
[0179]
电源1108用于为终端中的各个组件进行供电。电源1108可以是交流电、直流电、一次性电池或可充电电池。当电源1108包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0180]
在一些实施例中,终端还包括有一个或多个传感器1109。该一个或多个传感器1109包括但不限于:加速度传感器1110、陀螺仪传感器1111、压力传感器1112、光学传感器1113以及接近传感器1114。
[0181]
加速度传感器1110可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1110可以用于检测重力加速度在三个坐标轴上的分量。处理器1101可以根据加速度传感器1110采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1110还可以用于游戏或者用户的运动数据的采集。
[0182]
陀螺仪传感器1111可以检测终端的机体方向及转动角度,陀螺仪传感器1111可以与加速度传感器1110协同采集用户对终端的3d动作。处理器1101根据陀螺仪传感器1111采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0183]
压力传感器1112可以设置在终端的侧边框和/或显示屏1105的下层。当压力传感器1112设置在终端的侧边框时,可以检测用户对终端的握持信号,由处理器1101根据压力传感器1112采集的握持信号进行左右手识别或快捷操作。当压力传感器1112设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0184]
光学传感器1113用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1113采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还可以根据光学传感器1113采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
[0185]
接近传感器1114,也称距离传感器,通常设置在终端的前面板。接近传感器1114用于采集用户与终端的正面之间的距离。在一个实施例中,当接近传感器1114检测到用户与终端的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1114检测到用户与终端的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
[0186]
本领域技术人员可以理解,图11中示出的结构并不构成对终端的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0187]
图12是本技术实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(central processing units,cpu)1201和一个或多个存储器1202,其中,该一个或多个存储器1202中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器1201加载并执行,以使该服务器实现上述各个方法实施例提供的用于自动驾驶的数据处理方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
[0188]
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由计算机设备的处理器加载并执行,以使计算机实现上述任一种用于自动驾驶的数据处理方法。
[0189]
在一种可能实现方式中,上述计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0190]
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机指令,该计算机程序或计算机指令由处理器加载并执行,以使计算机实现上述任一种用于自动驾驶的数据处理方法。
[0191]
需要说明的是,本技术中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以上示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
[0192]
还需要说明的是,本技术所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本技术中涉及到的表格填充结果、场景描述数据、第一地图配置数据、第二地图配置数据等都是在充分授权的情况下获取的。
[0193]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0194]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表