信号灯识别方法、装置、设备以及存储介质与流程

文档序号:24783706发布日期:2021-04-23 09:16阅读:127来源:国知局
信号灯识别方法、装置、设备以及存储介质与流程

1.本公开涉及图像处理领域,尤其涉及车路协同、车联网等智能交通领域。


背景技术:

2.车路协同借助新一代信息通信技术,为车辆提供更多信息。车路协同的一个应用场景是为车辆提供红绿灯倒计时信息,比如,在车辆前方有大卡车阻挡驾驶员视线时,驾驶员可以通过车端设备的红绿灯倒计时了解真实红绿灯状态。该应用场景的传统测试方法,是人工实地测试路口,记录当前真实红绿灯的秒数,和智能设备上显示的红绿灯倒计时秒数进行比较,得到时延。


技术实现要素:

3.本公开提供了一种信号灯识别方法、装置、设备以及存储介质。
4.根据本公开的一方面,提供了一种信号灯识别方法,包括:
5.采用信号灯识别模型对多个视频帧进行识别,得到真实信号灯的状态信息和模拟信号灯的状态信息;
6.根据真实信号灯的状态信息和模拟信号灯的状态信息,确定真实信号灯和模拟信号灯之间的时延。
7.根据本公开的另一方面,提供了一种信号灯识别装置,包括:
8.状态确定单元,用于采用信号灯识别模型对多个视频帧进行识别,得到真实信号灯的状态信息和模拟信号灯的状态信息;
9.时延确定单元,用于根据真实信号灯的状态信息和模拟信号灯的状态信息,确定真实信号灯和模拟信号灯之间的时延。
10.根据本公开的另一方面,提供了一种电子设备,包括:
11.至少一个处理器;以及
12.与该至少一个处理器通信连接的存储器;其中,
13.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
14.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
15.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
16.根据本公开的技术能够节约人力成本,提高时延精准度。
17.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
18.附图用于更好地理解本方案,不构成对本公开的限定。其中:
19.图1是根据本公开实施例信号灯识别方法的实现流程示意图;
20.图2是根据本公开实施例信号灯识别方法在一具体示例中视频帧的示例图;
21.图3是根据本公开实施例信号灯识别方法在另一具体示例中视频帧的示例图;
22.图4是根据本公开实施例信号灯识别方法在一具体示例中实现的流程图;
23.图5是根据本公开实施例信号灯识别方法在一具体示例中信号灯识别结果的比对图;
24.图6是根据本公开实施例信号灯识别装置的结构示意图;
25.图7是用来实现本公开实施例的信号灯识别方法的电子设备的框图。
具体实施方式
26.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
27.本公开方案提供一种信号灯识别方法,具体地,图1是根据本公开实施例信号灯识别方法的实现流程示意图,如图1所示,该方法包括:
28.步骤s101:采用信号灯识别模型对多个视频帧进行识别,得到真实信号灯的状态信息和模拟信号灯的状态信息。
29.步骤s102:根据真实信号灯的状态信息和模拟信号灯的状态信息,确定真实信号灯和模拟信号灯之间的时延。
30.在一种示例性的场景中,可以采用图像采集设备拍摄视频。其中,该视频的视频帧中可以既包真实信号灯的图像,又包括模拟信号灯的图像。例如,车内安装摄像头,该摄像头可以拍摄到车机的控制界面和车辆外部的环境图像。在经过安装有信号灯的路口时,车内的摄像头可以同时拍摄到车辆外部路口的红绿灯画面以及车机的控制界面上显示的红绿灯画面。从该视频中可以提取多个视频帧。采用预先训练的信号灯识别模型对多个视频帧进行识别,得到真实信号灯的状态信息和模拟信号灯的状态信息。例如,真实信号灯处于红灯状态的时间、处于绿灯状态的时间以及处于黄灯状态的时间;以及模拟信号灯,处于红灯状态的时间、处于绿灯状态的时间以及处于黄灯状态的时间。这样,本公开方案能够基于视频帧中真实信号灯的状态信息和模拟信号灯的状态信息,确定真实信号灯和模拟信号灯之间的时延,无需人工手动记录真实信号灯和模拟信号灯的状态并计算时延,所以,能够节约人力成本,提高真实信号灯和模拟信号灯的时延的精准度。
31.而且,相比于基于人眼感知记录的数据,本公开方案是基于视频帧确定真实信号灯的状态信息和模拟信号灯的状态信息,真实信号灯和模拟信号灯的时延的精准度更高,基于所计算的时延,精准度也更高。
32.本公开方案的执行主体可以包括各种计算设备,例如具有计算功能的计算器或者服务器等,服务器可以是物理服务器,也可以是虚拟服务器。计算设备可以与图像采集设备相连接,从图像采集设备获取待处理视频,对该视频进行分帧等处理,得到准备识别的多个
视频帧。
33.本公开方案中,真实信号灯可以包括路侧设备,例如设置在路口的岗亭或支撑柱上的信号灯。
34.本公开方案中,模拟信号灯可以包括联网设备的模拟信号灯。联网设备通过车联网技术,与路侧设备互联,得到路侧设备的真实信号灯的状态信息,然后,基于真实信号灯的状态信息,更新模拟信号灯的状态信息。也就是说,模拟信号灯可以用来模拟真实信号灯的信号灯。
35.联网设备可以包括车联网设备,例如车载智能中控多媒体系统、智能后视镜等。联网设备也可以包括具备联网功能的移动设备,例如智能手机、智能平板等。
36.在一具体应用中,真实信号灯和模拟信号灯可以具体为红绿灯,红绿灯的状态信息包括红灯、黄灯和绿灯三种状态。
37.在一具体应用中,对视频帧识别时,需要区分指示不同方向的真实信号灯和模拟信号灯。例如,真实信号灯分为:直行真实信号灯、左转真实信号灯和右转真实信号灯。模拟信号灯分为:直行模拟信号灯、左转模拟信号灯和右转模拟信号灯。
38.实际场景中,本公开方案的多个视频帧可以来自于图像采集设备所采集到的视频数据。图像采集设备可以设置于车内,采集视频数据的过程可以是:一种示例,该图像采集设备拍摄到车内设备的模拟信号灯,以及路侧设备的真实信号灯,拍摄效果可以参考图2。另一种示例,该图像采集设备拍摄到第一车内设备的模拟信号灯,以及第二车内设备所显示的真实信号灯,其中,第二车内设备拍摄路侧设备的真实信号灯,并通过显示屏显示,拍摄效果可以参考图3。
39.在本公开方案的一具体示例中,在采用信号灯识别模型对多个视频帧进行识别,还包括步骤:对待处理视频进行分帧处理,得到需要进行信号灯识别的多个视频帧,视频帧展示有真实信号灯和模拟信号灯。如此,将视频数据转换为视频帧数据,为后续进行图像的信号灯识别奠定基础。而且,从待处理视频中选取多个视频帧进行识别,而并非整个待处理视频进行识别,有利于减少工作量。
40.一个示例,可以按照预设帧率,对待处理视频进行分帧处理。比如,预设帧率为每秒30帧,则每隔1/30秒提取一个视频帧,也就是说,提取的每两相邻视频帧的时间间隔为1/30秒。
41.在本公开方案的一具体示例中,信号灯识别模型的训练样本图像中包括信号灯类别,信号灯类别为真实信号灯或模拟信号灯。比如,在准备训练样本图像时,从视频数据中获取视频帧,并在视频帧中确定信号灯区域,并标注信号灯区域的信号灯类别,得到训练样本图像。如此,信号灯识别模型完成训练后,可以更好地区分从视频帧中识别的信号灯是属于真实信号灯还是模拟信号灯。
42.在本公开方案的一具体示例中,训练样本图像中还包括信号灯的状态信息,状态信息为红灯状态、绿灯状态或黄灯状态。比如,在准备训练样本图像时,从视频数据中获取视频帧,并在视频帧中确定信号灯区域,并标注信号灯区域的状态信息,得到训练样本图像。如此,信号灯识别模型完成训练后,可以更好地区分从视频帧中识别的信号灯的状态信息。
43.在本公开方案的一具体示例中,根据真实信号灯的状态信息和模拟信号灯的状态
信息,确定真实信号灯和模拟信号灯之间的时延,包括:首先,根据真实信号灯的状态信息和模拟信号灯的状态信息,确定在相同状态切换的情况下真实信号灯对应的视频帧和模拟信号灯对应的视频帧。比如,在找到真实信号灯状态切换的一个视频帧,例如第10帧,通过预配置的10s滑窗(也就是在第10帧后的10s内的视频帧中)寻找模拟信号灯切换的视频帧,例如第20帧,这样,第10帧真实信号灯的状态切换和第20帧模拟信号灯的状态切换,可以认为是相同状态切换。随后,基于在相同状态切换的情况下真实信号灯对应的视频帧和模拟信号灯对应的视频帧,确定真实信号灯和模拟信号灯之间的时延。如此,相比于人工测试仅能得到秒级别的时延,采用本方案以帧为单位确定时延,可以得到毫秒级别的差异。这样,产品架构升级后时延减小,仍可使用此方案进行评估产品质量。
44.在本公开方案的一具体示例中,仿真方法还包括:根据真实信号灯的状态信息和模拟信号灯的状态信息,生成视频帧为时间单位的信号灯状态时间轴图。如此,以时间轴的形式,便于对齐真实信号灯和模拟信号灯同一时间点对应的状态信息,并且,以图的形式进行呈现信号灯的状态信息,测试结果更加直观。比如,图2中给出了视频帧为时间单位的信号灯状态时间轴图,时间轴图中,上方对应的是真实红绿灯视觉检测识别结果,下方对应的是车机设备的人机接口(human machine interface,hmi)红绿灯视觉检测识别结果。从图2可以直观了解真实信号灯和模拟信号灯的差异,从而迅速定位状态切换的时间点,确定时延。
45.在本公开方案的一具体示例中,还包括:根据真实信号灯的状态信息和模拟信号灯的状态信息,统计得到真实信号灯和模拟信号灯之间的切换时间点、时延均值、最大时延和最小时延中的至少之一。如此,自动化统计数据,减少测试人员的工作量,并且,提供切换时间点、时延均值、最大时延和最小时延等多项指标数据,测试人员可以更全面准确地评估模拟信号灯场景。
46.以下结合具体示例,对本申请方案做进一步详细说明,具体地,
47.(1)模型训练过程:
48.首先是分帧处理。对于待处理视频采用如ffmpeg(fast forward mpeg,快进mpeg)之类的多媒体视频处理工具进行预处理,得到分帧后的图像。其中,ffmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。mpeg(moving picture experts group,动态图像专家组)是制定多媒体领域内的国际标准组织。
49.对于分帧后的图像进行标注,将图像中的真实红绿灯和模拟红绿灯(例如车机显示的红绿灯倒计时)进行标注。参见图3所示,首先,以框作为标注类型,标注出图像的真实红绿灯和模拟红绿灯,然后,为各个框选择目标类别,目标类别的选项包括:红灯左转(真实)、红灯直行(真实)、红灯右转(真实)、绿灯左转(真实)、绿灯直行(真实)、绿灯右转(真实)、黄灯左转(真实)、黄灯直行(真实)、黄灯右转(真实)、红灯左转(map)、红灯直行(map)、红灯右转(map)、绿灯左转(map)、绿灯直行(map)、绿灯右转(map)、黄灯左转(map)、黄灯直行(map)、黄灯右转(map)。其中,“(真实)”表示真实红绿灯,(map)表示模拟红绿灯。完成上述标注工作后,可以得到训练样本图像集。
50.提取训练样本图像集的信息,进行数据转换,得到真实和车机显示的红绿灯各个方向的灯色后,将这些信息作为模型训练集,采用深度学习模型faster

rcnn(多产品融合模型)进行模型训练,得到信号灯识别模型。
51.(2)信号灯识别过程:
52.参见图4,为信号灯识别过程中各模块的处理流程图。具体地。
53.视频预处理模块:用于解码图像和感兴趣区域(region of interest,roi)提取。其中,解码图像,包括对从待处理视频数据进行分帧处理,得到待识别的多个视频帧。感兴趣区域提取:包括从各个视频帧中确定信号灯感兴趣区域。
54.真实灯识别模块:利用基于深度学习模型faster

rcnn训练所得的模型(即信号灯识别模型),对多个视频帧进行识别,得到视频帧中真实信号灯框(bounding box,bbox)的状态信息。
55.真实灯追踪(tracking)模块:由于真实红绿灯可能出现跳闪的情况,或者被车辆遮挡,导致真实红绿灯的频率低。因此,在上述对真实灯识别后,对真实信号灯进行追踪。例如,多帧视频帧对应的真实信号灯识别结果中,第10帧至第25帧之间无法识别到的真实灯状态信息,利用第10帧之前和第25帧之后的视频帧的真实灯识别结果,补充第10帧至第25帧之间的真实灯识别结果。
56.此外,由于真实红绿灯的情况往往比较复杂,需要进行单灯与多灯之间的匹配。例如图3中真实红绿灯同时出现多个直行红灯,此时将多个真实直行红灯作为一个真实直行行红灯即可,以便与模拟信号灯进行对齐比对。
57.模拟灯识别模块:利用基于深度学习模型faster

rcnn训练所得的模型(即信号灯识别模型),对多个视频帧进行识别,得到视频帧中模拟信号灯框bbox的状态信息。
58.生成时间轴模块:根据上述多个视频帧的真实灯识别结果和模拟灯识别结果,生成视频帧率时间轴图。
59.时间轴图比对模块:查找视频帧率时间轴图上的切换点,即发生状态切换的视频帧。可配置(10s)滑窗比对,以实现在相同状态切换的视频帧的情况下,比对真实信号灯和模拟信号灯的时延。比如,真实信号灯在第10帧切换状态,通过10s滑窗寻找第10帧后的10s内模拟信号灯状态切换的视频帧,作为相同状态切换进行比对。按帧计算红绿灯切换时延,比如帧率是每秒30帧,那么时延可度量最小值为33毫秒。对异常点位图片视频段进行可视化渲染,比如,由于真实红绿灯跳闪无法识别状态信息,导致时间轴图出现黑线,此时可以参考最近的正常点位的灯色对异常点位进行渲染。最后,还可产出切换时间点、均值、最大时延max、最小时延min灯统计量。
60.参见图5,图5是基于本方案进行分析的示例结果,图5中上面一行代表真实直行红绿灯灯色,下面一行车机上显示的直行红绿灯灯色。
61.参见表1,表1是真实直行红绿灯和车机上直行红绿灯切换时间点示例。
62.表1
63.模拟信号灯时间点真实信号灯时间点时延(秒)00:04:80000:04:4700.33
64.这样,通过本公开设计的方法,通过视频分析,人工智能模型训练,能准确得到真实红绿灯和车机上红绿灯倒计时之间的时延,对该场景进行更全面准确的评估。
65.本公开方案无须路测人员记录并手动计算每个路口切换灯色的时延,测试成本低,缩短测试周期。
66.本公开方案可复用性高,当架构升级后,可直接用该算法进行有效评估数据的准
确性,得到真实和车机显示的红绿灯差异。
67.本公开方案提供一种信号灯识别装置,具体地,如图6所示,该装置可以包括:
68.状态确定单元601,用于采用信号灯识别模型对多个视频帧进行识别,得到真实信号灯的状态信息和模拟信号灯的状态信息;
69.时延确定单元602,用于根据真实信号灯的状态信息和模拟信号灯的状态信息,确定真实信号灯和模拟信号灯之间的时延。
70.在本公开方案的一具体示例中,该装置还可以包括:
71.视频帧获取单元,用于对待处理视频进行分帧处理,得到需要进行信号灯识别的多个视频帧,视频帧展示有真实信号灯和模拟信号灯中包括真实信号灯和模拟信号灯。在本公开方案的一具体示例中,训练信号灯识别模型的训练样本图像中包括信号灯类别,信号灯类别为真实信号灯或模拟信号灯。
72.在本公开方案的一具体示例中,训练样本图像中还包括信号灯的状态信息,状态信息为红灯状态、绿灯状态或黄灯状态。
73.在本公开方案的一具体示例中,时延确定单元根据真实信号灯的状态信息和模拟信号灯的状态信息,确定真实信号灯和模拟信号灯之间的时延,包括:
74.切换视频帧子单元,用于根据真实信号灯的状态信息和模拟信号灯的状态信息,确定在相同状态切换的情况下真实信号灯对应的视频帧和模拟信号灯对应的视频帧;
75.时延确定子单元,用于在相同状态切换的情况下真实信号灯对应的视频帧和模拟信号灯对应的视频帧,确定真实信号灯和模拟信号灯之间的时延。
76.在本公开方案的一具体示例中,该装置还可以包括:
77.时间轴图生成单元,用于根据真实信号灯的状态信息和模拟信号灯的状态信息,生成视频帧为时间单位的信号灯状态时间轴图。
78.在本公开方案的一具体示例中,该装置还可以包括:
79.统计单元,用于根据真实信号灯的状态信息和模拟信号灯的状态信息,统计得到真实信号灯和模拟信号灯之间的切换时间点、时延均值、最大时延和最小时延中的至少之一。根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
80.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
81.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序来执行各种适当的动作和处理。在ram703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入输出(i/o)接口705也连接至总线704。
82.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;
输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
83.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如方法信号灯识别。例如,在一些实施例中,方法信号灯识别可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的方法信号灯识别的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法信号灯识别。
84.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
85.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
86.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
87.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
88.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
89.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。
90.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
91.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1