
1.本技术属于计算机应用技术领域,具体涉及一种抬头显示系统的仿真测试方法和仿真测试系统。
背景技术:2.目前,ar-hud设备生产厂商在将生产的ar-hud设备投入市场之前,均需要对ar-hud程序的显示性能进行测试,以确保ar-hud设备的品质。
3.然而,现阶段在对ar-hud程序进行测试时,只能设计软件凭空预览最终显示效果,或者实车部署测试ar-hud的显示性能,如此一来,导致对ar-hud程序的测试效果不佳、测试效率较低。
技术实现要素:4.有鉴于此,本技术提供了一种抬头显示系统的仿真测试方法和仿真测试系统,可以提高对ar-hud程序的测试效果和测试效率。
5.本技术实施例的第一方面提供了一种抬头显示系统的仿真测试方法,包括:
6.获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息;
7.通过待测试的抬头显示系统根据所述状态信息生成第一画面;
8.将所述第一画面与所述仿真驾驶环境融合得到仿真测试画面。
9.在第一方面的另一种实现方式中,在所述获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息之前,所述方法还包括:
10.生成用于所述第一仿真车辆行驶的所述仿真驾驶环境。
11.在第一方面的另一种实现方式中,所述仿真驾驶环境中包含仿真目标物,所述仿真目标物具有动画效果。
12.在第一方面的另一种实现方式中,所述获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息,包括:
13.基于物理引擎获取所述第一仿真车辆在所述仿真驾驶环境中行驶时的状态信息,所述物理引擎用于为所述第一仿真车辆提供物理实体特性。
14.在第一方面的另一种实现方式中,所述第一仿真车辆在所述仿真驾驶环境中行驶时的状态信息包括:第一状态信息和第二状态信息,所述第一状态信息为所述第一仿真车辆自身的信息,所述第二状态信息为所述第一仿真车辆与所述仿真驾驶环境交互时产生的信息。
15.在第一方面的另一种实现方式中,在所述获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息之前,所述方法还包括:
16.获取驱动所述第一仿真车辆行驶的控制指令,所述控制指令包括:所述第一仿真车辆在所述仿真驾驶环境中的驱动力。
17.在第一方面的另一种实现方式中,所述将所述第一画面与所述仿真驾驶环境融合
得到所述仿真测试画面,包括:
18.对所述第一画面进行预处理,得到第二画面;
19.将所述第二画面与存在所述第一仿真车辆的所述仿真驾驶环境融合,得到所述仿真测试画面。
20.本技术实施例的第二方面提供了一种仿真测试系统统,包括:
21.仿真系统,用于生成第一仿真车辆在仿真驾驶环境中行驶时的状态信息,并将所述状态信息向抬头显示系统发送;
22.抬头显示系统,用于接收所述仿真系统发送的所述状态信息,根据所述状态信息生成第一画面,并将所述第一画面向所述仿真系统发送;
23.所述仿真系统,还用于将所述第一画面与存在所述第一仿真车辆的所述仿真驾驶环境融合得到仿真测试画面。
24.在第二方面的另一种实现方式中,所述仿真系统包括:
25.环境仿真模块,用于生成用于所述第一仿真车辆行驶的所述仿真驾驶环境,其中,所述仿真驾驶环境中包含仿真目标物,所述仿真目标物具有动画效果;
26.数据仿真模块,用于基于物理引擎获取所述第一仿真车辆在所述仿真驾驶环境中行驶时的状态信息,其中,所述物理引擎用于为所述第一仿真车辆提供物理实体特性;所述第一仿真车辆在所述仿真驾驶环境中行驶时的状态信息包括:第一状态信息和第二状态信息,所述第一状态信息为所述第一仿真车辆自身的信息,所述第二状态信息为所述第一仿真车辆与所述仿真驾驶环境交互时产生的信息。
27.在第二方面的另一种实现方式中,所述仿真系统还包括:
28.驾驶仿真模块,用于获取驱动所述第一仿真车辆行驶的控制指令后,驱动所述第一仿真车辆在所述仿真驾驶环境中行驶,所述控制指令包括:所述第一仿真车辆在所述仿真驾驶环境中的驱动力;
29.所述驾驶仿真模块,还用于对所述第一画面进行预处理,得到第二画面;将所述第二画面与存在所述第一仿真车辆的所述仿真驾驶环境融合,得到所述仿真测试画面。
30.本技术实施例中,首先,获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息;其次,通过待测试的抬头显示系统根据状态信息生成第一画面;最后,将第一画面与仿真驾驶环境融合得到仿真测试画面。通过上述描述可以看出,本技术中通过创建仿真驾驶环境,实现了对抬头显示系统的仿真测试过程,从而解决了目前在对抬头显示系统进行测试时,只能设计软件凭空预览最终显示效果,或者实车部署测试抬头显示系统的显示性能时,导致的对抬头显示系统的测试效果不佳、测试效率低的问题。
附图说明
31.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本技术要求保护的范围。
32.图1示出本技术实施例提供的一种抬头显示系统的仿真测试方法的流程示意图;
33.图2示出本技术实施例提供的一种抬头显示系统根据仿真系统发送的状态信息生
成的第一画面的示意图;
34.图3示出本技术另一实施例提供的一种抬头显示系统根据仿真系统发送的状态信息生成的第一画面的示意图;
35.图4示出本技术另一实施例提供的一种抬头显示系统根据仿真系统发送的状态信息生成的第一画面的示意图;
36.图5示出本技术另一实施例提供的一种抬头显示系统的仿真测试方法的流程示意图;
37.图6示出本技术另一实施例提供的一种抬头显示系统的仿真测试方法的流程示意图;
38.图7示出本技术另一实施例提供的一种抬头显示系统的仿真测试方法的流程示意图;
39.图8示出本技术实施例提供的一种仿真驾驶环境的场景示意图;
40.图9示出本技术实施例提供的一种对第一画面进行抠图预处理的过程示意图;
41.图10示出本技术实施例提供的一种图像融合方法的处理过程示意图;
42.图11示出本技术实施例提供的一种仿真测试系统的组成结构示意图。
具体实施方式
43.目前,ar-hud设备生产厂商在将生产的ar-hud设备投入市场之前,均需要对ar-hud程序(即本技术中的抬头显示系统)的显示性能进行测试,以确保出厂的ar-hud设备的品质。
44.然而,现阶段在对ar-hud程序进行测试时,只能设计软件凭空预览最终显示效果,或者实车部署测试ar-hud程序的显示性能,如此一来,导致对ar-hud程序的测试效果不佳、测试效率较低。
45.鉴于存在的上述问题,本技术提出了一种抬头显示系统的仿真测试方法,用于实现对抬头显示系统的仿真测试,从而解决目前对ar-hud程序的测试效果不佳、测试效率较低的问题。
46.请参见图1,图1是本技术实施例提供的一种抬头显示系统的仿真测试方法的流程示意图。
47.s11,获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息。
48.本技术实施例中,仿真驾驶环境可以通过常用的三维建模工具(比如,3dmax,blender,maya)和三维引擎(比如,unity和ue)相结合的方式进行模拟创建。
49.第一仿真车辆为用于测试抬头显示系统的显示效果时,在仿真驾驶环境中驱动行驶的车辆。
50.状态信息为第一仿真车辆在仿真驾驶环境中行驶时,仿真系统获取的第一状态信息和第二状态信息,其中,第一状态信息为第一仿真车辆自身的信息,第二状态信息为第一仿真车辆与仿真驾驶环境交互时产生的信息。作为示例,第一状态信息可以包括第一仿真车辆的车速、第一仿真车辆在仿真驾驶环境中的坐标;第二状态信息可以包括车道偏移预警信息(ldw)、前向碰撞预警信息(fcw)、行人碰撞预警信息(pcw)、车距监测预警信息(hmw)、变道辅助信息(lca),盲区监测信息(bsd)、自动泊车信息(aps)、自适应巡航信息
(acc)等等。
51.s12,通过待测试的抬头显示系统根据状态信息生成第一画面。
52.本技术实施例中,仿真系统通过s11获取到第一仿真车辆的状态信息后,通过数据发送接口将状态信息通过一定的数据通讯协议(比如:tcp协议、udp协议和http协议)和数据通讯方式(比如,有线和无线通信方式)发送给抬头显示系统,其中,抬头显示系统也预留有通讯模块,该通讯模块用于实现与仿真系统之间的数据交互。
53.在一种可能的实现方式中,可以直接通过抬头显示系统开放数据接口,开发对应的动态链接库,该实现方式可以极大的提高数据通讯的效率,比通过网络传输的方式更快、更直接、更准确。
54.需要说明的是,本技术实施例中的抬头显示系统可通过汽车人机界面开发领域使用广泛的软件kanzi studio制作而得到。
55.当然,在另一种实现方式中,抬头显示系统还可以通过用其它软件模拟来获得,如通过web软件模拟画面显示效果,通过模拟的该web软件来实现与仿真系统的通讯,借此来达到对抬头显示系统的仿真测试。
56.在另一种实现方式中,可通过抬头显示系统根据第一仿真车辆的状态信息,预先生成的一个或多个显示画面来替代抬头显示系统,由此省去抬头显示系统生成第一画面的流程,从而方便仿真系统更快速的得到仿真效果。
57.作为示例,假设仿真系统向抬头显示系统发送的第一仿真车辆的状态信息为fcw信息,并且该fcw信息表示在第一仿真车辆左侧1m、前方10m处有第二车辆,警告等级为1级。仿真系统将fcw信息发送至抬头显示系统后,抬头显示系统会对仿真系统发送的fcw信息进行解析,从而生成如图2所示的包含前车锁定指示符的第一画面,其中,前车锁定指示符用于指示位于第一仿真车辆前方的车辆。其中,仿真系统可以将fcw信息按照json信息格式发送至抬头显示系统,当然也可以将fcw信息按照其他格式发送至抬头显示系统,本技术对此不作限制。
58.在另一示例中,在仿真系统向抬头显示系统发送的第一仿真车辆的状态信息为pcw信息时,抬头显示系统会根据仿真系统发送的pcw信息生成如图3所示的包含行人锁定指示符的第一画面,其中,行人锁定指示符用于指示位于第一仿真车辆前方的行人。
59.在另一示例中,在仿真系统向抬头显示系统发送的第一仿真车辆的状态信息为hmw信息时,抬头显示系统会根据仿真系统发送的hmw信息生成如图4所示的包含危险提示符的第一画面,其中,危险提示符用于指示仿真驾驶环境中与第一仿真车辆之间的距离满足危险提示阈值的车辆。
60.当然,在实际应用中,第一画面还可以是包含车速信息的画面,以及来电显示和音乐播放界面的画面,本技术在此不作特别限定。
61.抬头显示系统在生成第一画面后,将包含各类状态信息的第一画面发送给仿真系统。
62.为了便于描述,此处将抬头显示系统根据仿真系统发送的状态信息,而生成的画面定义为第一画面。
63.s13,将第一画面与仿真驾驶环境融合得到仿真测试画面。
64.本技术实施例中,抬头显示系统将s12中根据状态信息生成的第一画面发送给仿
真系统,仿真系统接收到第一画面后,通过预设的融合算法,对第一画面与包含第一仿真车辆的仿真驾驶环境融合后,得到最终的仿真测试画面,并将仿真测试画面显示在包含第一仿真车辆的仿真驾驶环境中。
65.可选的,在采用融合算法的基础上,还可以进一步基于预设的透视算法对第一画面与包含第一仿真车辆的仿真驾驶环境进行融合,从而使最终的仿真测试画面达到更佳的显示效果。例如,仿真系统采用画面融合技术,将第一画面经过透视坐标换算后显示到仿真系统画面上,从而实现第一画面与仿真驾驶环境的完美融合,得到驾驶员视角的抬头显示系统画面在仿真驾驶环境中的现实效果。
66.参见图5,为在本技术图1实施例的基础上提供的另一实施例,其中,在获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息之前,还包括:
67.s51,生成用于第一仿真车辆行驶的仿真驾驶环境。
68.本技术实施例中,如上s11中所述,仿真驾驶环境可通过常用的三维建模工具和三维引擎来生成。
69.其中,三维建模工具用于构建仿真驾驶环境中的仿真目标物(比如,行人、第二车辆、建筑物、交通信号灯等),并为仿真目标物添加动画特效(比如,抖动、切换和移动等)。所述仿真目标物为针对现实驾驶环境中的目标物进行仿真后得到的。
70.三维引擎用于为通过三维建模工具构建的仿真驾驶环境添加时间(比如,该时间特效可以包括一天中不同时段的环境光亮度)、天气状况(比如,雨雾雪)等特效,并通过三维引擎提供的物理引擎为第一仿真车辆添加物理实体特性(比如,质量、重力、弹性碰撞等)。
71.通过三维建模工具和三维引擎相结合的方式生成仿真驾驶环境后,仿真驾驶环境中即包括了以下至少一种仿真目标物:行人、第二车辆、时间、交通信号灯、建筑、天气状况等;其中,位于仿真驾驶环境中的至少一个仿真目标物具有动画效果。
72.为了便于描述,此处将仿真驾驶环境中除第一仿真车辆外的车辆定义为第二车辆。
73.作为示例,仿真驾驶环境中的仿真目标物“时间”可以在三维引擎中通过模拟太阳高度角和方位角控制平行光实现仿真。
74.仿真驾驶环境中的仿真目标物“天气状况”,比如:雨雪雾等特效,则同样可以通过三维引擎为仿真驾驶环境添加相应的特效来实现,以unity为例,可通过粒子系统引擎模拟渲染图像或网格来产生相应的视觉效果,雾效则可以通过将混合雾的颜色和物体的原始颜色进行混合计算以产生相应的视觉效果,其中算法的计算过程如下所示:
75.float3 fog=mix(fogcolor.rgb,col.rgb,f)
76.上述算法中,f表示混合因子(f的值会被限制在[0,1]之间),当f为0时,表示仿真驾驶环境中完全没有雾效,f为1时,表示仿真驾驶环境完全被雾覆盖;fogcolor.rgb表示混合雾的颜色,col.rgb表示物体的原始颜色。
[0077]
作为示例,给出以下三种混合计算的模式:
[0078]
模式1:
[0079]
其中,d
max
和d
min
分别标识第一仿真车辆在仿真驾驶环境中行驶时,
受雾效影响的起点位置和终点位置,z表示三维引擎中片元的深度,可通过api主动设定;
[0080]
模式2:
[0081]
f=e-d|z|
,其中,e为自然底数,d是控制雾效浓度的参数,z表示三维引擎中片元的深度,可通过api主动设定;
[0082]
模式3:
[0083]
其中,e为自然底数,d是控制雾效浓度的参数,z表示三维引擎中片元的深度,可通过api主动设定。
[0084]
在本技术另一实施例中,获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息,包括:
[0085]
基于物理引擎获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息,物体引擎用于为第一仿真车辆提供物理实体特性。
[0086]
本技术实施例中,通过三维引擎中物理引擎提供的刚体组件和碰撞体为第一仿真车辆提供物理实体特性,如质量、重力、弹性碰撞和轮胎摩擦模型等。
[0087]
以unity三维引擎为例,可使用专门为车轮提供的碰撞体为第一仿真车辆的物理实体特性进行设置,作为示例,可在碰撞体内设置碰撞检测、车轮物理组件和基于打滑的轮胎摩擦模型,以实现对车辆激光雷达、毫米波雷达的仿真,从而便于获取仿真车辆在仿真驾驶环境中行驶时的状态信息。
[0088]
作为示例,在为第一仿真车辆添加和设置碰撞体后,若第一仿真车辆在行驶过程中检测到有其它车辆进入检测范围时,仿真系统会立刻将前向碰撞预警信息(fcw)发送给抬头显示系统。
[0089]
在另一示例中,在为第一仿真车辆添加和设置碰撞体后,若第一仿真车辆在行驶过程中检测到有行人进入检测范围时,仿真系统会立刻将行人碰撞预警信息(pcw)发送给抬头显示系统。
[0090]
参见图6,为在本技术图5实施例的基础上提供的另一实施例,其中,在获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息之前,还包括:
[0091]
s62,获取驱动第一仿真车辆行驶的控制指令,控制指令包括第一仿真车辆在仿真驾驶环境中的驱动力。
[0092]
本技术实施例中,控制指令除了包括第一仿真车辆在仿真驾驶环境中的驱动力外,还可以包括第一仿真车辆在仿真驾驶环境中的起步位置。作为示例,用户可以在仿真系统的人机交互界面中设置第一仿真车辆应该从仿真驾驶环境中的哪个位置作为起点,以多大的驱动力(比如,1挡、2挡、3挡)起步,在仿真驾驶环境中行驶,设置完成后,第一仿真车辆即可按照控制指令的指示在仿真驾驶环境中行驶,当然,在第一仿真车辆行驶的过程中,也可以通过控制指令改变第一仿真车辆的驱动力。
[0093]
当然,在另一种实现方式中,第一仿真车辆在仿真驾驶环境中的行驶也可通过自动驾驶实现,借助ai自身的人工智能驱动逻辑,驱动第一仿真车辆在仿真驾驶环境中行驶,其中,仿真车辆在仿真驾驶环境中的行驶过程可通过样本(预设的多个行驶过程)预先训练的方式得到,在该种驱动方式中,控制指令包括第一仿真车辆在仿真驾驶环境中的驱动力,至于第一仿真车辆的起步位置,不用做特别限定。
[0094]
在另一种实现方式中,也可以通过带有指向性(比如,前进、后退、靠左行驶、靠右
行驶)的鼠标或键盘,驱动第一仿真车辆在仿真驾驶环境中前进/后退/靠右行驶/靠左行驶,在该种驱动方式中,控制指令包括第一仿真车辆在仿真驾驶环境中的驱动力,至于起步位置也不作特别限定。
[0095]
在另一种实现方式中,用户还可通过驾驶模拟器自主操作第一仿真车辆在仿真驾驶环境中的行驶过程,此时,控制指令包括第一仿真车辆在仿真驾驶环境中的驱动力,至于初始位置不作特别限定。
[0096]
参见图7,在本技术另一实施例中,将第一画面与仿真驾驶环境融合得到仿真测试画面,包括:
[0097]
s71,对第一画面进行预处理,得到第二画面。
[0098]
作为示例,假设图8为存在第一仿真车辆的仿真驾驶环境。
[0099]
作为示例,抬头显示系统在根据仿真系统发送的状态信息生成第一画面后,将第一画面发送给仿真系统,仿真系统在得到第一画面后,可以根据图8中仿真驾驶环境的背景颜色,对第一画面进行抠图预处理,从而使得经过抠图预处理后的第一画面的背景颜色和图8中所示的仿真驾驶环境的背景颜色相同。
[0100]
作为示例,参见图9,以unity为例,可通过shader脚本去除图9-1(第一画面)中的背景颜色,得到图9-2。
[0101]
当然,在第一画面有透明通道或类似播放电影,看图、浏览网页这种情景时,则不需要对第一画面进行抠图预处理。作为示例,当接收到的第一画面为图4,仿真驾驶环境为图8时,则不需要对图4进行抠图预处理。
[0102]
为了便于描述,此处将对第一画面进行抠图预处理后,得到的画面定义为第二画面。
[0103]
需要说明的是,对第一画面进行的预处理,除了上述示例的抠图预处理外,还可以包括去噪、增强、平滑、锐化等预处理操作,本技术对此不作限制。
[0104]
s72,对第二画面与存在第一仿真车辆的仿真驾驶环境进行融合处理,得到仿真测试画面。
[0105]
作为示例,参见图8,仿真系统在得到如图9-2所示的第二画面后,确定第二画面的投射位置(仿真系统只需要清楚实际应用中ar-hud设备的参数信息,就可以模拟出第二画面在仿真驾驶环境中的坐标信息),在确定第二画面的投射位置后,对第二画面进行缩放、旋转处理得到成像画面,从而通过预设的图像融合算法,将成像画面与存在第一仿真车辆的仿真驾驶环境相融合,得到如图10所示的仿真测试画面,其中,对第二画面进行缩放、旋转处理是为了使成像画面与仿真驾驶环境中的第二车辆融合并对齐。
[0106]
参见图11,是本技术实施例提供的一种仿真测试系统的组成结构示意图,如图11所述,该仿真测试系统包括:
[0107]
仿真系统,用于生成第一仿真车辆在仿真驾驶环境中行驶时的状态信息,并将状态信息向抬头显示系统发送;
[0108]
抬头显示系统,用于接收仿真系统发送的状态信息,根据状态信息生成第一画面,并将第一画面向仿真系统发送;
[0109]
仿真系统,还用于将第一画面与存在第一仿真车辆的仿真驾驶环境融合得到仿真测试画面。
[0110]
在本技术另一实施例中,仿真系统包括:
[0111]
环境仿真模块,用于生成用于第一仿真车辆行驶的仿真驾驶环境,其中,仿真驾驶环境中包含仿真目标物,仿真目标物具有动画效果;
[0112]
数据仿真模块,用于基于物理引擎获取第一仿真车辆在仿真驾驶环境中行驶时的状态信息,其中,物理引擎用于为第一仿真车辆提供物理实体特性;第一仿真车辆在仿真驾驶环境中行驶时的状态信息包括:第一状态信息和第二状态信息,第一状态信息为第一仿真车辆自身的信息,第二状态信息为第一仿真车辆与仿真驾驶环境交互时产生的信息。
[0113]
在本技术另一实施例中,仿真系统还包括:
[0114]
驾驶仿真模块,用于获取驱动第一仿真车辆行驶的控制指令后,驱动第一仿真车辆在仿真驾驶环境中行驶,控制指令包括:第一仿真车辆在仿真驾驶环境中的驱动力;
[0115]
驾驶仿真模块,还用于对第一画面进行预处理,得到第二画面;将第二画面与存在第一仿真车辆的仿真驾驶环境融合,得到仿真测试画面。
[0116]
需要说明的是,对仿真测试系统相关实施例的描述可参见上文中对抬头显示系统的仿真测试方法实施例的描述,在此不再赘述。
[0117]
以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本技术的方法及其核心思想。同时,本领域技术人员依据本技术的思想,基于本技术的具体实施方式及应用范围上做出的改变或变形之处,都属于本技术保护的范围。综上所述,本说明书内容不应理解为对本技术的限制。