CN116991614A - 一种自动驾驶系统的离线评测方法、装置和电子设备 - Google Patents

一种自动驾驶系统的离线评测方法、装置和电子设备 Download PDF

Info

Publication number
CN116991614A
CN116991614A CN202310820389.3A CN202310820389A CN116991614A CN 116991614 A CN116991614 A CN 116991614A CN 202310820389 A CN202310820389 A CN 202310820389A CN 116991614 A CN116991614 A CN 116991614A
Authority
CN
China
Prior art keywords
evaluated
module
information
evaluation
offline
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310820389.3A
Other languages
English (en)
Inventor
熊磊
栗琦
许倜
陈永波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoke Chushi Chongqing Software Co ltd
Original Assignee
Guoke Chushi Chongqing Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guoke Chushi Chongqing Software Co ltd filed Critical Guoke Chushi Chongqing Software Co ltd
Priority to CN202310820389.3A priority Critical patent/CN116991614A/zh
Publication of CN116991614A publication Critical patent/CN116991614A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开涉及一种自动驾驶系统的离线评测方法、装置和电子设备。其中,自动驾驶系统的离线评测方法包括:获取针对待测试自动驾驶系统的评测流水线信息;其中,评测流水线信息至少包括多个待评测模块的信息以及多个待评测模块之间的依赖关系信息;根据评测流水线信息,生成目标可执行文件;其中,目标可执行文件是与待测试自动驾驶系统的离线评测程序相关的;运行目标可执行文件,得到针对待测试自动驾驶系统的多个待评测模块的测试结果。

Description

