发明内容
本申请实施例提供一种交通信息识别和智能行驶方法、装置、设备及存储介质,以提高交通信息识别结果的准确度。
第一方面,本申请实施例提供一种交通灯识别方法,包括:获取地图数据、可移动设备的定位信息以及针对所述可移动设备所在的环境采集的传感器感知数据;对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息;基于所述定位信息,提取所述地图数据中地图交通灯的存储信息;对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息;至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果。
可选的,所述方法还包括:基于所述定位信息,提取所述地图数据中地图交通灯对应的第一道路连接信息;所述至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果,包括:根据所述检测交通灯的感知信息、所述匹配信息和所述第一道路连接信息,输出所述环境的交通灯识别结果及其对应的第二道路连接信息。
可选的,所述传感器包括摄像头;所述传感器感知数据为通过所述摄像头采集的所述可移动设备所在的环境的环境图像;所述对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息,包括:对所述环境图像进行交通灯检测,得到检测交通灯的感知信息。
可选的,所述传感器包括激光雷达;所述传感器感知数据为通过所述激光雷达采集的所述可移动设备所在的环境的激光点云数据;所述对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息,包括:对所述激光点云数据进行交通灯检测,得到检测交通灯的感知信息。
可选的,所述基于所述定位信息,提取所述地图数据中地图交通灯的存储信息,包括:根据所述可移动设备的定位信息确定所述交通灯在所述环境中的定位信息;根据确定的所述交通灯在所述环境中的定位信息,在所述地图数据中查找对应的地图交通灯;提取所述地图数据中对应的地图交通灯的存储信息。
可选的,所述对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息,包括:将所述地图交通灯映射至所述检测交通灯所在的坐标系下;在所述检测交通灯所在的坐标系下,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯和地图交通灯进行匹配。
可选的,所述对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息,包括:将多个所述检测交通灯划分为检测交通灯组,以及将多个所述地图交通灯划分为地图交通灯组;将所述检测交通灯组和所述地图交通灯组进行匹配;将相匹配的所述检测交通灯组和所述地图交通灯组中的交通灯一一对应进行匹配。
可选的,所述将所述检测交通灯划分为检测交通灯组,以及将所述地图交通灯划分为地图交通灯组,包括:分别将多个所述检测交通灯和多个所述地图交通灯进行聚类,得到检测交通灯组和地图交通灯组。
可选的,所述将所述检测交通灯组和所述地图交通灯组进行匹配,包括:将所述地图交通灯组映射至所述检测交通灯所在的坐标系下;在所述检测交通灯所在的坐标系下,根据检测交通灯组和地图交通灯组之间的距离,以及检测交通灯组和地图交通灯组中交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯组和地图交通灯组进行匹配。
可选的,所述分别将所述检测交通灯和所述地图交通灯进行聚类,得到检测交通灯组和地图交通灯组之后,所述方法还包括:确定对所述检测交通灯进行聚类之后剩余的检测交通灯,以及对所述地图交通灯进行聚类之后剩余的地图交通灯;在剩余的检测交通灯和剩余的地图交通灯中,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的形状和大小进行匹配。
可选的,多个所述地图交通灯指示同一所述第一道路连接信息的情况下;所述方法还包括:对多个地图交通灯的第一道路连接信息进行聚类;根据所述第一道路连接信息的聚类结果,以及所述检测交通灯和所述地图交通灯的匹配信息,确定所述检测交通灯中对应相同第一道路连接信息的检测交通灯。
可选的,所述方法还包括:基于所述检测交通灯的感知信息在时序上的变化规则,以及历史时间段的感知信息,确定所述检测交通灯的感知信息是否符合所述变化规则;在所述检测交通灯的感知信息符合所述变化规则的情况下,则执行至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果的步骤;在所述检测交通灯的感知信息不符合所述变化规则的情况下,将所述检测交通灯在时序上相邻的感知信息作为所述检测交通灯的感知信息。
可选的,所述方法还包括:若所述检测交通灯的数量大于所述地图交通灯的数量,则对所述地图数据进行更新;若所述检测交通灯的数量小于所述地图交通灯的数量,则根据多出的所述地图交通灯补全所述检测交通灯。
可选的,所述方法还包括:根据所述匹配信息和/或所述检测交通灯的感知信息的时序变化规则与预设时序变化规则的匹配性,确定当前时刻采集的传感器感知数据是否存在交通灯误检或漏检;确定一定时间段内采集的传感器感知数据存在交通灯误检或漏检的累计次数是否超过设定阈值;若所述累计次数超过设定阈值,则触发报警。
第二方面,本申请实施例提供一种智能行驶方法,包括:获取通过图像采集单元采集的交通灯图像;采用如第一方面所述的方法确定所述交通灯图像中交通灯识别结果;基于所述交通灯识别结果控制可移动设备行驶。
第三方面,本申请实施例提供一种交通信息识别装置,包括:第一获取模块,用于获取地图数据、可移动设备的定位信息以及针对所述可移动设备所在的环境采集的传感器感知数据;检测模块,用于对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息;提取模块,用于基于所述定位信息,提取所述地图数据中地图交通灯的存储信息;匹配模块,用于对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息;输出模块,用于至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果。
第四方面,本申请实施例提供一种智能行驶装置,包括:第二获取模块,获取通过图像采集单元采集的交通灯图像;识别模块,用于采用第一方面所述的方法识别所述交通灯图像中交通灯识别结果;控制模块,用于基于所述交通灯识别结果控制可移动设备行驶。
第五方面,本申请实施例提供一种交通信息识别设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
第六方面,本申请实施例提供一种智能行驶设备,包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第二方面所述的方法。
第七方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面和第二方面所述的方法。
本申请实施例提供一种交通信息识别和智能行驶方法、装置、设备及存储介质,该方法包括:获取地图数据、可移动设备的定位信息以及针对所述可移动设备所在的环境采集的传感器感知数据;对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息;基于所述定位信息,提取所述地图数据中地图交通灯的存储信息;对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息;至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果。
由于地图数据中预先存储了地图交通灯的存储信息,因此,根据可移动设备的定位信息在地图数据中进行定位后,就可以得到地图中相应的地图交通灯,结合地图交通灯的存储信息和交通灯检测结果来确定交通信息的识别结果,从而有利于减小漏检率或误检率,提高交通信息识别结果的准确度。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
下面将以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的交通信息识别方法流程图。本申请实施例针对现有技术的如上技术问题,提供了交通信息识别方法,该方法具体步骤如下:
步骤101、获取地图数据、可移动设备的定位信息以及针对可移动设备所在的环境采集的传感器感知数据。
本实施例中,可移动设备可以是车辆、机器人、教育小车、智能家居设备等设备。可移动设备上部署有传感器、位置信息采集单元和检测模块。其中,车辆可以是自动驾驶车辆,或者是搭载有高级驾驶辅助系统(Advanced Driving Assistant System,ADAS)的车辆。
以可移动设备是自动驾驶车辆为例,传感器用于感知车辆所在的环境的信息,传感器对车辆所在的环境的信息的感知结果为传感器感知数据。传感器可以是摄像头或激光雷达。在传感器是摄像头的情况下,传感器感知数据为通过摄像头采集的可移动设备所在的环境的环境图像,环境图像可以通过车辆上的摄像头拍摄的单张图像得到,或者是摄像头采集的一段包括多帧图像的视频序列得到;在传感器是激光雷达的情况下,传感器感知数据为通过激光雷达采集的可移动设备所在的环境的激光点云数据。
可选的,位置信息采集单元包括全球定位系统(Global Positioning System,GPS),车辆上部署的GPS能够对车辆进行实时定位,通过GPS对车辆的定位结果可以得到车辆的定位信息。车辆的定位信息包括车辆的六自由度的定位信息,如图2所示,以车辆上某一点,例如中心点作为坐标系原点T,以车辆行驶方向为x轴,与车辆行驶方向在同一水平面且与车辆行驶方向垂直的方向为y轴,以及以垂直于车辆底盘上表面的方向为z轴建立坐标系,车辆的六自由度的定位信息是指车辆分别在X轴、Y轴和Z轴上的位置信息(Fx,Fy,Fz)和旋转信息(
(My,ψ),(Mz,θ))。
可选的,位置信息采集单元还可以是惯性测量单元(Inertial MeasurementUnit,IMU),车辆上的IMU可以采集车辆的IMU定位信息,作为车辆的定位信息。当然,还可以将GPS定位信息与IMU定位信息结合,作为车辆的定位信息,以获得更可靠的定位结果。GPS定位信息和IMU定位信息的融合信息可以通过对GPS定位信息和IMU定位信息进行卡尔曼滤波获得,或者可以通过对GPS定位信息和IMU定位信息进行均值计算,或者加权平均计算得到。
地图数据可以是语义地图,也可以是高精地图或者其他类型的地图,本实施例对此不做具体限定。本实施例的地图数据包括丰富的道路信息以及道路之间的拓扑连接关系,及其各个道路上的车道线、交通牌、交通灯、路灯等标注信息。其中,地图数据可以预先存储在车辆上,或者,车辆通过网络向第三方设备获取地图数据。其中,道路连接信息是指一条道路与其它可以从这条道路直接通往的道路的连接关系。例如,车辆行驶至道路A的路口,可以左转到道路B,可以直行到道路C,可以右转到道路D,则道路A与道路B、道路C、道路D具有连接关系。
步骤102、对传感器感知数据进行交通灯检测,得到检测交通灯的感知信息。
本步骤是对传感器感知数据中的交通灯以及交通灯的数量、形状、大小、位置和颜色灯信息进行检测,得到交通灯检测结果,也就是检测交通灯的感知信息。
其中,检测交通灯是指根据传感器感知数据检测得到的交通灯。检测交通灯的感知信息是指传感器所感知到的交通灯的信息,例如检测得到的交通灯的数量、形状、大小、位置和颜色信息中的至少一项。
在一种可选的实施方式中,在传感器包括摄像头的情况下,对传感器感知数据进行交通灯检测,得到检测交通灯的感知信息,包括:对环境图像进行交通灯检测,得到检测交通灯的感知信息。可选的,可以通过检测模型对环境图像进行交通灯检测,例如,将环境图像输入检测模型,以通过检测模型进行交通灯检测,其中,检测模型通过对神经网络的训练得到。例如,通过包括交通灯的样本图像及其标签对神经网络进行训练,得到的检测模型;其中,标签包括对样本图像中交通灯以及交通灯的数量、形状、大小、位置和颜色信息等信息的标注。将摄像头采集的环境图像输入训练好的神经网络,即检测模型,通过检测模型能够检测得到环境图像中的交通灯以及交通灯的数量、形状、大小、位置和颜色信息等。其中,颜色信息包括红、黄、绿三种颜色;形状信息包括圆形、箭头等。
在另一种可选的实施方式中,在传感器包括激光雷达的情况下,对传感器感知数据进行交通灯检测,得到检测交通灯的感知信息,包括:对激光点云数据进行交通灯检测,得到检测交通灯的感知信息。
步骤103、基于定位信息,提取地图数据中地图交通灯的存储信息。
以自动驾驶车辆为例,本步骤是基于对自动驾驶车辆的定位信息,在地图数据中确定自动驾驶车辆的地图位置,然后查询地图位置周围的交通灯。地图位置是指自动驾驶车辆的定位信息所在的地理位置在地图数据中的对应位置。
可选的,基于定位信息,提取地图数据中地图交通灯的存储信息,包括:根据可移动设备的定位信息确定交通灯在环境中的定位信息;根据确定的交通灯在环境中的定位信息,在地图数据中查找对应的地图交通灯;提取地图数据中对应的地图交通灯的存储信息。
可选的,地图交通灯的存储信息包括地图交通灯的数量、形状和大小、位置等信息。例如,根据定位信息在地图数据中查找对应的地图交通灯之后,将地图交通灯转换至图像坐标系下,并对图片进行裁剪,保留以地图交通灯的位置为中心的固定长度和固定宽度的矩形对应的图片,然后将裁剪得到的图片输入检测模型对地图交通灯的位置信息、形状和大小等信息进行检测,从而提取出来地图数据中对应的地图交通灯的存储信息。
可选的,若在地图数据中提取到地图交通灯的存储信息,则执行步骤104,若在地图数据中未提取到地图交通灯的存储信息,则结束或者根据检测交通灯的感知信息进行自动驾驶的决策和路径规划。在一个可选的场景中,根据车辆的定位信息确定车辆在地图数据中的当前所在位置,并确定当前所在位置与其附近的停止线之间的距离是否小于预设距离,若车辆当前所在位置与停止线之前的距离小于预设距离,则执行步骤103,否则,结束或者根据检测交通灯的感知信息进行自动驾驶的决策和路径规划。例如,预设距离为100米,根据车辆的定位信息在地图数据中对车辆位置进行定位,得到车辆的地图位置,判断地图位置与该地图位置附近最近的停止线之间的距离是否小于100米,若地图位置与该地图位置附近最近的停止线之间的距离小于100米,则提取地图交通灯的存储信息,否则结束或者根据检测交通灯的感知信息进行自动驾驶的决策和路径规划。
本实施例中,地图交通灯是指地图数据中预先存储的交通灯。例如,根据真实环境中路口通常设置有交通灯的原则,在地图数据中具有道路连接信息的位置处对应的标注有地图交通灯。
步骤104、对检测交通灯的感知信息和地图交通灯的存储信息进行匹配处理,得到匹配信息。
例如,根据检测交通灯的数量、形状、大小、位置信息,与地图交通灯的数量、形状、大小和位置信息,将检测交通灯和地图交通灯一一对应,得到检测交通灯和地图交通灯的匹配关系。
步骤105、至少根据检测交通灯的感知信息和匹配信息,输出环境的交通灯识别结果。
具体的,是以匹配信息为指导信息,对检测交通灯的感知信息进行修正,修正结果作为交通灯识别结果输出至车辆的自动驾驶控制模块,以使自动驾驶控制模块根据交通灯识别结果进行决策或者路径规划。
例如,根据检测交通灯的颜色信息,或者颜色信息和形状信息(箭头或圆形),以及检测交通灯和地图交通灯的对应关系,得到交通灯识别结果。
本申请实施例通过获取地图数据、可移动设备的定位信息以及针对所述可移动设备所在的环境采集的传感器感知数据;对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息;基于所述定位信息,提取所述地图数据中地图交通灯的存储信息;对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息;至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果。
由于地图数据中预先存储了地图交通灯的存储信息,因此,根据可移动设备的定位信息在地图数据中进行定位后,就可以得到地图中相应的地图交通灯,结合地图交通灯的存储信息和交通灯检测结果来确定交通信息的识别结果,从而有利于减小漏检率或误检率,提高交通信息识别结果的准确度。
可选的,本实施例的方法还包括:基于定位信息,提取地图数据中地图交通灯对应的第一道路连接信息。
其中,至少根据检测交通灯的感知信息和匹配信息,输出环境的交通灯识别结果,包括:根据检测交通灯的感知信息、匹配信息和第一道路连接信息,输出环境的交通灯识别结果及其对应的第二道路连接信息。车辆行驶至某一路口,在获取了上述实施例中的检测交通灯的感知信息之外,还可以基于车辆的定位信息,从地图数据中精确提取地图交通灯对应的第一道路连接信息。
本实施例中,地图数据中的地图交通灯还存储有对应的第一道路连接信息。地图数据中,对于每条车道会有标识信息,例如对每条车道进行编号,第一道路连接信息是用于表示道路转向的道路之间的连接关系,是指一条道路与从这条道路可以直接通往的其它道路之间的连接关系,对应到真实世界中,可以理解为,车辆行驶至道路Road1的路口,可以左转到道路Road2,可以直行到道路Road3,可以右转到道路Road4,则道路Road1与道路Road2、道路Road3、道路Road4具有连接关系。而如果道路Road1需要左转到道路Road2后,再右转到道路Road5,则道路Road1与道路Road5不具有本实施例所描述的道路连接关系。
另外,也可以理解第一道路连接信息表示一条道路与下一条道路在时序上的连接关系,例如,可以用包括时间信息和道路标识信息的二元组来表示两条道路之间的连接关系。例如,二元组为((t1,Road1),(t2,Road2)),其中,t1,t2分别代表时间信息,Road1,Road2代表道路标识信息,t2>t1,则上述二元组表示道路Road1与道路Road2之间具有道路连接关系。
当然,上述二元组的表示方式仅为示例说明,并不对本实施例进行限定。
可选的,地图交通灯与第一道路连接信息之间具有对应关系,地图交通灯与第一道路连接信息之间具有对应关系包括以下几种情况中的至少之一:
第一种情况:多个地图交通灯可以共同指示同一个第一道路连接信息。
例如,如图3所示,真实环境中,多个检测交通灯(在图3中共同标为A或C的交通灯)共同指示道路Road1左转至道路Road2,则地图数据中,存储有多个地图交通灯,以及道路Road1与道路Road2之间的道路连接关系的对应关系。
第二种情况:一个地图交通灯指示多个第一道路连接信息。
一个地图交通灯指示多个第一道路连接信息,对应到真实世界中,图3中的其中一个交通灯A(例如位于图3中左边的交通灯A)可以控制道路Road1直行至道路Road2、左转至道路Road3和右转至道路Road4等。那么在地图数据中,就会存储有该交通灯,以及道路Road1分别与道路Road2、Road3和Road4之间的道路连接关系。
第三种情况:一个地图交通灯指示一个第一道路连接信息。
一个地图交通灯指示一个第一道路连接信息,对应到真实世界中,图3中的其中一个交通灯A(例如位于图3中左边的交通灯A)仅控制道路Road1直行至Road2、左转至Road3或者右转至Road4。那么在地图数据中,就会存储有该交通灯,以及道路Road1与道路Road2、Road3或Road4之间的道路连接关系。
可选的,可以根据检测交通灯的感知信息和地图交通灯的存储信息,将地图交通灯和检测交通灯一一对应起来,得到地图交通灯和检测交通灯的对应关系,然后结合检测交通灯的感知信息和对应的地图交通灯的第一道路连接信息,确定交通灯识别结果,以及交通灯识别结果对应的第二道路连接信息。例如,检测交通灯的感知信息中检测交通灯为圆形,且颜色为绿色,检测交通灯对应的地图交通灯的第一道路连接信息是道路Road1与道路Road2之间的道路连接关系,则第二道路连接信息是可以从道路Road1行驶至道路Road2。
本实施例中,结合地图数据中的地图交通灯对应的第一道路连接信息,对交通灯识别结果进行道路转向的控制,能够帮助可移动设备准确理解交通灯规则,为自动驾驶提供驾驶决策或路径规划,提高行车安全。
在一种可选的实施方式中,对检测交通灯的感知信息和地图交通灯的存储信息进行匹配处理,得到匹配信息,包括:将地图交通灯映射至检测交通灯所在的坐标系下;在检测交通灯所在的坐标系下,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯和地图交通灯进行匹配。
本实施例中,地图数据中存储地图交通灯的三维位置信息,是地图坐标系下的位置信息,在传感器感知数据是环境图像的情况下,环境图像中的检测交通灯的位置信息是图像坐标系下的二维位置信息。为了便于后续数据处理,将地图交通灯和检测交通灯转换到同一个坐标系下。例如,将地图坐标系下的地图交通灯映射至图像坐标系下。其中,将地图坐标系下的地图交通灯映射至图像坐标系下,包括:根据地图坐标系和摄像头坐标系之间的转换关系,将地图坐标系下的地图交通灯的三维位置信息转换至摄像头坐标系下,然后根据摄像头的内参和外参,将摄像头坐标系下的地图交通灯的位置信息转换至图像坐标系下,得到图像坐标系下地图交通灯的位置信息。之后,在图像坐标系下,根据地图交通灯的位置信息和检测交通灯的位置信息,将距离最近的地图交通灯和检测交通灯识别为相匹配的一对交通灯。可选的,对每个地图交通灯,可以通过与所有检测交通灯之间的欧式距离确定二者是否匹配。例如,图像坐标系下具有3个地图交通灯和3个检测交通灯,以下简称第一地图交通灯、第二地图交通灯、第三地图交通灯、第一检测交通灯、第二检测交通灯、第三检测交通灯,则针对第一地图交通灯,是分别计算第一地图交通灯与第一检测交通灯、第二检测交通灯和第三检测交通灯之间的欧式距离,并确定最小欧式距离对应的检测交通灯为与第一地图交通灯相匹配的检测交通灯。类似地,通过上述方法可以将其他地图交通灯与检测交通灯进行匹配。在检测交通灯所在的坐标系下,根据检测交通灯和地图交通灯之间的距离,将检测交通灯组和地图交通灯组进行匹配。例如,预设距离阈值设置为2m,则将地图交通灯和检测交通灯中任意两个地图交通灯和检测交通灯之间的距离在2m范围内的地图交通灯和检测交通灯对应起来。本实施例中,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯和地图交通灯进行匹配,实现地图交通灯和检测交通灯的一一对应,提高地图交通灯和检测交通灯的匹配精度,从而在后续结合地图交通灯的存储信息和交通灯检测结果来确定交通信息的识别结果的过程中,进一步提高交通信息识别结果的准确度。
在另一种可选的实施方式中,对检测交通灯的感知信息和地图交通灯的存储信息进行匹配处理,得到匹配信息,包括:将多个检测交通灯划分为检测交通灯组,以及将多个地图交通灯划分为地图交通灯组;将检测交通灯组和地图交通灯组进行匹配;将相匹配的检测交通灯组和地图交通灯组中的交通灯一一对应进行匹配。
可选的,将检测交通灯划分为检测交通灯组,以及将地图交通灯划分为地图交通灯组,包括:分别将多个检测交通灯和多个地图交通灯进行聚类,得到检测交通灯组和地图交通灯组。在实际的应用场景中,通常可以认为位于同一个灯座上的交通灯为一组交通灯。例如,在对检测交通灯进行聚类的过程中,应使同一类中的检测交通灯的长度和宽度尽量一致,且检测交通灯之间的距离小于预设值,预设值可以是检测交通灯长度和宽度的平均值。如图3所示,可以认为图中紧挨的两个矩形框A和C内的检测交通灯为一组检测交通灯,则图3中存在两组检测交通灯。
其中,三维空间中相邻的交通灯在图像中也是相邻的,因此,对地图交通灯进行聚类,包括:计算所有地图交通灯两两之间的欧氏距离,将欧氏距离小于或等于预设欧氏距离的地图交通灯识别为一个类,即地图交通灯组。本实施例在对地图交通灯进行聚类时,还可以采用基于K近邻的聚类算法、k-mean聚类算法对地图交通灯进行聚类。可选的,在聚类过程中,还可以采用KDtree数据结构对上述聚类过程进行效率优化。
同样地,也可以基于对地图交通灯进行聚类的方式对检测交通灯进行聚类,具体可参见地图交通灯的介绍,此处不再赘述。
可选的,将检测交通灯组和地图交通灯组进行匹配,包括:将地图交通灯组映射至检测交通灯所在的坐标系下;在检测交通灯所在的坐标系下,根据检测交通灯组和地图交通灯组之间的距离,以及检测交通灯组和地图交通灯组中交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯组和地图交通灯组进行匹配。
本实施例中,在传感器感知数据是环境图像的情况下,对地图交通灯和检测交通灯各自聚类完成后,可以将聚类后的地图交通灯组映射至图像坐标系下,然后对地图交通灯类(地图交通灯组)和检测交通灯类(检测交通灯组)进行配对,配对原则是在检测交通灯类和地图交通灯类的交通灯的排序原则一致的情况下,保证检测交通灯类和地图交通灯类内交通灯的数量一致,以及地图交通灯类和检测交通灯类在图像坐标系下的欧式距离尽可能接近(最近邻原则),地图交通灯和检测交通灯的形状、大小等特性尽可能一致。检测交通灯类和地图交通灯类的交通灯的排序原则一致,是指检测交通灯类和地图交通灯类的交通灯都是从左至右进行排序或者都是从上至下的排序。根据配对原则选择最接近的地图交通灯类和检测交通灯类进行配对,配对结果中,地图交通灯数量和检测交通灯数量一致且排序原则一致,可以进一步得到相匹配的地图交通灯类和检测交通灯类中每一个地图交通灯和检测交通灯的配对结果。
例如,在将地图交通灯组映射至检测交通灯组之后,可以按照从左到右,和/或从上到下的顺序对检测交通灯组和地图交通灯组中的交通灯分别进行排序。然后对地图交通灯组和检测交通灯组进行配对,配对原则为使相匹配的地图交通灯组和检测交通灯组交通灯的数量保持一致,地图交通灯组和检测交通灯组在图像坐标系下的欧式距离尽可能接近(最近邻原则),以及地图交通灯和检测交通灯的形状、大小等特性尽可能一致。之后,由于根据配对原则匹配得到的最接近的地图交通灯类和检测交通灯类的配对结果中,地图交通灯数量和检测交通灯数量一致且排序原则一致,因此可以进一步得到每一个地图交通灯和检测交通灯的配对结果,即按照从左至右和/或从上至下的顺序将相匹配的地图交通灯组和检测交通灯组中的地图交通灯和检测交通灯一一对应起来。
可选的,在对检测交通灯和地图交通灯进行匹配的过程中,还可能存在以下情形:
第一种情形:检测交通灯的数量小于地图交通灯的数量。该种情形下,代表检测交通灯存在漏检,此时,可以通过地图交通灯对检测交通灯进行补充。
第二种情形:检测交通灯的数量大于地图交通灯的数量。该种情形下,代表地图数据存在漏标,此时,可以针对该地理位置,统计检测交通灯数量大于地图交通灯的数量的次数,如果统计的次数超过设定次数,或者,多辆车经过该地区时,检测交通灯的数量都大于地图交通灯的数量,则说明地图数据漏标的概率较高,则触发对地图数据的更新,即根据交通灯检测结果更新地图数据。
第三种情形:检测交通灯的数量等于地图交通灯的数量,则可以根据地图交通灯和检测交通灯的形状、大小等特征将地图交通灯和检测交通灯一一对应起来。
可选的,分别将检测交通灯和地图交通灯进行聚类,得到检测交通灯组和地图交通灯组之后,本申请实施例的方法还包括:确定对检测交通灯进行聚类之后剩余的检测交通灯,以及对地图交通灯进行聚类之后剩余的地图交通灯;在剩余的检测交通灯和剩余的地图交通灯中,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的形状和大小进行匹配。例如,在对地图交通灯和检测交通灯分别聚类后,可能存在部分交通灯单独出现,或者由于摄像头角度、检测模型准确率导致交通灯检测结果不全等原因,导致地图交通灯类和检测交通灯类的配对失败。对于剩余的地图交通灯和检测交通灯,可以直接基于图像坐标系下的欧式距离、形状、大小相似度进行最近邻匹配,得到剩余的地图交通灯和检测交通灯一一对应的配对结果。
本实施例中,首先通过聚类的方式将检测交通灯和地图交通灯分别聚类为多个交通灯类,能够将控制不同道路连接信息的交通灯分别聚为一类,在后续结合地图交通灯的存储信息和交通灯检测结果来确定交通信息的识别结果的过程中,快速且准确地得到控制同一道路连接关系的交通灯组,另外,聚类的方式还可以进一步减小检测交通灯的误检率或漏检率。
可选的,在多个地图交通灯共同指示同一第一道路连接信息的情况下,本申请实施例的方法还包括:对多个地图交通灯的第一道路连接信息进行聚类;根据第一道路连接信息的聚类结果,以及检测交通灯和地图交通灯的匹配信息,确定检测交通灯中对应相同第一道路连接信息的检测交通灯。
真实环境中,同一个道路的转向信息可能会通过多个检测交通灯来控制,因此需要根据来自地图交通灯的道路连接信息进行基于同一道路转向的聚类,也就是将同一个道路的转向对应的交通灯聚类到一个类中。
之后,枚举所有转向,对于每一个转向的所有交通灯,统计来自检测交通灯的信号灯类型,因为检测结果可能存在误检,所以同一个转向的交通灯信号类型可能不同,所以需要统计每个交通灯信号类型的数量,选取数量最多的交通灯信号类型为该转向的交通灯信号类型。例如,图3中标为A的交通灯共同指示同一道路Road1,则将标为A的交通灯聚为一类,也就是说,图3中有6个交通灯共同指示同一道路Road1,那么这6个交通灯中4个交通灯的形状都是箭头,且为红色,另外2个交通灯的形状为黑色,没有形状,则以这4个交通灯的形状和颜色信息作为检测交通灯A的感知信息。
本实施例针对多个交通灯控制同一道路连接信息的情形,在检测交通灯存在部分误检或漏检的情形下,仍然能够准确得到交通信息识别结果。
可选的,本申请实施例的方法还包括:基于检测交通灯的感知信息在时序上的变化规则,以及历史时间段的感知信息,确定检测交通灯的感知信息是否符合变化规则;在检测交通灯的感知信息符合变化规则的情况下,则执行至少根据检测交通灯的感知信息和匹配信息,输出环境的交通灯识别结果的步骤;在检测交通灯的感知信息不符合变化规则的情况下,将检测交通灯在时序上相邻的感知信息作为检测交通灯的感知信息。真实环境中,根据交通规则,交通灯需要满足红变绿,绿变黄,黄变红,或者交通灯形状和颜色共同变化这样在时序上的变化规则,交通灯形状和颜色共同变化是指在一个交通灯控制多个道路转向信息的情况下,例如第1时刻交通灯形状为箭头,第2时刻交通灯形状为圆形,在第1时刻中,箭头又可以分别具有红、绿、黄三种颜色信息,同样地,第2时刻中,圆形又可以分别具有红、绿、黄三种颜色信息。因此,本实施例对于每个道路转向信息,存储一段时间内的检测交通灯的感知信息,并根据检测交通灯在历史时间段的感知信息,判断当前检测交通灯的感知信息是否合理,如果合理则输出最新的交通灯信号类型,否则输出历史时刻上距离当前时刻最近的检测交通灯的感知信息。
以环境图像为例,存储一段时间内的检测交通灯的感知信息,例如存储5帧环境图像,以及对该5帧环境图像分别进行交通灯检测得到的检测交通灯的感知信息,第4帧环境图像为当前帧环境图像,与第4帧环境图像之前的历史时刻的多帧环境图像(第1至3帧,甚至第1帧之前的帧图像)的检测结果进行比对,判断第4帧环境图像的检测结果是否满足时序上的变化规则,如果第4帧环境图像的检测结果满足时序上的变化规则,则输出根据第4帧环境图像识别的交通灯识别结果,如果第4帧环境图像的检测结果不满足时序上的变化规则,则输出根据第3帧或者第3帧环境图像之前的历史时刻的环境图像识别的交通灯识别结果。
本实施例通过根据交通规则的时序变化逻辑,将传感器感知数据中的非法数据进行过滤,能够提高交通信息识别结果的准确度。
可选的,本申请实施例的方法还包括:根据匹配信息和/或检测交通灯的感知信息的时序变化规则与预设时序变化规则的匹配性,确定当前时刻采集的传感器感知数据是否存在交通灯误检或漏检;确定一定时间段内采集的传感器感知数据存在交通灯误检或漏检的累计次数是否超过设定阈值;若累计次数超过设定阈值,则触发报警。若交通灯误检或漏检的累计次数大于设定阈值,就会影响自动驾驶的控制,甚至影响行车安全。因此,在交通灯误检或漏检的累计次数大于设定阈值,则触发报警。以摄像头采集车辆周围环境信息为例,如果摄像头1秒钟采集30次传感器数据,出现了30次误检或漏检,则会进行报警。该报警信息会提供给自动驾驶系统的后端的模块,比如路径规划模块或决策控制模块,路径规划模块或决策控制模块会结合报警信息进行路径规划或决策控制。例如,如果1秒内30次都是检测出箭头灯,但地图数据上是圆形灯,则后续决策控制模块收到报警后会按照圆形灯进行控制。
其中,根据匹配信息确定采集的传感器感知数据是否存在交通灯误检或漏检,可以理解为检测交通灯的数量和地图交通灯在匹配过程中,出现数量不一致的情形,例如上述实施例中的第一种情形和第二种情形。
举例来说,根据检测交通灯的感知信息的时序变化规则与预设时序变化规则的匹配性确定采集的传感器感知数据是否存在交通灯误检或漏检,包括:当前时刻的检测交通灯的感知信息为红色,根据预设时序变化规则推断当前时刻的检测交通灯的感知信息应当为绿色,则此时认为传感器感知数据存在误检或漏检。
本实施例通过在传感器感知数据误检或漏检超过预定次数的情形下,触发报警,为路径规划模块或决策控制模块提供报警信息,使路径规划模块或决策控制模块结合报警信息进行路径规划或决策控制,从而提高行驶安全。
在上述实施例的基础上,本申请实施例还提供一种智能行驶方法,包括:获取通过图像采集单元采集的交通灯图像;采用上述实施例的交通信息识别方法对所述交通灯图像进行交通灯识别,得到交通灯识别结果;基于所述交通灯识别结果控制可移动设备行驶。以自动驾驶车辆为例,基于交通灯识别结果控制可移动设备行驶,包括控制自动驾驶车辆在道路上的行驶。
图4为本申请实施例提供的交通信息识别装置的结构示意图。本申请实施例提供的交通信息识别装置可以执行交通信息识别方法实施例提供的处理流程,如图4所示,交通信息识别装置40包括:第一获取模块41、检测模块42、提取模块43、匹配模块44和输出模块45;其中,第一获取模块41,用于获取地图数据、可移动设备的定位信息以及针对所述可移动设备所在的环境采集的传感器感知数据;检测模块42,用于对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息;提取模块43,用于基于所述定位信息,提取所述地图数据中地图交通灯的存储信息;匹配模块44,用于对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息;输出模块45,用于至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果。
可选的,提取模块43,还用于基于所述定位信息,提取所述地图数据中地图交通灯对应的第一道路连接信息;所述输出模块45在至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果时,具体包括:根据所述检测交通灯的感知信息、所述匹配信息和所述第一道路连接信息,输出所述环境的交通灯识别结果及其对应的第二道路连接信息。
可选的,所述传感器包括摄像头;所述传感器感知数据为通过所述摄像头采集的所述可移动设备所在的环境的环境图像;所述检测模块42在对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息时,具体包括:对所述环境图像进行交通灯检测,得到检测交通灯的感知信息。
可选的,所述传感器包括激光雷达;所述传感器感知数据为通过所述激光雷达采集的所述可移动设备所在的环境的激光点云数据;所述检测模块42在对所述传感器感知数据进行交通灯检测,得到检测交通灯的感知信息时,具体包括:对所述激光点云数据进行交通灯检测,得到检测交通灯的感知信息。
可选的,所述提取模块43基于所述定位信息,提取所述地图数据中地图交通灯的存储信息时,具体包括:根据所述可移动设备的定位信息确定所述交通灯在所述环境中的定位信息;根据确定的所述交通灯在所述环境中的定位信息,在所述地图数据中查找对应的地图交通灯;提取所述地图数据中对应的地图交通灯的存储信息。
可选的,所述匹配模块44在对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息时,具体包括:将所述地图交通灯映射至所述检测交通灯所在的坐标系下;在所述检测交通灯所在的坐标系下,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯和地图交通灯进行匹配。
可选的,所述匹配模块44在对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理,得到匹配信息时,具体包括:将多个所述检测交通灯划分为检测交通灯组,以及将多个所述地图交通灯划分为地图交通灯组;将所述检测交通灯组和所述地图交通灯组进行匹配;将相匹配的所述检测交通灯组和所述地图交通灯组中的交通灯一一对应进行匹配。
可选的,所述匹配模块44在将所述检测交通灯划分为检测交通灯组,以及将所述地图交通灯划分为地图交通灯组时,具体包括:分别将多个所述检测交通灯和多个所述地图交通灯进行聚类,得到检测交通灯组和地图交通灯组。
可选的,所述匹配模块44在将所述检测交通灯组和所述地图交通灯组进行匹配时,具体包括:将所述地图交通灯组映射至所述检测交通灯所在的坐标系下;在所述检测交通灯所在的坐标系下,根据检测交通灯组和地图交通灯组之间的距离,以及检测交通灯组和地图交通灯组中交通灯的排序原则、数量、形状和/或大小的匹配,将检测交通灯组和地图交通灯组进行匹配。
可选的,所述匹配模块44,还用于确定对所述检测交通灯进行聚类之后剩余的检测交通灯,以及对所述地图交通灯进行聚类之后剩余的地图交通灯;在剩余的检测交通灯和剩余的地图交通灯中,根据检测交通灯和地图交通灯之间的距离,以及检测交通灯和地图交通灯的形状和大小进行匹配。
可选的,多个所述地图交通灯指示同一所述第一道路连接信息;所述装置40还包括:聚类模块46,用于对多个地图交通灯的第一道路连接信息进行聚类;第一确定模块47,用于根据所述第一道路连接信息的聚类结果,以及所述检测交通灯和所述地图交通灯的匹配信息,确定所述检测交通灯中对应相同第一道路连接信息的检测交通灯。
可选的,该装置40还包括:第二确定模块48,用于基于所述检测交通灯的感知信息在时序上的变化规则,以及历史时间段的感知信息,确定所述检测交通灯的感知信息是否符合所述变化规则;以及在所述检测交通灯的感知信息符合所述变化规则的情况下,则执行至少根据所述检测交通灯的感知信息和所述匹配信息,输出所述环境的交通灯识别结果的步骤;和在所述检测交通灯的感知信息不符合所述变化规则的情况下,将所述检测交通灯在时序上相邻的感知信息作为所述检测交通灯的感知信息。
可选的,所述匹配模块44在对所述检测交通灯的感知信息和所述地图交通灯的存储信息进行匹配处理时,具体包括:若所述检测交通灯的数量等于所述地图交通灯的数量,则将所述检测交通灯和所述地图交通灯进行一一对应;若所述检测交通灯的数量大于所述地图交通灯的数量,则在所述检测交通灯的数量大于所述地图交通灯的数量的匹配次数大于或等于预设次数,或者在预设数量个可移动设备经过所述检测交通灯所在的区域时,所述检测交通灯的数量均大于所述地图交通灯的数量,则触发对所述地图数据的更新;若所述检测交通灯的数量小于所述地图交通灯的数量,则根据多出的所述地图交通灯补全所述检测交通灯。
可选的,该装置40还包括:第三确定模块49;第三确定模块49,用于根据所述匹配信息和/或所述检测交通灯的感知信息的时序变化规则与预设时序变化规则的匹配性,确定当前时刻采集的传感器感知数据是否存在交通灯误检或漏检;以及确定一定时间段内采集的传感器感知数据存在交通灯误检或漏检的累计次数是否超过设定阈值;并在所述累计次数超过设定阈值的情况下,触发报警。
图4所示实施例的交通信息识别装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例提供的智能行驶装置的结构示意图。本申请实施例提供的智能行驶装置可以执行智能行驶方法实施例提供的处理流程,如图5所示,智能行驶装置50包括:第二获取模块51、识别模块52和控制模块53;第二获取模块51,获取通过图像采集单元采集的交通灯图像;识别模块52,用于采用上述实施例的交通信息识别方法对所述交通灯图像进行交通灯识别,得到交通灯识别结果;控制模块53,用于基于所述交通灯识别结果控制可移动设备行驶。
图5所示实施例的智能行驶装置可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的电子设备的结构示意图。该电子设备具体可以是上述实施例中的交通灯识别设备或智能行驶设备。本申请实施例提供的电子设备可以执行交通灯识别方法或智能行驶方法实施例提供的处理流程,如图6所示,电子设备60包括:存储器61、处理器62、计算机程序和通讯接口63;其中,计算机程序存储在存储器61中,并被配置为由处理器62执行以上交通灯识别方法或智能行驶方法实施例的技术方案。
图6所示实施例的电子设备可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
另外,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的交通灯识别方法或智能行驶设备方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。