车辆、车道终止检测系统和方法转让专利

申请号 : CN201580017704.2

文献号 : CN106462727B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : A·克拉克E·宝葛I·塔比斯G·斯坦因A·哈舒亚I·本·沙洛姆Y·塔伊布S·沙勒夫D·休伯曼

申请人 : 移动眼视力科技有限公司

摘要 :

车辆、车道终止检测系统和方法。在一个实施方式中,提供一种用于车辆的车道终止检测系统。与该系统相关联的一个或更多个处理装置经由数据接口接收至少一个图像。装置从包括在图像数据中的道路标志中提取车道终止信息,并且基于所述车辆的位置的至少一个指示符来确定从所述车辆到与当前车道相关联的一个或更多个车道约束的距离。所述处理装置基于所述车道终止信息和车辆位置来确定所述车辆正在行驶的当前车道是否即将终止。进一步,如果所述车辆正在行驶的车道即将终止,则所述系统可以促使所述车辆变更车道。

权利要求 :

1.一种用于车辆的车道终止检测系统,该车道终止检测系统包括:至少一个图像捕获装置,所述至少一个图像捕获装置被配置为获取所述车辆的前方区域的至少一个图像,所述区域包括提供指示车道终止的信息的至少一个道路标志;

数据接口;以及

至少一个处理装置,所述至少一个处理装置被配置为执行以下步骤:经由所述数据接口接收所述至少一个图像;

从包括在所述至少一个图像中的所述至少一个道路标志的表示中提取车道终止信息;

基于所述车辆的位置的至少一个指示符,确定从所述车辆到与所述车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离;

基于所提取的车道终止信息并且基于所确定的从所述车辆到所述一个或更多个车道约束的距离,确定所述车辆正在行驶的所述当前车道是否即将终止;

基于所述车辆正在行驶的所述当前车道是否即将终止的确定,促使所述车辆变更车道到所述车辆没有正在行驶的新车道;以及基于所述车辆的位置的所述至少一个指示符,对从所述车辆到与所述新车道相关联的一个或更多个车道约束的距离进行更新。

2.根据权利要求1所述的车道终止检测系统,其中,所述车辆的位置的所述至少一个指示符包括多个车道当中的所述车辆正在行驶的车道的视觉确定。

3.根据权利要求1所述的车道终止检测系统,其中,所提取的车道终止信息包括多个车道当中的哪个车道即将终止的标识。

4.根据权利要求1所述的车道终止检测系统,其中,所提取的车道终止信息包括距所述车道终止的距离。

5.根据权利要求1所述的车道终止检测系统,其中,所提取的车道终止信息包括在所述车道终止之前的道路的曲率。

6.根据权利要求1所述的车道终止检测系统,其中,所述车辆的位置的所述至少一个指示符包括距所述车道终止的距离的视觉确定。

7.根据权利要求1所述的车道终止检测系统,其中,所述车辆的位置的所述至少一个指示符包括距第二车辆的距离的视觉确定。

8.根据权利要求7所述的车道终止检测系统,其中,所述第二车辆正在所述车辆的前面行驶。

9.根据权利要求1所述的车道终止检测系统,其中,促使所述车辆变更车道的步骤包括向所述车辆的转向系统发送指令。

10.一种车辆,该车辆包括:

主体;

至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的至少一个图像,所述区域包括提供指示车道终止的信息的至少一个道路标志;

数据接口;以及

至少一个处理装置,所述至少一个处理装置被配置为:经由所述数据接口接收所述至少一个图像;

从包括在所述至少一个图像中的所述至少一个道路标志的表示中提取车道终止信息;

基于所述车辆的位置的至少一个指示符,确定从所述车辆到与所述车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离;

基于所提取的车道终止信息并且基于所确定的从所述车辆到所述一个或更多个车道约束的距离,确定所述车辆正在行驶的所述当前车道是否即将终止;

基于所述车辆正在行驶的所述当前车道是否即将终止的确定,促使所述车辆变更车道到所述车辆没有正在行驶的新车道;以及基于所述车辆的位置的所述至少一个指示符,对从所述车辆到与所述新车道相关联的一个或更多个车道约束的距离进行更新。

11.根据权利要求10所述的车辆,其中,所述车辆的位置的所述至少一个指示符包括多个车道当中的所述车辆正在行驶的车道的视觉确定。

12.根据权利要求10所述的车辆,其中,所提取的车道终止信息包括多个车道当中的哪个车道即将终止的标识。

13.根据权利要求10所述的车辆,其中,所提取的车道终止信息包括距所述车道终止的距离。

14.根据权利要求10所述的车辆,其中,所提取的车道终止信息包括在所述车道终止之前的道路的曲率。

15.根据权利要求10所述的车辆,其中,所述车辆的位置的所述至少一个指示符包括距所述车道终止的距离的视觉确定。

16.根据权利要求10所述的车辆,其中,促使所述车辆变更车道包括向所述车辆的转向系统发送指令。

17.一种用于检测针对车辆的车道终止的方法,该方法包括以下步骤:经由至少一个图像捕获装置,获取所述车辆的前方区域的至少一个图像,所述区域包括提供指示所述车道终止的信息的至少一个道路标志;

从包括在所述至少一个图像中的所述至少一个道路标志的表示中提取车道终止信息;

基于所述车辆的位置的至少一个指示符,确定从所述车辆到与所述车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离;

基于所提取的车道终止信息并且基于所确定的从所述车辆到所述一个或更多个车道约束的距离,确定所述车辆正在行驶的当前车道是否即将终止;

基于所述车辆正在行驶的所述当前车道是否即将终止的确定,促使所述车辆变更车道到所述车辆没有正在行驶的新车道;以及基于所述车辆的位置的所述至少一个指示符,对从所述车辆到与所述新车道相关联的一个或更多个车道约束的距离进行更新。

18.根据权利要求17所述的方法,其中,所述车辆的位置的所述至少一个指示符包括多个车道当中的所述车辆正在行驶的车道的视觉确定。

19.根据权利要求17所述的方法,其中,所提取的车道终止信息包括多个车道当中的哪个车道即将终止的标识。

20.根据权利要求17所述的方法,其中,所提取的车道终止信息包括距所述车道终止的距离。

说明书 :

车辆、车道终止检测系统和方法

[0001] 相关申请的交叉引用
[0002] 本申请要求以下的优先权:2014年1月30日提交的美国临时专利申请号61/933,325;2014年5月14日提交的美国临时专利申请号61/993,111;2014年8月21日提交的美国临时专利申请号62/040,246;2014年10月7日提交的美国临时专利申请62/060,603;以及2015年1月13日提交的美国临时专利申请62/102,669。所有前述申请的整体内容都通过引用并入本文。

技术领域

[0003] 所述本公开总体涉及自主车辆导航,更具体地,涉及使用相机提供自主车辆导航特征的系统和方法。

背景技术

[0004] 随着技术的不断进步,能够在道路上导航的完全自主车辆的目标是即将达到。首先,自主车辆能够识别其环境并且在无操作人员输入的情况下导航。自主车辆还可考虑各种因素并且基于这些因素做出适当的决定,以安全而准确地到达预期目的地。例如,当车辆惯常地在道路上行进时会遇到诸如其它车辆和行人的各种对象。自主驱动系统可在车辆环境中辨识这些对象,并且采取适当的而及时的动作来避免碰撞。另外,自主驱动系统可识别其它指示器,诸如交通信号、交通标志和车道标记,所述其它指示器规范车辆移动(例如,当车辆必须停止以及可行驶时,车辆不能超过的速度,车辆必须定位在道路上,等等)。自主驱动系统可能需要确定车辆何时应该变道、路口转弯、改变道路,等等。根据这些示例显而易见的是,许多因素可能需要解决,以便提供能够安全而准确地导航的自主车辆。

发明内容

[0005] 与本公开相一致的实施方式提供用于自主车辆导航的系统和方法。公开的实施方式可使用相机来提供自主车辆导航特征。例如,与公开的实施方式相一致,公开的系统可包括一个、两个或更多个相机,用于监测车辆环境并且基于对由所述相机中的一个或多个捕获的图像的分析来产生导航响应。
[0006] 与公开的实施方式相一致,提供了一种用于车辆的车道终止检测系统。该系统可以包括:至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取车辆的前方区域的至少一个图像,所述区域包括提供指示车道终止的信息的至少一个道路标志;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口来接收所述至少一个图像;从包括在所述至少一个图像中的所述至少一个道路标志的表示中提取车道终止信息;基于所述车辆的位置的至少一个指示符,确定从所述车辆到与所述车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离;基于所提取的车道终止信息并且基于所确定的从所述车辆到所述一个或更多个车道约束的距离,确定所述车辆正在行驶的当前车道是否即将终止;并且基于所述车辆正在行驶的所述当前车道是否即将终止的确定,使得所述车辆变更车道。
[0007] 与公开的实施方式相一致,所述车辆的位置的所述至少一个指示符可以包括多个车道当中的所述车辆正在行驶的车道的视觉确定。所提取的车道终止信息可以包括识别多个车道当中哪个车道即将终止。进一步,所提取的车道终止信息可以包括到车道终止的距离。另外,所提取的车道终止信息可以包括在车道终止之前道路的曲率。所述车辆的位置的所述至少一个指示符可以包括到所述车道终止的距离的视觉确定。另选地,所述车辆的位置的所述至少一个指示符可以包括到第二车辆的距离的视觉确定,并且所述第二车辆可以在所述车辆的前面行驶。使得所述车辆变更车道可以包括向所述车辆的转向系统发送指令。进一步,所述至少一个处理装置还可以被配置为,基于所述车辆的位置的所述至少一个指示符,对从所述车辆到与新行驶车道相关联的一个或更多个车道约束的距离进行更新。
[0008] 与另一公开的实施方式相一致,车辆可以包括:本体;至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取车辆的前方区域的至少一个图像,所述区域包括提供指示车道终止的信息的至少一个道路标志;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口来接收所述至少一个图像;从包括在所述至少一个图像中的所述至少一个道路标志的表示中提取车道终止信息;基于所述车辆的位置的至少一个指示符,确定从所述车辆到与所述车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离;基于所提取的车道信息并且基于所确定的从所述车辆到所述一个或更多个车道约束的距离,确定所述车辆正在行驶的当前车道是否即将终止;并且基于所述车辆正在行驶的所述当前车道是否即将终止的确定,使得所述车辆变更车道。
[0009] 与公开的实施方式相一致,所述车辆的位置的所述至少一个指示符可以包括多个车道当中的所述车辆正在行驶的车道的视觉确定。所提取的车道终止信息可以包括识别多个车道当中哪个车道即将终止。进一步,所提取的车道终止信息可以包括到车道终止的距离。另外,所提取的车道终止信息可以包括在车道终止之前道路的曲率。所述车辆的位置的所述至少一个指示符可以包括到所述车道终止的距离的视觉确定。进一步,使得所述车辆变更车道可以包括向所述车辆的转向系统发送指令。
[0010] 与另一公开的实施方式相一致,提供了一种用于检测针对车辆的车道终止的方法。该方法可以包括以下步骤:经由至少一个图像捕获装置,获取所述车辆的前方区域的至少一个图像,所述区域包括提供指示车道终止的信息的至少一个道路标志;从包括在所述至少一个图像中的所述至少一个道路标志的表示中提取车道终止信息;基于所述车辆的位置的至少一个指示符,确定从所述车辆到与所述车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离;基于所提取的车道终止信息并且基于所确定的从所述车辆到所述一个或更多个车道约束的距离,确定所述车辆正在行驶的当前车道是否即将终止;以及基于所述车辆正在行驶的所述当前车道是否即将终止的确定,使得所述车辆变更车道。
[0011] 与公开的实施方式相一致,所述车辆的位置的所述至少一个指示符可以包括多个车道当中的所述车辆正在行驶的车道的视觉确定。所提取的车道终止信息可以包括识别多个车道当中哪个车道即将终止。进一步,所提取的车道终止信息可以包括到车道终止的距离。所述方法还可以包括:基于所述车辆的位置的所述至少一个指示符,对从所述车辆到与新行驶车道相关联的一个或更多个车道约束的距离进行更新。
[0012] 与公开的实施方式相一致,提供了一种用于车辆的驾驶员辅助对象检测系统。所述系统可以包括:至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取表示围绕所述车辆的区域的多个图像;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口,接收来自所述多个图像当中的第一图像以及来自所述多个图像当中的至少第二图像;对所述第一图像和至少所述第二图像进行分析,以确定与道路平面相对应的参考平面;将目标对象定位在所述第一图像和所述第二图像中;确定所述第一图像和所述第二图像之间的所述目标对象的至少一个维度上的尺寸差;使用所确定的所述至少一个维度上的尺寸差来确定所述目标对象的至少高度;并且如果所确定的所述对象的高度超过预定阈值,则引起所述车辆的至少定向路线的变化。
[0013] 与公开的实施方式相一致,所述至少一个处理装置还可以被配置为确定所述车辆的道路净空高度。如果所确定的所述目标对象的高度小于所述车辆的所述道路净空高度,则所述至少一个处理装置还可以被配置为确定所述车辆能够变更定向路线以驾驶经过所述对象,所述对象被定向在所述车辆的车轮之间,并且促使所述车辆的所述转向系统变更所述车辆的所述定向路线使得所述车辆驾驶经过所述对象,所述对象被定向在所述车辆的车轮之间。进一步,所述图像捕获装置可以具有大约35度至大约55度之间的视场。目标对象高度的确定还可以基于检测到的所述车辆的速度。另外,所述预定阈值可以是距所述道路的表面至少2cm。所述至少一个处理器还可以被配置为确定所述道路平面为与出现在所述多个图像中的道路表面相关联的平均表面水平面,并且所述道路表面可以包括砂砾。进一步,所确定的所述目标对象的高度相对于所述道路平面小于10cm。
[0014] 与另一公开的实施方式相一致,一种车辆可包括:主体;至少一个图像捕获装置,所述至少一个图像捕获装置被配置为获取表示围绕所述车辆的区域的多个图像;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口,接收来自所述多个图像当中的第一图像以及来自所述多个图像当中的至少第二图像;对所述第一图像和至少所述第二图像进行分析,以确定与道路平面相对应的参考平面;将目标对象定位在所述第一图像和所述第二图像中;确定所述第一图像和所述第二图像之间的所述目标对象的至少一个维度上的尺寸差;使用所确定的所述至少一个维度上的尺寸差来确定所述目标对象的至少高度;并且如果所确定的所述对象的高度超过预定阈值,则引起所述车辆的至少定向路线的变化。
[0015] 与公开的实施方式相一致,所述至少一个处理装置还可以被配置为确定所述车辆的道路净空高度。如果所确定的所述目标对象的高度小于所述车辆的所述道路净空高度,则所述至少一个处理装置还可以被配置为确定所述车辆能够变更定向路线以驾驶经过所述对象,所述对象被定向在所述车辆的车轮之间,并且促使所述车辆的所述转向系统变更所述车辆的所述定向路线使得所述车辆驾驶经过所述对象,所述对象被定向在所述车辆的车轮之间。进一步,所述图像捕获装置可以具有大约35度至大约55度之间的视场。目标对象高度的确定还可以基于检测到的所述车辆的速度。另外,所述预定阈值可以是距所述道路的表面至少2cm。所述至少一个处理器还可以被配置为确定所述道路平面为与出现在所述多个图像中的道路表面相关联的平均表面水平面,并且所述道路表面可以包括砂砾。进一步,所确定的所述目标对象的高度相对于所述道路平面小于10cm。
[0016] 与另一公开的实施方式相一致,提供了一种用于检测道路上的对象的方法。所述方法可以包括以下步骤:经由至少一个图像捕获装置,获取表示围绕所述车辆的区域的多个图像;接收来自所述多个图像当中的第一图像以及来自所述多个图像当中的至少第二图像;对所述第一图像和至少所述第二图像进行分析,以确定与道路平面相对应的参考平面;确定所述第一图像和所述第二图像之间的所述目标对象的至少一个维度上的尺寸差;使用所确定的所述至少一个维度上的尺寸差来确定所述目标对象的至少高度;并且如果所确定的所述对象的高度超过预定阈值,则引起所述车辆的至少定向路线的变化。
[0017] 与公开的实施方式相一致,所述预定阈值可以是距所述道路的表面至少2cm。
[0018] 与公开的实施方式相一致,提供了一种用于车辆的交通灯检测系统。所述系统可包括:至少一个图像捕获装置,所述至少一个图像捕获装置被配置为在所述车辆的典型驾驶员定位的视线外,获取被定位在所述车辆之上的区域中的交通灯的多个图像;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口接收所述多个图像;基于来自所述多个图像当中的至少第一图像的分析,确定所述交通灯的状态;
基于来自所述多个图像当中的至少第二图像,确定所述交通灯的状态的变化;并且基于所述状态的变化的确定来引起系统响应。
[0019] 与公开的实施方式相一致,所述至少一个图像捕获装置可以包括传感器以及焦距比所述传感器的短边短的透镜。所述至少一个处理装置还可以被配置为对所述至少第一图像中的光学畸变进行校正。进一步,从所述车辆中的所述典型驾驶员定位开始的垂直视场可以是大约65度,并且所述至少一个图像捕获装置的垂直视场可以是大于65度。所述至少一个图像捕获装置可以被配置为所述车辆内部的定位。另外,所述至少一个处理装置还被配置为,当所述至少一个图像捕获装置通过所述车辆的挡风玻璃获取所述多个图像时,确定所述交通灯的状态。所述至少一个图像捕获装置可以被配置为获取被定位在相对于所述至少一个图像捕获装置的定位的在150度至180度之间的圆锥曲线区域中的交通灯的图像。进一步,所述至少一个图像捕获装置可以被配置为获取被定位在相对于所述至少一个图像捕获装置的定位的在170度至180度之间的圆锥曲线区域中的交通灯的图像。所述系统响应可以包括将所述状态的变化报告给所述车辆的驾驶员。所述系统响应还可以包括加速到驾驶员指定巡航速度。所述至少一个处理装置还可以被配置为基于车辆位置的至少一个指示符来确定所述多个图像中的所获取的所述交通灯的关联。车辆位置的所述至少一个指示符可以包括基于所述多个图像的分析而识别的车道标记。另外,车辆位置的所述至少一个指示符可以包括通过GPS获取的车辆定位,并且所述至少一个处理装置可以被配置为将所述GPS获取的车辆定位与地图数据进行比较,以确定所述交通灯的所述关联。
[0020] 与另一公开的实施方式相一致,一种车辆可包括:本体;至少一个图像捕获装置,所述至少一个图像捕获装置被配置为在车辆的典型驾驶员定位的视线外,获取被定位在所述车辆之上的区域中的交通灯的多个图像;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口接收所述多个图像;基于来自所述多个图像当中的至少第一图像的分析,确定所述交通灯的状态;基于来自所述多个图像当中的至少第二图像,确定所述交通灯的状态的变化;并且基于所述状态的变化的确定来引起系统响应。
[0021] 与公开的实施方式相一致,所述至少一个图像捕获装置可以被配置为所述车辆内部的定位。所述至少一个处理装置还可以被配置为,当所述至少一个图像捕获装置通过所述车辆的挡风玻璃获取所述多个图像时,确定所述交通灯的状态。另外,所述系统响应可以包括将所述状态的变化报告给所述车辆的所述驾驶员,或者另选地,可以包括加速到驾驶员指定巡航速度。
[0022] 与另一公开的实施方式相一致,提供了一种用于导航车辆的方法。所述方法可以包括以下步骤:经由至少一个图像捕获装置,在车辆的典型驾驶员定位的视线外,获取被定位在所述车辆之上的区域中的交通灯的多个图像;基于来自所述多个图像当中的至少第一图像的分析,确定所述交通灯的状态;基于来自所述多个图像当中的至少第二图像,确定所述交通灯的状态的变化;以及基于所述状态的变化的确定来引起系统响应。
[0023] 与公开的实施方式相一致,提供了一种用于车辆的交通灯检测系统。所述系统可以包括:至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的至少一个图像,所述区域包括各包括至少一个交通灯的多个交通灯架。所述系统还可以包括数据接口和至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口来接收所述至少一个所获取的图像;如从所述至少一个所获取的图像确定的,使用车辆位置的至少一个指示符来确定所述多个交通灯架中的每一个与所述车辆的关联;基于所述至少一个所获取的图像,确定被包括在确定为与所述车辆关联的至少一个交通灯架中的交通灯的状态;并且基于所确定的状态来引起系统响应。
[0024] 与公开的实施方式相一致,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。进一步,确定所述交通灯的所述状态可以包括以下步骤中的任何一种:确定在关联交通灯架内的所述交通灯的定位;确定所述交通灯是否被照亮;确定所述交通灯的颜色;以及确定所述交通灯是否包括箭头。所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供警告;应用车辆制动;以及使巡航控制中止。另外,所述多个交通灯架中的每一个与所述车辆的关联可以包括指示所述多个交通灯架中的每一个相对于所述车辆的定向。被确定为与所述车辆关联的所述至少一个交通灯架可以面向所述车辆的前部。
[0025] 与另一公开的实施方式相一致,车辆可以包括:本体;至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的至少一个图像,所述区域包括各包括至少一个交通灯的多个交通灯架;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口来接收所述至少一个所获取的图像;如从所述至少一个所获取的图像确定的,使用车辆位置的至少一个指示符来确定所述多个交通灯架中的每一个与所述车辆的关联;基于所述至少一个所获取的图像,确定被包括在确定为与所述车辆关联的至少一个交通灯架中的交通灯的状态;并且基于所确定的状态来引起系统响应。
[0026] 与公开的实施方式相一致,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。进一步,确定所述交通灯的所述状态可以包括以下步骤中的任何一种:确定在关联交通灯架内的所述交通灯的定位;确定所述交通灯是否被照亮;确定所述交通灯的颜色;以及确定所述交通灯是否包括箭头。所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供警告;应用车辆制动;以及使巡航控制中止。另外,所述多个交通灯架中的每一个与所述车辆的关联可以包括指示所述多个交通灯架中的每一个相对于所述车辆的定向。被确定为与所述车辆关联的所述至少一个交通灯架可以面向所述车辆的前部。
[0027] 与另一公开的实施方式相一致,提供了一种用于交通灯检测的方法。所述方法可以包括以下步骤:经由至少一个图像捕获装置,获取车辆的前方区域的至少一个图像,所述区域包括各包括至少一个交通灯的多个交通灯架;如从所述至少一个所获取的图像确定的,使用车辆位置的至少一个指示符来确定所述多个交通灯架中的每一个与所述车辆的关联;基于所述至少一个所获取的图像,确定被包括在确定为与所述车辆关联的至少一个交通灯架中的交通灯的状态;并且基于所确定的状态来引起系统响应。
[0028] 与公开的实施方式相一致,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。进一步,确定所述交通灯的所述状态可以包括以下步骤中的任何一种:确定在关联交通灯架内的所述交通灯的定位;确定所述交通灯是否被照亮;确定所述交通灯的颜色;以及确定所述交通灯是否包括箭头。所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供警告;应用车辆制动;以及使巡航控制中止。另外,所述多个交通灯架中的每一个与所述车辆的关联可以包括指示所述多个交通灯架中的每一个相对于所述车辆的定向。被确定为与所述车辆关联的所述至少一个交通灯架可以面向所述车辆的前部。
[0029] 与公开的实施方式相一致,提供了一种用于车辆的交通灯检测系统。该系统可以包括:至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的至少一个图像,所述区域包括具有至少一个交通灯的交通灯架;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口,接收所述至少一个所获取的图像;基于车辆位置的至少一个指示符,确定所述车辆是否在转弯车道上;对所述至少一个图像执行图像处理,以确定箭头是否存在于表示所述交通灯的所述图像的像素内部的所述至少一个图像中;基于所述至少一个图像,确定所述交通灯的状态;并且基于所述交通灯是否包括箭头的所述交通灯的状态以及所述车辆是否在转弯车道上的确定,引起系统响应。
[0030] 与公开的实施方式相一致,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。进一步,车辆位置的所述至少一个指示符可以包括与基于所述至少一个图像的分析而识别的所述交通灯架相关联的箭头。车辆位置的所述至少一个指示符可以包括通过GPS获取的车辆定位。另外,所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。而且,确定所述交通灯的状态可以包括以下步骤中的任何一种:确定所述交通灯是否被照亮;确定所述交通灯架内的所述交通灯的位置;以及确定与所述交通灯相关联的颜色。车辆位置的所述至少一个指示符可以包括距十字路口的距离。所确定的所述交通灯的状态可以是其是闪烁的黄灯,并且如果是的话,所述至少一个处理装置还可以被配置为确定一个或更多个车辆是否正在从相反的方向接近所述十字路口。如果没有车辆正在从相反的方向接近所述十字路口,则所述至少一个处理装置还可以被配置为基于该确定来引起系统响应,其中,所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。另外,所述至少一个处理装置还可以被配置为确定所述车辆所处的所述转弯车道是否被授权在通过所确定的所述交通灯的状态指示的方向上前进。确定所述车辆所处的所述转弯车道是否被授权前进的步骤可以包括:基于所述车辆的预定目的地,确定是向左转弯还是向右转弯,或者直行通过所述十字路口。
[0031] 与另一公开的实施方式相一致,车辆可以包括:本体;至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的至少一个图像,所述区域包括具有至少一个交通灯的交通灯架;数据接口;以及至少一个处理装置。所述至少一个处理装置可以被配置为:经由所述数据接口,接收所述至少一个所获取的图像;基于车辆位置的至少一个指示符,确定所述车辆是否在转弯车道上;对所述至少一个图像执行图像处理,以确定箭头是否存在于表示所述交通灯的所述图像的像素内部的所述至少一个图像中;基于所述至少一个图像,确定所述交通灯的状态;并且基于所述交通灯是否包括箭头的所述交通灯的状态以及所述车辆是否在转弯车道上的确定,引起系统响应。
[0032] 与公开的实施方式相一致,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。车辆位置的所述至少一个指示符可以包括通过GPS获取的车辆定位。另外,所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。而且,确定所述交通灯的状态可以包括以下步骤中的任何一种:确定所述交通灯是否被照亮;确定所述交通灯架内的所述交通灯的位置;以及确定与所述交通灯相关联的颜色。车辆位置的所述至少一个指示符可以包括距十字路口的距离。所确定的所述交通灯的状态可以是其是闪烁的黄灯,并且如果是的话,所述至少一个处理装置还可以被配置为确定一个或更多个车辆是否正在从相反的方向接近所述十字路口。如果没有车辆正在从相反的方向接近所述十字路口,则所述至少一个处理装置还可以被配置为基于该确定来引起系统响应,其中,所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。另外,所述至少一个处理装置还可以被配置为确定所述车辆所处的所述转弯车道是否被授权在通过所确定的所述交通灯的状态指示的方向上前进。
[0033] 与另一公开的实施方式相一致,提供了一种用于交通灯检测的方法。所述方法可以包括以下步骤:经由至少一个图像捕获装置,获取车辆的前方区域的至少一个图像,所述区域包括具有至少一个交通灯的交通灯架;基于车辆位置的至少一个指示符,确定所述车辆是否在转弯车道上;对所述至少一个图像执行图像处理,以确定箭头是否存在于表示所述交通灯的所述图像的像素内部的所述至少一个图像中;基于所述至少一个图像,确定所述交通灯的状态;以及基于所述交通灯是否包括箭头的所述交通灯的状态以及所述车辆是否在转弯车道上的确定,引起系统响应。
[0034] 与公开的实施方式相一致,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。进一步,车辆位置的所述至少一个指示符可以包括与基于所述至少一个图像的分析而识别的所述交通灯架相关联的箭头。车辆位置的所述至少一个指示符可以包括通过GPS获取的车辆定位。另外,所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。而且,确定所述交通灯的状态可以包括以下步骤中的任何一种:确定所述交通灯是否被照亮;确定所述交通灯架内的所述交通灯的位置;以及确定与所述交通灯相关联的颜色。
[0035] 与公开的实施方式相一致,提供了一种用于车辆的交通灯检测系统。该系统可以包括:至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的多个图像,所述区域包括具有至少一个交通灯的交通灯架;数据接口;以及至少一个处理装置,该至少一个处理装置被配置为经由所述数据接口来接收所述多个图像。所述至少一个处理装置还可以被配置为:基于确定的亮度中心,将与所述交通灯相对应的所述多个图像的区域对齐;扩展位于经对齐的区域内部的每个像素;确定包括针对经对齐的区域内部的每组相应经扩展的像素的平均像素值的一组平均像素值;并且基于所述一组平均像素值来确定所述交通灯是否包括箭头。
[0036] 与公开的实施方式相一致,经对齐的区域内部的每个像素的扩展可以包括将每个像素扩展成3x3矩阵的像素。另选地,经对齐的区域内部的每个像素的扩展可以包括将每个像素扩展成4x4矩阵的像素。将与所述交通灯相对应的所述多个图像的区域对齐的步骤可以包括:使所述多个图像的所述区域进行旋转。另外,所述至少一个处理装置还可以被配置为,当所述交通灯包括箭头时,基于所述一组平均像素值来确定该箭头的颜色。进一步,所述至少一个处理装置还可以被配置为基于所述箭头的所述颜色的确定来引起系统响应。所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。
[0037] 与另一公开的实施方式相一致,提供了一种车辆。该车辆可以包括:本体;至少一个图像捕获装置,该至少一个图像捕获装置被配置为获取所述车辆的前方区域的多个图像,所述区域包括具有至少一个交通灯的交通灯架;数据接口;以及至少一个处理装置,该至少一个处理装置被配置为经由所述数据接口来接收所述多个图像。所述至少一个处理装置还可以被配置为:基于确定的亮度中心,将与所述交通灯相对应的所述多个图像的区域对齐;扩展位于经对齐的区域内部的每个像素;确定包括针对经对齐的区域内部的每组相应经扩展的像素的平均像素值的一组平均像素值;并且基于所述一组平均像素值来确定所述交通灯是否包括箭头。
[0038] 与公开的实施方式相一致,经对齐的区域内部的每个像素的扩展可以包括将每个像素扩展成3x3矩阵的像素。另选地,经对齐的区域内部的每个像素的扩展可以包括将每个像素扩展成4x4矩阵的像素。将与所述交通灯相对应的所述多个图像的区域对齐的步骤可以包括:使所述多个图像的所述区域进行旋转。另外,所述至少一个处理装置还可以被配置为,当所述交通灯包括箭头时,基于所述一组平均像素值来确定该箭头的颜色。
[0039] 与另一公开的实施方式相一致,提供了一种交通灯检测方法。所述方法可以包括以下步骤:经由至少一个图像捕获装置,获取车辆的前方区域的多个图像,所述区域包括具有至少一个交通灯的交通灯架;基于确定的亮度中心,将与所述交通灯相对应的所述多个图像的区域进行对齐;以及扩展经对齐的区域内部的每个像素。所述方法还可以包括以下步骤:确定包括针对经对齐的区域内部的每组相应经扩展的像素的平均像素值在内的一组平均像素值;以及基于所述一组平均像素值,确定所述交通灯是否包括箭头。
[0040] 与公开的实施方式相一致,经对齐的区域内部的每个像素的扩展可以包括将每个像素扩展成3x3矩阵的像素。另选地,经对齐的区域内部的每个像素的扩展可以包括将每个像素扩展成4x4矩阵的像素。将与所述交通灯相对应的所述多个图像的区域对齐的步骤可以包括:使所述多个图像的所述区域进行旋转。另外,所述至少一个处理装置还可以被配置为,当所述交通灯包括箭头时,基于所述一组平均像素值来确定该箭头的颜色。进一步,所述至少一个处理装置还可以被配置为基于所述箭头的所述颜色的确定来引起系统响应。所述系统响应可以包括以下步骤中的任何一种:向所述车辆的所述驾驶员提供通知;应用车辆制动;使巡航控制中止;以及发起自动转弯机动。
[0041] 与其它公开的实施方式相一致,非临时性计算机可读存储介质可以存储程序指令,该程序指令由至少一个处理装置执行并且执行本文中描述的任何方法。
[0042] 前面的总体描述和以下详细描述仅是示例性和说明性的并不限制权利要求书。

附图说明

[0043] 并入本公开并构成本公开一部分的附图图示了各种公开的实施方式。在附图中:
[0044] 图1是与公开的实施方式相一致的示例性系统的概略表示。
[0045] 图2A是包括与公开的实施方式相一致的系统的示例性车辆的概略侧视图表示。
[0046] 图2B是与公开的实施方式相一致的图2A所示车辆和系统的概略顶视图表示。
[0047] 图2C是包括与公开的实施方式相一致的系统的车辆的另一实施方式的概略顶视图表示。
[0048] 图2D是包括与公开的实施方式相一致的系统的车辆的又一实施方式的概略顶视图表示。
[0049] 图2E是包括与公开的实施方式相一致的系统的车辆的又一实施方式的概略顶视图表示。
[0050] 图2F是与公开的实施方式相一致的示例性车辆控制系统的概略表示。
[0051] 图3A是与公开的实施方式相一致的车辆的内部的概略表示,包括用于车辆成像系统的后视镜和用户接口。
[0052] 图3B是与公开的实施方式相一致的构造成定位在后视镜后面并且抵着车辆挡风玻璃的相机安装件的示例的图示。
[0053] 图3C是与公开的实施方式相一致的图3B所示的视角不同的相机安装件的图示。
[0054] 图3D是与公开的实施方式相一致的构造成定位在后视镜后面并且抵着车辆挡风玻璃的相机安装件的示例的图示。
[0055] 图4是与公开的实施方式相一致的存储器的示例性框图,该存储器被构造成存储用于执行一个或多个操作的指令。
[0056] 图5A是示出与公开的实施方式相一致的用于基于单眼图像分析来产生一个或多个导航响应的示例性处理的流程图。
[0057] 图5B是示出与公开的实施方式相一致的用于检测一组图像中的一个或多个车辆和/或行人的示例性处理的流程图。
[0058] 图5C是示出与公开的实施方式相一致的用于检测一组图像中的路标和/或车道几何信息的示例性处理的流程图。
[0059] 图5D是示出与公开的实施方式相一致的用于检测一组图像中的交通灯的示例性处理的流程图。
[0060] 图5E是示出与公开的实施方式相一致的用于基于车辆路径来产生一个或多个导航响应的示例性处理的流程图。
[0061] 图5F是示出与公开的实施方式相一致的用于确定前车是否变道的示例性处理的流程图。
[0062] 图6是示出与公开的实施方式相一致的用于基于立体图像分析来产生一个或多个导航响应的示例性处理的流程图。
[0063] 图7是示出与公开的实施方式相一致的用于基于三组图像分析来产生一个或多个导航响应的示例性处理的流程图。
[0064] 图8是包括与车辆的当前行驶车道即将终止的公开的实施方式相一致的系统的示例性车辆的概略顶视图表示。
[0065] 图9是与公开的实施方式相一致的示例性车道尽头识别系统的存储器的概略表示。
[0066] 图10A是与公开的实施方式相一致的包括遇到由道路标志进行标记的行驶车道的尽头的车道尽头识别系统的示例性车辆的概略表示。
[0067] 图10B是与公开的实施方式相一致的包括在前车后面行驶可测量距离的车道尽头识别系统在内的示例性车辆的概略表示。
[0068] 图11是示出与公开的实施方式相一致的用于确定车辆正在行驶的当前车道是否即将终止的示例性处理的流程图。
[0069] 图12是包括与在车辆正在行驶的行驶车道内部检测到对象的公开的实施方式相一致的系统在内的示例性车辆的概略顶视图表示。
[0070] 图13是与公开的实施方式相一致的示例性驾驶员辅助对象检测系统的存储器的概略表示。
[0071] 图14A是与公开的实施方式相一致的指示在通过示例性驾驶员辅助对象检测系统所获取的多个图像当中在行驶车道内部发现的对象的两个所获取图像的概略表示。
[0072] 图14B是包括与在车辆正在行驶的行驶车道内部检测到对象的公开的实施方式相一致的系统在内的示例性车辆的概略顶视图表示。
[0073] 图15是示出与公开的实施方式相一致的用于确定车辆正在行驶的当前车道是否即将终止的示例性处理的流程图。
[0074] 图16是与公开的实施方式相一致的包括具有延伸视角的图像捕获装置在内的示例性车辆的概略侧视图表示。
[0075] 图17是与公开的实施方式相一致的包括具有延伸视角的图像捕获装置在内的车辆的概略顶视图表示。
[0076] 图18是与公开的实施方式相一致的存储识别定位在典型驾驶员定位的视线外面的对象的指令的存储器的概略表示。
[0077] 图19是示出与公开的实施方式相一致的用于识别定位在典型驾驶员定位的视线外面的对象的示例性处理的流程图。
[0078] 图20是与公开的实施方式相一致的接近具有多个交通灯的十字路口的两个示例性车辆的概略表示。
[0079] 图21是与公开的实施方式相一致的接近具有多个交通灯的十字路口的示例性车辆的概略表示。
[0080] 图22是与公开的实施方式相一致的存储用于检测交通灯的指令的存储器的概略表示。
[0081] 图23是示出与公开的实施方式相一致的用于检测交通灯的示例性处理的流程图。
[0082] 图24是包括与车辆正在接近具有交通灯的十字路口的公开的实施方式相一致的系统的示例性车辆的概略顶视图表示。
[0083] 图25是与公开的实施方式相一致的示例性交通灯检测系统的存储器的概略表示。
[0084] 图26A是与公开的实施方式相一致的包括遇到具有交通灯的十字路口并确定其状态的交通灯检测系统的示例性车辆的概略表示。
[0085] 图26B是与公开的实施方式相一致的包括遇到具有闪烁的黄灯的十字路口并确定通过动作的交通灯检测系统的示例性车辆的概略表示。
[0086] 图27是示出与公开的实施方式相一致的用于确定十字路口处的交通灯的状态的示例性处理的流程图。
[0087] 图28是与公开的实施方式相一致的存储器的示例性框图,该存储器被构造成存储用于执行一个或多个操作的指令。
[0088] 图29A是与公开的实施方式相一致的示例性交通灯的例示。
[0089] 图29B是与公开的实施方式相一致的示例性交通灯的另一例示。
[0090] 图29C是与公开的实施方式相一致的图29A的交通灯的一部分的示例性图像的例示。
[0091] 图29D是与公开的实施方式相一致的图29B的交通灯的一部分的示例性图像的例示。
[0092] 图30A是示出与公开的实施方式相一致的用于确定交通灯是否包括箭头的示例性处理的流程图。
[0093] 图30B是示出与公开的实施方式相一致的用于基于交通灯中箭头信号的检测来引起系统响应的示例性处理的流程图。

具体实施方式

[0094] 以下详细描述参照附图。在可能的情况下,相同的附图标记在图中和以下描述中用来指相同或类似的部分。虽然本文中描述了若干说明性实施方式,但是可以进行修改、改写及其它实施。例如,对图中图示的部件可做出替换、添加或修改,并且本文中描述的说明性方法可通过将步骤替换、重新排序、移除或添加至公开的方法进行修改。因此,以下详细描述并不限于公开的实施方式和示例。相反,适当范围由所附权利要求限定。
[0095] 公开的实施方式提供使用相机来提供自主导航特征的系统和方法。在各种实施方式中,所述系统可包括监测车辆的环境的一个、两个或更多个相机。在一个实施方式中,系统可以识别驾驶车道将何时终止,并且当检测到终止时,做出诸如车道变更的响应性导航变更。系统可以仅基于视觉信息进行操作,而不是依赖地图数据来做出该确定。进一步,尽管系统可以通过车道终止的直接观察来识别车道的尽头,系统还可以通过例如观察并识别提供有关车道终止的信息的道路标志警报来较早地识别接近车道尽头。在另一实施方式中,系统可以确定在道路上存在障碍物,其中,这些障碍物具有小于例如10cm的高度。在另一实施方式中,系统可以看到并识别位于车辆之上的交通灯。在另一实施方式中,系统可以从多个交通灯当中识别交通灯及其状态,并且基于该交通灯的状态来引起导航变更(例如,当识别到红灯时中止巡航并引起制动)。例如,系统可以识别哪些成像的交通灯与车辆关联,并且仅对确定为关联的这些交通灯做出响应。在另一实施方式中,系统可以基于与所确定的灯的特性相结合的道路环境信息来识别转弯车道交通灯及其状态。在另一实施方式中,系统可以采用超分辨率技术来识别并分析交通灯。例如,系统可以在圆形交通灯和箭头形交通灯之间进行区分。
[0096] 图1是与示例性公开的实施方式相一致的系统100的框图表示。取决于特定实施的要求,系统100可包括各种部件。在一些实施方式中,系统100可包括处理单元110、图像获取单元120、位置传感器130、一个或多个存储器单元140、150、地图数据库160和用户接口170。处理单元110可包括一个或多个处理装置。在一些实施方式中,处理单元110可包括应用处理器180、图像处理器190或任何其它合适的处理装置。类似地,取决于特定应用的要求,图像获取单元120可包括任何数目的图像获取装置和部件。在一些实施方式中,图像获取单元
120可包括一个或多个图像捕获装置(例如,相机),诸如图像捕获装置122、图像捕获装置
124和图像捕获装置126。系统100可还包括数据接口128,该数据接口128将处理装置110和图像获取装置120通信连接。例如,数据接口128可包括用于将由图像获取装置120获取的图像数据发送到处理单元110的任何一个或多个有线和/或无线链路。
[0097] 应用处理器180和图像处理器190两者均可包括各种类型的处理装置。例如,应用处理器180和图像处理器190中的任一者或两者可包括微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器或适于运行应用程序以及图像处理和分析的任何其它类型的装置。在一些实施方式中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动装置微控制器、中央处理单元,等等。可使用各种处理装置,包括例如可购自诸如 等等制造商的处理器,并且可包括各种结构(例如,x86处理器、 等等)。
[0098] 在一些实施方式中,应用处理器180和/或图像处理器190可包括任何可购自的EyeQ系列处理器芯片。这些处理器设计各包括具有本地存储器和指令集的多处理单元。这样的处理器可包括用于接收来自多个图像传感器的图像数据的视频输入,并且还可包括视频输出功能。在一个示例中, 使用在332Mhz下操作的90纳米微米技术。 结构组成如下:两个浮点、超线程32位RISC CPU( 核)、五个视觉
计算引擎(VCE)、三个矢量微码处理器 Denali 64位移动DDR控制器、128位内部超音速互连、双16位视频输入控制器和18位视频输出控制器、16通道DMA以及若干外设。
MIPS34K CPU管理五个VCE、三个VMPTM和DMA、第二MIPS34K CPU和多通道DMA以及其它外设。
五个VCE、三个 和MIPS34K CPU可以执行多功能捆绑应用程序所需要的密集的视觉计算。在另一示例中,为第三代处理器并且比 强大六倍的 可在公开的实施方
式中使用。
[0099] 本文中公开的处理装置中的任何一个可以被配置为执行一定功能。对诸如所描述的EyeQ处理器或其它控制器或微处理器中的任何一种的处理装置进行配置以执行一定功能的步骤可以包括:计算机可执行指令的编程,以及使得这些指令对处理装置可用以用于处理装置的操作期间的执行。在一些实施方式中,对处理装置进行配置的步骤可以包括:利用架构指令直接对处理装置进行编程。在其它实施方式中,对处理装置进行配置的步骤可以包括:将可执行指令存储在操作期间对于处理装置而言可访问的存储器上。例如,处理装置可以在操作期间访问存储器,以获得并执行所存储的指令。
[0100] 虽然图1描绘了包括在处理单元110中的两个分离处理装置,但是可使用或多或少的处理装置。例如,在一些实施方式中,单个处理装置可用于完成应用处理器180和图像处理器190的任务。在其它实施方式中,这些任务可由多于两个处理装置执行。
[0101] 处理单元110可包括各种类型的装置。例如,处理单元110可包括各种装置,诸如控制器、图像预处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器或任何其它类型的用于图像处理和分析的装置。图像预处理器可包括用于捕获、数字化并处理来自图像传感器的图像的视频处理器。CPU可包括任何数目的微控制器或微处理器。支持电路可以是本领域普遍公知的任何数目的电路,包括高速缓存、电源、时钟和输入输出电路。存储器可存储软件,该软件当由处理器执行时会控制系统的操作。存储器可包括数据库和图像处理软件。存储器可包括任何数目的随机存取存储器、只读存储器、闪速存储器、盘驱动器、光学存储介质、磁带存储介质、可去除存储介质及其它类型的存储介质。在一个实例中,存储器可从处理单元110分离。在另一实例中,存储器可集成到处理单元110中。
[0102] 每个存储器140、150可包括软件指令,该软件指令当由处理器(例如,应用处理器180和/或图像处理器190)执行时可控制系统100的各方面的操作。这些存储器单元可包括各种数据库和图像处理软件。存储器单元可包括随机存取存储器、只读存储器、闪速存储器、盘驱动器、光学存储介质、磁带存储介质、可去除存储介质和/或任何其它类型的存储介质。在一些实施方式中,存储器单元140、150可从应用处理器180和/或图像处理器190分离。
在其它实施方式中,这些存储器单元可集成到应用处理器180和/或图像处理器190中。
[0103] 位置传感器130可包括适于确定与系统100的至少一个部件关联的地点的任何类型的装置。在一些实施方式中,位置传感器130可包括GPS接收器。这样的接收器可以通过处理全球定位系统卫星传播的信号来确定用户位置和速度。来自位置传感器130的位置信息可供应用处理器180和/或图像处理器190使用。
[0104] 用户接口170可包括适于向来自系统100的一个或多个用户的输入提供信息或者用于接收所述输入的任何装置。在一些实施方式中,用户接口170可包括用户输入装置,包括例如触摸屏、麦克风、键盘、指针装置、跟踪轮、相机、旋钮、按钮,等等。在这样的输入装置的情况下,用户能够通过以下手段向系统100提供信息输入或命令:键入指令或信息、提供语音命令、使用按钮、指针或眼跟踪功能在屏幕上选择菜单选项或者用于将信息与系统100通信的任何其它合适的技术。
[0105] 用户接口170可配备有一个或多个处理装置,该一个或多个处理装置被构造成向用户提供信息或从用户接收信息并且处理该信息以供例如应用处理器180使用。在一些实施方式中,这样的处理装置可执行指令以辨识并跟踪眼移动、接收并解译语音命令、辨识并解译在触摸屏上做出的触摸和/或手势、响应于键盘输入或菜单选择,等等。在一些实施方式中,用户接口170可包括显示器、扬声器、触觉装置和/或用于向用户提供输出信息的任何其它装置。
[0106] 地图数据库160可包括用于存储对系统100有用的地图数据的任何类型的数据库。在一些实施方式中,地图数据库160可包括各种条目的在参考坐标系中与位置相关的数据,所述条目包括道路、水特征、地理特征、企业、关注点、餐厅、加油站,等等。地图数据库160不仅可存储这样的条目的地点,而且可存储与这些条目相关的描述词(包括例如,与任何存储特征关联的名称)。在一些实施方式中,地图数据库160可与系统100的其它部件物理定位。
替代地或另外,地图数据库160或其一部分可相对于系统100的其它部件(例如,处理单元
110)远程定位。在这样的实施方式中,来自地图数据库160的信息可通过网络的有线或无线数据连接(例如,通过蜂窝网络和/或因特网,等等)下载。
[0107] 图像捕获装置122、124和126可各包括适于从环境中捕获至少一个图像的任何类型的装置。而且,任何数目的图像捕获装置可用于获取图像以输入到图像处理器。一些实施方式可仅包括单个图像捕获装置,而其它实施方式可包括两个、三个或者甚至四个以上图像捕获装置。图像捕获装置122、124和126将在下面参照图2B至图2E进一步描述。
[0108] 系统100或其各种部件可整合到各种不同的平台中。在一些实施方式中,系统100可包括在如图2A所示的车辆200上。例如,如上面相对于图1描述的,车辆200可配备有处理单元110和系统100的任何其它部件。而在一些实施方式中,车辆200可仅配备有单个图像捕获装置(例如,相机),在诸如结合图2B至图2E讨论的其它实施方式中,可使用多个图像捕获装置。例如,如图2A所示的车辆200的图像捕获装置122和124中的任一者可以是ADAS(先进驾驶员辅助系统)成像组的一部分。
[0109] 包括在车辆200上作为图像获取单元120的一部分的图像捕获装置可定位在任何合适的地点处。在一些实施方式中,如图2A至图2E和图3A至图3C所示,图像捕获装置122可位于后视镜附近。该位置可提供视线(类似于车辆200的驾驶员的视线),可帮助确定对驾驶员而言什么是可见的,什么是不可见的。图像捕获装置122可定位在后视镜附近的任何地点处,但将图像捕获装置122放置在镜子的在驾驶员的那一侧上可进一步帮助获得表示驾驶员视场和/或视线的图像。
[0110] 针对图像获取单元120的图像捕获装置,还可使用其它地点。例如,图像捕获装置124可位于车辆200的保险杠之上或之中。这样的地点可尤其适合具有宽视场的图像捕获装置。位于保险杠上的图像捕获装置的视线可以不同于驾驶员的视线,因此,保险杠图像捕获装置和驾驶员可能并不总是看到相同的对象。图像捕获装置(例如,图像捕获装置122、124和126)也可位于其它地点中。例如,图像捕获装置可位于车辆200的一个或两个侧视镜之上或之中、车辆200的车顶上、车辆200的发动机罩上、车辆200的行李箱上、车辆200的侧面,安装在车辆200的任何窗口上、定位在车辆200的任何窗口的后面或前面,以及安装在车辆200的正面和/或背面的光图之中或附近,等等。
[0111] 除了图捕获装置,车辆200可包括系统100的各种其它部件。例如,处理单元110可包括在车辆200上,与车辆的发动机控制单元(ECU)或者集成或者分离。车辆200还可配备有诸如GPS接收器的位置传感器130,并且还可包括地图数据库160以及存储器单元140和150。
[0112] 图2A是与公开的实施方式相一致的示例性车辆成像系统的概略侧视图表示。图2B是图2A所示的实施方式的概略顶视图图示。如图2B中图示的,公开的实施方式可包括车辆200,车辆200在其主体中包括系统100,系统100具有定位在后视镜附近和/或车辆200的驾驶员附近的第一图像捕获装置122、定位在车辆200的保险杠区域(例如,保险杠区域210中的一个)之上或之中的第二图像捕获装置124,以及处理单元110。
[0113] 如图2C中所例示的,图像捕获装置122和124都可定位在后视镜附近和/或靠近车辆200的驾驶员。另外,虽然图2B和图2C中示出了两个图像捕获装置122和124,但是应当理解,其它实施方式可以包括超过两个图像捕获装置。例如,在图2D和图2E示出的实施方式中,第一图像捕获装置122,第二图像捕获装置124和第三图像捕获装置126被包括在车辆200的系统100中。
[0114] 如图2D中图示的,图像捕获装置122可定位在后视镜附近和/或车辆200的驾驶员附近,并且图像捕获装置124和126可定位在车辆200的保险杠区域(例如,保险杠区域210中的一个)之上或之中。并且如图2E所示,图像捕获装置122、124和126可定位在后视镜附近和/或车辆200的驾驶员座椅附近。公开的实施方式并不限于任何特定数目和构造的图像捕获装置,并且图像捕获装置可定位在车辆200内和/或上的任何适当的地点中。
[0115] 应理解的是,公开的实施方式并不限于车辆并且可以应用在其它背景中。还应理解的是,公开的实施方式并不限于特定类型的车辆200并且可应用于所有类型的车辆,包括汽车、卡车、拖车和其它类型的车辆。
[0116] 第一图像捕获装置122可包括任何合适类型的图像捕获装置。图像捕获装置122可包括光轴。在一个实例中,图像捕获装置122可包括具有全局快门的Aptina M9V024WVGA传感器。在其它实施方式中,图像捕获装置122可提供1280x960像素的分辨率并且可包括卷帘快门。图像捕获装置122可包括各种光学元件。在一些实施方式中,例如,可包括一个或多个透镜,为图像捕获装置提供期望的焦距和视场。在一些实施方式中,图像捕获装置122可与6mm透镜或12mm透镜关联。在一些实施方式中,如图2D中图示的,图像捕获装置122可构造成获取具有期望视场(FOV)202的图像。例如,图像捕获装置122可构造成具有常规的FOV,诸如在40度到56度的范围内,包括46度FOV、50度FOV、52度FOV以上。替代地,图像捕获装置122可构造成具有23度到40度范围内的窄FOV,诸如28度FOV或36度FOV。另外,图像捕获装置122可构造成具有100度到180度范围内的宽FOV。在一些实施方式中,图像捕获装置122可包括宽角度的保险杠相机或者具有直到180度FOV。
[0117] 第一图像捕获装置122可相对于与车辆200关联的场景获取多个第一图像。多个第一图像中的每个均可被获取,作为可使用卷帘快门捕获的一系列图像扫描线。每个扫描线均可包括多个像素。
[0118] 第一图像捕获装置122可具有与获取第一系列图像扫描线中的每个关联的扫描速率。扫描速率可指这样的速率,即在所述速率下,图像传感器可以获取与包括在特定扫描线中的每个像素关联的图像数据。
[0119] 例如,图像捕获装置122、124和126可包含任何合适类型和数目的图像传感器,包括CCD传感器或CMOS传感器。在一个实施方式中,CMOS图像传感器可连同卷帘快门一起采用,使得一行中的每个像素一次读取一个,并且该行的扫描在一行接一行的基础上进行,直到整个图像帧已被捕获。在一些实施方式中,该行可相对于帧从上到下依次捕获。
[0120] 使用卷帘快门可导致不同行中的像素在不同的时间被曝光并被捕获,这可致使被捕获的图像帧的歪斜和其它图像伪影。另一方面,当图像捕获装置122被构造成用全局或同步快门操作时,所有像素都可曝光持续相同的时间量并且在共同的曝光周期中。结果是,从采用全局快门的系统中收集的帧的图像数据表示整个FOV(诸如FOV202)在特定时间的快照。对比之下,在卷帘快门应用中,帧中的每行均被曝光,并且数据在不同的时间被捕获。由此,移动的对象可能在具有卷帘快门的图像捕获装置中呈现畸变。该现象将在下面更详细地描述。
[0121] 第二图像捕获装置124和第三图像捕获装置126可以是任何类型的图像捕获装置。如同第一图像捕获装置122,图像捕获装置124和126中的每个均可包括光轴。在一个实施方式中,图像捕获装置124和126中的每个均可包括具有全局快门的Aptina M9V024WVGA传感器。替代地,图像捕获装置124和126中的每个均可包括卷帘快门。如同图像捕获装置122,图像捕获装置124和126可构造成包括各种透镜和光学元件。在一些实施方式中,与图像捕获装置124和126关联的透镜可提供等于或窄于与图像捕获装置122关联的FOV(诸如FOV 202)的FOV(诸如FOV 204和206)。例如,图像捕获装置124和126可具有40度、30度、26度、23度、20度或以下的FOV。
[0122] 图像捕获装置124和126可相对于与车辆200的关联的场景获取多个第二图像和第三图像。多个第二图像和第三图像中的每个均可获取为可使用卷帘快门捕获的第二系列和第三系列的图像扫描线。每个扫描线或行均可具有多个像素。图像捕获装置124和126可具有与获取包括在第二系列和第三系列中的每个图像扫描线关联的第二扫描速率和第三扫描速率。
[0123] 每个图像捕获装置122、124和126均可相对于车辆200定位在任何合适的位置和取向。可选择图像捕获装置122、124和126的相对定位以帮助将从图像捕获装置获取的信息融合到一起。例如,在一些实施方式中,与图像捕获装置124关联的FOV(诸如FOV 204)可与关联图像捕获装置122的FOV(诸如FOV 202)和关联图像捕获装置126的FOV(诸如FOV 206)部分地或完全地地重叠。
[0124] 图像捕获装置122、124和126可位于车辆200上任何合适的相对高度处。在一个实例中,在图像捕获装置122、124和126之间可能存在高度差,这可提供足够的视差信息来实现立体分析。例如,如图2A所示,两个图像捕获装置122和124处于不同的高度处。例如,在图像捕获装置122、124和126之间还可能存在侧向位移差,为处理单元110的立体分析给出额外视差信息。侧向位移差可记作dx,如图2C和图2D所示。在一些实施方式中,前后位移(例如,范围位移)可能存在于图像捕获装置122、124和126之间。例如,图像捕获装置122可位于图像捕获装置124和/或图像捕获装置126后面的0.5米到2米以上。这种类型的位移可使图像捕获装置之一能够覆盖其它图像捕获装置的潜在盲点。
[0125] 图像捕获装置122可具有任何合适的分辨率功能(例如,与图像传感器关联的像素数目),并且与图像捕获装置122关联的图像传感器的分辨率可大于、小于或等于与图像捕获装置124和126关联的图像传感器的分辨率。在一些实施方式中,与图像捕获装置122和/或图像捕获装置124和126关联的图像传感器可具有640x 480、1024x 768、1280x 960的分辨率或具有任何其它合适的分辨率。
[0126] 帧速率(例如,在移动到捕获与下一个图像帧关联的像素数据之前图像捕获装置获取一个图像帧的一组像素数据的速率)可以是可控的。与图像捕获装置122关联的帧速率可大于、小于或等于与图像捕获装置124和126关联的帧速率。与图像捕获装置122、124和126关联的帧速率可取决于可能影响帧速率的计时的各种因素。例如,图像捕获装置122、
124和126中的一个或多个可包括在获取与图像捕获装置122、124和/或126中的图像传感器的一个或多个像素关联的图像数据之前或之后强加的可选像素延迟周期。一般,对应于每个像素的图像数据可根据装置的时钟速率获取(例如,每个时钟周期一个像素)。另外,在包括卷帘快门的实施方式中,图像捕获装置122、124和126中的一个或多个可包括在获取与图像捕获装置122、124和/或126中的图像传感器的一行像素关联的图像数据之前或之后强加的可选水平消隐周期。进一步,图像捕获装置122、124和/或126中的一个或多个可包括在获取与图像捕获装置122、124和126的图像帧关联的图像数据之前或之后强加的可选垂直消隐周期。
[0127] 这些计时控制可使与图像捕获装置122、124和126关联的帧速率同步,甚至当每个图像捕获装置的线扫描速率不同时亦如此。另外,如将在下面更详细地讨论的,在其它因素(例如,图像传感器分辨率、最大线扫描速率,等等)之中,这些可选计时控制可使图像捕获装置122的FOV与图像捕获装置124和126的一个或多个FOV重叠的区域的图像捕获同步,甚至当图像捕获装置122的视场不同于图像捕获装置124和126的FOV时亦如此。
[0128] 图像捕获装置122、124和126的帧速率计时可取决于关联的图像传感器的分辨率。例如,假设两个装置有类似的线扫描速率,如果一个装置包括分辨率为640x 480的图像传感器并且另一装置包括分辨率为1280x 960的图像传感器,则将需要更多时间来获取来自具有更高分辨率的传感器的图像数据的帧。
[0129] 可影响图像捕获装置122、124和126的图像数据获取的计时的另一因素是最大线扫描速率。例如,获取包括在图像捕获装置122、124和126中的图像传感器的一行图像数据将需要一些最小时间量。假设没有添加像素延迟周期,则获取一行图像数据的该最小时间量将与特定装置的最大线扫描速率相关。提供较高最大线扫描速率的装置潜在地提供比具有较小最大线扫描速率的装置更大的帧速率。在一些实施方式中,图像捕获装置124和126中的一个或多个的最大线扫描速率可大于与图像捕获装置122关联的最大线扫描速率。在一些实施方式中,图像捕获装置124和/或126的最大线扫描速率可以是图像捕获装置122的最大线扫描速率的1.25倍、1.5倍、1.75倍或2倍以上。
[0130] 在另一实施方式中,图像捕获装置122、124和126可具有相同的最大线扫描速率,但图像捕获装置122可在小于或等于其最大扫描速率的扫描速率下操作。所述系统可构造成使得图像捕获装置124和126中的一个或多个在等于图像捕获装置122的线扫描速率的线扫描速率下操作。在其它实例中,所述系统可构造成使得图像捕获装置124和/或图像捕获装置126的线扫描速率可以是图像捕获装置122的线扫描速率的1.25倍、1.5倍、1.75倍或2倍以上。
[0131] 在一些实施方式中,图像捕获装置122、124和126可以是非对称的。即,它们可包括具有不同视场(FOV)和焦距的相机。例如,图像捕获装置122、124和126的视场可包括相对于车辆200的环境的任何期望区域。在一些实施方式中,图像捕获装置122、124和126中的一个或多个可构造成获取来自车辆200前方、车辆200后方、车辆200侧方或它们的组合的环境的图像数据。
[0132] 进一步,与每个图像捕获装置122、124和/或126关联的焦距可以是可选的(例如,通过包括适当的透镜等等),使得每个装置均获取在相对于车辆200的期望距离范围处的对象的图像。例如,在一些实施方式中,图像捕获装置122、124和126可获取距车辆几米内的特写对象的图像。图像捕获装置122、124和126还可构造成获取更远离车辆的范围(例如,25m、50m、100m、150m以上)的对象的图像。进一步,图像捕获装置122、124和126的焦距可选择为使得一个图像捕获装置(例如,图像捕获装置122)可以获取相对接近车辆(例如,10m内或
20m内)的对象的图像,而其它图像捕获装置(例如,图像捕获装置124和126)可以获取距车辆200更远的对象(例如,大于20m、50m、100m、150m,等等)的图像。
[0133] 根据一些实施方式,一个或多个图像捕获装置122、124和126的FOV可具有宽角度。例如,尤其对于可用于捕获车辆200附近的区域的图像的图像捕获装置122、124和126,可有利的是具有140度的FOV。例如,图像捕获装置122可用于捕获车辆200右方或左方的区域的图像,并且在这样的实施方式中,图像捕获装置122可期望的是具有宽FOV(例如,至少140度)。
[0134] 与图像捕获装置122、124和126中的每个关联的视场可取决于相应的焦距。例如,随着焦距的增加,对应的视场降低。
[0135] 图像捕获装置122、124和126可构造成具有任何合适的视场。在一个特定示例中,图像捕获装置122可具有46度的水平FOV,图像捕获装置124可具有23度的水平FOV,并且图像捕获装置126可具有介于23度到46度之间的水平FOV。在另一实例中,图像捕获装置122可具有52度的水平FOV,图像捕获装置124可具有26度的水平FOV,并且图像捕获装置126可具有26度到52度之间的水平FOV。在一些实施方式中,图像捕获装置122的FOV与图像捕获装置124和/或图像捕获装置126的FOV的比率可从1.5变化到2.0。在其它实施方式中,该比率可在1.25到2.25之间变化。
[0136] 系统100可构造成使得图像捕获装置122的视场与图像捕获装置124和/或图像捕获装置126的视场至少部分地或完全地重叠。在一些实施方式中,系统100可构造成使得图像捕获装置124和126的视场例如落入(例如,窄于)图像捕获装置122的视场内并且与图像捕获装置122的视场共享共同的中心。在其它实施方式中,图像捕获装置122、124和126可捕获相邻FOV,或者可使它们的FOV部分地重叠。在一些实施方式中,图像捕获装置122、124和126的视场可对准,使得较窄FOV图像捕获装置124和/或126的中心可位于较宽FOV装置122的视场的下半部中。
[0137] 图2F是与公开的实施方式相一致的示例性车辆控制系统的概略表示。如图2F中指示的,车辆200可包括节流系统220、制动系统230和转向系统240。系统100可经一个或多个数据链路(例如,用于发送数据的任何有线和/或无线的一个或多个链路)向节流系统220、制动系统230和转向系统240中的一个或多个提供输入(例如,控制信号)。例如,基于对由图像捕获装置122、124和/或126获取的图像的分析,系统100可向节流系统220、制动系统230和转向系统240中的一个或多个提供控制信号,以(例如,通过致使加速、转弯、车道移位,等等)导航车辆200。进一步,系统100可接收来自节流系统220、制动系统230和转向系统240中的一个或多个的输入,指示车辆200的操作条件(例如,速度,车辆200是否制动和/或转弯,等等)。下面,进一步细节结合图4至图7来提供。
[0138] 如图3A所示,车辆200还可包括用于与车辆200的驾驶员或乘客交互的用户接口170。例如,在车辆应用中,用户接口170可包括触摸屏320、旋钮330、按钮340和麦克风350。
车辆200的驾驶员或乘客还可使用手柄(例如,位于车辆200的转向柱之上或附近,例如包括转向信号手柄)、按钮(例如,位于车辆200的方向盘上)等,以与系统100交互。在一些实施方式中,麦克风350可定位成与后视镜310相邻。类似地,在一些实施方式中,图像捕获装置122可位于后视镜310附近。在一些实施方式中,用户接口170还可包括一个或多个扬声器360(例如,车辆音频系统的扬声器)。例如,系统100可经由扬声器360提供各种通知(例如,提示)。
[0139] 图3B至图3D是与公开的实施方式相一致的示例性相机安装件370的图示,相机安装件370被构造成定位在后视镜(例如,后视镜310)后面并且抵着车辆挡风玻璃。如图3B所示,相机安装件370可包括图像捕获装置122、124和126。图像捕获装置124和126可定位在遮光板380后面,遮光板380可与车辆挡风玻璃齐平并且包括薄膜和/或抗反射材料的组合物。例如,遮光板380可定位成使得其抵着具有配合斜度的车辆挡风玻璃而对准。在一些实施方式中,例如,如图3D中描绘的,图像捕获装置122、124和126中的每个均可定位在遮光板380后面。公开的实施方式并不限于任何特定构造的图像捕获装置122、124和126、相机安装件
370和遮光板380。图3C是图3B中示出的相机安装件370从正面视角的图示。
[0140] 如受益于本公开的本领域技术人员将了解的,对于前面的公开的实施方式可做出许多变型和/或修改。例如,并非所有部件对于系统100的操作都是至关重要的。进一步,任何部件都可位于系统100的任何适当的部分中,并且所述部件可重新布置成各种构造,同时提供公开的实施方式的功能性。因此,前面的构造是示例并且与上面讨论的构造无关,系统100可以提供宽范围的功能性,用以分析车辆200的周边环境并且响应于所述分析来导航车辆200。
[0141] 如下面进一步详细地讨论且与各种公开的实施方式相一致,系统100可提供与自主驱动和/或驾驶员辅助技术相关的各种特征。例如,系统100可分析图像数据、位置数据(例如,GPS地点信息)、地图数据、速度数据和/或来自包括在车辆200中的传感器的数据。系统100可收集来自例如图像获取单元120、位置传感器130及其它传感器的数据以供分析。进一步,系统100可分析所收集的数据以确定车辆200是否应该采取某些动作,然后在无人为干预的情况下自动采取确定的动作。例如,当车辆200在无人为干预的情况下导航时,系统100可(例如,通过向节流系统220、制动系统230和转向系统240中的一个或多个发送控制信号)自动控制车辆200的制动、加速和/或转向。进一步,系统100可分析所收集的数据并发出警告,和/或基于所收集的数据的分析来提示车辆驾乘人员。下面提供关于系统100所提供的各种实施方式的额外细节。
[0142] 朝前多成像系统
[0143] 如上面讨论的,系统100可提供使用多相机系统的驱动辅助功能性。-多相机系统可使用面对车辆向前方向的一个或多个相机。在其它实施方式中,多相机系统可包括面对车辆侧面或车辆后面的一个或多个相机。在一个实施方式中,例如,系统100可使用双相机成像系统,其中第一相机和第二相机(例如,图像捕获装置122和124)可定位在车辆(例如,车辆200)的前面和/或侧面。第一相机的视场可大于、小于第二相机的视场,或者与第二相机的视场部分地重叠。另外,第一相机可连接到第一图像处理器,以执行第一相机所提供的图像的单眼图像分析,并且第二相机可连接到第二图像处理器,以执行第二相机所提供的图像的单眼图像分析。第一图像处理器和第二图像处理器的输出(例如,处理后的信息)可组合。在一些实施方式中,第二图像处理器可接收来自第一相机和第二相机两者的图像以执行立体分析。在另一实施方式中,系统100可使用三相机成像系统,其中每个相机均具有不同的视场。因此,这样的系统可基于从位于车辆前面和侧面两者的变化距离处的对象得到的信息做出决定。提到单眼图像分析可指这样的实例,即:基于从单个观察点(例如,从单个相机)捕获的图像来执行图像分析。立体图像分析可指这样的实例,即:基于用图像捕获参数的一个或多个变型捕获的两个或更多个图像来执行图像分析。例如,适于执行立体图像分析的被捕获图像可包括采取以下手段捕获的图像:根据两个或更多个不同位置,从不同的视场,使用不同的焦距,结合视差信息,等等。
[0144] 例如,在一个实施方式中,系统100可实施使用图像捕获装置122-126的三相机构造。在这样的构造中,图像捕获装置122可提供窄视场(例如,34度,或选自约20度到45度范围的其它值,等等),图像捕获装置124可提供宽视场(例如,150度或选自约100度到约180度范围的其它值),并且图像捕获装置126可提供中间视场(例如,46度或选自约35度到约60度范围的其它值)。在一些实施方式中,图像捕获装置126可作为主相机或主要相机。图像捕获装置122-126可定位在后视镜310后面并且基本上并排定位(例如,6cm间隔)。进一步,在一些实施方式中,如上面讨论的,图像捕获装置122-126中的一个或多个可安装在与车辆200的挡风玻璃齐平的遮光板380后面。这样的遮光可将来自车内的任何反射对图像捕获装置122-126造成的影响降到最低。
[0145] 在另一实施方式中,如上面结合图3B和图3C讨论的,宽视场相机(例如,上面示例中的图像捕获装置124)可安装得低于窄的主视场相机(例如,上面示例中的图像装置122和126)。该构造可提供来自宽视场相机的自由视线。为了减少反射,相机可安装得接近车辆
200的挡风玻璃,并且可包括相机上的偏光器用以抑制反射光。
[0146] 三相机系统可提供某些性能特性。例如,一些实施方式可包括如下能力:基于另一相机的检测结果来验证一个相机针对对象的检测。-在上面讨论的三相机构造中,处理单元110可包括例如三个处理装置(例如,如上面讨论的,三个EyeQ系列的处理器芯片),每个处理装置均专用于处理由图像捕获装置122-126中的一个或多个捕获的图像。
[0147] 在三相机系统中,第一处理装置可接收来自主相机和窄视场相机两者的图像,并且执行窄FOV相机的视觉处理以例如检测其它车辆、行人、车道标线、交通标志、交通灯及其它道路对象。进一步,第一处理装置可计算主相机和窄相机的图像之间的像素差距并且创建车辆200的环境的三维重构。然后,第一处理装置可将三维重构与三维地图数据组合,或者与基于另一相机的信息计算的三维信息组合。
[0148] 第二处理装置可接收来自主相机的图像并且执行视觉处理以检测其它车辆、行人、车道标线、交通标志、交通灯及其它道路对象。另外,第二处理装置可计算相机位移,并且基于该位移计算连续图像之间的像素差距并创建场景的三维重构(例如,根据运动的结构)。第二处理装置可将来自基于运动的三维重构的结构发送到第一处理装置以与立体三维图像组合。
[0149] 第三处理装置可接收来自宽FOV相机的图像并且处理所述图像,以检测车辆、行人、车道标线、交通标志、交通灯及其它道路对象。第三处理装置可进一步执行额外处理指令以分析图像来识别在图像中移动的对象,诸如变道的车辆、行人,等等。
[0150] 在一些实施方式中,使基于图像的信息流被独立地捕获并处理可提供:提供系统冗余的机会。例如,这样的冗余可包括:使用第一图像捕获装置和从该装置处理的图像以验证和/或补充通过捕获并处理至少来自第二图像捕获装置的图像信息而获得的信息。
[0151] 在一些实施方式中,系统100可使用两个图像捕获装置(例如,图像捕获装置122和124)来为车辆200提供导航辅助,并且使用第三图像捕获装置(例如,图像捕获装置126)以提供冗余并验证从其它两个图像捕获装置接收的数据的分析。例如,在这样的构造中,图像捕获装置122和124可为系统100的立体分析提供图像以导航车辆200,而图像捕获装置126可为系统100的单眼分析提供图像以提供冗余并验证基于从图像捕获装置122和/或图像捕获装置124捕获的图像而获得的信息。即,图像捕获装置126(及对应的处理装置)可被认为提供冗余子系统,以提供对从图像捕获装置122和124得到的分析的检查(例如,提供自动紧急制动(AEB)系统)。
[0152] 本领域技术人员将辨识到,上面的相机构造、相机放置、相机数目、相机地点等等仅是示例。这些部件及相对于整体系统描述的其它部件可组装并用在各种不同构造中而不脱离公开的实施方式的范围。下面是关于多相机系统的使用的进一步细节,用以提供驾驶员辅助和/或自主车辆功能性。
[0153] 图4是与公开的实施方式相一致的存储器140和/或150的示例性功能框图,存储器140和/或150可存储/编程有用于执行一个或多个操作的指令。虽然以下是参照存储器140,但是本领域技术人员将辨识到,指令可存储在存储器140和/或150中。
[0154] 如图4所示,存储器140可存储单眼图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。公开的实施方式并不限于任何特定构造的存储器140。-进一步,应用处理器180和/或图像处理器190可执行存储于包括在存储器140中的任何模块402-408之中的指令。本领域技术人员将理解的是,以下讨论对处理单元110的引用可单独或共同指应用处理器180和图像处理器190。因此,任何以下处理的步骤可由一个或多个处理装置执行。
[0155] 在一个实施方式中,单眼图像分析模块402可存储指令(诸如计算机视觉软件),当由处理单元110执行时,该指令执行由图像捕获装置122、124和126之一获取的一组图像的单眼图像分析。在一些实施方式中,处理单元110可将来自一组图像的信息与额外的感觉信息(例如,来自雷达的信息)组合,以执行单眼图像分析。如下面结合图5A至图5D描述的,单眼图像分析模块402可包括用于检测一组图像内的一组特征(诸如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、危险对象及与车辆环境关联的任何其它特征)的指令。基于此分析,系统100(例如,经由处理单元110)可在车辆200中产生一个或多个导航响应,诸如转弯、车道移位、加速度改变,等,这在下面结合导航响应模块408讨论。
[0156] 在一个实施方式中,立体图像分析模块404可存储指令(诸如计算机视觉软件),当由处理单元110执行时,该指令执行通过选自任何图像捕获装置122、124和126的图像捕获装置的组合而获取的第一组和第二组图像的立体图像分析。在一些实施方式中,处理单元110可将来自第一组和第二组图像的信息与额外感觉信息(例如,来自雷达的信息)组合,以执行立体图像分析。例如,立体图像分析模块404可包括用于基于图像捕获装置124获取的第一组图像和图像捕获装置126获取的第二组图像来执行立体图像分析的指令。如下面结合图6描述的,立体图像分析模块404可包括用于检测第一组和第二组图像内的一组特征(诸如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、危险对象,等)的指令。
基于此分析,处理单元110可在车辆200中产生一个或多个导航响应,诸如转弯、车道移位、加速度改变,等,这在下面结合导航响应模块408讨论。
[0157] 在一个实施方式中,速度和加速度模块406可存储构造成分析从车辆200的一个或多个计算机电装置接收的数据的软件,所述计算机电装置被构造成致使车辆200的速度和/或加速度改变。例如,处理单元110可执行与速度和加速度模块406关联的指令,以基于从执行单眼图像分析模块402和/或立体图像分析模块404得到的数据来计算车辆200的目标速度。例如,这样的数据可包括:目标位置、速度和/或加速度;车辆200相对于近旁车辆、行人或道路对象的位置和/或速度;车辆200相对于道路的车道标记的位置信息,等。另外,处理单元110可基于感觉输入(例如,来自雷达的信息)和来自车辆200的其它系统(诸如车辆200的节流系统220、制动系统230和/或转向系统240)的输入来计算车辆200的目标速度。基于计算出的目标速度,处理单元110可向车辆200的节流系统220、制动系统230和/或转向系统240发送电子信号,以通过例如物理踩下制动器或松开车辆200的加速器来触发速度和/或加速度的改变。
[0158] 在一个实施方式中,导航响应模块408可存储可由处理单元110执行的软件,以基于从单眼图像分析模块402和/或立体图像分析模块404的执行得到的数据来确定期望导航响应。这样的数据可包括与近旁车辆、行人和道路对象关联的位置和速度信息、车辆200的目标位置信息,等。另外,在一些实施方式中,导航响应可(部分地或完全地)基于地图数据、车辆200的预定位置和/或车辆200与从单眼图像分析模块402和/或立体图像分析模块404的执行而检测的一个或多个对象之间的相对速度或相对加速度。导航响应模块408还可基于感觉输入(例如,来自雷达的信息)和来自车辆200的其它系统(诸如车辆200的节流系统220、制动系统230和转向系统240)的输入来确定期望导航响应。基于所述期望导航响应,处理单元110可向车辆200的节流系统220、制动系统230和转向系统240发送电子信号,以触发期望导航响应,例如,通过使车辆200的方向盘转动以实现预定角度旋转。在一些实施方式中,处理单元110可使用导航响应模块408的输出(例如,期望导航响应)作为输入,以执行速度和加速度模块406来计算车辆200的速度改变。
[0159] 图5A是示出与公开的实施方式相一致的用于基于单眼图像分析来产生一个或多个导航响应的示例性处理500A的流程图。在步骤510,处理单元110可经由位于处理单元110与图像获取单元120之间的数据接口128接收多个图像。例如,包括在图像获取单元120中的相机(诸如具有视场202的图像捕获装置122)可捕获车辆200的前面(例如,或是车辆的侧面或后面)的区域的多个图像并且经数据连接(例如,数字、有线、USB、无线、蓝牙,等等)将图像发送到处理单元110。在步骤520,处理单元110可执行单眼图像分析模块402以分析多个图像,这在下面结合图5B至图5D进一步详细地描述。通过执行所述分析,处理单元110可检测一组图像内的一组特征,诸如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯,等。
[0160] 在步骤520,处理单元110还可执行单眼图像分析模块402以检测各种道路危险,例如,卡车轮胎的一部分、跌落的道路标志、松动的货物、小动物,等。道路危险可能存在结构、形状、大小和颜色上的变化,可能使检测这样的危险更具挑战性。在一些实施方式中,处理单元110可执行单眼图像分析模块402,以对多个图像进行多帧分析来检测道路危险。例如,处理单元110可估算连贯图像帧之间的相机运动,并且计算帧之间的像素差距以构建道路的三维地图。然后,处理单元110可使用三维地图来检测路面以及存在于路面上方的危险。
[0161] 在步骤530,处理单元110可执行导航响应模块408,以基于步骤520执行的分析以及如上面结合图4描述的技术来产生车辆200的一个或多个导航响应。例如,导航响应可包括转弯、车道移位、加速度改变,等。在一些实施方式中,处理单元110可使用从执行速度和加速度模块406中得到的数据,以产生一个或多个导航响应。另外,多个导航响应可同时、顺次或按其任何组合而发生。例如,处理单元110可致使车辆200变换一个车道,然后通过例如向车辆200的转向系统240和节流系统220依次发送控制信号来加速。替代地,处理单元110可致使车辆200制动,同时通过例如向车辆200的制动系统230和转向系统240同时发送控制信号来使变道。
[0162] 图5B是示出与公开的实施方式相一致的用于检测一组图像中的一个或多个车辆和/或行人的示例性处理500B的流程图。处理单元110可执行单眼图像分析模块402以实施处理500B。在步骤540,处理单元110可确定表示可能的车辆和/或行人的一组候选对象。例如,处理单元110可扫描一个或多个图像,将所述图像与一个或多个预定图案比较,并且在每个图像内识别可包含关注对象(例如,车辆、行人,或其一部分)的可能地点。预定图案可采取实现高比率“错误击中”和低比率“未击中”这样的方式来设计。例如,处理单元110可使用与预定图案低阈值的相似度来识别候选对象作为可能的车辆或行人。这样做可允许处理单元110减少未击中(例如,未识别)表示车辆或行人的候选对象的概率。
[0163] 在步骤542,处理单元110可过滤这一组候选对象以基于分类标准来排除某些候选(例如,无关或不太相关的对象)。这样的标准可从与存储在数据库(例如,存储在存储器140中的数据库)中的对象类型关联的各种属性得到。属性可包括对象形状、尺寸、质地、(例如,相对于车辆200的)位置,等。由此,处理单元110可使用一组或多组标准以拒绝来自一组候选对象的错误候选。
[0164] 在步骤544,处理单元110可分析图像的多个帧,以确定一组候选对象中的对象是否表示车辆和/或行人。例如,处理单元110可跨越连贯的帧来跟踪被检测候选对象并且积累与被检测对象关联的逐帧数据(例如,大小、相对于车辆200的位置,等等)。另外,处理单元110可估算被检测对象的参数并且将对象的逐帧位置数据与预测位置比较。
[0165] 在步骤546,处理单元110可构建被检测对象的一组测量结果。例如,这样的测量结果可包括与被检测对象关联的(相对于车辆200的)位置、速度和加速度值。在一些实施方式中,处理单元110可基于以下技术来构建测量结果:基于估算技术使用一系列基于时间的观察(诸如卡尔曼滤波器或线性二次估算(LQE));和/或基于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志,等等)的可用建模数据。卡尔曼滤波器可基于对象尺度的测量结果,其中尺度测量结果与将要碰撞的时间(例如,车辆200到达对象的时间量)成比例。由此,通过执行步骤540-546,处理单元110可识别出现在一组被捕获图像内的车辆和行人并且得到与车辆和行人关联的信息(例如,位置、速度、大小)。基于该识别和得到的信息,处理单元110可产生车辆200的一个或多个导航响应,这在上面结合图5A描述。
[0166] 在步骤548,处理单元110可执行一个或多个图像的光流分析,以减少检测“错误击中”以及未击中表示车辆或行人的候选对象的概率。光流分析可指的是,例如,分析相对于与其它车辆和行人关联的一个或多个图像中的车辆200的运动图案,并且区别于路面运动。处理单元110可通过观察跨越多个图像帧(在不同的时间被捕获)的对象的不同位置来计算候选对象的运动。处理单元110可使用位置和时间值作为用于计算候选对象运动的数学模型的输入。由此,光流分析可提供检测在车辆200近旁的车辆和行人的另一种方法。处理单元110可与步骤540-546组合来执行光流分析,为检测车辆和行人提供冗余并且增加系统
100的可靠性。
[0167] 图5C是示出与公开的实施方式相一致的用于检测一组图像中的路标和/或车道几何信息的示例性处理500C的流程图。处理单元110可执行单眼图像分析模块402以实施处理500C。在步骤550,处理单元110可通过扫描一个或多个图像来检测一组对象。为了检测一段车道标记、车道几何信息及其它相关路标,处理单元110可过滤一组对象以排除确定无关的这些对象(例如,轻微的坑洼、小石头,等等)。在步骤552,处理单元110可将步骤550中检测的属于相同路标或车道标线的区段分组到一起。基于该分组,处理单元110可建立表示被检测区段的模型,诸如数学模型。
[0168] 在步骤554,处理单元110可构建与被检测区段关联的一组测量结果。-在一些实施方式中,处理单元110可创建被检测区段从图像平面向现实世界平面的投影。该投影可使用三次多项式来表征,该三次多项式具有对应于物理属性(诸如位置、斜度、曲率和被检测道路的曲率衍生)的系数。在生成投影时,处理单元110可考虑路面改变,以及与车辆200关联的俯仰和横摆速率。另外,处理单元110可通过分析存在于路面上的位置和运动线索来建模道路标高。进一步,处理单元110可通过跟踪一个或多个图像中的一组特征点来估算与车辆200关联的俯仰和横摆速率。
[0169] 在步骤556,处理单元110可通过例如跟踪跨越连贯图像帧的被检测区段以及积累与被检测区段关联的逐帧数据来执行多帧分析。在处理单元110执行多帧分析时,在步骤554构建的一组测量结果可变得更可靠并且与更高的置信水平关联。由此,通过执行步骤
550-556,处理单元110可识别出现在一组被捕获图像内的路标并且得到车道几何信息。基于该识别和得到的信息,处理单元110可产生车辆200的一个或多个导航响应,这在上面结合图5A描述。
[0170] 在步骤558,处理单元110可考虑额外信息源来进一步在其周边环境的背景下建立车辆200的安全模型。处理单元110可使用安全模型来限定以下背景,即:系统100可采取安全的方式来执行车辆200的自主控制。为了建立安全模型,在一些实施方式中,处理单元110可考虑其它车辆的位置和运动、被检测道路的路边和障碍和/或从地图数据(诸如地图数据库160的数据)提取的总体道路形状描述。通过考虑额外信息源,处理单元110可提供冗余来检测路标和车道几何形状并且增加系统100的可靠性。
[0171] 图5D是示出与公开的实施方式相一致的用于检测一组图像中的交通灯的示例性处理500D的流程图。处理单元110可执行单眼图像分析模块402以实施处理500D。在步骤560,处理单元110可扫描一组图像并且识别出现在可能包含交通灯的图像中的地点处的对象。例如,处理单元110可过滤被识别对象以构建一组候选对象,排除不可能对应于交通灯的这些对象。过滤可基于与交通灯关联的各种属性(诸如形状、尺寸、质地、(例如,相对于车辆200的)位置,等)来完成。这样的属性可基于交通灯和交通控制信号的多个示例并且存储在数据库中。在一些实施方式中,处理单元110可在反映可能交通灯的一组候选对象上执行多帧分析。例如,处理单元110可跟踪跨越连贯图像帧的候选对象,估算候选对象的现实世界位置,并且过滤出移动的那些对象(不可能是交通灯)。在一些实施方式中,处理单元110可执行候选对象的颜色分析,并且识别出现在可能交通灯内侧的被检测颜色的相对位置。
[0172] 在步骤562,处理单元110可分析枢纽的几何形状。该分析可基于以下的任何组合:(i)在车辆200的任一侧的检测的车道数目;(ii)在道路上检测的标记(诸如箭头标线);以及(iii)从地图数据(诸如地图数据库160的数据)提取的枢纽的描述。处理单元110可使用从执行单眼分析模块402得到的信息来进行分析。另外,处理单元110可确定在步骤560检测的交通灯与出现在车辆200附近的车道之间的对应性。
[0173] 在车辆200接近枢纽时,在步骤564,处理单元110可更新与被分析的枢纽几何形状和被检测交通灯关联的置信水平。例如,与实际出现在枢纽处的交通灯数目比较,估算的出现在枢纽处的交通灯数目可能影响置信水平。由此,基于该置信水平,处理单元110可授权车辆200的驾驶员进行控制,以便改进安全条件。通过执行步骤560-564,处理单元110可识别出现在一组被捕获图像内的交通灯并且分析枢纽几何形状信息。基于该识别以及分析,处理单元110可产生车辆200的一个或多个导航响应,这在上面结合图5A描述。
[0174] 图5E是示出与公开的实施方式相一致的用于基于车辆路径来在车辆200中产生一个或多个导航响应的示例性处理500E的流程图。在步骤570,处理单元110可构建与车辆200关联的初始车辆路径。车辆路径可使用以坐标(x,z)表达的一组点来表示,并且一组点的两点之间的距离di可落入1米到5米的范围内。在一个实施方式中,处理单元110可使用诸如左右道路多项式的两个多项式来构建初始车辆路径。处理单元110可计算两个多项式之间的几何中点,并且如果有偏移的话,使包括在所得的车辆路径中的每个点偏移预定偏移量(例如,智能车道偏移),(零偏移可对应于行进在车道的中间)。偏移的方向可垂直于车辆路径中的任何两点之间的区段。在另一实施方式中,处理单元110可使用一个多项式和估算的车道宽度使车辆路径的每个点偏移达:估算的车道宽度的一半加上预定偏移量(例如,智能车道偏移)。
[0175] 在步骤572,处理单元110可更新在步骤570构建的车辆路径。处理单元110可使用更高分辨率来重新构建在步骤570构建的车辆路径,使得表示车辆路径的一组点的两点之间的距离dk小于上面描述的距离di。例如,距离dk可落入0.1米到0.3米的范围内。处理单元110可使用抛物面样条算法来重新构建车辆路径,这可产生对应于车辆路径的总长度的累计距离向量S(即,基于表示车辆路径的一组点)。
[0176] 在步骤574,处理单元110可基于在步骤572构建的更新车辆路径来确定前瞻点(以坐标(xl,zl)表达)。处理单元110可从累计距离向量S提取前瞻点,并且前瞻点可与前瞻距离和前瞻时间关联。下限范围可从10米到20米的前瞻距离可计算为车辆200的速度和前瞻时间的乘积。例如,随着车辆200的速度降低,前瞻距离也可减小(例如,直到前瞻距离达到下限)。范围可从0.5秒到1.5秒的前瞻时间可与在车辆200中产生导航响应相关联的一个或多个控制环的增益(诸如跟踪控制环的航向误差)成反比。例如,跟踪控制环的航向误差的增益可取决于偏航率环的带宽、转向致动器环、汽车侧向动态,等。由此,跟踪控制环的航向误差的增益越大,前瞻时间越短。
[0177] 在步骤576,处理单元110可基于在步骤574确定的前瞻点来确定航向误差和偏航率命令。处理单元110可通过计算前瞻点的反正切(例如,arctan(xl/zl))来确定航向误差。处理单元110可将偏航率命令确定为航向误差和高水平控制增益的乘积。如果前瞻距离未处于下限,则高水平控制增益可等于:(2/前瞻时间)。以其它方式,高水平控制增益可等于:
(车辆200的2倍速度/前瞻距离)。
[0178] 图5F是示出与公开的实施方式相一致的用于确定前车是否变道的示例性处理500F的流程图。在步骤580,处理单元110可确定与前车(例如,行进在车辆200之前的车辆)关联的导航信息。例如,处理单元110可使用上面结合图5A和图5B描述的技术来确定前车的位置、速度(例如,方向和速度)和/或加速度。处理单元110还可使用上面结合图5E描述的技术来确定一个或多个道路多项式、(与车辆200关联的)前瞻点和/或缓慢移动踪迹(例如,描述前车采取的路径的一组点)。
[0179] 在步骤582,处理单元110可分析在步骤580确定的导航信息。在一个实施方式中,处理单元110可计算缓慢移动踪迹与道路多项式(例如,沿着踪迹)之间的距离。如果沿着踪迹的该距离的方差超过预定阈值(例如,笔直道路上为0.1米到0.2米,适度弯曲的道路上为0.3米到0.4米,并且急剧弯曲的道路上为0.5米到0.6米),处理单元110可确定:前车可能变道。在检测有多个车辆行进在车辆200之前的情况下,处理单元110可比较与每个车辆关联的缓慢移动踪迹。基于该比较,处理单元110可确定:缓慢移动踪迹与其它车辆的缓慢移动踪迹不匹配的车辆可能变道。处理单元110可另外将(与前车关联的)缓慢移动踪迹的曲率与前车行进的道路区段的预期曲率比较。预期曲率可从地图数据(例如,地图数据库160的数据)、道路多项式、其它车辆的缓慢移动踪迹、关于道路的现有知识等之中提取。如果缓慢移动踪迹与道路区段的预期曲率的曲率差超过预定阈值,则处理单元110可确定:前车可能变道。
[0180] 在另一实施方式中,处理单元110可在具体时间段(例如,0.5秒到1.5秒)内将前车的瞬时位置与(与车辆200关联的)前瞻点比较。如果前车瞬时位置与前瞻点之间的距离在具体时间段期间变化,并且变化的累计总和超过预定阈值(例如,笔直道路上为0.3米到0.4米,适度弯曲的道路上为0.7米到0.8米,并且急剧弯曲的道路上为1.3米到1.7米),则处理单元110可确定:前车可能变道。在另一实施方式中,处理单元110可通过将沿着踪迹行进的侧向距离与缓慢移动踪迹的预期曲率比较来分析缓慢移动踪迹的几何形状。预期曲率半径可根据下面的计算来确定:(δz2+δx2)/2/(δx),其中δx表示行进的侧向距离,并且δz表示行进的纵向距离。如果行进的侧向距离与预期曲率之间的差超过预定阈值(例如,500米到700米),则处理单元110可确定:前车可能变道。在另一实施方式中,处理单元110可分析前车的位置。如果前车的位置掩盖了道路多项式(例如,前车覆盖在道路多项式的顶部),则处理单元110可确定:前车可能变道。在前车的位置使得另一车辆被检测位于前车之前并且两个车辆的缓慢移动踪迹不平行的情况下,处理单元110可确定:(更接近的)前车可能变道。
[0181] 在步骤584,处理单元110可基于在步骤582执行的分析来确定前车200是否变道。例如,处理单元110可基于在步骤582执行的各个分析的加权平均来做出确定。在这样的方案之下,例如,处理单元110基于特定类型的分析做出的前车可能变道的决定可被分配值“1”(而“0”表示确定前车不可能变道)。在步骤582执行的不同分析可被分配不同的权重,并且公开的实施方式并不限于任何特定组合的分析和权重。
[0182] 图6是示出与公开的实施方式相一致的用于基于立体图像分析来产生一个或多个导航响应的示例性处理600的流程图。在步骤610,处理单元110可经由数据接口128接收第一和第二多个图像。例如,包括在图像获取单元120中的相机(诸如具有视场202和204的图像捕获装置122和124)可捕获车辆200前方的区域的第一和第二多个图像并且经数字连接(例如,USB、无线、蓝牙,等等)将第一和第二多个图像发送到处理单元110。在一些实施方式中,处理单元110可经由两个或更多个数据接口接收第一和第二多个图像。公开的实施方式并不限于任何特定的数据接口构造或协议。
[0183] 在步骤620,处理单元110可执行立体图像分析模块404来执行第一和第二多个图像的立体图像分析,以创建车辆前方道路的三维地图并且检测图像内的特征,诸如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、道路危险,等。立体图像分析可采取类似于上面结合图5A至图5D描述的步骤的方式执行。-例如,处理单元110可执行立体图像分析模块404以检测第一和第二多个图像内的候选对象(例如,车辆、行人、路标、交通灯、道路危险,等等),基于各种标准来过滤出候选对象的子集,并且执行多帧分析、构建测量结果并确定其余候选对象的置信水平。在执行上面的步骤时,处理单元110可考虑来自第一和第二多个图像两者的信息,而非单独来自一组图像的信息。例如,处理单元110可针对出现在第一和第二多个图像两者中的候选对象分析像素水平数据(或来自两个被捕获图像流之中的其它数据子集)的差别。作为另一示例,处理单元110可通过观察对象出现在多个图像中的一个之中但不出现在另一个中或者相对于出现在两个图像流中的对象可能存在的其它差别来估算候选对象(例如,相对于车辆200)的位置和/或速度。例如,相对于车辆200的位置、速度和/或加速度可基于与出现在图像流的一者或两者中的对象关联的特征的轨迹、位置、移动特性等等来确定。
[0184] 在步骤630,处理单元110可基于在步骤620执行的分析和上面结合图4描述的技术来执行导航响应模块408,以在车辆200中产生一个或多个导航响应。例如,导航响应可包括转弯、车道移位、加速度改变、速度改变、制动,等。在一些实施方式中,处理单元110可使用从执行速度和加速度模块406中得到的数据,以产生一个或多个导航响应。另外,多个导航响应可同时、顺次或按其任何组合而发生。
[0185] 图7是示出与公开的实施方式相一致的用于基于对三组图像的分析来产生一个或多个导航响应的示例性处理700的流程图。在步骤710,处理单元110可经由数据接口128接收第一、第二和第三多个图像。例如,包括在图像获取单元120中的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可捕获车辆200前方和/或侧面的区域的第一、第二和第三多个图像并且经数字连接(例如,USB、无线、蓝牙,等等)将第一、第二和第三多个图像发送到处理单元110。在一些实施方式中,处理单元110可经由三个以上数据接口接收第一、第二和第三多个图像。例如,图像捕获装置122、124、126中的每个均可具有关联的数据接口用于与处理单元110通信数据。公开的实施方式并不限于任何特定的数据接口构造或协议。
[0186] 在步骤720,处理单元110可分析第一、第二和第三多个图像以检测图像内的特征,诸如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、道路危险,等。该分析可采取类似于上面结合图5A至图5D和图6描述的步骤的方式执行。例如,处理单元110可对第一、第二和第三多个图像中的每个执行单眼图像分析(例如,经由执行单眼图像分析模块402并且基于上面结合图5A至图5D描述的步骤)。替代地,处理单元110可对第一和第二多个图像、第二和第三多个图像和/或第一和第三多个图像执行立体图像分析(例如,经由执行立体图像分析模块404并且基于上面结合图6描述的步骤)。对应于第一、第二和/或第三多个图像的分析的处理后的信息可加以组合。在一些实施方式中,处理单元110可执行单眼图像分析和立体图像分析的组合。例如,处理单元110可对第一多个图像执行单眼图像分析(例如,经由执行单眼图像分析模块402)以及对第二和第三多个图像执行立体图像分析(例如,经由执行立体图像分析模块404)。图像捕获装置122、124和126的构造(包括其相应地点和视场202、204和206)可影响对第一、第二和第三多个图像进行的分析的类型。公开的实施方式并不限于特定构造的图像捕获装置122、124和126,或者对第一、第二和第三多个图像进行的分析的类型。
[0187] 在一些实施方式中,处理单元110可基于在步骤710和720获取并分析的图像来执行系统100的测试。这样的测试可向某些构造的图像捕获装置122、124和126提供系统100的整体性能的指示器。例如,处理单元110可确定“错误击中”(例如,系统100不正确地确定存在车辆或行人的情况)和“未击中”的比例。
[0188] 在步骤730,处理单元110可基于从第一、第二和第三多个图像中的两者得到的信息来在车辆200中产生一个或多个导航响应。选择第一、第二和第三多个图像中的两者可取决于各种因素,例如,多个图像中的每个中检测的对象的数目、类型和大小。处理单元110还可基于以下做出选择:图像质量和分辨率、图像中反射的有效视场、被捕获帧的数目、关注的一个或多个对象实际出现在帧中的程度(例如,对象出现的帧的百分比、出现在每个这样的帧中的对象的比例,等等),等。
[0189] 在一些实施方式中,处理单元110可通过确定从一个图像源得到的信息与从其它图像源得到的信息的一致程度来选择从第一、第二和第三多个图像中的两者得到的信息。例如,处理单元110可组合从图像捕获装置122、124和126中的每个得到的被处理信息(不论通过单眼分析、立体分析或两者的任何组合)并且确定跨越从图像捕获装置122、124和126中的每个捕获的图像呈现一致的视觉指示器(例如,车道标记、被检测车辆及其地点和/或路径、被检测交通灯,等等)。处理单元110还可排除跨越被捕获图像不一致的信息(例如,变道的车辆,指示太接近车辆200的车辆的车道模型,等等)。由此,处理单元110可基于一致和不一致信息的确定来选择从第一、第二和第三多个图像中的两者得到的信息。
[0190] 例如,导航响应可包括转弯、车道移位、加速度改变,等。处理单元110可基于在步骤720执行的分析以及上面结合图4描述的技术来产生一个或多个导航响应。处理单元110还可使用从执行速度和加速度模块406得到的数据,以产生一个或多个导航响应。在一些实施方式中,处理单元110可基于车辆200与任何第一、第二和第三多个图像内的被检测对象之间的相对位置、相对速度和/或相对加速度来产生一个或多个导航响应。多个导航响应可同时、顺次或按其任何组合而发生。
[0191] 车道尽头识别系统
[0192] 系统100可以识别驾驶车道将何时终止,并且当检测到终止时,做出诸如车道变更的在车辆200的路程中的响应性导航变更。车道可指车辆的指定或预期行进路径并且可具有标记边界(例如,道路上的线)或未标记边界(例如,道路路边、道路障碍、护栏、停放的车辆,等等)或约束。系统可以仅基于视觉信息进行操作,而不是依赖地图数据来进行车道尽头确定。然而,在一些情况下,系统可以依赖地图数据和相对于行驶的车道的视觉信息的结合。进一步,尽管系统可以通过车道终止的直接观察来识别车道的尽头,系统还可以通过例如观察并识别提供有关车道终止的信息的道路标志警报来较早地识别接近车道尽头。
[0193] 图8例示了在道路800上行驶的车辆200,其中可以使用用于识别行驶车道的尽头并操作车辆200的公开的系统和方法。尽管车辆200被描述为配备有图像捕获装置122和124,可以在任何特定的车辆200上采用更多或更少相机。如所示,道路800可以被细分成车道,诸如车道810和820。作为示例示出了车道810和820;给定道路800可以基于道路的大小和性质,例如州际高速公路,而具有额外车道。在图8的示例中,车辆200在车道810上行驶,并且能够看到车道810很快将终止。作为响应,如下面详细讨论的,系统100可以使得车辆
200转向车道820。
[0194] 处理单元110可以被配置为基于处理单元110可经由数据接口128接收的由图像捕获装置122-126获取的多个图像来确定与车道810和820中的每一个相关联的一个或更多个车道约束。根据一些实施方式,车道约束可由可见的车道边界(诸如标记在路面上的虚线或实线)识别。另外地或替代地,车道约束可包括路面的路边或障碍。另外地或替代地,车道约束可包括标记(例如,博茨点)。根据一些实施方式,处理单元110(经由下面详细描述的车道约束模块910和/或车道定位模块920)可以通过识别诸如道路800的整体的路面宽度的中点或者车道810/820中的一个的中点来确定与车道810/820相关联的约束。当例如没有画出或者标记出指定诸如车道810/820的道路车道的线时,处理单元110可以基于已知的道路参数来通过替代的方式(诸如通过估计或推断)来识别车道约束。
[0195] 道路800和构成车道810/820的约束和路径的检测可以包括经由相机坐标系来确定其3D模型的处理单元110。例如,车道810/820的3D模型可由三次多项式描述。除了行驶车道的3D建模以外,处理单元110还可执行主机运动参数(诸如车辆200的速度、偏航和俯仰速率以及加速度)的多帧估算。处理单元110可以从例如包括在车辆200中的速度传感器、多轴加速计等接收属于这些参数的信息。可选地,处理单元110可检测静止和移动车辆及其位置、航向、速度和加速度(都相对于车辆200,将在下面结合图10B对其进行描述)。处理单元110可进一步确定道路标高(road elevation)模型以将从多个图像获取的所有信息转换为三维空间。
[0196] 一般,作为默认条件,车辆200可在车道810/820内相对居中地行驶,使得从车辆200到与图8中描述的车道810/820相关联的车道约束的距离x1和x2相等或者接近相等。然而,在一些情形下,环境因素可使之非期望或不可行,诸如当对象或结构存在于道路的一侧的时候。由此,可存在以下情形,即车辆200可期望或有利地更接近一个车道约束或另一个(即,x1>x2或反之亦然),特别是如果车道被确定为即将过终止的话,如下面将结合图10-图
11进行讨论的。
[0197] 图9是与公开的实施方式相一致的存储器140和/或150的示例性框图,该存储器140和/或150可存储用于执行一个或多个操作的指令。如图9中例示的,存储器140可存储用于执行本文中描述的车道尽头识别和响应的一个或更多个模块。例如,存储器140可以存储车道约束模块910、车道定位模块920和动作模块930。应用处理器180和/或图像处理器190可执行存储在任何模块910-930(包括在存储器140中)中的指令。本领域技术人员将理解的是,以下讨论对处理单元110的引用可单独或共同指应用处理器180和图像处理器190。因此,任何以下处理的步骤可由一个或多个处理装置执行。
[0198] 车道约束模块910可以存储指令,当由处理单元110执行时,该指令可以检测并且限定与诸如车道810和820的车道相关联的边界。在一些实施方式中,所检测的边界可以是人造的,例如画出的线或反射物。在其它实施方式中,所检测的边界可以简单包括道路的自然曲率或者车道或路面的终止。车道偏移模块910可处理从至少一个图像捕获装置122-124接收的多个图像,以检测车道约束。如上面讨论的,这可包括识别喷涂的车道线和/或测量路面的中点。另外,车道约束模块910可以通过从图像捕获装置122-124的视场内部的一个或更多个道路标志中提取信息来检测诸如车道810和820的行驶车道的路线和/或约束。这些道路标志的示例可以非限制性地包括包含诸如“车道尽头-向左并车”的文本消息的标志或者包含诸如车道终止的视觉表示的视觉消息的标志。
[0199] 车道定位模块920可存储指令,当由处理单元110执行时,该指令可帮助系统100确定车辆200的位置。在一些实施方式中,确定车辆200的位置的步骤可以包括:基于车辆位置的至少一个指示符,确定从车辆到与车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离。车辆200的位置的这种确定可以至少部分地基于由一个或更多个图像捕获装置122-126捕获的图像数据的分析。在一些实施方式中,可以利用地图数据(例如,GPS信息)和/或来自其它传感器(例如,激光测距仪等)的数据来补充或替换图像数据。在这种实施方式中,可以测量相对于由车道约束模块910识别的车道约束的距离。例如,到一个或更多个车道约束的距离可以指定到车道的尽头或车道已经部分终止的区域的距离(例如,针对包括减少了直至车道已经终止的距离的合并区域的车道)。为了确定车辆200的位置,车道定位模块920可以对多个图像进行处理,以检测车辆200正在行驶的道路的特征。另外地或者另选地,车道偏移模块920可以从其它模块(包括位置传感器130)或其它系统接收指示存在图像数据中的其它特征的信息(诸如其它车辆、道路的曲率等)。车道定位模块920可以使用坐标系或其它的位置表示法(例如,来自映射应用的地图数据、GPS信息等)来定期地对车辆的位置状态进行更新。状态可以被存储在系统内部,诸如存储器140/150内部。车道定位模块920可以更新位置状态,同时车辆200在设定的时间点(诸如每分钟、在预定的分钟数之后、每小时等来)移动。另选地,车道定位模块920可以在检测到特定的车辆操作(诸如变更车道、加速、减速或其它转向操作)时更新位置状态。
[0200] 动作模块930可以存储指令,当由处理单元110执行时,该指令可以帮助系统100基于从一个或更多个源(诸如位置传感器130、车道约束模块910或车道定位模块920)接收的信息来进行相对于车辆200的操作的一个或更多个动作。在一些实施方式中,动作模块930可以接收指示车辆200的当前行驶车道终止的信息。然后,动作模块930可以执行影响车辆200的操作状态的一个或更多个动作,诸如促使系统100向节流系统220、制动系统230和转向系统240中的一个或多个提供控制信号,以(例如,通过致使加速、转弯、车道移位,等等)导航车辆200。例如,在一些实施方式中,动作模块930可以向转向系统240发送指令,并且转向系统240可以执行该指令以将车辆转向到新的行驶车道中。另外地或者另选地,动作模块
300可以向与车辆200相关联的其它系统(诸如制动系统230、转弯信号、节流系统220等)发送指令。在一些实施方式中,动作模块930相反可以为车辆的人类操作者提供代表从关联系统和/或传感器收集的信息的音频、视觉、触觉或触觉反馈。然后,人类操作者可以对该反馈进行动作,以将车辆转向到不同车道。
[0201] 图10A提供了图8中描述的情况的带注释的视图。车辆200再次在道路800的车道810上行驶,该车道810即将终止。车辆200再次配备有图像捕获装置122和124;更多或更少装置可以与任何特定车辆200相关联。
[0202] 向道路800的右侧的是道路标志1002和1004。这些标志是示例性的,并且不用于限制。道路标志1002呈现车道终止的视觉描述。该标志对很多驾驶员来说是熟悉的,指示并车的需要。标志1004通常被放置为更接近车道的实际尽头,该标志1004通知驾驶员“车道尽头-向左并车”。与公开的实施方式相一致,系统100可以被配置为从诸如标志1002和1004的道路标志中提取信息,用于确定车辆200正在行驶的当前行驶车道是否终止并且何时终止。对于诸如标志1002的视觉标志来说,图像捕获装置122-126可以捕获标志的整个面的图像。
图像处理器190可以被配置为识别标志1002的图像图形,并且可以向系统100内部的其它模块或单元发送指示标志指示车道终止的信息。在一些实施方式中,系统100的构成模块或子系统(诸如存储器140/150)可以被配置为包含典型道路标志和图案的列表或数据库,用于快速、实时检测和信息提取目的。标志1004仅包含文本,因此其警告可以由系统100通过光学字符识别(OCR)能力来读取,该OCR能力可以被配置在处理单元110、存储器140/150、图像处理器190或系统100的任何其它构成子系统或模块内部。
[0203] 从道路标志中提取信息是为了车道识别目的系统100可以被配置来执行的多个动作中的一个。另外,经由存储器140/150内部的车道约束模块910和车道定位模块920,系统100可以被配置为基于车辆的位置的至少一个指示符来执行道路800的视觉确定并进行伴随的距离测量。在图10A的示例中,示出了系统100可以使用的各种潜在测量。系统100可以通过例如对由一个或更多个图像捕获装置122-126获取的一个或更多个图像进行分析来获取测量。测量1006可以表示车道810的总宽度w。距离w还可以被记作是来自图8的距离x1和x2与车辆200的宽度的总和。测量1008可以表示随着车道810终止道路800的曲率半径r。较短半径r可以指示系统100更加迫切需要将车辆200转向到车道820中。测量1010可以表示从车辆200到与车道810相关联的约束的距离d1。该约束可以指示车道810终止。如上面讨论的,约束可以是画出的线,或者可以是道路800的自然边缘。距离d1还可以被测量为障碍物(诸如栏杆、墙壁、桶、圆锥体或任何其它这种对象)的三维空间中的任何部分。距离d1和其它这种距离(诸如x1、x2和w)可以从内部或外部车辆200的任何部分测量出,该任何部分非限制性地包括:车辆200的前部、车辆200的诸如前灯或前面车牌的部分、图像捕获装置122或124的安装好的位置、所确定的车辆200的形心、车辆200的后部、与车辆200相关联的一个或更多个挡风玻璃或反光镜、车辆200的车轮、车辆200的右侧或左侧或车窗、与车辆200的车顶相关联的点、或者与车辆200的底盘相关联的点。如下面将结合图11的处理1100进行讨论的,系统100可以使用所提取的道路标志信息或距离1006-1010中的一方或双方来确定车辆200的当前行驶车道是否即将终止。
[0204] 图10B例示了系统100可以用来确定当前行驶车道是否在道路上终止的附加视觉确定和/或距离测量组。在图10B的示例中,存在在即将终止的道路800的车道810上行驶的两个车辆200a和200b。在一些实施方式中,车辆200a可以配备有系统100并且可以测量距车辆200b的后侧的距离d2。距离d2可以被测量到或者来自之前讨论的车辆200a和200b的任何部分。另选地,车辆200b可以配备有系统100,并且可以测量向后方到车辆200a的距离d2。为了图10B的示例性例示,两个车辆都被描述为配备有系统100。在一些实施方式中,系统100(在图10B中例示的两个车辆中的任何一个上)可以被配置为基于距离d2来进行当前行驶车道是否终止的视觉确定。在这些实施方式中,系统100可以被配置为基于距离d2的突然缩短来识别车道终止。另选地,系统100可以检测距离d2已经获取侧向要素,而不是作为垂直于与车辆200a相关联的前平面延伸的直线。当以这种方式进行配置时,可以测量并使用诸如c1-c4的测量,用于通过车道定位模块920的位置状态确定。距离c1-c4可以表示从车辆200a或200b的一侧到车道810的边缘的距离,不管是车道约束1014或者划分车道810/820的道路800的中间的中心虚线。在其它实施方式中,可以在车道820(未示出)的远侧测量到车道约束1012的距离。
[0205] 如图8和图10A中,图10B中的车道810即将终止,并且车辆200a和200b都将需要并入到车道820中。图10B例示了系统100可以被配置来在现场驾驶情况下进行计算、提取和/或分析的附加距离。除了上述的距离c1-c4以外,系统100还可以被配置为计算车道810相对于与该车道相关联的一个或更多个车道约束的距离w1和w2以及中点m。当加在一起时,如图10A中所示,距离w1和w2等于测量1006w。系统100可以经由车道定位模块920在设定的时间点来定期地测量车道810的距离w1和w2以及中点m。若距离w1和w2缩小,和/或如果中点m向右或向左偏移,则系统100可以确定车道810即将终止并且需要并入到另一车道。
[0206] 图11例示了与公开的实施方式相一致的用于检测针对车辆的车道终止的处理1100。处理1100的步骤可以通过处理单元110、图像获取单元120、位置传感器130、车道约束模块910、车道定位模块920或动作模块930中的一个或更多个来执行。
[0207] 在步骤1110,处理1100可包括:使用至少一个图像捕获装置122、124和/或126来获取车辆200前方区域的至少一个图像。该区域还可以包括提供指示车道终止的信息的至少一个道路标志(诸如道路标志1002和/或1004)。处理单元110可以通过数据接口128从图像捕获装置接收多个图像。然后,至少一个图像可以通过处理单元110的图像处理器190来实时地进行处理。
[0208] 在步骤1120,处理1100可以从包括在至少一个图像中的至少一个道路标志的表示中提取车道终止信息。该提取可以由图像处理器190、车道约束模块910或车道定位模块920中的一个或多个来执行。可以从图像数据中提取各种车道终止信息。例如,在诸如包括多个行驶车道(诸如车道810和820)的道路800的道路上,所提取的车道终止信息可以包括识别多个车道中的哪个车道即将终止。在其它实施方式中,所提取的车道终止信息可以包括到车道终止的距离。图像处理器190、车道约束模块910和/或车道定位模块920可以识别一个或更多个对象或车道约束,以帮助确定直至车道终止的距离。以图10A的示例为例,从数据接口128接收的一个或更多个图像可以包括道路标志1002和1004,并且可以作为道路曲率1008的一个因素以确定在车道中剩余的距离1010。在一些实施方式中,曲率1008的值本身可以独立地构成所提取的车道终止信息。作为处理所提取的信息的一部分,系统100可以使用位置传感器130来确定从车辆200到所识别的对象(例如,车道约束)中的一个或多个的距离。在一些实施方式中,系统100可以通过对由一个或更多个图像捕获装置122-126获取的一个或更多个图像进行分析来确定从车辆200到所识别的对象(例如,车道约束)中的一个或多个的距离。在其它实施方式中,系统100可以通过使用由位置传感器130提供的数据和通过由一个或更多个图像捕获装置122-126获取的一个或更多个图像的分析而获得的数据的组合来确定从车辆200到一个或更多个所识别的对象(例如,车道约束)的距离。在步骤
1130,处理1100可以基于车辆的位置的至少一个指示符来确定车辆(诸如车辆200)的位置。
车辆的位置的至少一个指示符可以包括通过直接测量工具、物理装置或模块(诸如位置传感器130)获取的信息。另选地或另外地,车辆的位置的至少一个指示符可以包括通过间接测量获得的信息。例如,在一些实施方式中,位置的至少一个指示符可以包括车辆200可以行驶在道路800上的多个车道当中的哪个车道(诸如车道810和820)上行驶的视觉确定。在其它实施方式中,位置的至少一个指示符可以包括一个或更多个视觉确定。视觉确定可以通过按照“测距仪”的方式由图像获取单元120执行的软件指令来直接确定,或者可以从由图像处理器190从数据接口128接收的并且由一个或更多个图像捕获装置122-126获取的图像数据的分析中确定。在一些实施方式中,位置的至少一个指示符可以包括到车道终止的距离的视觉确定。该确定例如可以由车道约束模块910和车道定位模块920基于从车辆200到与一个或更多个车道相关联的道路800的一个或更多个车道约束的所确定的距离来进行。在其它实施方式中,位置的至少一个指示符可以包括到第二车辆的距离的视觉确定。第二车辆可以在车辆200的前面行驶。这是上面结合图10B描述的场景。一旦被确定,位置信息就可以被存储在系统100内部,诸如存储在存储器140/150中,并且可以如上文结合图9所讨论的通过车道定位模块920来定期地进行更新。
[0209] 在步骤1140,处理1100可以(基于来自步骤1120的所提取的车道信息和来自步骤1130的从车辆到一个或更多个道路800车道约束的所确定的距离)确定车辆正在行驶的当前车道是否即将终止。如上面通常所描述的,系统100可以确定道路800内的行驶车道(诸如车道810和820)的持续状态。例如,系统100可以从在车辆前面的道路标志(诸如指示车辆
200正在行驶的车道可以很快终止的道路标志1002和1004)中提取信息。另外,可以使用系统100的各种元件来进行距离的测量。例如,位置传感器130和/或车道定位模块920可以将包括车辆200距车道的尽头多远在内的关于车道810/810内的车辆200的相对位置的信息发送到处理单元110。车道的尽头可以基于所测量的距离或者视觉确定(例如,通过对由一个或更多个图像捕获装置122-126获取的一个或更多个图像进行分析)。
[0210] 如果处理单元110从所获取的信息中确定当前行驶车道不终止(步骤1140:否),则处理1100可以返回至开头,并且系统100可以继续监测车辆200相对于其当前行驶车道的状态。例如,如果道路标志指示车道由于道路建设而即将终止,然而,但是由于主要例外(诸如天气、工作日或其它因素),实际上没有工人或障碍物在挡住车道,则上述情况可以产生。系统100还可以例如经由车道约束模块910来确定一个或更多个车道约束中的感知到的偏移可以由于新的或临时的道路模式,或者可以包括道路上的自然曲率。当然,车辆200的驾驶员(如果有的话)仍能够手动变更车道。
[0211] 另选地,如果系统100确定当前行驶车道即将终止(步骤1140:是),则处理1100可以进行到步骤1150。在步骤1150,处理1100可以促使车辆200将车道变更为道路800的不终止的另一个车道。处理单元110可以经由动作模块930来向与车辆200相关联的一个或更多个系统发送指令。例如,指令可以被发送到转向系统240,指示车辆200向左或向右并入到下一车道中。可以发送其它指令;例如,图像处理器190可以从实时图像数据中确定交通防止立即合并到下一车道中。在这些实施方式中,指令可以首先被发送到制动系统230和/或转弯信号控制系统,并且车辆200可以减速或者被停止,直至期望的新车道安全并入。此时,可以做出对转向系统220的指令并且车辆可以转弯。在一些另选实施方式中,在车辆200部分地或完全地在人类操作者的控制之下的情况下,步骤1150可以相反包括生成对操作者的通知行驶车道即将终止并且需要车道变更的反馈。在一些实施方式中,如果人类操作者在一定的时间段内不对反馈做出响应,则诸如系统100的自动系统以及其动作模块930可以接管汽车的操作并且促使车辆如上所述自动地变更车道。该时间段可以是预定的,或者可以基于诸如上面结合步骤1130所描述的视觉确定这样的距车道的尽头的距离的视觉确定来计算。
[0212] 道路上低高度对象的检测
[0213] 系统100可以检测对象何时位于当前行驶车道内,并且如果系统100确定对象超过阈值高度的话,则系统可以将关联车辆转向绕过或越过该对象。“车道”可指车辆的指定或预期行进路径并且可具有标记边界(例如,道路上的线)或未标记边界(例如,道路路边、道路障碍、护栏、停放的车辆,等等)或约束。系统100可以仅基于由一个或更多个图像获取单元获取的视觉信息来进行操作以做出这些检测和确定。在一些实施方式中,系统100可以被配置为检测道路上的突出路面之上仅仅2cm的对象。
[0214] 图12例示了在道路800上行驶的车辆200,其中可以使用用于检测道路上的对象的所公开的系统和方法。车辆200被描述为配备有图像捕获装置122和124;可以在任何特定的车辆200上采用更多或更少的图像捕获装置(例如,包括相机)。如所示,道路800可以被细分成车道,诸如车道810和820。作为示例示出了车道810和820;给定道路800可以基于道路的大小和性质,例如州际高速公路,而具有额外车道。在图12的示例中,车辆200在车道810上行驶,并且两个对象1202和1204位于车道810中。如下面详细讨论的,系统100可以促使车辆200进行转向绕过或越过(多个)对象。
[0215] 处理单元110可以被配置为基于处理单元110可经由数据接口128接收的由图像捕获装置122-126获取的多个图像来确定与车道810和820中的每一个相关联的一个或更多个车道约束。根据一些实施方式,车道约束可由可见的车道边界(诸如标记在路面上的虚线或实线)识别。另外地或替代地,车道约束可包括路面的路边或障碍。另外地或替代地,车道约束可包括标记(例如,博茨点)。根据一些实施方式,处理单元110(经由下面详细描述的车道定位模块1320)可以通过识别诸如道路800的整体的路面宽度的中点或者车道810/820中的一个的中点来确定与车道810/820相关联的约束。当例如没有画出或者标记出指定诸如车道810/820的道路车道的线时,处理单元110可以基于已知的道路参数来通过替代的方式(诸如通过估计或推断)来识别车道约束。
[0216] 道路800和构成车道810/820的约束和路径的检测可以包括经由相机坐标系来确定其3D模型的处理单元110。例如,车道810/820的3D模型可由三次多项式描述。除了行驶车道的3D建模以外,处理单元110还可执行主机运动参数(诸如车辆200的速度、偏航和俯仰速率和/或加速度)的多帧估算。处理单元110可以检测静止的和移动的对象以及其全部相对于车辆200的位置,这将在下面结合图14A、图14B和图15来进行描述。例如,处理单元110可以使用图像数据、GPS数据和/或来自传感器(例如,位置传感器130、速度传感器等等)的数据来确定车辆200的位置。处理单元110可进一步确定道路标高模型以将从多个图像获取的部分或全部信息转换到三维空间中。
[0217] 在图12的示例中,多个测量表示系统100可以考虑何时确定使用动作模块1330要采取的潜在动作,这将在下面详细进行描述。对象1202和1204在图12的例示中分别由纸板箱和梯子来表示。这些是例如在从看不到的第二车辆上落下之后被看作是典型道路上的障碍物的一般物品。这些对象仅用作示例。系统100可以被配置为检测可以在道路上发现的任何对象的存在,非限制性地包括其分支、轮胎或部分,金属或木头的废料、行驶车道内部的减速带、人类或动物、管道、另一辆车等等。
[0218] 作为与公开的实施方式相一致的驾驶员辅助对象检测系统的一部分,系统100可以确定例如距离l1和l2,该距离l1和l2可以表示车辆200的表面到道路800和/或车道810/820的各种特征(诸如车道约束、道路标志或任何其它这种特征)的距离。进一步,系统100可以确定距离d3和d4,该距离d3和d4分别是从车辆200的表面到对象1202和1204中的每一个的测量的距离。诸如l1、l2、d3和d4的距离可以从内部或外部车辆200的任何部分测量出,该任何部分非限制性地包括:车辆200的前部、车辆200的诸如前灯或前面车牌的部分、图像捕获装置122或124的安装好的位置、所确定的车辆200的形心、车辆200的后部、与车辆200相关联的一个或更多个挡风玻璃或反光镜、车辆200的车轮、车辆200的右侧或左侧或车窗、与车辆200的车顶相关联的点、或者与车辆200的底盘相关联的点。下面将详细讨论可以如何使用这些示例性距离测量来确定由系统100采取的潜在动作的进一步细节。
[0219] 图13是与公开的实施方式相一致的存储器140和/或150的示例性框图,该存储器140和/或150可存储用于执行一个或多个操作的指令。如图13中图示的,存储器140可存储用于执行本文中描述的对象检测和响应的一个或多个模块。例如,存储器140可以存储对象检测模块1310、车道定位模块1320和动作模块1330。应用处理器180和/或图像处理器190可执行存储在任何模块1310-1330(包括在存储器140中)中的指令。本领域技术人员将理解的是,以下讨论对处理单元110的引用可单独或共同指应用处理器180和图像处理器190。因此,任何以下处理的步骤可由一个或多个处理装置执行。
[0220] 对象检测模块1310可以存储指令,当由处理单元110执行时,该指令可以检测在道路800内部(诸如在车道810和820内部)发现的一个或更多个对象。如下面将结合图14A、图14B和图15要讨论的,对象检测模块1310可以识别由一个或更多个图像捕获装置122-126捕获的图像数据内部的一个或更多个对象并且确定这些对象正停留在路面上。对象检测模块
1310还可以确定与路面相对应的参考平面,并且可以使用该参考平面来确定所识别的对象的尺寸和属性(诸如其高度、长度和宽度)。对象检测处理还可以包括识别画出的车道线和/或测量诸如道路800的路面的中点,为了确定参考平面且为了确定道路/车道内部的对象的位置。在一些实施方式中,用来生成图像数据的图像捕获装置的视场可以是从大约35度到大约55度的范围。
[0221] 车道定位模块1320可存储指令,当由处理单元110执行时,该指令可帮助系统100确定车辆200的位置。在一些实施方式中,确定车辆200的位置的步骤可以包括:基于车辆位置的至少一个指示符,确定从车辆到与车辆正在行驶的当前车道相关联的一个或更多个车道约束的距离。在这种实施方式中,还可以测量相对于由对象检测模块1310检测的所识别的对象的距离。与公开的实施方式相一致,可以使用针对一个或更多个车道约束而测量的距离来确定是否需要或推荐车辆200的定向路线上的变化。为了确定车辆200的位置,车道定位模块1320可以对多个图像进行处理,以检测车辆200正在行驶的道路的特征。另外地或者另选地,车道定位模块1320可以从其它模块(包括位置传感器130)或其它系统接收指示存在图像数据中的其它特征的信息(诸如其它车辆、道路的曲率等)。
[0222] 动作模块1330可以存储指令,当由处理单元110执行时,该指令可以帮助系统100基于从一个或更多个源(诸如位置传感器130、对象检测模块1310或车道定位模块1320)接收的信息来进行相对于车辆200的操作的一个或更多个动作。在一些实施方式中,动作模块1330可以(从例如对象检测模块1310)接收指示已经检测到道路800上的一个或更多个对象的信息。该信息还可以包括所检测的对象的一个或更多个尺寸或属性,诸如其相对于路面的高度。然后,动作模块1330可以执行影响车辆200的操作状态的一个或更多个动作,诸如促使系统100向节流系统220、制动系统230和转向系统240中的一个或多个提供控制信号,以(例如,通过致使加速、转弯、转向、车道移位,等等)导航车辆200。例如,在一些实施方式中,动作模块1330可以向转向系统240发送指令,并且转向系统240可以执行该指令以将车辆转向到新的行驶车道中。在其它实施方式中,动作模块1330可以确定更安全和/或更好的动作路线将要简单地使车辆200转向使得其经过对象的顶部,假设该对象的高度低于车辆
200的路净空高度。另外地或者另选地,动作模块1330可以向与车辆200相关联的其它系统(诸如制动系统230、转弯信号、节流系统220等)发送指令。在一些实施方式中,动作模块
1330相反可以为车辆的人类操作者提供代表从关联系统和/或传感器收集的信息的音频、视觉、或触觉反馈。然后,人类操作者可以对该反馈进行动作,以将车辆转向到不同车道。
[0223] 图14A例示了可以由系统100经由图像捕获装置122-126获取的多个所捕获的图像当中的两个图像的示例。在图14A的示例中,图像1402(顶部)可以是所获取的第一图像,并且图像1404(底部)可以是稍后(诸如几秒钟之后)拍摄的第二图像。如能够从图像1402和1404中看出的,配备有系统100的车辆(诸如上面的车辆200)在道路(诸如道路800)上行驶。
道路在车辆的正前方对齐,道路的视线在地平面1406处终止。基于图像1402中例示的视线,道路可以形成坡。任何道路建设或对齐都能够通过系统100来进行分析。如能够从图像1402和1404中看出的,表示最初未知尺寸的纸板箱的对象1202位于所例示的道路的右行驶车道的中间。
[0224] 在一些实施方式中,系统100可以被配置为对所捕获的图像(诸如图像1402和1404)进行分析,以确定与道路平面(诸如路面)相对应的参考平面。下面将结合图15和处理
1500来更加详细地对该处理进行描述。简单来说,系统100(经由处理单元110和图像处理器
190)可以确定与路面相对应的参考平面,作为与路面相关联的平均表面水平面。由于道路的构成(即,沥青、混凝土或者甚至砂砾)或者道路的倾斜和/或曲率的变化,这可能导致路面的变化。来自多个图像当中的多个图像可以用来确定参考平面。在图14A的例示中,所确定的参考平面由参考平面1408来表示。
[0225] 系统100可以经由处理单元110和对象检测模块1310将一个或多更多个对象(诸如对象1202)定位为位于道路上。例如当对象出现在所捕获的多个图像当中的多个图像中的相同位置时,可以发生检测。对象(诸如对象1202)可以是移动的或静止的。在图14A的例示中,对象1202在道路上是静止的。可以由对象检测模块1310通过各种方法来确定(多个)对象的(多个)位置。在一些实施方式中,可以通过GPS和/或其它基于坐标的系统来确定(多个)目标对象的位置。进一步,对象检测模块1310可以进行对象1202的位置的视觉确定。在一些实施方式中,对象检测模块1310、位置传感器130和图像处理器190中的一个或更多个还可以确定对象1202距车辆200有多远,如上面结合图12所讨论的。当以这种方式进行配置时,可以测量并使用如图12中所示的诸如d3-d4的测量,用于通过车道定位模块1320执行的位置状态确定。
[0226] 可以结合图5至图7以上述的方式来计算从车辆200到在道路内部检测到的对象(诸如对象1202)的距离。例如,系统100可分析图像数据、位置数据(例如,GPS地点信息)、地图数据、速度数据和/或来自包括在车辆200中的传感器的数据,以计算距离。系统100可收集来自例如图像获取单元120、位置传感器130及其它传感器的数据以供分析。
[0227] 在一些实施方式中,处理单元110可基于以下技术来构建测量结果:基于估算技术使用一系列基于时间的观察(诸如卡尔曼滤波器或线性二次估算(LQE));和/或基于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志,等等)的可用建模数据。卡尔曼滤波器可基于对象尺度的测量结果,其中尺度测量结果与将要碰撞的时间(例如,车辆200到达对象所需的时间量)成比例。
[0228] 处理单元110在一些实施方式中可以被配置为使用之前所讨论的一个或更多个数学算法或模型来创建道路的可视部分的3D重构。例如,如上面结合图5所讨论的,处理单元110可以确定车辆200的前瞻距离,该前瞻距离可以具有从10米到20米的下限范围,可以被计算为车辆200的速度和所确定的前瞻时间的乘积。例如,随着车辆200的速度降低,前瞻距离也可减小(例如,直到前瞻距离达到下限)。另外地或者另选地,处理单元110可执行立体图像分析模块404来执行第一和第二多个图像的立体图像分析,以创建车辆前方道路的3D地图并且检测图像内的特征,诸如对象1202。处理单元110可以通过观察可以相对于出现在图像数据内部的多个所捕获的图像中的至少两个图像中的对象而存在的差异来估计相对于对象1202相对于车辆200的位置。例如,相对于车辆200的位置、速度和/或加速度可基于与对象1202关联的特征的轨迹、位置、移动特性等等来确定。
[0229] 对象1202可以是相对平坦的对象,或者其可以是三维的。如下面进一步详细讨论的,如果对象是平坦或者相对平坦(例如,2cm或更小、1cm或更小等),则系统100可以确定不需要进一步的动作或车辆200的路线的变更。在图14A的例示中,对象1202再次是纸板箱。在第一图像1402中,对象1202具有初始维度ox1、oy1和oz1。系统100可以经由对象检测模块1310被配置为基于参考平面1408、所检测的道路的车道约束或者图像数据内部的已知大小和/或位置的其它参考点来确定这些维度。在稍后拍摄的第二图像1404中,对象1202那时更靠近车辆,并且表现得更大。对象1202那时具有第二维度ox2、oy2和oz2。系统100可以通过与第一组维度相同的方式来确定该第二组维度。
[0230] 在一些实施方式中,系统100可以使用第一图像1402和至少第二图像(诸如图像1404)中的对象1202的所确定的维度来收集更多关于该对象的信息并确定该对象的一个或更多个属性。在一些实施方式中,系统100(经由处理单元110和/或图像处理器190)可以被配置为基于之前被编程到集成数据库或通过互联网可访问的数据库中的已知对象来自动识别对象。在这些实施方式中,系统100可以被配置为生成对车辆200的人类操作者的音频或视觉反馈。
[0231] 系统100可以确定例如来自图像1404的一个或更多个维度ox2、oy2和oz2与来自图像1402的维度ox1、oy1和oz1不同。如果来自图像1404的第二组维度小于来自第一图像1402的维度,则对象有可能远离车辆200移动并且通常不受关注。如果第二组维度被确定为大于第一组维度,则该确定可以指示对象1202要么在道路上静止要么朝向车辆200移动,并且可以进行其它动作。例如,系统100可以确定对象1202相对于参考平面1408的高度(实质上,维度ox1/ox2),以确定对象1202相对于路面的大致高度。在一些实施方式中,系统100可以被配置为检测尽量小如2cm高的对象。基于所确定的对象的高度,系统100可以进行多个另选动作中的一个动作,如下面将更加详细地讨论的。
[0232] 图14B提供了图12中描述的情况的带注释的视图。车辆200(这里表示为车辆200c)再次在道路800的车道810上行驶。车辆200c再次配备有图像捕获装置122和124;更多或更少装置可以与任何特定车辆200相关联。
[0233] 对象1202被定位在道路800的车道810上。使用上面结合图14A(并且下面结合图15和处理1500更加详细地)描述的处理,系统100可以被配置为基于从一个或更多个图像捕获装置122-126获取的并且经由数据接口128接收的多个图像来确定对象1202的多个属性。这些属性可以包括对象1202的位置和尺寸,包括其相对于道路800的表面的高度。
[0234] 作为初始步骤,系统100可以经由位置传感器130和/或车道定位模块1320来确定车辆200c和对象1202的相对位置。该确定可以包括确定车道约束或者与道路800和/或车道810/820相关联的其它这种位置指示符。系统100然后可以经由处理单元110通过计算距所确定的约束的距离来确定其当前行驶车道(这里,车道810)内部的车辆200c的位置。在图
14B的例示中,系统100可以例如确定从车辆200的一个或更多个表面到车道约束的距离q1和q2。进一步,系统100可以确定从车辆200c的表面到对象1202的表面的距离d2。系统100还可以诸如通过测量从对象1202的表面到车道约束分离车道810和820的距离q3来确定横向位于车道内部的对象1202的相对定位。这些所确定的距离中的每一个(诸如q1、q2等等)可以从车辆200c的内部或外部的任何部分测量出,该任何部分非限制性地包括:车辆200c的前部、车辆200c的诸如前灯或前面车牌的部分、图像捕获装置122或124的安装好的位置、所确定的车辆200c的形心、车辆200c的后部、与车辆200c相关联的一个或更多个挡风玻璃或反光镜、车辆200c的车轮、车辆200c的右侧或左侧或车窗、与车辆200c的车顶相关联的点、或者与车辆200c的底盘相关联的点。距离d2和q3还可以被测量为对象1202的三维空间中的任何部分。
[0235] 至少基于如上面结合图14A所讨论的所确定的对象1202的尺寸,以及图14B中所例示的所确定的距离,系统100可以确定要进行的一个或更多个动作。系统100可以经由动作模块1330进行动作,以向车辆200c的各种关联子系统发送信息和指令以执行动作,这些子系统非限制性地包括节流系统220、制动系统230和转向系统240。由动作模块1330进行的动作还可以通过车辆200c的路净空高度的确定来通知。该净空高度可以是存储在系统100的存储器140/150中的已知值,或者其可以基于轮胎的充气状态、路面、天气状况等的各种因素在每种驾驶情况下再次确定。在一些实施方式中,净空高度可以使用光学和参考点(例如,从车辆200c到路面上的点)或者通过声音回声、光回声、来自路面的无线电频率等来测量。然后动作模块1330可以基于所确定的对象1202的高度和车辆200c的路净空高度来确定要进行的多个另选动作中的一个动作。例如,如果对象1202的高度小于车辆200c的路净空高度,则动作模块1330可以确定动作的安全进程是简单地什么也不做,并且允许车辆200c驾驶超过对象1202,对象被定位在车辆200c的车轮之间。另选地,动作模块1330可以确定对象1202的高度低于车辆200c的路净空高度,但是车辆200c的定向路线上的微小变化可以允许车辆200c安全驾驶过对象1202。进一步,系统100和动作模块1330可以确定对象1202的高度超过车辆200c的路净空高度,并且为了避开对象1202可能需要车辆200c的定向路线的正确调整。为了安全进行路线变更,这些调整还可能需要向节流系统220和/或制动系统230发送指令。
[0236] 该后一种场景在图14B中进行例示。这种例示仅仅是示例,并且不用于限制。在图14B的示例中,系统100已经确定对象1202的高度高于车辆200c的路净空高度。因此,动作模块1330可以基于如上所述的所检测的车道约束和所测量的距离来确定车辆200c的最佳动作路线是稍微向右移动以避开对象1202。然后,动作模块1330可以向节流系统220、制动系统230和转向系统240发送指令,以实现该定向路线的变更。
[0237] 当车辆200c经过对象1202时,车辆200c的投影位置由车辆200d来表示。为了成功完成对象1202的经过,系统100可以确定新的其它距离。例如,系统100可以确定如图14B中所示的距离q4,该距离q4对应于从对象1202到车辆200d的表面的所需要的安全距离。系统100还可以经由车道定位模块1320来计算距离q5和q6,该距离q5和q6表示车辆200d相对于所检测的车道约束的位置。这些距离可以被发送到动作模块1330,以帮助确定车辆200d的合适的定向路线。理想地,车辆200d将成功转弯经过对象1202,同时停留在车道810的约束之内。然而,在一些实施方式中,为了避免对象1202,可能需要车辆200d移动到车道810的约束的外面,或者可能需要车辆200d简单变更车道,诸如变更到车道820。一旦经过了对象1202,动作模块1330就可以向节流系统220、制动系统230和转向系统240发送可以恢复车辆200的正常操作的指示。
[0238] 图15例示了与公开的实施方式相一致的用于检测道路上的对象的处理1500。处理1500的步骤可以通过处理单元110、图像获取单元120、位置传感器130、图像处理器190、对象检测模块1310、车道定位模块1320或动作模块1330中的一个或更多个来执行。
[0239] 在步骤1510,处理1500可包括:使用至少一个图像捕获装置122、124和/或126来获取车辆200附近区域的多个图像。在一些实施方式中,多个图像可以是车辆200的前方区域的图像。处理单元110可以通过数据接口128从(多个)图像捕获装置接收多个图像。然后,多个图像可以通过处理单元110的图像处理器190来实时地进行处理。图像处理器190可以对由至少一个图像捕获装置捕获的第一图像、以及在稍后的时间点捕获的至少一个附加图像进行处理。至少一个图像捕获装置可以被配置为具有大约35度到大约55度之间的视场。上面结合图14A例示了系统100的所获取图像和潜在视场的示例。
[0240] 在步骤1520,处理1500可以确定与道路800的表面相对应的参考平面。该确定可以由图像处理器190、对象检测模块1310或车道定位模块1320中的一个或多个来执行。参考平面可以与上面结合图14A描述的平面1408相似。参考平面可以基于由至少一个图像捕获装置获捕获的多个图像来确定。在这些实施方式中,参考平面可以通过对多个图像当中的第一图像和至少第二图像进行分析来确定。在一些实施方式中,路面的位置可以通过图像处理器190对多个图像的分析来确定。
[0241] 参考平面可以通过视差信息的方式,或者通过检测路面上的一个或更多个车道约束的方式来检测。在一些实施方式中,参考平面可以通过图像数据中的色差或暗度差来确定。处理单元110可以利用图像处理器190生成并提出多个潜在参考平面,然后选择最佳候选。一旦选择了参考平面,就可以将关于其位置的信息存储在系统100内部,诸如存储在存储器140/150中。在一些实施方式中,处理单元110和/或图像处理器190可以基于路面的变化(诸如标高变化或曲率变化)或者当车辆200转弯到不同道路上时定期地重新确定参考平面。在一些实施方式中,处理单元110可以被配置为确定与道路800的表面相对应的参考平面1408,作为与出现在多个图像中的路面相关联的平均表面水平面。例如当道路800不完全平坦或者异常时(诸如如果路面包括砂砾、凹坑、雪或冰、泥、植被等等中的一种或多种),这种方法可以有用。
[0242] 在步骤1530,处理1500可以将目标对象定位在多个图像内的第一图像和稍后拍摄的至少一个第二图像中。如上面结合图14A所例示的,对象检测模块1310可以基于图像存在于由系统获取的多个图像当中的多个图像中来对该图像进行定位。对象检测模块1310可以确定与所检测的对象相关联的一个或更多个潜在测量。如上面结合图14A至图14B所讨论的,这些测量可以包括对其它对象(诸如车辆或车道约束)的相对测量。可以通过直接测量工具、物理装置或模块(诸如位置传感器130)来帮助对象位置的确定。在其它实施方式中,这些确定可以包括一个或更多个视觉确定。视觉确定可以通过按照“测距仪”的方式由图像获取单元120执行的软件指令来直接确定,或者可以从由图像处理器190从数据接口128接收的并且由一个或更多个图像捕获装置122-126获取的图像数据的分析中确定。一旦被确定,对象的位置就可以被存储在系统100内,诸如存储在存储器140/150中,并且可以通过对象检测模块1310来定期地进行更新。
[0243] 在步骤1540,处理1500可以确定所检测的(多个)对象的一个或更多个属性。在一些实施方式中,对象可以基于存储在与系统100相关联的数据库中的信息而被识别为特定对象。如上所讨论的,这些所确定的属性可以包括所检测对象的尺寸(诸如其相对于所检测参考平面的高度)。系统100可以被配置为确定道路内的在参考平面上面延伸至少大约2cm的任何对象的高度。在另选实施方式中,系统100可以被配置为检测并确定在参考平面上面在2cm到10cm之间延伸的任何对象的属性。在其它实施方式中,目标对象高度的确定还可以基于检测到的所述车辆的速度。可以基于从节流系统220或制动系统230中的一个或多个接收的信息来确定速度。关于计算针对路面的参考平面和计算目标对象的高度的其它细节可以在2014年11月26日提交的美国专利申请14/554,500中找到,该美国专利申请的全部内容通过引用的方式并入在本文中。
[0244] 系统100可以被配置为基于所确定的属性来确定与所检测的对象相关联的动作。例如,系统100和动作模块1330可以被配置为除非所检测的对象的确定高度超过阈值水平,否则不进行任何实质性的动作。在一些实施方式中,如上面所讨论的,阈值水平可以是大约
2cm,或者取决于用户或系统偏好可以更高(例如,3cm、4cm、5cm、6cm等等)。例如,在一些实施方式中,阈值可以与车辆200的所检测的路净空高度相关联。如果处理单元110从所获取的信息中确定对象的高度不超过所配置的阈值(步骤1550:否),则处理1500可以返回至开头,并且系统100可以继续监测道路内的潜在对象的状态。
[0245] 另选地,如果系统100响应于在道路中存在所检测的对象而确定可能需要动作(步骤1550:是),则处理1100可以进行到步骤1560。在步骤1560,处理1500可以促使车辆200变更定向路线,以避开或经过所检测的对象。处理单元110可以经由动作模块1330来向与车辆200相关联的一个或更多个系统发送指令。例如,指令可以被发送到转向系统240,指示车辆
200向左或向右并入到下一车道中。另选地,可以发送指令以转弯绕过对象,或者变更定向路线使得车辆仅驾驶越过对象,该对象位于车轮之间。可以发送其它指令;例如,图像处理器190可以从实时图像数据中确定交通或其它障碍物防止定向路线的立即变更。在这些实施方式中,指令可以首先被发送到制动系统230和/或转弯信号,并且车辆200可以减速或者被停止,直至能够进行定向路线变更。此时,可以安全地做出对转向系统220的指令并且车辆可以转弯以变更路线。
[0246] 在一些另选实施方式中,在车辆200部分地或完全地在人类操作者的控制之下的情况下,步骤1560可以相反包括生成对操作者的通知在道路上检测到对象并且建议或需要定向路线的变更的反馈。在一些实施方式中,如果人类操作者在一定的时间段内不对反馈做出响应,则诸如系统100的自动系统以及其动作模块1330可以接管汽车的操作并且促使车辆如上所述自动地变更路线。该时间段可以是预定的,或者可以基于诸如上面结合图12和图14A至图14B所描述的视觉确定的视觉确定来计算。
[0247] 超宽交通灯检测系统
[0248] 在一些实施方式中,系统100可以识别位于车辆200中的典型驾驶员定位的视线的外部的对象。车辆200中的典型驾驶员定位在道路的右手侧驾驶的国家中位于前座的左侧,并且在道路的左手侧驾驶的国家中位于前座的右侧。美国国家公路交通安全管理局推荐为了安全原因驾驶员自身与驾驶员安全气囊相距10英尺(25.4厘米)。该距离从方向盘的中心到驾驶员的胸骨测得。因为车辆200是不透明的,车辆200的部分(例如,车顶、车门、挡风玻璃框等等)可以使始于典型驾驶员定位的视角模糊。另外,虽然人类具有几乎180度的面向前方的水平视场,人类视场的垂直范围明显较小。然而,驾驶员辅助系统可以使用具有超过坐在典型驾驶员定位上的驾驶员的视角的延伸视角的图像捕获装置(例如,图像捕获装置122)。延伸视角可以使得系统100识别驾驶员无法检测的在车辆200的环境中的对象。而且,系统100可以确定与所识别的对象相关联的变化,并因此进行动作。例如,系统100可以确定位于车辆200上方的区域中的交通灯的状态变化。作为另一示例,系统100可以确定位于车辆200旁边的区域中的不同对象(例如,行人)的轨迹。
[0249] 图16和图17是与公开的实施方式相一致的在两种情况下的车辆200的概略表示。如图16和图17中所例示的,车辆200可以包括与第一视角相关联的图像捕获装置122。第一视角在垂直方向上由FOV 1610来表示,如图16中所示,并且在水平方向上由FOV 1710来表示,如图17中所示。图16和图17中同样例示的是始于车辆200中的典型驾驶员定位的第二视角。第二视角在垂直方向上由FOV 1620来表示,如图16中所示,并且在水平方向上由FOV 
1720来表示,如图17中所示。与本公开的实施方式相一致,与图像捕获装置122相关联的第一视角可以大于与车辆200中的典型驾驶员定位相关联的第二视角。较大的第一视角与第二视角之间的增量在本公开中被标记为延伸区域。在一些实施方式中,延伸区域可以包括系统100可以识别的位于车辆200中的典型驾驶员定位的视线的外部的对象。另外,系统100可以基于与在延伸区域中识别的对象相关联的所确定的变化来触发一个或更多个动作(例如,产生导航响应)。
[0250] 图16例示了用于确定与位于车辆200的典型驾驶员定位的视线的外部的一个或更多个对象相关联的变化的第一示例。图16中使用FOV 1610和FOV 1620的角范围,用于例示目的。在一些实施方式中,FOV 1620可以是例如大约65度,FOV 1610可以是例如高于65度。在其它实施方式中,FOV 1620可以是例如大约135度,FOV 1610可以是例如高于150度、高于
160度或者高于170度。在一些实施方式中,FOV 1610和FOV 1620可以在从水平面开始的向上方向上测得。如图16中所示,延伸区域可以包括位于车辆200上方的区域中的交通灯架
1630。位于典型驾驶员定位的视线外部的交通灯架1630显示红灯。在一些实施方式中,系统
100能够在车辆200的驾驶员甚至无法看到交通灯架的情况下检测交通灯和交通灯的显示颜色的变化。
[0251] 这些情况的一个示例是车辆200的驾驶员以促使车辆200停在十字路口的停止线和/或将车辆200放置为太靠近交通灯架1360的方式施加制动。这些情况的另一示例是车辆200到达十字路口处的停止线,并且交通灯架1630被放置在高杆上所以其能够从远处被看到。因为交通灯架1630位于FOV 1620的外部,当交通灯架1630中的灯变绿时,坐在典型驾驶员定位上的驾驶员将不能检测状态变化。然而,因为交通灯架1630位于FOV内部并因此考虑到图像捕获装置122,系统100将能够检测交通灯的状态变化。识别位于车辆200上方的区域中的交通灯可以提高安全性和驾驶员便利性。例如,当考虑车辆200的驾驶员和乘客的安全性时,如果交通灯架1630不在FOV 1620内,则使车辆200倒退直至交通灯架1630位于FOV 
1620内可能是不安全的。另外,即使使车辆200倒退不危险,对驾驶员来说使车辆200倒退也可能是不方便的。在一个实施方式中,在确定交通灯架1630中的灯已经变绿之后,系统100可以促使车辆200加速以通过十字路口。
[0252] 图17例示了用于确定与位于车辆200的典型驾驶员定位的视线的外部的对象相关联的变化的第二示例。图17中使用FOV 1710和FOV 1720的角范围,用于例示目的。在一些实施方式中,FOV 1720可以是例如大约180度,FOV 1710可以是例如高于200度、高于240度或者高于300度。如图17中所示,延伸区域可以包括位于车辆200旁边的区域中的行人1730。行人1730可以在特定方向上移动。在一些情况下,行人1730可以被定位在FOV 1720的边缘,但是因为驾驶员集中于前方的道路上,其可能无法检测行人1730。相反,系统100不但具有较大的FOV,其不必集中于前方的道路上并且能够识别位于其FOV的任何区域中的对象。因为行人213位于FOV 1710内,系统100可以检测行人1730并且确定行人的行走方向轨迹。在其它实施方式中,系统100可以识别位于车辆200的旁边的对象、确定对象的移动方向轨迹、确定对象是否在具有车辆200的可能碰撞路线上、并因此进行动作。例如,在确定行人1730在具有车辆200的可能碰撞路线上之后,系统100可以控制车辆的喇叭以生成一种类型的音频警报。
[0253] 如上所讨论的,图3B至图3D例示了被配置为被定位在后视镜310的后面并且靠着车辆挡风玻璃的示例性相机安装件370。如图3B至图3D中所示,相机安装件370可包括多个图像捕获装置(122、124和126)。在一个实施方式中,图像捕获装置122、124和126的组合的视角形成第二视角。例如,为了使FOV 1710高于300度,可以使用六个图像捕获装置的组合。在不同实施方式中,图3B至图3D中描述的图像捕获装置中的至少一个图像捕获装置(例如,图像捕获装置122)包括超宽透镜。超宽透镜可以使得图像捕获装置122能够具有第一视角。
在一些实施方式中,超宽透镜可以具有比图像捕获装置122的图像传感器的短边短的焦距。
另选地,超宽透镜可以具有比图像传感器的长边短、但是比图像传感器的短边长的焦距。与本公开的实施方式相一致,图像捕获装置122可以被配置为捕获相对于图像捕获装置122的定位被定位在例如150度到180度之间、150度到190度之间、160度到180度之间或者170度到
180度之间的圆锥曲线区域中的交通灯的图像。
[0254] 图18是与公开的实施方式相一致的存储器的示例性框图,该存储器被构造成存储用于执行一个或多个操作的指令。如图18中所示,存储器140或150可存储对象识别模块1802、状态确定模块1804和系统响应模块1806。公开的实施方式并不限于任何特定构造的存储器140或150。进一步,处理单元110可执行存储在任何模块1802-1806(包括在存储器
140或150中)中的指令。
[0255] 在一个实施方式中,对象识别模块1802可存储软件指令(诸如计算机视觉软件),当由处理单元110执行时,该软件指令识别位于车辆200中的典型驾驶员定位的视线外部的对象。在一个实施方式中,处理单元110可以扫描多个图像,将图像的部分与一个或更多个预定图案进行比较,并且识别在车辆200旁边的区域中的交通灯。在另一实施方式中,处理单元110可以扫描多个图像,将图像的部分与一个或更多个预定图案进行比较,并且识别位于车辆200旁边的区域中的对象。在一些实施方式中,模块1802可以存储软件指令,当由处理单元110执行时,该软件指令识别十字路口并确定交通灯可能在附近。处理单元110识别十字路口的一种方式是通过使用历史图像数据。例如,处理单元110可以在即使当在当前图像中看不到交通灯、但是在之前图像(例如,前一帧、五帧之前等等)中曾看到交通灯时也可以确定交通灯可能在附近。另外地或另选地,处理单元110可以识别指示附近十字路口的图像数据对象。例如,处理单元110可以通过识别前方道路的图像数据中的十字交叉路来确定交通灯可能在附近。在另一示例中,处理单元110可以在图像数据中识别控制在与车辆200的行驶方向相反的方向上进行的交通的其它交通灯的后部。另外地或另选地,处理单元110可以使用地图数据(诸如来自地图数据库160的数据)来识别十字路口。例如,处理单元110可以考虑从地图数据库160中提取的通常道路形状描述,以确定交通灯可能在附近。
[0256] 在另一实施方式中,模块1802可以存储软件指令,当由处理单元110执行时,该软件指令对多个图像中的光学畸变进行校正以使得能够识别对象。光学畸变可以是图像捕获装置122使用超宽透镜的结果。例如,光学畸变可以是图像放大率随着距光学轴的距离而减小的桶形畸变,并且因此该畸变可以最接近图像帧的边缘。与本公开相一致,可以使用多种算法来校正可以使用超宽透镜产生的光学畸变。例如,可以使用一种算法来校正光学畸变,以识别接近图像帧的边缘的对象。作为另一示例,可以使用不同算法来识别位于图像帧的边缘处的对象的状态。在另一实施方式中,图像捕获装置可以包括多个图像捕获装置(例如,图像捕获装置122、124和126),并且每个图像捕获装置可以与不同视场相关联。模块1802可以存储软件指令,当由处理单元110执行时,该软件指令可以对从多个图像捕获装置中导出的图像正确进行组合。例如,即使当在两个图像捕获装置的视场中存在一些重叠时,对象的不同部分也可以由不同的图像捕获装置来捕获。因此,对象识别模块1802可以包括用于识别跨越由不同图像捕获装置捕获的相邻图像的区域中的对象的指令。
[0257] 在一个实施方式中,状态确定模块1804可以存储软件指令,当由处理单元110执行时,该软件指令确定在图像数据中识别并且至少部分地位于延伸区域内部的对象的状态。与本公开相一致,延伸区域包括图像捕获装置的视场(例如,FOV 1610和1710)与车辆200的典型驾驶员定位的视场(例如,FOV 1620和1720)之间的区域。在一个实施方式中,状态确定模块1804可存储软件指令,当由处理单元110执行时,该软件指令确定位于车辆200上方的区域中的交通灯的状态。例如,处理单元110可以通过将一个或更多个图像与所存储的图案进行比较来确定交通灯的状态。另外,可以基于所存储的图案与在不同的时间拍摄的两个或更多个图像之间的差来确定交通灯的状态的变化。在另一实施方式中,状态确定模块
1804可存储软件指令,当由处理单元110执行时,该软件指令确定位于车辆200旁边的区域中的移动对象的轨迹。例如,处理单元110可以通过将多个图像彼此进行比较来确定移动对象的轨迹。另外,处理单元110可以确定移动对象是否位于具有车辆200的可能碰撞路线上。
[0258] 在一个实施方式中,系统响应模块1806可存储软件指令,当由处理单元110执行时,该软件指令在车辆200中产生一个或更多个响应。一种类型的系统响应可以包括导航响应,如上面参照导航响应模块408详细描述的。其它类型的系统响应可以涉及控制节流系统220、制动系统230和/或转向系统240。例如,处理单元110可发送电子信号,致使系统100物理地踩下制动器达预定的量或者部分地松开车辆200的加速器。进一步,处理单元110可发送致使系统100车辆200沿特定方向转向的电子信号。这种响应可以基于关联交通灯的确定。其它系统响应可以包括提供各种通知(例如,警告和/或警报)。通知可以包括:报告位于车辆200上方的交通灯的状态;报告位于车辆200上方的交通灯的状态的变化;报告在车辆旁边存在对象;以及报告对象位于具有车辆200的碰撞路线上。
[0259] 图19是示出用于基于如图16中描述的位于车辆200上方的区域中的交通灯的状态的变化来对车辆进行导航的示例性处理1900。预期一种用于基于如图17中所示的位于车辆200的旁边的区域中的移动对象的轨迹来对车辆进行控制的相似处理。因此,示例性处理
1900可以适用于各种情况,包括图17中描述的情况。
[0260] 如图19中所示,在步骤1902,图像捕获装置122可以在典型驾驶员定位的视线的外部获取位于车辆200上方的区域中的交通灯的多个图像。在步骤1904,处理单元110可以基于车辆位置的至少一个指示符(例如,车道标记)来确定多个图像中的所捕获的交通灯的关联。在一些实施方式中,该步骤可以是可选的并且可省略。在步骤1906,处理单元110可以基于来自多个图像当中的至少第一图像的分析来确定交通灯的状态。在步骤1908,处理单元110可以基于来自多个图像当中的至少第二图像来确定交通灯的状态的变化。例如,交通灯的状态的变化可以是从红灯变为绿灯。在确定交通灯的状态已经变化之后,在步骤1910,处理单元110可以基于所确定的状态变化来产生系统响应。处理1900的这些步骤下面将更加详细地进行讨论。
[0261] 在步骤1902,图像捕获装置122可以获取位于车辆200上方的区域中的交通灯的多个图像。与公开的实施方式相一致,图像捕获装置122可以包括一个或更多个图像捕获装置。与一些实施方式相一致,交通灯可以位于车辆200中的典型驾驶员定位的视线的外部。例如,交通灯可以位于如参照图16进行描述的延伸区域中。在一些实施方式中,图像捕获装置122可位于车辆200的内部。另外,虽然在一些实施方式中图像捕获装置122可以位于后视镜后面并且靠着车辆挡风玻璃,但是处理单元110可以通过挡风玻璃来确定交通灯的状态。
[0262] 在步骤1904,处理单元110可以基于车辆位置的至少一个指示符来确定位于车辆200上方的区域中的交通灯的关联。系统100如何可以确定交通灯的关联的详细公开将在下面结合图20至图23来给出。在一些实施方式中,车辆位置的指示符可以从对多个图像的分析中导出。例如,处理单元110可以基于多个图像中的车道标记的识别来确定交通灯与车辆
200的相对位置。另外地或另选的,车辆位置的指示符可以由从位置传感器130中检索出的地理位置数据中导出。例如,处理单元110可以基于GPS信号或当地定位信号来确定交通灯与车辆200的相对位置。在一些实施方式中,处理单元110可以将GPS获取的车辆位置与地图数据进行比较,以确定交通灯的关联。例如,处理单元110可以使用从图像数据和地图数据中导出的信息来进行分析。使用所导出的信息,处理单元110可以确定位于车辆200上方的区域中的所检测的交通灯与车辆200当前正在行驶的车道之间的对应。
[0263] 在步骤1906,处理单元110可以基于来自多个图像当中的至少第一图像的分析来确定交通灯的状态。在一些实施方式中,位于车辆200上方的区域中的交通灯的状态与交通灯指示的颜色相关联。例如,稳定的绿灯可以指示车辆200在给道路上的其它车辆、自行车或行人让路之后能够继续;闪烁的黄灯是警告并且可以指示车辆200应当谨慎行事;并且稳定的红灯可以指示车辆200需要停止。另外地或另选地,交通灯的状态还可以包括与交通灯相关联的附加信息。该附加信息可以是交通灯的类型。例如,位于车辆200上方的区域中的交通灯可以是行人通过信号。因此,处理单元110可以确定行人可能通过车辆200前面的道路。在一些实施方式中,为了确定位于车辆200上方的区域中的交通灯的状态,处理装置110可以校正至少第一图像中的光学畸变。当图像捕获装置122包括超宽透镜时,光学畸变可以发生。
[0264] 在步骤1908,处理单元110可以基于来自多个图像当中的至少第二图像来确定交通灯的状态的变化。在一些实施方式中,位于车辆200上方的区域中的交通灯的状态可以例如从红灯变为绿灯。在一个实施方式中,至少第二图像可以包括继至少第一图像之后的两个或更多个图像。另外,处理单元110可以仅处理至少第二图像的一部分。例如,当车辆200不移动时,框架中交通灯的位置保持相同。因此,在一些实施方式中,于在至少第一图像中识别包括交通灯架的框架的一部分之后,处理单元110可以通过仅处理至少第二图像中的框架的相同部分来确定状态的变化。例如,在一些实施方式中,通过仅处理包括交通灯架的框架的一部分,处理单元110可以节省处理电力。
[0265] 在步骤1910,处理单元110可以基于所确定的状态变化来产生系统响应。在一些实施方式中,处理单元110可以产生一个或更多个系统响应(例如,两个或更多个响应),包括不同类型的响应。一种类型的系统响应可以包括向车辆200的驾驶员提供各种通知(例如,警告和/或警报)。该通知可以经由扬声器360或者触摸屏320来提供。例如,系统响应可以包括将所述状态的变化报告给所述车辆200的驾驶员。另一种类型的系统响应可以包括导航响应,导航响应可以包括例如加速至驾驶员指定的巡航速度。
[0266] 识别关联交通灯
[0267] 在一些实施方式中,系统100可以在关联和非关联(或较少关联)交通灯之间进行区分。在典型的驾驶过程期间,车辆200可以通过一个或更多个枢纽(诸如具有多个交通灯的十字路口)。例如,十字路口处的一个或更多个交通灯可以控制在特定方向上朝向十字路口行驶的交通。因此,一个或更多个交通灯可以控制车辆200是否可以继续行驶通过十字路口或者车辆200是否必须停在十字路口处。然而,除了控制车辆200正在行驶的车道的交通灯以外,控制其他车道上的交通的其它交通灯对车辆200也是可视的。根据控制除了车辆200正在行驶的车道之外的车道的交通灯中的任何一个交通灯来对车辆200进行导航可能产生对车辆200的计划路线来说不合需要或不适用的导航响应。因此,为了使得能够以适于车辆200的计划导航路径的方式来进行车辆200的自助控制,系统100可以识别多个交通灯中的哪一个正在控制车辆200正在行驶的车道的交通同时忽略(或者较少关注)控制其它交通车道的其它交通灯。进一步,在系统100识别关联交通灯之后,系统100可以识别交通灯的状态(例如,红色、黄色、绿色)并实施合适的导航响应。例如,当对车辆200正在行驶的车道进行控制的红灯被识别出时,或者当对车辆200正在行驶的车道进行控制的黄灯被识别出且车辆200越过枢纽的预定距离时,系统100可以中止巡航控制并且施加制动。
[0268] 在道路上的关联与非关联(或较少关联)交通灯之间进行区分是复杂的。图20和图21例示了基于从不适用交通灯导出的信息的驾驶可能是不合需要的情况的示例。在图20中,车辆200a正在多车道道路上行驶。道路的每个车道与不同的交通灯架相关联。车辆200a正在接近十字路口并且在指定为前进通过十字路口并到达十字路口的另一侧的车道上行驶。同样如图20中所示,车辆200b在允许交通继续直行并通过十字路口或者允许交通进行右转弯的车道上行驶。与车辆200b正在行驶的车道相关联的交通灯架包括右转弯交通灯。
作为另一示例,在图21中,车辆200a到达非垂直道路的枢纽。包括不对车辆200a正在行驶的车道进行控制的一些交通灯架的多个交通灯架(例如,交通灯架2122和2124)由于枢纽的定位而对车辆200a可见。
[0269] 返回图20,示出了具有以下驾驶选项的十字路口2000:具有通向道路B、D和F的车道的道路A;具有通向道路D和F的车道的道路C;具有通向道路F、H和B的车道的道路E;以及具有通向道路H、B和D的车道的道路G。道路A与四个交通灯架2012、2014、2016和2018相关联。在所示的情况下,每个交通灯架对不同车道进行控制。道路C与两个个交通灯架2022和2024相关联。交通灯架2024包括用于继续直行的交通灯2024a和用于右转弯的交通灯2024b(例如,当右转弯得到授权时,显示绿色箭头)。道路E与三个交通灯架2032、2034和2036相关联。并且道路G与两个个交通灯架2042和2044相关联。交通灯架2042包括用于继续直行的交通灯2042a和用于左转弯的交通灯2042b。在图20中例示的情况下,交通灯2042b和交通灯架
2012、2018和2032显示绿灯,而全部的其它交通灯架显示红灯。当然,除了图20中示出的这些以外,还可以存在很多其它道路变型和相关交通灯配置。
[0270] 在图20中例示的情况下,车辆200a位于道路A上的继续直行通过十字路口2000到达道路D的车道上。然而,包括在车辆200a中的图像捕获装置的视场可以包括交通灯架2012和交通灯架2014双方(或者甚至其它架)。车辆200a在交通灯架2012和2014都显示红灯时到达十字路口2000,并且仅最近地交通灯架2012中的灯已经变绿。在这种情况下,重要的是车辆200a的交通灯检测系统100识别出架2012的绿灯不适用于车辆200a。但是,系统100应当使所确定的导航响应基于与另外的关联架2014相关联的灯的状态。
[0271] 在图20中例示的情况的另一方面,车辆200b位于道路C上的继续直行通过十字路口2000到达道路F的车道中,并且该车道还允许交通进行右转弯到达道路D。车辆200b面向包括用于继续直行的交通灯2024a和用于右转弯的交通灯2024b的交通灯架2024。车辆200b在交通灯架2024显示用于继续直行(交通灯2024a)且用于右转弯(交通灯2024b)的红灯时到达十字路口2000,并且仅最近地交通灯2024b已经变绿。这意味着交通灯架2024的当前状态阻止交通直行行驶和右转弯。如果车辆200b针对灯2024b的状态来动作而没有识别并考虑灯2024a的状态的话,则可能出现不期望的情况。例如,如果车辆200b基于交通灯2024b的信息(示出绿灯)而行驶到道路F(即,直行行驶),则从道路E行驶到道路B的车辆可能产生对车辆200b的危险。
[0272] 转向图21,图21例示了具有具备以下行驶选项的非垂直道路的十字路口2100:具有两个车道的道路A,一个车道通向道路C,另一个车道通向道路E;具有通向道路C的两个车道以及还能够通向道路E的一个车道的道路B;以及具有通向道路E的单车道的道路D。道路A与两个交通灯架2112和211相关联,并且每个交通灯架对不同车道进行控制。道路B也与两个交通灯架2122和2124相关联,并且每个交通灯架对不同车道进行控制。道路D与单个交通灯架2132相关联。在图21中例示的情况下,交通灯架2122显示绿灯,而全部的其它交通灯架显示红灯。如图21中所示,车辆200a位于道路A上的继续直行通过十字路口2000到达道路C的车道上。然而,包括在车辆200a中的图像捕获装置122的视场可以包括交通灯架2114和交通灯架2122双方。在该示例中,车辆200a在交通灯架2114和2122都为红时到达十字路口2100,并且仅最近地交通灯架2122中的灯已经变绿。在这种情况下,重要的是,车辆200a基于交通灯架2114的状态而不是基于交通灯架2122的状态来确定其导航响应。
[0273] 图20和图21中描述的三种情况仅提供了道路状况的一些示例,其中,具有能够在关联与非关联交通灯架之间进行区分的驾驶员辅助系统可能是有帮助的,以确定包括在关联交通灯架中的交通灯的状态,并且基于该状态生成并作出合适的导航响应。进一步,这些示例证明系统可能需要对面向车辆的多个交通灯架进行评估,以便识别最适于车辆正在行驶的车道或最适于车辆的计划行驶方向的交通灯架(尤其是在例如多个交通灯或交通灯架可以与车辆正在行驶的单个车道相关联的情况下)。
[0274] 如上所讨论的,系统100可以在关联与非关联交通灯架之间进行区分,确定包括在(多个)关联交通灯架中的交通灯的状态,并且基于各种行驶场景中的状态来生成并作出合适的导航响应。例如,当车辆200接近十字路口时,系统100可以确定哪个交通灯是关联的,确定该交通灯的状态,并且发现由一个或更多个图像捕获装置122-126捕获的图像中的任何其它关联信息。如果交通灯为红,则系统100可以促使车辆200施加其制动。如果交通灯为绿,则系统100可以促使车辆200继续。如果交通灯为黄,则系统100可以基于图像的分析、车辆200的速度和/或位置数据(例如,GPS数据)来确定距十字路口的距离和/或估计到十字路口的时间。如果车辆200在预定时间(例如,五秒钟、十秒钟等等)和/或距离(例如,一米、五米、十米等等)阈值之内,则系统100可以促使车辆200继续。如果车辆200不在预定时间阈值和/或距离阈值之内,则系统100可以促使车辆200在到达十字路口之前停止。作为另一示例,当车辆200在交通灯处停止时,在交通灯将其状态从红变为绿之后,系统100可以产生导航响应,该导航响应例如包括施加加速器、释放制动器并且转向通过十字路口。
[0275] 图22是与公开的实施方式相一致的存储器140/150的示例性框图,该存储器140/150被构造成存储用于执行一个或多个操作的指令。存储器140/150可以被处理单元110访问。如上所讨论的,处理单元110可包括各种装置,诸如控制器、图像预处理器、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器或任何其它类型的用于图像处理和分析的装置。因此,存储器140/150可以被处理单元110访问,可以与处理单元110集成,或者可以与处理单元110一起包括在嵌入式系统中。如图22中所示,存储器140或150可存储关联确定模块2202、状态确定模块2204和系统响应模块2206。公开的实施方式并不限于任何特定构造的存储器140。进一步,处理单元110可执行存储在任何模块2202-2206(包括在存储器140或150中)中的指令。
[0276] 在一个实施方式中,关联确定模块2202可存储软件指令(诸如计算机视觉软件),当由处理单元110执行时,该软件指令确定多个交通灯架中的每一个与车辆200的关联。为了本公开的目的,确定交通灯架的关联的步骤可以包括执行一个或更多个评估。在一个实施方式中,处理单元110可以对多个交通灯架中的每一个相对于车辆的定向进行评估。例如,在图21中例示的情况下,图像捕获装置122的视场包括交通灯架2114和交通灯架2122双方。然而,交通灯架2114的定向表明交通灯架2114比交通灯架2122更与车辆200a关联。
[0277] 其它评估可以适用于决定做出处理。例如,处理单元110可以对多个交通灯架中的每一个相对于车辆的距离进行评估。另外地或另选地,处理单元110可以评估哪个交通灯正面向车辆200的前部。另外地或另选地,处理单元110可以使用所识别的车道标记来将车辆200的前方区域划分成多个区域,将每个所识别的交通灯架与区域关联起来,并且评估哪个区域对车辆200最关联。另外地或另选地,处理单元110可以将经由GPS获取的车辆位置与地图数据进行比较,以确定交通灯的关联。例如,车辆200可以对包括关于在多个位置处的可能行驶选项的信息的地图数据进行评估。通过使用GPS获取的车辆位置,处理单元110可以确定哪些行驶选项对接近枢纽的车辆200可用,并且使用该信息来确定在枢纽处的交通灯与车辆200的关联。
[0278] 在一个实施方式中,状态确定模块2204可存储软件指令,当由处理单元110执行时,该软件指令确定包括在被确定为与车辆关联的至少一个交通灯架中的交通灯的状态。如上所述,交通灯的状态还可以与交通灯提供的信息相关联。在典型的交通灯中,发光交通灯的所显示的颜色和相对位置可以提供与车辆200关联的基本信息。
[0279] 状态确定模块2204可以从关联交通灯架的环境中并且从包括在该关联交通灯架中的非典型交通灯中导出附加信息。例如,关联交通灯架可以在其附近具有包括关联文本的标志,例如陈述具体日期和时间的标志。因此,在一些实施方式中,状态确定模块2204可以从包括在与关联交通灯架相关联的标志中的文本中导出信息。例如,状态确定模块2204可以实施光学字符识别技术来识别标志中的文本。然后,状态确定模块2204可以将所识别的文本与数据库进行比较,以确定由标志提供的信息。作为另一示例,关联交通灯架可以包括行人通过信号。状态确定模块2204可以确定行人通过信号的状态是指行人可以在车辆200前面通过道路,而车辆200具有向右转的绿灯。
[0280] 在一个实施方式中,系统响应模块2206可存储软件指令(诸如计算机视觉软件),当由处理单元110执行时,该软件指令在主车辆200中产生一个或多个响应。一种类型的系统响应可以包括一个或更多个导航响应,如上面参照导航响应模块408详细描述的。其它类型的系统响应可以向节流系统220、制动系统230和/或转向系统240提供控制信号。例如,处理单元110可发送电子信号,致使系统100物理地应用制动器达预定的量或者部分地松开车辆200的加速器。进一步,处理单元110可发送致使系统100将车辆200沿特定方向转向的电子信号。这种响应可以基于关联交通灯的确定。进一步,如果行人可以在车辆200前面通过道路,则系统响应可以包括执行图像数据的附加处理。例如,处理单元110可以确认在车辆200附近的行人在车辆200正在移动时不在将使行人置于危险中的轨迹上行走。
[0281] 枢纽中的交通灯架的位置能够在该枢纽之前、之后或中间。识别枢纽中的每个交通灯架的位置可以被用来例如确定交通灯架的关联。在一些实施方式中,处理单元110可以估计一个或更多个交通灯架相对于车辆200的距离,以创建枢纽的3D模型。在一个实施方式中,枢纽的3D模型可以被存储用于将来使用。枢纽的3D模型可以包括以下各项中的一个或更多个:一个或更多个交通灯架的3D位置、枢纽中的每个交通灯架与其它交通灯架之间的相对距离、每个交通灯架所指示的(多个)方向、以及枢纽的每个交通灯架和停止线之间的相对距离。另外,当车辆200接近枢纽时,可以使用可识别的细节来定期地对3D模型进行更新。可识别细节的示例可以包括交通灯中的箭头、枢纽中的车道标记等等。在一个示例中,当车辆200经过枢纽时,将已识别的细节与存储在3D模型中的信息进行比较,并且如果合适的话,则对3D模型进行更新。
[0282] 与本公开的实施方式相一致,3D模型可以被用来确定一个或更多个交通灯架的关联。为了利用足够的时间将制动系统230激活以使车辆200在枢纽之前停止,系统100可以在距枢纽大约八十米的距离处确定哪个交通灯与车辆200关联。随着车辆200接近枢纽,从所捕获的图像中导出的信息可以与3D模型进行比较以找到匹配。例如,处理单元110可以将枢纽中的所识别交通灯架之间的相对距离与3D模型进行比较,以确定一个或更多个交通灯架的关联。使用3D模型,处理单元110可以在车辆200距枢纽超过50米、75米、100米或125米远时识别关联交通灯。作为另一示例,处理单元110可以将枢纽中的所识别交通灯架之间的相对距离与3D模型进行比较,以确定距枢纽的停止线的距离,即使当该停止线从车辆200的当前位置看不到时。使用3D模型,处理单元110可以在车辆200距枢纽超过50米、75米、100米或125米远时确定距枢纽的停止线的距离。下面将结合图23提供关于关联确定模块2202、状态确定模块2204和系统响应模块2206的进一步细节。
[0283] 图23是示出与公开的实施方式相一致的用于识别关联交通灯的示例性处理2300的流程图。系统100可以实施处理2300来处理在例如图20和图21中描述的情况。
[0284] 如图23中例示的,在步骤2310,图像捕获装置122可以获取车辆200的前方区域的图像。该区域可以包括多个交通灯架,每个交通灯架包括至少一个交通灯。在步骤2320,处理单元110可以例如基于从所获取的图像中识别的特征(例如,车道标记)来确定车辆位置的至少一个指示符。在步骤2330,处理单元110可以使用至少一个指示符来确定多个交通灯架中的每一个的关联。在步骤2340,处理单元110可以确定包括在关联交通灯架中的交通灯的状态。例如,交通灯的状态可以指示车辆200应当停止(例如,由于红灯)或者能够向左转(如果没有正在通行的行人)。在确定包括在交通灯架中的交通灯的状态之后,在步骤2350,处理单元110可以基于所确定的状态变化来产生系统响应。处理2300的这些步骤下面将更加详细地进行讨论。
[0285] 例如,在步骤2310,图像捕获装置122可以获取车辆200的前方区域的至少一个图像。“车辆的前方区域”包括位于车辆的前面的相对于其移动方向的地理区域。区域可以包括枢纽(例如,在图20中为十字路口2000并且在图21中为2100)、十字路口、交叉路、圆形交叉路口、街道、道路等等。在一些情况下,区域可以包括多个交通灯架,每个交通灯架包括至少一个交通灯。“交通灯架”包括容纳用来控制交通和/或提供道路相关信息的一个或更多个光产生装置的任何形式的结构。在一些情况下,两个或更多个交通灯架可以被结合在单个交通灯组件中,但是每个交通灯架可以与不同车道相关联。典型的交通灯架可以包括三个圆形交通灯:绿色交通灯、黄色交通灯和红色交通灯。“交通灯”包括具有能够显示独特颜色的至少一个光源的装置。在一些情况下,车辆200可以遇到非典型交通灯架。非典型交通灯架可以包括具有不同颜色的一个或更多个非圆形交通灯。例如,右转弯箭头交通灯、左转弯箭头交通灯、公共交通交通灯、行人通过交通灯、自行车通过交通灯等。
[0286] 在一些实施方式中,处理单元110可以经由数据接口128接收至少一个所获取的图像。如参照图5D详细讨论的,处理单元110可以识别至少一个所获取图像中的交通灯。例如,处理单元110可过滤至少一个所获取的图像中所识别的对象,以构建一组候选对象,排除不可能对应于交通灯的这些对象。过滤可基于与交通灯关联的各种属性(诸如形状、尺寸、质地、(例如,相对于车辆200的)位置,等)来完成。另外,处理单元110可以分析车辆200的前方区域的几何图形。该分析可基于以下的任何组合:(i)在车辆200的任一侧的检测的车道数目;(ii)在道路上检测的标记(诸如箭头标线);以及(iii)从地图数据中提取的区域的描述。例如,如果在道路上识别出限定行驶车道的车道标记,并且交通灯架在车道标记的边界之内,则系统100可以得到结论:交通灯架与和车道标记相关联的车道关联。
[0287] 在步骤2320,处理单元110可以从图像中确定车辆位置的至少一个指示符。“车辆位置的指示符”包括与车辆的物理位置相关的任何形式的信息。车辆位置的指示符可以从对图像数据(例如,至少一个所获取图像)的分析中导出。另外,车辆位置的指示符可以从地理位置数据(例如,GPS信号、当地定位信号和/或地图数据)中或者从指示车辆200相对于道路上的其它车辆的位置的数据中导出。在一些实施方式中,车辆位置的指示符可以包括从至少一个图像中导出的距至少一个交通灯架的距离。在其它实施方式中,车辆位置的所述至少一个指示符可以包括基于所述至少一个图像的分析而识别的车道标记。例如,处理单元110可以使用从至少一个图像中导出的信息来进行分析,以识别一个或更多个车道标记。使用所识别的车道标记,处理单元110可以确定所检测的交通灯与车辆200当前正在行驶的车道之间的对应关系。
[0288] 在步骤2330,处理单元110(例如,经由关联确定模块2202)可以使用车辆位置的至少一个指示符,如在步骤2320中所确定的,以确定多个交通灯架中的每一个与车辆200的关联。在一些实施方式中,处理单元110可以对至少一个所获取图像中的所识别交通灯架的关联进行排序。具有关联排序的最高值的交通灯架可以被确定为关联交通灯架。例如,在图20中例示的情况下,图像捕获装置122的视场包括交通灯架2012和交通灯架2014,但是通过使用一个或更多个评估,处理单元110可以确定交通灯架2014具有更高的关联排序值。处理单元110用来确定交通灯架2014具有比交通灯架2012更高的关联排序的一种方法是通过对多个交通灯架中的每一个相对于车辆200a的距离进行评估。例如,在图20中描述的情况下,交通灯架2014更靠近交通灯架2012。因此,交通灯架2014比交通灯架2012更有可能关联。确定关联的其它方法在上文中参照关联确定模块2202进行了描述。
[0289] 在一些实施方式中,多个交通灯架中的每一个与车辆200的关联确定可以包括初步检查,以消除不大可能的交通灯架。例如,当至少一个所获取图像包括三个较近交通灯架和两个较远交通灯架时,两个较远交通灯架可以被归类为不大可能与车辆200关联。通过消除不大可能的交通灯架以及对至少一个所获取图像中的所识别的交通灯架的主体的关联进行排序,处理单元110可以节省处理电力。在一些实施方式中,当车辆200接近枢纽时,关联排序可以发生变化。例如,交通灯架的定向可以从道路上的不同点开始变化,因此,距枢纽的距离可以对给定交通灯架与车辆200关联的概率产生影响。因此,关联排序可以与置信水平相关联,当对交通灯架进行评估时,该置信水平可以考虑诸如距枢纽的距离这样的因素。进一步,当置信水平在特定预定阈值以下时,处理单元110可以定期地或不断地对交通灯架的关联排序进行更新。
[0290] 为了确定与车辆200关联的交通灯,关联确定模块2202还可以使用之前存储在系统1000内部(诸如存储在存储器140/150内部)的导航信息。基于如上讨论的所确定的车辆200的3D位置和/或图像捕获装置122-126,关联确定模块2202可以执行导航地图数据与车辆200之间的注册(registration)。基于如上所述的相对距离测量的确定,关联确定模块
2202可以使用导航地图数据来确定车辆200(经由制动系统230)应当进行制动以便在枢纽处的每个所检测的交通灯架处停止的3D空间中的点。根据3D注册结果,关联确定模块2202可以使用导航地图数据来确定在十字路口处检测到的每个交通灯的车道分配。然后,关联确定模块2202可以确定系统100和图像处理器190内部的车道分配,然后执行注册。
[0291] 在步骤2340,处理单元110(例如,经由状态确定模块2204)可以基于至少一个所获取的图像来确定包括在被确定为与车辆200关联的至少一个交通灯架中的交通灯的状态。在一些情况下,关联交通灯架可以包括多个照亮交通灯,并且每个交通灯的状态可以取决于交通灯的类型。在一个实施方式中,交通灯的状态仅指其指示的颜色,例如绿色、黄色和红色。系统100可以使用各种技术来识别交通灯的状态。例如,系统100可以识别包括交通灯在内的一个或更多个图像的区域,并且执行该区域中的像素的分析以确定像素的颜色。在对区域中的至少阈值数量的像素(例如,两个像素、十个像素、二十个像素等等)进行分析之后,系统100可以例如通过发现该区域中的像素的平均值来确定交通灯的颜色。
[0292] 另外地或另选地,交通灯的状态可以包括交通灯所指示的方向。在典型交通灯中,绿色指示允许车辆200前进。然而,有时候该信息本身不足以决定在一定方向上(诸如当绿灯仅授权转弯时)行驶是否安全。确定交通灯指示哪个方向的一种方法包括对使每个交通灯和一个或更多个方向相关的数据库进行评估。另一种方法包括从图像数据中识别交通灯的类型以及从环境情境中确定交通灯所指示的方向。例如,在图20中相对于车辆200b描述的第二种情况下,交通灯架2024可以被确定为关联交通灯架,但是交通灯架2024包括两个照亮的交通灯2024a和2024b。因此,在步骤2340中,处理单元110可以确定交通灯2024a的状态是用于继续直行的红灯,并且交通灯2024b的状态是用于右转弯的绿灯。在一些实施方式中,交通灯的状态的确定包括以下步骤中的一个或多个:确定在关联交通灯之内的交通灯的位置;确定交通灯是否被照亮;确定交通灯的颜色;以及确定交通灯是否包括箭头。
[0293] 在步骤2350,处理单元110(例如,经由系统响应模块2206)可以基于所确定的状态来产生系统响应。在一些实施方式中,处理单元110可以产生一个或更多个系统响应(例如,两个或更多个响应),包括不同类型的响应。一种类型的系统响应可以包括导航响应,该导航响应可以包括例如开始行驶、加速度的变化、速度的变化、施加车辆制动、中止巡航控制等等。例如,这些系统响应可以包括向节流系统220、制动系统230和转向系统240中的一个或更多个提供控制信号以对车辆200进行导航。另一种类型的系统响应可以包括启动定时器和/或增加计数器,以便向车辆200的驾驶员提供关于一个或更多个驾驶过程的统计信息。例如,统计信息可以指示在驾驶过程中车辆200已经遇到红灯的次数,和/或车辆200在红灯处等待花费的驾驶过程的持续时间。另一种类型的系统响应可以包括向车辆200的驾驶员提供各种通知(例如,警告和/或警报)。警告和/或警报可以包括例如通知关联交通灯的颜色和/或距枢纽的距离。通知可以经由扬声器或者经由关联显示器(例如,触摸屏320)来提供。
[0294] 转弯车道交通灯检测
[0295] 系统100可以检测车辆(诸如车辆200)在转弯车道上行驶。车道可指车辆的指定或预期行进路径并且可具有标记边界(例如,道路上的线)或未标记边界(例如,道路路边、道路障碍、护栏、停放的车辆,等等)或约束。例如,系统100可以基于经由一个或更多个图像捕获装置获取的视觉信息来进行操作以做出这些检测和确定。在一些实施方式中,还可以进行至少部分地关于地图数据和/或所感测的车辆位置的这些检测和确定。除了确定在转弯车道中的车辆200的状态以外,系统100可以识别与车道相关联的交通灯,并且可以被配置为基于道路环境信息的分析和所确定的交通灯的特性来确定交通灯的状态。
[0296] 图24例示了在道路800上行驶的车辆200,其中可以使用用于检测道路上的对象的所公开的系统和方法。车辆200被描述为配备有图像捕获装置122和124,可以在任何特定的车辆200上采用更多或更少相机。如所示,道路800可以被细分成车道,诸如车道810和820。作为示例示出了车道810和820;给定道路800可以基于道路的大小和性质而具有额外车道。
在图24的示例中,车辆200在车道820上行驶,并且能够看到其正在接近与交叉路2404的十字路口2402。在十字路口2402处车道820上的交通通过交通灯架2406来控制。如下面详细讨论的,系统100可以确定交通灯架2406的状态并且产生影响车辆200的操作的系统响应。道路800上进一步例示的是通向停止线2412的警告线2410。
[0297] 处理单元110可以被配置为基于处理单元110可经由数据接口128接收的由一个或更多个图像捕获装置122-126获取的多个图像来确定与车道810和820、十字路口2402或者交叉路2404中的每一个相关联的一个或更多个车道约束。根据一些实施方式,车道约束可由可见的车道边界(诸如标记在路面上的虚线或实线)识别。另外地或替代地,车道约束可包括路面的路边或障碍。另外地或替代地,车道约束可包括标记(例如,博茨点)。根据一些实施方式,处理单元110(经由下面详细描述的车道定位模块2520)可以通过识别诸如道路800或交叉路2404的整体的路面宽度的中点或者车道810/820中的一个的中点来确定与车道810/820、十字路口2402或交叉路2404相关联的约束。当例如没有画出或者标记出指定诸如车道810/820的道路车道的线时,处理单元110可以基于已知的道路参数来通过替代的方式(诸如通过估计或推断)来识别车道约束。处理单元110还可以确定各种约束和所检测的对象(诸如交通灯)之间的物理相对距离。
[0298] 当建立自主车辆或红色交通灯警告系统时,对于具有交通灯的枢纽的距离估计可能具有挑战性,这是因为交通灯的位置可以在该枢纽之后或者中间。例如,确定针对十字路口处的每个交通灯的3D位置可以暗示对于车辆的制动点,但是停止线可以提供精确位置。
[0299] 在当前的系统中,道路800、交叉路2404或十字路口2402以及构成车道810/820的约束和路径的检测可以包括经由相机坐标系来确定其3D模型的处理单元110。例如,车道810/820的3D模型可由三次多项式描述。除了行驶车道的3D建模以外,处理单元110还可执行主机运动参数(诸如车辆200的速度、偏航和俯仰速率以及加速度)的多帧估算。处理单元
110还可确定道路标高模型以将从多个图像获取的信息转换为三维空间。当前系统的一个特征在于,可以同时创建针对交通十字路口处的静止对象的总体模型,而不是创建针对每个所检测对象的一个单独模型。因此,系统100可以被配置为确定针对在例如在大约一百米之内的距离处的对象或车道约束的绝对距离。在一些情况下,系统100可以被配置为确定针对其它距离(例如,在125米内、150米内等等)处的对象或车道约束的绝对距离。进一步,系统100可以被配置为在距停止线2412大约八十米的距离之内确定哪个交通灯架(例如,交通灯架2406)与车辆200关联。
[0300] 可以通过被称为扩展和缩放的处理来实现对十字路口处的交通灯的精确距离估计。扩展处理可以使用相对距离来确定从车辆200到对象(诸如停止线2412)的距离。例如,如果在图像数据中检测到两个交通灯架,并且当车辆移动十米的距离时两个交通灯架之间的距离增加5%,则系统计算出距离为200米。
[0301] 图25是与公开的实施方式相一致的存储器140和/或150的示例性框图,该存储器140和/或150可存储用于执行一个或多个操作的指令。如图25中例示的,存储器140/150可存储用于执行本文中描述的对象检测和响应的一个或多个模块。例如,存储器140/150可以存储交通灯检测模块2510、车道定位模块2520和动作模块2530。应用处理器180和/或图像处理器190可执行存储在任何模块2510-2530(包括在存储器140/150中)中的指令。本领域技术人员将理解的是,以下讨论对处理单元110的引用可单独或共同指应用处理器180和图像处理器190。因此,任何以下处理的步骤可由一个或多个处理装置执行。
[0302] 交通灯检测模块2510可以存储指令,当由处理单元110执行时,该指令可以检测交通灯架(诸如交通灯架2406)的存在和状态。如下面将结合图26A、图26B和图27进行讨论的,交通灯检测模块2510连同图像处理器190可以执行对由一个或更多个图像捕获装置122-126获取的一个或更多个图像的图像处理。交通灯检测模块2510还可以确定交通灯架2406的状态,包括确定交通灯架2406内部的一个灯是否包括箭头。交通灯检测模块2510可以确定与交通灯架2406的状态关联的其它信息,非限制性地包括交通灯架2406内部关联的任何交通灯是否被照亮(以固定或闪烁的方式)、确定交通灯架内部的交通灯的位置(即,交通灯的水平定向与垂直定向)、或者确定与交通灯相关联的颜色。在一些实施方式中,交通灯检测模块2510可以存储被确定用于处理单元110内部(诸如存储器140/150中)的特定前进方向、特定十字路口2402和/或特定交通灯架2406的信息。在这些实施方式中,当车辆200返回至同一十字路口时,之前确定且保存的信息可以在未来使用。
[0303] 在一些实施方式中,可以通过在预定或已知捕获率获取的多个图像的图像分析(例如,对以1秒、1.5秒、2秒等等获取的图像分别进行分析)来确定闪烁的交通灯。例如,系统100可以分析图像数据,以识别多个图像当中的发光图案。系统100还可以确定被确定为在交通灯架中的受关注的特定交通灯的边界之内的所捕获的图像的区域。然后,系统100可以通过被确定为在受关注的交通灯的边界之内的区域中的像素分析来确定交通灯的颜色。
[0304] 车道定位模块2520可存储指令,当由处理单元110执行时,该指令可帮助系统100确定车辆200的位置。在一些实施方式中,确定车辆200的位置的步骤可以包括:经由视觉确定或者通过经由数据接口128从图像捕获装置122-126接收的至少一个图像的分析来确定车辆位置的至少一个指示符。在这些实施方式中,车辆位置的至少一个指示符可以包括从车辆到与车辆正在行驶的当前车道相关联的一个或更多个车道约束或车道标记,或者到与十字路口相关联的标记(诸如警告线2410和停止线2412)的距离。从车辆到位置或对象的距离可以基于例如图像数据、GPS信息或来自位置传感器的数据的分析中的一种或多种来确定。进一步,车辆位置的至少一个指示符可以包括与具有至少一个关联交通灯的交通灯架相关联的箭头。另外地或另选地,车辆位置的至少一个指示符可以包括通过GPS或者类似坐标系获取的车辆定位。在一些实施方式中,车道定位模块2520可以存储针对特定道路800及其车道810/820而确定的车道约束信息。例如,处理单元110可以将信息存储在存储器140/150中。在这些实施方式中,当车辆200返回至同一十字路口时,之前确定且保存的信息可以在未来使用。例如,GPS信息可以被用来确定车辆200已经回到同一十字路口。
[0305] 与公开的实施方式相一致,车道定位模块2520可以使用来自车辆位置的至少一个指示符来确定是否需要或推荐改变车辆200的操作的系统响应。另外地或者另选地,车道定位模块2520可以从其它模块(包括位置传感器130)或其它系统接收指示存在图像数据中的其它特征的信息(诸如其它车辆、道路的曲率等)。
[0306] 动作模块2530可以存储指令,当由处理单元110执行时,该指令可以帮助系统100基于从一个或更多个源(诸如位置传感器130、图像处理器190、交通灯检测模块2510)接收的信息来进行相对于车辆200的操作的一个或更多个动作。在一些实施方式中,动作模块2530可以(从例如交通灯检测模块2510)接收关于十字路口处的交通灯(诸如如上所讨论的十字路口2402处的交通灯架2406)的状态的信息。由动作模块2530接收的其它信息可以包括车辆是否在转弯车道以及交通灯架2406是否包括箭头的确定。
[0307] 基于该所接收的信息,动作模块2530然后可以产生影响车辆200的操作状态的系统响应,诸如促使系统100向节流系统220、制动系统230和转向系统240中的一个或多个提供控制信号,以(例如,通过加速、转弯,等等)导航车辆200。例如,在一些实施方式中,系统100可以确定转弯车道交通灯授权车辆200进行转弯。在这些实施方式中,动作模块2530可以向转向系统240发送指令,并且转向系统240可以执行该指令以使车辆200转弯通过十字路口2402进入与交叉路2404相关联的新行驶车道。在其它实施方式中,由动作模块2530发起并执行的系统响应可以包括以下各项的任何或全部:向车辆的操作者提供视觉或听觉通知、施加车辆制动、中止巡航控制功能或者发起一个或更多个自动转弯机动。
[0308] 另外地或者另选地,动作模块300可以向与车辆200相关联的其它系统(诸如制动系统230、转弯信号、节流系统220等)发送指令。在一些实施方式中,动作模块2530相反可以为车辆的人类操作者提供代表从关联系统和/或传感器收集的信息的音频、视觉、或触觉反馈。然后,人类操作者可以对该反馈进行动作,以使车辆转弯。
[0309] 图26A提供了图24中描述的情况的带注释的视图。车辆200再次在道路800的车道820上行驶,并且正接近与交叉路2404的十字路口2402。车辆200再次配备有图像捕获装置
122和124;更多或更少装置可以与任何特定车辆200相关联。为了简单进行例示,图26A中的道路800被描述为具有两个行驶车道810和820的在页面上从上到下定向的单向街道。交叉路2404是具有在每个方向上前进的一个行驶车道的穿过整个页面的左右定向的双向街道。
[0310] 在十字路口2402处向道路800的左侧的是交通灯架2406。在车辆200的前面的车道820的表面上画出的车道箭头2408,指示车道820是左转弯车道。同样在道路800的表面上画出或者附加的是通向停止线2412的警告线2410。
[0311] 与公开的实施方式相一致,系统100可以被配置为确定接近十字路口的车辆200的行驶车道(这里,车道820)是否是转弯车道;确定交通灯架(这里,交通灯架2406)是否对十字路口做出控制;确定交通灯架中的交通灯的状态;以及确定交通灯是否包括箭头。下面将结合图27和处理2700来更加详细地对该处理进行描述。
[0312] 简单来说,与车辆200相关联的系统100可以经由处理单元110、位置传感器130、交通灯检测模块2510或车道定位模块2520中的一个或更多个来确定道路800内部的车辆200的位置。另外地或另选地,系统100可以收集来自车辆位置的至少一个指示符的信息。如上面结合车道定位模块2520所讨论的,车辆位置的至少一个指示符可以包括从车辆200到与车辆正在行驶的当前车道(诸如车道820)相关联的一个或更多个车道约束或车道标记,或者到与十字路口2401相关联的标记(诸如警告线2410和停止线2412)的距离。进一步,车辆位置的至少一个指示符可以包括与交通灯架2406相关联的箭头。另外地或另选地,车辆位置的至少一个指示符可以包括通过GPS或者类似坐标系获取的车辆定位。
[0313] 在图26A的例示中,存在车辆200的位置的多个指示符。与车辆200相关联的一个或更多个图像捕获装置122-126可以被配置为捕获可以帮助确定车辆200的位置的在车辆200的前面的区域的多个图像。例如,图像可以包括车道箭头2408,其指示车道820是十字路口2402的左转弯车道。图像还可以包括交通灯架2406,并且可以指示交通灯架2406内部的各个灯中的一个或多个包括表明转弯车道状况的箭头。一个或更多个图像捕获装置122-126还可以捕获与道路800或者交叉路2404相关联的警告线2410或停止线2412的图像。进一步,系统100经由车道定位模块2520可以通过测量从车辆200到停止线2412的距离s1来确定转弯车道内部的车辆200的位置。仍进一步,系统100可以实施光学字符识别(OCR)处理以获得包括在一个或更多个所捕获的图像中的文本(例如,来自标志和/或道路标记的文本)。然后,系统100可以使用文本信息作为确定车辆200是否在转弯车道内部的一部分或者作为其基础。例如,系统100可以识别指示转弯车道的特定词语(例如,“向右转弯”、“向左转弯”等等)。
[0314] 测量可以是直接测量(诸如经由位置传感器130),或者可以通过图像处理器190经由所捕获的图像数据的分析来确定,并且可以与地图数据相结合地使用。测量结果可以可以从内部或外部车辆200的任何部分测量出,该任何部分非限制性地包括:车辆200的前部、车辆200的诸如前灯或前面车牌的部分、图像捕获装置122-126的安装好的位置、所确定的车辆200的形心、车辆200的后部、与车辆200相关联的一个或更多个挡风玻璃或反光镜、车辆200的车轮、车辆200的右侧或左侧或车窗、与车辆200的车顶相关联的点、或者与车辆200的底盘相关联的点。
[0315] 在一些实施方式中,确定从车辆200到交通灯架2406的距离可能足以帮助处理单元110计算制动距离或者其它这种测量。然而,在其它实施方式中,交通灯架2406可以被定位为经过车辆200将被要求停止的点。在这些实施方式中,可以通过使用警告线2410或停止线2412中的一个或更多个来确定距十字路口的距离。
[0316] 如上面结合图24所讨论的,可以使用采用扩展和缩放的估计处理来计算这些距离。在具有两个交通灯架的十字路口2402处,例如,系统100可以对如在图像数据中捕获的两个架之间的相对距离进行一定时间段的测量,然后使用该相对距离来估计距停止线2412的距离。在一些实施方式中,这些测量可以随着时间的推移重复,以提高精确度。精确度还可以通过其它方法来提高;例如,如果在十字路口2402处坐落有三个或四个交通灯架,则可以计算架中的每一个之间的相对距离并取平均值。另外地或另选地,如上所讨论的,可以使用卡尔曼过滤器来估计距离。
[0317] 系统100仍然需要附加信息或输入来确定停止线2412相对于十字路口2402和/或交通灯架2406的定位。在一些实施方式中,系统100可以使用从之前到十字路口的路程中收集的之前存储的地图数据。该信息可以从交通灯检测模块2510或者车道定位模块2520中接收。还可以使用下式从图像数据中导出距离测量值Z:
[0318] Z=fW/w
[0319] 其中,W是两个交通灯架2406之间的已知距离,w是像素中的图像数据中的距离,并且f是像素中的特定图像捕获装置122-126的焦距。
[0320] 在图26A中,插图2602示出与示例关联的交通灯架2406的两种状态。基于经由数据接口128从图像捕获装置122-126接收的来自至少一个图像的图像数据,系统100可以被配置为确定交通灯架2406的状态。下面将结合图27和处理2700来更加详细地对该确定进行描述。当接近十字路口2402时,系统100可以首先确定交通灯架2406正显示固定的红灯,如在插图2602的图像1中所见。在图26A的示例中,车道820是左转弯车道,所以除非道路800位于红灯时左转弯是合法的管辖范围内(或者如果交叉路2404被配置作为在页面上具有从右向左流动的两个车道的单向街道的话),否则车辆200必须在停止线2412处停止并且保持静止直至确定交通灯架2406已经发生改变。在另选实施方式中(未示出),车辆200可以在被确定为右转弯车道的车道上行驶,并且假设红灯时右转弯在该管辖范围内是合法允许的,则系统100可以产生系统响应,使得车辆200能够右转弯同时交通灯架2406保持红色。
[0321] 随后,如从插图2602的图像2中所见,交通灯架2406从固定红灯转变成指示受保护的左转弯的固定绿色箭头。系统100可以被配置为基于通过图像处理器190对交通灯架2406的所获取图像的像素级图像分析来不但检测出灯的颜色已经改变,而且检测出箭头已经出现在灯内部。在一些实施方式中,为了使系统100检测出交通灯的颜色已经改变,系统100可以对所捕获的图像进行一定时间段(例如,1秒、5秒、10秒、15秒、20秒、30秒、1分钟等等)的分析,以便识别交通灯的状态变化。系统100还可以一次确定交通灯架2406发生变化以显示其是否安全或者是否被授权在由灯的状态指示的方向上前进的绿色箭头。即使灯可以显示绿色箭头,各种情况(未示出)也可能要求车辆200在完成转弯之前进一步延迟。例如,行人可能在通过交叉路2404。虽然在图26A中道路800是单向街道,但是在另选实施方式中(诸如下面描述的且在图26B中示出的),道路可以是双向街道,并且车辆200还可以对从相反方向驶来的第二车辆是否正在从另一方向在红灯时进行右转弯到交叉路2404上来。进一步,其它障碍物可以阻止及时的左转弯;例如,一组铁路轨道可以与道路800平行地向其左侧定向,并且虽然左转弯绿色箭头被照亮,但是与火车轨道相关联的障碍可能落下来以允许火车通过。这些示例不用于限制。一旦系统100确定了交通灯架2406和十字路口处的状况都允许安全转弯,系统100就可以经由动作模块2530产生涉及节流系统220、制动系统230、转向系统240、转弯信号、和/或使车辆200自动向左转弯的其它子系统和模块中的一个或更多个的系统响应。
[0322] 图26B例示了与公开的实施方式相一致的其它十字路口场景。在图26B的示例中,车辆200(这里表示为车辆200e)正在道路800的车道810上行驶,并且接近与交叉路2404的十字路口2402。车辆200再次配备有图像捕获装置122和124;更多或更少装置可以与任何特定车辆200相关联。与图26A的例示不同,道路800现在在图26B中是双向街道,并且交通可以在两个方向上进行。交叉路2404依然是具有在每个方向上前进的一个行驶车道的穿过整个页面的左右定向的双向街道。
[0323] 在十字路口2402处向道路800的右侧的是交通灯架2604。在车辆200的前面的车道810的表面上画出的车道箭头2408,指示车道820是左转弯车道。如前,与公开的实施方式相一致,系统100可以被配置为确定接近十字路口的车辆200的行驶车道(这次,车道810)是否是转弯车道;确定交通灯架(这里,交通灯架2604)是否对十字路口做出控制;确定交通灯的状态;以及确定交通灯是否包括箭头。
[0324] 系统100可以按照与上面描述的大致相同的方式来进行操作,以进行这些确定。然而,在图26B的示例中,插图2606证明当车辆200e接近十字路口2402时,交通灯架2604正显示闪光或闪烁的黄灯。在插图2606中通过箭头的虚线指示非固定性质。如可能对相关技术领域的普通技术人员来说熟悉的,一些管辖范围在一天的某些时间期间使用闪烁的黄灯来实质上用作与“让行”或“停止”标志相同的功能,同时仍然允许利用红灯使行驶车道完全停止或者利用绿灯完全授权行驶车道前进。
[0325] 如上面概述的,系统100可以确定交通灯架2604正在显示闪烁的黄灯,并且还可以确定车道810是转弯车道。然而,在图26B中描述的情况下,系统100可以被要求进行其它确定,以便使车辆200e成功穿过十字路口2402。如本领域技术人员将理解的,闪烁的黄灯授权接近的车辆随意转弯,只要这样做安全的话。希望驾驶员在十字路口处要谨慎,并且驾驶员确定太早进行转弯的话将不会产生潜在的碰撞或其它危险。
[0326] 系统100可以进行的一个这种确定是一个或更多个车辆是否正在从另一方向接近十字路口。例如,尽管在道路的一个方向上行驶的行驶车道可以具有转弯车道中的闪烁的黄灯的交通灯,在相反方向上行驶的交通可以具有绿灯以直行前进通过十字路口。因此,如果车辆的操作者在闪烁的黄灯信号下没有让行的话,碰撞可能发生。在图26B的示例中,第二车辆200f确实正在直行通过十字路口2402。系统100可以被配置为经由从一个或更多个图像捕获装置122-126捕获的图像数据来检测车辆200f的存在,以及使用位置传感器130、图像处理器190、交通灯检测模块2510或车道定位模块2520中的一个或更多个来确定车辆在道路/十字路口内的位置以及其速度。在检测并分析车辆200f时,系统100(经由动作模块2530)可以促使制动系统230保持接合直至车辆200f已经通过。
[0327] 一旦没有其它车辆正在从相反方向接近十字路口,系统100就可以经由动作模块2530基于该确定来产生系统响应。系统响应可以包括以下中的一种或多种:向车辆200的操作者提供反馈、经由制动系统230来施加车辆制动、中止巡航控制或者使用节流系统220、制动系统230或转向系统240中的一个或更多个来发起至交叉路2404上的自动转弯机动。首先,然而,系统100可以分析针对与十字路口2402或交叉路2404相关联的任何其它障碍物或对象的存在的图像数据。例如,在图26B的例示中,能够看到行人2608步行穿过交叉路2404,因为道路800的另一个车道具有该方向上的绿灯。系统100可以通过分析由一个或更多个图像捕获装置122-126捕获的多个图像中的一个或更多个来经由图像处理器190检测行人
2608的存在。如上所述,系统100的其它子系统和模块可以配合以检测行人2608的速度,并且可以通知系统100行人2608何时不再在道路上并且转弯是安全的。
[0328] 图27例示了与公开的实施方式相一致的用于检测交通灯的状态的处理2700。处理2700的步骤可以通过处理单元110、图像获取单元120、位置传感器130、图像处理器190、交通灯检测模块2510、车道定位模块2520或动作模块2530中的一个或更多个来执行。
[0329] 在步骤2710,处理2700可包括:使用至少一个图像捕获装置122、124和/或126来获取车辆200的前方区域的多个图像。该区域可以包含具有至少一个交通灯的一个或更多个交通灯架(诸如上述的交通灯架2406和2604)。处理单元110可以通过数据接口128从(多个)图像捕获装置接收多个图像。然后,多个图像可以通过处理单元110的图像处理器190来实时地进行处理。图像处理器190可以对由至少一个图像捕获装置捕获的至少一个图像、以及在稍后的时间点捕获的其它图像进行处理。
[0330] 在步骤2720,处理2700可以基于车辆位置的至少一个指示符来确定车辆200是否正在转弯车道上行驶。如上面通常描述的,可以使用位置的各种指示符来确定行驶车道是否是转弯车道。在一些实施方式中,位置指示可以包括通过GPS获取的车辆定位。在其它实施方式中,系统100可以识别车道标记或约束(诸如指示车道是转弯车道的车道箭头2408)。另选地,图像处理器190可以确定箭头与控制车道行驶的交通灯架相关联。另外,可以使用系统100的各种元件来进行距离的测量。例如,位置传感器130和/或车道定位模块2520可以将包括车辆200距十字路口2402有多远(上述的距离s1)在内的关于车道810/810内部的车辆200的相对位置的信息发送到处理单元110。车道的尽头可以基于所测量的距离或者视觉确定(例如,通过对由一个或更多个图像捕获装置122-126获取的一个或更多个图像进行分析以及检测警告线2410或停止线2412的存在)。
[0331] 在步骤2730,处理2700可以执行对经由数据接口128接收的至少一个图像的图像处理,以确定箭头是否存在于与交通灯相关联的图像数据中。交通灯检测模块2510和/或图像处理器190可以被配置为分析与代表交通灯架内部的各个交通灯的位置相对应的图像的像素。一种或更多种图像处理算法可以被应用于像素,以确定固定或闪烁的/闪光的箭头是否存在于关联区域中。下面将结合图28至图30B来讨论系统100可以怎样对一个或更多个图像进行分析以确定交通灯是否显示箭头的进一步示例。
[0332] 在步骤2740,处理2700可以确定交通灯的状态。如上所讨论的,确定交通灯的状态的步骤可以非限制性地包括:确定交通灯是否被照亮(和/或是否起作用)、确定交通灯架内部的被照亮交通灯的位置、或者确定与交通灯相关联的颜色(即,红色、黄色或绿色)。还列表仅用于示例,并且可以通过系统100和处理单元110来确定并处理与交通灯关联的任何信息。例如,系统可以被配置为基于对一系列获取图像的图像处理来确定交通灯是固定的还是闪烁的。图像处理器190可以确定在这些实施方式中,架内部的同一交通灯在一个图像中被照亮,按顺序接下来变暗,然后即刻被再次照亮;这将指示特定的灯正在闪烁。在一些实施方式中,系统100可以被配置为识别对车辆正在行驶的特定管辖范围来说特别的交通灯状况。该信息可以被预先编程到系统100中,诸如存储在存储器140/150内部的数据(未示出)中。
[0333] 在步骤2750,处理2700可以经由对车辆200的操作产生影响的系统100来产生系统响应。由系统100发起的响应可以基于以下确定中的任何或全部:确定交通灯的状态、确定交通灯是否包括箭头以及确定车辆是否在转弯车道。如上所讨论的,由系统100经由动作模块2530发起的特定动作可以非限制性地包括:向车辆200的操作者提供关于交通灯的视觉或听觉反馈通知;经由制动系统230施加车辆制动;中止巡航控制功能;或者使用节流系统220、制动系统230或转向系统240中的一个或更多个来继续前进以发起自动转弯机动并且继续前进通过十字路口。
[0334] 另外,在一些实施方式中,作为系统100的功能的一部分,工作模块2530和/或处理单元110还可以被配置为确定车辆所处的转弯车道是否被授权在通过所确定的交通灯的状态指示的方向上前进。换句话说,即使交通灯指示特定的系统响应是合法允许的,系统100也可以通过进一步确定这种动作实际上是否可能且安全来为车辆200的驾驶员提供额外等级的安全保护。例如,如上面结合图26B所讨论的,系统100和图像处理器190可以被配置为检测与道路或十字路口相关联的其它障碍物的存在(诸如存在于街道上的行人或者其它车辆的存在)。在一些实施方式中,其它车辆可以正常前进通过十字路口(诸如在图26B中描述的车辆200e具有闪烁的黄灯的场景下)。在这些实施方式中,车辆200e理论上能够转弯到交叉路2404上,但是系统100还可以考虑车辆200f在绿灯时正在前进通过十字路口的事实。另选地,第二车辆可以不寻常或非法的方式出现,诸如如果另一车辆的操作者闯过停车标志或者红灯,或者如果车辆在十字路口或者其中一个道路上已经故障。
[0335] 仍然在其它实施方式中,确定车辆所处的转弯车道是否被授权在由交通灯的所确定的状态指示的方向上前进的步骤还可以包括:基于车辆的预定目的地来确定实际上是否遵守灯的指示状态。在涉及自主车辆的实施方式中,可以假设操作者和/或乘客已经向系统100的处理单元110指示了其期望目的地。因此,通过使用GPS定位技术或其它这种信息,系统100可以被配置为确定进行由交通灯指示的转弯实际上是否与预定目的地关联。例如,在一些实施方式中,车辆200已经无意地在转弯车道上熄火,并且向预定目的地前进可以涉及并入相邻车道(在车道定位模块2520的帮助下)以及继续前进直行通过十字路口。因此,系统100可以被配置为基于该预定目的地信息来确定是向左转弯、向右转弯还是继续直行通过十字路口。
[0336] 交通灯细节检测
[0337] 在一些实施方式中,系统100可以提供与交通信号的识别相关的附加功能。例如,系统100可以基于交通灯的物理特征的分析来提供交通灯细节检测功能以提供反馈。为了实现这种功能,处理单元110可以处理由图像捕获装置122、124、126中的至少一个捕获的图像并且采用超分辨率技术来识别图像中的交通灯的特定特征,其中该特定特征可以向系统100指示有用信息。例如,系统100可以识别交通灯的已经被照亮的圆形信号和箭头形信号,并且在其之间进行区分。
[0338] 在一些实施方式中,存储器140和/或150可以存储指令,这些指令被编程为使得当由处理装置执行时将提供交通灯细节检测功能。如图28中所示,存储器140和/或150可以存储图像对齐模块2810、像素扩展模块2820、图像分析模块2830和数据库2840。图像对齐模块2810可以存储用于将由图像捕获装置122、124、126捕获的多个图像进行对齐的指令。像素扩展模块2820可以存储用于增加图像的至少一部分的分辨率以允许图像被缩放成标准尺寸的指令。图像分析模块2830可以存储用于对图像进行分析以检测并识别图像的特征的指令。数据库2830可以被配置为存储与提供交通灯细节检测功能相关联的数据并且当需要时提供数据。进一步,图像对齐模块2810、像素扩展模块2820和图像分析模块2830可以单独地或者以与彼此的各种组合的方式来存储可以由一个或更多个处理器(例如,处理单元110)执行的指令。例如,图像对齐模块2810、像素扩展模块2820和图像分析模块2830可以被配置为与彼此和/或系统100的其它模块相互作用,以执行与公开的实施方式相一致的功能。
[0339] 数据库2840可以包括存储信息并且通过计算装置(诸如处理单元110)进行访问和/或管理的一个或更多个存储装置。在一些实施方式中,如图28中所示,数据库2840可以位于存储器150中。在其它实施方式中,数据库2840可以被定位得距存储器150较远,并且经由一个或更多个无线连接(例如,无线网络)对于系统100的其它部件(例如,处理单元120)可访问。虽然示出了一个数据库2840,但是应当理解,多个单独的和/或互连的数据库可以组成数据库2840。数据库630可以包括计算部件(例如,数据库管理系统、数据库服务器等等),该计算部件被配置为接收并处理针对存储在与数据库2840相关联的存储器装置中的数据的请求并且(例如,向处理单元110)提供来自数据库2840的数据。
[0340] 在一些实施方式中,数据库2840可以被配置为存储与提供交通灯细节检测功能相关联的数据。例如,数据库2840可以存储数据(诸如图像、地图、算法、多组值等等),这可以允许处理单元110识别在图像中检测的信息。例如,数据库2840可以存储与交通灯的圆形信号和箭头形信号中的每一个相对应的一组平均像素值。
[0341] 在一些实施方式中,系统100可以提供基于在一个或更多个所捕获的图像中检测的交通灯的细节的反馈。例如,系统100可以被配置为在与交通灯相关联的信号的颜色、形状和位置之间进行区分,以便提供基于所检测的细节的含义的特定反馈(例如,箭头形信号控制转弯移动,而圆形信号控制直行向前移动)。
[0342] 图29A和图29B描述了可以由系统100检测的示例性对象。图29A描述了包括圆形信号2910的交通灯架2900A。图29B描述了包括箭头形信号2920的交通灯架。虽然两个对象都包括交通灯,但是它们包括指示不同消息的不同细节。在示例性实施方式中,系统100可以被配置为对一个或更多个图像的像素进行分析以识别区别特征,诸如圆形信号2910和箭头形信号2920。
[0343] 图29C描述了圆形信号2910的图像2915的示例性部分,包括多个像素2930。系统100可以被配置为对像素2930进行分析以识别图像中发现的对象和/或细节。例如,图像分析模块2830可以被配置为识别与每个像素2930相关联的特征(诸如亮度、颜色、对比度、色调、透明度等等),并且基于像素分析来确定与图像相关联的对象和/或细节。图像分析模块
2830识别的每个特征可以被给定一个值。例如,图像分析模块2830可以将值“一”分配给被识别为颜色红色的像素,并且将值“零”分配给任何其它像素。
[0344] 在一些实施方式中,系统100可以被配置为使用超分辨率技术来允许多个图像中的对象的更精确的分析。例如,像素扩展模块2820可以修改图像2915以将像素2930中的一个或更多个划分成子集的像素2940。虽然在图29C中示出仅部分像素2930被扩展到像素2940中,但是应当理解,像素2930的任何部分或全部都可以按照这种方式来划分。因此,像素扩展模块2820可以增加与图像的特定部分相关联的像素的数量。
[0345] 在示例性实施方式中,像素扩展模块2820可以增加与图像中的特定对象相关联的像素的数量,使得图像的包括对象的部分包括所选定数量的像素(例如,标准数量的像素)。通过这种方式,即使多个图像包括不同尺寸的同一对象(例如,因为图像是在距对象不同的距离处拍摄的),图像也能够被修改为使得图像的包括该对象的部分包括相同数量的像素,该相同数量的像素能够直接进行比较并被平均化,以更加可靠地确定对象的位于像素内部的部分的特征(例如,颜色)。
[0346] 将图像的已选部分缩放以使相同数量的像素与每个图像中的对象相关联可以允许对图像直接进行比较(例如,将图像中一个像素的值与另一图像中相同像素进行比较)。通过这种方式,可以通过图像分析模块2830对多个图像进行考虑和分析,从而与一个图像的分析相比增加准确性。例如,超分辨率技术可以增加图像分析模块2830可以正确地在图像中的圆形信号2920和箭头形信号2930之间进行区分的可能性。
[0347] 图29D描述了箭头形信号2920的图像2925的示例性部分。如上面相对于图像2915所描述的,图像2925可以被划分成像素2930,每个像素2930可以被扩展到像素2940的子集中。如图29C和图29D中能够看出的,像素2930围绕各个信号2920、2930的边缘而不同。图像分析模块2830可以被配置为识别像素2930的一个或更多个特性,以确定像素是对应于圆形信号2910还是箭头形信号2920。像素2930扩展到像素2940中可以允许将考虑多个图像并将多个图像对齐,从而增加检测的可靠性。
[0348] 图30A是示出与公开的实施方式相一致的用于确定交通灯是否包括箭头的示例性处理3000A。在示例性实施方式中,系统100可以执行处理3000A以确定在多个图像中检测的交通灯的部分是否包括箭头形信号。箭头形信号(或者“箭头”)可以是信号的视觉成分采用箭头形状的交通灯的信号的类型。箭头可以是指示此时可以允许车辆转弯(例如,在箭头的方向上转弯)的信号。
[0349] 在步骤3002,处理单元110可以接收交通灯的多个图像。例如,一个或更多个图像捕获装置122、124、126可以获取车辆200的前方区域的多个图像。在一些实施方式中,诸如当车辆200正在接近枢纽时,车辆200的前方区域可以包括包含至少一个交通灯的一个或更多个交通灯架。在这些实施方式中,一个或更多个图像捕获装置122、124、126可以获取交通灯的多个图像。处理单元110可以通过数据接口128从图像捕获装置122、124、126接收多个图像。
[0350] 处理单元110可以分析所接收的多个图像。在一些实施方式中,处理单元110可以对多个图像进行分析以确定多个图像包括交通灯。例如,处理单元110可以识别一个或更多个对象作为交通灯的候选,并且执行一个或更多个处理(例如,图像匹配)以确定该候选是否对应于交通灯。然而,应当理解,处理单元110可以执行处理3000A,无需识别对象作为交通灯的不同步骤。另外,处理单元110可以对多个图像中的一部分进行分析以确定交通灯的特性。这些特性可以帮助系统100确定对交通灯的响应(例如,灯为绿灯-移动通过枢纽,灯为红灯-在枢纽处停止)。
[0351] 在步骤3004,处理单元110(例如,经由图像对齐模块2810)可以将对应于交通灯的多个图像的区域对齐。例如,处理单元110可以使用交通灯的区域作为公共点来将多个图像对齐。该对齐可以允许处理单元110分析多个图像的公共区域。
[0352] 为了将对应于交通灯的多个图像的区域对齐,处理单元110可以选择可以允许识别关注区域的交通灯的特点或特性。在示例性实施方式中,处理单元110可以基于所确定的亮度中心(例如,交通灯的亮着的信号的中心)将对应于交通灯的多个图像的区域对齐。在一些实施方式中,亮度的中心可以通过发现例如交通灯的亮度的质心来确定。在其它实施方式中,处理单元110可以使用交通灯的颜色、形状、位置或任何其它特点或特性来将多个图像对齐。进一步,在一些实施方式中,处理单元110可以使多个图像的区域旋转,以在图像平面上将这些图像对齐(例如,匹配区域的旋转位置)。
[0353] 如上所述,经对齐的多个图像的区域可以对应于交通灯的关注区域。例如,通过基于亮度在对应于交通灯的区域处将多个图像对齐,可以识别交通灯的亮着的信号并将其放在经对齐的区域内部。亮着的信号可以向观看者指示此时可以接受的动作(例如,停止、前进、转弯等等)。因此,将对应于亮着的信号的区域对齐可以帮助处理单元110使交通灯的关注区域隔离。
[0354] 在步骤3006,处理单元110(例如,经由像素扩展模块2820)可以在经对齐的区域内部对多个图像的像素进行扩展,以获得标准尺寸(例如,相同数量的像素)。例如,处理单元110可以执行图像修改处理,在该处理中,处理单元110用多个像素来代替与多个图像的经对齐的区域相对应的每个像素。通过这种方式,一个或更多个图像的经对齐的区域可以被扩展成标准尺寸。像素的扩展可以允许像素在多个图像之间的直接比较。
[0355] 在一些实施方式中,处理单元110可以通过用像素矩阵来代替每个像素对在经对齐的区域内的多个图像的像素进行扩展。像素矩阵中的每个像素的特征是可以具有与母像素相同的值。通过这种方式,经扩展的像素还可以包括与像素处的图像的特征(例如,颜色、亮度等等)相关联的值。
[0356] 在一个实施方式中,处理单元110可以将经对齐的区域内部的每个像素扩展成3x3像素矩阵。在另一实施方式中,处理单元110可以将经对齐的区域内部的每个像素扩展成4x4像素矩阵。在其它实施方式中,可以使用其它矩阵尺寸(例如,5x5、6x6、8x8等等)。
[0357] 在一些实施方式中,像素扩展模块2820可以基于将每个像素转换成与比例因数相对应的多个像素的该比例因数(例如,2、2.5、3、4、5等等)来对像素进行扩展。像素扩展模块2820可以基于图像中对象的尺寸以及使用的标准尺寸来确定比例因数。通过这种方式,图像中的对象可以被标准化成包括相同数量的像素。
[0358] 处理单元110可以分析遍及多个图像的像素。例如,在步骤3008中,处理单元110(例如,经由图像分析模块2830)可以确定包括针对每个像素的平均像素值在内的一组平均像素值,包括经扩展的像素。如上所述,经扩展的像素包括与母像素相关联的值。像素值可以是限定所选像素并允许处理单元110确定经对齐的区域中的交通灯的特性的任何值。例如,像素值可以对应于与每个像素相关联的颜色或亮度值。在另一实施方式中,像素值可以是指示每个像素(或像素矩阵平均)是否包括阈值以上的颜色或亮度值的二进制值。处理单元110可以确定在全部的多个图像中针对每个像素的平均像素值。
[0359] 处理单元110可以使用像素值来确定经对齐的区域中交通灯的特性。例如,在步骤3010中,处理单元110可以基于一组平均像素值来确定交通灯是否包括箭头。在一个示例中,处理单元110可以将一组平均像素值与所存储的标准(例如,存储在数据库2840中的信息)进行比较,以确定像素值是否对应于箭头。在另一实施方式中,处理单元可以将平均像素值绘制地图并将其与所存储的地图进行比较,以确定像素值是否对应于箭头形状。
[0360] 在一些实施方式中,处理单元110可以使用精确度因数来确定像素值是否对应于箭头。例如,处理单元110可以确定一组平均像素值是否与所存储的标准(例如,一组像素值、所存储的图像、像素地图等等)匹配在大于阈值的精确度之内。在一些实施方式中,精确度因数可以取决于图像的质量而发生变化。例如,如果车辆200离交通灯较远和/或如果图像捕获装置122、124、126中的仅一个能够捕获交通灯的图像的话,则可以使用相对较低的精确度因数。类似地,如果车辆200离交通灯较近和/或图像捕获装置122、124、126中的超过一个(或全部)能够捕获交通灯的图像的话,则可以使用相对较高的精确度因数。在一些实施方式中,图像分析模块2830可以针对一个或更多个特征来对对象进行分类。例如,图像分析模块2830可以将对象分类为箭头形信号或圆形信号。
[0361] 通过示例性处理3000A,系统100可以被配置为识别与交通灯相关联的箭头形信号。识别箭头形信号的能力向系统100提供增强系统100的能力的其它功能。特别地,由于箭头形信号可以指示与非箭头形信号(例如,简单的圆形灯)不同的信息,系统100可以被配置为提供特定化的系统响应(例如,可以接受此时向左转弯、不可以接受此时向左转弯等等),该系统响应否则可能是不正确的(例如,绿灯指示在全部方向上前进)。在另一实施方式中,系统100可以在两个所识别的交通信号灯(例如,绿色圆形灯和红色箭头形灯)之间进行区分,以确定应当遵守哪个交通信号灯。下面将更加详细地描述用于使用箭头形信号的检测来实现该功能的示例性处理。
[0362] 图30B是示出与公开的实施方式相一致的用于基于交通灯中箭头信号的检测来引起系统响应的示例性处理3000B的流程图。在示例性实施方式中,处理单元110可以执行处理3000B,以使用处理3000A的结果来控制车辆200。例如,基于交通灯中箭头形信号的检测,处理单元110可以命令车辆200加速、转弯、停止、改变车道等等。
[0363] 在步骤3012中,处理单元110可以识别交通信号灯。例如,处理单元110可以在由一个或更多个图像捕获装置122、124、126捕获的一个或更多个图像中识别交通信号灯。在一些情况下,可以在图像中识别超过一个的交通信号灯(例如,绿色圆形灯和红色箭头形灯)。
[0364] 在步骤3014,处理单元110可以确定所识别的交通信号灯的颜色。处理单元110可以使用颜色识别处理来分析交通灯的多个图像中的一个或更多个图像,以确定交通信号灯的颜色并对其进行分类。例如,处理单元110可以将图像数据与所存储的标准进行匹配,以从多种颜色可能性(例如,绿色、红色、黄色、橙色等等)中确定颜色。
[0365] 在一个实施方式中,处理单元110可以识别包括指示像素是交通信号灯的部分形状的像素值在内的像素的颜色。在另一实施方式中,一个或更多个图像捕获装置122、124、126可以使用清晰像素和红色(或其它颜色)像素来帮助进行颜色区分。例如,在一些实施方式中,当图像中存在红灯时,可以使用红色像素和清晰像素,而当存在绿灯(或其它颜色的)灯时,仅可以使用清晰像素而忽略红色像素(例如,定义为黑色、无颜色、不是红色等等)。例如,当灯是红灯时,红色像素可以与颜色匹配并且被“用来”确定该颜色。作为另一示例,当灯是绿灯时,可以使用清晰像素来识别颜色和/或忽略掉红色像素以将颜色限定为不是红色。通过这种方式,处理单元110可以取决于被用来限定像素内部的灯的值的像素的类型来在图像中的颜色之间进行区分。进一步,由于图像可以与其它图像进行对齐并进行平均化以实现更高分辨率的图像,可以基于来自其它图像的信息来提供所忽略红色像素(或缺失值的其它像素)的值。
[0366] 应当理解,上述内容是示例并且可以使用其它颜色识别处理和/或技术。在一些实施方式中,处理单元110可以被配置为确定箭头和/或交通信号的一个或更多个其它特性。例如,处理单元110可以确定箭头是闪烁的还是稳定的。在另一示例中,处理单元110可以确定箭头是否最近从其它信号变来。例如,多个图像可以包括两个所识别的信号,之前信号和当前信号(例如,所识别的箭头)。这些其它特性可以为处理单元110提供可以有助于确定如何解释箭头形信号的附加信息。
[0367] 在步骤3018中,处理单元110可以基于箭头的颜色(和/或箭头和/或交通信号的其它特性)来产生一个或更多个系统响应。在一个示例中,系统响应可以对应于箭头的指示(例如,绿色箭头-可以接受转弯、红色箭头-不可以接受转弯等等)。在另一示例中,系统响应可以对应于特定交通信号由于其是箭头而不适用的指示(例如,车辆正在直行行驶)。系统响应可以是被配置为改变或继续车辆200的操作参数的导航响应。例如,处理单元110可以向车辆的驾驶员提供通知(例如,经由用户接口170的可听声音或可视指示符),施加车辆制动,中止巡航控制,和/或发起自动转弯机动。例如,处理单元110可以向节流系统220、制动系统230和转向系统240中的一个或更多个提供控制信号以对车辆200进行导航。在一些实施方式中,处理单元110可以继续对图像进行分析,以确定是否应当中断系统响应(例如,箭头不再是绿色-中止巡航控制并施加制动)。
[0368] 通过示例性公开的处理3000A和3000B,系统100可以具有提供车辆200的自主控制的增强的功能。特别地,系统100可以被配置为基于由交通信号提供的详细信息来对交通信号做出反应,并且提供允许车辆200的安全操作的恰当的系统响应。进一步,尽管已经在箭头形信号的语境下描述了上述处理,应当理解的是,其一个或更多个步骤可以被用于相似处理中,以确定对其它对象和/或信号(诸如行人信号、红灯不转弯信号、固定道路标志、街道标志、交通咨询牌、广告牌等等)的系统响应。
[0369] 出于图示的目的,前面的描述已呈现。并非穷尽且并不限于公开的具体形式或实施方式。考虑到说明书和公开的实施方式的实践,修改和改写对本领域技术人员将是明显的。另外,虽然公开的实施方式的各方面描述为存储在存储器中,但是本领域技术人员将了解到,这些方面也可以存储在其它类型的诸如二级存储装置的计算机可读介质上,例如,硬盘或CD ROM,或其它形式的RAM或ROM、USB介质、DVD、蓝光或其它光驱介质。
[0370] 基于书面描述和公开方法的计算机程序在有经验的开发人员的技术内。各种程序或程序模块可以使用本领域技术人员公知的任何技术来创建或者可以结合现有软件设计。例如,程序段或程序模块可以设计或借助.Net Framework、.Net Compact Framework(及相关语言,诸如Visual Basic、C,等等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或包括Java小程序的HTML。
[0371] 而且,虽然说明性实施方式已在本文中描述,具有等同元件、修改、省略、组合(例如,跨各实施方式的方面)、改写和/或变更的任何及所有实施方式的范围将基于本公开被本领域技术人员了解。权利要求书中的限制应解译宽泛地基于权利要求书中采用的语言,并不限于本说明书或本申请审查期间描述的示例。示例应被解释为非排他性的。此外,公开方法中的步骤能以任何方式修改,包括重新排序各步骤和/或插入或删除步骤。因此,预期说明书和示例考虑为仅是说明性的,真正的范围和精神由随附权利要求书及其完整的等同范围指示。