具体实施方式
本申请实施例技术方案适用于自动驾驶仿真测试应用场景,采用本申请实施例技术方案,能够在进行自动驾驶仿真测试时,实时生成基于真实场景数据的仿真测试场景,将该仿真测试场景用于进行自动驾驶仿真测试,能够提高测试的可信度。
本申请实施例技术方案具体可适用于基于真实车辆的自动驾驶仿真测试场景,即由自动驾驶系统控制真实车辆在真实道路环境中进行行驶,从而测试自动驾驶系统的性能;也可适用于基于模拟车辆的虚拟自动驾驶仿真测试场景,即生成虚拟的自动驾驶行驶环境,以及在该环境中生成虚拟车辆,由自动驾驶系统控制该虚拟车辆在该虚拟的自动驾驶行驶环境中行驶,从而测试自动驾驶系统的性能。
在上述的两种自动驾驶仿真测试应用场景中,均需要向自动驾驶系统提供实时的测试场景数据,以便于自动驾驶系统能够基于测试场景数据控制车辆行驶。而本申请实施例技术方案则致力于针对上述的自动驾驶仿真测试应用场景,生成符合需求的真实且实时的测试场景数据,以便能够实现交互式的自动驾驶闭环测试,即实现仿真系统中的自动驾驶车辆与现实世界中的真实车辆相互影响的仿真。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
示例性方法
本申请实施例首先提出一种自动驾驶仿真测试场景生成方法,该方法可以由执行自动驾驶仿真测试的服务器、处理器等设备执行,或者由用于为自动驾驶仿真测试生成虚拟测试场景的设备执行,例如模拟器、控制器等。
该自动驾驶仿真测试场景生成方法包括:
S101、获取由自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据。
具体的,上述的自动驾驶车辆,是指在真实的自动驾驶仿真测试场地上行驶的自动驾驶车辆,例如在某一段用于自动驾驶仿真测试的道路上行驶的自动驾驶车辆。
在该自动驾驶车辆上装配有感知设备,例如摄像头、激光雷达、毫米波雷达等,能够用于对道路环境进行探测感知,并记录道路环境感知数据。
上述的路侧感知设备,则是指通过支架、路杆等支撑部件架设在自动驾驶仿真测试场地上方或侧方的、能够用于感知道路环境元素的设备,例如摄像头、激光雷达、毫米波雷达、红外探测器等。
路侧感知设备相对于道路行驶车辆,能够以更高、更广、更全面的视角对道路环境进行实时感知,并记录道路环境感知数据。此外,还可以沿场地道路设置多组路侧感知设备,实现对整个场地道路的无死角全覆盖感知。
当路侧感知设备有多组时,针对各组路侧感知设备采集的道路环境感知数据进行基于位置和时间的数据拼接,作为最终获取得到的道路环境感知数据。
例如图1所示,图中道路为进行自动驾驶仿真测试的场地道路,自动驾驶车辆A行驶于该道路上,则设置于自动驾驶车辆A上的感知设备能够随着自动驾驶车辆A在道路上的行驶,对车辆周边的道路环境进行感知,得到道路环境感知数据。
同时,架设于道路上方的路侧感知设备B也实时地对道路环境进行感知监测,获取道路环境感知数据。
上述的道路环境感知数据,包括自动驾驶仿真测试场地中所存在的多个场景元素对应的感知数据,比如场景元素的位置、尺寸、状态、颜色、纹理等。上述的场景元素包括机动车辆、非机动车辆、行人、建筑、植物、交通指示牌、交通指示灯、路面标线、围栏等。
具体而言,当道路环境感知数据为视频数据时,该视频数据中包括但不限于视频流、视点、流媒体协议类别及其版本、编码方式等数据内容;当道路环境感知数据为雷达感知数据时,该雷达感知数据中包括但不限于感知目标的状态和类别、感知目标ID、感知目标的数量、时间戳、视点等数据内容。
在实际实施本申请实施例技术方案时,若自动驾驶仿真测试场地中存在自动驾驶车辆和路侧感知设备,则可以获取自动驾驶车辆或路侧感知设备采集的道路环境感知数据。如果自动驾驶仿真测试场地中只存在自动驾驶车辆没有路侧感知设备,则获取自动驾驶车辆采集的道路环境感知数据;如果自动驾驶仿真测试场地中只存在路侧感知设备没有自动驾驶车辆,则获取路侧感知设备采集的道路环境感知数据。
S102、将所述道路环境感知数据与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景。
其中,所述交通环境三维模型为自动驾驶仿真测试环境的三维几何模型。
具体的,本申请实施例在生成自动驾驶仿真测试场景之前,预先对真实的自动驾驶仿真测试环境进行三维建模,得到交通环境三维模型。
示例性的,可以基于自动驾驶仿真测试场地所在地理区域的高精地图、城市信息模型(City Information Modeling,CIM),通过专业测绘设备对自动驾驶仿真测试场地所在地理区域进行测绘得到的测绘数据,利用建模软件和工具对上述的自动驾驶仿真测试场地所在地理区域进行三维几何建模,得到交通环境三维模型。该交通环境三维模型具有很高的精度,并且该三维模型以地理区域内的三维几何框架为主,这些结构属于较固定的结构,在建模完成后可以在较长时间内(例如数月或数年)持续使用该交通环境三维模型。
在上述的交通环境三维模型中,具体可以包含自动驾驶仿真测试场地所在地理环境的路网、建筑、基础设施(路灯、交通信号灯、装饰物等)等静态物的三维几何模型,还可以包括交通参与者的三维几何模型,例如各种类型的车辆的三维几何模型、各种类型的行人、动物等的三维几何模型。作为一种实施方式,上述的交通环境三维模型中的交通参与者的三维几何模型,可以直接设置于路网三维模型中,也可以置于路网之外形成专用的交通参与者三维几何模型资源库。当利用上述的交通环境三维模型生成仿真测试场景时,可以调用该交通环境三维模型中的交通参与者的三维几何模型进行纹理填充,得到仿真测试场景中的交通参与者。
本申请实施例在进行自动驾驶仿真测试场景构建之前,先构建交通环境三维模型,这样可以将交通环境的三维重建任务从自动驾驶仿真测试场景构建任务中分离,使得可以借助多源信息以离线的方式一次性完成交通环境的三维重建任务并确保极高的精度,进而使得构建自动驾驶仿真测试场景的质量和效率大幅提升。
当获取到由自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据后,本申请实施例将上述的道路环境感知数据与预先构建的交通环境三维模型进行拼接,即可得到自动驾驶仿真测试场景。
示例性的,交通环境三维模型为自动驾驶仿真测试场地所在地理环境的三维几何模型,该模型可以理解为是自动驾驶仿真测试场地的几何形状,在该模型中主要包括了自动驾驶仿真测试场地所在地理区域的建筑、街道等体积较大或变化性较小的元素。
而自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据,则是主要包含了这些体积较小或变化性较大的元素,并且可以保持较高的数据实时性。
因此,本申请实施例将由自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据与交通环境三维模型进行数据融合,例如根据道路环境感知数据中的各个元素在实际场地中的位置信息,将其与交通环境三维模型的相应位置处的三维几何数据相融合,这样可以使得该位置处既有几何框架数据,又有细节的道路环境数据,例如纹理数据、光波与电磁波的反射特性数据等,即得到完整的场景数据。
按照上述处理,将自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据,依次拼接到交通环境三维模型中,即可得到以该交通环境三维模型为基础的道路场景,该道路场景,即作为自动驾驶仿真测试场景。
通过上述介绍可见,本申请实施例提出的自动驾驶仿真测试场景生成方法,能够将路侧感知设备或自动驾驶车辆采集的道路环境感知数据与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景,该自动驾驶仿真测试场景基于路侧感知设备或自动驾驶车辆采集的真实环境数据构建得到,因此其具有高度的实时性和真实性。
将本申请上述方案应用于自动驾驶仿真测试中,可以实时地根据自动驾驶车辆或路侧感知设备采集的环境感知数据,生成自动驾驶仿真测试场景,并且能够保证场景的真实性。基于该自动驾驶仿真测试场景进行自动驾驶仿真测试,能够提高测试的可信度。
作为一种优选的实施方式,参见图2所示,上述的自动驾驶仿真测试场景生成方法,还包括:
S103、通过解析被测试的自动驾驶车辆在接收测试场景数据时的位置和姿态,确定目标视点。
S104、将所述自动驾驶仿真测试场景转换为目标视点的测试场景数据。
具体的,由步骤S101的介绍可知,上述的道路环境感知数据是由自动驾驶车辆或路侧感知设备采集得到的,其数据感知视点是自动驾驶车辆或路侧感知设备在采集感知数据时的视点。
比如图1中所示,假设道路环境感知数据是由自动驾驶车辆A采集得到的,则该道路环境感知数据的视点是自动驾驶车辆A采集该感知数据时的视点;若道路环境感知数据是由路侧感知设备B采集得到的,则该道路环境感知数据的视点是路侧感知设备B的视点。因此,基于上述的测试道路环境感知数据而生成的自动驾驶仿真测试场景的视点,是自动驾驶车辆A或路侧感知设备B在采集感知数据时的视点。
而本申请实施例生成的自动驾驶仿真测试场景,最终要用于控制自动驾驶车辆的行驶,因此,应当将生成的自动驾驶仿真测试场景转换为被测试的自动驾驶车辆视点的测试场景数据,使得被测试的自动驾驶车辆可以根据接收到的测试场景数据进行自动驾驶。
进一步的,应当将生成的自动驾驶仿真测试场景转换为自动驾驶车辆在接收到该测试场景数据时的视点的测试场景数据,这样可以保证自动驾驶车辆接收的场景数据的实时性和准确性,保证自动驾驶车辆所得即所见。
示例性的,先解析自动驾驶车辆接收测试场景数据时的位置,比如,根据自动驾驶车辆或路侧感知设备采集得到道路环境感知数据时,自动驾驶车辆的位置,自动驾驶车辆的行驶速度、行驶加速度,以及数据处理和传输的耗时,预测自动驾驶车辆接收测试场景数据时的位置。
然后,利用自动驾驶车辆接收测试场景数据时的位置以及自动驾驶车辆或路侧感知设备采集得到道路环境感知数据时的位置,确定位置映射关系,然后基于该位置映射关系,将步骤S102构建得到的自动驾驶仿真测试场景转换为自动驾驶车辆接收测试场景数据时的视点的测试场景数据。
S105、将所述目标视点的测试场景数据发送给车辆自动驾驶系统,以使所述车辆自动驾驶系统基于所述目标视点的测试场景数据控制自动驾驶车辆行驶。
上述的车辆自动驾驶系统,是指用于控制自动驾驶车辆实现自动驾驶的系统,该车辆自动驾驶系统可以位于自动驾驶车辆本地,也可以设置于远端服务器或设置于自动驾驶仿真测试控制器、处理器等,并且与自动驾驶车辆远程连接。
将上述的目标视点的测试场景数据发送给车辆自动驾驶系统,可以使得车辆自动驾驶系统基于上述目标视点的测试场景数据建模得到自动驾驶车辆所处的实时驾驶场景,即让车辆自动驾驶系统“看”到自动驾驶车辆所处的场景环境,然后由车辆自动驾驶系统自行根据其“所见”,控制自动驾驶车辆在该场景中行驶,例如控制自动驾驶车辆加速、减速、变道、停车等。在车辆自动驾驶系统控制自动驾驶车辆行驶过程中,通过观察自动驾驶车辆的行驶是否合规、正确,则可以判断车辆自动驾驶系统的性能是否符合要求。
本实施例在基于真实场景数据构建得到自动驾驶仿真测试场景的基础上,还对构建得到的自动驾驶仿真测试场景进行视点转换,将其转换为被测试的自动驾驶车辆在接收测试场景数据时的视点的测试场景数据,然后将该视点的测试场景数据发送给用于控制被测试的自动驾驶车辆的自动驾驶系统,这样可以使得生成的测试场景符合被测试的自动驾驶车辆的实际视点,能够进一步提高生成的自动驾驶场景的真实性和实时性,能够实现基于真实且实时的测试场景数据的闭环自动驾驶仿真测试。
作为一种示例,本申请实施例提出的自动驾驶仿真测试场景生成方法,可以应用于图3所示的自动驾驶仿真测试系统,该系统包括服务器101、路侧感知设备102以及至少一个车辆103。
其中,服务器101和路侧感知设备102之间,以及服务器101和车辆103之间,通过通信网络104连接。该通信网络104通常由接入网、核心网、承载网、传输网等部分组成。
基于该通信网络104,服务器101和路侧感知设备102之间,以及服务器101和车辆103之间,建立起远程数据通道105,实现数据交互。
路侧感知设备102与车辆103之间通过短程数据通道106连接,该短程数据通道106可以通过V2X等技术实现。
服务器101可以是运行于区域云或中心云之上的云服务器,其中存储有场景库、地图、数据集等数字信息,具备对自动驾驶系统进行仿真验证的功能,并且具有生成自动驾驶仿真测试场景的功能。
参见图4所示,服务器101中存储有道路三维模型1011,同时具备仿真系统1012、通信设备1013以及被测物1014。
其中,道路三维模型1011是道路之中和道路附近所有实物表面的多边形表示。道路三维模型中仅包含背景的几何学信息,不包含背景的纹理、亮度等光学信息,也不包含交通参与者的信息。在本申请实施例中,上述的道路三维模型1011即为上述实施例中所介绍的交通环境三维模型。
仿真系统1012,包括MIL、SIL、HIL、VIL、交通在环仿真等功能。
通信设备1013可以与路侧设备102和车辆103建立远程数据通道105。
被测物1014即为被测试的自动驾驶系统或自动驾驶算法。
路侧感知设备102架设在道路上方或两侧,具有彩色相机、夜视相机、毫米波雷达等高性能传感器,可以对道路和交通状况进行实时监测,并具有5G、V2X等通信能力。
参见图5所示,路侧感知设备102包括感知设备1021和通信设备1022。感知设备1021包括彩色相机、夜视相机和/或毫米波雷达等设备。通信设备1022可与服务器101之间建立远程数据通道105,以及与车辆103之间建立短程数据通道106。
上述的至少一个车辆103可以是普通的车辆,也可以是具有5G、V2X等通信能力,以及具有自动驾驶和/或辅助驾驶能力的自动驾驶车辆。当车辆103为自动驾驶车辆时,其可以是被测试的自动驾驶车辆,此时车辆103与服务器101之间建立远程数据通道105,以及与路侧感知设备102之间建立短程数据通道106。
当车辆103不是自动驾驶车辆时,车辆103不与服务器101和路侧感知设备102通信。服务器101可以基于路侧感知设备102所采集的车辆103所在道路的环境感知数据,构建虚拟的仿真环境,并在该仿真环境中对虚拟自动驾驶车辆进行仿真测试。
在上述的自动驾驶仿真测试系统中,服务器101可以通过执行本申请实施例提出的自动驾驶仿真测试场景生成方法,生成自动驾驶仿真测试场景,以便实现对自动驾驶车辆的测试。
下面,结合图3所示的系统架构,对本申请实施例提出的自动驾驶仿真测试场景生成方法中的处理步骤的具体实施方式进行介绍。
首先,在一个示例中,在获取由自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据后,可以通过如下A1-A4的处理,将获取的道路环境感知数据与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景:
A1、从道路环境感知数据中提取对应动态元素的感知数据,得到动态前景数据,以及,从所述道路环境感知数据中提取对应静态元素的感知数据,得到实时背景数据。
具体的,在上述的道路环境感知数据中,包括了感知设备在感知范围内能够感知到的所有道路元素的数据。而在实际的自动驾驶仿真测试过程中,自动驾驶仿真测试场景中的元素分为前景元素和背景元素,不同的元素对自动驾驶车辆的行驶的影响程度不同。通常而言,前景元素对自动驾驶车辆的影响更大,而背景元素则对自动驾驶车辆影响更小。
因此,本申请实施例对道路环境感知数据中的数据进行动态前景数据和道路背景数据划分,其中,动态前景数据包括道路上的动态元素的数据,即交通参与者和运动物体的数据,例如人、机动车、非机动车、动物等的感知数据;而道路背景数据则包括道路上的静态元素的数据,即未参与交通的物体以及保持静止或基本静止的物体的感知数据,例如路面、车道线、交通标志、围栏、红绿灯、花草树木、路面上的静止坠落物等的感知数据。
基于上述的动态前景数据和道路背景数据的划分,本申请实施例从道路环境感知数据中提取对应动态元素的感知数据,得到动态前景数据,以及,从所述道路环境感知数据中提取对应静态元素的感知数据,得到道路背景数据,并且将本步骤提取得到的道路背景数据,作为实时背景数据,以便于与历史处理过程中提取到的道路背景数据相区分。
作为示例性的实施方式,可以通过语义分割神经网络,从道路环境感知数据中分割出动态前景数据和道路背景数据;或者使用基于计算机图像学的方法,从道路环境感知数据中提取出动态前景数据和道路背景数据;或者,使用基于点云分割的方法,从道路环境感知数据中分割出动态前景数据和道路背景数据;或者,通过比对相邻的一个或多个视频帧像素内容的方法,从道路环境感知数据中识别出动态前景数据和道路背景数据;还可以使用雷达数据中所包含的探测物ID信息,从道路环境感知数据中识别出动态前景数据和道路背景数据;或者,将上述多种方法中的两种或多种方法联合应用,进行动态前景数据和道路背景数据的提取。
上述处理的具体过程,可参见上述方法的常规执行方案,本申请实施例不再详述。
接下来,即可通过后续步骤A2和A3,将动态前景数据和实时背景数据分别与预先构建的交通环境三维模型进行拼接,即可得到自动驾驶仿真测试场景:
A2、根据所述动态前景数据构建得到动态前景,以及,将所述实时背景数据与预先存储的实时背景数据进行融合确定道路背景纹理。其中,所述预先存储的实时背景数据,由所述路侧感知设备感知得到。
本申请实施例预先对动态前景数据对应的动态前景三维模型进行汇总,确定各种类型、各种形态的动态前景数据与动态前景三维模型的对应关系。例如,分别确定各种类型的机动车感知数据与相应的机动车三维模型的对应关系,分别确定各种类型的非机动车感知数据与相应的非机动车三维模型的对应关系。
在此基础上,在根据动态前景数据构建动态前景时,根据动态前景数据确定与动态前景数据对应的动态前景三维模型,并根据动态前景数据对动态前景三维模型进行纹理填充,得到动态前景。
即,将从道路环境感知数据中提取得到的动态前景数据,与预先确定的各种类型、各种形态的动态前景数据与相应的动态前景三维模型的对应关系中的各种类型、各种形态的动态前景数据进行对比,确定相同的动态前景数据,然后将该动态前景数据对应的动态前景三维模型作为与提取得到的动态前景数据对应的动态前景三维模型。
然后,利用从道路环境中提取得到的动态前景数据,对上述的动态前景三维模型进行纹理填充,即可得到动态前景。
作为一种示例性的实施方式,可以先确定动态前景数据的前景纹理特征,然后根据预先存储的前景纹理特征与动态前景三维模型的对应关系,确定前景纹理特征对应的动态前景三维模型;最后基于前景纹理特征,对前景纹理特征对应的动态前景三维模型进行纹理填充,得到动态前景。
具体的,由自动驾驶车辆或路侧感知设备采集的道路环境感知数据中包含道路元素的纹理数据,因此对动态前景数据中的纹理数据内容进行纹理特征提取,即可从动态前景数据中提取得到前景纹理特征。然后将提取的前景纹理特征,与预先存储的、各种前景纹理特征与动态前景三维模型的对应关系中的各种前景纹理特征进行对比,从中确定出与提取的前景纹理特征相同的前景纹理特征,并将该前景纹理特征对应的动态前景三维模型,确定为与提取的前景纹理特征对应的动态前景三维模型。最后,基于提取的前景纹理特征,对提取的前景纹理特征对应的动态前景三维模型进行纹理填充,得到动态前景。
上述的动态前景元素构建方式由于预先确定了各种类型、各种形态的动态前景数据与动态前景三维模型的对应关系,因此在实际构建动态前景元素时,能够显著提高动态前景的构建速度。
本申请实施例还预先通过如图3中所示的路侧感知设备,采集道路背景纹理数据,并进行存储。由于路侧感知设备的视角更高、更广,因此路侧感知设备能够最大程度地避免遮挡物的干扰和遮挡,采集到更全面、更真实的背景纹理数据。
基于上述预先存储的道路历史背景数据,当本申请实施例从道路环境感知数据中提取得到实时背景数据后,将实时背景数据与预先存储的历史背景数据进行融合确定道路背景纹理。
示例性的,将从道路环境感知数据中提取得到的实时背景数据与预先存储的历史背景数据进行对比,从历史背景数据和提取得到的实时背景数据中分别确定出对应目标场景区域的纹理数据。
其中,在上述历史背景数据中对应上述目标场景区域的纹理数据为有效纹理数据,且在上述提取得到的实时背景数据中对应上述目标场景区域的纹理数据为无效纹理数据。
也就是说,若某一场景区域在预先存储的历史背景数据中存在有效的纹理数据,而在提取得到的实时背景数据中对应该场景区域的纹理数据为无效纹理数据,例如由于遮挡、数据丢失等原因导致提取得到的道路背景数据中对应该场景区域的纹理数据缺失、纹理不清晰、纹理不正确等,均视为无效纹理数据,则该场景区域为目标场景区域。
然后,利用从所述历史背景数据中确定出的对应所述目标场景区域的纹理数据,替换所述实时背景数据中对应所述目标场景区域的纹理数据。
具体的,利用预先存储的历史背景数据中对应该目标场景区域的纹理数据,替换提取得到的实时背景数据中对应该目标场景区域的纹理数据,即达到利用预先存储的历史背景数据对实时背景数据中的该目标场景区域进行纹理填充的目的,使得实时背景数据中该目标场景区域存在有效纹理数据。
最后,基于数据替换后的所述实时背景数据,即可确定道路背景纹理。
A3、将所述道路背景纹理注册到预先构建的交通环境三维模型,以及,将所述动态前景添加至纹理与三维模型融合后的背景,得到自动驾驶仿真测试场景。
具体的,根据道路背景纹理的位置信息,将道路背景纹理注册至交通环境三维模型中,实现背景元素在交通环境三维模型中的生成。然后,根据动态前景的位置信息,将动态前景添加至填充背景后的交通环境三维模型中,也就是将动态前景添加至纹理与三维模型融合后的背景中,实现前景元素在交通场景中的生成。
至此,在上述的交通环境三维模型中,填充了背景和前景,构建得到了完整的自动驾驶仿真测试场景。
本申请实施例所提出的上述构建自动驾驶仿真测试场景的方式,并没有在最开始构建交通环境三维模型时直接在三维模型中生成背景数据,而是在实时构建场景时,根据实时采集的感知数据对预先构建的交通环境三维模型进行背景填充,这样能够保证构建得到的自动驾驶仿真测试场景的背景元素的实时性,例如能够更加真实地展现自动驾驶仿真测试场景的天气、光照等实时情况。
而且,本申请实施例能够借助架设在道路上方或侧方的路侧感知设备采集场景背景,并能够实现道路背景的填充,从而可以显著减少场景拼接的空洞,提高数据质量。
在完成自动驾驶仿真测试场景的构建之后,即可对构建得到的自动驾驶仿真测试场景进行视点转换,将其转换为自动驾驶车辆接收到该自动驾驶仿真测试场景数据时的视点,从而便于自动驾驶车辆能够按照准确、实时的场景数据进行行驶。
自动驾驶仿真测试可以是针对真实的自动驾驶车辆进行测试,也可以是在模拟环境中对虚拟的自动驾驶车辆进行测试,而当自动驾驶车辆的类型不同时,需要采用不同的方法确定视点转换的目标视点。
当被测试的自动驾驶车辆为虚拟的自动驾驶车辆时,上述的道路环境感知数据只能由图3中所示的路侧感知设备102采集得到,此时在将基于路侧感知设备102采集的环境道路感知数据构建得到的自动驾驶仿真测试场景转换为目标视点(即被测试的自动驾驶车辆接收测试场景数据时的视点)的测试场景数据时,先在虚拟测试场景中生成虚拟自动驾驶车辆。上述的虚拟测试场景,可以是由模拟器根据上述构建得到的自动驾驶仿真测试场景而模拟生成的测试场景。
其中,在虚拟测试场景中生成的虚拟自动驾驶车辆的位置、姿态和行为等,均可以根据实际的测试目的和测试需求而定。
在虚拟测试场景中生成虚拟自动驾驶车辆后,即可根据虚拟自动驾驶车辆的位置、姿态、行为等,确定该虚拟驾驶车辆的视点,并将该视点作为目标视点。
然后,即可将构建得到的自动驾驶仿真测试场景转换为上述目标视点的测试场景数据。
在对上述的自动驾驶仿真测试场景进行视点转换时,可以分别对其中的前景、背景以及三维几何结构进行视点转换,将前景、背景以及三维几何结构均转换为目标视点,然后再将视点转换后的前景、背景以及三维几何结构进行拼接,即可实现对整个自动驾驶仿真测试场景的视点转换。
其中,对前景、背景以及三维几何结构的视点转换,可以采用任意可行的视点转换方法。
当被测试的自动驾驶车辆为真实的自动驾驶车辆时,例如图3中的车辆103为被测试的自动驾驶车辆时,上述的道路环境感知数据可以由自动驾驶车辆103采集得到,也可以由路侧感知设备102采集得到。
但不论是路侧感知设备102还是车辆103采集得到道路环境感知数据,由于车辆103的行驶以及数据处理、数据传输的耗时,道路环境感知数据被采集时的视点,均不是车辆103最终真正接收到测试场景数据时的视点,因此有必要对构建得到的自动驾驶仿真测试场景数据进行视点转换。
参见如图3所示的系统场景,可以通过如下B1-B3的处理,实现对构建得到的自动驾驶仿真测试场景的视点转换:
B1、预测确定真实自动驾驶车辆在接收测试场景数据时的位置和姿态。
具体的,首先确定上述的道路环境感知数据被采集时,被测试的真实自动驾驶车辆所在的位置和姿态。也就是,确定当图3中的路侧感知设备102或车辆103采集得到道路环境感知数据时,车辆103所处的位置和姿态。
然后,根据所确定的在采集得到道路环境感知数据,真实自动驾驶车辆所处的位置和姿态,真实自动驾驶车辆的运动参数,以及利用道路环境感知数据构建自动驾驶仿真测试场景、进行视点转换等数据处理的时延、数据传输的时延等,确定真实自动驾驶车辆在接收测试场景数据时的位置和姿态。其中,上述的真实自动驾驶车辆的运动参数,包括自动驾驶车辆的速度、运动方向和运动加速度等。
例如在图3所示的系统场景中,车辆103或路侧感知设备102在t1时刻采集到道路环境感知数据,并将其发送给了服务器101。此后,路侧感知设备102继续采集道路环境感知数据,而车辆103则继续向前行驶,同时继续采集道路环境感知数据。假设经过T1时长后,在t2时刻,服务器101根据t1时刻的道路环境感知数据构建得到了自动驾驶仿真测试场景,再经过T2时长后,在t3时刻,服务器101将构建得到的自动驾驶仿真测试场景转换为车辆103视点的测试场景数据。而且,根据网络数据传输性能确定了,服务器101将数据发送至车辆103需要耗费的时间为T3。则可以计算确定,从t1时刻采集到道路环境感知数据,到t1时刻采集的道路环境感知数据对应的自动驾驶仿真测试场景最终发送到车辆103,期间要经过T1+T2+T3的时间。而在这一时间段内,车辆103一直是在持续行驶的。
当明确车辆103在t1时刻的位置和姿态后,根据车辆103的运动速度、运动方向和运动加速度等运动参数,即可计算确定车辆103在t1+ T1+T2+T3时刻的位置和姿态,也就是确定车辆103在接收根据t1时刻的道路环境感知数据构建得到的自动驾驶仿真测试场景数据时的位置和姿态。
B2、基于所述真实自动驾驶车辆在接收测试场景数据时的位置和姿态,确定所述真实自动驾驶车辆的视点,作为目标视点。
具体的,在确定真实自动驾驶车辆接收测试场景数据时的位置和姿态后,即可根据真实自动驾驶车辆接收测试场景数据时的位置和姿态,确定自动驾驶车辆的视点,作为目标视点。
例如,根据图3中所示的车辆103在t1+ T1+T2+T3时刻的位置和姿态,可以确定车辆103的视点,作为目标视点。
B3、将所述自动驾驶仿真测试场景转换为所述目标视点的测试场景数据。
在确定目标视点后,即可将构建得到的自动驾驶仿真测试场景转换为目标视点的测试场景数据。具体的视点转换方案可参见上述实施例或常规的自动驾驶仿真测试场景视点转换方法。
进一步的,在另一种实施例中,在执行完上述步骤B3后,还可以继续执行步骤B4:
B4、在所述目标视点的测试场景数据中生成目标NPC车辆。其中,所述目标NPC车辆为所述自动驾驶车辆在所述目标视点时所能观测到的NPC车辆。
具体的,在明确自动驾驶车辆接收测试场景数据时的目标视点后,可以构建自动驾驶车辆在目标视点时所能观测到的NPC车辆,并将其添加至目标视点的测试场景数据中。这样,当自动驾驶车辆根据目标视点的测试场景数据建模得到自动驾驶仿真测试场景时,即可得到包含NPC车辆的自动驾驶仿真测试场景。
上述的NPC车辆的位置、姿态、速度、加速度、尺寸等,均可以根据仿真测试业务场景和仿真测试需求而灵活设置。
作为一种示例性的实施方式,参见图3所示,服务器101也可以在构建得到NPC车辆后,将NPC车辆的位置、姿态、速度、加速度、尺寸等数据通过远程数据通道105发送给路侧感知设备102,然后由路侧感知设备102再通过短程数据通道106将这些数据发送给车辆103,由车辆103自行在接收到的测试场景数据中添加NPC车辆数据。
需要说明的是,本申请上述实施例介绍的自动驾驶仿真测试场景,仅介绍了由某一个时刻采集的道路环境感知数据构建自动驾驶仿真测试场景的处理过程。在实际实施本申请实施例技术方案时,可以循环执行上述过程,从而实现自动驾驶车辆或路侧感知设备实时采集道路环境感知数据,并生成自动驾驶仿真测试场景,从而实现仿真系统中的虚拟或真实的自动驾驶车辆与现实世界中的真实车辆相互影响的交互式的闭环仿真测试。
示例性装置
相应的,本申请实施例还提供了一种自动驾驶仿真测试场景生成装置,该装置包括:
数据获取单元,用于获取由自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据;所述道路环境感知数据包括多个道路场景元素对应的感知数据;
拼接处理单元,用于将所述道路环境感知数据与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景;其中,所述交通环境三维模型为自动驾驶仿真测试环境的三维几何模型。
作为一种可选的实施方式,参见图6所示,上述的自动驾驶仿真测试场景生成装置,包括:
数据获取单元100,用于获取由自动驾驶车辆或路侧感知设备采集得到的道路环境感知数据;所述道路环境感知数据包括多个道路场景元素对应的感知数据;
拼接处理单元110,用于将所述道路环境感知数据与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景;其中,所述交通环境三维模型为自动驾驶仿真测试环境的三维几何模型;
视点确定单元120,用于通过解析被测试的自动驾驶车辆在接收测试场景数据时的位置和姿态,确定目标视点;
视点转换单元130,用于将所述自动驾驶仿真测试场景转换为目标视点的测试场景数据,其中,所述目标视点为自动驾驶车辆接收测试场景数据时的视点。
作为一种可选的实施方式,上述的自动驾驶仿真测试场景生成装置,还包括:
数据发送单元,用于将所述目标视点的测试场景数据发送给车辆自动驾驶系统,以使所述车辆自动驾驶系统基于所述目标视点的测试场景数据控制自动驾驶车辆行驶。
作为一种可选的实施方式,在将自动驾驶仿真测试场景用于对虚拟自动驾驶车辆进行仿真测试的情况下,所述通过解析被测试的自动驾驶车辆在接收测试场景数据时的位置和姿态,确定目标视点,包括:
在虚拟测试场景中生成被测试的虚拟自动驾驶车辆;
基于生成的所述虚拟自动驾驶车辆的位置和姿态,确定所述虚拟自动驾驶车辆的视点,作为目标视点。
作为一种可选的实施方式,在将自动驾驶仿真测试场景用于对真实自动驾驶车辆进行仿真测试的情况下,所述通过解析被测试的自动驾驶车辆在接收测试场景数据时的位置和姿态,确定目标视点,包括:
预测确定真实自动驾驶车辆在接收测试场景数据时的位置和姿态;
基于所述真实自动驾驶车辆在接收测试场景数据时的位置和姿态,确定所述真实自动驾驶车辆的视点,作为目标视点。
作为一种可选的实施方式,在将所述自动驾驶仿真测试场景转换为所述目标视点的测试场景数据之后,所述视点转换单元130还用于:
在所述目标视点的测试场景数据中生成目标NPC车辆;其中,所述目标NPC车辆为所述自动驾驶车辆在所述目标视点时所能观测到的NPC车辆。
作为一种可选的实施方式,所述预测确定真实自动驾驶车辆在接收测试场景数据时的位置和姿态,包括:
确定采集得到所述道路环境感知数据时,真实自动驾驶车辆所处的位置和姿态;
根据所述真实自动驾驶车辆所处的位置和姿态、所述真实自动驾驶车辆的运动参数,以及数据处理和传输时延,确定所述真实自动驾驶车辆在接收测试场景数据时的位置和姿态;
其中,所述真实自动驾驶车辆的运动参数,包括所述自动驾驶车辆的运动速度、运动方向和运动加速度。
作为一种可选的实施方式,所述将道路环境感知数据与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景,包括:
从道路环境感知数据中提取对应动态元素的感知数据,得到动态前景数据,以及,从所述道路环境感知数据中提取对应静态元素的感知数据,得到实时背景数据;
将所述动态前景数据和所述实时背景数据分别与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景。
作为一种可选的实施方式,将所述动态前景数据和所述实时背景数据分别与预先构建的交通环境三维模型进行拼接,得到自动驾驶仿真测试场景,包括:
根据所述动态前景数据构建得到动态前景,以及,将所述实时背景数据与预先存储的历史背景数据进行融合确定道路背景纹理;其中,所述预先存储的历史背景数据,由所述路侧感知设备感知得到;
将所述道路背景纹理注册到预先构建的交通环境三维模型,以及,将所述动态前景添加至纹理与三维模型融合后的背景,得到自动驾驶仿真测试场景。
作为一种可选的实施方式,根据所述动态前景数据构建得到动态前景,包括:
根据所述动态前景数据确定与所述动态前景数据对应的动态前景三维模型,并根据所述动态前景数据对所述动态前景三维模型进行纹理填充,得到动态前景。
作为一种可选的实施方式,根据所述动态前景数据确定与所述动态前景数据对应的动态前景三维模型,并根据所述动态前景数据对所述动态前景三维模型进行纹理填充,得到动态前景,包括:
确定所述动态前景数据的前景纹理特征;
根据预先存储的前景纹理特征与动态前景三维模型的对应关系,确定所述前景纹理特征对应的动态前景三维模型;
基于所述前景纹理特征,对所述前景纹理特征对应的动态前景三维模型进行纹理填充,得到动态前景。
作为一种可选的实施方式,将所述实时背景数据与预先存储的历史背景数据进行融合确定道路背景纹理,包括:
将所述实时背景数据与预先存储的历史背景数据进行对比,从所述历史背景数据和所述实时背景数据中分别确定出对应目标场景区域的纹理数据;其中,在所述历史背景数据中对应所述目标场景区域的纹理数据为有效纹理数据,且在所述实时背景数据中对应所述目标场景区域的纹理数据为无效纹理数据;
利用从所述历史背景数据中确定出的对应所述目标场景区域的纹理数据,替换所述实时背景数据中对应所述目标场景区域的纹理数据;
基于数据替换后的所述实时背景数据,确定道路背景纹理。
本实施例提供的自动驾驶仿真测试场景生成装置,与本申请上述实施例所提供的自动驾驶仿真测试场景生成方法属于同一申请构思,可执行本申请上述任意实施例所提供的自动驾驶仿真测试场景生成方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的自动驾驶仿真测试场景生成方法的具体处理内容,此处不再加以赘述。
示例性系统
可选地,本申请实施例还提供了一种自动驾驶仿真测试场景生成系统,参见图7所示,该系统包括服务器01,以及与服务器01通信连接的路侧感知设备02。
其中,路侧感知设备02用于采集道路环境感知数据,并将采集的道路环境感知数据发送给服务器01。
服务器01,则用于通过与路侧感知设备02和/或自动驾驶车辆进行数据交互,例如接收路侧感知设备02和/或自动驾驶车辆发送的道路环境感知数据,实现上述任意实施例所介绍的自动驾驶仿真测试场景生成方法。
本实施例提供的自动驾驶仿真测试场景生成系统,与本申请上述实施例所提供的自动驾驶仿真测试场景生成方法属于同一申请构思,可执行本申请上述任意实施例所提供的自动驾驶仿真测试场景生成方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请上述实施例提供的自动驾驶仿真测试场景生成方法的具体处理内容,此处不再加以赘述。
示例性电子设备
本申请另一实施例还提出一种电子设备,参见图8所示,该设备包括:
存储器200和处理器210;
其中,所述存储器200与所述处理器210连接,用于存储程序;
所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的自动驾驶仿真测试场景生成方法。
具体的,上述电子设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器210可以是通用处理器,例如通用中央处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种自动驾驶仿真测试场景生成方法的各个步骤。
示例性计算机程序产品和存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的自动驾驶仿真测试场景生成方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的自动驾驶仿真测试场景生成方法中的步骤。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。