CN112565468B - 一种驾驶场景识别方法及其系统 - Google Patents
一种驾驶场景识别方法及其系统 Download PDFInfo
- Publication number
- CN112565468B CN112565468B CN202110196810.9A CN202110196810A CN112565468B CN 112565468 B CN112565468 B CN 112565468B CN 202110196810 A CN202110196810 A CN 202110196810A CN 112565468 B CN112565468 B CN 112565468B
- Authority
- CN
- China
- Prior art keywords
- driving
- scene
- sub
- identification
- recognition
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/95—Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096708—Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
- G08G1/096725—Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Atmospheric Sciences (AREA)
- Software Systems (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种驾驶场景识别方法及其系统,在驾驶场景识别过程中,占用较少的存储资源和计算资源,从而减少资源的浪费。本申请的方法包括:获取第一识别指令,第一识别指令用于指示子驾驶场景;获取第一识别指令所指示的子驾驶场景对应的场景识别文件,场景识别文件用于定义子驾驶场景的识别规则;根据场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果。
Description
技术领域
本申请涉及自动驾驶技术领域,尤其涉及一种驾驶场景识别方法及其系统。
背景技术
随着自动驾驶等级的提高,车辆系统复杂性进一步增加,多变的天气、复杂的交通环境、多样的驾驶任务和动态的行驶状态等都对自动驾驶测试提出了新的挑战。面向传统汽车的测试工具与测试方法已不能满足自动驾驶汽车测试的需要。基于场景的虚拟测试技术场景配置灵活、测试效率高、测试重复性强、测试过程安全、测试成本低,可实现自动测试和加速测试,节省了大量人力物力。因此,基于场景的虚拟测试已成为自动驾驶汽车测试的重要环节。
自动驾驶测试场景的数据来源主要包括真实数据、模拟数据或专家经验等。真实数据来源主要包括自然驾驶数据、事故数据、路侧单元监控数据等。模拟数据来源主要包括驾驶模拟器数据和仿真数据。专家经验数据是指通过以往测试的经验知识总结得到的场景要素信息,标准法规测试场景是典型的专家经验场景数据来源。
在自动驾驶海量数据需求的背景下,通过真实数据还原得到的测试场景不仅效率较高,而且在路况和车辆运行轨迹等方面的数据真实性较高,能得到更贴近真实情况的测试场景。因此,基于真实数据的自然场景成为自动驾驶仿真测试场景库的重要来源,如何提取自然场景成为业界的一个重要的研究方向。
发明内容
本申请实施例提供了一种驾驶场景识别方法及其系统,在驾驶场景识别过程中,占用较少的存储资源和计算资源,从而减少资源的浪费。
本申请实施例的第一方面提供了一种驾驶场景识别方法,该方法可应用于云服务系统、车载系统、云服务系统和车载系统构成的组合系统中,前述任意一种系统均包含服务单元和计算单元,该方法包括:
当用户需要对车辆进行自动驾驶测试时,可向服务单元输入第三识别指令,第三识别指令携带车辆在某个时间段内采集的目标数据。可以理解的是,目标数据包含车辆在该时间段内所经历的各个驾驶场景的数据,例如,车辆所经历的各个驾驶场景的图像等等。然而,用户在进行自动驾驶测试时,并非关注所有的驾驶场景,故用户还可向服务单元输入第一识别指令,第一识别指令用于指示构成用户指定的驾驶场景的子驾驶场景(即待识别的子驾驶场景),故服务单元可基于第三识别指令得到目标数据,基于第一识别指令确定待识别的子驾驶场景。例如,设待识别的驾驶场景(即用户指定的驾驶场景)为在晴天天气下转弯的场景,则待识别的子驾驶场景包含晴天场景和转弯场景等等。可见,待识别的驾驶场景基于待识别的多个子场景构建。
服务单元得到目标数据以及待识别的子驾驶场景后,则将基于目标数据以及待识别的子驾驶场景生成的识别请求(该识别请求可包含第一识别指令和第三识别指令)发送至计算单元。计算单元接收到识别请求后,则基于识别请求获取待识别的子驾驶场景对应的场景识别文件,场景识别文件用于定义子驾驶场景的识别规则。接着,计算单元根据这部分场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果。依旧如上述例子,服务单元得到目标数据、待识别的晴天场景和转弯场景后,则基于这部分信息生成识别请求,并将识别请求发送至计算单元。计算单元基于识别请求,可获取晴天场景以及转弯场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,得到晴天场景的识别结果以及转弯场景的识别结果,即车辆在某一时间段内处于晴天场景,车辆在另一时间段内处于转弯场景。
最后,计算单元将子驾驶场景的识别结果发送至服务单元。至此,计算单元完成子驾驶场景的识别。
从上述方法可以看出:服务单元根据用户输入的第一识别指令确定待识别的子驾驶场景后,可向计算单元通知待识别的子驾驶场景。因此,计算单元仅需加载该部分子驾驶场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,以得到子驾驶场景的识别结果。然后,计算单元将子驾驶场景的识别结果发送至服务单元,从而完成子驾驶场景的识别。前述过程中,由于服务单元可向计算单元通知用户指定的子驾驶场景,故计算单元仅需加载该部分子驾驶场景对应的场景识别文件,而不需要提前预置所有子驾驶场景对应的场景识别文件,并利用实时加载的这部分场景识别文件对目标数据进行识别,从而得到子驾驶场景的识别结果,完成子驾驶场景的识别,该识别过程中占用计算单元较少的存储资源和计算资源,从而减少资源的浪费。
在一种可能的实现方式中,该方法还包括:服务单元获取第二识别指令,第二识别指令用于指示待识别的驾驶场景,待识别的驾驶场景基于待识别的多个子驾驶场景构建;服务单元根据多个子驾驶场景的识别结果确定驾驶场景的识别结果。前述实现方式中,用户还可向服务单元输入第二识别指令,第二识别指令用于指示待识别的驾驶场景,故服务单元可确定待识别的驾驶场景(即用户指定的驾驶场景),待识别的驾驶场景基于待识别的多个子驾驶场景构建。如此一来,服务单元得到多个子驾驶场景的识别结果后,由于服务单元已确定待识别的驾驶场景,故服务单元根据多个子驾驶场景的识别结果确定驾驶场景的识别结果。依旧如上述例子,计算单元将晴天场景的识别结果以及转弯场景的识别结果发送至服务单元后,由于服务单元已确定待识别的驾驶场景即为车辆同时处于晴天场景和转弯场景下,故服务单元可基于晴天场景的识别结果以及转弯场景的识别结果进行场景融合,从而得到在晴天天气下转弯的场景的识别结果,即车辆在某个时间段内既处于晴天场景,又处于转弯场景。完成驾驶场景识别后,服务单元可基于驾驶场景的识别结果,将目标数据转换成用于测试的驾驶场景。
在一种可能的实现方式中,该方法还包括:根据目标数据以及子驾驶场景确定资源需求;在计算单元集群中,选择与资源需求匹配的计算单元。前述实现方式中,计算单元集群中包含多个计算单元,不同的计算单元被分配有不同的计算资源和存储资源。服务单元在接收到用户输入的目标数据和待识别的子驾驶场景后,可基于目标数据和待识别的子驾驶场景确定资源需求,该资源需求用于指示进行子驾驶场景的识别,所需要的资源的大小。因此,服务单元可从计算单元集群中,选择与资源需求匹配的计算单元。如此一来,由于选择得到的计算单元具备足够的计算资源和存储资源,故可顺利完成子驾驶场景的识别。
在一种可能的实现方式中,该方法还包括:根据目标数据以及子驾驶场景确定资源需求;创建与资源需求匹配的计算单元。前述实现方式中,服务单元在接收到用户输入的目标数据和待识别的子驾驶场景后,可基于目标数据和待识别的子驾驶场景确定资源需求,该资源需求用于指示进行子驾驶场景的识别,所需要的资源的大小。因此,服务单元可从创建出与资源需求匹配的计算单元,例如,服务单元可直接调用云服务(即虚拟化技术)创建出与资源需求匹配的计算单元等等。如此一来,由于创建得到的计算单元具备足够的计算资源和存储资源,故可顺利完成子驾驶场景的识别。
在一种可能的实现方式中,服务单元根据多个子驾驶场景的识别结果确定驾驶场景的识别结果包括:服务单元以时间为单位,将目标数据划分为多个子数据;服务单元在多个子数据中,根据多个子驾驶场景的识别结果确定每个子数据是否存在驾驶场景,得到驾驶场景的识别结果。在对目标数据进行驾驶场景的识别时,由于目标数据中存在很多个驾驶场景,一种常规的方法是通过驾驶场景对应的场景识别文件对目标数据进行识别,以得到驾驶场景的识别结果,该过程需要开发各种驾驶场景对应的场景识别文件,而每种驾驶场景通常由多个子驾驶场景构建,即每种驾驶场景均具备较高的复杂度,故在开发驾驶场景对应的场景识别文件往往需要付出相当大的开发成本。前述实现方式中,计算单元仅利用了部分子驾驶场景对应的场景识别文件对目标数据进行识别,由于子驾驶场景的复杂度较低,故开发子驾驶场景对应的场景识别文件所需的开发成本较低。然后,服务单元可按时间将目标数据划分为多个子数据,并基于多个子驾驶场景的识别结果标注出每个子数据所包含的子驾驶场景。接着,服务单元可根据标注结果确定哪些子数据中存在用户指定的驾驶场景,得到驾驶场景的识别结果,从而完成驾驶场景的识别。前述过程中,不需要开发驾驶场景对应的场景识别文件,故可以有效降低场景识别文件的开发成本。
在一种可能的实现方式中,驾驶场景为基于子驾驶场景构建的布尔检索式,服务单元根据多个子驾驶场景的识别结果检测每个子数据是否存在驾驶场景包括:服务单元根据多个子驾驶场景的识别结果,检测每个子数据是否符合布尔检索式,得到驾驶场景的识别结果。前述实现方式中,通过布尔检索式的形式来表示待识别的驾驶场景,故服务单元可根据标注结果确定哪些子数据符合布尔检索式,从而快速准确地判断出哪些子数据中存在用户指定的驾驶场景,从而得到驾驶场景的识别结果。
在一种可能的实现方式中,计算单元获取子驾驶场景对应的场景识别文件包括:计算单元将数据库中的子驾驶场景对应的场景识别文件,加载至计算单元的内存中。前述实现方式中,计算单元基于识别请求,可确定用户指定的子驾驶场景。然后,计算单元将这部分子驾驶场景对应的场景识别文件加载至本地的内存中,故计算单元可调用这部分子驾驶场景对应的场景识别文件对目标数据进行识别,从而得到子驾驶场景的识别结果。由此可见,计算单元可动态加载待识别的子驾驶场景对应的场景识别文件至本地的内存中,因此,计算不需在本地的内存中预置所有子驾驶场景对应的场景识别文件,从而有效节省计算单元的存储资源。
在一种可能的实现方式中,子驾驶场景的识别结果包含子驾驶场景、子驾驶场景的起始时间以及子驾驶场景的结束时间。
在一种可能的实现方式中,驾驶场景的识别结果包括驾驶场景、驾驶场景的起始时间以及驾驶场景的结束时间。
在一种可能的实现方式中,服务单元为虚拟机、容器或裸金属服务器,计算单元为虚拟机、容器或裸金属服务器。
本申请实施例的第二方面提供了一种驾驶场景识别系统,该系统包括:服务单元和计算单元;计算单元,用于从服务单元获取第一识别指令,第一识别指令用于指示子驾驶场景;计算单元,用于根据第一识别指令获取子驾驶场景对应的场景识别文件,场景识别文件用于定义子驾驶场景的识别规则;计算单元,还用于根据场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果。
从上述系统可以看出:服务单元根据用户输入的第一识别指令确定待识别的子驾驶场景后,可向计算单元通知待识别的子驾驶场景。因此,计算单元仅需加载该部分子驾驶场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,以得到子驾驶场景的识别结果。然后,计算单元将子驾驶场景的识别结果发送至服务单元,从而完成子驾驶场景的识别。前述过程中,由于服务单元可向计算单元通知用户指定的子驾驶场景,故计算单元仅需加载该部分子驾驶场景对应的场景识别文件,而不需要提前预置所有子驾驶场景对应的场景识别文件,并利用实时加载的这部分场景识别文件对目标数据进行识别,从而得到子驾驶场景的识别结果,完成子驾驶场景的识别,该识别过程中占用计算单元较少的存储资源和计算资源,从而减少资源的浪费。
在一种可能的实现方式中,服务单元还用于:根据目标数据以及子驾驶场景确定资源需求;在计算单元集群中,选择与资源需求匹配的计算单元。
在一种可能的实现方式中,服务单元还用于:根据目标数据以及子驾驶场景确定资源需求;创建与资源需求匹配的计算单元。
在一种可能的实现方式中,服务单元还用于:获取第二识别指令,第二识别指令用于指示驾驶场景,驾驶场景基于多个子驾驶场景构建;根据多个子驾驶场景的识别结果确定驾驶场景的识别结果。
在一种可能的实现方式中,服务单元具体用于:以时间为单位,将目标数据划分为多个子数据;在多个子数据中,根据多个子驾驶场景的识别结果确定每个子数据是否存在驾驶场景,得到驾驶场景的识别结果。
在一种可能的实现方式中,计算单元具体用于将数据库中的子驾驶场景对应的场景识别文件,加载至计算单元的内存中。
在一种可能的实现方式中,子驾驶场景的识别结果包含子驾驶场景、子驾驶场景的起始时间以及子驾驶场景的结束时间。
在一种可能的实现方式中,驾驶场景的识别结果包括驾驶场景、驾驶场景的起始时间以及驾驶场景的结束时间。
在一种可能的实现方式中,驾驶场景为基于子驾驶场景构建的布尔检索式,服务单元具体用于根据多个子驾驶场景的识别结果,检测每个子数据是否符合布尔检索式,得到驾驶场景的识别结果。
在一种可能的实现方式中,服务单元为虚拟机、容器或裸金属服务器,计算单元为虚拟机、容器或裸金属服务器。
本申请实施例的第三方面提供了一种装置,该装置包括:处理器和存储器;
存储器用于存储程序以及场景识别文件;
处理器用于执行存储器所存储的程序,以使装置实现如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例的第四方面提供了一种车联网通信系统,该系统包含车载系统和如第三方面所述的装置,其中,车载系统与该装置通信连接。
本申请实施例的第五方面提供了一种计算机存储介质,包括计算机可读指令,当计算机可读指令被执行时,实现如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例的第六方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例的第七方面提供了一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片系统还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例的第八方面提供了一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如第一方面或第一方面中任意一种可能的实现方式所述的方法。
本申请实施例中,服务单元根据用户输入的第一识别指令确定待识别的子驾驶场景后,可向计算单元通知待识别的子驾驶场景。因此,计算单元仅需加载该部分子驾驶场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,以得到子驾驶场景的识别结果。然后,计算单元将子驾驶场景的识别结果发送至服务单元,从而完成子驾驶场景的识别。前述过程中,由于服务单元可向计算单元通知用户指定的子驾驶场景,故计算单元仅需加载该部分子驾驶场景对应的场景识别文件,而不需要提前预置所有子驾驶场景对应的场景识别文件,并利用实时加载的这部分场景识别文件对目标数据进行识别,从而得到子驾驶场景的识别结果,完成子驾驶场景的识别,该识别过程中占用计算单元较少的存储资源和计算资源,从而减少资源的浪费。
附图说明
图1为车联通信系统的一个结构示意图;
图2为本申请实施例提供的云服务系统的一个结构示意图;
图3为本申请实施例提供的多识别任务并行执行的一个示意图;
图4为本申请实施例提供的车载系统的一个结构示意图;
图5为本申请实施例提供的驾驶场景识别方法的一个流程示意图;
图6为本申请实施例提供的驾驶场景识别方法的另一流程示意图;
图7为本申请实施例提供的计算单元进行识别操作的一个示意图;
图8为本申请实施例提供的驾驶场景识别装置的一个结构示意图;
图9为本申请实施例提供的装置的一个结构示意图。
具体实施方式
本申请实施例提供了一种驾驶场景识别方法及其系统,在驾驶场景识别过程中,占用较少的存储资源和计算资源,从而减少资源的浪费。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。另外,本申请中的连接、耦合或通信,可以是关联对象之间的直接连接,耦合或通信,或者是通过其他装置的间接连接、耦合或通信,此外,对象之间的连接、耦合或通信可以是电性或其他类似的形式,本申请中均不作限定。独立说明的模块或子模块可以是物理上分离的,也可以不是物理上的分离;可以是软件实现的,也可以是硬件实现的,且可以部分模块或子模块通过软件实现,由处理器调用该软件,实现这部分模块或子模块的功能,且其它部分模板或子模块通过硬件实现,例如通过硬件电路实现。此外,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
目前,自动驾驶技术受到了广泛关注。为了提高自动驾驶的安全性和可靠性,需要反复地对自动驾驶系统进行测试。在此过程中,可利用车辆在实际环境中所采集的数据,构建用于进行自动驾驶测试的驾驶场景。
图1为车联通信系统的一个结构示意图。如图1所示,车联通信系统包括车载系统和云服务系统。其中,车载系统部署于车辆上,用于采集车辆在行驶过程中所经过的各个场景的数据,并将数据上传至云服务系统。云服务系统包含场景识别系统,场景识别系统用于对车载系统上传的数据进行场景识别,并基于识别结果构建驾驶场景。然后,场景识别系统利用构建的驾驶场景进行自动驾驶测试,从而更新自动驾驶数据,最后将更新后的自动驾驶数据(例如,自动驾驶程序或自动驾驶文件等等)发送至车载系统。
在基于真实数据的子驾驶场景的识别过程中,真实数据中可能蕴含多种场景,例如天气场景,道路场景,行为场景等等,目前,针对所有可能的场景均在系统中预设对应的场景识别文件,以识别出真实数据的场景情况。因此以上场景识别系统在接收到真实数据后,会使用所有的场景识别文件对目标数据进行识别,故会占用大量的存储资源和计算资源,造成了一定的资源浪费。
考虑到上述问题,本申请实施例提供了一种驾驶场景识别方法,该方法可应用于云服务系统中,或应用于车载系统中,或应用于云服务系统和车载系统构成的组合系统中。下文将分别对云服务系统、车载系统、云服务系统和车载系统构成的组合系统进行介绍。图2为本申请实施例提供的云服务系统的一个结构示意图,如图2所示,云服务系统包括:服务单元、计算单元集群以及数据库,下面将对服务单元、计算单元以及数据库分别进行简单的介绍:
服务单元作为云服务系统的管理器,可以对云服务系统进行集中管理。服务单元可通过多种方式进行部署,例如,服务单元可以为单独的一台物理机,又如,服务单元还可以为某台物理服务器上加载的某个虚拟机(virtual machine,VM),再如,服务单元还可以为某台物理服务器上加载的某个容器(docker)等等。服务单元可接收用户输入的目标数据、用户指定待识别的子驾驶场景和/或驾驶场景的信息,驾驶场景也可以称为综合场景,例如,在晴天天气下转弯的场景,子驾驶场景也可以称为单元场景,例如,晴天场景或转弯场景,驾驶场景可以基于多个子驾驶场景构建。服务单元可以调用计算单元对目标数据完成子驾驶场景的识别(例如,服务单元向计算单元发送识别指令,来调用计算单元对目标数据完成子驾驶场景的识别)。且如果有驾驶场景的识别需求,服务单元可以进一步从计算单元获取子驾驶场景的识别结果,并基于子驾驶场景的识别结果确定驾驶场景的识别结果,从而完成驾驶场景的识别。
计算单元也可通过多种方式进行部署,例如,计算单元可以为单独的一台物理机,又如,计算单元还可以为某台物理机上加载的某个虚拟机,再如,计算单元还可以为某台物理机上加载的某个容器等等。当计算单元和服务单元均为容器(或虚拟机)时,二者可部署于同一台物理机上,也可部署于不同的物理机上,此处不做限制。计算单元接收到来自服务单元的识别指令后,可基于识别指令加载待识别的子驾驶场景对应的场景识别文件,并利用场景识别文件对目标数据完成子驾驶场景的识别。进一步的,计算单元可以将子驾驶场景的识别结果返回至服务单元,以使得服务单元进一步完成驾驶场景的识别。
数据库用于存储场景识别的文件,例如,存储各种子驾驶场景(例如,旁车切入场景、晴天场景、连续转弯场景等等)对应的场景识别文件(也可称为场景识别算法),因此又可以称为算法仓库。在算法仓库中,每个场景识别文件可以被配置有标识,例如配置有该文件用于识别的子驾驶场景的名称或该文件用于识别的子驾驶场景的身份识别号(Identitydocument,ID),场景识别文件与子驾驶场景可以是一一对应的。对于某一子驾驶场景对应的场景识别文件,该文件定义了该子驾驶场景的识别规则,例如,该子驾驶场景的参数边界和提取标准。计算单元可根据实时需求(如,用户指定的某些子驾驶场景),将算法仓库中的某个或某些场景识别文件(简称为目标场景识别文件)加载至本地中,从而利用目标场景识别文件对目标数据进行子驾驶场景的识别。可选的,算法仓库中的场景识别文件是可修改的(如,更新、替换、增加或删减等等)。例如,某个用户可向算法仓库上传新的晴天场景对应的场景识别文件,从而替换云数据中已存储的晴天场景对应的场景识别文件。又如,某个用户可向算法仓库中上传旁车切入场景对应的场景识别文件,使得算法仓库存有旁车切入场景对应的场景识别文件。可选地,不同用户通过算法仓库,可以交换和共享各种各样的场景识别文件,提升场景识别文件的丰富性,适应更多丰富的场景进行场景识别,提升驾驶体验。
服务单元可分别下发识别指令至不同的计算单元,使得这部分计算单元并行执行各自的识别任务。为了便于理解,下文结合图3对前述过程进行介绍。图3为本申请实施例提供的多识别任务并行执行的一个示意图,如图3所示,在某一时刻,服务单元向某一个计算单元下发包含目标数据D以及子驾驶场景J、K、L的识别指令,使得该计算单元对目标数据D完成子驾驶场景J、K、L的识别,并向服务单元上传识别结果。此外,在相同或不同时刻,服务单元可以向另一个计算单元下发包含目标数据E以及子驾驶场景X、Y、Z的识别指令,使得该计算单元对目标数据E完成子驾驶场景X、Y、Z的识别,并向服务单元上传识别结果。在前述过程中,两个计算单元的识别操作可以并行执行。
图4为本申请实施例提供的车载系统的一个结构示意图。如图4所示,该车载系统可部署于车辆中,该车载系统包括:服务单元、计算单元以及数据库。其中,服务单元可以是车载系统中的车载单元(on-board unit,OBU),OBU可通过车载信息盒(telematics box,T-BOX)等形式呈现, T-BOX可支持至少一种通信接口,例如,直连通信接口(PC5接口)、蜂窝通信接口(Uu接口)等等,故可与用户的移动设备实现通信,例如,接收用户输入待识别的子驾驶场景和/或驾驶场景的信息,或从真实数据中获取的目标数据等信息。计算单元可以是车载系统中的车载计算平台(in-vehicle computing platform,IVCP),IVCP可以通过智能驾驶、智能座舱、或智能车控等领域的计算平台等形式呈现,故可实现一系列复杂的数据处理,例如,对目标数据进行子驾驶场景的识别等操作。数据库可以是供计算单元调用的存储设备,用于存储各类用户上传的子驾驶场景对应的场景识别文件、场景识别结果等等信息。
关于车载系统中服务单元、计算单元以及数据库的功能介绍,可参考前述云服务系统中服务单元、计算单元以及云数据库的相关说明部分,此处不再赘述。
此外,云服务系统和车载系统还可构成一个组合系统。具体地,组合系统可通过多种方式实现,例如,组合系统包含车载系统(如图4所示)中的服务单元、云服务系统(如图2所示)中的计算单元和云服务系统中的云数据库。又如,组合系统包含云服务系统中的服务单元、车载系统中的计算单元和车载系统中的数据库。再如,组合系统包含车载系统的服务单元、车载系统中的计算单元和云服务系统中的云数据库等等,此处不做限制。
关于组合系统中服务单元、计算单元以及数据库的功能介绍,可参考前述云服务系统中服务单元、计算单元以及云数据库的相关说明部分,此处不再赘述。
为了进一步理解上述各个系统的工作流程,下文以云服务系统为例,并结合图5作进一步的介绍。图5为本申请实施例提供的驾驶场景识别方法的一个流程示意图,如图5所示,该方法包括:
501、获取第一识别指令,第一识别指令用于指示子驾驶场景。
具体的,第一识别指令用于指示待识别的子驾驶场景,其可以由用户指定。用户可以指定多个子驾驶场景,该多个子驾驶场景构成用户指定的驾驶场景,针对每个子驾驶场景,服务单元可以生成识别指令,以指示计算单元完成对应子驾驶场景的识别。或者,可以用于指定驾驶场景,该驾驶场景是一个综合驾驶场景,服务单元根据待识别的驾驶场景,获得构成该驾驶场景的多个子驾驶场景,并针对每个子驾驶场景生成识别指令,以指示计算单元完成对应子驾驶场景的识别。例如,假设待识别的驾驶场景(即用户指定的驾驶场景)为在晴天天气下转弯的场景,则待识别的子驾驶场景包含晴天场景和转弯场景。
可选地,当对车辆进行自动驾驶测试时,用户可向服务单元输入指令,该指令用来指示子驾驶场景和/驾驶场景,还可以指示目标数据。车辆可以在行驶过程中采集真实数据并上传至云服务系统或车载系统,由云服务系统或车载系统进行保存。用户可以指定目标数据,例如车辆在某个时间段内采集的真实数据。目标数据包含车辆在该时间段内所采集到的真实数据,例如,车辆所获取的各个驾驶场景的图像或图像的索引等等。该真实数据可能蕴含了多种子驾驶场景,且不同时刻的驾驶场景也可能不同,现有技术会调用所有可能的驾驶场景识别算法进行场景识别,占用大量的存储资源和计算资源。而本申请实施例考虑到自动驾驶测试的灵活性,可以根据用户的需求从真实数据中提取测试相关的场景来进行测试,减少了资源浪费,且对测试场景更有针对性,提高了测试和场景提取的效率。
可见,服务单元可基于用户输入的指令得到目标数据和待识别的子驾驶场景,并通过第一识别指令,指示计算单元调用部分场景识别文件进行目标子驾驶场景的场景识别文件进行场景识别,减少了资源浪费。
502、获取第一识别指令所指示的子驾驶场景对应的场景识别文件,场景识别文件用于定义子驾驶场景的识别规则。
503、根据场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果。
服务单元得到目标数据的信息以及待识别的子驾驶场景后,则将基于目标数据的信息以及待识别的子驾驶场景生成的识别请求发送至计算单元,该识别请求可包含第一识别指令和第二识别指令,第一识别指令用于指示待识别的子驾驶场景,第二识别指令用于指示目标数据。计算单元接收到识别请求后,则基于第一识别指令获取待识别的子驾驶场景对应的场景识别文件,场景识别文件用于定义子驾驶场景的识别规则。计算单元根据这部分场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果,计算单元可以根据第二识别指令调取目标数据。
示例性的,服务单元得到目标数据、待识别的晴天场景和转弯场景后,则基于这部分信息生成识别请求,并将识别请求发送至计算单元。计算单元基于识别请求,可获取晴天场景以及转弯场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,得到晴天场景的识别结果以及转弯场景的识别结果,即车辆处于晴天场景的时间段,车辆在处于转弯场景的时间段,且处于晴天场景的时间段和处于转弯场景的时间段可以相同或不同,或可以有重叠。可以理解的,在本申请实施例中,服务单元根据用户输入的指令确定待识别的子驾驶场景后,可向计算单元通知待识别的子驾驶场景。因此,计算单元仅需加载该部分子驾驶场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,以得到子驾驶场景的识别结果。然后,计算单元将子驾驶场景的识别结果发送至服务单元,从而完成子驾驶场景的识别。前述过程中,由于服务单元可向计算单元通知用户指定的子驾驶场景,故计算单元仅需加载该部分子驾驶场景对应的场景识别文件,而不需要调用预置的所有子驾驶场景对应的场景识别文件,并利用实时加载的这部分场景识别文件对目标数据进行识别,从而得到子驾驶场景的识别结果,完成子驾驶场景的识别,该识别过程中占用计算单元较少的存储资源和计算资源,从而减少资源的浪费。
此外,在得到子驾驶场景的识别结果后,计算单元可将子驾驶场景的识别结果发送至服务单元,以使得服务单元基于子驾驶场景的识别结果对目标数据完成驾驶场景的识别,以得到驾驶场景的识别结果。
下文将在图5所示实施例的基础上,结合图6进一步介绍服务单元实现驾驶场景的识别的过程。图6为本申请实施例提供的驾驶场景识别方法的另一流程示意图,如图6所示,该方法包括:
601、服务单元确定目标数据、待识别的驾驶场景以及待识别的子驾驶场景,待识别的驾驶场景基于待识别的子驾驶场景构建。
当用户要对车辆进行自动驾驶测试时,构建用于进行测试的驾驶场景。具体地,用户可先获取车辆在目标时间段内采集的目标数据(也可称为自动驾驶数据),其中,目标数据包括在目标时间段内,车辆所经历的各个驾驶场景的数据、车辆的行驶状态以及车辆的动力学数据等信息。例如,目标数据可包含在某段时间内,车辆所经历的各个驾驶场景的图像和视频、车辆的行驶路径、车辆的速度、车辆的位置等等信息。
由于目标数据的数据量很大,在基于目标数据构建用于进行测试的驾驶场景时,可对目标数据进行驾驶场景识别,从而确定目标数据中,哪一部分数据对应哪一个驾驶场景。如此一来,可用特定的数据直接构建相应的驾驶场景,从而有效减少构建驾驶场景所需的工作量。
在驾驶场景识别的过程中,目标数据包含车辆在目标时间段内,所经历的所有驾驶场景的数据,但用户不一定关注所有的驾驶场景,故用户可指定某个或某些待识别的驾驶场景和/或子驾驶场景。一个驾驶场景可以由多个子驾驶场景构建,或者可以由一个子驾驶场景构建,即可以理解为该子驾驶场景,故用户在指定了待识别的驾驶场景后,相当于指定了待识别的子驾驶场景。例如,待识别的驾驶场景为在晴天天气下转弯的场景,则待识别的多个子驾驶场景为晴天场景和转弯场景。又如,待识别的驾驶场景为旁车切入下紧急制动的场景,则待识别的多个子驾驶场景为旁车切入场景和紧急制动场景。再如,待识别的驾驶场景为在街道中,自车进行左转时出现后车超车的场景,则待识别的多个子驾驶场景为街道场景、自车左转场景以及后车超车场景等等。
用户确定目标数据、待识别的驾驶场景和/或待识别的子驾驶场景后,可以将目标数据、待识别的驾驶场景和/或待识别的子驾驶场景发送至或输入至服务单元。例如,服务单元可向用户提供交互接口,该交互接口用于接收用户输入的目标数据的信息以及用于指示子驾驶场景和/或驾驶场景的指令。例如,该交互接口可以为一个可视化界面,该可视化界面中显示了目标数据的输入栏、子驾驶场景的输入栏(或供用户选择的子驾驶场景列表)和/或驾驶场景的输入栏(或供用户选择的驾驶场景列表),用户可手动或通过终端设备向该可视化界面显示的各个输入栏处,输入第一指令和/或第二指令,以及第三指令,其中,第一指令用于指示待识别的子驾驶场景,第二指令用于指示待识别的驾驶场景,第三指令用于指示目标数据。
用户所输入的第一指令、第二指令以及第三指令,应满足云服务系统的规范(例如,格式和内容定义等等),该规范包括但不限于:目标数据的目录结构、各个场景的名称、度量单位、基准值、数据采集频率、数据排列顺序等等。
服务单元接收到第一指令和/或第二指令,以及第三指令,可基于第一指令确定待识别的多个子驾驶场景,基于第二指令确定待识别的驾驶场景,基于第三指令得到目标数据。
此外,用户也可仅向服务单元输入第一指令和第三指令,服务单元可基于第一指令确定待识别的多个子驾驶场景,并按预置的场景合成规则将多个子驾驶场景合成待识别的驾驶场景。或者,用户也可仅向服务单元输入第二指令和第三指令,服务单元可基于第二指令确定待识别的驾驶场景,并按预置的场景拆分规则将驾驶场景拆分为待识别的多个子驾驶场景等等,此处不做限制。
602、服务单元根据目标数据以及子驾驶场景确定资源需求。
确定目标数据、待识别的子驾驶场景后,服务单元根据目标数据以及待识别的子驾驶场景确定资源需求,其中,资源需求用于指示进行子驾驶场景的识别,所需要的资源(包含存储资源和/或计算资源)的大小。具体地,计算资源例如包含中央处理器(centralprocessing unit,CPU)的资源,存储资源例如包含内存和/或硬盘的资源。在资源需求中,CPU核心(core)的数量、内存的容量与子驾驶场景的数量、子驾驶场景的复杂度正相关,硬盘的存储空间与目标数据的数据量正相关。
603、服务单元确定与资源需求匹配的计算单元。
服务单元得到资源需求后,可确定与资源需求匹配的计算单元,该计算单元用于进行子驾驶场景的识别。具体地,服务单元可通过多种方式确定与资源需求匹配的计算单元,下文将分别进行介绍:
在一种可能的实现方式中,服务单元可调用云服务(即通过虚拟化技术),创建与资源需求匹配的计算单元,在该实现方式中,计算单元通常为容器或虚拟机。具体地,服务单元预置有镜像,镜像可视为一个特殊的文件系统,封装有主进程的程序,该主进程可实现场景识别文件加载、目标数据下载、算法并行调用、算法结果整合等功能。在服务单元得到资源需求后,可确定与该资源需求对应的计算资源以及存储资源,并基于这部分资源以及预置的镜像创建出一个新的计算单元(新的容器),该新的计算单元即为用于进行后续识别操作的计算单元。
在另一种可能的实现方式中,服务单元在计算单元集群中,选择与资源需求匹配的计算单元,在该实现方式中,计算单元通常为物理机或虚拟机。具体地,在云服务系统中预先部署有一个计算单元集群(即物理机集群或虚拟机集群),该计算单元集群包含多个计算单元,不同的计算单元基于不同大小的资源(包含计算资源和/或存储资源)创建。因此,服务单元得到资源需求后,可在计算单元集群的多个计算单元中,确定与该资源需求匹配的计算单元,该计算单元即为用于进行后续识别操作的计算单元。
604、服务单元将基于目标数据以及子驾驶场景生成的识别请求发送至计算单元。
服务单元确定与资源需求匹配的计算单元后,则将基于目标数据以及待识别的子驾驶场景生成的识别请求(该识别请求可包含第一识别指令和第二识别指令)发送至计算单元。具体地,服务单元可基于目标数据的下载地址以及包含待识别的子驾驶场景列表生成识别请求,并将识别请求发送至计算单元。计算单元接收来自服务单元的识别请求后,以识别请求为输入启动主进程。如此一来,计算单元通过运行主进程,从而完成子驾驶场景的识别。
605、计算单元加载子驾驶场景对应的场景识别文件,并根据场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果。
在计算单元运行主进程的过程中,主进程可先解析识别请求,得到目标数据的下载地址以及待识别的多个子驾驶场景。然后,主进程可根据目标数据的下载地址下载目标数据,并从算法仓库中,下载待识别的各个子驾驶场景对应的场景识别文件。接着,主进程为每一个待识别的子驾驶场景启动一个子进程。主进程启动的所有子进程可并行运行,对于任意一个子进程,该子进程可基于其对应的子驾驶场景,将该子驾驶场景对应的场景识别文件载入至本地的内存中,从而调用该场景识别文件对目标数据进行识别,以得到该子进程对应的子驾驶场景的识别结果。
为了便于理解,下文结合图7对上述识别过程作进一步的介绍。图7为本申请实施例提供的计算单元进行识别操作的一个示意图。如图7所示,设有待识别的n个子驾驶场景,n为大于或等于1的整数。主进程下载目标数据以及n个子驾驶场景对应的n个场景识别文件后,可为n个子驾驶场景启动相应的n个子进程。可以理解的是,n个子进程与n个场景识别文件一一对应。
具体地,子进程1在确定编写场景识别文件1的编程语言为语言A后,则通过语言A对应的动态加载接口,将场景识别文件1载入到内存中。然后,子进程1需对场景识别文件1进行如下检查:场景识别文件1的名称、参数等信息是否符合云服务系统所规定的要求,和/或,为场景识别文件1编写的类与为云服务系统编写的类之间是否存在类继承关系。若通过检查,子进程1确定加载至内存的场景识别文件1可用。接着,子进程1可将目标数据的格式转换为场景识别文件1所能识别的专属格式(因为不同场景识别文件所规定的数据格式不同),并使用场景识别文件1对目标数据进行识别,得到场景识别文件1的识别结果。最后,子进程1可将场景识别文件1的识别结果的格式转换为系统所能识别的通用格式。格式转换后的场景识别文件1的识别结果包括子驾驶场景1、子驾驶场景1的起始时间以及子驾驶场景1的结束时间,例如,场景识别文件1的识别结果可以为:车辆在10:00-10:30处于子驾驶场景1。
同样地,子进程2可使用其对应的场景识别文件2(如图7所示,编写场景识别文件2的编程语言为语言B),对目标数据进行识别,从而得到子驾驶场景2的识别结果。子进程2的运行过程可参考上述子进程1的运行过程,此处不再赘述。以此类推,其余子进程的运行过程也是如此。当n个子进程完成运行后,主进程可将n个子驾驶场景的识别结果发送至服务单元。至此,计算单元完成主进程的运行,即计算单元完成子驾驶场景的识别。
在一种可能的实现方式中,云服务系统还可包括子驾驶场景库,子驾驶场景库与算法仓库可为两个不同的云数据库,也可部署于同一个云数据库中,此处不做限制。子驾驶场景库用于存储子驾驶场景的识别结果,故计算单元将子驾驶场景的识别结果发送至服务单元具体包括:计算单元得到多个子驾驶场景的识别结果后,可将多个子驾驶场景的识别结果上传至子驾驶场景库中。然后,服务单元可从子驾驶场景库中获取多个子驾驶场景的识别结果,从而根据多个子驾驶场景的识别结果确定驾驶场景的识别结果。
在一种可能的实现方式中,当计算单元为容器时,计算单元完成子驾驶场景的识别后,还可执行容器退出操作,从而释放计算单元所占用的计算资源和存储资源。
由于主进程以及子进程由计算单元运行,故上述过程中,主进程以及子进程执行的步骤相当于计算单元执行的步骤。
606、服务单元接收来自计算单元的子驾驶场景的识别结果。
607、服务单元以时间为单位,将目标数据划分为多个子数据。
608、服务单元在多个子数据中,根据子驾驶场景的识别结果确定每个子数据是否存在驾驶场景,得到驾驶场景的识别结果。
服务单元得到多个子驾驶场景的识别结果后,可基于多个子驾驶场景的识别结果,确定车辆所经历的各个子驾驶场景。如果用户最终关注的是由这些子驾驶场景所构建的驾驶场景,服务单元还可以根据子驾驶场景的识别结果进行场景融合,从而得到用户指定的驾驶场景的识别结果。其中,服务单元进行场景融合的过程可包括:
服务单元以时间为单位,将目标数据划分为多个子数据。具体地,目标数据为车辆在目标时间段内采集到的数据,故服务单元可将目标数据按时间进行平均划分,从而得到多个子数据。例如,目标数据为车辆在10:00-11:00内采集到的数据,服务单元以10分钟为间隔,将目标数据划分为六个子数据,其中,第一个子数据对应10:00-10:10,第二个子数据对应10:10-10:20,第三个子数据对应10:20-10:30,第四个子数据对应10:30-10:40,第一个子数据对应10:40-10:50,第一个子数据对应10:50-11:00。
得到多个子数据后,由于服务单元已确定待识别的驾驶场景,故服务单元可根据多个子驾驶场景的识别结果检测每个子数据是否存在驾驶场景,从而得到驾驶场景的识别结果。具体地,用户指定的待识别的驾驶场景,可通过布尔检索式的形式呈现,该布尔检索式基于待识别的多个子驾驶场景构建。服务单元可在多个子数据中,根据多个子驾驶场景的识别结果,检测每个子数据是否符合布尔检索式,从而得到驾驶场景的识别结果,驾驶场景的识别结果包含驾驶场景、驾驶场景的起始时间以及驾驶场景的结束时间。
依旧如上述例子,设用户发送至服务单元的布尔检索式为:(后车超车 or 前车切出)and 直线行驶 and 晴天天气,该布尔检索式由四个待识别的子驾驶场景构建,故该布尔检索式可等同于两个待识别的驾驶场景。其中,驾驶场景A为:在晴天天气下,自车直线行驶时出现后车超车的场景;驾驶场景B为:在晴天天气下,自车直线行驶时出现前车切出的场景。
服务单元得到后车超车场景的识别结果(即车辆在10:00-10:10处于后车超车场景)、前车切出场景的识别结果(即车辆在10:10-10:20处于前车切出场景)、直线行驶场景的识别结果(即车辆在10:00-10:40处于自车左转场景)以及晴天场景的识别结果(即车辆在10:00-11:00处于晴天场景)后,可基于这四个子驾驶场景的识别结果,在六个子数据中,标注出每个子数据所包含的子驾驶场景,标注结果如表1所示:
表1
第一个子数据,对应10:00至10:10 | 第二个子数据,对应10:10至10:20 | 第三个子数据,对应10:20至10:30 | 第四个子数据,对应10:30至10:40 | 第五个子数据,对应10:40至10:50 | 第六个子数据,对应10:50至11:00 | |
后车超车场景,对应10:00至10:10 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 | 不存在 |
前车切出场景,对应10:10至10:20 | 不存在 | 存在 | 不存在 | 不存在 | 不存在 | 不存在 |
直线行驶场景,对应10:00至10:40 | 存在 | 存在 | 存在 | 存在 | 不存在 | 不存在 |
晴天场景,对应10:00至11:00 | 存在 | 存在 | 存在 | 存在 | 存在 | 存在 |
对于服务单元而言,可将后车超车、前车切出、直线行驶以及晴天天气依次设为V1、V2、V3和V4,则前述布尔检索式为f(V1,V2,V3,V4)= (V1 or V2) and V3 and V4。对于任意一个子驾驶场景i,i=1,2,3或4,若某个子数据片段中存在子驾驶场景i,服务单元可令Vi取值为1,若某个子数据片段中不存在子驾驶场景i,服务单元可令Vi取值为0。那么,服务单元可根据表1所示的标注结果,检测每个子数据是否符合前述布尔检索式:
基于第一个子数据的标注结果,服务单元可确定布尔检索式的取值为(1 or 0)and 1 and 1=1,故服务单元可确定第一个子数据符合布尔检索式。
基于第二个子数据的标注结果,服务单元可确定布尔检索式的取值为(0 or 1)and 1 and 1=1,故服务单元可确定第二个子数据符合布尔检索式。
基于第三个子数据的标注结果,服务单元可确定布尔检索式的取值为(0 or 0)and 1 and 1=0,故服务单元可确定第三个子数据不符合布尔检索式。
基于第四个子数据的标注结果,服务单元可确定布尔检索式的取值为(0 or 0)and 1 and 1=0,故服务单元可确定第四个子数据不符合布尔检索式。
基于第五个子数据的标注结果,服务单元可确定布尔检索式的取值为(0 or 0)and 0 and 1=0,故服务单元可确定第五个子数据不符合布尔检索式。
基于第六个子数据的标注结果,服务单元可确定布尔检索式的取值为(0 or 0)and 0 and 1=0,故服务单元可确定第六个子数据不符合布尔检索式。
可选地,布尔检索式可以基于用户的输入获得,服务单元可确定第一个子数据和第二个子数据符合布尔检索式,即服务单元可确定第一个子数据和第二个子数据中存在用户指定的驾驶场景,从而得到驾驶场景的识别结果,即在10:00-10:10中,车辆处于驾驶场景A(在晴天天气下,自车直线行驶时出现后车超车的场景)。在10:10-10:20中,车辆处于驾驶场景B(在晴天天气下,自车直线行驶时出现前车切出的场景)。
服务单元得到驾驶场景的识别结果后,可基于驾驶场景的识别结果,将目标数据转换为用于进行测试的驾驶场景。依旧如上述例子,服务单元基于驾驶场景的识别结果,在目标数据中可确定第一个子数据存在驾驶场景A,第二个子数据中存在驾驶场景B。因此,服务单元可将第一个子数据转换为驾驶场景A,将第二个子数据转换为驾驶场景B,从而使用驾驶场景A和驾驶场景B对车辆进行自动驾驶测试。
本申请实施例中,服务单元根据用户输入的第一识别指令确定待识别的子驾驶场景后,可向计算单元通知待识别的子驾驶场景。因此,计算单元仅需加载该部分子驾驶场景对应的场景识别文件,并利用这部分场景识别文件对目标数据进行识别,以得到子驾驶场景的识别结果。然后,计算单元将子驾驶场景的识别结果发送至服务单元,从而完成子驾驶场景的识别。前述过程中,由于服务单元可向计算单元通知用户指定的子驾驶场景,故计算单元仅需加载该部分子驾驶场景对应的场景识别文件,而不需要提前预置所有子驾驶场景对应的场景识别文件,并利用实时加载的这部分场景识别文件对目标数据进行识别,从而得到子驾驶场景的识别结果,完成子驾驶场景的识别,该识别过程中占用计算单元较少的存储资源和计算资源,从而减少资源的浪费。
更进一步地,由于算法仓库的存在,可开放用户对场景识别文件的开发能力,用户可通过自定义子驾驶场景对应的场景识别文件,并上传至算法仓库中,从而丰富算法仓库中存储的算法。而且,不同用户可在算法仓库中快速地交换子驾驶场景对应的场景识别文件,例如,某个用户在算法仓库中更新某个子驾驶场景对应的场景识别文件,其余用户也从算法仓库中快速获取到最新的场景识别文件,降低了算法使用和学习的成本。
更进一步地,在对目标数据进行驾驶场景的识别时,由于目标数据中存在很多个驾驶场景,一种常规的方法是通过驾驶场景对应的场景识别文件对目标数据进行识别,以得到驾驶场景的识别结果,该过程需要开发各种驾驶场景对应的场景识别文件,而每种驾驶场景通常由多个子驾驶场景构建,即每种驾驶场景均具备较高的复杂度,故在开发驾驶场景对应的场景识别文件往往需要付出相当大的开发成本。在本申请实施例中,仅利用了部分子驾驶场景对应的场景识别文件对目标数据进行识别,由于子驾驶场景的复杂度较低,故开发子驾驶场景对应的场景识别文件所需的开发成本较低。然后,基于多个子驾驶场景的识别结果判断是否存在驾驶场景,例如,通过布尔检索式的形式来表示待识别的驾驶场景,将目标数据按时间划分成多个子数据,从而基于多个子驾驶场景的识别结果判断每个子数据是否符合布尔检索式,以得到驾驶场景的识别结果。前述过程中不需要开发驾驶场景对应的场景识别文件,故可以有效降低场景识别文件的开发成本。
以上是对本申请实施例提供的驾驶场景识别方法所进行的详细说明,下文将对本申请实施例提供的驾驶场景识别系统进行介绍。
图8为本申请实施例提供的驾驶场景识别系统的一个结构示意图,该系统可部署于前述的云服务系统、车载系统或云服务系统和车载系统所构建的组合系统中,如图8所示,该系统包括:服务单元801和计算单元802;
服务单元801,用于获取第一识别指令,第一识别指令用于指示子驾驶场景;
服务单元801,还用于将第一识别指令发送至计算单元802;
计算单元802,用于根据第一识别指令获取子驾驶场景对应的场景识别文件,场景识别文件用于定义子驾驶场景的识别规则;
计算单元802,还用于根据场景识别文件对目标数据进行识别,得到子驾驶场景的识别结果。
在一种可能的实现方式中,服务单元801还用于:根据目标数据以及子驾驶场景确定资源需求;在计算单元802集群中,选择与资源需求匹配的计算单元802。
在一种可能的实现方式中,服务单元801还用于:根据目标数据以及子驾驶场景确定资源需求;创建与资源需求匹配的计算单元802。
在一种可能的实现方式中,服务单元801还用于:获取第二识别指令,第二识别指令用于指示驾驶场景,驾驶场景基于多个子驾驶场景构建;根据多个子驾驶场景的识别结果确定驾驶场景的识别结果。
在一种可能的实现方式中,服务单元801具体用于:以时间为单位,将目标数据划分为多个子数据;在多个子数据中,根据多个子驾驶场景的识别结果确定每个子数据是否存在驾驶场景,得到驾驶场景的识别结果。
在一种可能的实现方式中,计算单元802具体用于将数据库中的子驾驶场景对应的场景识别文件,加载至计算单元802的内存中。
在一种可能的实现方式中,子驾驶场景的识别结果包含子驾驶场景、子驾驶场景的起始时间以及子驾驶场景的结束时间。
在一种可能的实现方式中,驾驶场景的识别结果包括驾驶场景、驾驶场景的起始时间以及驾驶场景的结束时间。
在一种可能的实现方式中,驾驶场景为基于子驾驶场景构建的布尔检索式,服务单元801具体用于根据多个子驾驶场景的识别结果,检测每个子数据是否符合布尔检索式,得到驾驶场景的识别结果。
在一种可能的实现方式中,服务单元801为虚拟机、容器或裸金属服务器,计算单元802为虚拟机、容器或裸金属服务器。
上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参考本申请实施例前述所示的方法实施例中的叙述,此处不再赘述。
图9为本申请实施例提供的装置的一个结构示意图。如图9所示,本申请实施例中装置一个实施例可以包括一个或一个以上中央处理器901,存储器902,输入输出接口903,有线或无线网络接口904,电源905。
存储器902可以是短暂存储或持久存储,用于存储程序和场景识别文件。更进一步地,中央处理器901可以配置为与存储器902通信,在该装置上执行存储器902中的一系列指令操作。
本实施例中,中央处理器901可以执行前述图5或图6所示实施例中的方法步骤,具体此处不再赘述。
本实施例中,中央处理器901中的具体功能模块划分可以与前述图7中所描述的服务单元、计算单元等单元模块的划分方式类似,此处不再赘述。
本申请实施例还涉及一种计算机存储介质,包括计算机可读指令,当所述计算机可读指令被执行时,实现如图5或图6所述的方法。
本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如图5或图6所述的方法。
本申请实施例还涉及一种芯片系统,该芯片系统包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如图5或图6的方法。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片系统还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例还涉及一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行如图5或图6所述的方法。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述图5所示的实施例中的驾驶场景识别方法的程序执行的集成电路。上述任一处提到的存储器可以为只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory, RAM)等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (17)
1.一种驾驶场景识别方法,其特征在于,所述方法包括:
获取第一识别指令,所述第一识别指令用于指示子驾驶场景;
加载所述第一识别指令所指示的所述子驾驶场景对应的场景识别文件,所述场景识别文件用于定义所述子驾驶场景的识别规则;
根据所述场景识别文件对目标数据进行识别,得到所述子驾驶场景的识别结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第二识别指令,所述第二识别指令用于指示驾驶场景,所述驾驶场景基于多个子驾驶场景构建;
根据所述多个子驾驶场景的识别结果确定所述驾驶场景的识别结果。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多个子驾驶场景的识别结果确定所述驾驶场景的识别结果,包括:
以时间为单位,将所述目标数据划分为多个子数据;
在所述多个子数据中,根据所述多个子驾驶场景的识别结果确定每个子数据是否存在所述驾驶场景,得到驾驶场景的识别结果。
4.根据权利要求3所述的方法,其特征在于,所述驾驶场景的识别结果包括所述驾驶场景、所述驾驶场景的起始时间以及所述驾驶场景的结束时间。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
根据所述目标数据以及所述子驾驶场景确定资源需求;
在计算单元集群中,选择与所述资源需求匹配的计算单元,所述计算单元用于根据所述场景识别文件对目标数据进行识别,得到所述子驾驶场景的识别结果。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
根据所述目标数据以及所述子驾驶场景确定资源需求;
创建与所述资源需求匹配的计算单元,所述计算单元用于根据所述场景识别文件对目标数据进行识别,得到所述子驾驶场景的识别结果。
7.根据权利要求1至4任意一项所述的方法,其特征在于,所述子驾驶场景的识别结果包含所述子驾驶场景、所述子驾驶场景的起始时间以及所述子驾驶场景的结束时间。
8.一种驾驶场景识别系统,其特征在于,所述系统包括:服务单元和计算单元;
所述计算单元,用于从所述服务单元获取第一识别指令,所述第一识别指令用于指示子驾驶场景;
所述计算单元,用于根据所述第一识别指令加载所述子驾驶场景对应的场景识别文件,所述场景识别文件用于定义所述子驾驶场景的识别规则;
所述计算单元,还用于根据所述场景识别文件对目标数据进行识别,得到所述子驾驶场景的识别结果。
9.根据权利要求8所述的系统,其特征在于,所述服务单元还用于:
获取第二识别指令,所述第二识别指令用于指示驾驶场景,所述驾驶场景基于多个子驾驶场景构建;
根据所述多个子驾驶场景的识别结果确定所述驾驶场景的识别结果。
10.根据权利要求9所述的系统,其特征在于,所述服务单元,还用于:
以时间为单位,将所述目标数据划分为多个子数据;
在所述多个子数据中,根据所述多个子驾驶场景的识别结果确定每个子数据是否存在所述驾驶场景,得到驾驶场景的识别结果。
11.根据权利要求10所述的系统,其特征在于,所述驾驶场景的识别结果包括所述驾驶场景、所述驾驶场景的起始时间以及所述驾驶场景的结束时间。
12.根据权利要求8至11任一项所述的系统,其特征在于,所述服务单元还用于:
根据所述目标数据以及所述子驾驶场景确定资源需求;
在计算单元集群中,选择与所述资源需求匹配的所述计算单元。
13.根据权利要求8至11任一项所述的系统,其特征在于,所述服务单元还用于:
根据所述目标数据以及所述子驾驶场景确定资源需求;
创建与所述资源需求匹配的所述计算单元。
14.根据权利要求8至11任意一项所述的系统,其特征在于,所述子驾驶场景的识别结果包含所述子驾驶场景、所述子驾驶场景的起始时间以及所述子驾驶场景的结束时间。
15.一种装置,其特征在于,所述装置包括:处理器和存储器;
所述存储器用于存储程序以及场景识别文件;
所述处理器用于执行所述存储器所存储的程序,以使所述装置实现如所述权利要求1至7任一项所述的方法。
16.一种通信系统,其特征在于,所述通信系统包含车载系统和如权利要求8-14任一项所述的驾驶场景识别系统,所述车载系统与所述驾驶场景识别系统通信连接,以从所述驾驶场景识别系统接收更新数据,所述更新数据根据所述驾驶场景识别系统识别的子驾驶场景或驾驶场景获得。
17.一种计算机存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令被执行时,实现如权利要求1至7任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110196810.9A CN112565468B (zh) | 2021-02-22 | 2021-02-22 | 一种驾驶场景识别方法及其系统 |
PCT/CN2022/077235 WO2022174838A1 (zh) | 2021-02-22 | 2022-02-22 | 一种驾驶场景识别方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110196810.9A CN112565468B (zh) | 2021-02-22 | 2021-02-22 | 一种驾驶场景识别方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565468A CN112565468A (zh) | 2021-03-26 |
CN112565468B true CN112565468B (zh) | 2021-08-31 |
Family
ID=75034461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110196810.9A Active CN112565468B (zh) | 2021-02-22 | 2021-02-22 | 一种驾驶场景识别方法及其系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112565468B (zh) |
WO (1) | WO2022174838A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565468B (zh) * | 2021-02-22 | 2021-08-31 | 华为技术有限公司 | 一种驾驶场景识别方法及其系统 |
CN115249408A (zh) * | 2022-06-21 | 2022-10-28 | 重庆长安汽车股份有限公司 | 一种自动驾驶测试数据的场景分类提取方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331138B2 (en) * | 2016-07-05 | 2019-06-25 | Baidu Usa Llc | Standard scene-based planning control methods for operating autonomous vehicles |
CN106347359B (zh) * | 2016-09-14 | 2019-03-12 | 北京百度网讯科技有限公司 | 用于操作自动驾驶车辆的方法和装置 |
CN108921200B (zh) * | 2018-06-11 | 2021-07-30 | 百度在线网络技术(北京)有限公司 | 用于对驾驶场景数据进行分类的方法、装置、设备和介质 |
CN110232335A (zh) * | 2019-05-24 | 2019-09-13 | 国汽(北京)智能网联汽车研究院有限公司 | 驾驶场景分类方法及电子设备 |
CN110304068B (zh) * | 2019-06-24 | 2021-02-19 | 中国第一汽车股份有限公司 | 汽车行驶环境信息的采集方法、装置、设备和存储介质 |
CN110796007B (zh) * | 2019-09-27 | 2023-03-03 | 华为技术有限公司 | 场景识别的方法与计算设备 |
CN110765661A (zh) * | 2019-11-22 | 2020-02-07 | 北京京东乾石科技有限公司 | 自动驾驶仿真场景生成方法及装置、电子设备、存储介质 |
CN111619482A (zh) * | 2020-06-08 | 2020-09-04 | 武汉光庭信息技术股份有限公司 | 一种车辆驾驶数据采集处理系统及方法 |
CN111694973B (zh) * | 2020-06-09 | 2023-10-13 | 阿波罗智能技术(北京)有限公司 | 自动驾驶场景的模型训练方法、装置、电子设备 |
CN112565468B (zh) * | 2021-02-22 | 2021-08-31 | 华为技术有限公司 | 一种驾驶场景识别方法及其系统 |
-
2021
- 2021-02-22 CN CN202110196810.9A patent/CN112565468B/zh active Active
-
2022
- 2022-02-22 WO PCT/CN2022/077235 patent/WO2022174838A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN112565468A (zh) | 2021-03-26 |
WO2022174838A1 (zh) | 2022-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113034095B (zh) | 结合rpa和ai的人机互动方法、装置、存储介质及电子设备 | |
US10819792B2 (en) | Device and method for extracting data from a communication bus of a motor vehicle | |
CN112565468B (zh) | 一种驾驶场景识别方法及其系统 | |
CN111241073A (zh) | 一种数据质量检查方法及装置 | |
CN112269827B (zh) | 数据处理方法、装置、计算机设备及计算机可读存储介质 | |
CN115509765B (zh) | 一种超融合云计算方法、系统、计算机设备及存储介质 | |
CN111090401B (zh) | 存储设备性能预测方法及装置 | |
CN112671487A (zh) | 一种车辆测试的方法、服务器以及测试车辆 | |
CN115878681A (zh) | 自动驾驶数据的获取方法及装置、存储介质及电子装置 | |
CN114860453A (zh) | 场景引擎的任务执行方法、装置、电子设备及存储介质 | |
CN115543809A (zh) | 自动驾驶功能的测试场景库构建方法及装置 | |
CN116125830A (zh) | 车辆仿真测试方法及装置 | |
CN114064449A (zh) | 一种仿真测试报告生成方法、装置、电子设备及存储介质 | |
CN105791888A (zh) | 一种视频分析的方法及装置 | |
CN113435503A (zh) | 数据处理方法及装置、存储介质和服务器 | |
CN111104611A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US20200371997A1 (en) | Electronic control unit comparison | |
CN111435450A (zh) | 一种道路数据处理方法及其装置 | |
CN111488928A (zh) | 用于获取样本的方法及装置 | |
CN112612514B (zh) | 程序开发方法和装置、存储介质及电子装置 | |
CN116756050B (zh) | 基于mbse的惯性产品用例分析方法、系统及存储介质 | |
CN118093518B (zh) | 模型的处理方法和装置、存储介质及电子设备 | |
CN118802771A (zh) | 一种流量数据的筛选方法、装置、设备及存储介质 | |
CN116089505A (zh) | 一种云控平台数据回灌方法及装置 | |
CN111416781A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |