交通信号识别方法、装置、车辆导航设备和无人驾驶车辆
技术领域
本申请涉及自动驾驶技术领域,具体涉及一种交通信号识别方法、装置、车辆导航设备和无人驾驶车辆。
背景技术
目前,自动驾驶汽车呈现出接近实用化的趋势,为了保障自动驾驶汽车的驾驶安全性,需要自动驾驶汽车能够准确地知晓行驶道路上的交通信号,以便及时调整车辆行驶状态。
为了自动驾驶汽车能够准确地知晓行驶道路上的交通信号,需要自动驾驶汽车能够实时检测行驶道路上的交通信号灯显示的交通信号。现有的交通信号灯的检测方案中,是将自动驾驶车辆拍摄的图像输入识别模型中,由模型对图像中的交通信号灯的交通信号进行检测,这种检测方案没有考虑到实际应用中自动驾驶车辆拍摄的是连续帧的图像流,只对视频中的一部分图像进行的检测可能出现漏检,若是对全部图像都进行相同的检测则存在计算代价较大的问题。
发明内容
有鉴于此,本申请实施例提供了一种交通信号识别方法、装置、车辆导航设备和无人驾驶车辆,有利于降低漏检的可能性以及降低交通信号识别的代价。
本申请实施例提供了一种交通信号识别方法,该方法包括:
获取无人驾驶车辆拍摄的视频中的当前图像;
当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测所述当前图像中交通信号灯的感兴趣区域;否则,基于所述视频中所述当前图像的上一帧图像中所述交通信号灯的感兴趣区域,利用目标跟踪模型对所述当前图像中的交通信号灯进行目标跟踪,确定所述当前图像中交通信号灯的感兴趣区域;
通过训练完成的交通信号灯状态识别模型,识别所述当前图像的所述感兴趣区域中交通信号灯表示的交通信号。
本申请实施例还提供了一种交通信号识别装置,该装置包括:
获取单元,用于获取无人驾驶车辆拍摄的视频中的当前图像;
检测单元,用于当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测所述当前图像中交通信号灯的感兴趣区域;否则,基于所述视频中所述当前图像的上一帧图像中所述交通信号灯的感兴趣区域,利用目标跟踪模型,对所述当前图像中的交通信号灯进行目标跟踪,确定所述当前图像中交通信号灯的感兴趣区域;
识别单元,用于通过训练完成的交通信号灯状态识别模型,识别所述当前图像的所述感兴趣区域中交通信号灯表示的交通信号。
可选的,检测单元,包括:第一检测子单元、第二检测子单元、或第三检测子单元;
所述第一检测子单元,用于当所述当前图像为所述视频中的第一帧图像时,通过训练完成的交通信号灯检测模型检测所述当前图像中交通信号灯的感兴趣区域;
所述第二检测子单元,用于当训练完成的交通信号灯检测模型对所述视频中的图像的最近检测时刻,与当前时刻的时间间隔不小于预设检测时间间隔时,通过所述交通信号灯检测模型检测所述当前图像中交通信号灯的感兴趣区域;
所述第三检测子单元,用于基于所述视频中所述当前图像的上一帧图像中所述交通信号灯的感兴趣区域,利用目标跟踪模型对所述当前图像中的交通信号灯进行目标跟踪,当目标跟踪失败时,通过训练完成的交通信号灯检测模型检测所述当前图像中交通信号灯的感兴趣区域。
可选的,所述交通信号灯的类型的数量为至少一种,所述交通信号灯检测模型基于训练数据训练完成,所述训练数据包括至少一种类型的交通信号灯图像样本,每一个交通信号灯图像样本的标签包括:交通信号灯的类型,以及交通信号灯的感兴趣区域的位置;
检测单元,用于通过训练完成的交通信号灯检测模型,对所述当前图像进行交通信号灯的检测,得到检测结果,其中,所述检测结果包括所述当前图像中交通信号灯的感兴趣区域,以及各个感兴趣区域中交通信号灯的类型;
所述识别单元,用于通过各类型交通信号灯对应的交通信号灯状态识别模型,分别对所述当前图像中各类型交通信号灯的感兴趣区域中的内容进行识别,以确定所述当前图像中各交通信号灯表示的交通信号。
可选的,所述交通信号灯包括颜色灯;
所述识别单元包括:
颜色灯识别单元,用于通过颜色灯状态识别模型,对所述当前图像中颜色灯的感兴趣区域中的内容进行识别,以确定所述当前图像中处于点亮状态的颜色灯显示的颜色。
可选的,所述交通信号灯包括倒计时灯;
所述识别单元包括:
倒计时灯识别单元,用于对于所述当前图像中各倒计时灯的感兴趣区域,通过倒计时灯状态识别模型对所述感兴趣区域的内容进行识别,以确定所述感兴趣区域中的倒计时灯表示的倒计时值。
可选的,所述装置还包括置信度获取单元,用于在倒计时灯识别单元对于所述当前图像中各倒计时灯的感兴趣区域,通过倒计时灯状态识别模型对所述感兴趣区域的内容进行识别,以确定所述感兴趣区域中的倒计时灯表示的倒计时值前,从所述交通信号灯检测模型对所述当前图像的所述检测结果中,获取各倒计时灯的感兴趣区域对应的检测框的置信度;
所述倒计时灯识别单元,用于当倒计时灯的置信度不低于预设置信度阈值时,对于所述倒计时灯的感兴趣区域,继续执行所述通过倒计时灯状态识别模型对所述感兴趣区域的内容进行识别,以确定所述感兴趣区域中的倒计时灯表示的倒计时值的步骤,基于所述倒计时值更新预设计时器的倒计时值,其中,所述预设计时器的初始倒计时值为所述倒计时灯首次被检测到时表示的倒计时值;
所述倒计时灯识别单元,用于当倒计时灯的置信度低于预设置信度阈值时,对于所述倒计时灯的感兴趣区域,不执行所述通过倒计时灯状态识别模型对所述感兴趣区域的内容进行识别,以确定所述感兴趣区域中的倒计时灯表示的倒计时值的步骤;获取所述倒计时灯对应的预设计时器当前的倒计时作为所述倒计时灯表示的倒计时。
可选的,所述倒计时灯识别单元,包括:
划分子单元,用于基于两位数的数字中两个数位在所述感兴趣区域的分布逻辑,将所述感兴趣区域划分为两个子区域;
倒计时灯识别子单元,用于通过倒计时灯状态识别模型,对所述两个子区域中的数字分别进行识别;
确定子单元,用于在所述两个子区域的识别结果满足预设成功识别条件时,基于所述两个子区域的识别结果确定所述感兴趣区域中的倒计时灯的倒计时值,否则,获取所述倒计时灯对应的预设计时器当前的倒计时值,作为所述倒计时灯表示的倒计时值。
所述装置还包括对应关系确定单元和地图交通信号确定单元;
对应关系确定单元,用于在识别单元通过训练完成的交通信号灯状态识别模型,识别所述当前图像的所述感兴趣区域中交通信号灯表示的交通信号前,获取无人驾驶车辆当前所处位置对应的地图;基于所述地图上记载的交通信号灯的位置,以及所述无人驾驶车辆在所述地图中的位置,确定所述地图中所述无人驾驶车辆的拍摄装置的可见交通信号灯;基于所述可见交通信号灯在所述地图上的位置、所述无人驾驶车辆在所述地图中的位置、以及所述当前图像中交通信号灯的感兴趣区域,确定所述可见交通信号灯与所述当前图像中各感兴趣区域的交通信号灯的对应关系;
地图交通信号确定单元,用于在识别单元通过训练完成的交通信号灯状态识别模型,识别所述当前图像的所述感兴趣区域中交通信号灯表示的交通信号后,基于交通信号灯状态识别模型的识别结果以及所述对应关系,确定所述地图上的可见交通信号灯对应的交通信号。
可选的,对应关系确定单元,包括:
映射子单元,用于基于所述可见交通信号灯在所述地图上的位置,以及所述无人驾驶车辆在所述地图中的位置,将所述可见交通信号灯从所述地图的坐标系,映射到所述无人驾驶车辆的车身坐标系中;
第一排序子单元,用于将所述可见交通信号灯按照在所述车身坐标系中的目标轴坐标进行排序,其中,所述目标轴平行于所述无人驾驶车辆所在路面且与所述无人驾驶车辆的前进方向垂直;
第二排序子单元,用于将所述当前图像中所述感兴趣区域的交通信号灯按照所述感兴趣区域在所述当前图像中的水平方向的坐标进行排序;
关系建立子单元,用于基于所述可见交通信号灯的排列顺序以及所述当前图像中的交通信号灯的排列顺序,确定所述可见交通信号灯与所述当前图像中感兴趣区域的交通信号灯的对应关系。
可选的,该装置还包括数量比较单元:用于在对应关系确定单元基于所述可见交通信号灯在所述地图上的位置、所述无人驾驶车辆在所述地图中的位置、以及所述当前图像中交通信号灯的感兴趣区域,确定所述可见交通信号灯与所述当前图像中各感兴趣区域的交通信号灯的对应关系前,确定所述可见交通信号灯的总数量,与所述当前图像中交通信号灯的总数量是否相同;
对应关系确定单元,用于若数量比较单元的比较结果为是,则继续执行所述基于所述可见交通信号灯在所述地图上的位置、所述无人驾驶车辆在所述地图中的位置、以及所述当前图像中交通信号灯的感兴趣区域,确定所述可见交通信号灯与所述当前图像中各感兴趣区域的交通信号灯的对应关系的步骤,否则不执行所述基于所述可见交通信号灯在所述地图上的位置、所述无人驾驶车辆在所述地图中的位置、以及所述当前图像中交通信号灯的感兴趣区域,确定所述可见交通信号灯与所述当前图像中各感兴趣区域的交通信号灯的对应关系的步骤。
本申请实施例还提供一种车辆导航设备,所述车辆导航设备包括上述的交通信号识别装置。
本申请实施例还提供一种无人驾驶车辆,该无人驾驶车辆包括驱动***、控制***和导航***;
所述导航***,用于执行上述的交通信号识别方法以确定无人驾驶车辆当前行驶道路上的交通信号,并基于所述交通信号对车辆进行导航;
所述控制***,用于在所述导航***的导航下,对所述驱动***进行控制;
所述驱动***,用于在所述控制***的控制下,驱动所述车辆运动。
本申请实施例提供了一种交通信号识别方法、装置、车辆导航设备和无人驾驶车辆,可以获取无人驾驶车辆拍摄的视频中的当前图像;当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;否则,基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域;通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号,鉴于目标跟踪算法的计算量小于模型检测的计算量,本申请中针对连续帧的应用场景,结合模型检测和目标跟踪来实现对连续帧中交通信号灯的感兴趣区域的识别,不仅可以实现对每一帧图像的检测,降低漏检的可能,还可以有效降低对连续帧的感兴趣区域的识别所需的计算代价。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的交通信号识别***的结构示意图;
图1b是本发明实施例提供的交通信号识别方法的流程图;
图2是本发明实施例提供的结合模型检测和目标跟踪对交通信号灯的感兴趣区域进行检测的示意图;
图3是本发明实施例提供的训练交通信号灯检测模型的示意图;
图4是本发明实施例提供的基于图3训练的交通信号灯检测模型对图像中交通信号灯的检测框进行检测的示意图;
图5是本发明实施例提供的基于检测模型输出的检测框对倒计时灯的倒计时值进行识别的方法示意图;
图6是本发明实施例提供的颜色灯的感兴趣区域中交通信号的具体识别方法的示意图;
图7是本发明实施例提供的交通信号识别装置的结构示意图;
图8是本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种交通信号识别方法、装置、车辆导航设备、无人驾驶车辆、计算机设备和存储介质。具体地,本发明实施例提供适用于车辆导航设备、计算机设备和无人驾驶车辆的交通信号识别装置,以及适用于计算机设备的交通信号识别服务装置。本实施例中,车辆导航设备可以理解为向无人驾驶车辆提供导航所需信息的电子设备,而不局限于导航仪。
可选的,本实施例中,交通信号识别装置适用的车辆导航设备和计算机设备可以是独立于无人驾驶车辆的设备,也可以是集成于无人驾驶车辆中的设备,本实施例对此没有限制。例如,该车辆导航设备可以为终端等设备,该终端可以为手机、平板电脑、以及笔记本电脑等设备,其中,交通信号识别服务装置适用的计算机设备可以为服务器等网络侧设备。该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。
比如,交通信号识别装置可以集成在终端中,交通信号识别服务装置可以集成在服务器,
参考图1a,本发明实施例提供的交通信号识别***包括无人驾驶车辆10和服务器20等;无人驾驶车辆10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,交通信号识别装置与无人驾驶车辆连接中。
无人驾驶车辆10,可以用于获取无人驾驶车辆拍摄的视频中的当前图像;当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;否则,基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域;通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号;向服务器20发送地图获取请求。
其中,服务器20,可以用于接收无人驾驶车辆10发送的地图获取请求,基于该地图获取请求获取无人驾驶车辆所处位置对应的地图,将获取的地图发送给无人驾驶车辆10;
无人驾驶车辆10,可以用于,接收服务器发送的地图,基于该地图以及各感兴趣区域对应的交通信号,确定地图中无人驾驶车辆当前行驶道路上的交通信号。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本发明实施例将从交通信号识别装置的角度进行描述,该交通信号识别装置具体可以集成在车辆导航设备、无人驾驶车辆或计算机设备中。
本发明实施例提供的一种交通信号识别方法,如图1b所示,该交通信号识别方法的具体流程可以如下:
101、获取无人驾驶车辆拍摄的视频中的当前图像;
本实施例中,可以通过设置于无人驾驶车辆上的拍摄装置实时拍摄车辆前方的视频。可选的,本实施例中的拍摄装置的数量不限,拍摄装置可以只有一个,也可以有多个。其中,视频中的当前图像可以理解为无人驾驶车辆当前拍摄到的图像。
当拍摄装置只有一个时,可选的,拍摄装置在无人驾驶车辆上的安装位置优先选择无人驾驶车辆上前方视野较好的位置,例如拍摄装置在无人驾驶车辆上的安装位置为无人驾驶车辆的顶部。
当拍摄装置有多个时,可选的,拍摄性能较好的拍摄装置可以作为主拍摄装置,该主拍摄装置可以位于该无人驾驶车辆顶部的中间区域中,其他的拍摄装置可以作为辅助拍摄装置,辅助拍摄装置也可以设置于无人驾驶车辆顶部且位于主拍摄装置两侧的区域。
可以想到的是,当拍摄装置有多个时,无人驾驶车辆拍摄的视频也有多个。可选的,本实施例中,对于每一个无人驾驶车辆拍摄的视频,都可以按照本实施例的方法步骤进行对视频中的当前图像进行交通信号的识别。
可选的,为了降低计算量,也可以对视频中的当前图像有选择地进行交通信号的识别。可选的,当无人驾驶车辆当前拍摄的视频有多个时,获取无人驾驶车辆拍摄的视频中的当前图像包括:
获取无人驾驶车辆当前拍摄的视频作为候选视频;
获取每个候选视频中的当前图像;
基于辅助拍摄装置拍摄的当前图像优化主拍摄装置拍摄的当前图像;
将优化后的当前图像作为后续步骤中使用的当前图像。
本实施例中,无人驾驶车辆的拍摄装置拍摄的视频的格式不限,拍摄装置的拍摄频率不限,该拍摄频率可以根据实际需要设置,例如拍摄频率可以根据交通信号灯检测模型的检测速度和交通信号灯状态识别模型的识别速度确定。例如,拍摄装置的拍摄频率可以为20帧/秒,或10帧每秒等等。
可以理解的是,为了交通信号灯检测模型对当前图像的检测,在步骤102之前,还需要对当前图像进行预处理,该预处理包括但不限于图像增强、滤波处理、边缘锐化以及尺寸变换(resize)等等。例如,将当前图像的resize为608*608大小的图像。
102、当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;否则,基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域;
本实施例中,交通信号灯是指挥交通运行的信号灯,交通信号灯的类型不限,可选的,根据交通信号灯的作用划分交通信号灯的类型,交通信号灯的类型可以包括:机动车信号灯、非机动车信号灯、人行横道信号灯、方向指示指示灯(箭头信号灯)、车道信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。可选的,根据交通信号灯的表现形式划分交通信号灯的类型,交通信号灯的类型可以包括:颜色灯和倒计时灯。
其中,本实施例提到的颜色灯可以理解为主要通过不同的颜色表示不同交通信号的灯,该颜色灯的颜色可以包括红的、绿色以及黄色等等,可以理解的是,颜色灯的形状不限,可以是方形、圆形、也可以是类似于人形的形状。
本实施例中,颜色灯还可以包括方向指示灯,该方向指示灯的一个主要作用是指示方向,例如,指挥机动车行驶方向,方向指示灯可以通过不同的箭头指向,表示机动车直行、左转或者右转。可选的,方向指示灯的形状包括但不限于箭头形状等等。可以理解的是,方向指示灯还显示有颜色元素,该颜色和箭头的配合可以帮助驾驶员或无人驾驶车辆确定可行的行驶方向。
本实施例的倒计时灯的一个功能是向行人、驾驶员或无人驾驶车辆提示颜色灯显示颜色的倒计时,可以理解的是,根据实际需要的不同,倒计时灯的倒计时值的位数可以为一位或两位等,本实施例对此没有限制,倒计时灯的颜色可以根据实际需要设置,本实施例对此没有限制,例如可以为绿色、黄色和红色等等,例如,倒计时灯显示的颜色和其对应的颜色灯显示的颜色相同。
本实施例中,交通信号灯检测模型可以是基于深度神经网络的模型,其中,深度神经网络包括但不限于:YOLO(You Only Look Once)神经网络、SSD(Single Shot multiboxDetector)神经网络、R-CNN(Regions with Convolutional Neural Networks Features)神经网络以及Faster R-CNN神经网络等等。其中,YOLO神经网络,具体可以是YOLO V3神经网络。
本实施例中,目标跟踪模型可以是现有技术中任意可用的目标跟踪模型,其中,目标跟踪模型可以是Tracking模型,如MedianFlow跟踪模型。
为了降低计算量,本实施例中将检测和目标跟踪结合来对视频中的连续帧进行感兴趣区域的识别。
本实施例中,可以通过设置图像检测条件,合理平衡交通信号灯检测模型和目标跟踪模型识别的图像帧数,既保证感兴趣区域(Region of Interest ,ROI)的识别结果,也保证计算量不会太高。
可选的,在一个示例中,步骤“当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域”,可以包括:
当当前图像为视频中的第一帧图像时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;
当训练完成的交通信号灯检测模型对视频中的图像的最近检测时刻,与当前时刻的时间间隔不小于预设检测时间间隔时,通过交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;
基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,当目标跟踪失败时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域。
基于上述描述的方案,本实施例中,对于无人驾驶车辆拍摄的视频,在第一帧图像拍摄后,可以基于训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域。
然后对第一帧图像之后的每一帧图像,可以通过至少两种方式确定该帧图像中交通信号灯的感兴趣区域。
一、当交通信号灯检测模型对视频中的图像的最近检测时刻,与该帧图像的检测时刻的时间间隔,不小于预设检测时间间隔时,基于训练完成的交通信号灯检测模型检测该帧图像中交通信号灯的感兴趣区域。
二、当交通信号灯检测模型对视频中的图像的最近检测时刻,与该帧图像的检测时刻的时间间隔,小于预设检测时间间隔时,基于该帧图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对该帧图像的交通信号灯进行目标跟踪,确定该帧图像中交通信号灯的感兴趣区域。在目标跟踪失败时,对该帧图像基于训练完成的交通信号灯检测模型检测交通信号灯的感兴趣区域;
本实施例中,预设检测时间间隔可以根据实际需要设置,例如设置为1s、0.5s等等。对于预设检测时间间隔为1s的情况,在视频的第一帧图像之后,每隔1s的时间,对视频中的图像使用训练完成的交通信号灯检测模型进行交通信号灯的感兴趣区域的检测,在两相邻的预设检测时间间隔内,通过目标跟踪模型确定图像中的感兴趣区域。
由此,本实施例中,对于连续帧的应用场景,感兴趣区域的计算代价得到了有效的降低,且对于每一帧的检测成功率可以得到有效保证。
本实施例中,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域时,可以通过交通信号灯检测模型获取感兴趣区域的bbox( bounding box ,检测框)的信息,其中,检测框的信息包括但不限于:位置信息[x,y,width,height]和置信度conifidence。
本实施例中,步骤“基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域”,可以包括:基于当前图像的上一帧图像中交通信号灯的感兴趣区域的bounding box,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域。
可选的,若当前图像的上一帧图像是通过训练完成的交通信号灯检测模型检测出感兴趣区域的bounding box的,在对当前图像通过目标跟踪模型进行目标跟踪时,可以使用上一帧图像中感兴趣区域的bounding box初始化目标跟踪模型的跟踪目标,在当前图像中更新跟踪目标的感兴趣区域。若当前图像的上一帧图像是通过目标跟踪模型检测出感兴趣区域的bounding box的,在对当前图像通过目标跟踪模型进行目标跟踪时,可以使用上一帧图像中感兴趣区域的bounding box更新目标跟踪模型的状态,在当前图像中更新跟踪目标的感兴趣区域。
可选的,本实施例中,可以先对第一帧图像之后每一帧图像进行目标跟踪,再通过目标跟踪是否成功,或交通信号灯检测模型对视频中的图像的最近检测时刻,与该帧图像的检测时刻的时间间隔是否大于预设检测时间间隔,确定是否需要通过训练完成的交通信号灯检测模型检测该帧图像中交通信号灯的感兴趣区域。
例如,假设预设检测时间间隔为1s,对于当前图像(非第一帧图像),可以参考图2所示的检测方案,确定该帧图像的感兴趣区域。
参考图2,图2示出了结合模型检测和目标跟踪对交通信号灯的感兴趣区域的检测方案,对于当前图像,通过目标跟踪模型如Tracking模型,基于前一帧图像中感兴趣区域的检测框,跟踪当前图像中感兴趣区域的检测框,当跟踪失败,或者当前图像的检测时刻与交通信号灯检测模型对视频中的图像的最近检测时刻之间的时间间隔不小于预设时间间隔时如1s,通过训练完成的交通信号灯检测模型(如YOLO V3检测模型),检测当前图像中交通信号灯的感兴趣区域,若YOLO V3检测模型检测成功,使用检测的结果代替Tracking模型的结果并重新初始化Tracking模型;否则目标跟踪成功,得到当前图像上感兴趣区域的检测框。
本实施例的目标跟踪模型和检测模型有互补的作用,可以在一方失败的情形下使用另一方的结果,从而减小检测失败的概率,给出稳定的连续检测结果。
103、通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号。
本实施例中,颜色灯表示的交通信号包括但不限于颜色灯的颜色,倒计时灯表示的交通信号包括倒计时灯显示的倒计时值。
可选的,本实施例中,本实施例中,可以将所有的交通信号灯都作为同一个大类型对交通信号灯检测模型进行训练,使得交通信号灯检测模型具有检测交通信号灯的感兴趣区域的功能,但是考虑到交通信号灯至少包括颜色灯和倒计时灯两种类型,在训练交通信号灯检测模型时,可以将交通信号灯设置为不同类型的样本对交通信号灯检测模型进行训练,使得交通信号灯检测模型具有检测交通信号灯的感兴趣区域以及交通信号灯的类型的功能。
可选的,本实施例中,交通信号灯检测模型基于训练数据训练完成,训练数据包括至少一种类型的交通信号灯图像样本,每一个交通信号灯图像样本的标签包括:交通信号灯的类型,以及交通信号灯的感兴趣区域的位置;
其中,步骤“通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域”,可以包括:
通过训练完成的交通信号灯检测模型,对当前图像进行交通信号灯的检测,得到检测结果,其中,检测结果包括当前图像中交通信号灯的感兴趣区域,以及各个感兴趣区域中交通信号灯的类型;
对应地,步骤“通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号”,可以包括:
通过各类型交通信号灯对应的交通信号灯状态识别模型,分别对当前图像中各类型交通信号灯的感兴趣区域中的内容进行识别,以确定当前图像中各交通信号灯表示的交通信号。
本实施例中,交通信号灯的类型包括但不限于颜色灯和倒计时灯,其中,颜色灯包括但不限于红灯、绿灯、和黄灯等不同状态的灯。可以理解的是,本实施例中,颜色灯可以只通过单个灯实现对红、黄、绿灯的切换显示,该颜色灯具有颜色切换的功能,可选的,颜色灯还可以通过一组灯实现对红、黄、绿灯的切换显示,例如颜色灯包括三个分别可以显示红色、黄色、和绿色的灯。
在现有技术中,一般基于深度检测模型直接识别图像中的红灯、黄灯和绿灯,但是,这种识别方式中采集的训练数据中存在着样本不平衡的问题,即黄色信号灯的样本较少,导致模型在检测黄灯时表现较差。
本实施例中为了提高模型对不同颜色的信号灯的识别精度,采用先检测后分类的两阶段识别方法,将红灯、绿灯、黄灯和不亮的颜色灯作为一个类别,训练交通信号灯检测模型如YOLO V3检测模型,检测出图像中所有颜色灯的bounding box,crop(剪切)出颜色灯所在的ROI区域,再输入一个可以识别颜色灯的颜色的深度神经网络的分类模型中,识别出该颜色灯的状态(红灯、绿灯、黄灯或不亮)。
本实施例中,颜色灯状态识别模型实际上是一种分类模型,其可以对颜色灯的状态(包括显示为:红灯、绿灯、黄灯或不亮的灯)的分类,可选的,该分类模型的类型不限,例如,可以是ResNet模型或SqueezeNet模型。
在一个实施例中,交通信号灯包括颜色灯。
步骤“通过各类型交通信号灯对应的交通信号灯状态识别模型,分别对当前图像中各类型交通信号灯的感兴趣区域中的内容进行识别,以确定当前图像中各交通信号灯表示的交通信号”,可以包括:
通过颜色灯状态识别模型,对当前图像中颜色灯的感兴趣区域中的内容进行识别,以确定当前图像中处于点亮状态的颜色灯显示的颜色。
本实施例中,先检测后分类的两阶段识别方法还可以用于倒计时灯的识别,在将红灯、绿灯、黄灯和不亮的颜色灯作为一个类别时,可以将倒计时灯作为另一类别,以这两种类别的交通信号灯训练交通信号灯检测模型如YOLO V3检测模型,检测出图像中所有倒计时灯的bounding box,crop(剪切)出倒计时灯所在的ROI区域,再输入一个可以识别倒计时灯的倒计时值的深度神经网络的分类模型中,识别出倒计时灯的倒计时值。
在一个实施例中,交通信号灯包括倒计时灯。
步骤“通过各类型交通信号灯对应的交通信号灯状态识别模型,分别对当前图像中各类型交通信号灯的感兴趣区域中的内容进行识别,以确定当前图像中各交通信号灯表示的交通信号”,可以包括:
对于当前图像中各倒计时灯的感兴趣区域,通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值。
本申请中使用的交通信号灯检测模型,是用于从图像中检测出交通信号灯的ROI区域并输出bounding box用于下一步处理。在大多已有的方法中,会将红灯、绿灯、和黄灯作为不同的类别去检测,但不同状态的颜色灯的样本分布不平衡可能导致识别精度的降低(尤其是黄灯)。所以本实施例的一个示例中,在训练时,本申请将红灯、绿灯、黄灯和不亮的灯作为一个类别去检测,加上倒计时一共两种类别,对于信号灯的状态识别后面会再用一个交通信号灯状态识别模型去识别信号灯的颜色信息,这样交通信号灯状态的识别精度可以提高很多。
本实施例使用的交通信号灯检测模型可以是基于YOLO V3的检测模型,YOLO V3检测模型使用了多尺度的检测结构,对于小物体也有较好的识别。对于因为无人驾驶车辆距离交通信号灯较远,而导致的交通信号灯在图像上尺寸较小的情况,也能有很好的识别效果。考虑到图像上的交通信号灯发生相互遮挡的情况比较低,所以在后处理的NMS(Non-Maximum Suppression,非极大值抑制)中的阈值设置较低,例如可以为0.1。可以理解的是,非极大值抑制对应的阈值为0.1仅做示例说明,并不用于限定本实施例中实际的阈值,该阈值可以根据需要设置。本实施例使用的交通信号灯状态识别模型为分类模型,该分类模型的类型不限,可以是ResNet模型、以及SqueezeNet模型等等。
例如,图3示出了本实施例中训练交通信号灯检测模型的方案。
首先,采集交通信号灯图像样本,在图像样本中标注颜色灯和倒计时灯的位置;然后,将所有的颜色灯看作一个类型,对样本中所有颜色灯的位置设置对应的标签为“颜色灯”,将倒计时灯看作一个类型,对样本中所有倒计时灯的位置设置对应的标签为“倒计时灯”;最后,使用交通信号灯图像样本训练交通信号灯检测模型,例如训练YOLO V3检测模型。
参考图4,图4示出了基于图3训练的交通信号灯检测模型对图像中交通信号灯的bbox进行检测的方案。
如图4所示,首先,对图像进行预处理,例如进行尺寸变换(resize)处理,将图像变换为608*608的大小;将尺寸变换后的图像输入交通信号灯检测模型中,交通信号灯检测模型输出预测的颜色灯和倒计时灯的bbox。在图4所示的实施例中,还可以基于置信度的阈值和NMS对bbox进行过滤,例如,将置信度不高于0.9的bbox作为异常bbox,在后续通过交通信号灯状态识别模型识别交通信号时,只对非异常的bbox进行识别。
其中,可以理解的是,基于对交通信号灯的分类标准的不同,本实施例交通信号灯检测模型的分类结果并不仅限于上述颜色灯和倒计时灯两种类型。
可选的,在步骤“通过颜色灯状态识别模型,对当前图像中颜色灯的感兴趣区域中的内容进行识别,以确定当前图像中处于点亮状态的颜色灯显示的颜色”前,还可以包括:
从交通信号灯检测模型对当前图像的检测结果中,获取各颜色灯的感兴趣区域对应的检测框的置信度;
将置信度低于预设置信度阈值的感兴趣区域作为异常感兴趣区域,将异常 感兴趣区域从检测结果中删除;
对应地,步骤“通过颜色灯状态识别模型,对当前图像中颜色灯的感兴趣区域中的内容进行识别,以确定当前图像中处于点亮状态的颜色灯显示的颜色”,可以包括:
通过颜色灯状态识别模型,对检测结果中颜色灯的感兴趣区域中的内容进行识别,以确定当前图像中处于点亮状态的颜色灯显示的颜色。
可选的,在步骤“对于当前图像中各倒计时灯的感兴趣区域,通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值”前,还可以包括:
从交通信号灯检测模型对当前图像的检测结果中,获取各倒计时灯的感兴趣区域对应的检测框的置信度;
当倒计时灯的置信度不低于预设置信度阈值时,对于倒计时灯的感兴趣区域,继续执行通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值的步骤,基于倒计时值更新预设计时器的倒计时值,其中,预设计时器的初始倒计时值为倒计时灯首次被检测到时表示的倒计时值;
当倒计时灯的置信度低于预设置信度阈值时,对于倒计时灯的感兴趣区域,不执行通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值的步骤,获取倒计时灯对应的预设计时器当前的倒计时作为倒计时灯表示的倒计时。
上述方案中,结合了计时器来对倒计时灯的倒计时值进行确定。其中,计时器采用倒计时的方式进行计时。可选的,若图像中存在多个倒计时灯。则每个倒计时灯都可以设置对应的预设计时器。预设计时器的初始倒计时值为该预设计时器对应的倒计时灯首次被检测到时表示的倒计时值,例如预设计时器的初始倒计时值为第一帧图像中该预设计时器对应的倒计时灯上的倒计时值。
本实施例中,倒计时灯状态识别模型实际上是一种分类模型,其可以对倒计时灯中个位和十位上的数字进行数字0-9的分类(其中,数字的分类类型包括0、1、2、3、···、9这十种类型),分类结果包括个位和十位上的数字分别为0-9中的哪一类(即个位和十位上的数字的数字类别),以及各数字类别对应的概率。在一个实施例中,还可以通过倒计时灯状态识别模型的分类结果中的概率,确定是否使用计时器的倒计时值作为倒计时灯的倒计时值。本实施例中,计时器每秒自动减1。
在一个实施例中,为了倒计时值的检测准确,可以将倒计时灯的感兴趣区域按照十位数和个位数划分成两个子区域,通过对两个子区域的识别确定倒计时值。
本实施例中,步骤“通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值”,可以包括:
基于两位数的数字中两个数位在感兴趣区域的分布逻辑,将感兴趣区域划分为两个子区域;
通过倒计时灯状态识别模型,对两个子区域中的数字分别进行识别;
在两个子区域的识别结果满足预设成功识别条件时,基于两个子区域的识别结果确定感兴趣区域中的倒计时灯的倒计时值,否则,获取倒计时灯对应的预设计时器当前的倒计时值,作为倒计时灯表示的倒计时值。
其中,划分子区域时,可以将感兴趣区域平均划分成左右两部分,得到两个子区域。倒计时灯状态识别模型对两个子区域中的数字的识别结果包括:两个子区域的数字类别以及各个数字类别的概率。
其中,步骤“在两个子区域的识别结果满足预设成功识别条件时,基于两个子区域的识别结果确定感兴趣区域中的倒计时灯的倒计时值”,可以包括:
在两个子区域均满足,概率最大的数字类别的概率大于预设概率阈值时,确定两个子区域的识别结果满足预设成功识别条件,基于两个子区域对应的概率最大的数字类别,确定感兴趣区域中的倒计时灯的倒计时值
其中,预设概率阈值可以根据实际需要设置,例如设置为0.9或者0.8等等不超过1的值。
参考图5所示,图5示出了基于检测模型输出的检测框,对倒计时灯的倒计时值进行识别的方法,参考图5,该方法包括:
501、判断倒计时灯的检测框的置信度是否大于预设置信度阈值,若是,则进入步骤502a,否则,进入步骤502b;
502a、将检测框对应的感兴趣区域平均分成左右两个子区域;
502b、获取倒计时灯对应的预设计时器当前的倒计时作为倒计时灯表示的倒计时;其中,预设计时器的初始倒计时值为对应的倒计时灯首次被检测到时表示的倒计时值;
503、将感兴趣区域的子区域分别输入倒计时灯状态识别模型中;
504、获取倒计时灯状态识别模型预测的两个子区域对应的数字类别和各数字类别的概率;
其中,模型对各个子区域预测到的数字类别可能有多个,例如对个位数的子区域预测到的数字类别包括8和9,概率分别为0.1和0.9。
505、判断两个子区域是否均满足,概率最大的数字类别的概率大于预设概率阈值;若是,则进入步骤506,否则,进入步骤502b;
506、基于两个子区域对应的概率最大的数字类别,确定感兴趣区域中的倒计时灯的倒计时值,基于倒计时灯的倒计时值更新预设计时器的倒计时值。
步骤506中,可以直接将十位上概率最大的数字类别作为倒计时值的十位,将个位上概率最大的数字类别作为倒计时值的个位,以此确定倒计时值。
例如,假设个位对应的子区域中,概率最大的数字类别为0,概率为0.93,十位对应的子区域中,概率最大的数字类别为1,概率为0.91,则倒计时灯的倒计时值为10s。
本实施例的倒计时灯状态识别模型结合深度神经网络的分类模型和预设计时器,产生连续帧上的稳定倒计时识别结果。只有当bbox的置信度和数字类别的概率都大于对应的阈值如0.9时,才用其更新计时器的状态,否则直接使用计时器的当前状态作为对倒计时灯的倒计时值的估计。
在交通比较繁华的区域例如城市中,大多路口面临着多红绿灯的场景,如何在检测到的多个交通信号灯的bbox中确定当前行驶道路所对应的交通信号灯是个重要的问题。本申请使用深度神经网络和高精度地图相结合的方式解决多个交通信号灯间的匹配问题。
可选的,本实施例中,步骤“通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号”前,还可以包括:
获取无人驾驶车辆当前所处位置对应的地图;
基于地图上记载的交通信号灯的位置,以及无人驾驶车辆在地图中的位置,确定地图中无人驾驶车辆的拍摄装置的可见交通信号灯;
基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系;
对应地,步骤“在通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号”后,还可以包括:
基于交通信号灯状态识别模型的识别结果以及对应关系,确定地图上的可见交通信号灯对应的交通信号。
本实施例中,地图可以为2D地图或3D地图,优选为3D地图,本实施例的无人驾驶车辆可以向服务器发送地图获取请求以获取对应的地图,无人驾驶车辆上设置有定位装置,无人驾驶车辆可以通过定位装置获取定位信息,进而确定无人驾驶车辆当前所处位置对应的地图。
其中,地图上记载的交通信号灯的位置,可以是地图上记载的交通信号灯的地图坐标,例如3D地图上的交通信号灯的三维坐标。
其中,无人驾驶车辆的拍摄装置的可见交通信号灯,可以理解为在无人驾驶车辆当前所处位置上,在地图记载的交通信号灯中,无人驾驶车辆的拍摄装置可以拍摄到的交通信号灯。一般地,可以根据地图上记载的交通信号灯以及无人驾驶车辆在地图上的行驶道路和行驶方向确定可见交通信号灯,进一步的,在确定可见交通信号灯时,还可以结合拍摄装置在无人驾驶车辆上的位置和拍摄装置的拍摄参数(如拍摄角度等参数)进行分析。
可选的,本实施例中,步骤“基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系”,可以包括:
基于可见交通信号灯在地图上的位置,以及无人驾驶车辆在地图中的位置,将可见交通信号灯从地图的坐标系,映射到无人驾驶车辆的车身坐标系中;
将可见交通信号灯按照在车身坐标系中的目标轴坐标进行排序,其中,目标轴平行于无人驾驶车辆所在路面且与无人驾驶车辆的前进方向垂直;
将当前图像中感兴趣区域的交通信号灯按照感兴趣区域在当前图像中的水平方向的坐标进行排序;
基于可见交通信号灯的排列顺序以及当前图像中的交通信号灯的排列顺序,确定可见交通信号灯与当前图像中感兴趣区域的交通信号灯的对应关系。
本实施例中,对车身坐标系没有限制,可以是右-前-天坐标(RFU)以及前-左-天坐标(FLU)等等;
其中,右-前-天坐标(RFU)的定义如下:
X轴:面向车辆前方,右手所指方向;Y轴:车辆前进方向;Z轴:与地面垂直,指向车顶方向。
前-左-天坐标(FLU)的定义如下:
X轴:车辆前进方向;Y轴:面向车辆前方,左手所指方向;Z轴:与地面垂直,指向车顶方向。
其中,车身坐标系的参考点(原点)可以为车身后轴中心。
可选的,目标坐标轴为面向车辆前方,左手或右手所指的方向。
可选的,本实施例中,在步骤“基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系”前,还可以包括:
确定可见交通信号灯的总数量,与当前图像中交通信号灯的总数量是否相同;
若是,继续执行基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系的步骤,否则不执行基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系的步骤。
其中,在上述解决多个交通信号灯间的匹配问题的方案中,可以只对交通信号灯中的多个颜色灯解决匹配问题。
参考图6,图6示出了结合地图解决多个颜色灯的匹配问题的方案,如图6所示,颜色灯的感兴趣区域中交通信号的具体识别方法包括:
601、获取颜色灯的感兴趣区域对应的检测框;
其中,步骤601中,检测框可以是交通信号灯检测模型检测出的,也可以是目标跟踪模型输出的,本实施例对此没有限制。
602、获取无人驾驶车辆当前所处位置对应的地图;
其中,该地图可以为3D地图。
603、通过无人驾驶车辆当前所处位置和该地图,确定地图上无人驾驶车辆的拍摄装置的可见颜色灯,将可见颜色灯的位置从地图的坐标系映射至无人驾驶车辆的车身坐标系中,对可见颜色灯按照映射后的目标坐标轴排序;
其中,目标轴平行于无人驾驶车辆所在路面且与无人驾驶车辆的前进方向垂直;
具体的,可以基于无人驾驶车辆当前所处位置和地图,确定无人驾驶车辆在地图中的位置,基于地图上无人驾驶车辆的位置和地图记载的颜色灯的位置,确定地图中无人驾驶车辆的拍摄装置的可见颜色灯。
604、确定可见颜色灯的数据和当前图像中颜色灯的数量是否相同;若是,则进入步骤605,否则,认为本次检测失败,结束对当前图像的检测,在下一帧图像拍摄后对下一帧图像进行检测。
605、将当前图像中感兴趣区域的颜色灯按照感兴趣区域在当前图像中的水平方向的坐标进行排序;
606、基于可见颜色灯的排列顺序以及当前图像中的颜色灯的排列顺序,确定可见颜色灯与当前图像中感兴趣区域的颜色灯的对应关系,基于该对应关系,确定无人驾驶车辆在当前行驶道路上的颜色灯的检测框;
607、将颜色灯的感兴趣区域输入颜色灯状态识别模型;
608、获取颜色灯状态识别模型的输出,基于输出结果确定颜色灯的状态。
其中,颜色灯的状态包括显示为红灯、绿灯、黄灯以及处于不亮状态。
本申请实施例提供了一种交通信号识别方法,可以获取无人驾驶车辆拍摄的视频中的当前图像;当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;否则,基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域;通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号,鉴于目标跟踪算法的计算量小于模型检测的计算量,本申请中针对连续帧的应用场景,结合模型检测和目标跟踪来实现对连续帧中交通信号灯的感兴趣区域的识别,不仅可以实现对每一帧图像的检测,降低漏检的可能,还可以有效降低对连续帧的感兴趣区域的识别所需的计算代价。
此外,本发明实施例还提供一种交通信号识别装置,参考图7,该交通信号识别装置包括:
获取单元701,用于获取无人驾驶车辆拍摄的视频中的当前图像;
检测单元702,用于当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;否则,基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型,对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域;
识别单元703,用于通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号。
可选的,检测单元702,包括:第一检测子单元、第二检测子单元、或第三检测子单元;
第一检测子单元,用于当当前图像为视频中的第一帧图像时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;
第二检测子单元,用于当训练完成的交通信号灯检测模型对视频中的图像的最近检测时刻,与当前时刻的时间间隔不小于预设检测时间间隔时,通过交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;
第三检测子单元,用于基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,当目标跟踪失败时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域。
可选的,交通信号灯的类型的数量为至少一种,交通信号灯检测模型基于训练数据训练完成,训练数据包括至少一种类型的交通信号灯图像样本,每一个交通信号灯图像样本的标签包括:交通信号灯的类型,以及交通信号灯的感兴趣区域的位置;
检测单元702,用于通过训练完成的交通信号灯检测模型,对当前图像进行交通信号灯的检测,得到检测结果,其中,检测结果包括当前图像中交通信号灯的感兴趣区域,以及各个感兴趣区域中交通信号灯的类型;
识别单元703,用于通过各类型交通信号灯对应的交通信号灯状态识别模型,分别对当前图像中各类型交通信号灯的感兴趣区域中的内容进行识别,以确定当前图像中各交通信号灯表示的交通信号。
可选的,交通信号灯包括颜色灯;
识别单元703包括:
颜色灯识别单元,用于通过颜色灯状态识别模型,对当前图像中颜色灯的感兴趣区域中的内容进行识别,以确定当前图像中处于点亮状态的颜色灯显示的颜色。
可选的,交通信号灯包括倒计时灯;
识别单元703包括:
倒计时灯识别单元,用于对于当前图像中各倒计时灯的感兴趣区域,通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值。
可选的,装置还包括置信度获取单元,用于在倒计时灯识别单元对于当前图像中各倒计时灯的感兴趣区域,通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值前,从交通信号灯检测模型对当前图像的检测结果中,获取各倒计时灯的感兴趣区域对应的检测框的置信度;
倒计时灯识别单元,用于当倒计时灯的置信度不低于预设置信度阈值时,对于倒计时灯的感兴趣区域,继续执行通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值的步骤,基于倒计时值更新预设计时器的倒计时值,其中,预设计时器的初始倒计时值为倒计时灯首次被检测到时表示的倒计时值;
倒计时灯识别单元,用于当倒计时灯的置信度低于预设置信度阈值时,对于倒计时灯的感兴趣区域,不执行通过倒计时灯状态识别模型对感兴趣区域的内容进行识别,以确定感兴趣区域中的倒计时灯表示的倒计时值的步骤;获取倒计时灯对应的预设计时器当前的倒计时作为倒计时灯表示的倒计时。
可选的,倒计时灯识别单元,包括:
划分子单元,用于基于两位数的数字中两个数位在感兴趣区域的分布逻辑,将感兴趣区域划分为两个子区域;
倒计时灯识别子单元,用于通过倒计时灯状态识别模型,对两个子区域中的数字分别进行识别;
确定子单元,用于在两个子区域的识别结果满足预设成功识别条件时,基于两个子区域的识别结果确定感兴趣区域中的倒计时灯的倒计时值,否则,获取倒计时灯对应的预设计时器当前的倒计时值,作为倒计时灯表示的倒计时值。
装置还包括对应关系确定单元和地图交通信号确定单元;
对应关系确定单元,用于在识别单元通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号前,获取无人驾驶车辆当前所处位置对应的地图;基于地图上记载的交通信号灯的位置,以及无人驾驶车辆在地图中的位置,确定地图中无人驾驶车辆的拍摄装置的可见交通信号灯;基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系;
地图交通信号确定单元,用于在识别单元通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号后,基于交通信号灯状态识别模型的识别结果以及对应关系,确定地图上的可见交通信号灯对应的交通信号。
可选的,对应关系确定单元,包括:
映射子单元,用于基于可见交通信号灯在地图上的位置,以及无人驾驶车辆在地图中的位置,将可见交通信号灯从地图的坐标系,映射到无人驾驶车辆的车身坐标系中;
第一排序子单元,用于将可见交通信号灯按照在车身坐标系中的目标轴坐标进行排序,其中,目标轴平行于无人驾驶车辆所在路面且与无人驾驶车辆的前进方向垂直;
第二排序子单元,用于将当前图像中感兴趣区域的交通信号灯按照感兴趣区域在当前图像中的水平方向的坐标进行排序;
关系建立子单元,用于基于可见交通信号灯的排列顺序以及当前图像中的交通信号灯的排列顺序,确定可见交通信号灯与当前图像中感兴趣区域的交通信号灯的对应关系。
可选的,该装置还包括数量比较单元:用于在对应关系确定单元基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系前,确定可见交通信号灯的总数量,与当前图像中交通信号灯的总数量是否相同;
对应关系确定单元,用于若数量比较单元的比较结果为是,则继续执行基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系的步骤,否则不执行基于可见交通信号灯在地图上的位置、无人驾驶车辆在地图中的位置、以及当前图像中交通信号灯的感兴趣区域,确定可见交通信号灯与当前图像中各感兴趣区域的交通信号灯的对应关系的步骤。
本实施例中,可以在连续帧的场景下获得对图像中的交通信号稳定且实时的识别结果,识别的速度可以达到60帧左右,交通信号灯的状态识别准确率得到了提升,并且倒计时的识别有利于自动驾驶领域更精确的规划和控制,有效提供更多反应时间,例如刹车时间等等。
可选的,本申请实施例还提供一种车辆导航设备,车辆导航设备包括上述的交通信号识别装置。
可选的,本申请实施例还提供一种无人驾驶车辆,该无人驾驶车辆包括驱动***、控制***和导航***;
导航***,用于执行上述的交通信号识别方法以确定无人驾驶车辆当前行驶道路上的交通信号,并基于交通信号对车辆进行导航;
控制***,用于在导航***的导航下,对驱动***进行控制;
驱动***,用于在控制***的控制下,驱动车辆运动。
此外,本发明实施例还提供一种计算机设备,该计算机设备可以为终端如车辆导航设备,或者为无人驾驶车辆,如图8所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器801、一个或一个以上计算机可读存储介质的存储器802、电源803和输入单元804等部件。本领域技术人员可以理解,图8中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器801是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器801可包括一个或多个处理核心;优选的,处理器801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器801中。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器801对存储器802的访问。
计算机设备还包括给各个部件供电的电源803,优选的,电源803可以通过电源管理***与处理器801逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源803还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元804,该输入单元804可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现各种功能,例如,执行本申请实施例所提供的交通信号识别方法中的步骤,该交通信号识别方法如下:
获取无人驾驶车辆拍摄的视频中的当前图像;
当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测当前图像中交通信号灯的感兴趣区域;否则,基于视频中当前图像的上一帧图像中交通信号灯的感兴趣区域,利用目标跟踪模型对当前图像中的交通信号灯进行目标跟踪,确定当前图像中交通信号灯的感兴趣区域;
通过训练完成的交通信号灯状态识别模型,识别当前图像的感兴趣区域中交通信号灯表示的交通信号。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的交通信号识别方法中的步骤。例如,该指令可以执行如下步骤:
获取无人驾驶车辆拍摄的视频中的当前图像;
当满足图像检测条件时,通过训练完成的交通信号灯检测模型检测所述当前图像中交通信号灯的感兴趣区域;否则,基于所述视频中所述当前图像的上一帧图像中所述交通信号灯的感兴趣区域,利用目标跟踪模型对所述当前图像中的交通信号灯进行目标跟踪,确定所述当前图像中交通信号灯的感兴趣区域;
通过训练完成的交通信号灯状态识别模型,识别所述当前图像的所述感兴趣区域中交通信号灯表示的交通信号。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种交通信号识别方法中的步骤,因此,可以实现本发明实施例所提供的任一种交通信号识别方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的交通信号识别方法、装置、车辆导航设备、无人驾驶车辆、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。