具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的方案,可以应用于对可移动平台的控制系统进行仿真测试。所述可移动平台可以是能够自主移动的任意设备,例如车辆、轮船、航空器、智能机器人等。所述控制系统可以是基于视觉图像的控制系统,所述控制系统能够通过可移动平台的视觉传感器获取周围环境图像,并根据环境图像输出对应的控制信号,以实现对可移动平台的控制。
在实际应用中,对于基于视觉图像的控制系统来说,仿真测试验证往往是必不可少的。以车辆的驾驶控制系统为例,为了保证系统的性能,在系统的产品开发验证阶段,需要对系统进行仿真测试及实际道路测试。在仿真测试中,可以使用相机作为图像输入,来测试系统在模拟环境中的性能。
图1为本申请实施例提供的一种应用场景示意图。如图1所示,驾驶控制系统以及与之连接的相机构成被测试系统,仿真器(Simulator)可以输出道路视频给显示设备,由显示设备进行显示,相机采集到显示设备显示的道路视频后,自动驾驶系统可以根据相机采集到的道路视频输出驾驶控制信号,仿真器根据驾驶控制信号进一步调整输出的道路视频。
这样,仿真测试可以将道路视频播放给相机“观看”,让驾驶控制系统
“认为”自己在实际道路上行驶,进而做出和实际道路测试一样的运算及输出对应驾驶控制信号给到仿真器,仿真器再通过驾驶控制系统输出的控制信号来确定下一帧道路图像并输出,从而实现对测试验证过程。
以上的测试方法一般被称为硬件在环实验(Hardware In Loop,HIL),这种实验完整地测试了整套系统(包括系统的硬件及软件部分),在汽车软件过程改进及能力评定(Automotive Software Process Improvement and Capacity Determination,A-SPICE)里面描述的V字模型(V-module)里属于系统鉴定测试(System Qualification Test)层次,是系统验证过程中必不可少的一环。
通过上述方法可以实现硬件在环的模拟仿真测试,使得使用视觉技术开发的产品做功能验证的时候不需要到实际使用场景中进行测试。但是,基于单相机的驾驶控制系统不存在立体深度问题,因此可以通过单一显示设备实现仿真测试,而对于依赖立体视觉系统作为观测输入源的驾驶控制系统,通过单一显示设备的方式,获取到的图像经过两个相机输入到系统后,无法通过立体匹配的方式重建视频流描述的立体场景,因为通过两个相机获取到的图像是一个平面,不是一个实际的立体场景,原理上深度信息丢失,造成无法二次重建立体信息。因此,基于立体视觉的驾驶控制系统难以通过常规的视觉仿真技术进行测试,只能依赖实际道路测试,测试效率较低,且成本较高。
有鉴于此,本申请实施例提供一种仿真测试方法,可以获取待测试的驾驶控制系统输出的驾驶控制信号,根据所述驾驶控制信号以及预设的虚拟场景模型,模拟车辆在虚拟场景模型中的运动,并生成车辆的多个视觉传感器可观测到的场景图像,从而所述驾驶控制系统可以根据生成的多个场景图像构建立体信息并输出对应的驾驶控制信号,实现对基于立体视觉的驾驶控制系统的仿真测试,从而在仿真测试中经济高效地测试验证驾驶控制系统的大部分基本功能,解决了依赖大量道路测试带来的不可靠性、场景测试类别不全及高投入等实际问题,有效提高了测试效率,降低了测试成本。
下面结合附图,对本申请的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图2为本申请实施例提供的一种仿真测试方法的流程示意图。本实施例中的方法可以应用于仿真测试系统。所述仿真测试系统可以用于基于虚拟的场景模型测试可移动平台的控制系统,所述场景模型包括多个场景元素。所述控制系统可以用于,基于至少两个视觉传感器观测到的场景图像,输出用于控制所述可移动平台的控制信号。
所述仿真测试系统可以包括仿真器,由仿真器执行下述方法,也可以包括仿真器及其它器件,由仿真器及其它器件共同完成下述方法。如图2所示,所述方法可以包括:
步骤201、获取所述控制系统输出的所述可移动平台的控制信号。
本申请实施例可以应用于对任意类型的可移动平台的控制系统进行仿真测试。为了便于描述,本实施例中以对车辆的驾驶控制系统进行测试为例进行说明。可以理解的是,该方法也适用于对其它可移动平台的控制系统进行测试。
相应的,本步骤的控制系统可以为应用于车辆的驾驶控制系统,输出的控制信号可以为驾驶控制信号,所述可移动平台可以为车辆。所述驾驶控制系统可以基于软件、硬件或者软硬件结合的方式来实现。在本步骤中,可以获取待测试的驾驶控制系统输出的驾驶控制信号,所述驾驶控制信号为所述驾驶控制系统根据历史输入的场景图像和预设的驾驶控制模型输出的用于控制车辆的驾驶控制信号。其中,所述驾驶控制系统可以为自动驾驶系统(Autopilot System)、自动驾驶辅助系统(Automatic Driving Assistance System,ADAS)或者任意能够实现驾驶控制的系统。
具体来说,车辆可以设置有多个视觉传感器,所述多个视觉传感器可以设置在车辆的不同位置,例如,可以设置在车辆前挡风的不同位置,通过多个不同位置的视觉传感器可以采集到不同的画面,从而通过多个画面可以构建周围环境的深度信息,以更好地进行驾驶控制。
所述驾驶控制模型可以是预先设置好的驾驶控制模型,所述模型的输入可以包括多个视觉传感器分别采集到的图像,输出可以包括对应的驾驶控制信号。所述驾驶控制信号可以用于对车辆进行控制,可选的,所述驾驶控制信号可以用于对车辆的速度、方向、刹车等各方面进行控制。
所述驾驶控制信号基于多个视觉传感器采集到的图像生成,举例来说,当根据多个视觉传感器采集到的图像确定前方有障碍物时,输出的驾驶控制信号可以为:刹车;当根据多个视觉传感器采集到的图像确定前方路面平坦、无障碍物时,输出的驾驶控制信号可以为:以加速度a行驶;等等。
可选的,所述驾驶控制信号也可以在多个视觉传感器采集到的图像的基础上,结合其他信息如路径规划、道路管制信息等综合确定的。例如,当根据多个视觉传感器采集到的图像确定前方红绿灯当前处于绿灯状态,且根据路径规划当前需要左转,则输出的驾驶控制信号可以为:向左转弯。
在本申请实施例中,所述可移动平台可以是实体的可移动平台,也可以是虚拟的可移动平台,所述视觉传感器可以是实体的视觉传感器,也可以是虚拟的视觉传感器。
例如,在仿真测试阶段,并不需要把驾驶控制系统直接安装到实际车辆中进行整车测试,而是由仿真器根据驾驶控制系统输出的信号进行仿真测试,相当于由驾驶控制系统控制着虚拟车辆。
可选的,所述驾驶控制系统可以与仿真器相连,仿真器可以输出场景图像给驾驶控制系统,驾驶控制系统可以根据历史输入的场景图像和预设的驾驶控制模型输出驾驶控制信号给仿真器,再由仿真器根据驾驶控制信号更新场景图像并输出给驾驶控制系统。
具体地,仿真器可以根据驾驶控制信号实时更新车辆在虚拟场景中的位置,进而更新驾驶控制系统所能“观看”到的场景图像。当车辆前进或者后退时,场景图像也会相应发生变化,类似于赛车游戏,相当于驾驶控制系统控制着车辆在虚拟的场景中运行。
步骤202、基于所述控制信号,模拟所述可移动平台在所述场景模型中运动,得到所述可移动平台与所述场景元素之间的相对位姿。
其中,所述场景元素可以为场景模型中的任意元素,例如,在进行道路模拟测试时,所述场景元素可以包括车道线、路障、树木、行人、交通信号灯等等,用于模拟实际的道路环境。
所述相对位姿可以包括所述可移动平台相对于所述场景模型中的一个或多个场景元素的位置和/或角度信息。
步骤203、根据所述相对位姿生成多个场景图像,所述多个场景图像包括所述可移动平台在所述场景模型中运动时,至少两个所述视觉传感器观测到的场景图像。
其中,至少两个视觉传感器构成多目视觉传感器,能够采集周围环境的图像。本申请实施例不限制视觉传感器的数量和位姿,传感器的数量可以有两个或者更多个,多个传感器可以是左右设置的,也可以是上下设置的,也可以以其它任意方式设置。
根据车辆与至少一个场景元素的相对位姿,可以确定安装在所述车辆上的视觉传感器的相对于周围场景元素的位置、角度等信息,进而可以确定所述视觉传感器观测到的场景图像。
可选的,所述多个场景图像的数量可以与视觉传感器的数量一致,例如,控制系统使用车辆的左右两个视觉传感器采集到的图像作为输入,则本步骤中生成的多个场景图像可以包括左侧视觉传感器可观测到的场景图像以及右侧视觉传感器可观测到的场景图像。
步骤204、输出所述多个场景图像,以使所述控制系统根据所述多个场景图像生成对应的控制信号。
例如,仿真器可以根据从驾驶控制系统获取到的驾驶控制信号输出对应的多个场景图像,输出的多个场景图像可以用于模拟车辆的多个视觉传感器拍摄到的有视差的图像。具体的,所述场景图像可以是车辆响应于所述控制信号,在场景模型中运动后所能观测到的场景图像。随着车辆的不断向前行驶,仿真器可以输出具有视差的视频流。这样可以形成一个不断控制并更新场景图像的过程,从而实现对驾驶控制系统的测试。
可选的,场景图像也可以不是由仿真器直接输出到控制系统的,而是由其它设备输入到控制系统,本实施例对此不作限制。
以上以对车辆的驾驶控制系统进行测试为例对本实施例的方案进行了说明。在此基础上,也可以将车辆替换为其它可移动平台,将驾驶控制系统替换为其它控制系统,从而实现对基于立体视觉的其它控制系统的测试。
一个示例中,所述可移动平台可以为轮船,所述场景模型可以为轮船实际工作场景对应的模型,例如,可以为河流对应的模型。所述轮船可以安装有控制系统以及多个视觉传感器,通过本实施例中所述的方法可以实现对轮船的控制系统的测试,从而辅助实现轮船的自动驾驶测试验证。
另一示例中,所述可移动平台可以为智能机器人,所述场景模型可以为机器人实际工作场景对应的模型,例如,可以为商场或仓库对应的模型。所述智能机器人可以安装有控制系统以及多个视觉传感器,通过本实施例中所述的方法可以实现对智能机器人的控制系统的测试,从而辅助实现智能机器人的自主移动测试验证。
本实施例提供的仿真测试方法,可以应用于仿真测试系统,所述仿真测试系统用于基于虚拟的场景模型测试可移动平台的控制系统,所述场景模型包括多个场景元素,所述控制系统用于基于至少两个视觉传感器观测到的场景图像输出用于控制所述可移动平台的控制信号,其中,所述仿真测试系统具体可以获取所述控制系统输出的所述可移动平台的控制信号,基于所述控制信号,模拟所述可移动平台在所述场景模型中运动,得到所述可移动平台与所述场景元素之间的相对位姿,根据所述相对位姿生成多个场景图像,所述多张场景图像包括所述可移动平台在所述场景模型中运动时,至少两个所述视觉传感器观测到的场景图像,并输出所述多个场景图像,以使所述控制系统根据所述多个场景图像生成对应的控制信号,从而能够通过生成至少两个视觉传感器可观测的场景图像来模拟控制系统的实际图像输入,实现对基于立体视觉的控制系统的仿真测试,经济、高效地测试验证控制系统的基本功能,解决了依赖大量道路测试带来的不可靠性、场景测试类别不全及高投入等实际问题,有效提高了测试效率,降低了测试成本。
在上述实施例提供的技术方案的基础上,可选的是,根据所述相对位姿生成多个场景图像,可以包括:
根据所述可移动平台与所述场景元素之间的相对位姿,确定所述可移动平台可观测到的场景元素的成像变化,并基于所述成像变化生成多个场景图像。
其中,所述相对位姿可以包括所述可移动平台相对于所述场景模型中的一个或多个场景元素的位置和/或角度信息。根据所述相对位姿,可以确定所述可移动平台可观测到的场景元素。所述场景元素在所述可移动平台搭载的视觉传感器上的成像信息,可以基于所述相对位姿确定。
当所述相对位姿发生变化时,所述场景元素的成像也会发生变化,基于这种成像变化,可以确定相对位姿改变后所述视觉传感器观测到的场景元素的成像信息,从而生成对应的场景图像。
通过所述相对位姿确定所述可移动平台可观测的场景元素的成像变化,并基于所述成像变化生成多个场景图像,能够准确地构建出可移动平台可观测到的场景图像,提高仿真测试的效率和准确性。
在一种可选的实现方式中,在根据所述相对位姿生成多个场景图像时,可以具体根据所述可移动平台与所述场景元素之间的相对位姿以及立体视觉参数,生成所述多个场景图像。
其中,所述立体视觉参数可以包括但不限于视觉传感器的高度、拍摄角度、基线参数等。
根据可移动平台与至少一个场景元素的相对位姿以及立体视觉参数,可以确定安装在所述可移动平台上的视觉传感器相对于周围场景元素的位置、角度等信息,进而可以确定所述视觉传感器观测到的场景图像,从而可以更加精准地生成各个视觉传感器可观测到的场景图像,进一步提高仿真测试的准确性。
在一种可选的实现方式中,所述立体视觉参数由所述至少两个视觉传感器的安装位姿和/或所述至少两个视觉传感器之间的相对位姿确定。
在一种可选的实现方式中,输出所述多个场景图像,包括:
将所述多个场景图像通过图像输出接口发送给所述控制系统。
在一种可选的实现方式中,将所述多个场景图像通过图像输出接口发送给所述控制系统,包括:
将所述多个场景图像转换为预设格式的多个场景图像;
将所述预设格式的多个场景图像通过图像输出接口发送给所述控制系统。
在一种可选的实现方式中,输出所述多个场景图像,以使所述控制系统根据所述多个场景图像生成对应的控制信号,包括:
将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多
个场景图像,使得所述控制系统基于所述至少两个视觉传感器拍摄所述显示设备得到的图像输出对应的控制信号;
其中,所述视觉传感器的数量和显示的场景图像的数量相同;所述至少两个视觉传感器与所述多个场景图像一一对应,所述视觉传感器用于对对应的场景图像进行拍摄。
在一种可选的实现方式中,所述显示设备的数量与所述视觉传感器的数量相同,至少两个所述显示设备与所述至少两个视觉传感器一一对应,每一视觉传感器用于对对应的显示设备显示的画面进行拍摄;
相应的,将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像,包括:
将每一场景图像发送给与其对应的显示设备进行显示,以通过至少两个所述显示设备显示所述多个场景图像。
在一种可选的实现方式中,在将每一场景图像发送给与其对应的显示设备进行显示之前,还包括:
根据所述视觉传感器对应的标定参数,对所述多个场景图像中的至少部分图像进行图像转换。
在一种可选的实现方式中,根据所述相对位姿生成多个场景图像,包括:
根据所述可移动平台与所述场景元素之间的相对位姿、立体视觉参数以及所述视觉传感器对应的标定参数,生成多个场景图像。
在一种可选的实现方式中,所述方法还包括:
通过相机标定法对所述视觉传感器进行标定,以确定所述视觉传感器的标定参数。
在一种可选的实现方式中,所述显示设备为3D显示设备;
将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像,包括:
将所述多个场景图像发送给所述3D显示设备,以使所述3D显示设备通过3D投影方式显示所述多个场景图像。
在一种可选的实现方式中,所述方法还包括:
根据所述可移动平台与所述场景元素之间的相对位姿,确定对应的传感信息;
输出所述传感信息,以使所述控制系统根据所述多个场景图像以及所述传感信息确定对应的控制信号。
在一种可选的实现方式中,所述传感信息包括所述场景元素对应的点云数据。
在一种可选的实现方式中,所述方法还包括:
根据所述控制信号,确定所述可移动平台的运行状态;
根据所述可移动平台的运行状态,对所述控制系统进行评价。
在一种可选的实现方式中,所述可移动平台为车辆,所述控制系统为应用于车辆的驾驶控制系统。
下面再以一些具体的实施例对本申请的技术方案进行详细说明。本申请给出的各个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。在某些实施例中没有详细描述的内容,可以参照其它实施例中的相关描述。
图3A为本申请实施例提供的另一种仿真测试方法的流程示意图。本实施例中的方法可以由仿真器执行,也可以由仿真器和其它器件共同完成。如图3A所示,所述方法可以包括:
步骤301、获取待测试的控制系统输出的控制信号,所述控制信号为所述控制系统根据历史输入的场景图像和预设的控制模型输出的用于控制可移动平台的控制信号。
步骤302、根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像。
其中,所述场景模型包括多个场景元素。
所述至少两个场景图像包括第一场景图像和第二场景图像,所述第一场景图像包括第一像素区域,所述第二场景图像包括第二像素区域,所述第一像素区域和所述第二像素区域描述同一所述场景元素;所述第一像素区域在所述第一场景图像中的位置,与所述第二像素区域在所述第二场景图像中的位置之间的位置偏差,根据所述可移动平台的视觉传感器之间的相对位姿确定。
输出的多个所述场景图像用于表征所述可移动平台响应于所述控制信号运动,与所述场景元素之间的相对位姿改变后,所述可移动平台的所述视觉传感器所观测到的所述场景元素的场景图像。
本实施例中,控制系统、仿真器、场景模型及场景元素等相关概念的解释以及各步骤的具体实现原理和过程,可以参见前述实施例,此处不再赘述。
本实施例中,输出的多个场景图像可以是具有视差的多个场景图像。图3B为本申请实施例提供的一种场景图像中场景元素的位置示意图。如图3B所示,左右两幅图像为输出的两个场景图像,所述两个场景图像具有视差。
具体来说,对于任意一个场景元素例如树木来说,不同的场景图像中,该树木的位置可以是不同的,这是因为人的两只眼睛具有一定的距离,左右两只眼睛看物体时是从不同角度看到,所以会导致物体在左右眼的视图中处于不同的位置,从而形成视差。而基于立体视觉的控制系统正是利用的这一原理,通过具有视差的多个图像构建周围环境的深度信息,从而更加精准地实现对车辆的控制。
在对驾驶控制系统进行测试时,可以向控制系统输出根据场景模型生成的至少两个场景图像,场景模型中的同一场景元素在不同的场景图像中可以位于不同的像素区域。
参见图3B,树木在第一场景图像中的位置与其在第二场景图像中的位置可以不同,具体的,所述树木在第一场景图像中可以位于第一像素区域,在第二场景图像中可以位于第二像素区域。所述第一像素区域在第一场景图像中的位置,与所述第二像素区域在第二场景图像中的位置,不是完全重合的,而是具有一定的偏差。
在对车辆的驾驶控制系统进行仿真测试的场景下,所述第一像素区域在所述第一场景图像中的位置,与所述第二像素区域在所述第二场景图像中的位置之间的位置偏差,可以根据车辆的视觉传感器之间的相对位姿确定。
所述车辆的至少两个视觉传感器的位置和拍摄角度越接近,同一场景元素在不同场景图像中的位置偏差越小;所述车辆的至少两个视觉传感器的位置和拍摄角度相差越大,同一场景元素在不同场景图像中的位置偏差也越大。
本实施例提供的仿真测试方法,可以获取待测试的控制系统输出的控制信号,所述控制信号为所述控制系统根据历史输入的场景图像和预设的控制模型输出的用于控制可移动平台的控制信号,并根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像,其中,所述场景模型包括多个场景元素,所述场景图像为所述可移动平台响应于所述控制信号运动后所观测到的所述场景元素的场景图像,场景元素在不同的场景图像中的位置偏差根据可移动平台的视觉传感器之间的相对位姿确定,从而能够通过具有视差的多个场景图像模拟控制系统的实际图像输入,实现对基于立体视觉的控制系统的仿真测试,经济、高效地测试验证控制系统的基本功能,解决了依赖大量道路测试带来的不可靠性、场景测试类别不全及高投入等实际问题,有效提高了测试效率,降低了测试成本。
图4为本申请实施例提供的又一种仿真测试方法的流程示意图。本实施例是在上述实施例提供的技术方案的基础上,通过显示设备显示至少两个场景图像。如图4所示,所述方法可以包括:
步骤401、获取待测试的控制系统输出的控制信号,所述控制信号为所述控制系统根据历史输入的场景图像和预设的控制模型输出的用于控制可移动平台的控制信号。
本实施例中步骤401的具体实现原理和过程可以参见前述实施例,此处不再赘述。
步骤402、根据所述控制信号以及虚拟的场景模型,确定至少两个场景图像。
本实施例中,通过步骤402至步骤403可以实现根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像。具体的,可以先根据所述控制信号以及虚拟的场景模型,确定至少两个场景图像,再输出所述至少两个场景图像。
可选的,根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像,可以包括:根据所述控制信号、虚拟的场景模型以及立体视觉参数,确定至少两个场景图像;输出所述至少两个场景图像。
其中,所述立体视觉参数可以是用于为场景图像赋予视差的任意参数。可选的,所述立体视觉参数由所述可移动平台的视觉传感器的安装位姿和/或所述可移动平台的视觉传感器之间的相对位姿确定。
可选的,所述安装位姿可以包括安装位置和/或安装角度等,所述相对位姿可以包括视觉传感器相互之间的相对位置和/或角度等。通过视觉传感器的安装位姿及相对位姿确定立体视觉参数,可以更加准确地确定场景图像之间的视差,提高仿真测试的准确性。
具体的,所述立体视觉参数可以包括视觉传感器之间的基线(Baseline)参数等。所述基线参数用于表征视觉传感器的中心间距,输出的场景图像之间的视差大小通过基线参数设定,能够快速、准确地生成场景图像。
可选的,根据所述控制信号、虚拟的场景模型以及立体视觉参数,确定至少两个场景图像,可以包括:根据所述控制信号和虚拟的场景模型,确定所述可移动平台与所述场景元素的相对位姿;根据所述可移动平台与所述场景元素的相对位姿以及立体视觉参数,确定至少两个场景图像。
举例来说,所述可移动平台为车辆,当驾驶控制系统输出驾驶控制信号后,车辆被视为在虚拟的场景模型中移动,相当于车辆相对于场景元素如树木等的位置发生了变化。根据车辆与场景元素的相对位姿和立体视觉参数,可以确定待输出的至少两个场景图像。
其中,根据所述相对位姿和立体视觉参数确定场景图像的具体方法可以通过仿真实验来实现,本申请实施例中不再赘述。通过控制信号和虚拟的场景模型确定可移动平台与场景元素的相对位姿,并根据所述相对位姿以及立体视觉参数确定至少两个场景图像,能够准确模拟可移动平台在实际场景中观测到的图像,进一步提高测试准确性。
步骤403、将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像,使得所述控制系统根据至少两个视觉传感器拍摄到的图像和预设的控制模型确定对应的控制信号。
本实施例中,通过步骤403可以实现输出至少两个场景图像。
其中,所述视觉传感器可以为相机、摄像头等能够拍摄图像的设备。所述视觉传感器的数量和输出的场景图像的数量相同;所述至少两个视觉传感器与所述至少两个场景图像一一对应,所述视觉传感器用于对对应的场景图像进行拍摄;所述至少两个视觉传感器之间的相对位姿由所述可移动平台的视觉传感器之间的相对位姿确定。
具体的,所述至少两个视觉传感器与所述至少两个场景图像一一对应,可以是指,存在n个视觉传感器和n个场景图像,其中第i个视觉传感器与25第i个场景图像对应,即,第i个视觉传感器用于拍摄显示设备显示的第i个场景图像,其中i的取值为1至n,n为≥2的正整数。
可选的,在仿真测试时使用的所述至少两个视觉传感器可以用于模拟车辆在实际应用中所使用的视觉传感器。所述至少两个视觉传感器之间的相对位姿可以由所述实际应用中的视觉传感器之间的相对位姿确定。由于所述至少两个视觉传感器用于模拟实际车辆的视觉传感器,因此,在测试时使用的所述至少两个视觉传感器可以根据实际车辆的视觉传感器来进行配置,例如,可以按照实际车辆的视觉传感器的数量、分辨率、位置、拍摄角度等来确定测试时的所述至少两个视觉传感器的数量、分辨率、位置、拍摄角度等,使得测试时的视觉传感器与实际使用时的视觉传感器保持一致,提高测试的准确性。
本实施例提供的仿真测试方法,可以实现对控制系统和视觉传感器进行测试。仿真器可以通过显示设备将场景图像播放给视觉传感器“观看”,控制系统根据视觉传感器采集到的图像进行处理,输出对应的控制信号,这种测试方法可以实现硬件在环实验,完整地测试了整套系统的硬件及软件部分,填补了立体视觉硬件在环仿真测试的实验空缺。
在上述实施例提供的技术方案的基础上,可选的是,所述显示设备的数量可以为一个也可以为多个,例如,可以设置多个显示设备,分别显示对应的场景图像,或者,也可以设置一个显示设备,在显示设备的不同显示区域上显示各个场景图像。
可选的,所述显示设备的数量与所述视觉传感器的数量相同,所述至少两个显示设备与所述至少两个视觉传感器一一对应,每一视觉传感器用于对对应的显示设备显示的画面进行拍摄。相应的,将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像,可以包括:将每一场景图像发送给与其对应的显示设备进行显示,以通过至少两个所述显示设备显示所述至少两个场景图像。
其中,所述至少两个显示设备与所述至少两个视觉传感器一一对应,可以是指,存在n个视觉传感器和n个显示设备,其中第i个视觉传感器与第i个显示设备对应,即,第i个视觉传感器用于拍摄第i个显示设备的画面,其25中i的取值为1至n,n为≥2的正整数。
图5为本申请实施例提供的一种基于多个显示设备的测试架构示意图。如图5所示,控制系统以及与之连接的视觉传感器构成被测试系统,视觉传感器有两个,分别记为左相机和右相机,显示设备也可以有两个,分别记为左侧显示设备和右侧显示设备,相应的,输出的场景图像也有两个,分别记为左侧图像和右侧图像。
在仿真测试过程中,仿真器生成具有视差的左侧图像和右侧图像后,可以将左侧图像发送给左侧显示设备,将右侧图像发送给右侧显示设备,两个显示设备分别同步播放左右侧的视差图像,左相机和右相机分别拍摄左侧显示设备和右侧显示设备显示的画面,从而通过不同的相机可以采集不同的图像输入到控制系统进行处理,实现了软件加硬件的测试。
需要说明的是,单目系统通过前后帧的变化,可以感知环境的变化,而双目系统获取到的图像具有视差,通过单一时刻的两个双目图像,就可以推测出目标物体的深度信息,本实施例正是基于这一原理,用两个显示设备分别播放场景图像形成的视频流,并通过两个相机分别采集每个显示设备播放的视频流传递到控制系统,实现了模拟环境下的立体成像实验,从而在室内条件下可以生成立体仿真视频流给到被测试的系统,实现和真实场景一样的测试效果。
通过设置多个显示设备,且显示设备、视觉传感器和场景图像均具有对应关系,一个场景图像通过对应的显示设备进行显示,并由对应的视觉传感器进行拍摄,使得各个场景图像互不干扰,提高了图像输出的准确性。
可选的,还可以通过相机标定法对所述视觉传感器进行标定,以确定所述视觉传感器的标定参数,并根据标定参数确定输出的场景图像。所述相机标定法可以包括棋盘法等标定方法。
图6为本申请实施例提供的一种标定图案的示意图。在对视觉传感器进行标定时,可以使用图6所示的图案。具体的,两个显示设备可以分别播放所述标定图案,由对应的视觉传感器采集标定图像,利用标定算法计算图案的旋转和/或平移参数,记为视觉传感器的标定参数,将所述参数反馈给仿真器,仿真器使其输出的图像做反向旋转和/或平移,使得两个视觉传感器采集到的图像能够对齐,实现立体视觉算法的良好深度匹配。
举例来说,在对视觉传感器进行标定后,确定左边图像相对于右边图像需要顺时针旋转5°,那么后续测试过程中,左边显示设备显示的每张图像都可以顺时针旋转5°,以保证左右图像对齐。
一个示例中,在将每一场景图像发送给与其对应的显示设备进行显示之前,可以根据所述视觉传感器对应的标定参数,对所述至少两个场景图像中的至少部分图像进行图像变换。
具体的,仿真器可以先得到具有视差的至少两个场景图像,然后再根据标定参数,对所述至少两个场景图像中的至少部分图像进行图像转换,例如,进行旋转和/或平移,最终得到对齐的图像。
可选的,图像变换可以通过仿真器实现,也可以在仿真器后增加其它模块来实现。
在标定参数发生变化时,直接根据变化后的标定参数调整所述至少两个场景图像即可,方案灵活,易于实现。
另一示例中,根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像,可以包括:根据所述控制信号、虚拟的场景模型、立体视觉参数以及所述视觉传感器对应的标定参数,确定至少两个场景图像;输出所述至少两个场景图像。
具体的,仿真器可以根据控制信号、虚拟的场景模型、立体视觉参数以及所述视觉传感器对应的标定参数,直接得到具有视差且对齐的至少两个场景图像,从而能够快速确定最终输出的场景图像,提高仿真测试的效率。
图7为本申请实施例提供的一种基于光学系统的测试架构示意图。图7所示方案是在图5所示方案的基础上,增加了光学系统。所述光学系统可以设置在所述显示设备与所述视觉传感器之间,所述光学系统用于对所述显示设备输出的图像进行光学转换,使得转换后的图像匹配所述视觉传感器的视场角(FOV)。
其中,所述光学系统的数量可以为一个或多个,可以为每个显示设备配置一光学系统,也可以多个显示设备共用一光学系统。所述光学系统的结构可以根据实际需要来设计,只要能够满足图像经转换后匹配视觉传感器的视场角即可。
由于通常车用视觉传感器的视场角会比较大,为了匹配视觉传感器的视场角,通过显示设备直接显示的方式通常会使整个测试系统非常庞大。因此,本实施例中可以引入光学系统,光学系统可以对显示设备输出的图像进行光学转换,放大输出的图像,从而匹配视觉传感器的视场角,能够有效缩小成像部分体积,无需使用庞大的显示设备,减少测试占地面积。
图8为本申请实施例提供的一种基于3D显示设备的测试架构示意图。在所述架构中,所述显示设备可以为3D显示设备。相应的,将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像,可以包括:将所述至少两个场景图像发送给所述3D显示设备,以使所述3D显示设备通过3D投影方式显示所述至少两个场景图像。
在各种类型的光中,没有固定偏振方向的,即沿着各个方向振动的光波的强度都相同的,通常被称作自然光,例如太阳光就是一种最常见的自然光;有固定偏振方向的,通常被称作偏振光,显示设备的屏幕发出的光可以为偏振光。
可选的,可以为不同的场景图像设置不同的偏振方向,从而形成3D图像。视觉传感器上可以设置有与显示设备发出的偏振光的偏振方向一致的偏振片,偏振片只允许特定偏振方向的光进入视觉传感器,从而能够准确采集到特定偏振方向的图像,而不受其他偏振方向的图像的影响。
可选的,两个场景图像的偏振方向可以正交。每个视觉传感器分别与对应的图像的偏振方向一致。
例如,第一场景图像的偏振方向为方向1,第二场景图像的偏振方向为方向2,第一视觉传感器用于采集第一场景图像,第二视觉传感器用于采集第二场景图像,则第一视觉传感器的偏振方向可以为方向1,第二视觉传感器的偏振方向可以为方向2。
如图8所示,控制系统以及与之连接的视觉传感器构成被测试系统,视觉传感器有两个,分别记为左相机和右相机,显示设备可以只有一个,为3D显示设备,所述3D显示设备能够显示3D图像,这样,可以通过一个3D显示设备显示两个场景图像,供左相机和右相机分别采集。
在这种实现方案中,通过3D投影的方式,可以将至少两个场景图像以3D技术播放出来,被测试的两个相机可以分别装上正交的偏振片,类似于看3D影片,使得两个相机可以同时观看一个画面,但是由于偏振方向不同,两个相机采集到的图像不同,同样能实现控制系统的后端立体复原。
通过将至少两个场景图像发送给所述3D显示设备,以使所述3D设备通过3D投影方式显示所述至少两个场景图像,能够在同一显示设备上显示多个场景图像,且各个场景图像之间互不干扰,从而在保证测试准确性的基础上减少设备数量,减少测试场地面积,降低测试成本。
图9为本申请实施例提供的一种基于图像输出接口的测试架构示意图。在图9所示方案中,输出至少两个场景图像,可以包括:将所述至少两个场景图像通过图像输出接口发送给所述控制系统。
其中,所述图像输出接口可以是和仿真器集成在一起的,也可以是和仿真器分离设置的,或者,所述图像输出接口也可以是和控制系统集成到一起的。
如图9所示,仿真器可以在获取到控制系统输出的控制信号后,可以根据控制信号以及虚拟的场景模型确定至少两个场景图像,然后,将所述至少两个场景图像通过图像输出接口发送给所述控制系统,所述控制系统可以继续根据场景图像生成对应的控制信号并输出。
在这种实现方式中,可以舍弃视觉传感器的实际成像输入,直接通过图像输出接口,以数字信号的形式将至少两个场景图像分别输入到控制系统,同样可以在控制系统实现后端的立体复原,这种方式属于伪硬件在环实现,视觉传感器的光学成像部分没有被测试到,但是控制系统可以被测试到,从而实现系统软件的测试。
通过上述实现方式,可以单独对控制系统进行测试,以进一步减少仿真测试所使用的设备,提高仿真测试的灵活性。一般来说,可以先在前期单独测试控制系统,控制系统测试通过后,可以加入视觉传感器,进一步进行软硬件测试,这样,通过一个仿真器可以实现两种测试,提升测试效率。
可选的,将所述至少两个场景图像通过图像输出接口发送给所述控制系统,可以包括:将所述至少两个场景图像转换为预设格式的至少两个场景图像;将所述预设格式的至少两个场景图像通过图像输出接口发送给所述控制系统。
其中,所述预设格式可以为实际使用时的视觉传感器输出的格式。例如,在实际使用时,视觉传感器向控制系统输出的格式为USB格式。那么,在测试过程中,仿真器可以将根据控制信号和虚拟的场景模型确定的HDMI格式的场景图像转换为USB格式并通过图像输出接口发送给控制系统,从而使测试环境更加贴近实际使用场景,满足控制系统的输入需求,使得测试能够顺利进行。
图10为本申请实施例提供的一种基于仿真器直连的测试架构示意图。在图10所示方案中,输出至少两个场景图像,可以包括:将所述至少两个场景图像直接发送给所述控制系统。
如图10所示,仿真器可以直接与控制系统连接,将生成的至少两个场景图像直接发送给所述控制系统。
对于控制系统来说,无论是接视觉传感器,还是直接接到仿真器,接口和协议都可以是一样,控制系统可以不用关注获取到的图像是真实拍摄的图像还是直接接收的图像数据。在图10所示实现方式中,仿真器输出的图像可以不经过其它模块,而是直接给到控制系统,架构简单,易于实现,进一步降低了测试的成本。
上述实施例提供了立体仿真测试的多种实现方法,需要说明的是,在此基础上可以扩展更多种实现方法,只要保证控制系统获取到的图像是具有视差的图像即可。
可选的,所述仿真器确定的场景图像为单一场景图像,在仿真器后可以设置图像输出接口,所述图像输出接口可以根据所述单一场景图像输出所述至少两个场景图像,从而有效减轻仿真器的负担。
其中,所述单一场景图像可以是所述可移动平台的任一位置可观测到的场景图像,例如,其中一个视觉传感器可观测到的场景图像,或者两个视觉传感器之间的中点可观测到的场景图像。
所述图像输出接口可以存储有立体视觉参数,用以实现将单一场景图像转换为具有视差的多个场景图像。此外,所述图像输出接口还可以存储有所述虚拟的场景模型中各个场景元素的信息,从而更加准确地还原各个视觉传感器可观测到的场景图像。
可选的,也可以在视觉传感器后增加模块为场景图像增加视差。例如,至少两个视觉传感器接收到的场景图像是一样的,在视觉传感器后加设转换模块,通过所述转换模块对所述场景图像进行转换,得到具有视差的至少两个场景图像并输出到控制系统。
综上所述,在本申请实施例中,输入到控制系统的至少两个场景图像是具有视差的,但是,视差具体是在哪个环节得到的,本申请实施例不作限制。
在上述各实施例提供的技术方案的基础上,可选的是,所述方法还包括:根据所述控制信号以及虚拟的场景模型,确定对应的传感信息;输出所述传感信息,以使所述控制系统根据所述至少两个场景图像以及所述传感信息确定对应的控制信号。
在实际使用时,可以在可移动平台上设置多种类型的传感器,并不局限于视觉传感器。相应的,在仿真测试时,通过设计多种传感信息输入到控制系统,可以有效测试控制系统在不同状态下的运行情况,满足不同应用场景的需求。
其中,所述传感信息可以为任意类型的传感信息,包括但不限于:风速、温度、湿度、天气等。
可选的,所述传感信息可以包括点云数据。在实际使用时,点云数据可以通过激光雷达检测得到,激光雷达可以用于辅助感知周围环境。
相应的,在仿真测试时,根据所述控制信号以及虚拟的场景模型,确定对应的传感信息,可以包括:根据所述控制信号以及虚拟的场景模型,确定所述可移动平台与所述场景元素之间的相对位姿;根据所述可移动平台与所述场景元素之间的相对位姿确定点云数据。
具体的,在仿真测试时,仿真器除了输出具有视差的至少两个场景图像以外,还可以输出虚拟的场景模型中场景元素对应的点云数据,所述点云数据用于模拟激光雷达采集到的点云数据,可以描述场景元素的深度信息,使得控制系统可以根据所述至少两个场景图像以及所述点云数据确定对应的控制信号,不仅可以测试控制系统对场景图像的响应,还可以测试控制系统对点云数据的响应,有效提高测试的维度,提升测试效果。
在上述各实施例提供的技术方案的基础上,可选的是,所述方法还包括:根据所述控制信号,确定所述可移动平台的运行状态;根据所述可移动平台的运行状态,对所述控制系统进行评价。
以所述控制系统为应用于车辆的驾驶控制系统,所述可移动平台为车辆为例,仿真器可以通过控制信号和虚拟的场景模型,确定要显示的至少两个场景图像或传感信息,至少两个场景图像或传感信息是对真实环境数据的模拟,驾驶控制系统可以对至少两个场景图像或传感信息进行识别,根据识别到的信息和预设的驾驶控制策略,得到对应的决策即控制信号,比如检测到斑马线则输出减速信号。
在驾驶控制系统输出控制信号后,仿真器会根据控制信号,确定按照所述控制信号行驶的车辆的运行状态,例如所述车辆在车道中的位置、与周围障碍物的距离等等。
然后,可以根据所述车辆的运行状态,对所述控制系统进行评价,例如判断是否偏离行车道、是否闯红灯、是否与障碍物距离过近等等,并根据判断结果输出对驾驶控制系统的评价。所述评价可以为评分或者是否合格等。
举例来说,若所述驾驶控制系统在仿真测试过程中,出现控制车辆闯红灯、与障碍物相撞或者其它不按交通规则行驶的行为或危险的行为,则可以认为所述驾驶控制系统是不合格的,需要重新进行算法优化。
若所述驾驶控制系统在整个仿真测试过程中平稳、顺利地行驶,则可以认为所述控制系统是合格的。在仿真测试合格后,可以安排进行实际道路测试或者其它测试,在全部测试完成后,可以将所述驾驶控制系统投入使用。
通过所述车辆的运行状态,能够有效实现对所述控制系统的评价,满足仿真测试的需求,提前解决或收敛大部分测试问题,降低后期道路测试的成本,提高测试效率。
图11A为本申请实施例提供的一种仿真测试装置的结构示意图。所述装置应用于仿真测试系统;所述仿真测试系统用于基于虚拟的场景模型测试可移动平台的控制系统,所述场景模型包括多个场景元素;所述控制系统用于,基于至少两个视觉传感器观测到的场景图像,输出用于控制所述可移动平台的控制信号。如图11A所示,所述装置可以包括:
获取模块1101,用于获取所述控制系统输出的所述可移动平台的控制信号;
模拟模块1102,用于基于所述控制信号,模拟所述可移动平台在所述场景模型中运动,得到所述可移动平台与所述场景元素之间的相对位姿;
生成模块1103,用于根据所述相对位姿生成多个场景图像,所述多个场景图像包括所述可移动平台在所述场景模型中运动时,至少两个所述视觉传感器观测到的场景图像;
输出模块1104,用于输出所述多个场景图像,以使所述控制系统根据所述多个场景图像生成对应的控制信号。
在一种可能的实现方式中,所述生成模块1103在根据所述相对位姿生成多个场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿,确定所述可移动平台可观测到的场景元素的成像变化,并基于所述成像变化生成多个场景图像。
在一种可能的实现方式中,所述生成模块1103在根据所述相对位姿生成多个场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿以及立体视觉参数,生成所述多个场景图像。
在一种可能的实现方式中,所述立体视觉参数由所述至少两个视觉传感器的安装位姿和/或所述至少两个视觉传感器之间的相对位姿确定。
在一种可能的实现方式中,所述输出模块1104在输出所述多个场景图像时,具体用于:
将所述多个场景图像通过图像输出接口发送给所述控制系统。
在一种可能的实现方式中,所述输出模块1104在将所述多个场景图像通过图像输出接口发送给所述控制系统时,具体用于:
将所述多个场景图像转换为预设格式的多个场景图像;
将所述预设格式的多个场景图像通过图像输出接口发送给所述控制系统。
在一种可能的实现方式中,所述输出模块1104具体用于:
将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像,使得所述控制系统基于所述至少两个视觉传感器拍摄所述显示设备得到的图像输出对应的控制信号;
其中,所述视觉传感器的数量和显示的场景图像的数量相同;所述至少两个视觉传感器与所述多个场景图像一一对应,所述视觉传感器用于对对应的场景图像进行拍摄。
在一种可能的实现方式中,所述显示设备的数量与所述视觉传感器的数量相同,至少两个所述显示设备与所述至少两个视觉传感器一一对应,每一视觉传感器用于对对应的显示设备显示的画面进行拍摄;
相应的,所述输出模块1104在将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像时,具体用于:
将每一场景图像发送给与其对应的显示设备进行显示,以通过至少两个所述显示设备显示所述多个场景图像。
在一种可能的实现方式中,所述输出模块1104在将每一场景图像发送给与其对应的显示设备进行显示之前,还用于:
根据所述视觉传感器对应的标定参数,对所述多个场景图像中的至少部分图像进行图像转换。
在一种可能的实现方式中,所述生成模块1103在根据所述相对位姿生成多个场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿、立体视觉参数以及所述视觉传感器对应的标定参数,生成多个场景图像。
在一种可能的实现方式中,所述生成模块1103还用于:
通过相机标定法对所述视觉传感器进行标定,以确定所述视觉传感器的标定参数。
在一种可能的实现方式中,所述显示设备为3D显示设备;
所述输出模块1104在将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像时,具体用于:
将所述多个场景图像发送给所述3D显示设备,以使所述3D显示设备通过3D投影方式显示所述多个场景图像。
在一种可能的实现方式中,所述输出模块1104还用于:
根据所述可移动平台与所述场景元素之间的相对位姿,确定对应的传感信息;
输出所述传感信息,以使所述控制系统根据所述多个场景图像以及所述传感信息确定对应的控制信号。
在一种可能的实现方式中,所述传感信息包括所述场景元素对应的点云数据。
在一种可能的实现方式中,所述输出模块1104还用于:
根据所述控制信号,确定所述可移动平台的运行状态;
根据所述可移动平台的运行状态,对所述控制系统进行评价。
在一种可能的实现方式中,所述可移动平台为车辆,所述控制系统为应用于车辆的驾驶控制系统。
本实施例提供的仿真测试装置,可以用于执行图2所示的仿真测试方法,其具体实现原理和效果均可以参见前述实施例,此处不再赘述。
图11B为本申请实施例提供的另一种仿真测试装置的结构示意图。如图11B所示,所述装置可以包括:
获取模块1111,用于获取待测试的控制系统输出的控制信号,所述控制信号为所述控制系统根据历史输入的场景图像和预设的控制模型输出的用于控制可移动平台的控制信号;
输出模块1112,用于根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像;
其中,所述虚拟的场景模型包括多个场景元素;
所述至少两个场景图像包括第一场景图像和第二场景图像,所述第一场景图像包括第一像素区域,所述第二场景图像包括第二像素区域,所述第一像素区域和所述第二像素区域描述同一所述场景元素;所述第一像素区域在所述第一场景图像中的位置,与所述第二像素区域在所述第二场景图像中的位置之间的位置偏差,根据所述可移动平台的视觉传感器之间的相对位姿确定;
输出的多个所述场景图像用于表征所述可移动平台响应于所述控制信号运动,与所述场景元素之间的相对位姿改变后,所述可移动平台的所述视觉传感器所观测到的所述场景元素的场景图像。
在一种可能的实现方式中,所述输出模块1112具体用于:
根据所述控制信号、虚拟的场景模型以及立体视觉参数,确定至少两个场景图像;
输出所述至少两个场景图像。
在一种可能的实现方式中,所述输出模块1112具体用于:
根据所述控制信号和虚拟的场景模型,确定所述可移动平台与所述场景元素的相对位姿;
根据所述可移动平台与所述场景元素的相对位姿以及立体视觉参数,确定至少两个场景图像。
在一种可能的实现方式中,所述立体视觉参数由所述可移动平台的视觉传感器的安装位姿和/或所述可移动平台的视觉传感器之间的相对位姿确定。
在一种可能的实现方式中,所述输出模块1112在输出至少两个场景图像时,具体用于:
将所述至少两个场景图像通过图像输出接口发送给所述控制系统。
在一种可能的实现方式中,所述输出模块1112将所述至少两个场景图像通过图像输出接口发送给所述控制系统时,具体用于:
将所述至少两个场景图像转换为预设格式的至少两个场景图像;
将所述预设格式的至少两个场景图像通过图像输出接口发送给所述控制系统。
在一种可能的实现方式中,所述输出模块1112在输出至少两个场景图像时,具体用于:
将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像,使得所述控制系统根据至少两个视觉传感器拍摄到的图像和预设的控制模型确定对应的控制信号;
其中,所述视觉传感器的数量和输出的场景图像的数量相同;所述至少两个视觉传感器与所述至少两个场景图像一一对应,所述视觉传感器用于对对应的场景图像进行拍摄。
在一种可能的实现方式中,所述显示设备的数量与所述视觉传感器的数量相同,至少两个所述显示设备与所述至少两个视觉传感器一一对应,每一视觉传感器用于对对应的显示设备显示的画面进行拍摄;
相应的,所述输出模块1112在将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像时,具体用于:
将每一场景图像发送给与其对应的显示设备进行显示,以通过至少两个所述显示设备显示所述至少两个场景图像。
在一种可能的实现方式中,所述输出模块1112还用于:
在将场景图像发送给与其对应的显示设备进行显示之前,根据所述视觉传感器对应的标定参数,对所述至少两个场景图像中的至少部分图像进行图像转换。
在一种可能的实现方式中,所述输出模块1112在根据所述控制信号以及虚拟的场景模型,输出至少两个场景图像时,具体用于:
根据所述控制信号、虚拟的场景模型、立体视觉参数以及所述视觉传感器对应的标定参数,确定至少两个场景图像;
输出所述至少两个场景图像。
在一种可能的实现方式中,所述输出模块1112还用于:
通过相机标定法对所述视觉传感器进行标定,以确定所述视觉传感器的标定参数。
在一种可能的实现方式中,所述显示设备为3D显示设备;
所述输出模块1112在将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像时,具体用于:
将所述至少两个场景图像发送给所述3D显示设备,以使所述3D显示设备通过3D投影方式显示所述至少两个场景图像。
在一种可能的实现方式中,所述输出模块1112还用于:
根据所述控制信号以及虚拟的场景模型,确定对应的传感信息;
输出所述传感信息,以使所述控制系统根据所述至少两个场景图像以及所述传感信息确定对应的控制信号。
在一种可能的实现方式中,所述传感信息包括所述场景元素对应的点云数据;
所述输出模块1112在根据所述控制信号以及虚拟的场景模型,确定对应的传感信息时,具体用于:
根据所述控制信号以及虚拟的场景模型,确定所述可移动平台与所述场景元素之间的相对位姿;
根据所述可移动平台与所述场景元素之间的相对位姿确定点云数据。
在一种可能的实现方式中,所述输出模块1112还用于:
根据所述控制信号,确定所述可移动平台的运行状态;
根据所述可移动平台的运行状态,对所述控制系统进行评价。
在一种可能的实现方式中,所述控制系统为应用于车辆的驾驶控制系统,所述可移动平台为车辆。
本实施例提供的仿真测试装置,可以用于执行图3A至图10所示实施例中的仿真测试方法,其具体实现原理和效果均可以参见前述实施例,此处不再赘述。
图12A为本申请实施例提供的一种仿真测试系统的结构示意图。所述仿真测试系统用于基于虚拟的场景模型测试可移动平台的控制系统,所述场景模型包括多个场景元素;所述控制系统用于,基于至少两个视觉传感器观测到的场景图像,输出用于控制所述可移动平台的控制信号。
如图12A所示,所述系统可以包括:仿真器1201和图像输出设备1202;
所述仿真器1201用于获取所述控制系统输出的所述可移动平台的控制信号,基于所述控制信号,模拟所述可移动平台在所述场景模型中运动,得到所述可移动平台与所述场景元素之间的相对位姿,并生成基于所述相对位姿可观测到的场景图像;
所述图像输出设备1202用于获取仿真器1201生成的场景图像,并根据获取到的场景图像输出多个场景图像,所述多个场景图像包括所述可移动平台在所述场景模型中运动时至少两个所述视觉传感器观测到的场景图像,以使所述控制系统根据所述多个场景图像生成对应的控制信号。
在一种可能的实现方式中,所述仿真器1201在生成基于所述相对位姿可观测到的场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿,生成所述多个场景图像。
在一种可能的实现方式中,所述仿真器1201在根据所述相对位姿生成多个场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿,确定所述可移动平台可观测到的场景元素的成像变化,并基于所述成像变化生成多个场景图像。
在一种可能的实现方式中,所述仿真器1201在根据所述相对位姿生成多个场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿以及立体视觉参数,生成所述多个场景图像。
在一种可能的实现方式中,所述立体视觉参数由所述至少两个视觉传感器的安装位姿和/或所述至少两个视觉传感器之间的相对位姿确定。
在一种可能的实现方式中,所述图像输出设备1202包括图像输出接口,所述仿真器1201还用于:
将所述多个场景图像发送给所述图像输出接口,以使所述图像输出接口将所述多个场景图像发送给所述控制系统。
在一种可能的实现方式中,所述仿真器1201在将所述多个场景图像发送给所述图像输出接口时,具体用于:
将所述多个场景图像转换为预设格式的多个场景图像;
将所述预设格式的多个场景图像发送给所述图像输出接口。
在一种可能的实现方式中,所述图像输出设备1202包括用于显示所述多个场景图像的显示设备;
所述仿真器1201还用于:将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像,使得所述控制系统根据至少两个视觉传感器拍摄所述显示设备得到的图像输出对应的控制信号;
其中,所述视觉传感器的数量和显示的场景图像的数量相同;所述至少两个视觉传感器与所述多个场景图像一一对应,所述视觉传感器用于对对应的场景图像进行拍摄。
在一种可能的实现方式中,所述显示设备的数量与所述视觉传感器的数量相同,至少两个所述显示设备与所述至少两个视觉传感器一一对应,每一视觉传感器用于对对应的显示设备显示的画面进行拍摄;
相应的,所述仿真器1201在将所述多个场景图像发送给显示设备,以通过所述显示设备显示所述多个场景图像时,具体用于:
将每一场景图像发送给与其对应的显示设备进行显示,以通过至少两个所述显示设备显示所述多个场景图像。
在一种可能的实现方式中,所述仿真器1201还用于:
在将场景图像发送给与其对应的显示设备进行显示之前,根据所述视觉传感器对应的标定参数,对所述多个场景图像中的至少部分图像进行图像转换。
在一种可能的实现方式中,所述仿真器1201在根据所述相对位姿生成多个场景图像时,具体用于:
根据所述可移动平台与所述场景元素之间的相对位姿、立体视觉参数以及所述视觉传感器对应的标定参数,生成多个场景图像。
在一种可能的实现方式中,所述仿真器1201还用于:
通过相机标定法对所述视觉传感器进行标定,以确定所述视觉传感器的标定参数。
在一种可能的实现方式中,所述显示设备为3D显示设备,所述3D显示设备通过3D投影方式显示所述多个场景图像。
在一种可能的实现方式中,所述系统还包括:光学系统;
所述光学系统设置在所述显示设备与所述视觉传感器之间,所述光学系统用于对所述显示设备输出的场景图像进行光学转换,使得转换后的场景图像匹配所述视觉传感器的视场角。
在一种可能的实现方式中,所述仿真器1201生成的场景图像为单一场景图像,所述图像输出设备1202具体用于根据所述单一场景图像输出所述多个场景图像。
在一种可能的实现方式中,所述仿真器1201还用于:
根据所述可移动平台与所述场景元素之间的相对位姿,确定对应的传感信息;
输出所述传感信息,以使所述控制系统根据所述多个场景图像以及所述传感信息确定对应的控制信号。
在一种可能的实现方式中,所述传感信息包括所述场景元素对应的点云数据。
在一种可能的实现方式中,所述仿真器1201还用于:
根据所述控制信号,确定所述可移动平台的运行状态;
根据所述可移动平台的运行状态,对所述控制系统进行评价。
在一种可能的实现方式中,所述可移动平台为车辆,所述控制系统为应用于车辆的驾驶控制系统。
本实施例提供的仿真测试系统,可以用于执行图2所示的仿真测试方法,其具体实现原理和效果均可以参见前述实施例,此处不再赘述。
图12B为本申请实施例提供的另一种仿真测试系统的结构示意图。如图12B所示,所述系统可以包括:仿真器1211和图像输出设备1222;
所述仿真器1211用于获取待测试的控制系统输出的控制信号,根据所述控制信号以及虚拟的场景模型,确定对应的场景图像;其中,所述虚拟的场景模型包括多个场景元素;
所述图像输出设备1212用于获取所述场景图像,并根据所述场景图像输出至少两个场景图像;
其中,所述虚拟的场景模型包括多个场景元素;
所述至少两个场景图像包括第一场景图像和第二场景图像,所述第一场景图像包括第一像素区域,所述第二场景图像包括第二像素区域,所述第一像素区域和所述第二像素区域描述同一所述场景元素;所述第一像素区域在所述第一场景图像中的位置,与所述第二像素区域在所述第二场景图像中的位置之间的位置偏差,根据可移动平台的视觉传感器之间的相对位姿确定;
所述控制信号为所述控制系统根据历史输入的至少两个场景图像和预设的控制模型输出的用于控制所述可移动平台的控制信号;
输出的多个所述场景图像用于表征所述可移动平台响应于所述控制信号运动,与所述场景元素之间的相对位姿改变后,所述可移动平台的所述视觉传感器所观测到的所述场景元素的场景图像。
在一种可能的实现方式中,所述仿真器1211确定的场景图像包括所述至少两个场景图像。
在一种可能的实现方式中,所述仿真器1211具体用于:
获取待测试的控制系统输出的控制信号,根据所述控制信号、虚拟的场景模型以及立体视觉参数,确定至少两个场景图像。
在一种可能的实现方式中,所述仿真器1211在根据所述控制信号、虚拟的场景模型以及立体视觉参数,确定至少两个场景图像时,具体用于:
根据所述控制信号和虚拟的场景模型,确定所述可移动平台与所述场景元素的相对位姿;
根据所述可移动平台与所述场景元素的相对位姿以及立体视觉参数,确定至少两个场景图像。
在一种可能的实现方式中,所述立体视觉参数由所述可移动平台的视觉传感器的安装位姿和/或所述可移动平台的视觉传感器之间的相对位姿确定。
在一种可能的实现方式中,所述图像输出设备1212包括图像输出接口,所述仿真器1211还用于:
将确定的至少两个场景图像发送给所述图像输出接口,以使所述图像输出接口将所述至少两个场景图像发送给所述控制系统。
在一种可能的实现方式中,所述仿真器1211在将确定的至少两个场景图像发送给所述图像输出接口时,具体用于:
将所述至少两个场景图像转换为预设格式的至少两个场景图像;
将所述预设格式的至少两个场景图像发送给所述图像输出接口。
在一种可能的实现方式中,所述图像输出设备1212包括用于显示所述至少两个场景图像的显示设备;
所述仿真器1211还用于:将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像,使得所述控制系统根据至少两个视觉传感器拍摄到的图像和预设的控制模型确定对应的控制信号;
其中,所述视觉传感器的数量和输出的场景图像的数量相同;所述至少两个视觉传感器与所述至少两个场景图像一一对应,所述视觉传感器用于对对应的场景图像进行拍摄。
在一种可能的实现方式中,所述显示设备的数量与所述视觉传感器的数量相同,至少两个所述显示设备与所述至少两个视觉传感器一一对应,每一视觉传感器用于对对应的显示设备显示的画面进行拍摄;
相应的,所述仿真器1211在将所述至少两个场景图像发送给显示设备,以通过所述显示设备显示所述至少两个场景图像时,具体用于:
将每一场景图像发送给与其对应的显示设备进行显示,以通过至少两个所述显示设备显示所述至少两个场景图像。
在一种可能的实现方式中,所述仿真器1211还用于:
在将场景图像发送给与其对应的显示设备进行显示之前,根据所述视觉传感器对应的标定参数,对所述至少两个场景图像中的至少部分图像进行图像转换。
在一种可能的实现方式中,所述仿真器1211在根据所述控制信号以及虚拟的场景模型,确定对应的场景图像时,具体用于:
根据所述控制信号、虚拟的场景模型、立体视觉参数以及所述视觉传感器对应的标定参数,确定至少两个场景图像。
在一种可能的实现方式中,所述仿真器1211还用于:
通过相机标定法对所述视觉传感器进行标定,以确定所述视觉传感器的标定参数。
在一种可能的实现方式中,所述显示设备为3D显示设备,所述3D显示设备通过3D投影方式显示所述至少两个场景图像。
在一种可能的实现方式中,所述系统还包括:光学系统;
所述光学系统设置在所述显示设备与所述视觉传感器之间,所述光学系统用于对所述显示设备输出的场景图像进行光学转换,使得转换后的场景图像匹配所述视觉传感器的视场角。
在一种可能的实现方式中,所述仿真器1211确定的场景图像为单一场景图像,所述图像输出设备1212具体用于根据所述单一场景图像输出所述至少两个场景图像。
在一种可能的实现方式中,所述仿真器1211还用于:
根据所述控制信号以及虚拟的场景模型,确定对应的传感信息;
输出所述传感信息,以使所述控制系统根据所述至少两个场景图像以及所述传感信息确定对应的控制信号。
在一种可能的实现方式中,所述传感信息包括所述场景元素对应的点云数据;所述仿真器1211在根据所述控制信号以及虚拟的场景模型,确定对应的传感信息时,具体用于:
根据所述控制信号以及虚拟的场景模型,确定所述可移动平台与所述场景元素之间的相对位姿;
根据所述可移动平台与所述场景元素之间的相对位姿确定点云数据。
在一种可能的实现方式中,所述仿真器1211还用于:
根据所述控制信号,确定所述可移动平台的运行状态;
根据所述可移动平台的运行状态,对所述控制系统进行评价。
在一种可能的实现方式中,所述控制系统为应用于车辆的驾驶控制系统,所述可移动平台为车辆。
本实施例提供的仿真测试系统,可以用于执行图3A至图10所示实施例所述的仿真测试方法,其具体实现原理和效果均可以参见前述实施例,此处不再赘述。
图13为本申请实施例提供的一种仿真器的结构示意图。如图13所示,所述仿真器包括:存储器1301和至少一个处理器1302;
所述存储器1301存储计算机执行指令;
所述至少一个处理器1302执行所述存储器1301存储的计算机执行指令,使得所述至少一个处理器1302执行上述任一实施例所述的方法。
可选地,上述存储器1301既可以是独立的,也可以跟处理器1302集成在一起。
当存储器1301独立设置时,该仿真器还可以包括总线,用于连接存储器1301和处理器1302。
本申请实施例还一种计算机可读存储介质,所述可读存储介质上存储有计算机程序;所述计算机程序在被执行时,实现上述任一实施例所述的方法。
本申请实施例还一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读内存(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。