自动驾驶软件的版本测试方法、装置、设备及存储介质转让专利

申请号 : CN202310059515.8

文献号 : CN115774680B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张琼

申请人 : 小米汽车科技有限公司

摘要 :

本公开是关于一种自动驾驶软件的版本测试方法、装置、设备及存储介质,其中,该方法包括:获取第一场景的第一感知数据和第一感知数据的第一真值;获取第一场景的第二感知数据和第二感知数据的第二真值;根据第一感知数据和第一真值对待发版本的感知模型进行评测,获得感知模型的第一评测指标;根据第二感知数据和第二真值对自动驾驶软件进行评测,获得自动驾驶软件的第二评测指标;根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。本公开的技术方案能够结合感知模型和自动驾驶软件等多方面的评测质保,对自动驾驶软件的综合性能进行全面评价,从而提升实车路测和仿真测试的效率。

权利要求 :

1.一种自动驾驶软件的版本测试方法,其特征在于,包括:获取第一场景的第一感知数据和所述第一感知数据的第一真值;其中,所述第一感知数据为二维数据;

获取所述第一场景的第二感知数据和所述第二感知数据的第二真值;其中,所述第二感知数据为携带时序信息的三维数据;

根据所述第一感知数据和所述第一真值对待发版本的感知模型进行评测,获得所述感知模型的第一评测指标;

根据所述第二感知数据和所述第二真值对自动驾驶软件进行评测,获得所述自动驾驶软件的第二评测指标;其中,所述自动驾驶软件为将所述感知模型进行部署脚本转化后并增加了后处理的工程软件;

根据所述第一评测指标和所述第二评测指标,获取所述自动驾驶软件的版本测试结果。

2.如权利要求1所述的方法,其特征在于,所述根据所述第一感知数据和所述第一真值对待发版本的感知模型进行评测,获得所述感知模型的第一评测指标,包括:将所述第一感知数据输入至所述待发版本的感知模型,获得所述感知模型输出的第一感知预测结果;

根据所述第一感知预测结果和所述第一真值,计算第一召回率和/或第一准确率;

将所述第一召回率和/或所述第一准确率,确定为所述感知模型的第一评测指标。

3.如权利要求1所述的方法,其特征在于,所述根据所述第二感知数据和所述第二真值对自动驾驶软件进行评测,获得所述自动驾驶软件的第二评测指标,包括:将所述第二感知数据输入至所述自动驾驶软件,获得所述自动驾驶软件输出的第二感知预测结果;

根据所述第二感知预测结果和所述第二真值,计算第二召回率和/或第二准确率;

根据所述第二感知预测结果、所述第二真值和所述感知数据中的所述时序信息,获取测距误差指标和/或测速误差指标;

将所述第二召回率和/或第二准确率、所述测距误差指标和/或所述测速误差指标,确定为自动驾驶软件的第二评测指标。

4.如权利要求1所述的方法,其特征在于,还包括:确定所述第一评测指标是否符合所述感知模型的发版标准;

在所述第一评测指标符合所述发版标准的情况下,将符合所述发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。

5.如权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:根据所述版本测试结果,确定性能不通过的场景以及指标项;

根据所述性能不通过的场景以及指标项,对所述自动驾驶软件进行优化。

6.一种自动驾驶软件的版本测试装置,其特征在于,包括:第一获取模块,用于获取第一场景的第一感知数据和所述第一感知数据的第一真值;

其中,所述第一感知数据为二维数据;

第二获取模块,用于获取所述第一场景的第二感知数据和所述第二感知数据的第二真值;其中,所述第二感知数据为携带时序信息的三维数据;

第一评测模块,用于根据所述第一感知数据和所述第一真值对待发版本的感知模型进行评测,获得所述感知模型的第一评测指标;

第二评测模块,用于根据所述第二感知数据和所述第二真值对自动驾驶软件进行评测,获得所述自动驾驶软件的第二评测指标;其中,所述自动驾驶软件为将所述感知模型进行部署脚本转化后并增加了后处理的工程软件;

第三获取模块,用于根据所述第一评测指标和所述第二评测指标,获取所述自动驾驶软件的版本测试结果。

7.如权利要求6所述的装置,其特征在于,所述第一评测模块具体用于:将所述第一感知数据输入至所述待发版本的感知模型,获得所述感知模型输出的第一感知预测结果;

根据所述第一感知预测结果和所述第一真值,计算第一召回率和/或第一准确率;

将所述第一召回率和/或所述第一准确率,确定为所述感知模型的第一评测指标。

8.如权利要求6所述的装置,其特征在于,所述第二评测模块具体用于:将所述第二感知数据输入至所述自动驾驶软件,获得所述自动驾驶软件输出的第二感知预测结果;

根据所述第二感知预测结果和所述第二真值,计算第二召回率和/或第二准确率;

根据所述第二感知预测结果、所述第二真值和所述感知数据中的所述时序信息,获取测距误差指标和/或测速误差指标;

将所述第二召回率和/或第二准确率、所述测距误差指标和/或所述测速误差指标,确定为自动驾驶软件的第二评测指标。

9.如权利要求6所述的装置,其特征在于,还包括:第一确定模块,用于确定所述第一评测指标是否符合所述感知模型的发版标准;

处理模块,用于在所述第一评测指标符合所述发版标准的情况下,将符合所述发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。

10.如权利要求6至9中任一项所述的装置,其特征在于,所述装置还包括:第二确定模块,用于根据所述版本测试结果,确定性能不通过的场景以及指标项;

优化模块,用于根据所述性能不通过的场景以及指标项,对所述自动驾驶软件进行优化。

11.一种电子设备,其特征在于,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5中任一项所述的方法。

12.一种计算机可读存储介质,用于存储有指令,当所述指令被执行时,使如权利要求1至5中任一项所述的方法被实现。

说明书 :

自动驾驶软件的版本测试方法、装置、设备及存储介质

技术领域

[0001] 本公开涉及自动驾驶技术领域,尤其涉及一种自动驾驶软件的版本测试方法、装置、设备及存储介质。

背景技术

[0002] 为保证自动驾驶的体验和安全性,需要对车辆自动驾驶软件进行充分的测试。测试分为软件测试,实车路测以及仿真测试等三种。如何在实车测试前对自动驾驶软件进行充分测试,是提高实车路测效率的一个关键因素,并且经过充分软件测试的自动驾驶软件的版本也可以提高实车路测和仿真测试的效率。
[0003] 相关技术中,通常采用模型和软件解耦测试的方法对自动驾驶软件进行软件测试。例如将精准率放在模型端测试,后处理只评测测速误差和测距误差等指标,这种技术方案无法保证自动驾驶软件的输出结果对下游的交付质量。

发明内容

[0004] 为克服相关技术中存在的问题,本公开提供一种自动驾驶软件的版本测试方法、装置、电子设备及存储介质。
[0005] 根据本公开实施例的第一方面,提供一种自动驾驶软件的版本测试方法包括:获取第一场景的第一感知数据和所述第一感知数据的第一真值;其中,所述第一感知数据为二维数据;获取所述第一场景的第二感知数据和所述第二感知数据的第二真值;其中,所述第二感知数据为携带时序信息的三维数据;根据所述第一感知数据和所述第一真值对待发版本的感知模型进行评测,获得所述感知模型的第一评测指标;根据所述第二感知数据和所述第二真值对自动驾驶软件进行评测,获得所述自动驾驶软件的第二评测指标;其中,所述自动驾驶软件为将所述感知模型进行部署脚本转化后并增加了后处理的工程软件;根据所述第一评测指标和所述第二评测指标,获取所述自动驾驶软件的版本测试结果。
[0006] 在一种实现方式中,所述根据所述第一感知数据和所述第一真值对待发版本的感知模型进行评测,获得所述感知模型的第一评测指标,包括:将所述第一感知数据输入至所述待发版本的感知模型,获得所述感知模型输出的第一感知预测结果;根据所述第一感知预测结果和所述第一真值,计算第一召回率和/或第一准确率;将所述第一召回率和/或所述第一准确率,确定为所述感知模型的第一评测指标。
[0007] 在一种实现方式中,所述根据所述第二感知数据和所述第二真值对自动驾驶软件进行评测,获得所述自动驾驶软件的第二评测指标,包括:将所述第二感知数据输入至所述自动驾驶软件,获得所述自动驾驶软件输出的第二感知预测结果;根据所述第二感知预测结果和所述第二真值,计算第二召回率和/或第二准确率;根据所述第二感知预测结果、所述第二真值和所述感知数据中的所述时序信息,获取测距误差指标和/或测速误差指标;将所述第二召回率和/或第二准确率、所述测距误差指标和/或所述测速误差指标,确定为自动驾驶软件的第二评测指标。
[0008] 在一种实现方式中,所述方法还包括:确定所述第一评测指标是否符合所述感知模型的发版标准;在所述第一评测指标符合所述发版标准的情况下,将符合所述发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。
[0009] 在一种实现方式中,所述方法还包括:根据所述版本测试结果,确定性能不通过的场景以及指标项;根据所述性能不通过的场景以及指标项,对所述自动驾驶软件进行优化。
[0010] 根据本公开实施例的第二方面,提供一种自动驾驶软件的版本测试装置,包括:第一获取模块,用于获取第一场景的第一感知数据和所述第一感知数据的第一真值;其中,所述第一感知数据为二维数据;第二获取模块,用于获取所述第一场景的第二感知数据和所述第二感知数据的第二真值;其中,所述第二感知数据为携带时序信息的三维数据;第一评测模块,用于根据所述第一感知数据和所述第一真值对待发版本的感知模型进行评测,获得所述感知模型的第一评测指标;第二评测模块,用于根据所述第二感知数据和所述第二真值对自动驾驶软件进行评测,获得所述自动驾驶软件的第二评测指标;其中,所述自动驾驶软件为将所述感知模型进行部署脚本转化后并增加了后处理的工程软件;第三获取模块,用于根据所述第一评测指标和所述第二评测指标,获取所述自动驾驶软件的版本测试结果。
[0011] 在一种实现方式中,所述第一评测模块具体用于:将所述第一感知数据输入至所述待发版本的感知模型,获得所述感知模型输出的第一感知预测结果;根据所述第一感知预测结果和所述第一真值,计算第一召回率和/或第一准确率;将所述第一召回率和/或所述第一准确率,确定为所述感知模型的第一评测指标。
[0012] 在一种实现方式中,所述第二评测模块具体用于:将所述第二感知数据输入至所述自动驾驶软件,获得所述自动驾驶软件输出的第二感知预测结果;根据所述第二感知预测结果和所述第二真值,计算第二召回率和/或第二准确率;根据所述第二感知预测结果、所述第二真值和所述感知数据中的所述时序信息,获取测距误差指标和/或测速误差指标;将所述第二召回率和/或第二准确率、所述测距误差指标和/或所述测速误差指标,确定为自动驾驶软件的第二评测指标。
[0013] 在一种实现方式中,所述装置还包括:第一确定模块,用于确定所述第一评测指标是否符合所述感知模型的发版标准;处理模块,用于在所述第一评测指标符合所述发版标准的情况下,将符合所述发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。
[0014] 在一种实现方式中,所述装置还包括:第二确定模块,用于根据所述版本测试结果,确定性能不通过的场景以及指标项;优化模块,用于根据所述性能不通过的场景以及指标项,对所述自动驾驶软件进行优化。
[0015] 根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述第一方面所述的方法。
[0016] 根据本公开实施例的第四方面,提供一种计算机可读存储介质,用于存储有指令,当所述指令被执行时,使如第一方面所述的方法被实现。
[0017] 根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。
[0018] 本公开的实施例提供的技术方案可以包括以下有益效果:可以基于第一场景的第一感知数据和第一感知数据的第一真值获得感知模型的第一评测指标,并基于第一场景的第二感知数据和第二感知数据的第二真值获得自动驾驶软件的第二评测指标,从而根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。能够结合感知模型和自动驾驶软件等多方面的评测质保,对自动驾驶软件的综合性能进行全面评价,从而提升实车路测和仿真测试的效率,并为自动驾驶软件的版本发布提供支持。
[0019] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

