图像识别方法和装置、存储介质及电子设备与流程

文档序号:24069394发布日期:2021-02-26 14:22阅读:69来源:国知局
图像识别方法和装置、存储介质及电子设备与流程

[0001]
本发明涉及计算机领域,具体而言,涉及一种图像识别方法和装置、存储介质及电子设备。


背景技术:

[0002]
目标检测是自动驾驶领域应用最广泛的深度学习算法之一。现有目标检测算法在感知阶段进行红绿灯路口归属。感知模块需要从地图(例如,高精地图或者红绿灯先验地图)中查询得到红绿灯的世界坐标后,再进行红绿灯检测。这需要将感知模块与地图和高精定位模块进行耦合,增加了自动驾驶系统的复杂性,降低了系统稳定性。同时,现有技术要求需要在高精地图制作中包含交通信号灯要素、或者单独制作红绿灯先验地图,这极大提高了算法运行成本。
[0003]
针对相关技术中,由于红绿灯检测的复杂性高,导致的检测效率低的问题,目前尚未提出有效的解决方案。


技术实现要素:

[0004]
本发明实施例提供了一种图像识别方法和装置、存储介质及电子设备,以至少解决由于红绿灯检测的复杂性高,导致的检测效率低的技术问题。
[0005]
根据本发明实施例的一个方面,提供了一种图像识别方法,包括:获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0006]
根据本发明实施例的另一方面,还提供了一种图像识别装置,包括:第一获取模块,用于获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;第二获取模块,用于在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;确定模块,用于根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0007]
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述图像识别方法。
[0008]
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的图像识别方法。
[0009]
在本发明实施例中,通过获取位于目标车辆上的目标相机拍摄到的目标图像,在目标图像中检测到红绿灯的情况下,获取红绿灯的第一关键点在目标图像中的第一坐标以
及目标杆的接地点在目标图像中的第二坐标,目标杆为所述红绿灯的灯杆;根据所述第一坐标、所述第二坐标以及目标相机的参数,确定目标车辆与所述红绿灯之间的距离,达到了简化红绿灯检测的目的,从而实现了提高检测效率的技术效果,进而解决了由于红绿灯检测的复杂性高,导致的检测效率低的技术问题。
附图说明
[0010]
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0011]
图1是根据本发明实施例的一种可选的图像识别方法的应用环境的示意图;
[0012]
图2是根据本发明实施例的图像识别方法的流程图;
[0013]
图3是根据本发明实施例的一种可选的图像坐标示意图;
[0014]
图4是根据本发明实施例的一种可选的关键点检测示意图一;
[0015]
图5是根据本发明实施例的一种可选的关键点检测示意图二;
[0016]
图6是根据本发明实施例的一种可选的视觉测距示意图;
[0017]
图7是根据本发明实施例的一种可选的关键点检测示意图三;
[0018]
图8是根据本发明实施例的一种可选的红绿灯匹配示意图;
[0019]
图9是根据本发明实施例的一种可选的图像识别装置的结构示意图;
[0020]
图10是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
[0021]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0022]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0023]
根据本发明实施例的一个方面,提供了一种图像识别方法,可选地,作为一种可选的实施方式,上述图像识别方法可以但不限于应用于如图1所示的环境中的图像识别系统。该系统中包括:车辆102,红绿灯108。上述车辆上可以包括:车载设备104和摄像头106,其中,摄像头可以作为单独的装置设置在上述车辆上,摄像头也可以是车载设备上的摄像头。
[0024]
作为一个可选的实施方式,上述车载设备104中可以包括:存储器、处理器和显示器。上述红绿灯108可以安装在灯杆110上。
[0025]
上述仅是一种示例,本实施例中对此不作任何限定。
[0026]
具体的,通过上述虚拟装备的生成系统将实现以下步骤:
[0027]
步骤s102,获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;
[0028]
步骤s104,在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;
[0029]
步骤s106,根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0030]
作为一个可选的实施方式,上述步骤的执行主体可以是上述车载设备,也可以是服务器。
[0031]
可选地,作为一种可选的实施方式,如图2所示,上述图像识别方法包括:
[0032]
步骤s202,获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;
[0033]
步骤s204,在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;
[0034]
步骤s206,根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0035]
通过上述步骤,获取位于目标车辆上的目标相机拍摄到的目标图像,在目标图像中检测到红绿灯的情况下,获取红绿灯的第一关键点在目标图像中的第一坐标以及目标杆的接地点在目标图像中的第二坐标,目标杆为所述红绿灯的灯杆;根据所述第一坐标、所述第二坐标以及目标相机的参数,确定目标车辆与所述红绿灯之间的距离,达到了简化红绿灯检测的目的,从而实现了提高检测效率的技术效果,进而解决了由于红绿灯检测的复杂性高,导致的检测效率低的技术问题。
[0036]
作为一个可选的实施方式,上述目标车辆可以是具有自动驾驶功能的车辆。目标相机可以是安装在目标车辆上的摄像头,也可以设置在目标车辆上的车载设备的摄像头。通过目标相机可以对目标车辆前方道路进行拍摄,得到目标图像。
[0037]
作为一个可选的实施方式,图像坐标系可以是以图像左上角为原点,向右为x轴,向下为y轴的坐标系,预定数量个像素长度为一个坐标单位,其中,预定数量可以根据实际情况而定,例如可以是1个像素为一个坐标单位,也可以是2个像素作为一个坐标单位,具体的像素数量可以根据实际情况而定,如图3所示是根据本发明可选实施例的图像坐标示意图,图中所示的图像为目标车辆上的目标相机拍摄的图像,将图像的左上角作为图像坐标的原点,向右为右为x轴,向下为y轴,以此得到图像坐标系。在该坐标系中可以得到红绿灯中任意一点的坐标,例如,红绿灯中点在该坐标系中的坐标,以及灯杆的接地点在该坐标系中的坐标。进而可以根据红绿灯中选取的关键点坐标、灯杆接地点的坐标,以及相机的参数可以得到目标车辆与红绿灯之间的距离。
[0038]
可选地,所述获取所述红绿灯的第一关键点在所述目标图像中的第一坐标,包括:获取中心点在所述目标图像中的所述第一坐标,其中,所述第一关键点包括所述中心点,所述中心点为所述目标图像中的所述红绿灯所在的检测框的中心点。
[0039]
作为一个可选的实施方式,可以选取红绿灯的中心点作为关键点,确定中心点的方式,可以是通过检测框在目标图像中检测出红绿灯,将检测框的中心点作为红绿灯的中心点。在本实施例中,如图4所示是根据本发明可选实施例的关键点检测示意图一,图中包括红绿灯检测框,通过检测框检测出图像中的红绿灯,将检测框的中心点作为红绿灯的中心点。在本实施例中,通过检测框检测红绿灯,并通过检测框确定红绿灯中心点的方式,可以提高红绿灯检测准确率。
[0040]
可选地,所述根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离,包括:根据所述第一坐标、所述第二坐标、所述目标相机距离地面的高度、以及所述目标相机的焦距,确定所述目标车辆与所述红绿灯之间的距离。
[0041]
作为一个可选的实施方式,灯杆的接地点也可以通过关键点检测得到,如图5所示是根据本发明可选实施例的关键点检测示意图二,可以通过关键点检测检测到图中灯杆的接地点。在本实施例中,由于建立了图像坐标系,可以在坐标系中确定关键点的坐标,可以通过用图像坐标(x,y)表示,例如,红绿灯的中心点的第一坐标可以为(x1,y1),灯杆接地点的第二坐标可以为(x2,y2)。
[0042]
作为一个可选的实施方式,在确定出红绿灯关键点的第一坐标,灯杆接地点的坐标后,可以结合相机的参数得到目标车辆与红绿灯之间的距离。如图6所示是根据本发明可选实施例的视觉测距示意图,图中f是相机的焦距,h是相机高度。y
c
是图像坐标系中红绿灯中心点的纵坐标,y
p
为接地点图像坐标,结合上述参数,即可得到相机与红绿灯之间的距离z。由于相机是安装在目标车辆上,若对距离的精度要求不是很高的情况下,可以将相机与红绿灯之间的距离z作为车辆与红绿灯之间的距离。若对距离的精度要求较高,可以根据相机安装在车辆中的位置,进一步求得车辆与红绿灯之间的距离。在本实施例中,通过根据红绿灯中关键点的坐标(红绿灯中心点和灯杆接地点)在图像坐标系中的坐标,结合相机参数可以准确得到车辆与红绿灯之间的距离,进而可以根据红绿灯的状态控制车辆做出进一步决策,可以提高自动驾驶的安全性。
[0043]
可选地,所述根据所述第一坐标、所述第二坐标、所述目标相机距离地面的高度、以及所述目标相机的焦距,确定所述目标车辆与所述红绿灯之间的距离,包括:通过以下公式确定所述目标车辆与所述红绿灯之间的距离z:
[0044][0045]
其中,y
c
表示所述中心点在所述目标图像中的第一纵坐标,y
p
表示所述目标杆的接地点在所述目标图像中的第二纵坐标,h表示所述目标相机距离地面的高度,f表示所述目标相机的焦距,所述第一坐标包括所述第一纵坐标,所述第二坐标包括所述第二纵坐标。
[0046]
作为一个可选的实施方式,相机成像原理为小孔成像,基于相机内参去除相机畸变之后,相机成像模型如上图6所示。由于图中阴影部分的两个三角形相似,可以得到:
[0047][0048]
其中,f是相机的焦距,h是相机高度。y
c
是图像坐标系中红绿灯中心点的纵坐标,y
p
为接地点图像坐标,相机与红绿灯之间的距离z。上述公式中,除z以外,都是已知量。h可以
从相机外参中获取,焦距可以从相机内参中获取,y
c
,y
p
的值也已知,则红绿灯和自动驾驶车辆(相机)的距离计算公式为:
[0049][0050]
可选地,所述方法还包括:在所述目标图像中检测到所述红绿灯的情况下,获取所述红绿灯的第二关键点在所述目标图像中的第三坐标,其中,所述第三坐标用于确定所述目标图像中的所述红绿灯所在的检测框的区域;根据所述第三坐标,在所述目标图像中获取所述检测框中的图像;根据所述检测框中的图像,确定所述红绿灯的灯体信息,其中,所述灯体信息包括以下至少之一:灯体形状、灯体时间和灯体颜色。
[0051]
作为一个可选的实施方式,在对目标图像中的红绿灯检测中,可以通过检测关键点的方式,确定检测框在图像中的区域。关键点可以是红绿灯左上角关键点和右下角关键点,也可以是红绿灯左下角关键点和右上角关键点,具体关键点的选取方式可以根据实际情况而定。在本实施例中,以红绿灯左上角和右下角关键点为例进行说明。如图7所示是根据本发明可选实施例的关键点检测示意图三,图中,以红绿灯的左上角和右下角作为第二关键点,通过这两个关键点在图像坐标系中的坐标即可确定出检测框的区域。例如,假设左上角的图像坐标为(x1,y1),由下角的坐标为(x2,y2),则可以确定红绿灯左下角的坐标为(x1,y2),红绿灯右上角的坐标为(x2,y1),进而可以确定出(x1,y1),(x2,y2),(x1,y2)和(x2,y1)四个点构成的矩形框为检测框,检测框中的图像即为红绿灯的图像,进而可以通过图像识别,识别出检测框内红绿灯的灯体信息,例如,灯体形状,灯体时间和灯体颜色。其中,灯体形状可以包括圆形、向左箭头、向右箭头,掉头箭头灯。灯体时间可以用于表示当前灯体的剩余保持时间,灯体颜色可以包括红色、绿色和黄色。具体地,灯体信息可以根据交通系统中的实际情况而定。在本实施例中,通过关键点确定检测框,进一步识别检测框内红绿灯的灯体信息,可以提高红绿灯灯体信息检测结果的准确性。
[0052]
可选地,所述根据所述检测框中的图像,确定所述红绿灯的灯体信息,包括以下至少之一:根据所述检测框中的图像,确定所述红绿灯中显示的箭头形状,其中,所述灯体形状包括所述箭头形状;根据所述检测框中的图像,确定所述红绿灯中显示的灯体颜色以及所述灯体颜色对应的剩余时间。
[0053]
作为一个可选的实施方式,红绿灯的灯体颜色、形状识别算法可采用现有技术中的图像识别算法。算法输入为红绿灯图片,具体地可以是检测框内红绿灯的图像,输出为灯体形状,例如可以是圆形,左箭头,上箭头,右箭头,调头箭头灯,灯体颜色可以是红色、绿色、黄色、黑色等。剩余时间用于表示当前红绿灯的剩余保持时间,例如,当前红绿灯为左箭头红色,剩余时间为5秒,则表示禁止左拐的剩余时间为5秒。在本实施例中,通过识别检测框内图像中红绿灯的灯体信息,可以提高灯体信息检测结果的准确性。
[0054]
可选地,所述方法还包括:在预先获取的地图数据中查询所述目标车辆的当前位置与所述目标车辆即将通过的下一个路口之间的距离;根据所述目标车辆与所述红绿灯之间的距离、以及所述目标车辆的当前位置与所述下一个路口之间的距离,判断所述红绿灯是否为所述下一个路口的红绿灯。
[0055]
作为一个可选的实施方式,预先获取的地图数据可以是在高精地图或者红绿灯先验地图中获取的数据,以高精地图为例,在高精地图为中可以确定当前车辆坐在的位置,以
及道路的交通信息,道路交通信息包括路口的位置,每条道路上的车流量等。在本实施例中,通过高精地图中车辆的当前位置和路口位置,可以确定出车辆当前位置与最接近的路口之间的距离。由于红绿等一般设置在路口,进而可以根据车辆与红绿灯之间的距离确定所检测出的红绿灯是否是最近的路口的红绿灯。例如,若通过高精地图确定与车辆当前位置最接近的路口的距离为r1,图像检测出的红绿灯距离车辆的距离为r2。若r2大于r1,则图像检测出的红绿灯可能并不是与车辆最接近的路口的红绿灯。在本实施例中,通过确定图像检测中的红绿灯是否为最接近的路口的红绿灯,可以结合当前路况更好的做出决策,提高自动驾驶的安全性。
[0056]
可选地,所述根据所述目标车辆与所述红绿灯之间的距离、以及所述目标车辆的当前位置与所述下一个路口之间的距离,判断所述红绿灯是否为所述下一个路口的红绿灯,包括:在所述目标车辆与所述红绿灯之间的距离与所述目标车辆的当前位置与所述下一个路口之间的距离之间的差值小于预定阈值的情况下,确定所述红绿灯为所述下一个路口的红绿灯。
[0057]
作为一个可选的实施方式,上述预定阈值可以根据实际情况而定,假设若通过高精地图确定与车辆当前位置最接近的路口的距离为r1,图像检测出的红绿灯距离车辆的距离为r2,预定阈值为r,r可以是0.5米,1米等。在本实施例中,若r1-r2小于r,则确定在图像中检测出的红绿灯是与车辆最接近的路口的红绿灯,否则,确定不是与车辆最接近的路口的红绿灯。在本实施例中,通过确定图像检测中的红绿灯是否为最接近的路口的红绿灯,可以结合当前路况更好的做出决策,提高自动驾驶的安全性。
[0058]
可选地,所述方法还包括:在判断出所述红绿灯为所述下一个路口的红绿灯的情况下,根据所述红绿灯的灯体信息,确定所述目标车辆的控制指令,其中,所述红绿灯的灯体信息是根据所述红绿灯在所述目标图像中所在的检测框中的图像确定得到的信息。
[0059]
作为一个可选的实施方式,若图像检测出的红绿灯是与车辆当前位置最接近的路口的红绿灯,则可以结合红绿灯的灯体信息对车辆进行控制,可以通过向车辆发送控制指令的方式实现自动驾驶。在本实施例中,通过结合红绿灯灯体信息对目标车辆进行控制,可以达到提高自动驾驶安全性的技术效果。
[0060]
可选地,所述根据所述红绿灯的灯体信息,确定所述目标车辆的控制指令,包括:在所述红绿灯包括一组红绿灯的情况下,在预先获取的地图数据中查询所述目标车辆的当前位置所在的车道;在所述一组红绿灯中确定与所述车道的车道类型匹配的目标红绿灯;根据所述目标红绿灯的灯体信息,确定所述目标车辆的控制指令。
[0061]
作为一个可选的实施方式,图像中拍摄的红绿灯可以包括多个,例如可以包括指示左转、右转、直行的红绿灯,可以结合车辆当前所在的车道确定相匹配的车道,如图8所示是根据本发明可选实施例的红绿灯匹配示意图,图像中的红绿灯包括左转、直行和右转,在高精地图中确定出的目标车辆在左侧车道,确定左转的红绿灯与车辆当前所在的左侧车道相匹配。进而可以根据左转红绿灯的灯体颜色、剩余时间等灯体信息,做出决策。在本实施例中,通过结合车道确定匹配的红绿灯,进而结合灯体信息对车辆实现控制,可以提高自动驾驶的安全性。
[0062]
可选地,所述在所述一组红绿灯中确定与所述车道的车道类型匹配的目标红绿灯,包括:在所述车道的车道类型为左拐车道类型的情况下,在所述一组红绿灯中确定与所
述左拐车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的左拐箭头;和/或在所述车道的车道类型为右拐车道类型的情况下,在所述一组红绿灯中确定与所述右拐车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的右拐箭头;和/或在所述车道的车道类型为掉头车道类型的情况下,在所述一组红绿灯中确定与所述掉头车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的掉头箭头;和/或在所述车道的车道类型为直行车道类型的情况下,在所述一组红绿灯中确定与所述直行车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的直行箭头。
[0063]
作为一个可选的实施方式,若通过高精地图确定目标车辆在当前所在的车道类型为左拐车道,在图像中检测出的红绿灯中确定显示左拐箭头的红绿灯是与左拐车道相匹配的红绿灯。若通过高精地图确定目标车辆在当前所在的车道类型为右拐车道,在图像中检测出的红绿灯中确定显示右拐箭头的红绿灯是与右拐车道相匹配的红绿灯。若通过高精地图确定目标车辆在当前所在的车道类型为掉头车道,在图像中检测出的红绿灯中确定显示掉头箭头的红绿灯是与掉头车道相匹配的红绿灯。若通过高精地图确定目标车辆在当前所在的车道类型为直行车道,在图像中检测出的红绿灯中确定显示直行箭头的红绿灯是与直行车道相匹配的红绿灯。在本实施例中,通过结合车道确定匹配的红绿灯,进而结合灯体信息对车辆实现控制,可以提高自动驾驶的安全性。
[0064]
可选地,所述根据所述目标红绿灯的灯体信息,确定所述目标车辆的控制指令,包括:若所述目标红绿灯为左拐箭头且灯体颜色为绿色,在所述目标车辆与所述红绿灯之间的距离小于或等于第一距离阈值的情况下,确定所述目标车辆的控制指令为第一控制指令,其中,所述第一控制指令用于指示所述目标车辆左拐;若所述目标红绿灯为右拐箭头且灯体颜色为绿色,在所述目标车辆与所述红绿灯之间的距离小于或等于所述第一距离阈值的情况下,确定所述目标车辆的控制指令为第二控制指令,其中,所述第二控制指令用于指示所述目标车辆右拐;若所述目标红绿灯为掉头箭头且灯体颜色为绿色,在所述目标车辆与所述红绿灯之间的距离小于或等于所述第一距离阈值的情况下,确定所述目标车辆的控制指令为第三控制指令,其中,所述第三控制指令用于指示所述目标车辆掉头;若所述目标红绿灯为直行箭头且灯体颜色为绿色,确定所述目标车辆的控制指令为第四控制指令,其中,所述第四控制指令用于指示所述目标车辆直行;若所述目标红绿灯的灯体颜色为红色,在所述目标车辆与所述红绿灯之间的距离小于或等于第二距离阈值的情况下,确定所述目标车辆的控制指令为第五控制指令,其中,所述第五控制指令用于指示所述目标车辆停车。
[0065]
作为一个可选的实施方式,可以结合灯体颜色控制控制车辆的行驶状态。第一距离阈值可以根据实际情况而定,例如可以是1米、2米等。在本实施例中,假设第一距离阈值是1米。若通过图像检测与车辆所在的车道相匹配的是左拐红绿灯,且此时的左拐红绿灯的灯体颜色是绿色,则控制车辆左拐。若通过图像检测与车辆所在的车道相匹配的是右拐红绿灯,且此时的右拐红绿灯的灯体颜色是绿色,则控制车辆右拐。若通过图像检测与车辆所在的车道相匹配的是直行红绿灯,且此时的直行红绿灯的灯体颜色是绿色,则控制车辆直行。若通过图像检测与车辆所在的车道相匹配的红绿灯的灯体颜色是红色,则不论箭头是左拐、右拐、直行,还是掉头,均控制车辆停车等待,直到灯体颜色变绿为止。在本实施例中,
通过结合灯体信息控制车辆的行驶状态,可以提高自动驾驶的安全性。
[0066]
可选地,所述根据所述目标红绿灯的灯体信息,确定所述目标车辆的控制指令,包括:根据所述目标车辆与所述红绿灯之间的距离与所述目标车辆的当前车速与所述红绿灯之间的距离,确定所述目标车辆到达所述红绿灯的预估用时;在所述红绿灯中显示的灯体颜色为红色的情况下,若所述预估用时大于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第六控制指令,其中,所述第六控制指令用于指示保持所述目标车辆的当前车速继续行驶;若所述预估用时小于或等于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第七控制指令,其中,所述第七控制指令用于指示减小所述目标车辆的当前车速;在所述红绿灯中显示的灯体颜色为绿色的情况下,若所述预估用时小于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第八控制指令,所述第八控制指令用于指示保持所述目标车辆的当前车速继续行驶;若所述预估用时大于或等于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第九控制指令,其中,所述第九控制指令用于指示减小所述目标车辆的当前车速。
[0067]
作为一个可选的实施方式,还可以结合灯体颜色对应的剩余时间,以及车辆与红绿灯之间的距离,控制车辆的行驶速度。可以根据车辆与红绿灯之间的距离与目标车辆的当前车速确定车辆到达红绿灯的用时,假设车辆与红绿灯之间的距离为r,车辆的当前车速为v,则车辆保持当前车速到达红绿灯的预估用时为t1=r/v。通过对目标图像的检测可识别出红绿灯体对应的剩余时间,该剩余时间用于表示红绿灯保持当前状态的剩余时长。可以结合灯体的颜色控制车辆的行驶速度。在本实施例中,假设红绿灯体对应的剩余时间为t2,若红绿灯中显示的灯体颜色为红色,t1>t2,说明如果车辆保持当前的速度行驶达到红绿灯时红绿灯的灯体颜色会发生变化,此时控制保持目标车辆保持当前车速继续行驶即可。若红绿灯中显示的灯体颜色为红色,t1<t2,说明如果车辆保持当前的速度行驶达到红绿灯时红绿灯的灯体颜色不会发生变化,还是红色,也就是或,若继续保持当前车速需要达到红绿灯是控制车辆停车,此种情况下可以控制车辆减速,控制车辆减速可以便于控制车辆停车,也可能减速后车辆到达红绿灯时,红绿灯的灯体颜色可以发生变化。若红绿灯中显示的灯体颜色为绿色,t1<t2,说明如果车辆保持当前的速度行驶达到红绿灯时红绿灯的灯体颜色不会发生变化,还是绿色,也就是或,若继续保持当前车速可以正常通过绿灯,此时控制保持目标车辆保持当前车速继续行驶即可。若红绿灯中显示的灯体颜色为绿色,t1>t2,说明如果车辆保持当前的速度行驶达到红绿灯时红绿灯的灯体颜色会发生变化,一般情况下会变成红色,此种情况下可以控制车辆减速,控制车辆减速可以便于控制车辆停车,也可能减速后车辆到达红绿灯时,红绿灯的灯体颜色可以继续变为绿色。在本实施例中,通过结合灯体颜色,灯体颜色对应的剩余时间,以及车辆与红绿灯之间的距离,实现对车辆的驾驶状态的控制,可以提高自动驾驶的安全性。
[0068]
本申请利用关键点检测算法对自动驾驶行驶道路上的红绿灯进行检测,不仅检测红绿灯灯体,还检测红绿灯接地点。基于红绿灯检测灯体关键点检测结果,可以得到红绿灯灯体图片,用于后续的红绿灯颜色状态、形状识别;基于红绿灯接地点检测结果,结合测距算法,能够获得红绿灯和车辆的距离。与现有技术方案不同,本申请中感知模块不依赖高精定位、高精地图模块,因此也无需在高精地图中制作红绿灯元素,节省了大量成本。本发明将红绿灯路口归属交给本来就依赖高精地图的下游(决策规划)模块实现。之所以能够做到
这一点,是因为在感知阶段进行在感知阶段不仅广播红绿灯的颜色、形状信息,也能广播红绿灯的距离信息。下游模块根据从高精地图查询得到的距离下一路口的距离,和距离红绿灯的距离,即可判断感知检测的红绿灯是否属于即将通过的路口。如果是,则路口与红绿灯匹配成功,下游模块对红绿灯颜色、形状信息进行进一步处理,如果不是,则忽略,直到路口与红绿灯匹配成功。本申请将红绿灯感知模块与高精地图、高精定位模块解耦,提升了自动驾驶系统的稳健性。同时,本申请无需要求在高精地图中制作红绿灯元素,节省了大量成本。
[0069]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0070]
根据本发明实施例的另一个方面,还提供了一种用于实施上述图像识别方的图像识别方装置。如图9所示,该装置包括:第一获取模块92,用于获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;第二获取模块94,用于在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;确定模块96,用于根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0071]
可选地,上述装置还用于通过如下方式实现所述获取所述红绿灯的第一关键点在所述目标图像中的第一坐标:获取中心点在所述目标图像中的所述第一坐标,其中,所述第一关键点包括所述中心点,所述中心点为所述目标图像中的所述红绿灯所在的检测框的中心点。
[0072]
可选地,上述装置还用于通过如下方式实现所述根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离:根据所述第一坐标、所述第二坐标、所述目标相机距离地面的高度、以及所述目标相机的焦距,确定所述目标车辆与所述红绿灯之间的距离。
[0073]
可选地,上述装置还用于通过如下方式实现所述根据所述第一坐标、所述第二坐标、所述目标相机距离地面的高度、以及所述目标相机的焦距,确定所述目标车辆与所述红绿灯之间的距离:通过以下公式确定所述目标车辆与所述红绿灯之间的距离z:
[0074][0075]
其中,y
c
表示所述中心点在所述目标图像中的第一纵坐标,y
p
表示所述目标杆的接地点在所述目标图像中的第二纵坐标,h表示所述目标相机距离地面的高度,f表示所述目标相机的焦距,所述第一坐标包括所述第一纵坐标,所述第二坐标包括所述第二纵坐标。
[0076]
可选地,上述装置还用于在所述目标图像中检测到所述红绿灯的情况下,获取所述红绿灯的第二关键点在所述目标图像中的第三坐标,其中,所述第三坐标用于确定所述目标图像中的所述红绿灯所在的检测框的区域;根据所述第三坐标,在所述目标图像中获取所述检测框中的图像;根据所述检测框中的图像,确定所述红绿灯的灯体信息,其中,所
述灯体信息包括以下至少之一:灯体形状、灯体时间和灯体颜色。
[0077]
可选地,上述装置还用于根据所述检测框中的图像,确定所述红绿灯中显示的箭头形状,其中,所述灯体形状包括所述箭头形状;根据所述检测框中的图像,确定所述红绿灯中显示的灯体颜色以及所述灯体颜色对应的剩余时间。
[0078]
可选地,上述装置还用于在预先获取的地图数据中查询所述目标车辆的当前位置与所述目标车辆即将通过的下一个路口之间的距离;根据所述目标车辆与所述红绿灯之间的距离、以及所述目标车辆的当前位置与所述下一个路口之间的距离,判断所述红绿灯是否为所述下一个路口的红绿灯。
[0079]
可选地,上述装置还用于通过如下方式实现所述根据所述目标车辆与所述红绿灯之间的距离、以及所述目标车辆的当前位置与所述下一个路口之间的距离,判断所述红绿灯是否为所述下一个路口的红绿灯:在所述目标车辆与所述红绿灯之间的距离与所述目标车辆的当前位置与所述下一个路口之间的距离之间的差值小于预定阈值的情况下,确定所述红绿灯为所述下一个路口的红绿灯。
[0080]
可选地,上述装置还用于在判断出所述红绿灯为所述下一个路口的红绿灯的情况下,根据所述红绿灯的灯体信息,确定所述目标车辆的控制指令,其中,所述红绿灯的灯体信息是根据所述红绿灯在所述目标图像中所在的检测框中的图像确定得到的信息。
[0081]
可选地,上述装置还用于通过如下方式实现所述根据所述红绿灯的灯体信息,确定所述目标车辆的控制指令:在所述红绿灯包括一组红绿灯的情况下,在预先获取的地图数据中查询所述目标车辆的当前位置所在的车道;在所述一组红绿灯中确定与所述车道的车道类型匹配的目标红绿灯;根据所述目标红绿灯的灯体信息,确定所述目标车辆的控制指令。
[0082]
可选地,上述装置还用于通过如下方式实现所述在所述一组红绿灯中确定与所述车道的车道类型匹配的目标红绿灯:在所述车道的车道类型为左拐车道类型的情况下,在所述一组红绿灯中确定与所述左拐车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的左拐箭头;和/或在所述车道的车道类型为右拐车道类型的情况下,在所述一组红绿灯中确定与所述右拐车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的右拐箭头;和/或在所述车道的车道类型为掉头车道类型的情况下,在所述一组红绿灯中确定与所述掉头车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的掉头箭头;和/或在所述车道的车道类型为直行车道类型的情况下,在所述一组红绿灯中确定与所述直行车道类型匹配的所述目标红绿灯,其中,所述目标红绿灯的灯体信息包括在所述目标红绿灯的检测框中显示的直行箭头。
[0083]
可选地,上述装置还用于通过如下方式实现所述根据所述目标红绿灯的灯体信息,确定所述目标车辆的控制指令:若所述目标红绿灯为左拐箭头且灯体颜色为绿色,在所述目标车辆与所述红绿灯之间的距离小于或等于第一距离阈值的情况下,确定所述目标车辆的控制指令为第一控制指令,其中,所述第一控制指令用于指示所述目标车辆左拐;若所述目标红绿灯为右拐箭头且灯体颜色为绿色,在所述目标车辆与所述红绿灯之间的距离小于或等于所述第一距离阈值的情况下,确定所述目标车辆的控制指令为第二控制指令,其中,所述第二控制指令用于指示所述目标车辆右拐;若所述目标红绿灯为掉头箭头且灯体
颜色为绿色,在所述目标车辆与所述红绿灯之间的距离小于或等于所述第一距离阈值的情况下,确定所述目标车辆的控制指令为第三控制指令,其中,所述第三控制指令用于指示所述目标车辆掉头;若所述目标红绿灯为直行箭头且灯体颜色为绿色,确定所述目标车辆的控制指令为第四控制指令,其中,所述第四控制指令用于指示所述目标车辆直行;若所述目标红绿灯的灯体颜色为红色,在所述目标车辆与所述红绿灯之间的距离小于或等于第二距离阈值的情况下,确定所述目标车辆的控制指令为第五控制指令,其中,所述第五控制指令用于指示所述目标车辆停车。
[0084]
可选地,可选地,上述装置还用于通过如下方式实现所述根据所述目标红绿灯的灯体信息,确定所述目标车辆的控制指令:根据所述目标车辆与所述红绿灯之间的距离与所述目标车辆的当前车速与所述红绿灯之间的距离,确定所述目标车辆到达所述红绿灯的预估用时;在所述红绿灯中显示的灯体颜色为红色的情况下,若所述预估用时大于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第六控制指令,其中,所述第六控制指令用于指示保持所述目标车辆的当前车速继续行驶;若所述预估用时小于或等于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第七控制指令,其中,所述第七控制指令用于指示减小所述目标车辆的当前车速;在所述红绿灯中显示的灯体颜色为绿色的情况下,若所述预估用时小于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第八控制指令,所述第八控制指令用于指示保持所述目标车辆的当前车速继续行驶;若所述预估用时大于或等于所述灯体颜色对应的剩余时间,确定所述目标车辆的控制指令为第九控制指令,其中,所述第九控制指令用于指示减小所述目标车辆的当前车速。
[0085]
根据本发明实施例的又一个方面,还提供了一种用于实施上述图像识别方法的电子设备,该电子设备可以是图1所示的车载设备或服务器。本实施例以该电子设备为车载设备为例来说明。如图10所示,该电子设备包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
[0086]
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
[0087]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0088]
s1,获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;
[0089]
s2,在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;
[0090]
s3,根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0091]
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置电子设备也可以是智能手机(如android手机、ios手机等)、平板电脑、掌上电脑以及移动互联网设备(mobile internet devices,mid)、pad等终端设备。图10其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
[0092]
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的图像识别
方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像识别方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储物品的样本特征与目标虚拟资源账号等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述图像识别装置中的第一获取模块902、第二获取模块904、确定模块906。此外,还可以包括但不限于上述图像识别装置中的其他模块单元,本示例中不再赘述。
[0093]
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(network interface controller,nic),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
[0094]
此外,上述电子设备还包括:显示器1008,用于显示上述目标车辆与红绿灯之间的距离;和连接总线1010,用于连接上述电子设备中的各个模块部件。
[0095]
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(p2p,peer to peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
[0096]
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0097]
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
[0098]
s1,获取目标相机拍摄到的目标图像,其中,所述目标相机位于目标车辆上;
[0099]
s2,在所述目标图像中检测到红绿灯的情况下,获取所述红绿灯的第一关键点在所述目标图像中的第一坐标以及目标杆的接地点在所述目标图像中的第二坐标,其中,所述目标杆为所述红绿灯的灯杆;
[0100]
s3,根据所述第一坐标、所述第二坐标以及所述目标相机的参数,确定所述目标车辆与所述红绿灯之间的距离。
[0101]
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(randomaccess memory,ram)、磁盘或光盘等。
[0102]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0103]
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0104]
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0105]
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0106]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0107]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0108]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1