一种自动驾驶系统的离线评测方法、装置和电子设备
技术领域
本公开涉及自动驾驶技术领域,尤其涉及一种自动驾驶系统的离线评测方法、装置和电子设备。
背景技术
相关技术中,为了提升自动驾驶系统的性能,通常采用图5所示的数据闭环来驱动自动驾驶系统的算法迭代,而离线评测(包括离线功能评测和性能评测)是数据闭环中的重要一环。自动驾驶系统的离线评测,包括质量控制和评测集合两大部分。质量控制用于确保自动驾驶系统的各个算法模块的迭代流程经过质量把关,性能可以持续迭代提升;评测集合用于确保评测对象和评测指标设计可以足够反应实车测试的效果。
自动驾驶系统的评测集合内容丰富多变,因具体的自动驾驶应用场景而异,且自动驾驶系统的离线评测的流水线的某些环节,还存在多个前置环节或者多个后置环节。由于自动驾驶系统的评测集合的复杂性,相关技术中,尚缺乏可以针对某一个特定的自动驾驶场景或者边缘场景,高效、全面的对自动驾驶系统进行离线评测的方案。
因此,如何针对某一个特定的自动驾驶场景或者边缘场景,高效、全面的对自动驾驶系统进行离线评测,是亟待解决的技术问题。
发明内容
为克服相关技术中存在的问题,本公开提供一种自动驾驶系统的离线评测方法、装置和电子设备。
根据本公开实施例的第一方面,提供一种自动驾驶系统的离线评测方法,包括:获取针对待测试自动驾驶系统的评测流水线信息;其中,所述评测流水线信息至少包括多个待评测模块的信息以及所述多个待评测模块之间的依赖关系信息;根据所述评测流水线信息,生成目标可执行文件;其中,所述目标可执行文件是与所述待测试自动驾驶系统的离线评测程序相关的;运行所述目标可执行文件,得到针对所述待测试自动驾驶系统的多个待评测模块的测试结果。
在一些实施例中,所述获取针对待测试自动驾驶系统的评测流水线信息,包括:在可视化界面上显示多个可视化组件;其中,每一个所述可视化组件代表一个待评测模块;响应于对所述可视化组件的选择操作,接收与所述可视化组件对应的待评测模块的信息。
在一些实施例中,所述获取针对待测试自动驾驶系统的评测流水线信息,还包括:响应于对两个可视化组件的关联操作,接收与所述两个可视化组件对应的两个待评测模块之间的依赖关系信息。
在一些实施例中,所述评测流水线信息还包括待评测模块的执行等待时间信息;所述获取针对待测试自动驾驶系统的评测流水线信息,还包括:根据所述关联操作携带的标注信息,接收所述两个待评测模块中,被依赖的待评测模块的执行等待时间。
在一些实施例中,所述根据所述评测流水线信息,生成目标可执行文件,包括:根据所述评测流水线信息,生成数据模型;根据所述数据模型,生成所述目标可执行文件。
在一些实施例中,所述根据所述数据模型,生成目标可执行文件,包括:根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序;对所述待测试自动驾驶系统的离线评测程序进行编译,生成所述目标可执行文件。
在一些实施例中,所述离线评测程序包括每一个待评测模块对应的执行函数;其中,所述执行函数包括进程启动子函数和睡眠子函数,所述进程启动子函数用于启动执行所述待评测模块的进程,所述睡眠子函数用于延时,以等待所述待评测模块生成输出数据或参数;所述根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序,包括:针对所述数据模型中每一个待评测模块的信息,执行如下操作:根据所述待评测模块的信息,利用命令行的方式,生成所述进程启动子函数;根据所述待评测模块的执行等待时间信息,生成所述睡眠子函数。
在一些实施例中,所述离线评测程序还包括调度代码;其中,所述调度代码用于按照多个待评测模块之间的依赖关系,调用每一个所述待评测模块对应的执行函数;所述根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序,包括:针对所述数据模型中的每一个待评测模块,执行如下操作:根据所述待评测模块的信息和其依赖的待评测模块的信息,生成所述调度代码。
根据本公开实施例的第二方面,提供一种自动驾驶系统的离线评测装置,包括获取模块,用于获取针对待测试自动驾驶系统的评测流水线信息;其中,所述评测流水线信息至少包括多个待评测模块的信息以及所述多个待评测模块之间的依赖关系信息;生成模块,用于根据所述评测流水线信息,生成目标可执行文件;其中,所述目标可执行文件是与所述待测试自动驾驶系统的离线评测程序相关的;测试模块,用于运行所述目标可执行文件,得到针对所述待测试自动驾驶系统的多个待评测模块的测试结果。
根据本公开实施例的第四方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的自动驾驶系统的离线评测方法。
根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的自动驾驶系统的离线评测方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开提供的实施例中,获取针对待测试自动驾驶系统的评测流水线信息;根据评测流水线信息,生成目标可执行文件;运行目标可执行文件,得到针对待测试自动驾驶系统的多个待评测模块的测试结果。从而可以针对某一个特定的自动驾驶场景或者边缘场景,高效、全面的对自动驾驶系统进行离线评测。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种自动驾驶系统的离线评测方法的流程图。
图2是根据一示例性实施例示出的获取针对待测试自动驾驶系统的评测流水线信息的方法的流程图。
图3是根据一示例性实施例示出的根据评测流水线信息,生成目标可执行文件的方法的流程图。
图4是根据一示例性实施例示出的根据数据模型生成离线评测程序的方法的流程图。
图5是根据一示例性实施例示出的自动驾驶系统的数据闭环流程的示意图。
图6是根据一示例性实施例示出的包含多个可视化组件的可视化界面的示意图。
图7是根据一示例性实施例示出的搭建好的评测流水线的示意图。
图8是根据一示例性实施例示出的根据评测流水线信息,生成数据模型的示意图。
图9是根据一示例性实施例示出的根据待评测模块的信息,生成执行函数的示意图。
图10是根据一示例性实施例示出的根据数据模型中待评测模块的Name字段,定义调度代码中执行待评测模块的目标进程的类和对象的示意图。
图11是根据一示例性实施例示出的一种自动驾驶系统的离线评测装置的框图。
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将结合附图详细地对示例性实施例进行描述说明。
应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。
应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。
应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。
应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。
应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
示例性方法
图1是根据一示例性实施例示出的一种自动驾驶系统的离线评测方法的流程图。如图1所示,自动驾驶系统的离线评测方法应用于自动驾驶系统的离线评测任务中,包括以下步骤。
在步骤S110中,获取针对待测试自动驾驶系统的评测流水线信息。
评测流水线信息至少包括多个待评测模块的信息以及多个待评测模块之间的依赖关系信息。
在具体实施过程中,待评测模块是待测试自动驾驶系统中需要被评测的算法模块,例如,待评测模块可以是雷达检测模块、相机检测模块、雷达分割模块、相机分割模块,雷达跟踪模块以及相机跟踪模块等。
待评测模块的信息至少包括待评测模块的标识信息,例如待评测模块的名称等,根据待评测模块的信息,可以获知针对待测试自动驾驶系统的离线评测程序中,被测试的算法模块。
一个待评测模块需要等待另外一个待评测模块的处理结果才可以正常执行,则两个待评测模块之间具有依赖关系。例如,雷达分割模块需要将雷达检测模块输出的数据流,作为输入数据流来处理,因此,雷达分割模块和雷达检测模块之间具有依赖关系。
在具体实施过程中,可以通过多种方式获取针对待测试自动驾驶系统的评测流水线信息,例如,可以通过配置文件的方式。关于获取针对待测试自动驾驶系统的评测流水线信息的具体实施例,参见图2中的相关内容,这里不再赘述。
在步骤S120中,根据评测流水线信息,生成目标可执行文件;其中,目标可执行文件是与待测试自动驾驶系统的离线评测程序相关的。
可执行文件为计算机的操作系统能够解释并执行的二进制代码文件。目标可执行文件是基于待测试自动驾驶系统的离线评测程序生成的。自动驾驶系统的离线评测通常在仿真平台进行,可以在仿真平台执行该目标可执行文件,对自动驾驶系统进行测试。
在具体实施过程中,可以通过多种方式根据评测流水线信息,生成目标可执行文件。仅作为示例,可以根据评测流水线信息,生成离线评测程序,对离线评测程序进行编译得到目标可执行。
关于根据评测流水线信息,生成目标可执行文件的具体实施例,参见图3中的相关内容,这里不再赘述。
在步骤S130中,运行目标可执行文件,得到针对待测试自动驾驶系统的多个待评测模块的测试结果。
测试结果包括功能评测的结果,用于确定构建的评测流水线的功能是否正常,例如,待测试自动驾驶系统是否可以识别距离其100米处的行人。
测试结果还包括功能评测的结果,针对特定指标进行统计,最终生成针对统计指标的报告。功能评测的结果可以包括但不限于:雷达和相机传感器的单帧检测和分割精度和耗时,雷达和相机传感器连续帧的检测精度,跟踪精度和耗时;雷达和相机传感器融合多模数据的检测精度,跟踪精度和稳定性等。
在具体实施过程中,可以在仿真平台运行目标可执行文件,由于目标可执行文件是根据评测流水线信息生成的,因此通过执行目标可执行文件,可以根据评测流水线信息,全面、高效的完成对待测试自动驾驶系统的测试。
图2是根据一示例性实施例示出的获取针对待测试自动驾驶系统的评测流水线信息的方法的流程图。
在步骤S210中,在可视化界面上显示多个可视化组件;其中,每一个可视化组件代表一个待评测模块。
可视化界面可以包括但不限于:WEB浏览器页面、用户终端安装的程序界面等。
在一些实施例中,可视化组件可以为代表待评测模块的逻辑框图。
在具体实施过程中,可以在每一个逻辑框图中,标注其代表的待评测模块的名称,也可以由用户(例如,自动驾驶系统工程师)逻辑框图中输入待评测模块的名称,不受本说明书的表述所限。
在步骤S220中,响应于对可视化组件的选择操作,接收与可视化组件对应的待评测模块的信息。
在具体实施过程中,当用户对任一可视化组件进行选择操作时,认为用户选择了该可视化组件对应的待评测模块作为离线评测流水线中的一环。用户可以通过多种方式对可视化组件进行选择操作,不受本说明书的表述所限。例如,用户可以通过对任一可视化组件进行拖拽操作来选择该可视化组件。又例如,用户可以通过对任一可视化组件进行点击操作来选择该可视化组件。
在步骤S230中,响应于对两个可视化组件的关联操作,接收与两个可视化组件对应的两个待评测模块之间的依赖关系信息。
在具体实施过程中,用户可以通过多种方式对两个可视化组件进行关联。仅作为示例,可以使用连接线对两个可视化组件进行连接操作,连接线可以为带箭头的直线或者曲线,通过连接线箭头的指向,可获知具有依赖关系的两个待评测模块中的依赖待评测模块(例如,雷达分割模块)和被依赖待评测模块(例如,雷达检测模块)。
在步骤S240中,根据关联操作携带的标注信息,接收两个待评测模块中,被依赖的待评测模块的执行等待时间。
在一些实施例中,评测流水线信息还包括待评测模块的执行等待时间信息。执行等待时间信息为两个具有依赖关系的待评测模块之间的启动间隔时间。
仅作为示例,对于两个具有依赖关系的待评测模块A和待评测模块B,如果待评测模块B需要待评测模块A产生的输出数据流或者其他参数,才可以正常执行,则需要等待评测模块A在执行等待时间内准备好数据或参数之后,才能启动待评测模块B。
在一些实施例中,可以根据步骤S230中的关联操作携带的标注信息,得到两个待评测模块中,被依赖的待评测模块的执行等待时间。
仅作为示例,如图6所示,通过WEB浏览器页面显示多个代表待评测模块的逻辑框图,逻辑框图显示待评测模块的名称(例如,待评测模块1、待评测模块2等);用户根据特定的边缘场景,通过拖拽方式搭建如图7所示的评测流水线。
如图7所示,针对边缘场景1,需要先执行待评测模块1,然后执行待评测模块2和待评测模块4,待评测模块3和待评测模块5,其中待评测模块2,待评测模块4和待评测模块3,待评测模块5可以并行执行,最后执行待评测模块6。
本公开提供的实施中,通过在可视化界面上显示多个代表待评测模块的可视化组件,根据用户对可视化组件的操作,得到针对待测试驾驶系统的评测流水线信息,实现了可以快速构建流水线的框架的方法,使得用户可以方便、灵活地针对待测试驾驶系统的评测流水线的各个环节进行配置,有效降低了针对自动驾驶场景构建离线评测流水线的技术门槛。
图3是根据一示例性实施例示出的根据评测流水线信息,生成目标可执行文件的方法的流程图。
在步骤S310中,根据评测流水线信息,生成数据模型。
在具体实施过程中,可以通过多种方式,根据评测流水线信息,生成数据模型。例如,可以借助于前端技术,提取利用WEB浏览器构建的评测流水线中所有信息,建立数据模型(例如JSon数据模型)。下面以图7中的待评测模块2进行举例说明。Web浏览器中待评测模块2相关的元素,对应于Json数据模型中键值对的内容如图8所示,分别为:“Name”:“process_2”;“execute_command”:“./process_2param_1param_2”;“duration”:5;“dependencies”:“process_1”。其中:
“Name”字段表示待评测模块的名称,也可以为执行待评测模块的进程的名称;execute_command表示执行命令,进程2启动需要两个参数param_1,param_2,所以进程2的执行命令为:./process_2param_1param_2;duration表示执行等待时间信息,进程2启动5s后,依赖其的进程才能启动;dependencies表示依赖进程,即进程1启动10s后,进程2才可以启动。
在步骤S320中,根据数据模型,生成目标可执行文件。
在一些实施例中,可以根据数据模型,得到待测试自动驾驶系统的离线评测程序;对待测试自动驾驶系统的离线评测程序进行编译,生成目标可执行文件。
在具体实施过程中,离线评测程序包括每一个待评测模块对应的执行函数;其中,执行函数包括进程启动子函数和睡眠子函数,进程启动子函数用于启动执行待评测模块的进程,睡眠子函数用于延时,以等待待评测模块生成输出数据或参数。
在具体实施过程中,离线评测程序还包括调度代码;其中,调度代码用于按照多个待评测模块之间的依赖关系,调用每一个待评测模块对应的执行函数。
关于根据数据模型生成离线评测程序的具体实施例,参见图4中的相关内容,这里不再赘述。
在具体实施过程中,可以使用编译构建系统,对离线评测程序中涉及执行函数和调度代码的C++源码进行编译构建,生成动态库和二进制的目标可执行文件。
本公开提供的实施例中,根据评测流水线信息,生成数据模型;根据数据模型,生成目标可执行文件。以数据模型为中间媒介,得到包含评测流水线信息的目标可执行文件,进而可以根据目标可执行文件,自动、高效的完成待测试自动驾驶系统的离线评测。
图4是根据一示例性实施例示出的根据数据模型生成离线评测程序的方法的流程图。
在步骤S410中,根据待评测模块的信息,利用命令行的方式,生成执行函数中的进程启动子函数。
在具体实施过程中,可以将待评测模块的名称作为执行该待评测模块的进程的名称,利用命令行的方式,组装得到进程启动子函数中的代码。
仅作为示例,以图7中的待评测模块2为例说明生成进程启动子函数的过程。
在具体实施过程中,可以利用执行脚本或其他软件,解析数据模型中待评测模块2的execute_command字段,如图9所示,将其拷贝到源码中,生成execute()函数中system接口函数的实参。关于execute_command字段的详细描述参见步骤S310中的相关内容,这里不再赘述。
在步骤S420中,根据待评测模块的执行等待时间信息,生成执行函数中的睡眠子函数。
仅作为示例,以图7中的待评测模块2为例说明生成进程启动子函数的过程。
在具体实施过程中,可以利用执行脚本或其他软件,解析数据模型中待评测模块2的duration字段,如图9所示,将其拷贝到源码中,生成执行函数execute()中的sleep接口函数的实参。关于duration字段字段的详细描述参见步骤S310中的相关内容,这里不再赘述。
步骤S410和步骤S420中示例的C++源代码如下所示:
在步骤S430中,根据待评测模块的信息和其依赖的待评测模块的信息,生成调度代码。
在具体实施过程中,可以利用执行脚本或其他软件,解析数据模型中每一个待评测模块的Name字段,根据该字段定义调度代码中执行待评测模块的目标进程的类和对象。
在具体实施过程中,可以利用执行脚本或其他软件,解析数据模型中每一个待评测模块的dependencies字段,如图10所示,将该字段和待评测模块的Name字段,作为目标进程的对象的第一参数和第二参数,在调度代码中对目标进程的对象进行初始化。
在具体实施过程中,在完成上述进程的对象初始化操作之后,可以根据以下逻辑,实现调度函数execute_all,调度函数execute_all用于按照多个待评测模块之间的依赖关系启动执行待评测模块的进程。
利用已定义的每一个进程的对象的第一参数和第二参数,按照多个待评测模块之间的依赖关系,对每一个待评测模块对应的执行函数进行调用。
在一些实施例中,调度代码可以是离线评测程序的主函数main(),使用C++编写的源代码如下:
其中,add_process()函数的C++实现如下所示:
void add_process(process*mod){
processs_[mod->name()]=mod;
}
其中,execute_all()函数的C++实现如下所示:
上述execute_all()代码的解析如下:
1、先调用execute(processs_[dep]),启动当前进程(例如,执行待评测模块2的进程2)的依赖进程,(例如,执行待评测模块1的进程1),dep为数据模型中,待评测模块的dependencies字段。
2、然后调用mod->execute(),启动当前进程。
3、在函数execute()中,调用system(参见步骤S410中的相关内容),启动执行待评测模块的进程,然后调用sleep(参见步骤S410中的相关内容)函数进行延时。
本公开提供的实施例中,根据待评测模块的信息,利用命令行的方式,生成进程启动子函数;根据待评测模块的执行等待时间信息,生成睡眠子函数;根据待评测模块的信息和其依赖的待评测模块的信息,生成调度代码。从而根据评测流水线信息,生成了离线评测程序。
示例性装置
图11是根据一示例性实施例示出的一种自动驾驶系统的离线评测装置框图。参照图11,该装置1100包括获取模块1110,生成模块1120和测试模块1130。
获取模块1110,用于获取针对待测试自动驾驶系统的评测流水线信息;其中,所述评测流水线信息至少包括多个待评测模块的信息以及所述多个待评测模块之间的依赖关系信息。
生成模块1120,用于根据所述评测流水线信息,生成目标可执行文件;其中,所述目标可执行文件是与所述待测试自动驾驶系统的离线评测程序相关的。
测试模块1130,用于运行所述目标可执行文件,得到针对所述待测试自动驾驶系统的多个待评测模块的测试结果在一些实施例中,所述获取针对待测试自动驾驶系统的评测流水线信息,包括:在可视化界面上显示多个可视化组件;其中,每一个所述可视化组件代表一个待评测模块;响应于对所述可视化组件的选择操作,接收与所述可视化组件对应的待评测模块的信息。
在一些实施例中,所述获取针对待测试自动驾驶系统的评测流水线信息,还包括:响应于对两个可视化组件的关联操作,接收与所述两个可视化组件对应的两个待评测模块之间的依赖关系信息。
在一些实施例中,所述评测流水线信息还包括待评测模块的执行等待时间信息;所述获取针对待测试自动驾驶系统的评测流水线信息,还包括:根据所述关联操作携带的标注信息,接收所述两个待评测模块中,被依赖的待评测模块的执行等待时间。
在一些实施例中,所述根据所述评测流水线信息,生成目标可执行文件,包括:根据所述评测流水线信息,生成数据模型;根据所述数据模型,生成所述目标可执行文件。
在一些实施例中,所述根据所述数据模型,生成目标可执行文件,包括:根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序;对所述待测试自动驾驶系统的离线评测程序进行编译,生成所述目标可执行文件。
在一些实施例中,所述离线评测程序包括每一个待评测模块对应的执行函数;其中,所述执行函数包括进程启动子函数和睡眠子函数,所述进程启动子函数用于启动执行所述待评测模块的进程,所述睡眠子函数用于延时,以等待所述待评测模块生成输出数据或参数;所述根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序,包括:针对所述数据模型中每一个待评测模块的信息,执行如下操作:根据所述待评测模块的信息,利用命令行的方式,生成所述进程启动子函数;根据所述待评测模块的执行等待时间信息,生成所述睡眠子函数。
在一些实施例中,所述离线评测程序还包括调度代码;其中,所述调度代码用于按照多个待评测模块之间的依赖关系,调用每一个所述待评测模块对应的执行函数;所述根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序,包括:针对所述数据模型中的每一个待评测模块,执行如下操作:根据所述待评测模块的信息和其依赖的待评测模块的信息,生成所述调度代码。
上述自动驾驶系统的离线评测装置的各个实施例的具体处理及其带来的技术效果可分别参考对应方法实施例中的相关说明,在此不再赘述。
示例性电子设备
图12是根据一示例性实施例示出的一种电子设备1200的框图。该电子设备1200可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。
参照图12,电子设备1200,可包括至少一个处理器1210和存储器1220。处理器1210可以执行存储在存储器1220中的指令。处理器1210通过数据总线与存储器1220通信连接。除存储器1220外,处理器1210还可通过数据总线与输入设备1230、输出设备1240、通信设备1250通信连接。
处理器1210可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(Field ProgrammableGate Array,FPGA)、片上系统(System on Chip,SOC)、专用集成芯片(ApplicationSpecific Integrated Circuit,ASIC)或它们的组合。
存储器1220可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本公开实施例中,存储器1220中存储有可执行指令,处理器1210可以从所述存储器1220中读取所述可执行指令,并执行所述指令以实现上述示例性实施例中任一所述的自动驾驶系统的离线评测方法的全部或部分步骤。
示例性计算机可读存储介质
除了上述方法和装置以外,本公开的示例性实施例还可以是计算机程序产品或存储有该计算机程序产品的计算机可读存储介质。该计算机产品中包括计算机程序指令,该计算机程序指令可被处理器执行,以实现上述示例性实施例中任一方法中描述的的全部或部分步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言以及脚本语言(例如Python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线电连接的静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种自动驾驶系统的离线评测方法,其特征在于,包括:
获取针对待测试自动驾驶系统的评测流水线信息;其中,所述评测流水线信息至少包括多个待评测模块的信息以及所述多个待评测模块之间的依赖关系信息;
根据所述评测流水线信息,生成目标可执行文件;其中,所述目标可执行文件是与所述待测试自动驾驶系统的离线评测程序相关的;
运行所述目标可执行文件,得到针对所述待测试自动驾驶系统的多个待评测模块的测试结果。
2.根据权利要求1所述的自动驾驶系统的离线评测方法,其特征在于,所述获取针对待测试自动驾驶系统的评测流水线信息,包括:
在可视化界面上显示多个可视化组件;其中,每一个所述可视化组件代表一个待评测模块;
响应于对所述可视化组件的选择操作,接收与所述可视化组件对应的待评测模块的信息。
3.根据权利要求2所述的自动驾驶系统的离线评测方法,其特征在于,所述获取针对待测试自动驾驶系统的评测流水线信息,还包括:
响应于对两个可视化组件的关联操作,接收与所述两个可视化组件对应的两个待评测模块之间的依赖关系信息。
4.根据权利要求1~3中任一项所述的自动驾驶系统的离线评测方法,其特征在于,所述根据所述评测流水线信息,生成目标可执行文件,包括:
根据所述评测流水线信息,生成数据模型;
根据所述数据模型,生成所述目标可执行文件。
5.根据权利要求4所述的自动驾驶系统的离线评测方法,其特征在于,所述根据所述数据模型,生成目标可执行文件,包括:
根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序;
对所述待测试自动驾驶系统的离线评测程序进行编译,生成所述目标可执行文件。
6.根据权利要求5所述的自动驾驶系统的离线评测方法,其特征在于,所述离线评测程序包括每一个待评测模块对应的执行函数;其中,所述执行函数包括进程启动子函数和睡眠子函数,所述进程启动子函数用于启动执行所述待评测模块的进程,所述睡眠子函数用于延时,以等待所述待评测模块生成输出数据或参数;
所述根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序,包括:
针对所述数据模型中每一个待评测模块的信息,执行如下操作:
根据所述待评测模块的信息,利用命令行的方式,生成所述进程启动子函数;
根据所述待评测模块的执行等待时间信息,生成所述睡眠子函数。
7.根据权利要求6所述的自动驾驶系统的离线评测方法,其特征在于,所述离线评测程序还包括调度代码;其中,所述调度代码用于按照所述多个待评测模块之间的依赖关系,调用每一个所述待评测模块对应的执行函数;
所述根据所述数据模型,得到所述待测试自动驾驶系统的离线评测程序,包括:
针对所述数据模型中的每一个待评测模块,执行如下操作:
根据所述待评测模块的信息和其依赖的待评测模块的信息,生成所述调度代码。
8.一种自动驾驶系统的离线评测装置,其特征在于,包括:
获取模块,用于获取针对待测试自动驾驶系统的评测流水线信息;其中,所述评测流水线信息至少包括多个待评测模块的信息以及所述多个待评测模块之间的依赖关系信息;
生成模块,用于根据所述评测流水线信息,生成目标可执行文件;其中,所述目标可执行文件是与所述待测试自动驾驶系统的离线评测程序相关的;
测试模块,用于运行所述目标可执行文件,得到针对所述待测试自动驾驶系统的多个待评测模块的测试结果。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1-7中任一所述的自动驾驶系统的离线评测方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1-7中任一所述的自动驾驶系统的离线评测方法的步骤。
CN202310820389.3A 2023-07-05 2023-07-05 一种自动驾驶系统的离线评测方法、装置和电子设备 Pending CN116991614A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310820389.3A CN116991614A (zh) 2023-07-05 2023-07-05 一种自动驾驶系统的离线评测方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310820389.3A CN116991614A (zh) 2023-07-05 2023-07-05 一种自动驾驶系统的离线评测方法、装置和电子设备

Publications (1)

Publication Number Publication Date
CN116991614A true CN116991614A (zh) 2023-11-03

Family

ID=88522272

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310820389.3A Pending CN116991614A (zh) 2023-07-05 2023-07-05 一种自动驾驶系统的离线评测方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN116991614A (zh)

Similar Documents

Publication Publication Date Title
US10176079B2 (en) Identification of elements of currently-executing component script
KR102170620B1 (ko) 지역적 특징을 가지는 분류기 학습을 위한 학습 데이터 생성 방법 및 그 시스템
CN112270149A (zh) 验证平台自动化集成方法、系统及电子设备和存储介质
CN112749081A (zh) 用户界面测试方法及相关装置
CN110955590A (zh) 界面检测方法、图像处理方法、装置、电子设备及存储介质
CN112783568A (zh) 应用程序的初始化方法、装置、设备和存储介质
CN113505895B (zh) 一种机器学习引擎服务系统及模型训练方法和配置方法
CN112148594A (zh) 一种脚本测试方法、装置、电子设备及存储介质
CN115658523A (zh) 一种人机交互界面的自动控制及测试方法和计算机设备
CN117370767B (zh) 基于大数据的用户信息评估方法及系统
CN112633341A (zh) 一种界面测试方法、装置、计算机设备和存储介质
CN112506503A (zh) 一种编程方法、装置、终端设备及存储介质
CN116991614A (zh) 一种自动驾驶系统的离线评测方法、装置和电子设备
CN111581101A (zh) 软件模型的测试方法、装置、设备和介质
CN115269285A (zh) 测试方法及装置、设备、计算机可读存储介质
CN113867608A (zh) 一种业务处理模型的组建方法与装置
CN112286785B (zh) 用户界面的异常检测方法及装置
CN111949510B (zh) 测试处理方法、装置、电子设备及可读存储介质
CN114020605A (zh) 自动化测试用例设计方法、系统及计算机可读存储介质
CN114064010A (zh) 前端代码生成方法、装置、系统及存储介质
CN115099371B (zh) 一种lstm异常检测方法、装置、设备及存储介质
CN117389664B (zh) 唯一性控件区域划分方法、装置、电子设备和存储介质
CN114661980B (zh) 一种网页数据推送方法、系统及云平台
CN117407048B (zh) 一种插件化数据处理软件的流程配置方法及系统
CN113485688B (zh) 代码补全方法、装置、存储介质与电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination