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

车辆定位算法的精度检测方法、装置、计算设备及介质与流程

2022-11-19 08:24:17 来源:中国专利 TAG:


1.本说明书涉及自动驾驶技术领域,尤其涉及一种车辆定位算法的精度检测方法、装置、计算设备及介质。


背景技术:

2.在移动通信、物联网、计算机视觉等技术飞速发展的今天,自动驾驶等新技术也迎来了快速发展,自动驾驶车辆在现实生活中的应用也越来越广泛。
3.其中,自动驾驶车辆行驶的第一步是需要知道自己的位置,在复杂多变的城市环境中,自动驾驶车辆定位位置的精度要求误差不超过10cm,如果定位位置的偏差过大,则会使得基于定位位置通过软件算法所确定出的行驶录像偏差过大,进而使得自动驾驶车辆在行驶过程中很容易与道路周边设施发生剐蹭、碰撞。因而,在自动驾驶技术中,无论出于硬件层面还是软件层面的考虑,定位的准确度都有很重要的意义。因此,亟需一种车辆定位算法的精度检测方法,来对自动驾驶车辆的定位算法的准确度进行评估,以保证自动驾驶车辆的定位位置的准确性。


技术实现要素:

4.为克服相关技术中存在的问题,本技术提供了一种车辆定位算法的精度检测方法、装置、计算设备及介质。
5.根据本技术实施例的第一方面,提供一种车辆定位算法的精度检测方法,该方法包括:
6.获取多个测试数据包,测试数据包包括车辆行驶过程中采集到的行驶数据;
7.基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息,并通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息;
8.基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息;
9.在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求。
10.在本技术的一些实施例中,多个测试数据包为预先准备好的,测试数据包标注有定位问题标签和环境标签,定位问题标签用于指示车辆定位出现错误的原因,环境标签用于指示车辆行驶过程中的环境情况,多个测试数据包的准备过程包括:
11.获取至少一个车辆在行驶过程中采集到的行驶数据;
12.基于行驶数据的时间戳,对所采集到的行驶数据进行分段,得到多个候选数据包;
13.基于每个候选数据包的可视化显示结果,获取每个候选数据包的定位问题标签和环境标签;
14.将定位问题标签和环境标签满足目标条件的候选数据包作为测试数据包。
15.在本技术的一些实施例中,行驶数据至少包括初始定位信息、点云数据和轮速数
据;
16.基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息,包括:
17.对于任一测试数据包,基于测试数据包所包括的行驶数据中的初始定位信息和轮速数据,确定车辆在地图中的定位区域;
18.从定位区域中各个候选定位信息对应的候选点云数据中,确定与点云数据匹配的候选点云数据,将候选点云数据对应的候选定位信息确定为第一定位信息。
19.在本技术的一些实施例中,定位信息包括位置信息和姿态信息,位置信息包括车辆在设定坐标系内的位置坐标,姿态信息用于指示车辆的位置与设定坐标系的坐标轴之间的角度关系,定位误差信息包括相对位姿误差和绝对轨迹误差;
20.基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息,包括:
21.对于任一第一定位信息和第一定位信息对应的第二定位信息,基于第一定位信息所包括的第一位置信息和第二定位信息所包括的第二位置信息,确定绝对轨迹误差,基于第一定位信息所包括的第一姿态信息和第二定位信息所包括的第二姿态信息,确定相对位姿误差。
22.在本技术的一些实施例中,在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求,包括:
23.在多个测试数据包对应的定位误差信息均小于设定误差阈值的情况下,确定待检测的定位算法的定位精度满足定位需求。
24.在本技术的一些实施例中,基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息之后,该方法还包括:
25.在多个测试数据包对应的定位误差信息不满足设定条件的情况下,确定待检测的定位算法的定位精度不满足定位需求。
26.在本技术的一些实施例中,该方法还包括:
27.输出测试结果信息,测试结果信息用于指示多个测试数据包的测试通过情况、以及待检测的定位算法与已检测过的至少一个定位算法之间的测试对比情况。
28.根据本说明书实施例的第二方面,提供一种车辆定位算法的精度检测装置,该装置包括:
29.获取模块,用于获取多个测试数据包,测试数据包包括车辆行驶过程中采集到的行驶数据;
30.确定模块,用于基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息;
31.确定模块,还用于通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息;
32.确定模块,还用于基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息;
33.确定模块,还用于在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求。
34.在本技术的一些实施例中,多个测试数据包为预先准备好的,测试数据包标注有
定位问题标签和环境标签,定位问题标签用于指示车辆定位出现错误的原因,环境标签用于指示车辆行驶过程中的环境情况,多个测试数据包的准备过程包括:
35.获取至少一个车辆在行驶过程中采集到的行驶数据;
36.基于行驶数据的时间戳,对所采集到的行驶数据进行分段,得到多个候选数据包;
37.基于每个候选数据包的可视化显示结果,获取每个候选数据包的定位问题标签和环境标签;
38.将定位问题标签和环境标签满足目标条件的候选数据包作为测试数据包。
39.在本技术的一些实施例中,行驶数据至少包括初始定位信息、点云数据和轮速数据;
40.确定模块,在用于基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息时,用于:
41.对于任一测试数据包,基于测试数据包所包括的行驶数据中的初始定位信息和轮速数据,确定车辆在地图中的定位区域;
42.从定位区域中各个候选定位信息对应的候选点云数据中,确定与点云数据匹配的候选点云数据,将候选点云数据对应的候选定位信息确定为第一定位信息。
43.在本技术的一些实施例中,定位信息包括位置信息和姿态信息,位置信息包括车辆在设定坐标系内的位置坐标,姿态信息用于指示车辆的位置与设定坐标系的坐标轴之间的角度关系,定位误差信息包括相对位姿误差和绝对轨迹误差;
44.确定模块,在用于基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息时,用于:
45.对于任一第一定位信息和第一定位信息对应的第二定位信息,基于第一定位信息所包括的第一位置信息和第二定位信息所包括的第二位置信息,确定绝对轨迹误差,基于第一定位信息所包括的第一姿态信息和第二定位信息所包括的第二姿态信息,确定相对位姿误差。
46.在本技术的一些实施例中,确定模块,在用于在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求时,用于:
47.在多个测试数据包对应的定位误差信息均小于设定误差阈值的情况下,确定待检测的定位算法的定位精度满足定位需求。
48.在本技术的一些实施例中,确定模块,还用于在多个测试数据包对应的定位误差信息不满足设定条件的情况下,确定待检测的定位算法的定位精度不满足定位需求。
49.在本技术的一些实施例中,该装置还包括:
50.输出模块,用于输出测试结果信息,测试结果信息用于指示多个测试数据包的测试通过情况、以及待检测的定位算法与已检测过的至少一个定位算法之间的测试对比情况。
51.根据本技术实施例的第三方面,提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述车辆定位算法的精度检测方法所执行的操作。
52.根据本技术实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有程序,程序被处理器执行上述车辆定位算法的精度检测方法所执行的操作。
53.根据本技术实施例的第五方面,提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述车辆定位算法的精度检测方法所执行的操作。
54.本技术的实施例提供的技术方案可以包括以下有益效果:
55.本技术通过获取包括车辆行驶过程中所采集到的行驶数据的测试数据包,从而基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息,并通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息,以得到多个第一定位信息和多个第二定位信息,进而基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息,以便可以在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求,实现对自动驾驶车辆的定位算法的准确度的评估,以保证自动驾驶车辆的定位位置的准确性。
56.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
57.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
58.图1是本技术根据一示例性实施例示出的一种车辆定位算法的精度检测方法的流程图。
59.图2是根据本技术根据一示例性实施例示出的一种测试结果信息的显示形式示意图。
60.图3是本技术根据一示例性实施例示出的一种车辆定位算法的精度检测过程的框架图。
61.图4是本技术根据一示例性实施例示出的一种车辆定位算法的精度检测装置的框图。
62.图5是本技术根据一示例性实施例示出的一种计算设备的结构示意图。
具体实施方式
63.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如本技术中所详述的、本说明书的一些方面相一致的装置和方法的例子。
64.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本技术中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
65.应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
66.本技术提供了一种车辆定位算法的精度检测方法,用于对待检测的定位算法的精度进行检测。其中,待检测的定位算法可以为车辆当前使用的定位算法,待检测的定位算法可以为任意一种类型的定位算法,例如,待检测的定位算法可以为基于贝叶斯滤波的融合定位算法、基于超宽带(ultra-wideband,uwb)的最小二乘法(least square method,lsm)泰勒(taylor)级联车辆定位算法等,本技术对待检测的定位算法的具体类型不加以限定。
67.上述仅为对本技术应用场景的示例性说明,并不构成对本技术应用场景的限定,在更多可能的实现方式中,本技术可以应用在多种其他涉及到车辆定位算法的精度检测过程的场景中。
68.上述车辆定位算法的精度检测方法可以由计算设备执行,计算设备可以是服务器,例如一台服务器、多台服务器、服务器集群、云计算平台等等,可选地,计算设备还可以是终端设备,例如台式计算机、便携式计算机、广告机、一体机等等,本技术对计算设备的具体类型不加以限定。
69.上述为关于本技术的应用场景的相关介绍,接下来结合本技术实施例,对本技术所提供的车辆定位算法的精度检测方法进行详细说明。
70.如图1所示,图1是本技术根据一示例性实施例示出的一种车辆定位算法的精度检测方法的流程图,该方法包括以下步骤:
71.步骤101、获取多个测试数据包,测试数据包包括车辆行驶过程中采集到的行驶数据。
72.步骤102、基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息,并通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息。
73.步骤103、基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息。
74.步骤104、在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求。
75.本技术通过获取包括车辆行驶过程中所采集到的行驶数据的测试数据包,从而基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息,并通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息,以得到多个第一定位信息和多个第二定位信息,进而基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息,以便可以在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求,实现对自动驾驶车辆的定位算法的准确度的评估,以保证自动驾驶车辆的定位位置的准确性。
76.在介绍了本技术的基本实现过程之后,下面对本技术的各个可选实现方式进行介绍。
77.在一些实施例中,对于步骤101,该步骤所获取到的测试数据包可以是预先准备好的。在一种可能的实现方式中,可以通过如下步骤实现多个测试数据包的准备:
78.步骤一、获取至少一个车辆在行驶过程中采集到的行驶数据。
79.其中,这至少一个车辆的型号、行驶场景、行驶速度等可以相同,也可以不同,本申
请对此不加以限定。
80.对于每个车辆而言,其在行驶过程中会采集到多种类型的数据。例如,对于其中任一车辆,该车辆上可以设置有多种类型的数据采集装置,数据采集装置可以包括车载摄像头(如行车记录仪)、激光雷达、轮速传感器(如轮速计)等,本技术对数据采集装置的具体类型不加以限定。
81.以数据采集装置包括车载摄像头、激光雷达和轮速传感器为例,通过车载摄像头所采集到的行驶数据可以为图像数据,通过激光雷达所采集到的行驶数据可以为点云数据,通过轮速传感器所采集到的行驶数据可以为车辆行驶速度。
82.步骤二、基于行驶数据的时间戳,对所采集到的行驶数据进行分段,得到多个候选数据包。
83.需要说明的是,对于任一车辆,其所采集到的行驶数据的时间戳是连续的,可以将该车辆所采集到的时间连续的行驶数据,按照设定时长进行分段,以将行驶数据划分为时长为设定时长的多个候选数据包。
84.以该车辆采集到的行驶数据为时间连续的100秒的行驶数据为例,在设定时长为10秒的情况下,可以将这100秒的行驶数据划分为10个候选数据包,每个候选数据包所包括的行驶数据均为时长为10秒的时间段中所采集到的行驶数据。
85.步骤三、基于每个候选数据包的可视化显示结果,获取每个候选数据包的定位问题标签和环境标签。
86.在一种可能的实现方式中,可以通过数据可视化工具对各个候选数据包的数据进行可视化显示,以便相关技术人员可以形象直观地看到车辆的行驶过程,进而基于车辆行驶过程的相关情况,为候选数据包设置相应的定位问题标签和环境标签,以便计算设备可以获取到相关技术人员为各个候选数据包所设置的定位问题标签和环境标签。
87.其中,定位问题标签用于指示车辆定位出现错误的原因,环境标签可以用于指示车辆行驶过程中的环境情况。可选地,定位问题标签可以包括初始定位失败、运行中定位发生偏移、数据出错导致定位出错等,环境标签可以用于指示车辆行驶过程中的天气情况、道路情况、行人数量等,例如,环境标签可以为运行设计域(operational design domain,odd)标签,或者,环境标签还可以为其他类型的标签,本技术对定位问题标签和环境标签的具体类型不加以限定。
88.步骤四、将定位问题标签和环境标签满足目标条件的候选数据包作为测试数据包。
89.在一种可能的实现方式中,计算设备可以基于各个候选数据包的定位问题标签和环境标签,确定满足目标条件的定位问题标签和环境标签对应的候选数据包,将满足目标条件的定位问题标签和环境标签对应的候选数据包作为测试数据包。
90.其中,目标条件可以为定位问题标签为第一设定类型,和/或,环境标签为第二设定类型,本技术对第一设定类型和第二设定类型的具体内容不加以限定。
91.需要说明的是,第一设定类型可以包括至少一种定位问题标签类型,第二设定类型可以包括至少一种环境标签类型,本技术对第一设定类型和第二设定类型所包括的标签类型数量不加以限定。基于此,为了使得测试数据包可以尽可能多地覆盖更多的定位出错场景,可以使得第一设定类型和第二设定类型所包括的标签类型数量尽可能多,从而保证
多种定位出错场景下采集到的候选数据包均可以作为测试数据包,以保证测试数据包可以尽可能多地覆盖更多的定位出错场景。
92.另外,需要强调的是,由于用于采集行驶数据的车辆可以为多个,而这多个车辆的型号、行驶速度等均可能有所不同,为了保证待检测的定位算法的泛化性,在进行测试数据包的选择时,可以使得作为测试数据包的候选数据包是通过不同的车辆采集到的,从而使得定位算法检测时可以基于不同车辆采集到的测试数据包实现,进而提高待检测的定位算法的泛化性。
93.通过上述过程,即可获取到满足测试需求的多个测试数据包,以便后续可以基于多个测试数据包来对待检测的定位算法的精度进行检测。
94.需要说明的是,由于多个候选数据包都是标注有定位问题标签和环境标签的,从而使得从多个候选数据包中所确定出的测试数据包也是标注有定位问题标签和环境标签的。
95.可选地,在从多个候选数据包中确定出测试数据包后,可以将多个测试数据包记录到数据集中,以构建出包括多个测试数据包的测试数据集,以便后续可以基于测试数据集来对待检测的定位算法的精度进行检测。其中,测试数据集中记录有各个测试数据包的定位问题标签和环境标签。
96.在更多可能的实现方式中,在确定出多个测试数据包中,还可能获取到新的行驶数据,此时,还可以基于新获取到的行驶数据,来确定新的测试数据包,基于新获取到的行驶数据确定新的测试数据包的过程可以参见上述实施例,此处不再赘述。
97.需要说明的是,在确定出新的测试数据包之后,可以将所确定出的新的测试数据包和以往已确定出的测试数据包共同作为用于对待检测的定位算法进行检测的测试数据包,以便可以实现测试数据包的扩充,进而可以提高定位算法的精度检测程度。
98.此外,在基于多个测试数据包构建测试数据集的情况下,在基于新获取到的行驶数据确定新的测试数据包之后,可以将所确定出的新的测试数据包添加至测试数据集中,以便计算设备可以通过获取测试数据集,来获取到新的测试数据包和以往已确定出的测试数据包。
99.在通过上述过程确定出多个测试数据包之后,计算设备即可通过步骤101,获取到多个测试数据包,以便基于所获取到的测试数据包来对待检测的定位算法的精度进行检测。
100.在一些实施例中,行驶数据可以包括点云数据和轮速数据,可选地,行驶数据还可以包括更多类型的数据,本技术对行驶数据所包括的数据类型不加以限定。以行驶数据包括点云数据和轮速数据为例,对于步骤102,在基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息时,可以通过如下步骤实现:
101.步骤102-1-1、对于任一测试数据包,基于测试数据包所包括的行驶数据中的初始定位信息和轮速数据,确定车辆在地图中的定位区域。
102.需要说明的是,初始定位信息可以是全球导航卫星系统(global navigation satellite system,gnss)信息,可选地,初始定位信息还可以为其他类型的定位信息,本技术对初始定位信息的具体类型不加以限定。
103.通过在测试数据包中设置初始定位信息,以便可以基于初始定位信息,通过回环
实现定位信息的确定,由于误差在行驶过程中会不断积累,通过回环,即可在车辆再次通过上一次通过的位置的时候,把误差平均地分到每一次定位点,以保证所获取到的每个点的位置姿态信息更加准确。
104.在一种可能的实现方式中,在基于测试数据包所包括的行驶数据中的初始定位信息和轮速数据,确定车辆在地图中的定位区域时,可以基于轮速数据以及车辆的行驶时间,确定车辆的行驶距离,进而基于车辆的行驶距离和初始定位信息,确定车辆在地图中的定位区域。
105.可选地,在基于车辆的行驶距离和初始定位信息,确定车辆在地图中的定位区域时,可以先基于车辆的行驶距离和初始定位信息的和,确定车辆在多个方向上的预测定位信息,得到多个预测定位信息,从而在每个预测定位信息的基础上分别加上和减去设定距离值,以得到以预测定位信息为中心的一个定位区域,此时,车辆在地图中的定位区域可以为一个环形区域。
106.在更多可能的实现方式中,车辆的行驶数据还可以包括车辆的行驶方向,则在基于测试数据包所包括的行驶数据中的初始定位信息和轮速数据,确定车辆在地图中的定位区域时,可以基于轮速数据以及车辆的行驶时间,确定车辆的行驶距离,进而基于车辆的行驶距离、行驶方向和初始定位信息,确定车辆在地图中的定位区域。
107.其中,在基于车辆的行驶距离、行驶方向和初始定位信息,确定车辆在地图中的定位区域时,可以先基于车辆的在行驶方向上的行驶距离和初始定位信息的和,确定一个预测定位信息,从而在预测定位信息的基础上分别加上和减去设定距离值,以得到以预测定位信息为中心的一个定位区域,此时,车辆在地图中的定位区域可以为一条线段。
108.步骤102-1-2、从定位区域中各个候选定位信息对应的候选点云数据中,确定与点云数据匹配的候选点云数据,将候选点云数据对应的候选定位信息确定为第一定位信息。
109.需要说明的是,定位区域中包括多个候选定位信息,每个候选定位信息均对应有点云数据(记为候选点云数据),因而,计算设备可以将行驶数据中所包括的点云数据与各个候选点云数据进行比较,以确定出与点云数据匹配的候选点云数据,从而将候选点云数据对应的候选定位信息作为第一定位信息。
110.需要说明的是,定位信息可以包括位置信息和姿态信息,位置信息可以包括车辆在设定坐标系内的位置坐标,姿态信息可以用于指示车辆的位置与设定坐标系的坐标轴之间的角度关系,可选地,设定坐标系可以为任一种类型的坐标系,例如,设定坐标系可以为地球坐标系。
111.其中,第一定位信息可以记为ground truth(x,y,yaw)。其中,x为车辆在设定坐标系的x轴方向上的位置坐标,y为车辆在设定坐标系的x轴方向上的位置坐标,x和y即为位置信息;yaw即为车辆的位置和坐标原点的连线与设定坐标系的y轴之间的角度,也即是偏航角,yaw即为姿态信息。上述仅为定位信息的一种示例性形式,在更多可能的实现方式中,定位信息还可以为其他形式,例如,位置信息还可以为三维坐标,姿态信息还可以包括俯仰角pitch和翻滚角roll,本技术对定位信息的具体形式不加以限定。
112.对于步骤102,在通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息时,可以将各个测试数据包分别输入待检测的定位算法中,通过运行待检测的定位算法,输出各个测试数据包对应的第二定位信息,得到车辆的多个第二定位信息,基
于一个测试数据包可以获取到一个第二定位信息。
113.需要说明的是,有关第二定位信息的介绍可以参见上述实施例,此处不再赘述。另外,需要说明的是,第二定位信息的形式需保证与第一定位信息的形式一致,以保证后续过程的顺利进行。
114.另外,需要注意的是,第二定位信息和第一定位信息是一一对应的,也即是,基于一个测试数据包可以获取到一个第一定位信息和一个第二定位信息。
115.在通过上述过程获取到第一定位信息和第二定位信息后,即可通过步骤103,基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息。
116.需要说明的是,由于定位信息可以包括位置信息和姿态信息,因而,定位误差信息可以包括相对位姿误差和绝对轨迹误差,其中,绝对轨迹误差可以包括横向绝对轨迹误差(也即是x坐标的误差)和纵向绝对轨迹误差(也即是y坐标的误差)。此外,在定位信息包括其他类型的信息的情况下,定位误差信息还可以包括其他类型的信息,本技术对此不加以限定。
117.以定位误差信息包括相对位姿误差和绝对轨迹误差为例,对于步骤103,在基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息时,可以通过如下方式实现:
118.对于任一第一定位信息和所述第一定位信息对应的第二定位信息,基于第一定位信息所包括的第一位置信息和第二定位信息所包括的第二位置信息,确定绝对轨迹误差,基于第一定位信息所包括的第一姿态信息和第二定位信息所包括的第二姿态信息,确定相对位姿误差。
119.在一种可能的实现方式中,在基于第一定位信息所包括的第一位置信息和第二定位信息所包括的第二位置信息,确定绝对轨迹误差时,可以将第一位置信息和第二位置信息的差值,作为绝对轨迹误差。在基于第一定位信息所包括的第一姿态信息和第二定位信息所包括的第二姿态信息,确定相对位姿误差时,可以将第一姿态信息和第二姿态信息的差值,作为相对姿态误差。
120.通过上述过程,即可基于每个第一定位信息以及对应的第二定位信息,确定出一个绝对轨迹误差和一个相对姿态误差,作为一个定位误差信息,从而即可得到多个定位误差信息,每个测试数据包可以对应于一个定位误差信息。
121.在通过上述过程确定出多个测试数据包对应的定位误差信息后,即可通过多个测试数据包对应的定位误差信息,确定待检测的定位算法的定位精度是否满足定位需求。
122.在一些实施例中,在多个测试数据包对应的定位误差信息满足设定条件的情况下,即可确定待检测的定位算法的定位精度满足定位需求。例如,在多个测试数据包对应的定位误差信息均小于设定误差阈值的情况下,确定待检测的定位算法的定位精度满足定位需求。
123.在另一些实施例中,在所述多个测试数据包对应的定位误差信息不满足设定条件的情况下,确定待检测的所述定位算法的定位精度不满足定位需求。例如,在多个测试数据包对应的定位误差信息中存在一个定位误差信息大于或等于的设定误差阈值的情况下,即可确定待检测的定位算法的定位精度不满足定位需求。
124.其中,设定误差阈值可以包括第一误差阈值和第二误差阈值,第一误差阈值可以
是对应于绝对轨迹误差的,第二误差阈值可以是对应于相对姿态误差的。因而,在确定多个测试数据包对应的定位误差信息是否满足设定条件时,可以确定多个测试数据包对应的绝对轨迹误差是否小于第一误差阈值,多个测试数据包的相对姿态误差是否小于第二误差阈值,在多个测试数据包对应的绝对轨迹误差小于第一误差阈值,且多个测试数据包的相对姿态误差小于第二误差阈值的情况下,即可确定多个测试数据包的定位误差信息满足设定条件。反之,在多个测试数据包对应的绝对轨迹误差中存在一个绝对轨迹误差大于或等于第一误差阈值,或者,多个测试数据包的相对姿态误差中存在一个相对姿态误差大于或等于第二误差阈值情况下,即可确定多个测试数据包的定位误差信息不满足设定条件。
125.通过上述实施例,本技术所提供的车辆定位算法的精度检测方法,可以提供一种从分析各个候选数据包的定位问题,到找到适合用于进行定位算法精度检测的测试数据包,再到使用测试数据包对车辆定位算法的定位精度进行检测的全链路方案,以实现对自动驾驶车辆的定位算法的准确度的评估,进而保证自动驾驶车辆的定位位置的准确性。
126.在更多可能的实现方式中,在基于各个测试数据包的定位误差信息确定出各个测试数据包是否通过测试之后,还可以输出测试结果信息。其中,测试结果信息可以用于指示多个测试数据包的测试通过情况、以及待检测的定位算法与已检测过的至少一个定位算法之间的测试对比情况。
127.其中,测试通过情况也就是指测试数据包是否通过测试,测试数据包通过测试,也即是,该测试数据包对应的定位误差信息小于设定误差阈值,反之,在测试数据包对应的定位误差信息大于或等于设定误差阈值的情况下,即可确定该测试数据包未通过测试。
128.通过输出用于指示多个测试数据包的测试通过情况、以及待检测的定位算法与已检测过的至少一个定位算法之间的测试对比情况的测试结果信息,以便计算设备或其他可以提供可视化功能的设备可以对计算设备所输出的测试结果信息进行可视化显示,以便相关技术人员可以基于所显示的测试结果信息,实现对多个定位算法的横向对比,以确定出定位效果更多的定位算法。
129.可选地,测试结果信息还可以基于各个测试数据包的定位问题标签和环境标签,对多个测试数据包的测试通过情况进行分类展示,例如,可以总结同种类型的定位问题标签的测试通过情况以及同种类型的环境标签的测试通过情况,以便相关技术人员可以基于分类展示结果确定出什么样的环境下容易出现什么样的定位问题,从而使得后续可以进行针对性改进。
130.参见图2,图2是根据本技术根据一示例性实施例示出的一种测试结果信息的显示形式示意图,如图2所示,以本次检测的定位算法为3号算法为例,如图2所示的测试结果信息中显示有用于检测算法3的定位精度的测试数据包的数量(也即是测试bag数)、测试过程用时(也即是测试bag总时长,包括获取测试数据包以及测试过程的总时长)、总体测试情况以及测试情况的分类展示结果。
131.其中,总体测试情况也即是多个测试数据包整体的测试通过情况,如图2所示,总体测试情况包括测试耗时、完美通过率(也即是测试通过的测试数据包的数量在总的测试数据包的数量中所占的比例)、平均频率(也即是数据包的测试速度)、最大横向误差(也即是多个绝对轨迹误差的横向绝对轨迹误差中的最大值)、最大纵向误差(也即是多个绝对轨迹误差的纵向绝对轨迹误差中的最大值)、最大角度偏差(也即是多个相对位姿误差中的最
大值)、最小横向误差(也即是多个绝对轨迹误差的横向绝对轨迹误差中的最小值)、最小纵向误差(也即是多个绝对轨迹误差的纵向绝对轨迹误差中的最小值)、最小角度偏差(也即是多个相对位姿误差中的最小值)。
132.测试情况的分类展示结果可以包括基于定位问题标签的分类展示结果以及基于环境标签的分类展示结果。其中,基于定位问题标签的分类展示结果也即是算法测试情况对应的展示内容,包括完美通过、初始定位失败、运动中定位偏移后自动找回、运行中定位失败后未找回、运行中定位超时这五种定位问题标签对应的数据包测试通过情况,也即是这五种定位问题标签分别对应的通过测试的测试数据包数量以及测试数据包通过率;基于环境标签的分类展示结果也即是晴-白天、晴-黑夜、雨-白天、雨-黑夜、雪-白天这五种环境标签对应的数据包测试通过情况,也即是这五种环境标签分别对应的通过测试的测试数据包数量以及测试数据包通过率。
133.另外,如图2所示的测试结果信息中还显示有待检测的定位算法与已检测过的至少一个定位算法之间的测试对比情况。如图2所示的测试结果信息中设置有算法选择控件(也即是文字标注为“请选择需要对比的算法”对应的选择框),相关技术人员可以通过如图2中所设置的算法选择控件来选择要与当前待检测的定位算法进行比较的定位算法,相关技术人员可以触发算法选择控件,以便设备可以响应于相关技术人员的触发操作,显示已检测过的至少一个定位算法,以便相关技术人员可以从中进行选择。
134.其中,图2中用于与3号算法进行比较的已检测过的定位算法为2号算法,3号算法与2号算法之间的测试对比情况包括3号算法与2号算法分别对应的完美通过、初始定位失败、运动中定位偏移后自动找回、运行中定位失败后未找回、运行中定位超时这五种定位问题标签对应的数据包测试通过情况,也即是这五种定位问题标签分别对应的通过测试的测试数据包数量以及测试数据包通过率。
135.此外,如图2所示的测试结果信息中设置有标签选择控件(也即是文字标注为“请选择需要包含的情形”对应的选择框),相关技术人员可以通过如图2中所设置的标签选择控件来选择对不同算法进行比较时所要比较的具体情形(也即是要比较的具体定位问题标签),相关技术人员可以触发标签选择控件,以便设备可以响应于相关技术人员的触发操作,显示至少一个可选的定位问题标签,以便相关技术人员可以从中进行选择。
136.图2中相关技术人员所选择的定位问题标签为运行中定位超时,因而,图2中显示有定位问题标签为运行中定位超时但成功通过测试的测试数据包的平均纵向误差、平均横向误差和平均偏移角度。
137.可选地,如图2所示的测试结果信息中还显示有3号算法的数据包基本信息以及环境标签信息。其中,数据包基本信息包括测试数据包的定位问题标签(也即是问题描述)、测试开始时间(也即是start time)、测试结束时间(也即是end time)、平均纵向误差、平均横向误差、纵向误差偏移、横向误差偏移、平均角度误差和角度误差偏移;环境标签信息包括气象情况、自车位置情况、场地情况、路面情况、障碍物情况(包括是否有静态障碍物、静态障碍物是什么、是否有动态障碍物、动态障碍物是什么)。
138.通过如图2所示的测试结果信息,相关技术人员可以将本次检测的算法3与过去测试过的算法(也即是算法2)进行对比,以便相关技术人员可以直观地了解,经过改进后的算法,让哪些测试数据包成功通过测试,哪些以前通过测试的测试数据包又失败了。并且,可
以通过环境标签统计出,什么样的场景容易出现什么样的定位问题。
139.上述各个实施例所提供的车辆定位算法的精度检测方法可以参见图3,图3是本技术根据一示例性实施例示出的一种车辆定位算法的精度检测过程的框架图,如图3所示,上述各个实施例所提供的车辆定位算法的精度检测过程可以分为3个大的阶段,分别为数据包打标阶段、数据集收集阶段和算法测评阶段。在数据包打标阶段,通过数据可视化处理后的行驶数据对各个数据包进行分析,以便根据分析结果对各个数据包进行打标,通过遍历打标后的数据包发现一些具有代表性或者是较为特殊的标签,以将这些数据包作为测试数据包,进而在数据集构建阶段记录测试数据包的定位问题标签和环境标签,以便在算法测评阶段基于多个测试数据包对算法进行测评,以生成算法测评报告。
140.图3所示仅为本技术的一种流程性说明,关于各个阶段中各个步骤的具体实现方式的介绍,可以参见上述各个实施例,此处不再赘述。
141.与前述方法的实施例相对应,本技术还提供了装置及其所应用的计算设备的实施例。
142.如图4所示,图4是本技术根据一示例性实施例示出的一种车辆定位算法的精度检测装置的框图,该装置包括:
143.获取模块401,用于获取多个测试数据包,测试数据包包括车辆行驶过程中采集到的行驶数据;
144.确定模块402,用于基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息;
145.确定模块402,还用于通过待检测的定位算法,基于每个测试数据包,确定车辆的一个第二定位信息;
146.确定模块402,还用于基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息;
147.确定模块402,还用于在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求。
148.在本技术的一些实施例中,多个测试数据包为预先准备好的,测试数据包标注有定位问题标签和环境标签,定位问题标签用于指示车辆定位出现错误的原因,环境标签用于指示车辆行驶过程中的环境情况,多个测试数据包的准备过程包括:
149.获取至少一个车辆在行驶过程中采集到的行驶数据;
150.基于行驶数据的时间戳,对所采集到的行驶数据进行分段,得到多个候选数据包;
151.基于每个候选数据包的可视化显示结果,获取每个候选数据包的定位问题标签和环境标签;
152.将定位问题标签和环境标签满足目标条件的候选数据包作为测试数据包。
153.在本技术的一些实施例中,行驶数据至少包括初始定位信息、点云数据和轮速数据;
154.确定模块402,在用于基于每个测试数据包所包括的行驶数据以及预先建立的地图,确定车辆的一个第一定位信息时,用于:
155.对于任一测试数据包,基于测试数据包所包括的行驶数据中的初始定位信息和轮速数据,确定车辆在地图中的定位区域;
156.从定位区域中各个候选定位信息对应的候选点云数据中,确定与点云数据匹配的候选点云数据,将候选点云数据对应的候选定位信息确定为第一定位信息。
157.在本技术的一些实施例中,定位信息包括位置信息和姿态信息,位置信息包括车辆在设定坐标系内的位置坐标,姿态信息用于指示车辆的位置与设定坐标系的坐标轴之间的角度关系,定位误差信息包括相对位姿误差和绝对轨迹误差;
158.确定模块402,在用于基于每个第一定位信息和对应的第二定位信息,确定一个定位误差信息时,用于:
159.对于任一第一定位信息和第一定位信息对应的第二定位信息,基于第一定位信息所包括的第一位置信息和第二定位信息所包括的第二位置信息,确定绝对轨迹误差,基于第一定位信息所包括的第一姿态信息和第二定位信息所包括的第二姿态信息,确定相对位姿误差。
160.在本技术的一些实施例中,确定模块402,在用于在多个测试数据包对应的定位误差信息满足设定条件的情况下,确定待检测的定位算法的定位精度满足定位需求时,用于:
161.在多个测试数据包对应的定位误差信息均小于设定误差阈值的情况下,确定待检测的定位算法的定位精度满足定位需求。
162.在本技术的一些实施例中,确定模块402,还用于在多个测试数据包对应的定位误差信息不满足设定条件的情况下,确定待检测的定位算法的定位精度不满足定位需求。
163.在本技术的一些实施例中,该装置还包括:
164.输出模块,用于输出测试结果信息,测试结果信息用于指示多个测试数据包的测试通过情况、以及待检测的定位算法与已检测过的至少一个定位算法之间的测试对比情况。
165.上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
166.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
167.本技术还提供了一种计算设备,参见图5,图5是本技术根据一示例性实施例示出的一种计算设备的结构示意图。如图5所示,计算设备包括处理器510、存储器520和网络接口530,存储器520用于存储可在处理器510上运行的计算机指令,处理器510用于在执行所述计算机指令时实现本技术任一实施例所提供的车辆定位算法的精度检测方法,网络接口530用于实现输入输出功能。在更多可能的实现方式中,计算设备还可以包括其他硬件,本技术对此不做限定。
168.本技术还提供了一种计算机可读存储介质,计算机可读存储介质可以是多种形式,比如,在不同的例子中,计算机可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,计算
机可读介质还可以是纸张或者其他合适的能够打印程序的介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现本技术任一实施例所提供的车辆定位算法的精度检测方法。
169.本技术还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本技术任一实施例所提供的车辆定位算法的精度检测方法。
170.本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、装置、计算设备、计算机可读存储介质或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
171.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算设备所对应的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
172.上述对本说明书特定实施例进行了描述。其它实施例在本技术的范围内。在一些情况下,在本技术中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
173.本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由车辆定位算法的精度检测装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
174.本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如fpga(现场可编程门阵列)或asic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
175.适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(pda)、移动音
频或视频播放器、游戏操纵台、全球定位系统(gps)接收机、或例如通用串行总线(usb)闪存驱动器的便携式存储设备,仅举几例。
176.适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cd rom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
177.虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
178.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
179.由此,主题的特定实施例已被描述。其他实施例在本技术的范围以内。在某些情况下,本技术中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
180.本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。也即是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
181.以上所述仅为本说明书的可选实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
再多了解一些

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

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

相关文献