[0020] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0021] 图1是根据一示例性实施例示出的一种自动驾驶软件的版本测试方法的流程图。
[0022] 图2是根据一示例性实施例示出的另一种自动驾驶软件的版本测试方法的流程图。
[0023] 图3是根据一示例性实施例示出的又一种自动驾驶软件的版本测试方法的流程图。
[0024] 图4是根据一示例性实施例示出的一种自动驾驶软件的版本测试方案的示意图。
[0025] 图5是根据一示例性实施例示出的一种自动驾驶软件的版本测试装置框图。
[0026] 图6是根据一示例性实施例示出的另一种自动驾驶软件的版本测试装置框图。
[0027] 图7是根据一示例性实施例示出的又一种自动驾驶软件的版本测试装置框图。
[0028] 图8是根据一示例性实施例示出的一种电子设备的示意图。

具体实施方式

[0029] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0030] 其中,在本公开的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本公开中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本公开实施例的范围,也不表示先后顺序。
[0031] 图1是根据一示例性实施例示出的一种自动驾驶软件的版本测试方法的流程图。该方法可由电子设备执行,作为一种示例,该电子设备可以为服务器。如图1所示,该方法可以包括但不限于以下步骤。
[0032] 步骤S101:获取第一场景的第一感知数据和第一感知数据的第一真值。
[0033] 其中,在本公开的实施例中,第一感知数据为二维数据。
[0034] 举例而言,车辆处于第一场景时通过车辆环境感知传感器采集环境感知数据,并获取环境感知数据对应的第一真实值。电子设备从该车辆侧获取该车辆环境感知传感器采集的实时环境感知数据作为第一感知数据,并获取第一真实值作为代表第一感知数据对应真实情况的第一真值。
[0035] 需要说明的是,在本公开的实施例中,第一场景可以是道路场景和/或天气场景。
[0036] 作为一种示例,以第一场景是道路场景为例。第一场景可以是隧道、高速公路、弯道或者路口等道路中的任意一种。
[0037] 作为另一种示例,以第一场景是天气场景为例。第一场景可以是下雨、下雪或者阴天等天气中的任意一种。
[0038] 作为又一种示例,第一场景可以是道路场景和天气场景组合的场景。例如,第一场景可以是下雨的高速公路。
[0039] 步骤S102:获取第一场景的第二感知数据和第二感知数据的第二真值。
[0040] 其中,在本公开的实施例中,第二感知数据为携带时序信息的三维数据。
[0041] 举例而言,车辆处于第一场景时通过车辆环境感知传感器采集环境感知数据和时序信息,并获取实时环境感知数据对应的第二真实值。电子设备从该车辆侧获取该车辆环境感知传感器采集的实时环境感知数据和时序信息作为第二感知数据,并获取第二真实值作为代表第二感知数据对应真实情况的第二真值。
[0042] 步骤S103:根据第一感知数据和第一真值对待发版本的感知模型进行评测,获得感知模型的第一评测指标。
[0043] 举例而言,电子设备上部署有待发版本的感知模型,电子设备可以根据该感知模型、第一感知数据和第一真值,获得第一感知数据相对第一真值的准确率,作为感知模型的第一评测指标。
[0044] 需要说明的是,在本公开的实施例中,感知模型的具体模型类别与第一感知数据的具体类型相对应。
[0045] 作为一种示例,以第一感知数据为摄像头获取的图像数据为例,感知模型可以为图像识别模型。
[0046] 作为另一种示例,以第一感知数据为激光雷达获取的激光点云数据为例,感知模型可以为激光点云模型。
[0047] 作为又一种示例,以第一感知数据为毫米波雷达获取的点云数据为例,感知模型可以为点云模型。
[0048] 作为又一种示例,以第一感知数据为超声波雷达获取的超声波数据为例,感知模型可以为基于超声波的距离感知模型。
[0049] 步骤S104:根据第二感知数据和第二真值对自动驾驶软件进行评测,获得自动驾驶软件的第二评测指标。
[0050] 其中,在本公开的实施例中,自动驾驶软件为将感知模型进行部署脚本转化后并增加了后处理的工程软件。
[0051] 举例而言,电子设备上部署有自动驾驶软件,电子设备可以根据该自动驾驶软件、第二感知数据和第二真值,获得第二感知数据相对第二真值的准确率,作为自动驾驶软件的第二评测指标。
[0052] 步骤S105:根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。
[0053] 举例而言,电子设备响应于第一评测指标大于或等于第一评测阈值,并且第二评测指标大于第二评测阈值,确定自动驾驶软件的版本测试结果为通过;否则确定自动驾驶软件的版本测试结果为未通过。
[0054] 其中,在本公开的实施例中,第一评测阈值和第二评测阈值为用于判断自动驾驶软件的版本测试结果的预设阈值。
[0055] 通过实施本公开实施例,可以基于第一场景的第一感知数据和第一感知数据的第一真值获得感知模型的第一评测指标,并基于第一场景的第二感知数据和第二感知数据的第二真值获得自动驾驶软件的第二评测指标,从而根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。能够结合感知模型和自动驾驶软件等多方面的评测质保,对自动驾驶软件的综合性能进行全面评价,从而提升实车路测和仿真测试的效率。
[0056] 在一种实现方式中,可以根据第一感知数据和第一真值获取待发版本的感知模型的第一召回率和/或第一准确率,作为感知模型的第一评测指标。作为一种示例,请参见图2,图2是根据一示例性实施例示出的另一种自动驾驶软件的版本测试方法的流程图。该方法可由电子设备执行,作为一种示例,该电子设备可以为服务器。如图2所示,该方法可以包括但不限于以下步骤。
[0057] 步骤S201:获取第一场景的第一感知数据和第一感知数据的第一真值。
[0058] 在本公开的实施例中,步骤S201可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0059] 步骤S202:获取第一场景的第二感知数据和第二感知数据的第二真值。
[0060] 在本公开的实施例中,步骤S202可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0061] 步骤S203:将第一感知数据输入至待发版本的感知模型,获得感知模型输出的第一感知预测结果。
[0062] 举例而言,电子设备上部署有待发版本的感知模型,电子设备将第一感知数据输入至待发版本的感知模型,使该感知模型基于第一感知数据对第一场景中的真实存在目标(例如,车辆或者行人)进行感知预测,从而获得感知模型输出的第一感知预测结果。
[0063] 步骤S204:根据第一感知预测结果和第一真值,计算第一召回率和/或第一准确率。
[0064] 作为一种示例,电子设备根据第一感知预测结果获取预测得到的预测目标数量,并根据第一真值获取第一场景中真实存在的真实目标数量,计算得到预测目标数量占真实目标数量的百分比,将该百分比作为第一召回率。
[0065] 作为另一种示例,电子设备根据第一感知预测结果获取预测得到的预测目标数量,并根据第一感知预测结果和第一真值获取预测目标中为真实存在的真实预测目标数量,将真实预测目标数量占预测目标数量的百分比,将该百分比作为第一准确率。
[0066] 作为又一种示例,电子设备根据第一感知预测结果获取预测得到的预测目标数量,并根据第一真值获取第一场景中真实存在的真实目标数量,计算得到预测目标数量占真实目标数量的百分比,为第一召回率;同时根据第一感知预测结果和第一真值获取预测目标中真实存在的真实预测目标数量,将真实预测目标数量占预测目标数量的百分比,将该百分比作为第一准确率。
[0067] 步骤S205:将第一召回率和/或第一准确率,确定为感知模型的第一评测指标。
[0068] 作为一种示例,电子设备将第一召回率确定为感知模型的第一评测指标。
[0069] 作为另一种示例,电子设备将第一准确率确定为感知模型的第一评测指标。
[0070] 作为又一种示例,电子设备将第一召回率和第一准确率,确定为感知模型的第一评测指标。
[0071] 步骤S206:根据第二感知数据和第二真值对自动驾驶软件进行评测,获得自动驾驶软件的第二评测指标。
[0072] 在本公开的实施例中,步骤S206可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0073] 步骤S207:根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。
[0074] 在本公开的实施例中,步骤S207可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0075] 通过实施本公开实施例,可以根据第一感知数据和第一真值获取待发版本的感知模型的第一召回率和/或第一准确率,作为感知模型的第一评测指标,并基于第一场景的第二感知数据和第二感知数据的第二真值获得自动驾驶软件的第二评测指标,从而根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。能够结合感知模型和自动驾驶软件等多方面的评测质保,对自动驾驶软件的综合性能进行全面评价,从而提升实车路测和仿真测试的效率。
[0076] 在一种实现方式中,可以根据第二感知数据和第二真值,获取自动驾驶软件的第二召回率和/或第二准确率,并获取自动驾驶软件的测距误差指标和/或测速误差指标,作为自动驾驶软件的第二评测指标。作为一种示例,请参见图3,图3是根据一示例性实施例示出的又一种自动驾驶软件的版本测试方法的流程图。该方法可由电子设备执行,作为一种示例,该电子设备可以为服务器。如图3所示,该方法可以包括但不限于以下步骤。
[0077] 步骤S301:获取第一场景的第一感知数据和第一感知数据的第一真值。
[0078] 在本公开的实施例中,步骤S301可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0079] 步骤S302:获取第一场景的第二感知数据和第二感知数据的第二真值。
[0080] 在本公开的实施例中,步骤S302可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0081] 步骤S303:根据第一感知数据和第一真值对待发版本的感知模型进行评测,获得感知模型的第一评测指标。
[0082] 在本公开的实施例中,步骤S303可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0083] 步骤S304:将第二感知数据输入至自动驾驶软件,获得自动驾驶软件输出的第二感知预测结果。
[0084] 举例而言,电子设备上部署有自动驾驶软件,电子设备将第二感知数据输入至自动驾驶软件,使自动驾驶软件基于第二感知数据进行对第一场景中真实存在的目标及目标相关信息(例如,与自身的距离或者速度)进行感知预测,从而获得自动驾驶软件输出的第二感知预测结果。
[0085] 步骤S305:根据第二感知预测结果和第二真值,计算第二召回率和/或第二准确率。
[0086] 作为一种示例,电子设备根据第二感知预测结果获取预测得到的预测目标数量,并根据第二真值获取第一场景中真实存在的真实目标数量,计算得到预测目标数量占真实目标数量的百分比,将该百分比作为第二召回率。
[0087] 作为另一种示例,电子设备根据第二感知预测结果获取预测得到的预测目标数量,并根据第二感知预测结果和第二真值获取预测目标中真实存在的真实预测目标数量,将真实预测目标数量占预测目标数量的百分比,将该百分比作为第二准确率。
[0088] 作为又一种示例,电子设备根据第二感知预测结果获取预测得到的预测目标数量,并根据第二真值获取第一场景中真实存在的真实目标数量,计算得到预测目标数量占真实目标数量的百分比,为第二召回率;同时根据第二感知预测结果和第二真值获取预测目标中真实存在的真实预测目标数量,将真实预测目标数量占预测目标数量的百分比,将该百分比作为第二准确率。
[0089] 步骤S306:根据第二感知预测结果、第二真值和感知数据中的时序信息,获取测距误差指标和/或测速误差指标。
[0090] 作为一种示例,电子设备根据第二感知预测结果、第二真值和感知数据中的时序信息,获取同一时刻自身距离真实存在目标的距离预测值以及距离真实值,将距离预测值和距离真实值之间的差值,作为测距误差指标。
[0091] 作为另一种示例,电子设备根据第二感知预测结果、第二真值和感知数据中的时序信息,获取同一时刻真实存在目标的速度预测值以及速度真实值,将速度预测值和速度真实值之间的差值,作为测速误差指标。
[0092] 作为又一种示例,电子设备根据第二感知预测结果、第二真值和感知数据中的时序信息,获取同一时刻自身距离真实存在目标的距离预测值以及距离真实值,将距离预测值和距离真实值之间的差值,作为测距误差指标;并获取同一时刻真实存在目标的速度预测值以及速度真实值,将速度预测值和速度真实值之间的差值,作为测速误差指标。
[0093] 步骤S307:将第二召回率和/或第二准确率、测距误差指标和/或测速误差指标,确定为自动驾驶软件的第二评测指标。
[0094] 作为一种示例,电子设备将第二召回率和测距误差指标,确定为自动驾驶软件的第二评测指标。
[0095] 作为另一种示例,电子设备将第二召回率和测速误差指标,确定为自动驾驶软件的第二评测指标。
[0096] 作为又一种示例,电子设备将第二召回率、测距误差指标和测速误差指标,确定为自动驾驶软件的第二评测指标。
[0097] 作为又一种示例,电子设备将第二准确率和测距误差指标,确定为自动驾驶软件的第二评测指标。
[0098] 作为又一种示例,电子设备将第二准确率和测速误差指标,确定为自动驾驶软件的第二评测指标。
[0099] 作为又一种示例,电子设备将第二准确率、测距误差指标和测速误差指标,确定为自动驾驶软件的第二评测指标。
[0100] 作为又一种示例,电子设备将第二召回率、第二准确率和测距误差指标,确定为自动驾驶软件的第二评测指标。
[0101] 作为又一种示例,电子设备将第二召回率、第二准确率和测速误差指标,确定为自动驾驶软件的第二评测指标。
[0102] 作为又一种示例,电子设备将第二召回率、第二准确率、测距误差指标和测速误差指标,确定为自动驾驶软件的第二评测指标。
[0103] 步骤S308:根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。
[0104] 在本公开的实施例中,步骤S308可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。
[0105] 通过实施本公开实施例,可以基于第一场景的第一感知数据和第一感知数据的第一真值获得感知模型的第一评测指标,并可以根据第二感知数据和第二真值,获取自动驾驶软件的第二召回率和/或第二准确率,并获取自动驾驶软件的测距误差指标和/或测速误差指标,作为自动驾驶软件的第二评测指标,从而根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。能够结合感知模型和自动驾驶软件等多方面的评测质保,对自动驾驶软件的综合性能进行全面评价,从而提升实车路测和仿真测试的效率。
[0106] 在本公开的一些实施例中,上述自动驾驶软件的版本测试方法还可以包括:确定第一评测指标是否符合感知模型的发版标准;在第一评测指标符合发版标准的情况下,将符合发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。
[0107] 举例而言,电子设备响应于第一评测指标大于上一版本的自动驾驶软件的评测指标,确定第一评测指标是否符合感知模型的发版标准,将符合发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。
[0108] 通过实施本公开实施例,可以基于第一评测指标判断待发版本的感知模型是否符合发版标准,从而为自动驾驶软件的版本发布提供支持。
[0109] 在本公开的一些实施例中,上述自动驾驶软件的版本测试方法还可以包括:根据版本测试结果,确定性能不通过的场景以及指标项;根据性能不通过的场景以及指标项,对自动驾驶软件进行优化。
[0110] 作为一种示例,电子设备根据版本测试结果,确定性能不通过的第一场景为下雨天的十字路口,性能不通过的指标项为测距误差指标,使自动驾驶软件基于上述场景以及指标项进行算法优化。
[0111] 通过实施本公开实施例,可以根据版本测试结果,确定性能不通过的场景以及指标项,从而使自动驾驶软件基于上述场景及指标项进行针对性的算法优化,以提升算法性能。
[0112] 请参见图4,图4是根据一示例性实施例示出的一种自动驾驶软件的版本测试方案的示意图。如图4所示,该方案中首先基于多种不同场景的测试图像数据库以及真值构建2D(two‑dimensional,二维)场景库;并基于多种不同场景下包含时间序列的记录数据库以及真值构建记录(record)场景库;之后将2D场景库输入需要评测的各感知模型,获得不同任务(即基于不同传感器(例如,摄像头、激光雷达、毫米波雷达和超声波雷达等传感器)获取的数据进行感知)和不同场景下的分任务分场景指标;并将当前进行评测的自动驾驶软件进行部署脚本转化为加了后处理的工程软件;将record场景库输入至上述工程软件,获得分任务分场景精确率指标和分任务分场景测距测速指标;从而基于上述分任务分场景指标、分任务分场景精确率指标和分任务分场景测距测速指标获得自动驾驶软件的版本测试结果。
[0113] 请参见图5,图5是根据一示例性实施例示出的一种自动驾驶软件的版本测试装置框图。如图5所示,该装置500包括:第一获取模块501,用于获取第一场景的第一感知数据和第一感知数据的第一真值;其中,第一感知数据为二维数据;第二获取模块502,用于获取第一场景的第二感知数据和第二感知数据的第二真值;其中,第二感知数据为携带时序信息的三维数据;第一评测模块503,用于根据第一感知数据和第一真值对待发版本的感知模型进行评测,获得感知模型的第一评测指标;第二评测模块504,用于根据第二感知数据和第二真值对自动驾驶软件进行评测,获得自动驾驶软件的第二评测指标;其中,自动驾驶软件为将感知模型进行部署脚本转化后并增加了后处理的工程软件;第三获取模块505,用于根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。
[0114] 在一种实现方式中,第一评测模块503具体用于:将第一感知数据输入至待发版本的感知模型,获得感知模型输出的第一感知预测结果;根据第一感知预测结果和第一真值,计算第一召回率和/或第一准确率;将第一召回率和/或第一准确率,确定为感知模型的第一评测指标。
[0115] 在一种实现方式中,第二评测模块504具体用于:将第二感知数据输入至自动驾驶软件,获得自动驾驶软件输出的第二感知预测结果;根据第二感知预测结果和第二真值,计算第二召回率和/或第二准确率;根据第二感知预测结果、第二真值和感知数据中的时序信息,获取测距误差指标和/或测速误差指标;将第二召回率和/或第二准确率、测距误差指标和/或测速误差指标,确定为自动驾驶软件的第二评测指标。
[0116] 在一种实现方式中,上述装置还包括第一确定模块和处理模块。作为一种示例,请参见图6,图6是根据一示例性实施例示出的另一种自动驾驶软件的版本测试装置框图。如图6所示,该装置600还包括:第一确定模块606,用于确定第一评测指标是否符合感知模型的发版标准;处理模块607,用于在第一评测指标符合发版标准的情况下,将符合发版标准的感知模型进行部署脚本转化后并增加了后处理的工程软件。其中,图6中的模块601 605~与图5中的模块501 505具有相同的结构和功能。
~
[0117] 在一种实现方式中,上述装置还包括第二确定模块和优化模块。作为一种示例,请参见图7,图7是根据一示例性实施例示出的又一种自动驾驶软件的版本测试装置框图。如图7所示,该装置700还包括:第二确定模块706用于根据版本测试结果,确定性能不通过的场景以及指标项;优化模块707,用于根据性能不通过的场景以及指标项,对自动驾驶软件进行优化。其中,图7中的模块701 705与图5中的模块501 505具有相同的结构和功能。~ ~
[0118] 通过本公开实施例的装置,可以基于第一场景的第一感知数据和第一感知数据的第一真值获得感知模型的第一评测指标,并基于第一场景的第二感知数据和第二感知数据的第二真值获得自动驾驶软件的第二评测指标,从而根据第一评测指标和第二评测指标,获取自动驾驶软件的版本测试结果。能够结合感知模型和自动驾驶软件等多方面的评测质保,对自动驾驶软件的综合性能进行全面评价,从而提升实车路测和仿真测试的效率。
[0119] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0120] 请参见图8,图8是根据一示例性实施例示出的一种电子设备的示意图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理、可穿戴式设备等。
[0121] 参照图8,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/ O)接口812,传感器组件814,以及通信组件816。
[0122] 处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0123] 存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0124] 电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
[0125] 多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的触控显示屏。在一些实施例中,触控显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0126] 音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0127] I/ O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0128] 传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0129] 通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0130] 在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述任一实施例所述的方法。
[0131] 本公开还提供一种可读存储介质,其上存储有指令,该指令被计算机执行时实现上述任一方法实施例的功能。
[0132] 本公开还提供一种计算机程序产品,该计算机程序产品被计算机执行时实现上述任一方法实施例的功能。
[0133] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行所述计算机程序时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digitalvideo disc,DVD))、或者半导体介质(例如,固态硬盘(solidstate disk,SSD))等。
[0134] 本领域普通技术人员可以理解:本公开中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本公开实施例的范围,也表示先后顺序。
[0135] 本公开中的至少一个还可以描述为一个或多个,多个可以是两个、三个、四个或者更多个,本公开不做限制。在本公开实施例中,对于一种技术特征,通过“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”等区分该种技术特征中的技术特征,该“第一”、“第二”、“第三”、“A”、“B”、“C”和“D”描述的技术特征间无先后顺序或者大小顺序。
[0136] 本公开中的预定义可以理解为定义、预先定义、存储、预存储、预协商、预配置、固化、或预烧制。
[0137] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0138] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0139] 以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。