掌桥专利:专业的专利平台
掌桥专利
首页

用于车辆导航的系统和方法

文献发布时间:2023-06-19 13:48:08


用于车辆导航的系统和方法

相关申请的交叉引用

本申请要求美国临时申请No. 62/854191(于2019年5月29日提交)和美国临时申请No. 62/880208(于2019年7月30日提交)的优先权。通过引用将上述申请全部完整地结合到本文中。

技术领域

本公开一般涉及自主车辆导航。

背景技术

随着技术不断进步,能够在公路上导航的全自主车辆的目标即将实现。自主车辆可需要考虑多种因素,并且基于那些因素进行适当判定,以安全准确地到达预计目的地。例如,自主车辆可需要处理和解释视觉信息(例如从照相装置所捕获的信息),并且还可使用从其他来源(例如从GPS装置、速度传感器、加速计、悬架传感器等)所得到的信息。同时,为了导航到目的地,自主车辆还可需要识别它在特定公路内的位置(例如多车道道路的特定车道),与其他车辆并排导航,避开障碍物和行人,观察交通灯信号和标志,并且在适当十字路口或立交桥从一个道路行驶到另一个道路。利用和解释由自主车辆在行驶到其目的地时所收集的大量信息造成许多设计难题。自主车辆可需要分析、访问和/或存储的大量数据(例如所捕获图像数据、地图数据、GPS数据、传感器数据等)造成实际上能够限制或者甚至不利地影响自主导航的难题。此外,如果自主车辆依靠传统绘图技术进行导航,则存储和更新地图所需的大量数据造成巨大难题。

发明内容

按照本公开的实施例提供用于自主车辆导航的系统和方法。所公开的实施例可使用照相装置来提供自主车辆导航特征。例如,按照所公开的实施例,所公开的系统可包括一个、二个或更多照相装置,所述照相装置监测车辆的环境。所公开的系统可基于例如由照相装置的一个或多个所捕获的图像的分析来提供导航响应。

在实施例中,车辆的导航系统可包括至少一个处理器。至少一个处理器可被编程为从车辆的第一照相装置接收从车辆的环境所捕获的第一图像,并且从车辆的第二照相装置接收从车辆的环境所捕获的第二图像。至少一个处理器还可被编程为分析第一图像,以生成第一检测结果。第一检测结果可包括交通灯和交通灯的状态的标识。至少一个处理器还可进一步配置成分析第二图像,以生成第二检测结果。第二检测结果可包括交通灯和交通灯的状态的标识。至少一个处理器还可配置成比较第一检测结果和第二检测结果,以确定第三检测结果。第三检测结果可包括交通灯的确认状态。至少一个处理器可进一步配置成基于交通灯的确认状态来确定车辆的导航动作。至少一个处理器还可配置成使车辆实现导航动作。

在实施例中,一种导航车辆的方法可包括从车辆的第一照相装置接收从车辆的环境所捕获的第一图像。该方法还可包括从车辆的第二照相装置接收从车辆的环境所捕获的第二图像。该方法可进一步包括分析第一图像,以生成第一检测结果。第一检测结果可包括交通灯和交通灯的状态的标识。该方法还可包括分析第二图像,以生成第二检测结果。第二检测结果可包括交通灯和交通灯的状态的标识。该方法还可包括比较第一检测结果和第二检测结果,以确定第三检测结果。第三检测结果可包括交通灯的确认状态。该方法可进一步包括基于交通灯的确认状态来确定车辆的导航动作。该方法还可包括使车辆实现导航动作。

在实施例中,车辆的导航系统可包括至少一个处理器。至少一个处理器可被编程为接收从车辆的环境所捕获的图像。该图像可具有第一分辨率。至少一个处理器还可被编程为分析所捕获图像的修改版本,以确定与所捕获图像的修改版本关联的至少一个交通灯候选区域。所捕获图像的修改版本可具有比所捕获图像的第一分辨率要低的第二分辨率。至少一个处理器可进一步被编程为基于所捕获图像的修改版本的至少一个交通灯候选区域来确定要分析的所捕获图像的一部分。至少一个处理器还可被编程为分析所捕获图像的确定部分,以确认交通灯的表示存在于所捕获图像的确定部分中。

在实施例中,检测交通灯的方法可包括:接收从车辆的环境所捕获的图像,其中图像具有第一分辨率;分析所捕获图像的修改版本,以确定与所捕获图像的修改版本关联的至少一个交通灯候选区域,其中所捕获图像的修改版本具有比所捕获图像的第一分辨率要低的第二分辨率;基于所捕获图像的修改版本的至少一个交通灯候选区域来确定要分析的所捕获图像的一部分;以及分析所捕获图像的确定部分,以确认交通灯的表示存在于所捕获图像的确定部分中。

在实施例中,车辆的导航系统可包括至少一个处理器。至少一个处理器可被编程为从车辆的照相装置接收从车辆的环境所捕获的图像。至少一个处理器还可被编程为基于指示捕获图像的位置的信息并且还基于存储与车辆的环境中的至少一个交通灯关联的位置的地图信息来确定所捕获图像中的交通灯候选区域。至少一个处理器可进一步被编程为基于交通灯候选区域来确定要分析的所捕获图像的一部分。至少一个处理器还可被编程为分析图像的所述部分,以识别所捕获图像中的至少一个交通灯的表示。至少一个处理器可进一步被编程为基于至少一个交通灯来确定车辆的至少一个导航动作。至少一个处理器还可被编程为使车辆实现至少一个导航动作。

在实施例中,车辆的导航系统可包括至少一个处理器。至少一个处理器可被编程为从照相装置接收从车辆的环境所捕获的至少一个图像。至少一个处理器还可被编程为分析至少一个图像,以识别至少一个图像中的交通灯的表示。交通灯可与十字路口关联。至少一个处理器可进一步被编程为基于对至少一个图像的分析来确定交通灯的状态,并且基于交通灯的确定状态来确定车辆的计划导航动作。在关于交通灯处于绿色状态的确定之后,并且在交通灯转变成绿色状态的时间不是已知的情况下,如果车辆预计在预定下一个转红时间的时间间隔之内到达交通灯或十字路口,则至少一个处理器可被编程为使车辆实现计划导航动作。如果车辆预计在预定下一个转红时间的时间间隔之内不会到达交通灯或十字路口,则至少一个处理器可进一步被编程为使车辆实现与计划导航动作不同的第二导航动作。

在实施例中,一种导航车辆的方法可包括从照相装置接收从车辆的环境所捕获的至少一个图像。该方法还可包括分析至少一个图像,以识别至少一个图像中的交通灯的表示。交通灯可与十字路口关联。该方法可进一步包括基于对至少一个图像的分析来确定交通灯的状态,并且基于交通灯的确定状态来确定车辆的计划导航动作。该方法还可包括:在关于交通灯处于绿色状态的确定之后,并且在交通灯转变成绿色状态的时间不是已知的情况下,如果车辆预计在预定下一个转红时间的时间间隔之内到达交通灯或十字路口,则使车辆实现计划导航动作。该方法可进一步包括:如果车辆预计在预定下一个转红时间的时间间隔之内不会到达交通灯或十字路口,则使车辆实现与计划导航动作不同的第二导航动作。

按照其他所公开实施例,非暂时计算机可读存储介质可存储程序指令,所述指令由至少一个处理装置执行,并且执行本文所述方法的任一种。

以上一般描述和以下详细描述只是示范和说明性的,而不是对权利要求的限制。

附图说明

结合到本公开中并且形成本公开的一部分的附图示出各个所公开实施例。附图包括:

图1是按照所公开实施例的示范系统的图解表示。

图2A是包括按照所公开实施例的系统的示范车辆的图解侧视图表示。

图2B是按照所公开实施例、图2所示的车辆和系统的图解顶视图表示。

图2C是包括按照所公开实施例的系统的车辆的另一个实施例的图解顶视图表示。

图2D是包括按照所公开实施例的系统的车辆的又一个实施例的图解顶视图表示。

图2E是包括按照所公开实施例的系统的车辆的又一个实施例的图解顶视图表示。

图2F是按照所公开实施例的示范车辆控制系统的图解表示。

图3A是按照所公开实施例、包括后视镜以及用于车辆成像系统的用户接口的车辆内部的图解表示。

图3B是按照所公开实施例、配置成在后视镜后面并倚靠车辆挡风玻璃所定位的照相装置支架的示例的图示。

图3C是按照所公开实施例、从不同角度的图3B所示照相装置支架的图示。

图3D是按照所公开实施例、配置成在后视镜后面并倚靠车辆挡风玻璃所定位的照相装置支架的示例的图示。

图4是按照所公开实施例、配置成存储用于执行一个或多个操作的指令的存储器的示范框图。

图5A是示出按照所公开实施例、基于单目图像分析来引起一个或多个导航响应的示范过程的流程图。

图5B是示出按照所公开实施例、检测图像集合中的一个或多个车辆和/或行人的示范过程的流程图。

图5C是示出按照所公开实施例、检测图像集合中的道路标记和/或车道几何信息的示范过程的流程图。

图5D是示出按照所公开实施例、检测图像集合中的交通灯的示范过程的流程图。

图5E是示出按照所公开实施例、基于车辆路径来引起一个或多个导航响应的示范过程的流程图。

图5F是示出按照所公开实施例、确定前行车辆(leading vehicle)是否正变更车道的示范过程的流程图。

图6是示出按照所公开实施例、基于立体图像分析来引起一个或多个导航响应的示范过程的流程图。

图7是示出按照所公开实施例、基于对三组图像的分析来引起一个或多个导航响应的示范过程的流程图。

图8示出按照所公开实施例、用于提供自主车辆导航的稀疏地图。

图9A示出按照所公开实施例的路段的一部分的多项式表示。

图9B示出按照所公开实施例的三维空间中的曲线,该曲线表示稀疏地图中包含的车辆对特定路段的目标轨迹。

图10示出按照所公开实施例、可被包含在稀疏地图中的示例路标。

图11A示出按照所公开实施例的轨迹的多项式表示。

图11B和图11C示出按照所公开实施例、沿多车道道路的目标轨迹。

图11D示出按照所公开实施例的示例道路签名简档。

图12是按照所公开实施例的系统的示意图,该系统将从多个车辆所接收的众包数据(crowd sourcing data)用于自主车辆导航。

图13示出按照所公开实施例、通过多个三维样条所表示的示例自主车辆道路导航模型。

图14示出按照所公开实施例、从组合来自次驾驶的位置信息所生成的地图概略图(map skeleton)。

图15示出按照所公开实施例、两次驾驶与作为路标的示例标志纵向对齐的示例。

图16示出按照所公开实施例、多次驾驶与作为路标的示例标志纵向对齐的示例。

图17是按照所公开实施例、使用照相装置、车辆和服务器来生成驾驶数据的系统的示意图。

图18是按照所公开实施例、用于众包稀疏地图的系统的示意图。

图19是示出按照所公开实施例、生成沿路段的自主车辆导航的稀疏地图的示范过程的流程图。

图20示出按照所公开实施例的服务器的框图。

图21示出按照所公开实施例的存储器的框图。

图22示出按照所公开实施例、聚类与车辆关联的车辆轨迹的过程。

图23示出按照所公开实施例的车辆的导航系统,该导航系统可用于自主导航。

图24A、图24B、图24C和图24D示出按照所公开实施例、可被检测的示范车道标记。

图24E示出按照所公开实施例的示范映射车道标记。

图24F示出按照所公开实施例、与检测车道标记关联的示范异常。

图25A示出按照所公开实施例、基于映射车道标记的导航的车辆周围环境的示范图像。

图25B示出按照所公开实施例、车辆在道路导航模型中基于映射车道标记的横向定位校正。

图26A是示出按照所公开实施例、映射车道标记以供自主车辆导航中使用的示范过程的流程图。

图26B是示出按照所公开实施例、使用映射车道标记沿路段自主导航主车辆的示范过程的流程图。

图27A示出按照所公开实施例、可被检测的示范方向箭头。

图27B示出按照所公开实施例的所检测方向箭头的示范图像处理。

图27C示出按照所公开实施例、可用来检测方向箭头的车辆周围环境的示范图像。

图28A示出按照所公开实施例、由车辆在直线路段上进行的示范自主导航动作的平面图。

图28B示出按照所公开实施例、由车辆从转弯车道进行的示范自主导航动作的平面图。

图28C示出按照所公开实施例、由车辆进入转弯车道进行的示范自主导航动作的平面图。

图28D示出按照所公开实施例、由车辆基于当前车道之外的方向箭头进行的示范自主导航动作的平面图。

图28E示出按照所公开实施例、由车辆基于映射方向箭头进行的示范自主导航动作。

图29A是示出按照所公开实施例、映射方向箭头以供自主车辆导航中使用的示范过程的流程图。

图29B是示出按照所公开实施例、基于所检测方向箭头沿路段自主导航主车辆的示范过程的流程图。

图29C是示出按照所公开实施例、基于映射方向箭头沿路段自主导航主车辆的示范过程的流程图。

图30A、图30B、图30C和图30D示出按照所公开实施例、与各种故障条件相关的示范图像。

图31示出按照所公开实施例的车辆的环境的示范图像。

图32是示出按照所公开实施例、传送导航信息的示范过程的流程图。

图33是按照所公开实施例、用于映射路段自由空间和/或用于沿路段自主导航主车辆的系统的示意图。

图34是示出按照所公开实施例、映射路段自由空间的示范过程的流程图。

图35是示出按照所公开实施例、沿路段自主导航主车辆的示范过程的流程图。

图36A是按照所公开实施例、包括十字路口的公路的示意图。

图36B是按照所公开实施例、用于确定车辆相对于交通灯的位置的三角测量技术的示意图。

图37A和图37B是按照所公开实施例、确定车辆的导航的时间相关变量的说明图表。

图38是按照所公开实施例、更新自主车辆道路导航模型的说明过程。

图39是按照所公开实施例、选择和实现导航动作的说明过程。

图40是按照所公开实施例的时间相关交通灯状态的说明图表。

图41是按照所公开实施例、选择和实现车辆的导航动作的说明过程。

图42是按照所公开实施例的示范系统的图解表示。

图43A和图43B示出按照所公开实施例的车辆周围环境的示范图像。

图44是示出按照所公开实施例、导航车辆的示范过程的流程图。

图45是按照所公开实施例的示范系统的图解表示。

图46A和图46B示出按照所公开实施例的车辆周围环境的示范图像。

图47是示出按照所公开实施例、导航车辆的示范过程的流程图。

图48是示出按照所公开实施例、导航车辆的示范过程的流程图。

图49是按照所公开实施例的示范系统的图解表示。

图50示出按照所公开实施例、表示车辆周围环境的示范图像。

图51-55是示出按照所公开实施例的最坏转红时间定时的示范情形的表。

图56是示出按照所公开实施例、导航车辆的示范过程的流程图。

具体实施方式

以下详细描述参照附图。在可能的情况下,相同参考标号在附图和以下描述中用来表示相同或相似部件。虽然本文描述若干说明性实施例,但是修改、自适应和其他实现是可能的。例如,可对附图所示的组件进行置换、添加或修改,并且可通过对所公开方法置换、重排序、去除或添加步骤来修改本文所述的说明性方法。相应地,以下详细描述并不局限于所公开的实施例和示例。适当范围而是通过所附权利要求书来限定。

如本公开通篇所使用的术语“自主车辆”表示能够在无需驾驶员输入的情况下实现至少一个导航变更的车辆。“导航变更”表示车辆的转向、制动或者加速度的一个或多个的变化。要成为自主的,车辆无需是全自动的(例如没有驾驶员或者没有驾驶员输入的全面操作)。自主车辆而是包括能够在某些时间段期间在驾驶员控制下以及在其他时间段期间在没有驾驶员控制的情况下进行操作的那些车辆。自主车辆还可包括一些车辆,所述车辆仅控制车辆导航的一些方面,例如转向(例如以将车辆路线保持在车辆车道约束之间),而可将其他方面留给驾驶员(例如制动)。在一些情况下,自主车辆可操控车辆的制动、速度控制和/或转向的部分或全部方面。

由于人类驾驶员通常依靠视觉线索和观察来控制车辆,因此相应地构建运输基础设施,其中车道标记、交通标志和交通灯全部设计成向驾驶员提供视觉信息。鉴于运输基础设施的这些设计特性,自主车辆可包括照相装置和处理单元,该处理单元分析从车辆的环境所捕获的视觉信息。视觉信息可包括例如驾驶员可观察的运输基础设施的组件(例如车道标记、交通标志、交通灯等)以及其他障碍物(例如其他车辆、行人、碎片等)。另外,自主车辆还可使用所存储信息,例如在导航时提供车辆环境的模型的信息。例如,车辆可在正行驶的同时使用GPS数据、传感器数据(例如来自加速计、速度传感器、悬架传感器等)和/或其他地图数据来提供与其环境相关的信息,并且车辆(以及其他车辆)可使用该信息在模型上定位自身。

在本公开的一些实施例中,自主车辆可使用进行导航的同时所得到(例如来自照相装置、GPS装置、加速计、速度传感器、悬架传感器等)的信息。在其他实施例中,自主车辆可在进行导航的同时使用车辆(或其他车辆)从以往导航所得到的信息。在又一些实施例中,自主车辆可使用进行导航的同时所得到的信息以及从以往导航所得到的信息的组合。以下部分提供按照所公开实施例的概述,之后接着按照该系统的前向成像系统和方法的概述。以下部分公开用于构成、使用和更新自主车辆导航的稀疏地图的系统和方法。

图1是按照所公开示范实施例的系统100的框图表示。系统100根据特定实现的要求可包括各种组件。在一些实施例中,系统100可包括处理单元110、图像获取单元120、位置传感器130、一个或多个存储器单元140和150、地图数据库160、用户接口170和无线收发器172。处理单元110可包括一个或多个处理装置。在一些实施例中,处理单元110可包括应用处理器180、图像处理器190或者任何其他适当处理装置。类似地,图像获取单元120根据特定应用的要求可包括任何数量的图像获取装置和组件。在一些实施例中,图像获取单元120可包括一个或多个图像捕获装置(例如照相装置),例如图像捕获装置122、图像捕获装置124和图像捕获装置126。系统100还可包括数据接口128,该数据接口128在通信上将处理单元110连接到图像获取装置120。例如,数据接口128可包括一个或多个任何有线和/或无线链路,以用于将图像获取装置120所获取的图像数据传送给处理单元110。

无线收发器172可包括一个或多个装置,所述装置配置成通过使用射频、红外频率、磁场或电场经由空中接口交换对一个或多个网络(例如蜂窝、因特网等)的传输。无线收发器172可使用任何已知标准来传送和/或接收数据(例如Wi-Fi、Bluetooth®、BluetoothSmart、802.15.4、ZigBee等)。这类传输能够包括从主车辆到一个或多个远程定位服务器的通信。这类传输还可包括主车辆与主车辆的环境中的一个或多个目标车辆之间的通信(单向或双向)(例如以促进考虑到或者连同主车辆的环境中的目标车辆一起的主车辆的导航的协调)或者甚至对发射车辆附近的未指定接收方的广播传输。

应用处理器180和图像处理器190均可包括各种类型的处理装置。例如,应用处理器180和图像处理器190的任一个或两者均可包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理器(CPU)、支持电路、数字信号处理器、集成电路、存储器或者适合于运行应用并且适合于图像处理和分析的任何其他类型的装置。在一些实施例中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动装置微控制器、中央处理器等。可使用各种处理装置,包括例如从诸如Intel®、AMD®等的制造商可得到的处理器或者从诸如NVIDIA®、ATI®等的制造商可得到的GPU,并且可包括各种架构(例如x86处理器、ARM®等)。

在一些实施例中,应用处理器180和/或图像处理器190可包括从Mobileye®可得到的EyeQ系列的处理器芯片的任一个。这些处理器设计各自包括多个处理单元,其中具有本地存储器和指令集。这类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,EyeQ2®使用工作在332 Mhz的90 nm-微技术。EyeQ2®架构包括两个浮点超线程32位RISC CPU (MIPS32® 34K®核心)、五个视觉计算引擎(VCE)、三个向量微码处理器(VMP®)、Denali 64位移动DDR控制器、128位内部Sonics互连、双16位视频输入和18位视频输出控制器、 16通道DMA和若干外设。MIPS34KCPU管理五个VCE、三个VMP™和DMA、第二MIPS34K CPU和多通道DMA以及其他外设。五个VCE、三个VMP®和MIPS34K CPU能够执行多功能捆绑应用所要求的密集视觉计算。在另一个示例中,EyeQ3®是第三代处理器并且比EyeQ2®要强六倍,它可用于所公开实施例中。在其他示例中,EyeQ4®和/或EyeQ5®可用于所公开实施例中。当然,任何较新或将来EyeQ处理装置也可连同所公开实施例一起使用。

本文所公开的处理装置的任一个可配置成执行某些功能。将处理装置(例如所述EyeQ处理器或者另一控制器或微处理器的任一个)配置成执行某些功能可包括对计算机可执行指令的编程,并且使这些指令是处理装置在操作期间可用于执行的。在一些实施例中,配置处理装置可包括采用架构指令直接对处理装置进行编程。例如,可使用例如一个或多个硬件描述语言(HDL)来配置处理装置(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。

在其他实施例中,配置处理装置可包括在存储器上存储可执行指令,该存储器是处理装置在操作期间可访问的。例如,处理装置可在操作期间访问存储器,以得到和执行所存储指令。在任一种情况下,配置成执行本文所公开的感测、图像分析和/或导航功能的处理装置表示控制主车辆的多个基于硬件的组件的专用基于硬件的系统。

虽然图1示出处理单元110中包含的两个独立处理装置,但是可使用更多或更少的处理装置。例如,在一些实施例中,单个处理装置可用来完成应用处理器180和图像处理器190的任务。在其他实施例中,这些任务可由多于两个处理装置来执行。此外,在一些实施例中,系统100可包括处理单元110的一个或多个,而没有包括其他组件(例如图像获取单元120)。

处理单元110可包括各种类型的装置。例如,处理单元110可包括各种装置,例如控制器、图像处理器、中央处理器(CPU)、图形处理单元(GPU)、支持电路、数字信号处理器、集成电路、存储器或者用于图像处理和分析的任何其他类型的装置。图像预处理器可包括视频处理器,以用于捕获、数字化和处理来自图像传感器的影像。CPU可包括任何数量的微控制器或微处理器。GPU还可包括任何数量的微控制器或微处理器。支持电路可以是本领域一般众所周知的任何数量的电路,包括高速缓存、电力供应装置、时钟和输入-输出电路。存储器可存储软件,所述软件在由处理器执行时控制系统的操作。存储器可包括数据库和图像处理软件。存储器可包括任何数量的随机存取存储器、只读存储器、闪速存储器、磁盘驱动器、光存储装置、磁带存储装置、可拆卸存储装置和其他类型的存储装置。在一个实例中,存储器可与处理单元110分离。在另一个实例中,存储器可被集成到处理单元110中。

每个存储器140、150可包括软件指令,所述软件指令在由处理器(例如应用处理器180和/或图像处理器190)执行时可控制系统100的各个方面的操作。这些存储器单元可包括各种数据库和图像处理软件以及已训练系统(例如神经网络或深度神经网络)。存储器单元可包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、磁盘驱动器、光存储装置、磁带存储装置、可拆卸存储装置和/或其他类型的存储装置。在一些实施例中,存储器单元140、150可与应用处理器180和/或图像处理器190分离。在其他实施例中,这些存储器单元可被集成到应用处理器180和/或图像处理器190中。

位置传感器130可包括适合于确定与系统100的至少一个组件关联的位置的任何类型的装置。在一些实施例中,位置传感器130可包括GPS接收器。这类接收器能够通过处理全球定位系统卫星所广播的信号来确定用户位置和速度。可使来自位置传感器130的位置信息是应用处理器180和/或图像处理器190可用的。

在一些实施例中,系统100可包括组件,例如用于测量车辆200的速度的速度传感器(例如转速计、速度计)和/或用于测量车辆200的加速度的加速计(单轴或多轴)。

用户接口170可包括适合于向系统100的一个或多个用户提供信息或者从系统100的一个或多个用户接收输入的任何装置。在一些实施例中,用户接口170可包括用户输入装置,包括例如触摸屏、话筒、键盘、指针装置、轨迹轮、照相装置、旋钮、按钮等。通过这类输入装置,用户可以能够通过键入指令或信息、提供语音命令、使用按钮、指针或眼球跟踪能力在屏幕上选择菜单选项或者通过用于向系统100传递信息的任何其他适当技术,向系统100提供信息输入或命令。

用户接口170可配备有一个或多个处理装置,所述处理装置配置成向/从用户提供/接收信息,并且处理那个信息以供例如应用处理器180使用。在一些实施例中,这类处理装置可执行指令,以用于识别和跟踪眼球移动、接收和解释语音命令、识别和解释触摸屏上进行的触摸和/或手势、响应键盘输入或菜单选择等。在一些实施例中,用户接口170可包括显示器、扬声器、触觉装置和/或用于向用户提供输出信息的任何其他装置。

地图数据库160可包括任何类型的数据库,以用于存储对系统100有用的地图数据。在一些实施例中,地图数据库160可包括与参考坐标系中的位置相关的各种物品(包括道路、水特征、地理特征、商务、感兴趣点、餐饮、加油站等)的数据。地图数据库160可以不仅存储这类物品的位置,而且还存储与那些物品相关的描述符,包括例如与所存储特征的任一个关联的名称。在一些实施例中,地图数据库160可在物理上随系统100的其他组件来定位。作为替代或补充,地图数据库160或者其一部分可相对系统100的其他组件(例如处理单元110)远程定位。在这类实施例中,可通过到网络的有线或无线数据连接(例如通过蜂窝网络和/或因特网等)来下载来自地图数据库160的信息。在一些情况下,地图数据库160可存储稀疏数据模型,该稀疏数据模型包含主车辆的某些道路特征(例如车道标记)或目标轨迹的多项式表示。下面参照图8-19来论述生成这种地图的系统和方法。

图像捕获装置122、124和126各自可包括适合于从环境捕获至少一个图像的任何类型的装置。此外,任何数量的图像捕获装置可用来获取图像以供输入到图像处理器。一些实施例可以仅包括单图像捕获装置,而其他实施例可包括两个、三个或者甚至四个或更多图像捕获装置。下面将参照图2B-2E进一步描述图像捕获装置122、124和126。

系统100或者其各种组件可被结合到各种不同平台中。在一些实施例中,系统100可被包含在车辆200上,如图2A所示。例如,车辆200可配备有处理单元110以及系统100的其他组件的任一个,如以上相对于图1所述。虽然在一些实施例中,车辆200可以仅配备有单图像捕获装置(例如照相装置),但是在诸如结合图2B-2E所述实施例等的其他实施例中,可使用多个图像捕获装置。例如,如图2A所示,车辆200的图像捕获装置122和124的任一个可以是ADAS(高级驾驶员辅助系统)成像集合的组成部分。

作为图像获取单元120的组成部分被包含在车辆200上的图像捕获装置可定位在任何适当位置。在一些实施例中,如图2A-2E和图3A-3C所示,图像捕获装置122可位于后视镜附近。这个位置可提供与车辆200的驾驶员相似的视线,这可帮助确定驾驶员可见和不可见的内容。图像捕获装置122可被定位在后视镜附近的任何位置,但是将图像捕获装置122放置在后视镜的驾驶员侧可进一步帮助得到代表驾驶员的视场和/或视线的图像。

也可使用图像捕获单元120的图像捕获装置的其他位置。例如,图像捕获装置124可位于车辆200的保险杠之上或之中。这种位置可特别适合于具有宽视场的图像捕获装置。保险杠定位的图像捕获装置的视线能够与驾驶员的视线不同,并且因此保险杠图像捕获装置和驾驶员可能不一定看到相同对象。图像捕获装置(例如图像捕获装置122、124和126)还可位于其他位置。例如,图像捕获装置可位于车辆200的侧镜之一或两者之上或之中、车辆200的车顶上、车辆200的发动机罩上、车辆200的后备箱上、车辆200的侧面,安装在车辆200的车窗的任一个之上、定位在其后面或者定位在其正面,以及安装在车辆200的正面和/或背面上的光象之中或附近等。

除了图像捕获装置之外,车辆200还可包括系统100的各种其他组件。例如,处理单元110可被包含在车辆200上,与车辆的发动机控制单元(ECU)集成或者分离。车辆200还可配备有位置传感器130(例如GPS接收器),并且还可包括地图数据库160以及存储器单元140和150。

如先前所述,无线收发器172可以和/或通过一个或多个网络(例如蜂窝网络、因特网等)接收数据。例如,无线收发器172可向一个或多个服务器上传系统100所收集的数据,并且从一个或多个服务器下载数据。经由无线收发器172,系统100可接收对地图数据库160、存储器140和/或存储器150中存储的数据的周期或按需更新。类似地,无线收发器172可从系统100向一个或多个服务器上传任何数据(例如图像获取单元120所捕获的图像、位置传感器130或其他传感器、车辆控制系统等所接收的数据)和/或处理单元110所处理的任何数据。

系统100可基于隐私等级设定向服务器(例如向云)上传数据。例如,系统100可实现隐私等级设定,以调节或限制被发送给服务器的数据的类型(包括元数据),所述数据可唯一地识别车辆和/或车辆的驾驶员/所有者。这类设定可由用户经由例如无线收发器172来设置,通过工厂缺省设定或者通过无线收发器172所接收的数据来初始化。

在一些实施例中,系统100可按照“高”隐私等级来上传数据,并且在设置设定下,系统100可传送数据(例如与路线相关的位置信息、所捕获图像等),而无需与特定车辆和/或驾驶员/所有者有关的任何细节。例如,当按照“高”隐私设定上传数据时,系统100可以不包括车辆标识号(VIN)或者车辆的驾驶员或所有者的姓名,而是可传送数据,例如所捕获图像和/或与路线相关的有限位置信息。

考虑其他隐私等级。例如,系统100可按照“中间”隐私等级向服务器传送数据,并且包括“高”隐私等级下未包含的附加信息,例如车辆的品牌和/或型号和/或车辆类型(例如乘用车、运动型多功能车、卡车等)。在一些实施例中,系统100可按照“低”隐私等级上传数据。在“低”隐私等级设定下,系统100可上传数据,并且包括足以唯一识别特定车辆、所有者/驾驶员和/或车辆所行驶路线的一部分或全部的信息。这种“低”隐私等级数据可包括以下中的一个或多个:例如VIN、驾驶员/所有者姓名、车辆出发前的起点、车辆的预计目的地、车辆的品牌和/或型号、车辆的类型等。

图2A是按照所公开实施例的示范车辆成像系统的图解侧视图表示。图2B是图2A所示实施例的图解顶视图图示。如图2B所示,所公开实施例可包括车辆200,该车辆200在车身中包括系统100,其中具有定位在后视镜附近和/或车辆200的驾驶员附近的第一图像捕获装置122、定位在车辆200的保险杠区域(例如保险杠区域210之一)之上或之中的第二图像捕获装置124以及处理单元110。

如图2C所示,图像捕获装置122和124均可定位在后视镜附近和/或车辆200的驾驶员附近。另外,虽然在图2B和图2C中示出两个图像捕获装置122和124,但是应当理解,其他实施例可包括多于两个图像捕获装置。例如,在图2D和图2E所示的实施例中,第一、第二和第三图像捕获装置122、124和126被包含在车辆200的系统100中。

如图2D所示,图像捕获装置122可定位在后视镜附近和/或车辆200的驾驶员附近,以及图像捕获装置124和126可定位在车辆200的保险杠区域(例如保险杠区域210之一)之上或之中。以及如图2E所示,图像捕获装置122、124和126可定位在后视镜附近和/或车辆200的驾驶员座椅附近。所公开实施例并不局限于图像捕获装置的任何特定数量和配置,并且图像捕获装置可定位在车辆200之内和/或之上的任何适当位置。

要理解,所公开实施例并不局限于车辆,而是可能应用于其他上下文。还要理解,所公开实施例并不局限于特定类型的车辆200,而是可以可适用于所有类型的车辆,包括汽车、卡车、拖车和其他类型的车辆。

第一图像捕获装置122可包括任何适当类型的图像捕获装置。图像捕获装置122可包括光轴。在一个实例中,图像捕获装置122可包括具有全局快门的Aptina M9V024 WVGA传感器。在其他实施例中,图像捕获装置122可提供1280×960像素的分辨率,并且可包括卷帘快门。图像捕获装置122可包括各种光学元件。在一些实施例中,可包括一个或多个透镜,例如以便为图像捕获装置提供期望焦距和视场。在一些实施例中,图像捕获装置122可与6mm透镜或12mm透镜关联。在一些实施例中,图像捕获装置122可配置成捕获具有预期视场(FOV)202的图像,如图2D所示。例如,图像捕获装置122可配置成具有例如在40度至56度的范围之内的常规FOV,包括46度FOV、50度FOV、52度FOV或以上。备选地,图像捕获装置122可配置成具有23至40度的范围中的窄FOV,例如28度FOV或36度FOV。另外,图像捕获装置122可配置成具有100至180度的范围中的宽FOV。在一些实施例中,图像捕获装置122可包括广角保险杠照相装置或者高达180度FOV的照相装置。在一些实施例中,图像捕获装置122可以是宽高比为大约2:1(例如H×V=3800×1900像素)的7.2M像素图像捕获装置,其中具有大约100度水平FOV。这种图像捕获装置可用来代替三图像捕获装置配置。由于显著透镜失真,在图像捕获装置使用径向对称透镜的实现中,这种图像捕获装置的垂直FOV可明显小于50度。例如,这种透镜可能不是径向对称的,这允许大于50度的垂直FOV,其中具有100度水平FOV。

第一图像捕获装置122可获取相对于与车辆200关联的场景的多个第一图像。多个第一图像的每个可作为一系列图像扫描线来获取,所述图像扫描线可使用卷帘快门来捕获。每个扫描线可包括多个像素。

第一图像捕获装置122可具有与图像扫描线的第一系列的每个的获取关联的扫描速率。扫描速率可表示图像传感器能够获取与特定扫描线中包含的每个像素关联的图像数据的速率。

图像捕获装置122、124和126可包含任何适当类型和数量的图像传感器,例如包括CCD传感器或CMOS传感器。在一个实施例中,CMOS图像传感器可连同卷帘快门一起使用,使得一行中的每个像素每次一个被读取,以及行的扫描逐行进行,直到已经捕获整个图像帧。在一些实施例中,可相对于帧从上到下顺序捕获行。

在一些实施例中,本文所公开的图像捕获装置的一个或多个(例如图像捕获装置122、124和126)可组成高分辨率成像器,并且可具有大于5M像素、7M像素、10M像素或以上的分辨率。

卷帘快门的使用可使不同行中的像素在不同时间被曝光和捕获,这可引起所捕获图像帧中的偏斜和其他图像伪影。另一方面,当图像捕获装置122配置成与全局或同步快门配合操作时,所有像素可在共同曝光周期期间被曝光相同时间量。因此,从采用全局快门的系统所收集的帧中的图像数据表示在特定时间的整个FOV(例如FOV 202)的快照。相比之下,在卷帘快门应用中,帧中的每一行被曝光,以及数据在不同时间被捕获。因此,在具有卷帘快门的图像捕获装置中,移动对象可能出现失真。下面将更详细描述这种现象。

第二图像捕获装置124和第三图像捕获装置126可以是任何类型的图像捕获装置。与第一图像捕获装置122相似,图像捕获装置124和126的每个可包括光轴。在一个实施例中,图像捕获装置124和126的每个可包括具有全局快门的Aptina M9V024 WVGA传感器。备选地,图像捕获装置124和126的每个可包括卷帘快门。与图像捕获装置122相似,图像捕获装置124和126可配置成包括各种透镜和光学元件。在一些实施例中,与关联图像捕获装置122的FOV(例如FOV 202)相比,关联图像捕获装置124和126的透镜可提供相同或更窄的FOV(例如FOV 204和206)。例如,图像捕获装置124和126可具有40度、30度、26度、23度、20度或以下的FOV。

图像捕获装置124和126可获取相对于与车辆200关联的场景的多个第二图像和第三图像。多个第二图像和第三图像的每个可作为第二和第三系列图像扫描线来获取,所述图像扫描线可使用卷帘快门来捕获。每个扫描线或行可具有多个像素。图像捕获装置124和126可具有与第二和第三系列中包含的图像扫描线的每个的获取关联的第二和第三扫描速率。

每个图像捕获装置122、124和126可相对于车辆200以任何适当位置和取向来定位。图像捕获装置122、124和126的相对定位可被选择成帮助将从图像捕获装置所获取的信息融合在一起。例如,在一些实施例中,关联图像捕获装置124的FOV(例如FOV 204)可与关联图像捕获装置122的FOV(例如FOV 202)和关联图像捕获装置126的FOV(例如FOV 206)部分或完全重叠。

图像捕获装置122、124和126可位于车辆200上的任何适当相对高度。在一个实例中,图像捕获装置122、124和126之间可存在高度差,这可提供实现立体分析的充分视差信息。例如,如图2A所示,两个图像捕获装置122和124处于不同高度。图像捕获装置122、124和126之间还可存在横向位移差,从而例如给出附加视差信息以供处理单元110进行立体分析。横向位移的差可通过d

图像捕获装置122可具有任何适当分辨率能力(例如与图像传感器关联的像素的数量),以及与关联图像捕获装置124和126的(一个或多个)图像传感器的分辨率相比,关联图像捕获装置122的(一个或多个)图像传感器的分辨率可以更高、更低或相同。在一些实施例中,与图像捕获装置122和/或图像捕获装置124和126关联的(一个或多个)图像传感器可具有640×480、1024×768、1280×960的分辨率或者任何其他适当分辨率。

帧率(例如图像捕获装置在继续捕获与下一个图像帧关联的像素数据之前获取一个图像帧的像素数据集合的速率)可以是可控的。与关联图像捕获装置124和126的帧率相比,关联图像捕获装置122的帧率可以更高、更低或相同。与图像捕获装置122、124和126关联的帧率可取决于多种因素,所述因素可影响帧率的定时。例如,图像捕获装置122、124和126的一个或多个可包括在获取与图像捕获装置122、124和/或126中的图像传感器的一个或多个像素关联的图像数据之前或之后所施加的可选择像素延迟周期。一般来说,可按照装置的时钟速率来获取与每个像素对应的图像数据(例如每时钟循环一个像素)。另外,在包括卷帘快门的实施例中,图像捕获装置122、124和126的一个或多个可包括在获取与图像捕获装置122、124和/或126中的图像传感器的一行像素关联的图像数据之前或之后所施加的可选择水平消隐周期。此外,图像捕获装置122、124和126的一个或多个可包括在获取与图像捕获装置122、124和/或126的图像帧关联的图像数据之前或之后所施加的可选择垂直消隐周期。

这些定时控制可实现与图像捕获装置122、124和126关联的帧率的同步,甚至在每个的线扫描速率是不同的情况下。另外,如下面将更详细论述,这些可选择定时控制以及其他因素(例如图像传感器分辨率、最大线扫描速率等)可实现来自图像捕获装置122的FOV与图像捕获装置124和126的一个或多个FOV重叠的区域的图像捕获的同步,甚至在图像捕获装置122的视场与图像捕获装置124和126的FOV不同的情况下。

图像捕获装置122、124和126中的帧率定时可取决于关联图像传感器的分辨率。例如,假定两种装置的相似线扫描速率,如果一个装置包括分辨率为640×480的图像传感器而另一个装置包括分辨率为1280×960的图像传感器,则将要求更多时间从具有更高分辨率的传感器获取图像数据帧。

可影响图像捕获装置122、124和126中的图像数据获取的定时的另一个因素是最大线扫描速率。例如,从图像捕获装置122、124和126中包含的图像传感器获取一行图像数据将要求某个最小时间量。假定没有增加像素延迟周期,用于获取一行图像数据的这个最小时间量将与特定装置的最大线扫描速率相关。与具有更低最大线扫描速率的装置相比,提供更高最大线扫描速率的装置具有提供更高帧速率的潜力。在一些实施例中,图像捕获装置124和126的一个或多个可具有比关联图像捕获装置122的最大线扫描速率要高的最大线扫描速率。在一些实施例中,图像捕获装置124和/或126的最大线扫描速率可以是图像捕获装置122的最大线扫描速率的1.25、1.5、1.75或2倍或以上。

在另一个实施例中,图像捕获装置122、124和126可具有相同最大线扫描速率,但是图像捕获装置122可工作在小于或等于其最大扫描速率的扫描速率。该系统可配置成使得图像捕获装置124和126的一个或多个工作在等于图像捕获装置122的线扫描速率的线扫描速率。在其他实例中,该系统可配置成使得图像捕获装置124和/或图像捕获装置126的线扫描速率可以是图像捕获装置122的线扫描速率的1.25、1.5、1.75或2倍或以上。

在一些实施例中,图像捕获装置122、124和126可以是不对称的。也就是说,它们可包括具有不同视场(FOV)和焦距的照相装置。图像捕获装置122、124和126的视场可包括例如相对于车辆200的环境的任何预期区域。在一些实施例中,图像捕获装置122、124和126的一个或多个可配置成从车辆200正面、车辆200后面、车辆200侧面或者它们的组合的环境来获取图像数据。

此外,与每个图像捕获装置122、124和/或126关联的焦距可以是可选择的(例如通过包含适当透镜等),使得每个装置获取相对于车辆200的预期距离范围处的对象的图像。例如,在一些实施例中,图像捕获装置122、124和126可获取离车辆几米之内的特写对象的图像。图像捕获装置122、124和126还可配置成获取离车辆更远距离的范围(例如25 m、50m、100 m、150 m或以上)处的对象的图像。此外,图像捕获装置122、124和126的焦距可被选择成使得一个图像捕获装置(例如图像捕获装置122)能够获取相对靠近车辆(例如10 m之内或20 m之内)的对象的图像,而其他图像捕获装置(例如图像捕获装置124和126)能够获取离车辆200更远对象(例如大于20 m、50 m、100 m、150 m等)的图像。

按照一些实施例,一个或多个图像捕获装置122、124和126的FOV可具有广角。例如,具有140度的FOV可能是有利的,尤其对于可用来捕获车辆200附近的区域的图像的图像捕获装置122、124和126。例如,图像捕获装置122可用来捕获车辆200右边或左边的区域的图像,以及在这类实施例中,可期望图像捕获装置122具有宽FOV(例如至少140度)。

与图像捕获装置122、124和126的每个关联的视场可取决于相应焦距。例如,随着焦距增加,对应视场减小。

图像捕获装置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之间改变。

系统100可配置成使得图像捕获装置122的视场与图像捕获装置124和/或图像捕获装置126的视场至少部分或完全重叠。在一些实施例中,系统100可配置成使得图像捕获装置124和126的视场例如落入图像捕获装置122的视场之内(例如更窄)并且与图像捕获装置122的视场共享共同中心。在其他实施例中,图像捕获装置122、124和126可捕获相邻FOV,或者可在其FOV中具有部分重叠。在一些实施例中,图像捕获装置122、124和126的视场可对齐成使得较窄FOV图像捕获装置124和/或126的中心可位于较宽FOV装置122的视场的下半部。

图2F是按照所公开实施例的示范车辆控制系统的图解表示。如图2F所示,车辆200可包括节流系统220、制动系统230和转向系统240。系统100可通过一个或多个数据链路(例如用于传送数据的一个或多个任何有线和/或无线链路)向节流系统220、制动系统230和转向系统240的一个或多个提供输入(例如控制信号)。例如,基于对图像捕获装置122、124和/或126所获取的图像的分析,系统100可向节流系统220、制动系统230和转向系统240的一个或多个提供控制信号,以导航车辆200(例如通过引起加速度、转弯、车道变换等)。此外,系统100可从节流系统220、制动系统230和转向系统24的一个或多个接收指示车辆200的操作条件(例如速度、车辆200是否正在制动和/或转弯等)的输入。下面结合图4-7提供其他细节。

如图3A所示,车辆200还可包括用户接口170,以用于与车辆200的驾驶员或乘客进行交互。例如,车辆应用中的用户接口170可包括触摸屏320、旋钮330、按钮340和话筒350。车辆200的驾驶员或乘客还可使用手柄(例如位于车辆200的转向柱之上或附近,包括例如转弯信号手柄)、按钮(例如位于车辆200的方向盘上)等与系统100进行交互。在一些实施例中,话筒350可定位成与后视镜310相邻。类似地,在一些实施例中,图像捕获装置122可位于后视镜310附近。在一些实施例中,用户接口170还可包括一个或多个扬声器360(例如车辆音频系统的扬声器)。例如,系统100可经由扬声器360提供各种通知(例如警报)。

图3B-3D是按照所公开实施例的示范照相装置支架370的图示,该照相装置支架370配置成在后视镜(例如后视镜310)后面倚靠车辆挡风玻璃所定位。如图3B所示,照相装置支架370可包括图像捕获装置122、124和126。图像捕获装置124和126可被定位在遮光罩(glare shield)380后面,该遮光罩380可与车辆挡风玻璃齐平,并且包括膜和/或抗反射材料的组件。例如,遮光罩380可被定位成使得遮光罩与具有匹配斜面的车辆挡风玻璃对齐。在一些实施例中,图像捕获装置122、124和126的每个可被定位在遮光罩380后面,如图3D所示。所公开实施例并不局限于图像捕获装置122、124和126、照相装置支架370以及遮光罩380的任何特定配置。图3C是从正面角度的图3B所示照相装置支架370的图示。

如获益于本公开的本领域的技术人员将会理解,可对以上所公开实施例进行许多变更和/或修改。例如,并非所有组件都是系统100的操作必不可少的。此外,任何组件可位于系统100的任何适当部分,并且组件可重新布置为多种配置,同时提供所公开实施例的功能性。因此,上述配置是示例,以及不管以上所述的配置,系统100能够提供大范围的功能性来分析车辆200的周围环境,并且响应该分析而导航车辆200。

如下面更详细论述并且按照各个所公开实施例,系统100可提供与自主驾驶和/或驾驶员辅助技术相关的多种特征。例如,系统100可分析图像数据、位置数据(例如GPS位置信息)、地图数据、速度数据和/或来自车辆200中包含的传感器的数据。系统100可从例如图像获取单元120、位置传感器130和其他传感器来收集数据以供分析。此外,系统100可分析所收集数据,以确定车辆200是否应当采取某个动作,并且然后自动采取所确定动作而无需人工干预。例如,当车辆200在没有人工干预的情况下进行导航时,系统100可自动控制车辆200的制动、加速度和/或转向(例如通过向节流系统220、制动系统230和转向系统240的一个或多个发送控制信号)。此外,系统100可分析所收集数据,并且基于对所收集数据的分析向车辆乘员发出警告和/或警报。下面提供与系统100所提供的各个实施例有关的附加细节。

如上所述,系统100可提供使用多照相装置系统的驾驶辅助功能性。多照相装置系统可使用面向车辆的前向的一个或多个照相装置。在其他实施例中,多照相装置系统可包括面向车辆侧面或者车辆后部的一个或多个照相装置。在一个实施例中,例如,系统100可使用二照相装置成像系统,其中第一照相装置和第二照相装置(例如图像捕获装置122和124)可被定位在车辆(例如车辆200)的正面和/或侧面。第一照相装置可具有大于、小于第二照相装置的视场或者与其部分重叠的视场。另外,第一照相装置可被连接到第一图像处理器,以执行对第一照相装置所提供的图像的单目图像分析,以及第二照相装置可被连接到第二图像处理器,以执行对第二照相装置所提供的图像的单目图像分析。第一和第二图像处理器的输出(例如经处理信息)可相组合。在一些实施例中,第二图像处理器可从第一照相装置和第二照相装置接收图像,以执行立体分析。在另一个实施例中,系统100可使用三照相装置成像系统,其中照相装置的每个具有不同视场。因此,这种系统可基于从位于车辆的前方和侧面的变化距离的对象所得出的信息进行判定。对单目图像分析的提法可表示基于从单个视点(例如从单个照相装置)所捕获的图像来执行图像分析的实例。立体图像分析可表示基于采用图像捕获参数的一个或多个变化所捕获的两个或更多图像来执行图像分析的实例。例如,适合于执行立体图像分析的所捕获图像可包括通过下列方式所捕获的图像:从两个或更多不同位置、从不同视场、使用不同焦距、连同视差信息等。

例如,在一个实施例中,系统100可使用图像捕获装置122、124和126来实现三照相装置配置。在这种配置中,图像捕获装置122可提供窄视场(例如34度,或者从大约20至45度的范围所选的其他值等),图像捕获装置124可提供宽视场(例如150度,或者从大约100至大约180度的范围所选的其他值),以及图像捕获装置126可提供中间视场(例如46度,或者从大约35至大约60度的范围所选的其他值)。在一些实施例中,图像捕获装置126可充当主要或主照相装置。图像捕获装置122、124和126可被定位在后视镜310后面,并且基本上并排定位(例如分开6 cm)。此外,在一些实施例中,如上所述,图像捕获装置122、124和126的一个或多个可被安装在遮光罩380后面,所述遮光罩380与车辆200的挡风玻璃齐平。这种屏蔽可起作用以最小化来自汽车内部的任何反射对图像捕获装置122、124和126的影响。

在另一个实施例中,如以上结合图3B和图3C所述,宽视场照相装置(例如上述示例中的图像捕获装置124)可被安装成低于窄和主视场照相装置(例如上述示例中的图像装置122和126)。这个配置可提供来自宽视场照相装置的自由视线。为了减少反射,照相装置可被安装成靠近车辆200的挡风玻璃,并且可包括照相装置上的偏振片,以阻尼反射光。

三照相装置系统可提供某些性能特性。例如,一些实施例可包括基于来自另一个照相装置的检测结果来验证一个照相装置对于对象的检测的能力。在上述三照相装置配置中,处理单元110可包括例如三个处理装置(例如,如上所述的三个EyeQ系列的处理器芯片),其中每个处理装置专用于处理图像捕获装置122、124和126的一个或多个所捕获的图像。

在三照相装置系统中,第一处理装置可从主照相装置和窄视场照相装置接收图像,并且执行窄FOV照相装置的视觉处理,例如以检测其他车辆、行人、车道标记、交通标志、交通灯和其他道路对象。此外,第一处理装置可计算来自主照相装置和窄照相装置的图像之间的像素的差异,并且创建车辆200的环境的3D重构。第一处理装置然后可将3D重构与3D地图数据或者与基于来自另一个照相装置的信息所计算的3D信息相组合。

第二处理装置可从主照相装置接收图像,并且执行视觉处理,以检测其他车辆、行人、车道标记、交通标志、交通灯和其他道路对象。另外,第二处理装置可计算照相装置位移,以及基于该位移来计算连续图像之间的像素的差异,并且创建场景的3D重构(例如来自运动的结构)。第二处理装置可向第一处理装置发送来自基于运动的3D重构的结构,以便与立体3D图像相组合。

第三处理装置可从宽FOV照相装置接收图像,并且处理图像,以检测车辆、行人、车道标记、交通标志、交通灯和其他道路对象。第三处理装置可进一步执行附加处理指令,以分析图像,以便识别图像中移动的对象,例如变更车道的车辆、行人等。

在一些实施例中,使基于图像的信息的流被单独捕获和处理可提供用于提供系统中的冗余度的机会。这种冗余度可包括例如使用第一图像捕获装置以及从那个装置所处理的图像来验证和/或补充通过捕获和处理来自至少第二图像捕获装置的图像信息所得到的信息。

在一些实施例中,系统100可将两个图像捕获装置(例如图像捕获装置122和124)用于为车辆200提供导航辅助中,以及使用第三图像捕获装置(例如图像捕获装置126)来提供冗余度,并且验证从另外两个图像捕获装置所接收的数据的分析。例如,在这种配置中,图像捕获装置122和124可提供图像以供系统100进行立体分析,以用于导航车辆200,而图像捕获装置126可提供图像以供系统100进行单目分析,以提供基于从图像捕获装置122和/或图像捕获装置124所捕获的图像所得到的信息的冗余度和验证。也就是说,图像捕获装置126(和对应处理装置)可被认为提供冗余子系统,以用于提供对于从图像捕获装置122和124所得出的分析的检查(例如提供自动紧急制动(AEB)系统)。此外,在一些实施例中,可基于从一个或多个传感器(例如雷达、激光雷达、声学传感器、从车辆外部的一个或多个收发器所接收的信息等)所接收的信息来补充所接收数据的冗余度和验证。

本领域的技术人员将会知道,上述照相装置配置、照相装置放置、照相装置的数量、照相装置位置等只是示例。可在多种不同配置中组装和使用这些组件以及相对于整个系统所述的其他组件,而没有背离所公开实施例的范围。与多照相装置系统用来提供驾驶员辅助和/或自主车辆功能性有关的其他细节如下。

图4是按照所公开实施例、可存储/编程有用于执行一个或多个操作的指令的存储器140和/或150的示范功能框图。虽然下文参照存储器140,但是本领域的技术人员将会知道,指令可被存储在存储器140和/或150中。

如图4所示,存储器140可存储单目图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例并不局限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可执行存储器140中包含的模块402、404、406和408的任一个中存储的指令。本领域的技术人员将会理解,以下论述中对处理单元110的提法可单独或共同表示应用处理器180和图像处理器190。相应地,下列过程的任一个的步骤可由一个或多个处理装置执行。

在一个实施例中,单目图像分析模块402可存储指令(例如计算机视觉软件),所述指令在由处理单元110执行时执行对图像捕获装置122、124和126其中之一所获取的图像集合的单目图像分析。在一些实施例中,处理单元110可把来自图像集合的信息与附加感测信息(例如来自雷达、激光雷达等的信息)相组合,以执行单目图像分析。如以下结合图5A-5D所述,单目图像分析模块402可包括用于检测图像集合内的特征集合(例如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、危险物体以及与车辆的环境关联的任何其他特征)的指令。基于该分析,系统100(例如经由处理单元110)可引起车辆200中的一个或多个导航响应,例如转弯、车道变换、加速度的变化等,如下面结合导航响应模块408所述。

在一个实施例中,立体图像分析模块404可存储指令(例如计算机视觉软件),所述指令在由处理单元110执行时执行对于从图像捕获装置122、124和126的任一个所选的图像捕获装置的组合所获取的第一和第二组图像的立体图像分析。在一些实施例中,处理单元110可把来自第一和第二组图像的信息与附加感测信息(例如来自雷达的信息)相组合,以执行立体图像分析。例如,立体图像分析模块404可包括用于基于图像捕获装置124所获取的图像的第一集合和图像捕获装置126所获取的图像的第二集合来执行立体图像分析的指令。如以下结合图6所述,立体图像分析模块404可包括用于检测第一和第二组图像内的特征集合(例如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、危险物体等)的指令。基于该分析,处理单元110可引起车辆200中的一个或多个导航响应,例如转弯、车道变换、加速度的变化等,如下面结合导航响应模块408所述。此外,在一些实施例中,立体图像分析模块404可实现与已训练系统(例如神经网络或深度神经网络)或者未训练系统(例如可配置成使用计算机视觉算法来检测和/或标记从其中捕获和处理感测信息的环境中的对象的系统)关联的技术。在一个实施例中,立体图像分析模块404和/或其他图像处理模块可配置成使用已训练和未训练系统的组合。

在一个实施例中,速度和加速度模块406可存储软件,所述软件配置成分析从车辆200中的一个或多个计算和机电装置所接收的数据,所述装置配置成引起车辆200的速度和/或加速度的变化。例如,处理单元110可执行与速度和加速度模块406关联的指令,以基于从单目图像分析模块402和/或立体图像分析模块404的执行所得出的数据来计算车辆200的目标速度。这种数据可包括例如目标位置、速度和/或加速度、车辆200相对于附近车辆、行人或道路物体的位置和/或速度、车辆200相对于道路的车道标记的位置信息等。另外,处理单元110可基于感测输入(例如来自雷达的信息)以及来自车辆200的其他系统(例如车辆200的节流系统220、制动系统230和/或转向系统240)的输入来计算车辆200的目标速度。基于所计算目标速度,处理单元110可向车辆200的节流系统220、制动系统230和/或转向系统240传送电子信号,以通过例如物理上压下制动器或者松开车辆200的加速器来触发速度和/或加速度的变化。

在一个实施例中,导航响应模块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的速度的变化。

此外,本文所公开模块(例如模块402、404和406)的任一个可实现与已训练系统(例如神经网络或深度神经网络)或未训练系统关联的技术。

图5A是示出按照所公开实施例、基于单目图像分析来引起一个或多个导航响应的示范过程500A的流程图。在步骤510,处理单元110可经由处理单元110与图像获取单元120之间的数据接口128来接收多个图像。例如,图像获取单元120(例如具有视场202的图像捕获装置122)中包含的照相装置可捕获车辆200前方(或者例如车辆的侧面或后部)的区域的多个图像,并且通过数据连接(例如数字、有线、USB、无线、Bluetooth等)将它们传送给处理单元110。处理单元110可在步骤520执行单目图像分析模块402,以分析多个图像,如以下结合图5B-5D更详细描述。通过执行分析,处理单元110可检测图像集合内的特征集合,例如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯等。

处理单元110还可在步骤520执行单目图像分析模块402,以检测各种道路危险,例如卡车轮胎的部件、跌落的道路标志、松散的货物、小动物等。道路危险可在结构、形状、大小和颜色上改变,这可使这类危险的检测更为棘手。在一些实施例中,处理单元110可执行单目图像分析模块402,以便对多个图像执行多帧分析,以检测道路危险。例如,处理单元110可估计连续图像帧之间的照相装置运动,并且计算帧之间的像素的差异,以构成道路的3D地图。处理单元110然后可使用3D地图来检测路面以及路面上方存在的危险。

在步骤530,处理单元110可执行导航响应模块408,以基于在步骤520所执行的分析以及以上结合图4所述的技术来引起车辆200中的一个或多个导航响应。导航响应可包括例如转弯、车道变换、加速度的变化等。在一些实施例中,处理单元110可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。另外,多个导航响应可同时、顺序或者按照它们的任何组合出现。例如,处理单元110可通过例如顺序地向车辆200的转向系统240和节流系统220传送控制信号,使车辆200变换一个车道,并且然后加速。备选地,处理单元110可通过例如同时向车辆200的制动系统230和转向系统240传送控制信号,使车辆200制动,同时变换车道。

图5B是示出按照所公开实施例、检测图像集合中的一个或多个车辆和/或行人的示范过程500B的流程图。处理单元110可执行单目图像分析模块402,以实现过程500B。在步骤540,处理单元110可确定表示可能的车辆和/或行人的候选对象集合。例如,处理单元110可扫描一个或多个图像,将图像与一个或多个预定模式进行比较,并且在每个图像内识别可包含感兴趣对象(例如车辆、行人或者其部分)的可能位置。预定模式可按照实现高“误命中”率和低“未命中”率的方式来设计。例如,处理单元110可使用与预定模式的相似性的低阈值将候选对象识别为可能的车辆或行人。这样做可允许处理单元110降低未命中(例如未识别)表示车辆或行人的候选对象的概率。

在步骤542,处理单元110可基于分类标准来过滤候选对象集合,以排除某些候选(例如无关或不太相关的对象)。这类标准可从与数据库(例如存储器140中存储的数据库)中存储的对象类型关联的各种性质得出。性质可包括对象形状、尺寸、纹理、位置(例如相对于车辆200)等。因此,处理单元110可使用标准的一个或多个集合从候选对象集合中排除伪候选。

在步骤544,处理单元110可分析图像的多个帧,以确定候选对象集合中的对象是否表示车辆和/或行人。例如,处理单元110可跨连续帧跟踪所检测候选对象,并且累加与所检测对象关联的逐帧数据(例如大小、相对于车辆200的位置等)。另外,处理单元110可估计所检测对象的参数,并且将对象的逐帧位置数据与预测位置进行比较。

在步骤546,处理单元110可构成所检测对象的测量集合。这类测量可包括例如与所检测对象关联的位置、速度和加速度值(相对于车辆200)。在一些实施例中,处理单元110可基于使用一系列基于时间的观察的估计技术(例如卡尔曼(Kalman)滤波器或线性二次估计(LQE))和/或基于不同对象类型(例如汽车、卡车、行人、自行车、道路标志等)的可用建模数据来构成测量。卡尔曼滤波器可基于对象标度的测量,其中标度测量与碰撞时间(例如车辆200到达对象的时间量)成比例。因此,通过执行步骤540-546,处理单元110可识别所捕获图像集合内出现的车辆和行人,并且得出与车辆和行人关联的信息(例如位置、速度、大小)。基于识别和所得出信息,处理单元110可引起车辆200中的一个或多个导航响应,如以上结合图5A所述。

在步骤548,处理单元110可执行对一个或多个图像的光流分析,以降低检测“误命中”和未命中表示车辆或行人的候选对象的概率。光流分析可表示例如分析与其他车辆和行人关联的一个或多个图像中相对于车辆200的运动模式,所述运动模式与路面运动是不同的。处理单元110可通过跨不同时间所捕获的多个图像帧观察对象的不同位置来计算候选对象的运动。处理单元110可使用位置和时间值作为对数学模型的输入,以用于计算候选对象的运动。因此,光流分析可提供检测车辆200附近的车辆和行人的另一种方法。处理单元110可结合步骤540-546来执行光流分析,以提供检测车辆和行人的冗余度,并且增加系统100的可靠性。

图5C是示出按照所公开实施例、检测图像集合中的道路标记和/或车道几何信息的示范过程500C的流程图。处理单元110可执行单目图像分析模块402,以实现过程500C。在步骤550,处理单元110可通过扫描一个或多个图像来检测对象集合。为了检测车道标记段、车道几何信息和其他相关道路标记,处理单元110可过滤对象集合,以排除被确定为不相关的那些对象(例如小坑洞、小岩石等)。在步骤552,处理单元110可将在步骤550所检测的属于同一道路标记或车道标记的段编组在一起。基于编组,处理单元110可开发表示所检测段的模型,例如数学模型。

在步骤554,处理单元110可构成与所检测段关联的测量集合。在一些实施例中,处理单元110可创建所检测段从图像平面到现实世界平面的投影。可使用具有与物理性质(例如所检测道路的位置、坡度、曲率和曲率导数)对应的系数的三次多项式来表征投影。在生成投影中,处理单元110可考虑路面的变化以及与车辆200关联的倾斜和滚动速率。另外,处理单元110可通过分析路面上存在的位置和运动线索对道路高程进行建模。此外,处理单元110可通过跟踪一个或多个图像中的特征点集合来估计与车辆200关联的倾斜和滚动速率。

在步骤556,处理单元110可通过例如跨连续图像帧跟踪所检测段并且累加与所检测段关联的逐帧数据来执行多帧分析。当处理单元110执行多帧分析时,在步骤554所构成的测量集合可变得更可靠并且与越来越高的置信水平关联。因此,通过执行步骤550、552、554和556,处理单元110可识别所捕获图像集合内出现的道路标记,并且得出车道几何信息。基于识别和所得出信息,处理单元110可引起车辆200中的一个或多个导航响应,如以上结合图5A所述。

在步骤558,处理单元110可考虑附加信息源,以在周围环境的上下文中进一步开发车辆200的安全模型。处理单元110可使用安全模型来定义系统100可采用安全方式执行车辆200的自主控制的上下文。为了开发安全模型,在一些实施例中,处理单元110可考虑其他车辆的位置和运动、所检测道路边缘和屏障和/或从地图数据(例如来自地图数据库160的数据)所提取的一般道路形状描述。通过考虑附加信息源,处理单元110可提供检测道路标记和车道几何形状的冗余度,并且增加系统100的可靠性。

图5D是示出按照所公开实施例、检测图像集合中的交通灯的示范过程500D的流程图。处理单元110可执行单目图像分析模块402,以实现过程500D。在步骤560,处理单元110可扫描图像集合,并且识别在图像中可能包含交通灯的位置出现的对象。例如,处理单元110可过滤所识别对象,以构成候选对象集合,从而排除不可能与交通灯对应的那些对象。过滤可基于与交通灯关联的各种性质进行,例如形状、尺寸、纹理、位置(例如相对于车辆200)等。这类性质可基于交通灯和交通控制信号的多个示例,并且被存储在数据库中。在一些实施例中,处理单元110可对反映可能的交通灯的候选对象集合执行多帧分析。例如,处理单元110可跨连续图像帧跟踪候选对象,估计候选对象的现实世界位置,并且滤出正在移动(不可能是交通灯)的那些对象。在一些实施例中,处理单元110可对候选对象执行颜色分析,并且识别可能的交通灯内部出现的所检测颜色的相对位置。

在步骤562,处理单元110可分析交叉口的几何形状。分析可基于下列的任何组合:(i)在车辆200的任一侧所检测的车道的数量,(ii)在道路上检测的标记(例如箭头标记),以及(iii)从地图数据(例如来自地图数据库160的数据)所提取的交叉口的描述。处理单元110可使用从单目分析模块402的执行所得出的信息进行分析。另外,处理单元110可确定在步骤560所检测的交通灯与车辆200附近出现的车道之间的对应性。

当车辆200接近交叉口时,在步骤564,处理单元110可更新与所分析交叉口几何形状和所检测交通灯关联的置信水平。例如,如与实际出现在交叉口的交通灯的数量相比,被估计出现在交叉口的数量可影响置信水平。因此,基于置信水平,处理单元110可将控制权委托给给车辆200的驾驶员,以便改进安全条件。通过执行步骤560、562和564,处理单元110可识别所捕获图像集合内出现的交通灯,并且分析交叉口几何信息。基于识别和分析,处理单元110可引起车辆200中的一个或多个导航响应,如以上结合图5A所述。

图5E是示出按照所公开实施例、基于车辆路径来引起车辆200中的一个或多个导航响应的示范过程500E的流程图。在步骤570,处理单元110可构成与车辆200关联的初始车辆路径。可使用按照坐标(x, z)所表达的点集合来表示车辆路径,并且点集合中的两个点之间的距离d

在步骤572,处理单元110可更新在步骤570所构成的车辆路径。处理单元110可使用更高分辨率来重构在步骤570所构成的车辆路径,使得表示车辆路径的点集合中的两个点之间的距离d

在步骤574,处理单元110可基于在步骤572所构成的已更新车辆路径来确定前视点(按照坐标表达为(x

在步骤576,处理单元110可基于在步骤574所确定的前视点来确定航向误差和偏航率命令。处理单元110可通过计算前视点的反正切(例如arctan (x

图5F是示出按照所公开实施例、确定前行车辆是否正变更车道的示范过程500F的流程图。在步骤580,处理单元110可确定与前行车辆(例如在车辆200前面行驶的车辆)关联的导航信息。例如,处理单元110可使用以上结合图5A和图5B所述的技术来确定前行车辆的位置、速度(例如方向和速度)和/或加速度。处理单元110还可使用以上结合图5E所述的技术来确定一个或多个道路多项式、前视点(与车辆200关联)和/或蜗牛尾迹(snail trail)(例如描述前行车辆所采取的路径的点集合)。

在步骤582,处理单元110可分析在步骤580所确定的导航信息。在一个实施例中,处理单元110可计算蜗牛尾迹与道路多项式之间(例如沿尾迹)的距离。如果沿尾迹的这个距离的变化超过预定阈值(例如笔直道路上的0.1至0.2米、中等弯曲道路上的0.3至0.4米以及具有急弯的道路上的0.5至0.6米),则处理单元110可确定前行车辆可能正变更车道。在检测到多个车辆在车辆200前面行驶的情况下,处理单元110可比较与每个车辆关联的蜗牛尾迹。基于该比较,处理单元110可确定其蜗牛尾迹与其他车辆的蜗牛尾迹不匹配的车辆可能正变更车道。处理单元110还可将(与前行车辆关联的)蜗牛尾迹的曲率与前行车辆正行驶的路段的预计曲率进行比较。可从地图数据(例如来自地图数据库160的数据)、从道路多项式、从其他车辆的蜗牛尾迹、从与道路有关的先验知识等中提取预计曲率。如果蜗牛尾迹的曲率和路段的预计曲率的差超过预定阈值,则处理单元110可确定前行车辆可能正变更车道。

在另一个实施例中,处理单元110可在特定时间段(例如0.5至1.5秒)内将前行车辆的瞬时位置与(与车辆200关联的)前视点进行比较。如果前行车辆的瞬时位置与前视点之间的距离在特定时间段期间改变,并且变化的累加总和超过预定阈值(例如笔直道路上的0.3至0.4米、中等弯曲道路上的0.7至0.8米以及具有急弯的道路上的1.3至1.7米),则处理单元110可确定前行车辆可能正变更车道。在另一个实施例中,处理单元110可通过将沿尾迹行驶的横向距离与蜗牛尾迹的预计曲率进行比较,来分析蜗牛尾迹的几何形状。预计曲率半径可按照下列计算确定:(δ

在步骤584,处理单元110可基于在步骤582所执行的分析来确定前行车辆200是否正变更车道。例如,处理单元110可基于在步骤582所执行的单独分析的加权平均进行确定。在这种方案下,例如,由处理单元110基于特定类型的分析进行的关于前行车辆可能正变更车道的判定可被指配值“1”(而“0”表示关于前行车辆不可能变更车道)。在步骤582所执行的不同分析可被指配不同权重,以及所公开实施例并不局限于分析和权重的任何特定组合。

图6是示出按照所公开实施例、基于立体图像分析来引起一个或多个导航响应的示范过程600的流程图。在步骤610,处理单元110可经由数据接口128接收第一和第二多个图像。例如,图像获取单元120中包含的照相装置(例如具有视场202和204的图像捕获装置122和124)可捕获车辆200前方的区域的第一和第二多个图像,并且通过数字连接(例如USB、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,处理单元110可经由两个或更多数据接口接收第一和第二多个图像。所公开的实施例并不局限于任何特定数据接口配置或协议。

在步骤620,处理单元110可执行立体图像分析模块404,以执行对第一和第二多个图像的立体图像分析,以便创建车辆前面的道路的3D地图,并且检测图像内的特征,例如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯、道路危险等。立体图像分析可按照与以上结合图5A-5D所述步骤相似的方式执行。例如,处理单元110可执行立体图像分析模块404,以检测第一和第二多个图像内的候选对象(例如车辆、行人、道路标记、交通灯、道路危险等),基于各种标准来滤出候选对象的子集,以及执行多帧分析,构成测量,并且确定其余候选对象的置信水平。在执行上述步骤中,处理单元110可考虑来自第一和第二多个图像的信息而不是单独来自图像的一个集合的信息。例如,处理单元110可分析第一和第二多个图像中出现的候选对象的像素级数据(或者来自两个所捕获图像流之中的其他数据子集)的差异。作为另一个示例,处理单元110可通过观察对象出现在多个图像的一个图像中而不是另一个图像中,或者相对于其他差异(所述差异相对于出现在两个图像流中的对象可存在),来估计候选对象的位置和/或速度(例如相对于车辆200)。例如,可基于与图像流之一或两者中出现的对象关联的特征的轨迹、位置、移动特性等确定相对于车辆200的位置、速度和/或加速度。

在步骤630,处理单元110可执行导航响应模块408,以基于在步骤620所执行的分析以及以上结合图4所述的技术来引起车辆200中的一个或多个导航响应。导航响应可包括例如转弯、车道变换、加速度的变化、速度的变化、制动等。在一些实施例中,处理单元110可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。另外,多个导航响应可同时、顺序或者按照它们的任何组合出现。

图7是示出按照所公开实施例、基于对三组图像的分析来引起一个或多个导航响应的示范过程700的流程图。在步骤710,处理单元110可经由数据接口128接收第一、第二和第三多个图像。例如,图像获取单元120中包含的照相装置(例如具有视场202、204和206的图像捕获装置122、124和126)可捕获车辆200前方和/或侧面的区域的第一、第二和第三多个图像,并且通过数字连接(例如USB、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,处理单元110可经由三个或更多数据接口接收第一、第二和第三多个图像。例如,图像捕获装置122、124、126的每个可具有关联数据接口,以用于向处理单元110传递数据。所公开的实施例并不局限于任何特定数据接口配置或协议。

在步骤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的特定配置或者对第一、第二和第三多个图像进行的分析的类型。

在一些实施例中,处理单元110可基于在步骤710和720所获取和分析的图像对系统100执行测试。这种测试可提供系统100对图像捕获装置122、124和126的某些配置的总体性能的指示符。例如,处理单元110可确定“误命中”(例如系统100不正确地确定车辆或行人的存在的情况)和“未命中”的比例。

在步骤730,处理单元110可基于从第一、第二和第三多个图像的两个所得出的信息来引起车辆200中的一个或多个导航响应。第一、第二和第三多个图像的两个的选择可取决于各种因素,例如多个图像的每个中检测的对象的数量、类型和大小。处理单元110还可基于图像质量和分辨率、图像中反映的有效视场、所捕获帧的数量、一个或多个感兴趣对象实际出现在帧中的程度(例如对象出现的帧的百分比、每个这种帧中出现的对象的比例等)等进行选择。

在一些实施例中,处理单元110可通过确定从一个图像源所得出的信息与从其他图像源所得出的信息一致的程度来选择从第一、第二和第三多个图像的两个所得出的信息。例如,处理单元110可组合从图像捕获装置122、124和126的每个所得出的所处理信息(无论是通过单目分析、立体分析还是两者的任何组合),并且确定跨从图像捕获装置122、124和126的每个所捕获的图像是一致的视觉指示符(例如车道标记、所检测车辆及其位置和/或路径、所检测交通灯等)。处理单元110还可排除跨所捕获图像不一致的信息(例如车辆变更车道、车道模型指示过于靠近车辆200的车辆等)。因此,处理单元110可基于一致和不一致信息的确定来选择从第一、第二和第三多个图像的两个所得出的信息。

导航响应可包括例如转弯、车道变换、加速度的变化等。处理单元110可基于在步骤720所执行的分析以及如以上结合图4所述的技术来引起一个或多个导航响应。处理单元110还可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。在一些实施例中,处理单元110可基于车辆200与第一、第二和第三多个图像的任一个内所检测的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可同时、顺序或者按照它们的任何组合出现。

在一些实施例中,所公开的系统和方法可使用自主车辆导航的稀疏地图。特别是,稀疏地图可用于沿路段的自主车辆导航。例如,稀疏地图可为导航自主车辆提供充分信息,而无需存储和/或更新大量数据。如下面更详细论述,自主车辆可使用稀疏地图基于一个或多个所存储轨迹来导航一个或多个道路。

在一些实施例中,所公开的系统和方法可生成自主车辆导航的稀疏地图。例如,稀疏地图可为导航提供充分信息,而无需过多数据存储或数据传输速率。如下面更详细描述,车辆(该车辆可以是自主车辆)可使用稀疏地图来导航一个或多个道路。例如,在一些实施例中,稀疏地图可包括与道路以及潜在地与沿道路的路标相关的数据,所述数据对于车辆导航可以是充分的,但是也呈现小数据占用面积。例如,如与包括详细地图信息(例如沿道路所收集的图像数据)的数字地图相比,以下详细描述的稀疏数据地图可要求明显更少的存储空间和数据传输带宽。

例如,不是存储路段的详细表示,稀疏数据地图而是可存储沿道路的优选车辆路径的三维多项式表示。这些路径可要求极少数据存储空间。另外,在所述的稀疏数据地图中,路标可被识别并且包含在稀疏地图道路模型中以帮助导航。这些路标可以以适合于实现车辆导航的任何间距来定位,但是在一些情况下,这类路标无需以高密度和短间距来识别并且包含在模型中。而是在一些情况下,导航基于间隔开至少50米、至少100米、至少500米、至少1公里或者至少2公里的路标可以是可能的。如在其他部分将更详细论述,稀疏地图可基于由配备有各种传感器和装置(例如图像捕获装置、全球定位系统传感器、运动传感器等)的车辆在沿公路行驶时所收集或测量的数据来生成。在一些情况下,稀疏地图可基于一个或多个车辆沿特定公路的多次行驶期间所收集的数据来生成。使用一个或多个车辆的多次行驶来生成稀疏地图可称作“众包”稀疏地图。

按照所公开实施例,自主车辆系统可将稀疏地图用于导航。例如,所公开的系统和方法可分发稀疏地图以用于生成自主车辆的道路导航模型,并且可使用稀疏地图和/或所生成道路导航模型沿路段导航自主车辆。按照本公开的稀疏地图可包括一个或多个三维轮廓,所述三维轮廓可表示自主车辆在沿关联路段移动时可穿过的预定轨迹。

按照本公开的稀疏地图还可包括表示一个或多个道路特征的数据。这类道路特征可包括所识别路标、道路签名简档以及导航车辆中有用的任何其他道路相关特征。按照本公开的稀疏地图可基于稀疏地图中包含的较小数据量来实现车辆的自主导航。例如,不是包含道路的详细表示(例如道路边缘、道路曲率、与路段关联的图像或者详述与路段关联的其他物理特征的数据),稀疏地图的所公开实施例可要求相对极少存储空间(以及当稀疏地图的部分被传输给车辆时的相对极小带宽),但是仍然可充分提供自主车辆导航。下面更详细论述的所公开稀疏地图的小数据占用面积在一些实施例中可通过存储要求小数据量但是仍然实现自主导航的道路相关元素的表示来实现。

例如,不是存储道路的各个方面的详细表示,所公开的稀疏地图而是可存储车辆可沿道路行进的一个或多个轨迹的多项式表示。因此,不是存储(或者必须传输)与道路的物理性质有关的细节以实现沿道路的导航,使用所公开的稀疏地图,车辆而是可沿特定路段被导航,而无需在一些情况下解释道路的物理方面,而是通过将其行驶路径与沿特定路段的轨迹(例如多项式样条)对齐。这样,车辆可主要基于所存储轨迹(例如多项式样条)来导航,所存储轨迹可要求比涉及公路图像、道路参数、道路布局等的存储的方式要少许多的存储空间。

除了沿路段的轨迹的所存储多项式表示之外,所公开的稀疏地图还可包括可表示道路特征的小数据对象。在一些实施例中,小数据对象可包括数字签名,所述数字签名从沿路段行驶的车辆上的传感器(例如照相装置或另一传感器,例如悬架传感器)所得到的数字图像(或数字信号)来得出。数字签名相对于传感器所获取的信号可具有减小的大小。在一些实施例中,数字签名可被创建为与分类器功能兼容,该分类器功能配置成例如从传感器在后续驾驶期间所获取的信号来检测和识别道路特征。在一些实施例中,数字签名可被创建成使得数字签名具有尽可能小的占用面积,同时保持基于由沿同一路段行驶的车辆上的照相装置在后续时间所捕获的道路特征的图像(或者传感器所生成的数字信号,如果所存储签名不是基于图像和/或包括其他数据)将道路特征与所存储签名相互关连或匹配的能力。

在一些实施例中,数据对象的大小可进一步与道路特征的唯一性关联。例如,对于由车辆上的照相装置可检测的道路特征,以及在车辆上的照相装置系统被耦合到能够将与那个道路特征对应的图像数据区分为与特定类型的道路特征(例如道路标志)关联的分类器的情况下,并且在这种道路标志在那个区域中是本地唯一的(例如附近不存在相同的道路标志或者相同类型的道路标志),存储指示道路特征的类型及其位置的数据可以是充分的。

如下面将更详细论述,道路特征(例如沿路段的路标)可被存储为小数据对象,所述小数据对象可通过较少字节来表示道路特征,同时提供识别和使用这种特征进行导航的充分信息。在一个示例中,道路标志可被识别为作为车辆的导航的基础的所识别路标。道路标志的表示可被存储在稀疏地图中,以包括例如指示路标的类型(例如停车标志)的几个字节的数据以及指示路标的位置(例如坐标)的几个字节的数据。基于路标的这类数据-灯(data-light)表示(例如使用足以基于路标进行定位、识别和导航的表示)的导航可提供与稀疏地图关联的预期水平的导航功能性,而无需显著增加与稀疏地图关联的数据开销。路标(和其他道路特征)的这个精益表示(lean representation)可利用这类车辆上包含的传感器和处理器所述传感器和处理器配置成检测、识别和/或分类某些道路特征。

当例如标志或者甚至特定类型的标志在给定区域中为本地唯一时(例如当不存在另一标志或者不存在相同类型的另一标志时),稀疏地图可使用指示路标的类型(标志或者特定类型的标志)的数据,以及在自主车辆上的照相装置捕获包括标志(或者特定类型的标志)的区域的图像时的导航(例如自主导航)期间,处理器可处理该图像,检测标志(若实际存在于图像中),将图像分类为标志(或者分类为特定类型的标志),并且将图像的位置与如稀疏地图中存储的标志的位置相互关连。

在一些实施例中,稀疏地图可包括沿路段延伸的路面特征的至少一个线表示以及与该路段关联的多个路标。在某些方面,稀疏地图可例如通过当一个或多个车辆穿过路段时所获取的多个图像的图像分析经由“众包”来生成。

图8示出例如车辆200(可以是自主车辆)等的一个或多个车辆可访问以用于提供自主车辆导航的稀疏地图800。稀疏地图800可被存储在存储器(例如存储器140或150)中。这类存储器装置可包括任何类型的非暂时存储装置或计算机可读介质。例如,在一些实施例中,存储器140或150可包括硬盘驱动器、致密光盘、闪速存储器、基于磁的存储器装置、基于光的存储器装置等。在一些实施例中,稀疏地图800可被存储在数据库(例如地图数据库160)中,该数据库可被存储在存储器140或150或者其他类型的存储装置中。

在一些实施例中,稀疏地图800可被存储在车辆200上提供的存储装置或者非暂时计算机可读介质(例如车辆200上的导航系统中包含的存储装置)上。车辆200上提供的处理器(例如处理单元110)可访问车辆200上提供的存储装置或计算机可读介质中存储的稀疏地图800,以便在车辆穿过路段时生成用于引导自主车辆200的导航指令。

但是无需相对车辆本地存储稀疏地图800。在一些实施例中,稀疏地图800可被存储在远程服务器上提供的存储装置或计算机可读介质上,该远程服务器与车辆200或者关联车辆200的装置进行通信。车辆200上提供的处理器(例如处理单元110)可从远程服务器接收稀疏地图800中包含的数据,并且可执行该数据以用于引导车辆200的自主驾驶。在这类实施例中,远程服务器可存储全部稀疏地图800或者仅存储它的一部分。相应地,车辆200上和/或一个或多个附加车辆上的存储装置或计算机可读介质可存储稀疏地图800的其余(一个或多个)部分。

此外,在这类实施例中,可使稀疏地图800是穿过各种路段的多个车辆(例如数十、数百、数千或数百万个车辆等)可访问的。还应当注意,稀疏地图800可包括多个子地图。例如,在一些实施例中,稀疏地图800可包括可用于导航车辆中的数百、数千、数百万或更多子地图。这类子地图可称作本地地图,以及沿公路行驶的车辆可访问与该车辆正行驶的位置相关的任何数量的本地地图。可存储稀疏地图800的本地地图部分,其中全球导航卫星系统(GNSS)密钥作为稀疏地图800的数据库的索引。因此,虽然本系统中用于导航主车辆的转向角的计算可在不依靠主车辆的GNSS位置、道路特征或路标的情况下执行,但是这种GNSS信息可用于检索相关本地地图。

一般来说,稀疏地图800可基于从一个或多个车辆在沿公路行驶时所收集的数据来生成。例如,使用一个或多个车辆上的传感器(例如照相装置、速度计、GPS、加速计等),一个或多个车辆沿公路行驶的轨迹可被记录,以及沿公路后续行进的车辆的优选轨迹的多项式表示可基于一个或多个车辆所行驶的所收集轨迹来确定。类似地,由一个或多个车辆所收集的数据可帮助识别沿特定公路的潜在路标。从正穿过车辆所收集的数据也可用来识别道路简档(road profile)信息,例如道路宽度简档、道路粗糙度简档、交通线间距简档、道路条件等。使用所收集信息,稀疏地图800可被生成和分发(例如供本地存储或者经由即时数据传输),以供导航一个或多个自主车辆中使用。但是,在一些实施例中,地图生成可能不在地图的初始生成时结束。如下面将更详细论述,稀疏地图800可基于在车辆继续穿过稀疏地图800中包含的公路时从那些车辆所收集的数据来连续或周期更新。

稀疏地图800中记录的数据可包括基于全球定位系统(GPS)数据的位置信息。例如,位置信息可被包含在稀疏地图800中以用于各种地图元素,包括例如路标位置、道路简档位置等。可使用从穿过公路的车辆所收集的GPS数据来得到稀疏地图800中包含的地图元素的位置。例如,通过所识别路标的车辆可使用与车辆关联的GPS位置信息以及所识别路标相对于车辆的位置的确定(例如基于从车辆上的一个或多个照相装置所收集的数据的图像分析)来确定所识别路标的位置。所识别路标(或者稀疏地图800中包含的任何其他特征)的这类位置确定可在附加车辆通过所识别路标的位置时重复进行。附加位置确定的部分或全部可用来相对于所识别路标来细化稀疏地图800中存储的位置信息。例如,在一些实施例中,相对于稀疏地图800中存储的特定特征的多个位置测量可被共同求平均。但是,任何其他数学运算也可用来基于地图元素的多个所确定位置来细化地图元素的所存储位置。

所公开实施例的稀疏地图可使用较小存储数据量来实现车辆的自主导航。在一些实施例中,稀疏地图800可具有小于每公里道路2 Mb、小于每公里道路1 Mb、小于每公里道路500 kB或者小于每公里道路100 kB的数据密度(例如包括表示目标轨迹、路标和任何其他所存储道路特征的数据)。在一些实施例中,稀疏地图800的数据密度可小于每公里道路10 kB或者甚至小于每公里道路2 kB(例如每公里1.6 kB),或者不超过每公里道路10 kB或者不超过每公里道路20 kB。在一些实施例中,美国公路的大部分(即使不是全部)可使用具有总共4 GB或更少数据的稀疏地图来自主导航。这些数据密度值可表示对整个稀疏地图800、对稀疏地图800内的本地地图和/或对稀疏地图800内的特定路段的平均数。

如所述,稀疏地图800可包括多个目标轨迹810的表示,以用于引导沿路段的自主驾驶或导航。这类目标轨迹可被存储为三维样条。稀疏地图800中存储的目标轨迹例如可基于车辆沿特定路段的先前穿过的两个或更多重构轨迹来确定。路段可与单个目标轨迹或者多个目标轨迹关联。例如,在二车道道路上,第一目标轨迹可被存储以表示沿道路在第一方向的预计行驶路径,以及第二目标轨迹可被存储以表示沿道路在另一方向(例如与第一方向相反)的预计行驶路径。可相对特定路段来存储附加目标轨迹。例如,在多车道道路上,一个或多个目标轨迹可被存储,表示与多车道道路关联的一个或多个车道中的车辆的预计行驶路径。在一些实施例中,多车道道路的每个车道可与其自己的目标轨迹关联。在其他实施例中,可存在比多车道道路上存在的车道要少的所存储目标轨迹。在这类情况下,行驶于多车道道路的车辆可通过考虑与其目标轨迹被存储的车道的车道偏移量,使用所存储目标轨迹的任一个来引导其导航(例如,如果车辆在三车道公路的最左侧车道中行驶,并且仅对公路的中间车道存储目标轨迹,则车辆可通过在生成导航指令时考虑中间车道与最左侧车道之间的车道偏移量,使用中间车道的目标轨迹进行导航)。

在一些实施例中,目标轨迹可表示车辆在行驶时应当采取的理想路径。目标轨迹可位于例如行驶车道的近似中心。在其他情况下,目标轨迹可位于相对于路段的其他位置。例如,目标轨迹可与道路的中心、道路的边缘或者车道的边缘等大致一致。在这类情况下,基于目标轨迹的导航可包括相对于目标轨迹的位置将被保持的所确定偏移量。此外,在一些实施例中,相对于目标轨迹的位置将被保持的所确定偏移量基于车辆的类型可有所不同(例如,包括两个车轴的乘用车沿目标轨迹的至少一部分可具有与包括多于两个车轴的卡车不同的偏移量)。

稀疏地图800还可包括与多个预定路标820相关的数据,所述路标820与特定路段、本地地图等关联。如下面更详细论述,这些路标可用于自主车辆的导航中。例如,在一些实施例中,路标可用来确定车辆相对于所存储目标轨迹的当前位置。通过这个位置信息,自主车辆可以能够调整航向方向,以匹配所确定位置处的目标轨迹的方向。

多个路标820可以以任何适当间距来识别并且存储在稀疏地图800中。在一些实施例中,可以以较高密度(例如每数米或以上)来存储路标。但是,在一些实施例中,可采用明显更大的路标间距值。例如,在稀疏地图800中,所识别(或者已识别)路标可间隔开10米、20米、50米、100米、1公里或2公里。在一些情况下,所识别路标可位于甚至分开多于2公里的距离。

在路标之间并且因此在相对于目标轨迹的车辆位置的确定之间,车辆可基于航位推测进行导航,其中车辆使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置。因为误差在通过航位推测的导航期间可能累积,所以随时间推移,相对于目标轨迹的位置确定可变得越来越不精确。车辆可使用稀疏地图800中出现的路标(及其已知位置)来去除位置确定中的航位推测引起的误差。这样,稀疏地图800中包含的所识别路标可用作导航锚点,从其中可确定车辆相对于目标轨迹的精确位置。因为一定误差量在位置定位中可以是可接受的,所以所识别路标无需始终是自主车辆可用的。适当导航而是如上所述甚至基于10米、20米、50米、100米、500米、1公里、2公里或以上的路标间距也可以是可能的。在一些实施例中,每1 km道路1个所识别路标的密度可足以将纵向位置确定精度保持在1 m之内。因此,并非沿路段出现的每一个潜在路标都需要被存储在稀疏地图800中。

此外,在一些实施例中,车道标记可在路标间距期间用于车辆的定位。通过在路标间距期间使用车道标记,可最小化通过航位推测的导航期间的累积。

除了目标轨迹和所识别路标之外,稀疏地图800还可包括与各种其他道路特征相关的信息。例如,图9A示出可被存储在稀疏地图800中的沿特定路段的曲线的表示。在一些实施例中,道路的单车道可通过道路的左侧和右侧的三维多项式描述来建模。表示单个车道的左侧和右侧的这类多项式在图9A中示出。不管道路具有多少车道,都可按照与图9A所示相似的方式使用多项式来表示该道路。例如,多车道道路的左侧和右侧可通过与图9A所示相似的多项式来表示,以及多车道道路上包含的中间车道标记(例如表示车道边界的虚线标记、表示沿不同方向行进的车道之间的边界的黄实线等)也可使用例如图9A所示的多项式来表示。

如图9A所示,可使用多项式(例如一阶、二阶、三阶或者任何适当阶数的多项式)来表示车道900。为了便于说明,车道900示为二维车道,以及多项式示为二维多项式。如图9A所示,车道900包括左侧910和右侧920。在一些实施例中,多于一个多项式可用来表示道路或车道边界的每侧的位置。例如,左侧910和右侧920的每个可通过任何适当长度的多个多项式来表示。在一些情况下,多项式可具有大约100 m的长度,但是也可使用大于或小于100m的其他长度。另外,多项式能够相互重叠,以便促进基于主车辆沿公路行驶时随后遇到的多项式的导航中的无缝过渡。例如,左侧910和右侧920的每个可通过多个三阶多项式来表示,所述多项式被分为大约100米长的段(第一预定范围的示例),并且相互重叠大约50米。表示左侧910和右侧920的多项式可以或者可以不具有相同阶数。例如在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,以及一些可以是四阶多项式。

在图9A所示的示例中,车道900的左侧910通过两组三阶多项式来表示。第一组包括多项式段911、912和913。第二组包括多项式段914、915和916。两个编组虽然基本上相互平行,但是跟随道路的相应侧的位置。多项式段911、912、913、914、915和916具有大约100米的长度,并且重叠系列中的相邻段大约50米。但是,如先前所述,也可使用不同长度和不同重叠量的多项式。例如,多项式可具有500 m、1 km或以上的长度,以及重叠量可从0至50 m、50 m至100 m或者大于100 m改变。另外,虽然图9A示为表示在2D空间(例如在纸张表面)延伸的多项式,但是要理解,这些多项式可表示在三维(例如包括高度分量)延伸的曲线,以除了X-Y曲率之外还表示路段的高程变化。在图9A所示的示例中,车道900的右侧920进一步通过具有多项式段921、922和923的第一组以及具有多项式段924、925和926的第二组来表示。

回到稀疏地图800的目标轨迹,图9B示出表示沿特定路段行驶的车辆的目标轨迹的三维多项式。目标轨迹不仅表示主车辆应当沿特定路段行驶的X-Y路径,而且还表示主车辆在沿该路段行驶时将遇到的高程变化。因此,稀疏地图800中的每个目标轨迹可通过一个或多个三维多项式(例如图9B所示的三维多项式950)来表示。稀疏地图800可包括多个轨迹(例如数百万或数十亿或以上,以表示车辆沿全世界的公路的各种路段的轨迹)。在一些实施例中,每个目标轨迹可对应于连接三维多项式段的样条。

关于稀疏地图800中存储的多项式的数据占用面积,在一些实施例中,每个三次多项式可通过各自要求四字节数据的四个参数来表示。可采用对每100 m要求大约192字节的数据的三次多项式来得到适当表示。这可转化成对于大约以100 km/hr行驶的主车辆的数据使用/传输要求中的大致每小时200 kB。

稀疏地图800可使用几何描述符和元数据的组合来描述车道网络。几何形状可通过如上所述的多项式或样条来描述。元数据可描述车道的数量、特殊特性(例如汽车共用车道)和可能的其他稀疏标签。这类指示符的总占用面积可以是可忽略的。

相应地,按照本公开的实施例的稀疏地图可包括沿路段延伸的路面特征的至少一个线表示,每个线表示将表示沿路段与路面特征基本上对应的路径。在一些实施例中,如上所述,路面特征的至少一个线表示可包括样条、多项式表示或曲线。此外,在一些实施例中,路面特征可包括道路边缘或车道标记的至少一个。此外,如下面针对“众包”所述,路面特征可通过在一个或多个车辆穿过路段时所获取的多个图像的图像分析来识别。

如先前所述,稀疏地图800可包括与路段关联的多个预定路标。不是存储路标的实际图像并且依靠例如基于所捕获图像和所存储图像的图像识别分析,可使用比所存储的实际图像原本要求的要少的数据来表示和识别稀疏地图800中的每个路标。表示路标的数据仍然可包括用于描述或识别沿道路的路标的充分信息。存储描述路标的特性的数据而不是路标的实际图像可减小稀疏地图800的大小。

图10示出可在稀疏地图800中表示的路标的类型的示例。路标可包括沿路段的任何可见和可识别对象。路标可被选择成使得它们是固定的,并且相对其位置和/或内容不会经常改变。稀疏地图800中包含的路标可在确定车辆200穿过特定路段时相对目标轨迹的位置中是有用的。路标的示例可包括交通标志、方向标志、一般标志(例如矩形标志)、路边固定装置(例如灯柱、反射镜等)和任何其他适当类别。在一些实施例中,道路上的车道标记还可作为稀疏地图800中的路标被包含。

图10所示路标的示例包括交通标志、方向标志、路边固定装置和一般标志。交通标志可包括例如限速标志(例如限速标志1000)、让行标志(例如让行标志1005)、路线编号标志(例如路线编号标志1010)、交通灯标志(例如交通灯标志1015)、停车标志(例如停车标志1020)。方向标志可包括标志,该标志包括指示到不同地点的一个或多个方向的一个或多个箭头。例如,方向标志可包括:公路标志1025,具有用于将车辆引导到不同道路或地点的箭头;出口标志1030,具有用于引导车辆离开道路的箭头;等等。相应地,多个路标的至少一个可包括道路标志。

一般标志可与交通不相关。例如,一般标志可包括用于广告的广告牌或者与两个国家、州、县、城市或城镇之间的边界相邻的欢迎牌。图10示出一般标志1040(“Joe’sRestaurant”(Joe餐厅))。虽然一般标志1040如图10所示可具有矩形形状,但是一般标志1040可具有其他形状,例如正方形、圆形、三角形等。

路标还可包括路边固定装置。路边固定装置可能不是标志的对象,并且可能不是与交通或方向相关的。例如,路边固定装置可包括灯柱(例如灯柱1035)、电线柱、交通灯柱等。

路标还可包括信标,所述信标可专门设计成供自主车辆导航系统中使用。例如,这类信标可包括以预定间隔所放置的独立结构,以帮助导航主车辆。这类信标还可包括被添加到现有道路标志的视觉/图形信息(例如图标、徽章、条形码等),所述信息可由沿路段行驶的车辆所识别或认识。这类信标还可包括电子组件。在这类实施例中,电子信标(例如RFID标签等)可用来向主车辆传送非视觉信息。这种信息可包括例如主车辆在确定沿目标轨迹的位置中可使用的路标标识和/或路标位置信息。

在一些实施例中,稀疏地图800中包含的路标可通过预定大小的数据对象来表示。表示路标的数据可包括用于识别特定路标的任何适当参数。例如,在一些实施例中,稀疏地图800中存储的路标可包括诸如路标的物理大小(例如以支持基于已知大小/标度来估计到路标的距离)、到前一路标的距离、横向偏移、高度、类型代码(例如路标类型—哪一种类型的方向标志、交通标志等)、GPS坐标(例如以支持全球定位)和任何其他适当参数之类的参数。每个参数可与数据大小关联。例如,可使用8字节的数据来存储路标大小。可使用12字节的数据来指定到前一路标的距离、横向偏移和高度。与路标(例如方向标志或交通标志)关联的类型代码可要求大约2字节的数据。对于一般标志,可使用50字节的数据存储来存储实现一般标志的识别的图像签名。路标GPS位置可与16字节的数据存储关联。每个参数的这些数据大小只是示例,并且也可使用其他数据大小。

按照这种方式在稀疏地图800中表示路标可提供用于有效地表示数据库中的路标的瘦解决方案。在一些实施例中,标志可称作语义标志和非语义标志。语义标志可包括对其存在标准化含意的任何类的标志(例如限速标志、警告标志、方向标志等)。非语义标志可包括不是与标准化含意关联的任何标志(例如一般广告标志、识别商业机构的标志等)。例如,可采用38字节的数据来表示每个语义标志(例如,8字节用于大小;12字节用于到前一路标的距离、横向偏移和高度;2字节用于类型代码;以及16字节用于GPS坐标)。稀疏地图800可使用标签系统来表示路标类型。在一些情况下,每个交通标志或方向标志可与其自己的标签关联,所述标签可作为路标标识的组成部分被存储在数据库中。例如,数据库可包括表示各种交通标志的大约1000个不同标签以及表示方向标志的大约10000个不同标签。当然,可使用任何适当数量的标签,并且可根据需要创建附加标签。在一些实施例中可使用少于大约100字节来表示通用标志(例如大约86字节,包括:8字节用于大小;12字节用于到前一路标的距离、横向偏移和高度;50字节用于图像签名;以及16字节用于GPS坐标)。

因此,对于不要求图像签名的语义道路标志,对稀疏地图800的数据密度影响甚至在每50 m大约1个的较高路标密度下也可为大约每公里760字节(例如每公里20个路标×每路标38个字节=760个字节)。甚至对于包括图像签名分量的通用标志,数据密度影响也为大约每公里1.72 kB(每公里20个路标×每路标86个字节=1720个字节)。对于语义道路标志,这相当于对于以100 km/hr行驶的车辆的大约每小时76 kB的数据使用。对于通用标志,这相当于对于以100 km/hr行驶的车辆的大约每小时170 kB。

在一些实施例中,一般矩形的对象(例如矩形标志)可在稀疏地图800中通过不超过100字节的数据来表示。稀疏地图800中的一般矩形的对象(例如一般标志1040)的表示可包括与一般矩形对象关联的压缩图像签名(例如压缩图像签名1045)。这个压缩图像签名可例如用来帮助识别通用标志,例如识别为所识别路标。这种压缩图像签名(例如从表示对象的实际图像数据所得出的图像信息)可避免需要存储对象的实际图像或者需要对实际图像所执行的比较图像分析以便识别路标。

参照图10,稀疏地图800可包括或存储与一般标志1040关联的压缩图像签名1045而不是一般标志1040的实际图像。例如,在图像捕获装置(例如图像捕获装置122、124或126)捕获一般标志1040的图像之后,处理器(例如图像处理器190或者能够处理主车辆上或者相对于主车辆远程定位的图像的任何其他处理器)可执行图像分析,以提取/创建压缩图像签名1045,所述压缩图像签名1045包括与一般标志1040关联的唯一签名或图案。在一个实施例中,压缩图像签名1045可包括形状、颜色图案、亮度图案或者可从一般标志1040的图像所提取的用于描述一般标志1040的任何其他特征。

例如,在图10中,压缩图像签名1045中所示的圆形、三角形和星形可表示不同颜色的区域。通过圆形、三角形和星形所表示的图案可被存储在稀疏地图800中,例如在被指定为包括图像签名的50字节内。值得注意,圆形、三角形和星形不一定意在指示这类形状作为图像签名的组成部分来存储。这些形状而是意在在概念上表示具有可辨别颜色差异的可识别区域、文本区域、图形区域或者可与通用标志关联的特性的其他变化。这类压缩图像签名能够用来识别采取一般标志形式的路标。例如,压缩图像签名能够用来基于所存储的压缩图像签名与例如使用自主车辆上的照相装置所捕获的图像数据的比较来执行相同-不相同(same-not-same)分析。

相应地,多个路标可通过在一个或多个车辆穿过路段时所获取的多个图像的图像分析来识别。如下面针对“众包”所述,在一些实施例中,识别多个路标的图像分析可包括在路标出现的图像与路标没有出现的图像的比率超过阈值时接受潜在路标。此外,在一些实施例中,识别多个路标的图像分析可包括在路标没有出现的图像与路标出现的图像的比率超过阈值时拒绝潜在路标。

回到主车辆可用来导航特定路段的目标轨迹,图11A示出构建或保持稀疏地图800的过程期间捕获的多项式表示轨迹。稀疏地图800中包含的目标轨迹的多项式表示可基于车辆沿同一路段的先前穿过的两个或更多重构轨迹来确定。在一些实施例中,稀疏地图800中包含的目标轨迹的多项式表示可以是车辆沿同一路段的先前穿过的两个或更多重构轨迹的聚合。在一些实施例中,稀疏地图800中包含的目标轨迹的多项式表示可以是车辆沿同一路段的先前穿过的两个或更多重构轨迹的平均。其他数学运算也可用来基于从沿路段行驶的车辆所收集的重构轨迹来构成沿道路路径的目标轨迹。

如图11A所示,路段1100可在不同时间由多个车辆200行驶。每个车辆200可收集与该车辆沿路段所采取的路径相关的数据。由特定车辆所行驶的路径可基于照相装置数据、加速计信息、速度传感器信息和/或GPS信息以及其他潜在来源来确定。这种数据可用来重构沿路段行驶的车辆的轨迹,以及基于这些重构轨迹,可对特定路段确定目标轨迹(或者多个目标轨迹)。这类目标轨迹可表示主车辆(例如由自主导航系统所引导)在沿路段行驶时的优选路径。

在图11A所示的示例中,第一重构轨迹1101可基于从第一时间段(例如第1天)穿过路段1100的第一车辆所接收的数据来确定,第二重构轨迹1102可从第二时间段(例如第2天)穿过路段1100的第二车辆来得到,以及第三重构轨迹1103可从第三时间段(例如第3天)穿过路段1100的第三车辆来得到。每个轨迹1101、1102和1103可通过多项式(例如三维多项式)来表示。应当注意,在一些实施例中,重构轨迹的任一个可在穿过路段1100的车辆上装配。

作为补充或替代,这类重构轨迹可在服务器侧基于从穿过路段1100的车辆所接收的信息来确定。例如,在一些实施例中,车辆200可向一个或多个服务器传送与它们沿路段1100的运动相关的数据(例如转向角、航向、时间、位置、速度、所感测道路几何形状和/或所感测路标等等)。服务器可基于所接收数据来重构车辆200的轨迹。服务器还可基于第一、第二和第三轨迹1101、1102和1103来生成目标轨迹,以用于引导以后将沿同一路段1100行驶的自主车辆的导航。虽然目标轨迹可与路段的单个先前穿过关联,但是在一些实施例中,稀疏地图800中包含的每个目标轨迹可基于穿过同一路段的车辆的两个或更多重构轨迹来确定。在图11A中,目标轨迹通过1110来表示。在一些实施例中,目标轨迹1110可基于第一、第二和第三轨迹1101、1102和1103的平均数来生成。在一些实施例中,稀疏地图800中包含的目标轨迹1110可以是两个或更多重构轨迹的聚合(例如加权组合)。

图11B和图11C进一步示出与地理区域1111内存在的路段关联的目标轨迹的概念。如图11B所示,地理区域1111内的第一路段1120可包括多车道道路,该多车道道路包括被指定用于沿第一方向的车辆行驶的两个车道1122以及被指定用于沿与第一方向相反的第二方向的车辆行驶的两个附加车道1124。车道1122和车道1124可通过双黄线1123分隔。地理区域1111还可包括与路段1120相交的分支路段1130。路段1130可包括二车道道路,每个车道被指定用于不同行驶方向。地理区域1111还可包括其他道路特征,例如停车线1132、停车标志1134、限速标志1136和危险标志1138。

如图11C所示,稀疏地图800可包括本地地图1140,该本地地图1140包括用于辅助地理区域1111内的车辆的自主导航的道路模型。例如,本地地图1140可包括与地理区域1111内的路段1120和/或1130关联的一个或多个车道的目标轨迹。例如,本地地图1140可包括自主车辆在穿过车道1122时可访问或依靠的目标轨迹1141和/或1142。类似地,本地地图1140可包括自主车辆在穿过车道1124时可访问或依靠的目标轨迹1143和/或1144。此外,本地地图1140可包括自主车辆在穿过路段1130时可访问或依靠的目标轨迹1145和/或1146。目标轨迹1147表示自主车辆在从车道1120(以及具体来说相对于与车道1120的最右侧车道关联的目标轨迹1141)过渡到路段1130(以及具体来说相对于与路段1130的第一侧关联的目标轨迹1145)时应当跟随的优选路径。类似地,目标轨迹1148表示自主车辆在从路段1130(以及具体来说相对于目标轨迹1146)过渡到路段1124的一部分(以及具体来说如所示相对于与车道1124的左侧车道关联的目标轨迹1143)时应当跟随的优选路径。

稀疏地图800还可包括与地理区域1111关联的其他道路相关特征的表示。例如,稀疏地图800还可包括地理区域1111中识别的一个或多个路标的表示。这类路标可包括与停车线1132关联的第一路标1150、与停车标志1134关联的第二路标1152、与限速标志1154关联的第三路标以及与危险标志1138关联的第四路标1156。这类路标可例如用来帮助自主车辆确定它相对于所示目标轨迹的任一个的当前位置,使得车辆可调整其航向以匹配所确定位置处的目标轨迹的方向。

在一些实施例中,稀疏地图800还可包括道路签名简档。这类道路签名简档可与关联道路的至少一个参数的任何可辨别/可测量变化关联。例如,在一些情况下,这类简档可与路面信息的变化(例如特定路段的表面粗糙度的变化、对特定路段的道路宽度的变化、沿特定路段所绘制的虚线之间的距离的变化、沿特定路段的道路曲率的变化等)关联。图11D示出道路签名简档1160的示例。虽然简档1160可表示上述参数等的任一个,但是在一个示例中,简档1160可表示如通过监测一个或多个传感器所得到的路面粗糙度的量度,所述传感器提供指示车辆行驶特定路段时的悬架位移量的输出。

备选或并发地,简档1160可表示如基于经由行驶特定路段的车辆上的照相装置所得到的图像数据所确定的道路宽度的变化。这类简档例如在确定自主车辆相对于特定目标轨迹的特定位置中可以是有用的。也就是说,当自主车辆穿过路段时,它可测量与关联该路段的一个或多个参数关联的简档。如果所测量简档能够与绘制相对沿路段的位置的参数变化的预定简档相互关连/匹配,则可使用所测量和预定的简档(例如通过重叠所测量和预定的简档的对应部分),以便确定沿路段的当前位置并且确定相对于路段的目标轨迹的当前位置。

在一些实施例中,稀疏地图800可包括基于与自主车辆的用户关联的不同特性、环境条件和/或与驾驶相关的其他参数的不同轨迹。例如,在一些实施例中,可基于不同用户偏好和/或简档来生成不同轨迹。包括这类不同轨迹的稀疏地图800可被提供给不同用户的不同自主车辆。例如,一些用户可能更喜欢避开收费道路,而其他用户可能更喜欢采取最短或最快路线,而不管路线上是否存在收费道路。所公开系统可基于这类不同用户偏好或简档来生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能更喜欢在快速移动车道上行驶,而其他用户可能更喜欢始终保持中心车道中的位置。

不同轨迹可基于不同环境条件(例如白天和夜晚、雪、雨、雾等)来生成并且包含在稀疏地图800中。在不同环境条件下驾驶的自主车辆可被提供有基于这类不同环境条件所生成的稀疏地图800。在一些实施例中,自主车辆上提供的照相装置可检测环境条件,并且又可向生成和提供稀疏地图的服务器提供这种信息。例如,服务器可生成或更新已经生成的稀疏地图800,以包括对于在所检测环境条件下的自主驾驶可以是更适合或安全的轨迹。基于环境条件对稀疏地图800的更新可在自主车辆沿道路行驶时动态执行。

与驾驶相关的其他不同参数也可用作用于生成不同稀疏地图并且提供给不同自主车辆的基础。例如,当自主车辆正高速行驶时,转弯可能会更紧。与特定车道而不是道路关联的轨迹可被包含在稀疏地图800中,使得自主车辆可在跟随特定轨迹时可保持在特定车道之内。当自主车辆上的照相装置所捕获的图像指示车辆已经漂移到车道之外(例如穿越车道标记)时,可在车辆内触发动作,以按照特定轨迹将车辆带回所指定车道。

在一些实施例中,所公开的系统和方法可生成自主车辆导航的稀疏地图。例如,所公开的系统和方法可将众包数据用于生成一个或多个自主车辆可用来沿道路系统进行导航的稀疏。如本文所使用的“众包”意味着从不同时间在路段上行驶的各种车辆(例如自主车辆)接收数据,并且这种数据用来生成和/或更新道路模型。模型又可被传送给车辆或者以后沿路段行驶的其他车辆,以用于帮助自主车辆导航。道路模型可包括表示自主车辆在穿过路段时应当跟随的优选轨迹的多个目标轨迹。目标轨迹可与从穿过路段的车辆所收集的重构的实际轨迹相同,该重构的实际轨迹可从车辆传送给服务器。在一些实施例中,目标轨迹可与一个或多个车辆先前穿过路段时所采取的实际轨迹不同。目标轨迹可基于实际轨迹来生成(例如通过求平均或者任何其他适当操作)。

车辆可上传给服务器的车辆轨迹数据可与车辆的实际重构轨迹对应,或者可对应于推荐轨迹,该推荐轨迹可基于车辆的实际重构轨迹或者与其相关,但是可与实际重构轨迹有所不同。例如,车辆可修改其实际重构轨迹,并且向服务器提交(例如推荐)修改的实际轨迹。道路模型可使用推荐的修改轨迹作为其他车辆的自主导航的目标轨迹。

除了轨迹信息之外,构建稀疏数据地图800中可能使用的其他信息还可包括与潜在路标候选相关的信息。例如,通过信息的众包,所公开的系统和方法可识别环境中的潜在路标,并且细化路标位置。路标可由自主车辆的导航系统用来确定和/或调整沿目标轨迹的车辆的位置。

车辆在沿道路行驶时可生成的重构轨迹可通过任何适当方法来得到。在一些实施例中,可通过使用例如自我运动估计(例如照相装置并且因此车辆的车身的三维平移和三维旋转)将车辆的运动段拼接在一起,来形成重构轨迹。旋转和平移估计可基于一个或多个图像捕获装置所捕获的图像连同来自其他传感器或装置(例如惯性传感器和速度传感器)的信息的分析来确定。例如,惯性传感器可包括配置成测量车体的平移和/或旋转的变化的加速计或其他适当传感器。车辆可包括速度传感器,该速度传感器测量车辆的速度。

在一些实施例中,照相装置(并且因此车体)的自我运动可基于所捕获图像的光流分析来估计。图像序列的光流分析从图像序列中识别像素的移动,并且基于所识别移动来确定车辆的运动。自我运动可随时间并且沿路段来整合,以重构与车辆已经跟随的路段关联的轨迹。

由多个车辆在不同时间沿路段的多次驾驶中所收集的数据(例如重构轨迹)可用来构成稀疏地图800中包含的道路模型(例如包括目标轨迹等)。由多个车辆在不同时间沿路段的多次驾驶中所收集的数据也可被求平均,以增加模型的精度。在一些实施例中,可从不同时间通过公共路段行驶的多个车辆来接收与道路几何形状和/或路标有关的数据。从不同车辆所接收的这种数据可被组合,以生成道路模型和/或更新道路模型。

沿路段的重构轨迹(以及还有目标轨迹)的几何形状可通过三维空间中的曲线来表示,该曲线可以是连接三维多项式的样条。重构轨迹曲线可从车辆上安装的照相装置所捕获的视频流或者多个图像的分析来确定。在一些实施例中,在车辆的当前位置前面几米的每个帧或图像中识别位置。这个位置是预计车辆在预定时间段要行驶到的位置。这个操作可逐帧重复进行,并且同时车辆可计算照相装置的自我运动(旋转和平移)。在每个帧或图像,由车辆在被附连到照相装置的参考系中生成预期路径的短程模型。短程模型可被拼接在一起,以得到某个坐标系中的道路的三维模型,所述坐标系可以是任意或预定坐标系。然后可通过样条来拟合道路的三维模型,该样条可包括或连接适当阶数的一个或多个多项式。

为了在每个帧推断短程道路模型,可使用一个或多个检测模块。例如,可使用自底向上(bottom-up)车道检测模块。在道路上绘制车道标记时,自底向上车道检测模块可以是有用的。这个模块可在图像中查找边缘,并且将它们组装在一起,以形成车道标记。第二模块可连同自底向上车道检测模块一起使用。第二模块是端对端深度神经网络,该端对端深度神经网络可被训练成从输入图像来预测正确短程路径。在两种模块中,道路模型可在图像坐标系中被检测,并且被变换成三维空间,该三维空间可虚拟地附连到照相装置。

虽然重构轨迹建模方法可能因自我运动对长时间段的整合而引入误差的累积(可包括噪声分量),但是这类误差可以是无关紧要的,因为所生成模型可提供对本地标度的导航的充分精度。另外,有可能通过使用外部信息源(例如卫星图像或大地测量)来消除整合误差。例如,所公开的系统和方法可使用GNSS接收器来消除累积误差。但是,GNSS定位信号可能不一定是可用和精确的。所公开的系统和方法可实现转向应用,该转向应用微弱地取决于GNSS定位的可用性和精度。在这类系统中,GNSS信号的使用可受到限制。例如,在一些实施例中,所公开的系统可以仅为了便于数据库索引而使用GNSS信号。

在一些实施例中,与自主车辆导航转向应用可以是相关的范围标度(例如本地标度)可以为大约50米、100米、200米、300米等。可使用这类距离,因为几何道路模型主要用于两个目的:计划前面的轨迹,以及在道路模型上定位车辆。在一些实施例中,当控制算法按照位于前面1.3秒(或者任何其他时间,例如1.5秒、1.7秒、2秒等)的目标点来操纵车辆时,计划任务可使用对前面40米(或者前面任何其他适当距离,例如20米、30米、50米)的典型范围使用模型。定位任务按照另一部分更详细描述的称作“尾部对齐”的方法对汽车后面60米(或者任何其他适当距离,例如50米、100米、150米等)的典型范围使用道路模型。所公开的系统和方法可生成几何模型,该几何模型对特定范围(例如100米)具有充分精度,使得计划轨迹与车道中心将不会偏离超过例如30 cm。

如上所述,可通过检测短程部分并且将它们拼接在 一起,来构成三维道路模型。可通过使用照相装置所捕获的视频和/或图像、来自反映车辆的运动的惯性传感器的数据以及主车辆速度信号计算六度自我运动模型,来实现拼接。累积误差对某个本地范围标度可以足够小,例如大约100米。这个方面全部可在通过特定路段的单次驾驶中完成。

在一些实施例中,多次驾驶可用来对所产生模型求平均,并且进一步增加其精度。同一汽车可能多次行驶同一路线,或者多个汽车可将它们所收集的模型数据发送给中央服务器。在任何情况下,可执行匹配过程,以识别重叠模型,并且实现平均,以便生成目标轨迹。一旦满足收敛标准,所构成模型(例如包括目标轨迹)可用于操纵。后续驾驶可用于其他模型改进,并且为了适应基础设施变化。

多个汽车之间的驾驶体验(例如所感测数据)的共享在它们被连接到中央服务器时成为可行。每个车辆客户可存储通用道路模型的部分副本,该部分副本可与其当前位置是相关的。车辆与服务器之间的双向更新过程可由车辆和服务器执行。以上所述的小占用面积概念使所公开系统和方法能够使用很小带宽来执行双向更新。

与潜在路标相关的信息也可被确定并且转发给中央服务器。例如,所公开的系统和方法可基于包括路标的一个或多个图像来确定潜在路标的一个或多个物理性质。物理性质可包括路标的物理大小(例如高度、宽度)、从车辆到路标的距离、路标到前一路标之间的距离、路标的横向位置(例如路标相对于行驶车道的位置)、路标的GPS坐标、路标的类型、路标上的文本的标识等。例如,车辆可分析照相装置所捕获的一个或多个图像,以检测潜在路标(例如限速标志)。

车辆可基于对一个或多个图像的分析来确定从车辆到路标的距离。在一些实施例中,距离可基于使用适当图像分析方法(例如缩放方法和/或光流方法)对路标的图像的分析来确定。在一些实施例中,所公开的系统和方法可配置成确定潜在路标的类型或分类。在车辆确定某个潜在路标对应于稀疏地图中存储的预定类型或分类的情况下,可足以使车辆向服务器传递路标的类型或分类的指示连同其位置。服务器可存储这类指示。其他车辆以后可捕获路标的图像,处理图像(例如使用分类器),并且把来自处理图像的结果与服务器中存储的关于路标的类型的指示进行比较。可存在各种类型的路标,以及不同类型的路标可与将被上传到并且存储在服务器中的不同类型的数据关联,车辆上的不同处理可检测路标,并且向服务器传递与路标有关的信息,以及车辆上的系统可从服务器接收路标,并且将路标数据用于在自主导航中识别路标。

在一些实施例中,在路段上行驶的多个自主车辆可与服务器进行通信。车辆(或客户)可生成描述它在任意坐标系中的驾驶的曲线(例如通过自我运动整合)。车辆可检测路标,并且将它们定位在同一帧中。车辆可向服务器上传曲线和路标。服务器可对多次驾驶从车辆收集数据,并且生成统一道路模型。例如,如下面针对图19所述,服务器可使用所上传曲线和路标来生成具有统一道路模型的稀疏地图。

服务器还可将模型分发给客户(例如车辆)。例如,服务器可将稀疏地图分发给一个或多个车辆。服务器可在从车辆接收新数据时连续或周期更新模型。例如,服务器可处理新数据,以评估数据是否包括应当触发更新或者创建服务器上的新数据的信息。服务器可向车辆分发已更新模型或更新,以用于提供自主车辆导航。

服务器可将一个或多个标准用于确定从车辆所接收的新数据是否应当触发对模型的更新或者触发新数据的创建。例如,当新数据指示在特定位置的先前识别的路标不再存在或者被另一个路标取代时,服务器可确定新数据应当触发对模型的更新。作为另一个示例,当新数据指示路段已经关闭时,并且当这通过来自其他车辆的数据所证实时,服务器可确定新数据应当触发对模型的更新。

服务器可将已更新模型(或者模型的已更新部分)分发给在对模型的更新所关联的路段上正行驶的一个或多个车辆。服务器还可将已更新模型分发给将要在对模型的更新所关联的路段上行驶的车辆或者其计划行程包括该路段的车辆。例如,虽然自主车辆在到达更新所关联的路段之前沿另一个路段行驶,但是服务器可在自主车辆到达该路段之前将更新或者已更新模型分发给该车辆。

在一些实施例中,远程服务器可从多个客户(例如沿公共路段行驶的车辆)收集轨迹和路标。服务器可使用路标来匹配曲线,并且基于从多个车辆所收集的轨迹来创建平均道路模型。服务器还可计算道路的图表以及路段的每个节点或联结处的最可能路径。例如,远程服务器可对齐轨迹,以从所收集轨迹来生成众包稀疏地图。

服务器可对于从沿公共路段行驶的多个车辆所接收的路标性质求平均,例如由多个车辆所测量的一个路标到另一个路标(例如沿路段的前一路标)之间的距离,以确定弧长参数,并且支持沿路径的定位以及每个客户车辆的速度校准。服务器可对于沿公共路段行驶并且识别同一路标的多个车辆所测量的路标的物理尺寸求平均。平均物理尺寸可用来支持距离估计,例如从车辆到路标的距离。服务器可对于如沿公共路段所行驶并且识别同一路标的多个车辆所测量的路标的横向位置(例如从车辆正行驶的车道到路标的位置)求平均。平均横向位置可用来支持车道指配。服务器可对于沿同一路段行驶并且识别同一路标的多个车辆所测量的路标的GPS坐标求平均。路标的平均GPS坐标可用来支持道路模型中的路标的全球定域或定位。

在一些实施例中,服务器可基于从车辆所接收的数据来识别模型变化,例如构造、绕行、新标志、标志的去除等。服务器可在从车辆接收新数据时连续或周期或即时更新模型。服务器可向车辆分发对模型的更新或者已更新模型,以用于提供自主导航。例如,如下面进一步论述,服务器可使用众包数据来滤出车辆所检测的“虚”路标。

在一些实施例中,服务器可分析自主驾驶期间的驾驶员干预。服务器可分析在干预发生的时间和位置从车辆所接收的数据和/或在干预发生之前所接收的数据。服务器可识别引起干预或者与干预密切相关的数据的某些部分,例如指示临时车道关闭建立的数据、指示道路中的行人的数据。服务器可基于所识别数据来更新模型。例如,服务器可修改模型中存储的一个或多个轨迹。

图12是使用众包来生成稀疏地图(以及使用众包稀疏地图进行分发和导航)的系统的示意图。图12示出包括一个或多个车道的路段1200。多个车辆1205、1210、1215、1220和1225可在相同时间或者在不同时间在路段1200上行驶(尽管图12中示为在相同时间出现在路段1200上)。车辆1205、1210、1215、1220和1225的至少一个可以是自主车辆。为了本示例的简洁起见,所有车辆1205、1210、1215、1220和1225都被假定为自主车辆。

每个车辆可与其他实施例中公开的车辆(例如车辆200)相似,并且可包括其他实施例中公开的车辆中包含或者与其关联的组件或装置。每个车辆可被配备有图像捕获装置或照相装置(例如图像捕获装置122或照相装置122)。每个车辆可经过无线通信路径1235(如虚线所示)经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与远程服务器1230进行通信。每个车辆可向服务器1230传送数据,并且从服务器1230接收数据。例如,服务器1230可从在不同时间在路段1200上行驶的多个车辆来收集数据,并且可处理所收集数据,以生成自主车辆道路导航模型或者对模型的更新。服务器1230可向车辆(所述车辆向服务器1230传送数据)传送自主车辆道路导航模型或者对模型的更新。服务器1230可向以后在路段1200上行驶的其他车辆传送自主车辆道路导航模型或者对模型的更新。

当车辆1205、1210、1215、1220和1225在路段1200上行驶时,由车辆1205、1210、1215、1220和1225所收集(例如检测、感测或测量)的导航信息可被传送给服务器1230。在一些实施例中,导航信息可与公共路段1200关联。导航信息可包括在车辆1205、1210、1215、1220和1225的每个通过路段1200行驶时与每个车辆关联的轨迹。在一些实施例中,轨迹可基于车辆1205上提供的各种传感器和装置所感测的数据来重构。例如,轨迹可基于加速计数据、速度数据、路标数据、道路几何或简档数据、车辆定位数据和自我运动数据的至少一个来重构。在一些实施例中,轨迹可基于来自惯性传感器(例如加速计)的数据以及速度传感器所感测的车辆1205的速度来重构。另外,在一些实施例中,轨迹可由车辆1205、1210、1215、1220和1225的每个上的处理器基于照相装置的所感测自我运动来确定,其可指示三维平移和/或三维旋转(或旋转运动)。照相装置(并且因此车身)的自我运动可从照相装置所捕获的一个或多个图像的分析来确定。

在一些实施例中,车辆1205的轨迹可由车辆1205上提供的处理器来确定,并且被传送给服务器1230。在其他实施例中,服务器1230可接收车辆1205中提供的各种传感器和装置所感测的数据,并且基于从车辆1205所接收的数据来确定轨迹。

在一些实施例中,从车辆1205、1210、1215、1220和1225传送给服务器1230的导航信息可包括与路面、道路几何形状或道路简档有关的数据。路段1200的几何形状可包括车道结构和/或路标。车道结构可包括路段1200的车道的总数、车道的类型(例如单向车道、双向车道、行车道、超车道等)、车道上的标记、车道的宽度等。在一些实施例中,导航信息可包括车道指配,例如车辆在多个车道的哪一个车道中行驶。例如,车道指配可与数值“3”关联,该数值“3”指示车辆在从左侧或右侧的第三车道上行驶。作为另一个示例,车道指配可与文本值“中心车道”关联,该文本值“中心车道”指示车辆在中心车道上行驶。

服务器1230可在非暂时计算机可读介质(例如硬盘驱动器、致密光盘、磁带、存储器等)上存储导航信息。服务器1230可基于从多个车辆1205、1210、1215、1220和1225所接收的导航信息来生成(例如通过服务器1230中包含的处理器)公共路段1200的自主车辆道路导航模型的至少一部分,并且可将该模型作为稀疏地图的一部分来存储。服务器1230可基于从在不同时间在路段的车道上行驶的多个车辆(例如1205、1210、1215、1220和1225)所接收的众包数据(例如导航信息)来确定与每个车道关联的轨迹。服务器1230可基于根据众包导航数据所确定的多个轨迹来生成自主车辆道路导航模型或者模型的一部分(例如已更新部分)。服务器1230可将模型或者该模型的已更新部分传送给路段1200上行驶的自主车辆1205、1210、1215、1220和1225的一个或多个或者以后在路段上行驶的任何其他自主车辆,以用于更新车辆的导航系统中提供的现有自主车辆道路导航模型。自主车辆道路导航模型可由自主车辆用于沿公共路段1200进行自主导航中。

如上所述,自主车辆道路导航模型可被包含在稀疏地图(例如图8所示的稀疏地图800)中。稀疏地图800可包括与沿道路的道路几何形状和/或路标相关的数据的稀疏记录,所述记录可提供引导自主车辆的自主导航的充分信息,但是不要求过多数据存储。在一些实施例中,自主车辆道路导航模型可与稀疏地图800分开存储,并且可在模型被执行以供导航时使用来自稀疏地图800的地图数据。在一些实施例中,自主车辆道路导航模型可将稀疏地图800中包含的地图数据用于确定沿路段1200的目标轨迹,以用于引导自主车辆1205、1210、1215、1220和1225或者以后沿路段1200行驶的其他车辆的自主导航。例如,当自主车辆道路导航模型由车辆1205的导航系统中包含的处理器来执行时,该模型可使处理器将基于从车辆1205所接收的导航信息所确定的轨迹与稀疏地图800中包含的预定轨迹进行比较,以验证和/或校正车辆1205的当前行驶路线。

在自主车辆道路导航模型中,道路特征或目标轨迹的几何形状可通过三维空间中的曲线来编码。在一个实施例中,曲线可以是三维样条,包括连接三维多项式的一个或多个样条。如本领域的技术人员会理解,样条可以是数值函数,该数值函数通过一系列多项式来分段定义,以用于拟合数据。用于拟合道路的三维几何数据的样条可包括线性样条(一阶)、二次样条(二阶)、三次样条(三阶)或者任何其他样条(其他阶数)或者它们的组合。样条可包括连接(例如拟合)道路的三维几何数据的数据点的不同阶数的一个或多个三维多项式。在一些实施例中,自主车辆道路导航模型可包括与沿公共路段(例如路段1200)或者路段1200的车道的目标轨迹对应的三维样条。

如上所述,稀疏地图中包含的自主车辆道路导航模型可包括其他信息,例如沿路段1200的至少一个路标的标识。路标在车辆1205、1210、1215、1220和1225的每个上安装的照相装置(例如照相装置122)的视场内是可见的。在一些实施例中,照相装置122可捕获路标的图像。车辆1205上提供的处理器(例如处理器180、190或者处理单元110)可处理路标的图像,以提取路标的标识信息。路标标识信息而不是路标的实际图像可被存储在稀疏地图800中。路标标识信息可要求比实际图像要少许多的存储空间。其他传感器或系统(例如GPS系统)也可提供路标的某个标识信息(例如路标的位置)。路标可包括交通标志、箭头标记、车道标记、虚线车道标记、交通灯、停车线、方向标志(例如具有指示方向的高速公路出口标志、具有指向不同方向或地点的箭头的高速公路标志)、路标信标或灯柱的至少一个。路标信标表示沿路段所安装的装置(例如RFID装置),该装置将信号传送或反射到车辆上安装的接收器,使得当车辆通过该装置时,由车辆所接收的信标和装置的位置(例如从装置的GPS位置所确定)可用作将被包含在自主车辆道路导航模型和/或稀疏地图800中的路标。

至少一个路标的标识可包括至少一个路标的位置。路标的位置可基于使用与多个车辆1205、1210、1215、1220和1225关联的传感器系统(例如全球定位系统、基于惯性的定位系统、路标信标等)所执行的位置测量来确定。在一些实施例中,可通过对于不同车辆1205、1210、1215、1220和1225上的传感器系统经过多次驾驶所检测、收集或接收的位置测量求平均来确定路标的位置。例如,车辆1205、1210、1215、1220和1225可向服务器1230传送位置测量数据,服务器1230可平均位置测量,并且使用平均位置测量作为路标的位置。可通过在后续驾驶中从车辆所接收的测量来连续细化路标的位置。

路标的标识可包括路标的大小。车辆(例如1205)上提供的处理器可基于图像的分析来估计路标的物理大小。服务器1230可通过不同驾驶从不同车辆接收同一路标的物理大小的多个估计。服务器1230可对不同估计求平均,以得出路标的物理大小,并且在道路模型中存储那个路标大小。物理大小估计可用来进一步确定或估计从车辆到路标的距离。可基于车辆的当前速度以及根据图像中出现的路标相对于照相装置的扩展焦点的位置的扩展标度来估计到路标的距离。例如,到路标的距离可通过Z= V×dt×R/D来估计,其中V是车辆的速度,R是图像中从时间t1的路标到扩展焦点的距离,以及D是图像中从t1到t2的路标的距离的变化。dt表示(t2-t1)。例如,到路标的距离可通过Z= V×dt×R/D来估计,其中V是车辆的速度,R是图像路标与扩展焦点之间的距离,dt是时间间隔,以及D是路标沿核线的图像位移。与上式等效的其他等式(例如Z = V × ω/Δω)可用于估计到路标的距离。在这里,V是车辆速度,ω是图像长度(例如对象宽度),以及Δω是单位时间中的那个图像长度的变化。

当路标的物理大小为已知时,到路标的距离也可基于下式来确定:Z = f×W/ω,其中f是焦距,W是路标的大小(例如高度或宽度),ω是路标离开图像时的像素的数量。从上式,可使用ΔZ = f×W×Δω / ω

对于未知尺寸的路标,到路标的距离可通过跟踪连续帧之间的路标上的特征点来估计。例如,可在两个或更多图像帧之间跟踪限速标志上出现的某些特征。基于这些所跟踪特征,可生成每特征点的距离分布。可从距离分布来提取距离估计。例如,距离分布中出现的最频繁距离可用作距离估计。作为另一个示例,距离分布的平均数可用作距离估计。

图13示出通过多个三维样条1301、1302和1303所表示的示例自主车辆道路导航模型。图13所示的曲线1301、1302和1303仅为了便于说明。每个样条可包括连接多个数据点1310的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或者具有不同阶数的任何适当多项式的组合。每个数据点1310可与从车辆1205、1210、1215、1220和1225所接收的导航信息关联。在一些实施例中,每个数据点1310可关联于与路标(例如路标的大小、位置和标识信息)和/或道路签名简档(例如道路几何形状、道路粗糙度简档、道路曲率简档、道路宽度简档)相关的数据。在一些实施例中,一些数据点1310可关联与路标相关的数据,而其他数据点可关联与道路签名简档相关的数据。

图14示出从五次单独驾驶所接收的原始位置数据1410(例如GPS数据)。一次驾驶在相同时间由单独车辆、在单独时间由同一车辆或者在单独时间由单独车辆所穿过时可与另一次驾驶分开。为了考虑位置数据1410的误差以及同一车道内的车辆的不同位置(例如,一个车辆可能比另一个车辆更靠近车道左侧驾驶),服务器1230可使用一个或多个统计技术来生成地图概略图1420,以确定原始位置数据1410的变化是否表示实际差异或者统计误差。概略图1420内的每个路径又可被链接到形成该路径的原始数据1410。例如,概略图1420内的A与B之间的路径被链接到来自驾驶2、3、4和5但不是来自驾驶1的原始数据1410。概略图1420可能不够详细而无法用来导航车辆(例如因为与上述样条不同,它组合来自同一道路上的多个车道的驾驶),但是可提供有用拓扑信息,并且可用来定义十字路口。

图15示出示出示例,通过该示例,可对地图概略图段(例如略图1420内的段A到B)内的稀疏地图生成附加细节。如图15所示,数据(例如自我运动数据、道路标记数据等)可示为沿驾驶的位置S(或者S

图16示出供稀疏地图中使用的对齐路标数据的示例。在图16的示例中,路标1610包括道路标志。图16的示例进一步示出来自多个驾驶1601、1603、1605、1607、1609、1611和1613的数据。在图16的示例中,来自驾驶1613的数据由“虚”路标组成,以及服务器1230可这样识别它,因为没有驾驶1601、1603、1605、1607、1609和1611包括驾驶1613中的所识别路标附近的路标的标识。相应地,服务器1230在路标出现的图像与路标没有出现的图像的比率超过阈值时可接受潜在路标,和/或在路标没有出现的图像与路标出现的图像的比率超过阈值时可拒绝潜在路标。

图17示出用于生成可用来众包稀疏地图的驾驶数据的系统1700。如图17所示,系统1700可包括照相装置1701和定位装置1703(例如GPS定位器)。照相装置1701和定位装置1703可被安装在车辆(例如车辆1205、1210、1215、1220和1225其中之一)上。照相装置1701可产生多种类型的多个数据,例如自我运动数据、交通标志数据、道路数据等。照相装置数据和位置数据可被分割为驾驶段1705。例如,驾驶段1705各自可具有来自小于1 km的驾驶的照相装置数据和位置数据。

在一些实施例中,系统1700可去除驾驶段1705中的冗余度。例如,如果路标出现在来自照相装置1701的多个图像中,则系统1700可剥离冗余数据,使得驾驶段1705仅包含路标的位置的一个副本以及与路标相关的任何元数据。作为另一示例,如果车道标记出现在来自照相装置1701的多个图像中,则系统1700可剥离冗余数据,使得驾驶段1705仅包含车道标记的位置的一个副本以及与车道标记相关的任何元数据。

系统1700还包括服务器(例如服务器1230)。服务器1230可从车辆接收驾驶段1705,并且将驾驶段1705重新组合为单次驾驶1707。这种布置可在车辆与服务器之间传输数据时允许降低带宽要求,同时还允许服务器存储与整个驾驶相关的数据。

图18示出进一步配置用于众包稀疏地图的图17的系统1700。如同图17中一样,系统1700包括车辆1810,所述车辆1810使用例如照相装置(该照相装置产生例如自我运动数据、交通标志数据、道路数据等)和定位装置(例如GPS定位器)来捕获驾驶数据。如同图17中一样,车辆1810将所收集数据分割为驾驶段(图18中示为“DS1 1”、“DS2 1”、“DSN 1”)。服务器1230然后接收驾驶段,并且从所接收段重构驾驶(图18中示为“驾驶1”)。

如图18进一步所示,系统1700还从附加车辆接收数据。例如,车辆1820还使用例如照相装置(该照相装置产生例如自我运动数据、交通标志数据、道路数据等)和定位装置(例如GPS定位器)来捕获驾驶数据。与车辆车辆1810相似,车辆1820将所收集数据分割为驾驶段(图18中示为“DS1 2”、“DS2 2”、“DSN 2”)。服务器1230然后接收驾驶段,并且从所接收段重构驾驶(图18中示为“驾驶2”)。可使用任何数量的附加车辆。例如,图18还包括“汽车N”,所述“汽车N”捕获驾驶数据,将它分割为驾驶段(图18中示为“DS1 N”、“DS2 N”、“DSN N”),并且将它发送给服务器1230,以供重构为驾驶(图18中示为“驾驶N”)。

如图18所示,服务器1230可使用从多个车辆(例如“汽车1”(又标记为1810)、“汽车2”(又标记为汽车1820)和“汽车N”)所收集的重构驾驶(例如“驾驶1”、“驾驶2”和“驾驶N”)来构成稀疏地图。

图19是示出生成沿路段的自主车辆导航的稀疏地图的示例过程1900的流程图。过程1900可由服务器1230中包含的一个或多个处理装置执行。

过程1900可包括接收当一个或多个车辆穿过路段时获取的多个图像(步骤1905)。服务器1230可从车辆1205、1210、1215、1220和1225的一个或多个内包含的照相装置接收图像。例如,照相装置122可在车辆1205沿路段1200行驶时捕获车辆1205周围的环境的一个或多个图像。在一些实施例中,服务器1230还可接收剥离图像数据,所述剥离图像数据由车辆1205上的处理器去除了冗余,如以上针对图17所述。

过程1900可进一步包括基于多个图像来识别沿路段延伸的路面特征的至少一个线表示(步骤1910)。每个线表示可表示与路面特征基本上对应的沿路段的路径。例如,服务器1230可分析从照相装置122所接收的环境图像,以识别道路边缘或车道标记,并且确定与道路边缘或车道标记关联的沿路段1200的行驶轨迹。在一些实施例中,轨迹(或者线表示)可包括样条、多项式表示或曲线。服务器1230可基于在步骤1905所接收的照相装置自我运动(例如三维平移和/或三维旋转运动)来确定车辆1205的行驶轨迹。

过程1900还可包括基于多个图像来识别与路段关联的多个路标(步骤1910)。例如,服务器1230可分析从照相装置122所接收的环境图像,以识别一个或多个路标(例如沿路段1200的道路标志)。服务器1230可使用在一个或多个车辆穿过路段时所获取的多个图像的分析来识别路标。为了实现众包,分析可包括与接受和拒绝关联路段的可能路标有关的规则。例如,分析可包括在路标出现的图像与路标没有出现的图像的比率超过阈值时接受潜在路标,和/或在路标没有出现的图像与路标出现的图像的比率超过阈值时拒绝潜在路标。

过程1900可包括服务器1230所执行的其他操作或步骤。例如,导航信息可包括车辆沿路段行驶的目标轨迹,以及过程1900可包括由服务器1230聚类与路段上行驶的多个车辆相关的车辆轨迹,并且基于聚类车辆轨迹来确定目标轨迹,如下面更详细论述。聚类车辆轨迹可包括由服务器1230基于车辆的绝对航向或者车辆的车道指配的至少一个将与路段上行驶的车辆相关的多个轨迹聚类为多个聚类。生成目标轨迹可包括由服务器对聚类轨迹求平均。作为另一示例,过程1900可包括对齐在步骤1905所接收的数据。如上所述,由服务器1230所执行的其他过程或步骤也可被包含在过程1900中。

所公开的系统和方法可包括其他特征。例如,所公开的系统可使用局部坐标而不是全局坐标。对于自主驾驶,一些系统可在世界坐标中呈现数据。例如,可使用地球表面的经度和纬度坐标。为了将地图用于操纵,主车辆可确定它相对于地图的位置和取向。似乎很自然的是,使用车载GPS装置,以便在地图上定位车辆,以及以便查找车身参考系与世界参考系之间的旋转变换(例如北、东和下)。一旦车身参考系与地图参考系对齐,可在车身参考系中表达预期路线,并且可计算或生成转向指令。

所公开的系统和方法可采用低占用面积模型来实现自主车辆导航(例如转向控制),所述低占用面积模型可由自主车辆本身来收集,而无需借助昂贵的勘测设备。为了支持自主导航(例如转向应用),道路模型可包括稀疏地图,该稀疏地图具有道路的几何形状、其车道结构和路标,可用来确定车辆沿模型中包含的轨迹的定位或位置。如上所述,稀疏地图的生成可由远程服务器执行,该远程服务器与道路上行驶的车辆进行通信并且从车辆接收数据。数据可包括所感测数据、基于所感测数据所重构的轨迹和/或可表示修改的重构轨迹的推荐轨迹。如下面所述,服务器可将模型回传给车辆或者以后在道路上行驶的其他车辆,以帮助自主导航。

图20示出服务器1230的框图。服务器1230可包括通信单元2005,该通信单元2005可包括硬件组件(例如通信控制电路、交换机和天线)和软件组件(例如通信协议、计算机代码)。例如,通信单元2005可包括至少一个网络接口。服务器1230可通过通信单元2005与车辆1205、1210、1215、1220和1225进行通信。例如,服务器1230可通过通信单元2005接收从车辆1205、1210、1215、1220和1225所传送的导航信息。服务器1230可通过通信单元2005向一个或多个自主车辆分发自主车辆道路导航模型。

服务器1230可包括至少一个非暂时存储介质2010,例如硬盘驱动器、致密光盘、磁带等。存储装置1410可配置成存储数据,例如从车辆1205、1210、1215、1220和1225所接收的导航信息和/或服务器1230基于导航信息生成的自主车辆道路导航模型。存储装置2010可配置成存储任何其他信息,例如稀疏地图(例如以上针对图8所述的稀疏地图800)。

作为存储装置2010的补充或替代,服务器1230可包括存储器2015。存储器2015可与存储器140或150相似或者不同。存储器2015可以是非暂时存储器,例如闪速存储器、随机存取存储器等。存储器2015可配置成存储数据,例如由处理器(例如处理器2020)可执行的计算机代码或指令、地图数据(例如稀疏地图800的数据)、自主车辆道路导航模型和/或从车辆1205、1210、1215、1220和1225所接收的导航信息。

服务器1230可包括至少一个处理装置2020,所述处理装置2020配置成执行存储器2015中存储的计算机代码或指令,以执行各种功能。例如,处理装置2020可分析从车辆1205、1210、1215、1220和1225所接收的导航信息,并且基于该分析来生成自主车辆道路导航模型。处理装置2020可控制通信单元1405将自主车辆道路导航模型分发给一个或多个自主车辆(例如车辆1205、1210、1215、1220和1225的一个或多个或者以后在路段1200上行驶的任何车辆)。处理装置2020可与处理器180、190或处理单元110相似或者不同。

图21示出存储器2015的框图,所述存储器2015可存储计算机代码或指令,以用于执行生成供自主车辆导航中使用的道路导航模型的一个或多个操作。如图21所示,存储器2015可存储一个或多个模块,以用于执行处理车辆导航信息的操作。例如,存储器2015可包括模型生成模块2105和模型分发模块2110。处理器2020可执行存储器2015中包含的模块2105和2110的任一个中存储的指令。

模型生成模块2105可存储指令,所述指令在由处理器2020执行时可基于从车辆1205、1210、1215、1220和1225所接收的导航信息来生成公共路段(例如路段1200)的自主车辆道路导航模型的至少一部分。例如,在生成自主车辆道路导航模型中,处理器2020可将沿公共路段1200的车辆轨迹聚类为不同聚类。处理器2020可基于不同聚类的每个的聚类车辆轨迹来确定沿公共路段1200的目标轨迹。这种操作可包括查找每个聚类中的聚类车辆轨迹的均值或平均轨迹(例如通过对表示聚类车辆轨迹的数据求平均)。在一些实施例中,目标轨迹可与公共路段1200的单个车道关联。

道路模型和/或稀疏地图可存储与路段关联的轨迹。这些轨迹可称作目标轨迹,所述目标轨迹被提供给自主车辆以供自主导航。目标轨迹可从多个车辆接收,或者可基于从多个车辆所接收的实际轨迹或推荐轨迹(具有某些修改的实际轨迹)来生成。可采用从其他车辆所接收的新轨迹来连续更新道路模型或稀疏地图中包含的目标轨迹(或者对其求平均)。

在路段上行驶的车辆可通过各种传感器收集数据。数据可包括路标、道路签名简档、车辆运动(例如加速计数据、速度数据)、车辆位置(例如GPS数据),并且可重构实际轨迹本身或者将数据传送给服务器,该服务器将重构车辆的实际轨迹。在一些实施例中,车辆可向服务器1230传送与轨迹相关的数据(例如任意参考系中的曲线)、路标数据以及沿行驶路径的车道对齐。在多次驾驶沿同一路段行驶的各种车辆可具有不同轨迹。服务器1230可从通过聚类过程自车辆所接收的轨迹来识别与每个车道关联的路线或轨迹。

图22示出聚类与车辆1205、1210、1215、1220和1225关联的车辆轨迹以用于确定公共路段(例如路段1200)的目标轨迹的过程。从聚类过程所确定的目标轨迹或者多个目标轨迹可被包含在自主车辆道路导航模型或稀疏地图800中。在一些实施例中,沿路段1200行驶的车辆1205、1210、1215、1220和1225可向服务器1230传送多个轨迹2200。在一些实施例中,服务器1230可基于路标、道路几何形状以及从车辆1205、1210、1215、1220和1225所接收的车辆运动信息来生成轨迹。为了生成自主车辆道路导航模型,服务器1230可将车辆轨迹1600聚类为多个聚类2205、2210、2215、2220和2230,如图22所示。

可使用各种标准来执行聚类。在一些实施例中,聚类中的所有驾驶相对沿路段1200的绝对航向可以是相似的。可从车辆1205、1210、1215、1220和1225所接收的GPS信号来得到绝对航向。在一些实施例中,可使用航位推测来得到绝对航向。如本领域的技术人员会理解,航位推测可用来通过使用先前确定的位置、估计速度等,来确定当前位置并且因此确定车辆1205、1210、1215、1220和1225的航向。通过绝对航向所聚类的轨迹对于识别沿道路的路线可以是有用的。

在一些实施例中,聚类中的所有驾驶相对沿路段1200上的驾驶的车道指配(例如在交叉口之前和之后的同一车道中)可以是相似的。通过车道指配所聚类的轨迹对于识别沿道路的车道可以是有用的。在一些实施例中,两种标准(例如绝对航向和车道指配)均可用于聚类。

在每个聚类2205、2210、2215、2220、2225和2230中,轨迹可被求平均,以得到与特定聚类关联的目标轨迹。例如,来自与同一车道聚类关联的多次驾驶的轨迹可被求平均。平均轨迹可以是与特定车道关联的目标轨迹。为了对轨迹聚类求平均,服务器1230可选择任意轨迹C0的参考系。对于所有其他轨迹(C1、...、Cn),服务器1230可查找将Ci映射到C0的刚性变换,其中i=1、2、...、n,其中n为正整数,对应于聚类中包含的轨迹的总数。服务器1230可计算C0参考系中的平均曲线或轨迹。

在一些实施例中,路标可定义不同驾驶之间的弧长匹配,该弧长匹配可用于轨迹与车道的对齐。在一些实施例中,交叉口之前和之后的车道标记可用于轨迹与车道的对齐。

为了从轨迹组装车道,服务器1230可选择任意车道的参考系。服务器1230可将部分重叠车道映射到所选参考系。服务器1230可继续映射,直到所有车道处于同一参考系中。彼此相邻的车道可被对齐,好像它们是同一车道一样,并且它们以后可被横向偏移。

沿路段所识别的路标可被映射到公共参考系,首先在车道级,然后在交叉口级。例如,相同路标可被多个车辆在多次驾驶中识别多次。与在不同驾驶中接收的相同路标有关的数据可略有不同。这类数据可被求平均并且映射到同一参考系,例如C0参考系。作为补充或替代,可计算在多次驾驶中接收的同一路标的数据的变化。

在一些实施例中,路段120的每个车道可与目标轨迹和某些路标关联。目标轨迹或者多个这类目标轨迹可被包含在自主车辆道路导航模型中,所述自主车辆道路导航模型以后可由沿同一路段1200行驶的其他自主车辆使用。由车辆1205、1210、1215、1220和1225在沿路段1200行驶的同时所识别的路标可与目标轨迹关联地记录。可采用在后续驾驶中从其他车辆所接收的新数据来连续或周期更新目标轨迹和路标的数据。

对于自主车辆的定位,所公开的系统和方法可使用扩展卡尔曼滤波器。可基于三维位置数据和/或三维取向数据、通过自我运动的整合对车辆当前位置前面的将来位置的预测来确定车辆的位置。车辆的定位可通过路标的图像观察来校正或调整。例如,当车辆检测照相装置所捕获的图像内的路标时,可将路标与道路模型或稀疏地图800内存储的已知路标进行比较。已知路标可具有沿道路模型和/或稀疏地图800中存储的目标轨迹的已知位置(例如GPS数据)。基于当前速度和路标的图像,可估计从车辆到路标的距离。沿目标轨迹的位置可基于到路标的距离和路标的已知位置(被存储在道路模型或稀疏地图800中)来调整。道路模型和/或稀疏地图800中存储的路标的位置/定位数据(例如来自多次驾驶的平均值)可被假定是精确的。

在一些实施例中,所公开的系统可形成闭环子系统,其中车辆六自由度位置(例如三维位置数据加上三维取向数据)的估计可用于导航自主车辆(例如操纵其方向盘)以到达预期点(例如所存储前面的1.3秒)。从操纵和实际导航所测量的数据又可用来估计六自由度位置。

在一些实施例中,沿道路的灯杆(例如灯柱和电力或电缆线杆)可用作用于定位车辆的路标。其他路标(例如交通标志、交通灯、道路上的箭头、停车线)以及沿路段的对象的静态特征或签名也可用作用于定位车辆的路标。当杆用于定位时,可使用杆的x观察(即,从车辆的视角)而不是y观察(即,到杆的距离),因为杆的底部可被遮蔽,并且有时它们不在道路平面上。

图23示出车辆的导航系统,该导航系统可用于使用众包稀疏地图的自主导航。为了便于说明,车辆称作车辆1205。图23所示的车辆可以是本文所公开的任何其他车辆,包括例如车辆1210、1215、1220和1225以及其他实施例中所示的车辆200。如图12所示,车辆1205可与服务器1230进行通信。车辆1205可包括图像捕获装置122(例如照相装置122)。车辆1205可包括导航系统2300,该导航系统2300配置用于为车辆1205在道路(例如路段1200)上行驶提供导航引导。车辆1205还可包括其他传感器,例如速度传感器2320和加速计2325。速度传感器2320可配置成检测车辆1205的速度。加速计2325可配置成检测车辆1205的加速度或减速度。图23所示的车辆1205可以是自主车辆,以及导航系统2300可用于为自主驾驶提供导航引导。备选地,车辆1205也可以是非自主的人工控制车辆,以及导航系统2300仍然可用于提供导航引导。

导航系统2300可包括通信单元2305,该通信单元2305配置成通过通信路径1235与服务器1230进行通信。导航系统2300还可包括GPS单元2310,该GPS单元2310配置成接收和处理GPS信号。导航系统2300可进一步包括至少一个处理器2315,所述处理器2315配置成处理数据,例如GPS信号、来自稀疏地图800(所述稀疏地图800可被存储在车辆1205上提供的存储装置上和/或从服务器1230接收)的地图数据、由道路简档传感器2330所感测的道路几何形状、由照相装置122所捕获的图像和/或从服务器1230所接收的自主车辆道路导航模型。道路简档传感器2330可包括用于测量不同类型的道路简档(例如路面粗糙度、道路宽度、道路高程、道路曲率等)的不同类型的装置。例如,道路简档传感器2330可包括一种装置,该装置测量车辆2305的悬架的运动,以得出道路粗糙度简档。在一些实施例中,道路简档传感器2330可包括雷达传感器,以测量从车辆1205到道路两侧(例如道路两侧的屏障)的距离,由此测量道路的宽度。在一些实施例中,道路简档传感器2330可包括配置用于测量道路的上下高程的装置。在一些实施例中,道路简档传感器2330可包括配置成测量道路曲率的装置。例如,照相装置(例如照相装置122或另一个照相装置)可用来捕获显示道路曲率的道路的图像。车辆1205可使用这类图像来检测道路曲率。

至少一个处理器2315可被编程为从照相装置122接收与车辆1205关联的至少一个环境图像。至少一个处理器2315可分析至少一个环境图像,以确定与车辆1205相关的导航信息。导航信息可包括与车辆1205沿路段1200的行驶相关的轨迹。至少一个处理器2315可基于照相装置122(并且因此车辆)的运动(例如三维平移和三维旋转运动)来确定轨迹。在一些实施例中,至少一个处理器2315可基于对照相装置122所获取的多个图像的分析来确定照相装置122的平移和旋转运动。在一些实施例中,导航信息可包括车道指配信息(例如车辆1205沿路段1200在哪一个车道中行驶)。从车辆1205传送给服务器1230的导航信息可由服务器用来生成和/或更新自主车辆道路导航模型,该自主车辆道路导航模型可从服务器1230回传给车辆1205,以用于为车辆1205提供自主导航引导。

至少一个处理器2315还可被编程为将导航信息从车辆1205传送给服务器1230。在一些实施例中,导航信息可连同道路信息一起被传送给服务器1230。道路位置信息可包括GPS单元2310所接收的GPS信号、路标信息、道路几何形状、车道信息等的至少一个。至少一个处理器2315可从服务器1230接收自主车辆道路导航模型或者该模型的一部分。从服务器1230所接收的自主车辆道路导航模型可包括基于从车辆1205传送给服务器1230的导航信息的至少一个更新。从服务器1230传送给车辆1205的模型的部分可包括模型的已更新部分。至少一个处理器2315可基于所接收的自主车辆道路导航模型或者该模型的已更新部分来引起车辆1205进行的至少一个导航操纵(例如,转向,例如转弯、制动、加速、超过另一个车辆等)。

至少一个处理器2315可配置成与车辆1205中包含的各种传感器和组件(包括通信单元1705、GPS单元2315、照相装置122、速度传感器2320、加速计2325和道路简档传感器2330)进行通信。至少一个处理器2315可从各种传感器和组件收集信息或数据,并且通过通信单元2305将信息或数据传送给服务器1230。作为替代或补充,车辆1205的各种传感器或组件还可与服务器1230进行通信,并且向服务器1230传送传感器或组件所收集的数据或信息。

在一些实施例中,车辆1205、1210、1215、1220和1225可相互通信,并且可相互共享导航信息,使得车辆1205、1210、1215、1220和1225的至少一个可例如基于其他车辆所共享的信息使用众包来生成自主车辆道路导航模型。在一些实施例中,车辆1205、1210、1215、1220和1225可相互共享导航信息,并且每个车辆可更新车辆中提供的它自己的自主车辆道路导航模型。在一些实施例中,车辆1205、1210、1215、1220和1225的至少一个(例如车辆1205)可用作中枢车辆。中枢车辆(例如车辆1205)的至少一个处理器2315可执行由服务器1230所执行的功能的部分或全部。例如,中枢车辆的至少一个处理器2315可与其他车辆进行通信,并且从其他车辆接收导航信息。中枢车辆的至少一个处理器2315可基于从其他车辆所接收的共享信息来生成自主车辆道路导航模型或者对该模型的更新。中枢车辆的至少一个处理器2315可向其他车辆传送自主车辆道路导航模型或者对该模型的更新,以用于提供自主导航引导。

如先前所述,自主车辆道路导航模型和/或稀疏地图800可包括与路段关联的多个映射车道标记。如下面更详细论述,当自主车辆导航时,可使用这些映射车道标记。例如,在一些实施例中,映射车道标记可用来确定相对于计划轨迹的横向位置和/或取向。通过这个位置信息,自主车辆可以能够调整航向方向,以匹配所确定位置处的目标轨迹的方向。

车辆200可配置成检测给定路段中的车道标记。路段可包括道路上的任何标记,以用于引导公路上的车辆交通。例如,车道标记可以是区分行驶车道的边缘的连续线或虚线。车道标记还可包括双线,例如双连续线、双虚线或者连续线和虚线的组合,指示例如相邻车道中是否准许超车。车道标记还可包括指示例如出口匝道的减速车道的高速公路入口和出口标记或者指示车道仅转弯或者车道结束的虚线。标记可进一步指示工作区、临时车道变换、通过十字路口的行驶路径、中间带、专用车道(例如自行车车道、HOV车道等)或者其他各种各样的标记(例如人行横道、减速带、铁路道口、停车线等)。

车辆200可使用照相装置(例如图像获取单元120中包含的图像捕获装置122和124)来捕获周围车道标记的图像。车辆200可分析图像,以基于所捕获图像的一个或多个内所识别的特征来检测与车道标记关联的点位置。这些点位置可被上传到服务器,以表示稀疏地图800中的车道标记。取决于照相装置的位置和视场,可从单个图像同时对车辆两侧检测车道标记。在其他实施例中,不同照相装置可用来捕获车辆多侧的图像。不是上传车道标记的实际图像,标记而是可作为样条或一系列点被存储在稀疏地图800中,因此减小稀疏地图800的大小和/或必须由车辆远程上传的数据。

图24A-24D示出可由车辆200所检测以表示特定车道标记的示范点位置。与上述路标相似,车辆200可使用各种图像识别算法或软件来识别所捕获图像内的点位置。例如,车辆200可识别一系列边缘点、角点或者与特定车道标记关联的各种其他点位置。图24A示出可由车辆200所检测的连续车道标记2410。车道标记2410可表示公路的外侧边缘,通过连续白线所表示。如图24A所示,车辆200可配置成检测沿车道标记的多个边缘位置点2411。可以以足以创建稀疏地图中的映射车道标记的任何间隔来收集位置点2411,以表示车道标记。例如,可通过每米检测边缘一个点、每五米检测边缘一个点或者以其他适当间距来表示车道标记。在一些实施例中,间距可通过其他因素而不是以设置间隔来确定,例如基于车辆200具有检测点的位置的最高置信评级的点。虽然图24A示出车道标记2410的内边缘上的边缘位置点,但是可在线条的外侧边缘或者沿两个边缘来收集点。此外,虽然图24A中示出单线,但是可对双连续线检测相似边缘点。例如,可沿连续线的一个或两者的边缘来检测点2411。

车辆200还可根据车道标记的类型或形状以不同方式表示车道标记。图24B示出可由车辆200所检测的示范虚线车道标记2420。不是如图24A中一样识别边缘点,车辆而是可检测表示车道虚线的角的一系列角点2421,以定义虚线的完整边界。虽然图24B示出所定位的给定虚线标记的每个角,但是车辆200可检测或上传该图所示的点的子集。例如,车辆200可检测给定虚线标记的前缘或前角,或者可检测最靠近车道内部的两个角点。此外,并非可捕获每一个虚线标记,例如,车辆200可捕获和/或记录表示虚线标记的样本(例如每隔一个、每第三个、每第五个等)或者以预定义间距(例如每米、每五米、每十米等)的虚线标记的点。还可对相似车道标记来检测角点,例如显示车道用于出口匝道、特定车道结束的标记或者可具有可检测角点的其他各种车道标记。还可对于由双虚线或者连续线和虚线的组合所组成的车道标记来检测角点。

在一些实施例中,被上传到服务器以生成映射车道标记的点可表示除了所检测边缘点或角点之外的其他点。图24C示出可表示给定车道标记的中心线的一系列点。例如,连续车道2410可通过沿车道标记的中心线2440的中心线点2441来表示。在一些实施例中,车辆200可配置成使用各种图像识别技术(例如卷积神经网络(CNN)、尺度不变特征变换(SIFT)、定向梯度直方图(HOG)特征或其他技术)来检测这些中心点。备选地,车辆200可检测其他点(例如图24A所示的边缘点2411),并且可例如通过检测沿每个边缘的点并且确定边缘点之间的中点来计算中心线点2441。类似地,虚线车道标记2420可通过沿车道标记的中心线2450的中心线点2451来表示。中心线点可如图24C所示位于虚线的边缘,或者位于沿中心线的各种其他位置。例如,每个虚线可通过虚线的几何中心中的单个点来表示。点也可沿中心线以预定间隔隔开(例如每米、5米、10米等)。中心线点2451可由车辆200直接检测,或者可基于其他所检测参考点(例如角点2421,如图24B所示)来计算。中心线还可用来使用如上所述的类似技术来表示其他车道标记类型(例如双线)。

在一些实施例中,车辆200可识别表示其他特征的点,例如两个相交车道标记之间的顶点。图24D示出表示两个车道标记2460和2465之间的相交点的示范点。车辆200可计算表示两个车道标记之间的相交点的顶点2466。例如,车道标记2460或2465其中之一可表示路段中的列车穿越区域或另一穿越区域。虽然车道标记2460和2465被示为相互垂直相交,但是可检测各种其他配置。例如,车道标记2460和2465可以以其他角度相交,或者车道标记的一个或两者可端接在顶点2466。类似技术还可适用于虚线或其他车道标记类型之间的相交点。除了顶点2466之外,各种其他点2467还可被检测,从而提供与车道标记2460和2465的取向有关的其他信息。

车辆200可将现实世界坐标与车道标记的每个所检测点关联。例如,可生成包括每个点的坐标的位置标识符,以上传到服务器以供映射车道标记。位置标识符可进一步包括与点有关的其他标识信息,包括点是否表示角点、边缘点、中心点等。因此,车辆200可配置成基于图像的分析来确定每个点的现实世界位置。例如,车辆200可检测图像中的其他特征(例如以上所述的各种路标),以定位车道标记的现实世界位置。这可涉及确定图像中的车道标记相对于所检测路标的位置,或者基于所检测路标来确定车辆的位置并且然后确定从车辆(或者车辆的目标轨迹)到车道标记的距离。当路标不可用时,车道标记点的位置可相对于基于航位推测所确定的车辆的位置来确定。位置标识符中包含的现实世界坐标可被表示为绝对坐标(例如纬度/经度坐标),或者可相对于其他特征,例如基于沿目标轨迹的纵向位置以及离目标轨迹的横向距离。位置标识符然后可被上传到服务器,以供生成导航模型(例如稀疏地图800)中的映射车道标记。在一些实施例中,服务器可构成表示路段的车道标记的样条。备选地,车辆200可生成样条,并且将它上传到服务器,以便被记录在导航模型中。

图24E示出包括映射车道标记的对应路段的示范导航模型或稀疏地图。稀疏地图可包括车辆沿路段要跟随的目标轨迹2475。如上所述,目标轨迹2475可表示车辆在行驶于对应路段时所采取的理想路径,或者可位于道路上的其他位置(例如道路的中心线等)。可通过以上所述的各种方法,例如基于穿过同一路段的车辆的两个或更多重构轨迹的聚合(例如加权组合),来计算目标轨迹2475。

在一些实施例中,可对所有车辆类型并且对所有道路、车辆和/或环境条件同等地生成目标轨迹。但是,在其他实施例中,在生成目标轨迹中还可考虑各种其他因素或变量。可对不同类型的车辆(例如私家车、轻型卡车和全挂车)生成不同的目标轨迹。例如,与较大的半挂车相比,可对小型私家车生成具有较小转弯半径的目标轨迹。在一些实施例中,也可考虑道路、车辆和环境条件。例如,可对于不同的道路条件(例如潮湿、结冰、干燥等)、车辆条件(例如轮胎条件或估计轮胎条件、制动条件或估计制动条件、剩余燃油量等)或环境因素(例如时刻、能见度、天气等)生成不同的目标轨迹。目标轨迹还可取决于特定路段的一个或多个方面或特征(例如限速、转弯的频率和大小、坡度等)。在一些实施例中,各种用户设定也可用来确定目标轨迹,例如设置驾驶模式(例如预期驾驶侵略性、经济模式等)。

稀疏地图还可包括表示沿路段的车道标记的映射车道标记2470和2480。映射车道标记可通过多个位置标识符2471和2481来表示。如上所述,位置标识符可包括与所检测车道标记关联的点的现实世界坐标中的位置。与模型中的目标轨迹相似,车道标记也可包括高程数据,并且可被表示为三维空间中的曲线。例如,曲线可以是连接适当阶数的三维多项式的样条,曲线可基于位置标识符来计算。映射车道标记还可包括与车道标记有关的其他信息或元数据,例如车道标记的类型的标识符(例如具有相同行驶方向的两个车道之间、相反行驶方向的两个车道之间、公路的边缘等)和/或车道标记的其他特性(例如连续、虚线、单线、双线、黄色、白色等)。在一些实施例中,可例如使用众包技术在模型内连续更新映射车道标记。同一车辆可在行驶于同一路段的多个时机期间上传位置标识符,或者数据可从在不同时间行驶于该路段的多个车辆(例如1205、1210、1215、1220和1225)来选择。稀疏地图800然后可基于从车辆所接收并且存储在系统中的后续位置标识符来更新或细化。当映射车道标记被更新和细化时,已更新道路导航模型和/或稀疏地图可被分发给多个自主车辆。

生成稀疏地图中的映射车道标记还可包括基于图像中或者实际车道标记本身中的异常来检测和/或减轻错误。图24F示出与检测车道标记2490关联的示范异常2495。异常2495可出现在由车辆200例如从阻隔车道标记的照相装置视图的物体、透镜上的碎片等所捕获的图像中。在一些情况下,异常可归因于车道标记本身,所述车道标志可能被损坏或磨损或者例如被道路上的灰尘、碎片、水、雪或其他材料部分覆盖。异常2495可导致错误点2491被车辆200所检测。稀疏地图800可提供正确的映射车道标记而排除错误。在一些实施例中,车辆200可例如通过检测图像中的异常2495或者通过基于异常之前和之后的所检测车道标记点识别错误,来检测错误点2491。基于检测异常,车辆可忽略点2491,或者可将它调整为与其他所检测点一致。在其他实施例中,例如通过基于同一行程期间所上传的其他点或者基于来自沿同一路段的先前行程的数据的聚合确定点处于预计阈值之外,可在已经上传点之后校正错误。

导航模型和/或稀疏地图中的映射车道标记也可用于行驶于对应公路的自主车辆进行的导航。例如,沿目标轨迹进行导航的车辆可周期地使用稀疏地图中的映射车道标记将自身与目标轨迹对齐。如上所述,在路标之间,车辆可基于航位推测进行导航,其中车辆使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置。误差可随时间推移而累积,以及相对于目标轨迹的车辆位置确定可变得越来越不精确。相应地,车辆可使用稀疏地图800中出现的车道标记(及其已知位置)来减少位置确定中的航位推测引起的误差。这样,稀疏地图800中包含的所识别车道标记可用作导航锚点,从其中可确定车辆相对于目标轨迹的精确位置。

图25A示出可用于基于映射车道标记的导航的车辆周围环境的示范图像2500。图像2500可例如由车辆200通过图像获取单元120中包含的图像捕获装置122和124来捕获。图像2500可包括至少一个车道标记2510的图像,如图25A所示。图像2500还可包括如上所述用于导航的一个或多个路标2521,例如道路标志。还示出图25A所示的一些元素以供参考,例如所捕获图像2500中未出现但是被车辆200所检测和/或确定的元素2511、2530和2520。

使用以上针对图24A-D和图24F所述的各种技术,车辆可分析图像2500,以识别车道标记2510。各种点2511可被检测为对应于图像中的车道标记的特征。例如点2511可对应于车道标记的边缘、车道标记的角、车道标记的中点、两个相交车道标记之间的顶点或者各种其他特征或位置。点2511检测为对应于从服务器所接收的导航模型中存储的点的位置。例如,如果接收包含表示映射车道标记的中心线的点的稀疏地图,则还可基于车道标记2510的中心线来检测点2511。

车辆还可确定元素2520所表示并且沿目标轨迹定位的纵向位置。例如通过检测图像2500内的路标2521并且将测量位置与道路模型或稀疏地图800中存储的已知路标位置进行比较,可从图像2500来确定纵向位置2520。沿目标轨迹的位置然后可基于到路标的距离和路标的已知位置来确定。纵向位置2520还可从除了用来确定车道标记的位置的图像之外的图像来确定。例如,可通过检测与图像2500同时或接近同时拍摄的、来自图像获取单元120内的其他照相装置的图像中的路标,来确定纵向位置2520。在一些情况下,车辆可能没有靠近任何路标或者用于确定纵向位置2520的其他参考点。在这类情况下,车辆可基于航位推测进行导航,并且因此可使用传感器来确定其自我运动,并且估计相对于目标轨迹的纵向位置2520。车辆还可确定表示车辆与(一个或多个)所捕获图像中所观察的车道标记2510之间的实际距离的距离2530。在确定距离2530中可考虑照相装置角度、车辆的速度、车辆的宽度或者各种其他因素。

图25B示出车辆在道路导航模型中基于映射车道标记的横向定位校正。如上所述,车辆200可使用车辆200所捕获的一个或多个图像来确定车辆200与车道标记2510之间的距离2530。车辆200还可有权访问道路导航模型(例如稀疏地图800),该道路导航模型可包括映射车道标记2550和目标轨迹2555。可使用上述技术、例如使用多个车辆所捕获的众包位置标识符对映射车道标记2550进行建模。还可使用先前所述的各种技术来生成目标轨迹2555。车辆200还可如以上针对图25A所述来确定或估计沿目标轨迹2555的纵向位置2520。车辆200然后可基于目标轨迹2555与对应于纵向位置2520的映射车道标记之间的横向距离来确定预计距离2540。可通过将使用(一个或多个)所捕获图像所测量的实际距离2530与来自模型的预计距离2540进行比较,来校正或调整车辆200的横向定位。

图26A是示出按照所公开实施例、映射车道标记以供自主车辆导航中使用的示范过程2600A的流程图。在步骤2610,过程2600A可包括接收与所检测车道标记关联的两个或更多位置标识符。例如,步骤2610可由服务器1230或者与服务器关联的一个或多个处理器来执行。位置标识符可包括与所检测车道标记关联的点的现实世界坐标中的位置,如以上针对图24E所述。在一些实施例中,位置标识符还可包含其他数据,例如与路段或车道标记有关的附加信息。附加数据也可在步骤2610期间接收,例如加速计数据、速度数据、路标数据、道路几何或简档数据、车辆定位数据、自我运动数据或者如上所述的各种其他形式的数据。位置标识符可由车辆(例如车辆1205、1210、1215、1220和1225)基于该车辆所捕获的图像来生成。例如,可基于从与主车辆关联的照相装置对表示主车辆的环境的至少一个图像的获取、对至少一个图像的分析以检测主车辆的环境中的车道标记以及对至少一个图像的分析以确定所检测车道标记相对于与主车辆关联的位置的位置,来确定标识符。如上所述,车道标记可包括多种不同标记类型,以及位置标识符可对应于相对于车道标记的多种点。例如,在所检测车道标记是标记车道边界的虚线的一部分的情况下,点可对应于车道标记的所检测角。在所检测车道标记是标记车道边界的连续线的一部分的情况下,点可对应于车道标记的所检测边缘,其中具有如上所述的各种间距。在一些实施例中,点可如图24C所示对应于所检测车道标记的中心线,或者可如图24D所示对应于两个相交车道标记与关联相交车道标记的至少一个两个其他点之间的顶点。

在步骤2612,过程2600A可包括将所检测车道标记与对应路段关联。例如,服务器1230可分析现实世界坐标或者在步骤2610期间所接收的其他信息,并且将坐标或其他信息与自主车辆道路导航模型中存储的位置信息进行比较。服务器1230可确定模型中与检测车道标记的现实世界路段对应的路段。

在步骤2614,过程2600A可包括基于与所检测车道标记关联的两个或更多位置标识符来更新相对于对应路段的自主车辆道路导航模型。例如,自主道路导航模型可以是稀疏地图800,以及服务器1230可更新稀疏地图,以包括或调整模型中的映射车道标记。服务器1230可基于以上针对图24E所述的各种方法或过程来更新模型。在一些实施例中,更新自主车辆道路导航模型可包括在所检测车道标记的现实世界坐标中存储位置的一个或多个指示符。自主车辆道路导航模型还可包括车辆沿对应路段要跟随的至少一个目标轨迹,如图24E所示。

在步骤2616,过程2600A可包括将已更新自主车辆道路导航模型分发给多个自主车辆。例如,服务器1230可将已更新自主车辆道路导航模型分发给车辆1205、1210、1215、1220和1225,所述车辆可将该模型用于导航。可经过如图12所示的无线通信路径1235经由一个或多个网络(例如通过蜂窝网络和/或因特网等)来分发自主车辆道路导航模型。

在一些实施例中,可使用例如通过如以上针对图24E所述的众包技术从多个车辆所接收的数据来映射车道标记。例如,过程2600A可包括从第一主车辆接收包括与所检测车道标记关联的位置标识符的第一通信,并且从第二主车辆接收包括与所检测车道标记关联的附加位置标识符的第二通信。例如,可从同一路段上行驶的后续车辆或者从沿同一路段的后续行程的同一车辆接收第二通信。过程2600A可进一步包括基于在第一通信中接收的位置标识符并且基于在第二通信中接收的附加位置标识符来细化与所检测车道标记关联的至少一个位置的确定。这可包括使用多个位置标识符的平均,和/或滤出可能不反映车道标记的现实世界位置的“虚”标识符。

图26B是示出使用映射车道标记沿路段自主导航主车辆的示范过程2600B的流程图。过程2600B可例如由自主车辆200的处理单元110执行。在步骤2620,过程2600B可包括从基于服务器的系统接收自主车辆道路导航模型。在一些实施例中,自主车辆道路导航模型可包括沿路段的主车辆的目标轨迹以及与关联路段的一个或多个车道标记关联的位置标识符。例如,车辆200可接收稀疏地图800或者使用过程2600A所开发的另一个道路导航模型。在一些实施例中,目标轨迹可被表示为三维样条,例如图9B所示。如以上针对图24A-F所述,位置标识符可包括与车道标记关联的点的现实世界坐标中的位置(例如虚线车道标记的角点、连续车道标记的边缘点、两个相交车道标记与关联相交车道标记的其他点之间的顶点、与车道标记关联的中心线等)。

在步骤2621,过程2600B可包括接收表示车辆的环境的至少一个图像。可例如通过图像获取单元120中包含的图像捕获装置122和124从车辆的图像捕获装置接收图像。图像可包括一个或多个车道标记的图像,与上述图像2500相似。

在步骤2622,过程2600B可包括确定沿目标轨迹的主车辆的纵向位置。如以上针对图25A所述,这可基于所捕获图像(例如路标等)中的其他信息或者通过所检测路标之间的车辆的航位推测。

在步骤2623,过程2600B可包括基于沿目标轨迹的主车辆的所确定纵向位置并且基于与至少一个车道标记关联的两个或更多位置标识符来确定到车道标记的预计横向距离。例如,车辆200可使用稀疏地图800来确定到车道标记的预计横向距离。如图25B所示,可在步骤2622确定沿目标轨迹2555的纵向位置2520。使用稀疏地图800,车辆200可确定到与纵向位置2520对应的映射车道标记2550的预计距离2540。

在步骤2624,过程2600B可包括分析至少一个图像,以识别至少一个车道标记。例如,车辆200可使用各种图像识别技术或算法来识别图像内的车道标记,如上所述。例如,可通过图像2500的图像分析来检测车道标记2510,如图25A所示。

在步骤2625,过程2600B可包括基于至少一个图像的分析来确定到至少一个车道标记的实际横向距离。例如,车辆如图25A所示可确定表示车辆与车道标记2510之间的实际距离的距离2530。在确定距离2530中可考虑照相装置角度、车辆的速度、车辆的宽度、照相装置相对于车辆的位置或者各种其他因素。

在步骤2626,过程2600B可包括基于到至少一个车道标记的预计横向距离与到至少一个车道标记的所确定实际横向距离之间的差来确定主车辆的自主转向动作。例如,如以上针对图25B所述,车辆200可将实际距离2530与预计距离2540进行比较。实际与预计距离之间的差可指示车辆的实际位置与将被车辆跟随的目标轨迹之间的误差(及其幅值)。相应地,车辆可基于该差来确定自主转向动作或另一自主动作。例如,如果如图25B所示实际距离2530小于预计距离2540,则车辆可确定自主转向动作,以向左引导车辆离开车道标记2510。因此,可校正相对于目标轨迹的车辆的位置。过程2600B可用来例如改进路标之间的车辆的导航。

如上所述,车辆200(例如通过处理单元110)可配置成分析环境中检测的各种标记的几何形状。车辆200可检测在公路上检测的一个或多个标记,例如方向箭头。如下面详细论述,这些方向箭头可用于生成道路导航模型和/或用于车辆的导航。例如,可分析方向箭头,以确定公路或者公路的特定车道的预计行驶方向。这个数据可被包含在道路导航模型(例如稀疏地图800)中,以改进自主车辆的导航。

车辆200可配置成检测公路上的标记。公路可包括指示与车道关联的行驶方向的各种箭头。例如,车辆200可使用照相装置(例如图像获取单元120中包含的图像捕获装置122和124)来捕获方向箭头的图像。处理单元110可配置成分析所捕获图像,以识别方向箭头。在一些实施例中,处理单元110还可分析所检测方向箭头的几何形状,以基于所检测方向箭头来确定附加信息。例如,处理单元可确定箭头相对车道或公路的位置、方向箭头的方向和/或箭头的类型。在一些实施例中,处理单元110可配置成识别箭头所表示的交通模式或其他含意,例如与箭头关联的交通车道的预计车道使用(例如在车道中行驶的车辆向右或向左前转)。

图27A示出按照所公开实施例、可被检测的示范方向箭头。车辆200可检测指示这个车道的行驶方向继续向前的直线箭头2710。例如,可在十字路口检测直线箭头2710,指示与直线箭头2710关联的车道为“仅直行”车道,并且这个车道中的交通通过十字路口进行。直线箭头2710还可在道路中间被检测,并且可指示关联车道的行驶方向。车辆200还可检测角度箭头,例如车道缩减箭头2711。这些箭头可指示给定公路的直行车道数量减少,因为公路变窄或者车道将要结束。这可向车辆指示要求导航动作,例如转向到相邻车道。

车辆200可进一步配置成检测各种转弯箭头,例如转弯箭头2712。这类箭头可指示某些车道的强制和/或可准许移动。例如,可在十字路口检测转弯箭头2712,指示关联车道“仅转弯”。这可触发车辆进行的导航动作,例如在目标轨迹与车道的可准许使用不对应时移动至相邻车道中。在一些实施例中,车辆200还可配置成检测复合箭头类型,例如左转/直线箭头2713。这类箭头可指示多个移动或车道使用类型对于给定车道是可准许的。例如,左转/直行箭头2713可在十字路口被检测,并且可指示车辆被准许左转或者通过十字路口直行。相应地,车辆200(或处理单元110)可配置成检测与给定方向箭头标记关联的多个方向。还可检测其他各种转弯箭头或复合箭头。例如,还可检测右转箭头或右转/直行箭头。在一些情况下,箭头可指示左转或右转是可准许的。在一些情况下,多于两个方向可与给定箭头关联,例如指示左转或右转或直线行驶方向是可准许的。在这类情况下,车辆200可检测与给定方向箭头标记关联的多于一个方向,或者可将这些方向视作单独方向箭头。

在一些实施例中,车辆200还可配置成检测可指示行驶方向的其他道路标记,即使那不一定是箭头的意图。例如,车辆200可检测减速带标记2714。这个标记可被预计例如标记公路中的减速带,并且警告驾驶员减速。然而,车辆200可检测和识别减速带标记2714,并且基于该标记来确定行驶方向。例如,与直线箭头2710相似,车辆200可使用减速带标记2714作为关联车道的行驶方向的指示。在一些情况下,车辆200还可将其识别为减速带标记,并且相应地触发控制动作,例如降低车辆的速度。各其他标记类似地可指示给定车道的行驶方向。

在一些实施例中,车辆200可需要区分方向箭头与不是预计显示方向的各种道路标记。例如,让行标记2715可指示即将到来的道路配置,其中当前车道必须给交通的其他车道(例如在十字路口或者在合并车道)让行。车辆200可配置成区分让行标记2715或其他非方向箭头标记与方向箭头。例如,车辆200可配置成区分让行标记2715与指示车辆行驶于车道中的错误方向的直线箭头或者车道缩减箭头2711。相应地,车辆200可配置成检测所检测道路标记的附加特征,例如缺少前导箭头或者让行标记2715的空心内部。在一些实施例中,车辆200可将其识别为让行标志,并且基于面向临近交通的让行标志的底部来得到行驶方向。

在一些实施例中,车辆200可配置成从周围环境中的其他位置来检测指示对应车道的行驶方向或可准许移动的箭头。例如,车辆200可配置成检测标志(例如交通标志2716)上的箭头。例如,交通标志2716可位于公路的侧面或者车辆上方(例如交通灯柱上等)。虽然车辆200可将交通标志2716检测为路标,但是车辆200还可检测标志上的一个或多个方向箭头,并且将方向箭头与对应车道相互关连。与公路上识别的方向箭头相似,来自标志或者周围环境中的其他位置的方向箭头可被捕获,并且上传到道路导航模型,和/或用于车辆进行的导航。

处理单元110可配置成处理所检测方向箭头,并且将它们上传到服务器,以便在道路导航模型(例如稀疏地图800)中表示。相应地,处理单元110可配置成进一步识别所检测方向箭头的特定点或特征,并且处理这些点或特征,以便从方向箭头来提取其他信息。

图27B示出按照所公开实施例的所检测方向箭头的示范图像处理。如图27B所示,车辆200可检测直线箭头2710。处理单元110可配置成识别与方向箭头关联的一个或多个点,所述点可用来确定与方向箭头关联的方向、位置和/或其他信息。例如,处理单元110可使用一个或多个图像处理算法或技术来隔离来自所捕获图像的点或特征。

在一些实施例中,处理单元110可识别方向箭头的尖点2721。尖点2721可例如用来确定箭头的航向方向。还可识别与箭头的头端关联的一个或多个点,例如箭头的头端的任一侧的外部顶点2722。处理单元110还可识别与箭头的头端关联的内部顶点2724。在一些实施例中,箭头的方向和位置可单独通过与箭头的头端关联的一个或多个点来定义。例如,处理单元110可确定外部顶点2722之间的中点,以及这个中点结合尖点2721可指示直线箭头2710的方向。还可确定其他点,来代替或补充与箭头头端关联的点。例如,可检测与箭头主体关联的一个或多个点,例如角点2723或端点2728。还可检测内部点,例如表示所检测箭头的中心点的内部点2726或者表示所检测箭头的头端的中心点的内部点2725。还可识别图27B中未识别的附加点或特征,例如箭头的边缘线或者沿边缘线的各种点。在一些实施例中,所识别点的两个或更多可足以表示箭头的位置和方向。在一些实施例中,可基于预定义规范来选择点或特征,所述预定义规范识别应当被取样以便使处理能够解析箭头的取向(例如以某个置信水平)的点。例如,可在箭头的宽边缘、在箭头的侧面、在中间或中心以及在箭头的尖部等指定一定数量的点。在一些实施例中,点的所要求数量可取决于各种其他因素。例如,点的数量可取决于所检测箭头(例如箭头的类型、箭头的大小、到箭头的距离等)、图像质量或条件(例如图像清晰度、信噪比)、所确定点的置信水平、道路的条件(道路的类型或表面、道路反射率、道路上的箭头的能见度等)或者与车辆相关的因素(例如车辆的速度等)。处理单元110还可配置成将现实世界坐标与所识别点或特征的一个或多个关联。在又一些实施例中,被训练系统(例如神经网络)可被训练,以解析箭头的取向。

图27C示出按照所公开实施例、可用来检测方向箭头的车辆周围环境的示范图像2735。图像2735可例如由车辆200经由图像获取单元120中包含的图像捕获装置122和124来捕获。图像2735可包括至少一个方向箭头2730的图像。图像2735还可包括如上所述用于导航和/或横向定位的一个或多个路标2734,例如道路标志和/或车道标记2733。还示出图7C所示的一些元素以供参考,例如所捕获图像2735中未出现但是被车辆200所检测和/或确定的点2731和2732。

车辆200可配置成基于各种图像处理算法或技术从图像2735来检测方向箭头2730。处理单元110可进一步识别各种点2731和2732,所述点可对应于针对图27B所识别的点,如上所述。处理单元110可进一步配置成确定箭头的现实世界位置和/或与箭头关联的各种点(例如尖点2731)。相应地,处理单元110可分析可在稀疏地图800中具有已知位置的图像2735的其他特征(例如路标2734)。这可涉及确定图像中的方向箭头相对于所检测路标的位置,或者基于所检测路标来确定车辆的位置并且然后确定从车辆到方向箭头的距离。当路标不可用时,方向箭头和/或点的位置可相对于可通过航位推测所确定的车辆的位置来确定。例如,车辆可使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置,如上所述。与方向箭头关联的现实世界坐标可被表示为绝对坐标(例如纬度/经度坐标),或者可相对于其他特征,例如基于沿目标轨迹的纵向位置以及离目标轨迹的横向距离。

来自图像2735和/或车辆200的附加信息还可被分析,以确定方向箭头2730的方向。例如,在没有图像的其他上下文的情况下,方向箭头2730(所述方向箭头2730可以是图像2735中所示的路面上的直线箭头)可在没有考虑所捕获图像中的其他元素的情况下看起来更像车道缩减箭头2711。相应地,处理单元110可配置成基于照相装置的位置、照相装置角度、透镜失真、照相装置视角或其他各种因素来校正或考虑所检测点。在一些实施例中,处理单元110还可分析图像的其他元素(例如车道标记2733),以确定方向箭头的位置和/或方向。例如,方向箭头的横向位置可基于从图像2735所确定的方向箭头2730与车道标记2733之间的距离来确定或校准。方向箭头的方向可类似地基于车道标记2733来确定或校准。例如,处理器可基于图像中检测的一个或多个特征或点来确定方向箭头2730是直线箭头。相应地,处理单元110可将箭头2730的方向与车道标记2733对齐,或者基于车道标记2733来校准通过所检测点所确定的方向。来自图像2735的各种其他元素也可用来确定或校正所检测方向箭头的位置和/或方向。

在一些实施例中,还可使用其他处理技术。例如,与如上所述的车道标记的检测相似,处理单元110可配置成检测图像中的一个或多个异常,并且相应地校正所检测点或特征。这类异常可因例如阻隔车道标记的照相装置视图的物体、透镜上的碎片等而出现在车辆200所捕获的图像中。在一些情况下,异常可处于方向箭头本身上,所述方向箭头可能被损坏或磨损或者例如被道路上的灰尘、碎片、水、雪或其他材料部分覆盖。这类异常可引起箭头上检测的错误点或特征。相应地,处理器可忽略错误点,或者可将点调整成与箭头上的其他所检测点一致。在其他实施例中,例如通过基于同一行程期间所上传的其他点或者基于来自沿同一路段的先前行程的数据的聚合确定点处于预计阈值之外,可在已经上传点之后校正错误。作为另一个示例,所检测箭头可具有圆角,并且因此可能没有明确定义的点。处理单元110可配置成确定圆边缘的点,以表示关联顶点(例如箭头的尖部)。在其他实施例中,处理单元110可例如通过检测箭头的头端的边缘并且外推边缘以查找边缘线相交的投影顶点,基于箭头的其他所检测特征来外推点。

按照所公开实施例,车辆200可配置成向中央服务器上传与所检测箭头关联的数据,以便被处理并且包含在道路导航地图中。例如,车辆200(或者车辆1205、1210、1215、1220或1225)可使用以上所述的各种无线通信方法将数据上传到服务器1230。不是上传所检测方向箭头的图像,方向箭头而是可作为一个或多个点、位置标识符和/或方向指示符被包含在稀疏地图800中,因此减小稀疏地图800的大小和/或必须由车辆远程上传的数据。例如,方向箭头可通过与所检测方向箭头关联的位置分量和方向分量(例如图27B中的元素2729)来表示。位置标识符可对应于图27B所示的所识别点之一,例如尖点2721或者内部点2725或2726。位置标识符可包括可基于所捕获图像来识别的所识别点的现实世界坐标,如上所述。方向箭头还可通过与所检测方向箭头的方向关联的方向指示符来表示。可使用传送方向的各种方式。在一些实施例中,方向指示符可基于与方向箭头关联的两个或更多点作为向量来建立。例如,如果箭头的尖点为已知,则单个其他点(例如端点2728)可足以建立方向指示符。相应地,可由车辆200上传一个或多个点的现实世界位置。在其他实施例中,方向指示符可被表示为角度或罗盘方向。例如,方向指示符可表示相对于车道的行驶方向的角度或者基于现实世界基本方向或道路导航地图的坐标系的航向。在一些实施例中,可上传处理单元110所检测的各种点或特征,以及可在服务器侧识别位置和方向。在其他实施例中,位置标识符和方向指示符可由车辆200确定。

在一些实施例中,方向箭头的各种其他信息或属性可以是稀疏地图800的组成部分。例如,车辆或服务器可配置成识别所检测方向箭头的类型或含意。相应地,类型代码或另一标识符可与箭头关联。在一些实施例中,类型代码可引用已知或预定箭头类型的列表。例如,处理单元110可进一步能够将所检测图像、点或特征与特定箭头类型(例如直线箭头、转弯箭头等)相互关连。处理单元110可访问预定义箭头的资料库或数据库,以通过处理图像来识别所检测方向箭头。例如,资料库可基于一个或多个地区或管辖区的道路标记模板、指南或标准。备选地,这个过程可基于车辆所传送的数据出现在服务器侧。例如,基于定义方向箭头的形状的点的数量,服务器可访问资料库,以便将所检测方向箭头与类型代码关联。对于一般或未识别方向箭头,还可存储实现方向箭头的识别的图像签名。在一些实施例中,位置标识符、方向指示符和/或任何附加信息可促进方向箭头作为用于导航的路标的使用,如以上详细描述。

在一些实施例中,可例如使用众包技术在模型内连续更新映射方向箭头。特定车辆可在行驶于同一路段的多个时机期间上传位置标识符和方向指示符,或者数据可从在不同时间行驶于该路段的多个车辆(例如1205、1210、1215、1220和1225)来选择。稀疏地图800然后可基于从车辆所接收并且存储在系统中的后续位置标识符和方向指示符来更新或细化。当映射方向箭头被更新和细化时,已更新道路导航模型和/或稀疏地图可被分发给多个自主车辆。

本公开的实施例可进一步提供基于所检测箭头及其取向对自主车辆的导航。在检测和处理路面上的方向箭头之后,车辆200可配置成确定和/或实现自主导航动作。例如,如上所述,车辆200可使用图像获取单元120中包含的图像捕获装置122和124来捕获周围环境的图像。处理单元110然后可检测所捕获图像内的方向箭头,并且确定与箭头关联的方向。在一些实施例中,处理单元110还可识别箭头的含意的类型代码或另一指示。然后,作为向服务器提供数据以用于生成与路段关联的稀疏地图的补充或替代,车辆200可配置成基于所检测箭头和方向来确定自主导航动作。

图28A示出按照所公开实施例、由车辆在直线路段上进行的示范自主导航动作的平面图。车辆2800可检测当前行驶车道内的直线箭头2801。在这个示例中,车辆2800可确定所检测箭头与车辆的当前目标轨迹一致。相应地,由车辆2800所确定和实现的自主导航动作可包括保持当前航向方向,如自主导航动作2802所示。

相反,车辆2805可检测当前行驶车道内的直线箭头2806。在这个示例中,车辆2805可确定所检测箭头与当前轨迹不一致。例如,如果所检测方向箭头与车辆的行驶方向基本上相反(例如箭头的方向与车辆的当前航向方向沿任一方向相差超过90度等),则车辆可确定自主导航动作。例如,车辆可发起制动动作2807以减慢或停止车辆,和/或实现转向动作2808以便使车辆移动至具有正确行驶方向的车道中。除了方向箭头之外,所捕获图像内的其他元素还可被分析,以通知导航动作确定。例如,车辆2805可检测相邻车道中与当前行驶方向一致的直线箭头2803,并且可实现转向动作以移动至正确车道中。车辆2804还可检测车道标记2804,并且可确定正确行驶车道处于车道标记的相对侧。

图28B示出按照所公开实施例、由车辆从转弯车道进行的示范自主导航动作的平面图。车辆2800可能正接近十字路口,并且可检测当前行驶车道(车道2816)内的右转箭头2811。车辆200可确定箭头指示当前车道为仅右转,而不准许直行交通。如果车辆的目标轨迹与转弯一致(例如车辆需要在十字路口右转),则车辆可确定保持车辆的当前航向的自主导航动作。车辆还可开始准备以后的导航动作,例如在十字路口完成右转。如果车辆的目标轨迹与方向箭头2811不一致,则车辆2800可确定和/或实现转向动作2812,以移动至与车辆的目标轨迹或预计路线一致的车道。例如,车辆2800可确定车道2815与车辆的路线一致。当车辆检测例如车道车道过渡箭头(参见例如图27A中的车道过渡箭头2711)等的其他箭头时,可执行类似导航动作。

在另一个示例中,车辆2800可能处于仅直行车道中,并且可确定它需要处于转弯车道中。图28C示出按照所公开实施例、由车辆进入转弯车道进行的示范自主导航动作的平面图。车辆2800可检测车道2815中的直线箭头2821,并且确定当前车道的车道使用与预计路线的目标轨迹不一致。相应地,车辆2800可确定和/或实现转向动作2822。

在一些实施例中,车辆可依靠车辆的当前行驶车道之外的方向箭头。在这类实施例中,处理单元110可检测所捕获图像内的方向箭头,但是基于箭头相对于车辆的位置,处理单元110可将方向箭头与相邻车道关联。自主车辆导航还可从当前行驶车道外部的这类方向箭头来确定。例如,图28D示出按照所公开实施例、基于当前车道2835之外的方向箭头的示范自主导航动作的平面图。在这个示例中,车辆2800可能不检测当前行驶车道中的任何方向箭头,而是可检测相邻行驶车道中的转弯箭头2831。基于图像和所检测箭头的分析,车辆2800可确定相邻车道2836是仅转弯车道。如果车辆的预计行驶路线为直行,则可以不采取自主导航动作,或者自主导航动作可以是保持车辆的当前航向。如果目标轨迹或预计路线包括临近十字路口的转弯,则车辆2800可确定和/或实现进入与所检测箭头关联的相邻车道的转向动作2832。车辆2800还可基于在周围环境的其他位置(例如交通标志等)中检测的箭头进行导航。

在一些实施例中,自主车辆可基于道路导航模型(例如稀疏地图800)中包含的方向箭头进行导航。例如,车辆可接收包含映射方向箭头的稀疏地图800。如上所述,这些映射箭头可基于一个或多个先前车辆穿过同一公路的数据来确定。在一些情况下,基于稀疏地图800中的方向箭头进行导航的车辆可基于公路上检测的箭头来确认映射箭头的位置和/或方向。在其他情况下,车辆可解释映射方向箭头,但是可能不检测公路上的现实世界箭头。例如,箭头可能被磨损、被另一个物体遮蔽或者覆盖有灰尘、雪或其他碎片。在这类情况下,自主车辆可依靠用于导航的映射箭头。图28E示出按照所公开实施例、由车辆基于映射方向箭头进行的示范自主导航动作。车辆2840可接收稀疏地图,该稀疏地图如所示在这个示例中可对应于图28B所示的十字路口。车辆2840(为了便于说明而覆盖于稀疏地图上)可确定它沿目标轨迹2846的纵向对齐。车辆2840然后可基于映射箭头2841来确定自主导航动作。如果车辆2840确定映射箭头2841与预计路线一致(例如十字路口的右转),则自主导航动作可包括保持相同航向方向,和/或降低车辆的速度以准备转弯。在其他情况下,车辆2840可确定映射箭头2841与车辆的预计路线不一致(例如,如果车辆的预计路线是通过十字路口直行)。相应地,车辆2840可确定和/或实现转向动作2842,这将车辆与新目标轨迹2845对齐。还可执行各种其他自主导航动作,与以上针对图28A-28D所述相似。

图29A是示出按照所公开实施例、映射方向箭头以供自主车辆导航中使用的示范过程2900A的流程图。过程2900A可由服务器(例如服务器1230)中包含的一个或多个处理装置执行。

在步骤2910,过程2900A可包括接收与道路表面上检测的方向箭头关联的至少一个位置标识符。在一些实施例中,位置标识符可基于从与主车辆关联的照相装置对表示主车辆的环境的至少一个图像的获取来确定。方向箭头可例如由车辆200通过经过图像获取单元120捕获一个或多个图像来检测。位置标识符可进一步通过对至少一个图像的分析以检测主车辆的环境中的道路表面的方向箭头来确定。例如,处理单元110然后可分析所捕获图像,以识别所捕获图像内的方向箭头。确定位置标识符可进一步包括分析至少一个图像,以确定所检测方向箭头相对于与主车辆关联的至少一个位置的位置。处理单元110例如可确定方向箭头相对于车辆的位置的位置。位置可进一步通过从所捕获图像中识别其他特征(例如具有已知位置的路标或车道标记)来识别。

位置标识符还可包括与所检测方向箭头关联的点的现实世界坐标中的位置。例如,处理单元110可确定与所检测箭头关联的一个或多个点,如以上针对图27B所述。这些点的一个或多个可与现实世界坐标关联,所述现实世界坐标可基于车辆的位置和/或通过对所捕获图像的分析来确定。在一些实施例中,点可与关联方向箭头的尖部的位置一致。例如,可如图27B所示来确定尖点2721。在一些情况下,可能不确定箭头的真实尖部,而是例如当箭头具有磨损或圆点时确定指示箭头的方向的参考点。在其他实施例中,点可与关联方向箭头的内部的位置一致。例如,点可与箭头的中心点、头端的中心点或者其他内部参考点一致。

在步骤2912,过程2900A可包括接收与所检测方向箭头关联的至少一个方向指示符。与位置标识符相似,方向指示符可由处理单元110基于车辆200所获取的图像来确定。可使用如上所述的各种方法来确定箭头的方向。例如,方向指示符可被表示为向量,并且可包括与所检测方向箭头关联的点的有序对。通过点的有序对,可例如通过确定从有序对中从第一点到第二点(例如从尾点到尖点、中心点到尖点等)的线条的方向,来确定方向。方向指示符还可包括将与所检测方向箭头关联的点指定为方向箭头的尖部。如果至少一个另一点为已知,则已知哪一个点对应于尖点可足以识别方向。在一些实施例中,方向指示符可包括与所检测方向箭头的头端关联的两个或更多点的现实世界坐标中的位置。例如,可识别箭头的头端的尖点和一个或多个其他顶点。

在步骤2914,过程2900A可包括将所检测方向箭头与对应路段关联。可基于与所检测箭头和/或车辆的位置关联的位置信息进行关联。例如,服务器1230可将关联位置标识符的一个或多个现实世界坐标与稀疏地图800中的路段的现实世界位置相互关连。

在步骤2916,过程2900A可包括基于至少一个位置标识符并且基于与所检测方向关联的至少一个方向指示符来更新相对于对应路段的自主车辆道路导航模型。相应地,更新自主车辆道路导航模型还可包括存储现实世界坐标中的位置的至少一个指示符以及所检测方向箭头的取向的至少一个指示符。在一些实施例中,自主车辆道路导航模型还可包括车辆沿对应路段要跟随的至少一个目标轨迹。在一些实施例中,目标轨迹可被表示为三维样条,例如图9B所示。因此,位置标识符和方向标识符可随道路导航模型定位。例如,在稀疏地图800中,方向箭头可被绑定到车辆的目标轨迹。

在一些实施例中,可使用例如通过如以上针对图27B所述的众包技术从多个车辆所接收的数据来映射方向箭头。例如,过程2900A可包括:从第一主车辆接收第一通信,所述第一通信包括与所检测方向箭头关联的至少一个位置标识符;以及从第二主车辆接收第二通信,所述第二通信包括与所检测方向箭头关联的至少一个附加方向指示符。例如,可从同一路段上行驶的后续车辆或者从沿同一路段的后续行程的同一车辆接收第二通信。

过程2900A可进一步包括基于在第一通信中从第一主车辆所接收的至少一个位置标识符并且基于在第二通信中从第二主车辆所接收的至少一个位置标识符来细化与所检测方向箭头关联的至少一个位置的确定。这可包括使用多个位置标识符和方向箭头的平均。服务器1230还可配置成滤出可能不反映现实世界方向箭头的“虚”标识符或指示符。例如,如果所检测方向箭头的位置标识符和方向指示符与那个位置的关联目标轨迹或者传送该数据的车辆的航向方向不一致,则可从模型中忽略该数据。相应地,如果从其中接收至少一个位置标识符和至少一个方向指示符的主车辆的行驶方向与至少部分基于与所检测方向箭头关联的至少一个方向指示符所确定的所检测方向箭头的取向不一致,则执行过程2900A的处理器可放弃对自主车辆道路导航模型的更新。例如,如果方向指示符的方向与车辆的航向方向相差超过某个阈值(例如沿任一方向大于90度),则可忽略方向箭头数据。

在步骤2918,过程2900A可包括将已更新自主车辆道路导航模型分发给多个自主车辆。例如,服务器1230可将已更新自主车辆道路导航模型分发给车辆1205、1210、1215、1220和1225,所述车辆可将该模型用于导航。可经过如图12所示的无线通信路径1235经由一个或多个网络(例如通过蜂窝网络和/或因特网等)来分发自主车辆道路导航模型。

图29B是示出按照所公开实施例、基于所检测方向箭头沿路段自主导航主车辆的示范过程2900B的流程图。过程2900B可由处理单元110中包含的一个或多个处理器执行。在步骤2920,过程2900B可包括从图像捕获装置接收表示主车辆的环境的至少一个图像。可例如通过图像获取单元120中包含的图像捕获装置122和124从车辆的图像捕获装置接收图像。所捕获图像可包括一个或多个方向箭头的图像,与上述图像2735(图27C)相似。

在步骤2922,过程2900B可包括在至少一个图像中检测路面上存在的箭头的表示。图像可由处理单元110使用各种图像处理技术来处理,以识别箭头的表示。在步骤2924,过程2900B可包括基于至少一个图像的分析来确定所检测箭头的指向方向。这可包括如以上针对图27B所述来确定所检测箭头的一个或多个点或特征。例如,处理单元110可确定箭头的尖点和至少一个另一点(例如尾点、中心点、内部点、两个或更多角点等)。基于这些点,可确定箭头的方向。当分析图像时,处理单元还可考虑其他因素,例如照相装置的位置、照相装置角度、透镜失真、照相装置视角或其他各种因素。

在步骤2926,过程2900B可包括基于所检测箭头的所确定指向方向来确定主车辆的自主导航动作。以上针对图28A-28D描述基于所检测方向箭头的各种导航动作。在一些实施例中,所检测箭头可与车辆的当前行驶方向一致,并且导航动作可包括保持车辆的当前航向方向。相反,如果所检测箭头与车辆的当前行驶方向不一致,则可确定和/或实现校正动作。例如,所确定自主导航动作可包括主车辆的制动,其中在关于所检测箭头的指向方向与主车辆的行驶方向基本上相反的确定之后实现制动。所确定自主导航动作还可包括基于如下确定对主车辆的转向:所检测箭头的指向方向与主车辆的计划行驶方向不一致。例如,车辆可确定它处于转弯车道中并且如图28B所示可移动至相邻车道中。备选地,车辆可确定它处于仅直行车道中并且如图28C和图28D所示可移动至相邻车道中。除了上述示例之外,还可实现各种其他导航动作。

在步骤2928,过程2900B可包括使主车辆的至少一个致动器系统实现所确定自主导航动作。例如,基于所确定自主导航动作,车辆200可配置成操作车辆的一个或多个组件,例如转向机构、制动机构或者各种其他组件。在一些实施例中,车辆而是可发起导航动作的计划。例如,所检测箭头可能不是立即开始转弯的信号,而是可被纳入车辆的轨迹的更长期计划。

自主车辆还可配置成基于映射方向箭头进行导航,如上所述。图29C是示出按照所公开实施例、基于映射方向箭头沿路段自主导航主车辆的示范过程2900C的流程图。过程2900C可由处理单元110中包含的一个或多个处理器执行。在步骤2930,过程2900C可包括从基于服务器的系统接收自主车辆道路导航模型。例如,车辆200可接收稀疏地图800或者使用过程2900A所开发的另一个道路导航模型。在一些实施例中,自主车辆道路导航模型可包括沿路段的主车辆的目标轨迹,该目标轨迹可被表示为三维样条,例如图9B所示。自主车辆道路导航模型还可包括与路段关联的映射方向箭头。映射方向箭头包括方向箭头的取向或者方向箭头的位置的指示的至少一个,如上所述。例如,可使用按照过程2900A从多个车辆所接收的位置标识符和方向指示符来映射方向箭头。

在步骤2932,过程2900C可包括基于方向箭头的取向或者方向箭头的位置的至少一个来确定主车辆的自主导航动作。在一些实施例中,所确定自主导航动作可包括沿增加主车辆的航向方向与方向箭头的指向方向之间的差的方向使主车辆转向。例如,映射方向箭头可指示当前车道为仅转弯,这可与车辆的预计行驶路线不一致。相应地,车辆可移动至相邻车道中,由此增加车辆的航向方向与映射方向箭头之间的差,如图28E所示。相反,所确定自主导航动作可包括沿减小主车辆的航向方向与方向箭头的指向方向之间的差的方向使主车辆转向。例如,车辆可基于映射箭头来确定当前行驶车道为仅直行,这可与预计行驶路线不一致。相应地,车辆可移动至相邻车道中,这可允许车辆在临近十字路口转弯。在一些情况下,车辆可确定映射方向箭头与车辆的当前轨迹和/或预计行驶路线一致。相应地,所确定自主导航动作可包括保持主车辆的当前航向方向。

在一些情况下,基于稀疏地图800中的方向箭头进行导航的车辆可基于公路上检测的箭头来确认映射箭头的位置和/或方向。例如,车辆可从图像捕获装置接收表示主车辆的环境的至少一个图像。在一些实施例中,车辆可配置成基于方向箭头的取向或者方向箭头的位置的至少一个来确定主车辆的自主导航动作,甚至在方向箭头的表示没有出现在表示主车辆的环境的至少一个图像中的情况下。换言之,车辆可能不检测公路上的箭头(例如箭头可能被磨损、被另一个物体遮蔽或者被覆盖),但是仍然可依靠映射箭头来确定导航动作。

此外,在一些实施例中,映射方向箭头和/或所检测方向箭头可用来确定车辆的纵向位置,与以上所述的路标相似。在这类实施例中,过程2900C可进一步包括从图像捕获装置接收表示主车辆的环境的至少一个图像,以及基于映射方向箭头的位置并且基于至少一个图像中的方向箭头的检测来确定主车辆沿目标轨迹的纵向位置。例如,可将所检测方向箭头相对于车辆的位置与车辆的预计纵向位置和稀疏地图800中的映射方向箭头之间的距离进行比较。

在步骤2933,过程2900C可包括使主车辆的至少一个致动器系统实现所确定自主导航动作。与过程2900B相似,车辆200可配置成基于所确定自主导航动作来操作车辆的一个或多个组件,例如转向机构、制动机构或者各种其他组件。在一些实施例中,车辆而是可发起导航动作的计划。例如,所检测箭头可能不是立即开始转弯的信号,而是可被纳入车辆的轨迹的更长期计划。

所公开的系统和方法可使车辆能够在驾驶的同时收集数据,并且将数据传送给服务器或云平台。称作采集的这个过程允许例如“群体智慧”算法在服务器侧被应用。例如,系统可包括成像装置,该成像装置配置成捕获与车辆周围的环境相关的图像。该系统还可包括至少一个处理器,所述处理器配置成接收所捕获图像。处理器还可配置成分析图像,并且确定与车辆相关的导航信息。

处理器可进一步配置成确定故障条件相对于导航信息是否存在。例如,处理器可配置成分析图像,并且基于图像的分析来识别不利天气(例如雨天)。另外,处理器可配置成确定故障条件因不利天气而存在。当故障条件存在时所收集的导航信息可能是不精确的,并且向服务器上传不精确导航信息可能会适得其反。相应地,如果故障条件被确定为存在,则处理器还可配置成丢弃从车辆到服务器的导航信息的传输。另一方面,如果故障条件被确定为不存在,则处理器可配置成向服务器传送导航信息。

在一些实施例中,服务器可至少部分基于从单独车辆所接收的导航信息来生成道路导航模型(和/或地图)。作为替代或补充,服务器可至少部分基于从单独车辆所接收的导航信息来更新道路导航模型。服务器还可向一个或多个车辆传送所生成(和/或已更新)道路导航模型(和/或地图)。

图30A-D和图31是与车辆周围的环境相关的所捕获图像的示范图示。图30A是由与雨天在道路上行驶的车辆关联的图像捕获装置所捕获的图像的示范图示。与车辆关联的处理单元可配置成接收图像。处理单元还可配置成分析图像,并且确定与车辆相关的导航信息。例如,处理单元可基于图像来识别车辆正行驶的路段和/或路段的道路特征。作为替代或补充,处理单元可识别车辆周围的对象(或者所述车辆周围的其他车辆)。处理单元可进一步基于图像分析和/或由与车辆关联的一个或多个传感器所获取的信息来识别不利天气。例如,处理单元可基于图30A的分析通过检测例如道路上的一个或多个对象的低光条件和/或反射来确定捕获图像时正在下雨。可不利地影响图像质量的其他状况可包括例如暴露于直射阳光或者覆盖成像装置的一部分(例如透镜、图像传感器等)或者成像装置捕获图像的壳体的窗口的灰尘(和/或污点、斑点、污迹或者任何其他障碍物)等或者它们的组合。如果确定正在下雨(即,一种类型的故障条件),则处理单元还可配置成放弃从车辆到服务器的导航信息的传输。

图30B和图30C示出车辆可遭遇的其他示范类型的故障条件。图30B示出在晴天所捕获的图像,该图像表示在道路上行驶的车辆周围的环境,其中太阳眩光出现在图像的区域3002中。区域3002可因太阳眩光而显得过亮或曝光过度(和/或具有强光的漂白效果),这可影响图像中检测的导航信息的质量。与车辆关联的处理单元可基于太阳眩光的指示符来检测故障条件,并且放弃从车辆到服务器的导航信息的传输。图30C示出表示车辆的环境的另一个示范图像。该图像可包括区域3030,所述区域3030可显得曝光不足(例如因为阳光被车辆左侧的高楼阻挡),而区域3032可显得正常或者略微曝光过度。在区域3031中检测的导航信息(例如车道结构、车道标记等)因该区域中的曝光不足而可能是不精确或者不完整的。与车辆关联的处理单元可确定故障条件存在,并且放弃从车辆到服务器的导航信息的传输。作为又一个示例,图30D示出示范图像,其中基于图像的分析没有检测到故障条件。与车辆关联的处理单元可向服务器传送由车辆在图像被捕获的时间前后所检测的导航信息。

图31示出成像捕获装置所捕获的示范图像3100,该图像3100表示车辆的环境。与车辆关联的处理单元可接收和分析图像3100。处理单元可进一步基于图像3100来确定导航信息。例如,处理单元可基于图像的分析来检测路段3111和3112及其车道标记。处理器还可检测其他类型的导航信息,例如交通灯3121和3122、道路标志3131和3132、大楼3141、3142和3143、车辆3151、树木3161和3162、检修孔盖3171、路灯3181和3182。如果故障条件被确定为存在,则处理单元还可配置成向服务器传送所检测导航信息(或者它的一部分),如本公开其他部分所述。备选地,如果处理单元检测故障条件,则处理单元可配置成放弃导航信息的传输。

图32是示出向服务器传送导航信息的示范过程3200的流程图。在步骤3201,处理单元110可经由处理单元110与图像获取单元120之间的数据接口128来接收多个图像。例如,图像获取单元120(例如图像捕获装置122、124或126)中包含的照相装置可捕获车辆200前方(或者例如车辆的侧面或后部)的区域的多个图像,并且通过数据连接(例如数字、有线、USB、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,从图像获取单元120所接收的一个或多个图像可表示车辆的环境。如所述,图30A-30D示出由一个或多个图像捕获装置所获取的表示一个或多个车辆的环境的示范图像。

在步骤3202,处理单元110可确定与车辆相关的导航信息。在一些实施例中,处理单元110可分析一个或多个图像,以确定导航信息。例如,通过执行分析,处理单元110可检测图像内的特征集合,例如车道标记、车辆、行人、道路标志、高速公路出口匝道、交通灯等或者它们的组合。如所述,图31示出成像捕获装置所捕获的示范图像3100,该图像3100表示车辆的环境。处理单元110可分析图像3100。处理单元110可基于图像的分析来检测路段3111和3112及其车道标记。处理单元110还可检测其他类型的导航信息,例如交通灯3121和3122、道路标志3131和3132、大楼3141、3142和3143、车辆3151、树木3161和3162、检修孔盖3171、路灯3181和3182。

备选地,处理单元110可分析由与车辆关联的一个或多个传感器所获取的信息,以确定导航信息。在其他实施例中,处理单元110可分析由关联的一个或多个传感器所获取的一个或多个图像和信息,以确定导航信息。例如,处理单元110可分析一个或多个传感器(例如GPS装置、速度传感器、加速计、悬架传感器等或者它们的组合)所提供的图像和信息,并且确定车辆通过路段所行驶的路径的表示(即,导航信息的类型)。作为替代或补充,处理单元110可基于对(一个或多个)传感器所提供的图像和信息的分析来确定其他类型的导航信息,例如车辆在穿过路段期间的速度、沿车辆所穿过的路段的车辆的停车位置、在穿过路段期间与车辆相关的位置信息等。在一些实施例中,与穿过路段期间的车辆相关的位置信息可至少部分基于与车辆关联的GPS单元所获取的数据来确定。

在一些实施例中,由处理单元110所确定的示范导航信息可包括与道路特征、车辆、行人、路标等或者它们的组合相关的信息。

示范道路特征可包括车道结构、车道标记、在穿过路段期间的车辆与所检测车道标记之间的横向间距、路段的类型(例如高速公路出口匝道)、道路签名简档(例如道路几何形状、道路粗糙度简档、道路曲率简档、道路宽度简档)等或者它们的组合。

示范车道结构可包括路段的车道的数量、车道的类型(例如单向车道、双向车道、行车道、超车道等)、车道的宽度等。在一些实施例中,导航信息还可包括车道指配(例如车辆在多个车道的哪一个车道中行驶)。

示范路标可包括检修孔盖、树木、高架分支、私人车道、标志柱、灯柱、灌木丛、排水沟、高架电缆、路灯、电信组件等或者它们的组合。在一些实施例中,处理单元110还可确定与所识别路标(或对象)的每个关联的位置。路标可以是语义或者非语义的。语义路标可包括对其存在标准化含意的任何类的对象(例如限速标志、警告标志、方向标志等)。非语义路标可包括不是与标准化含意关联的任何对象(例如一般广告标志、识别商业机构的标志等)。在一些实施例中,语义路标可基于对象的位置和类型来识别。

在一些实施例中,处理单元110还可确定所检测路标的至少一个的类型以及所检测路标的至少一个的路标类型指定符。例如,处理单元110可将所检测交通标志的路标类型指定符确定为停车标志。作为替代或补充,处理单元110可确定与所检测路标的至少一个关联的至少一个特征的描述符。例如,处理单元110可将靠近十字路口的大楼的描述符确定为“白色三角形大楼”。

在一些实施例中,处理单元110可基于由与车辆关联的一个或多个传感器所获取的图像和/或信息的分析来识别一个或多个潜在路标。例如,处理单元110可确定图像中检测的对象可能是停车标志(例如通过确定对象作为停车标志的置信水平大于第一阈值但小于第二阈值)。处理单元110可将所检测对象指定为潜在路标。潜在路标可以是语义或者非语义的。在一些实施例中,处理单元110还可确定与所检测潜在路标关联的位置。在一些实施例中,处理单元110可进一步确定所检测潜在路标的至少一个的路标类型指定符。例如,处理单元110可将所检测潜在交通标志的路标类型指定符确定为停车标志。作为替代或补充,处理单元110可确定与所检测潜在路标的至少一个关联的至少一个特征的描述符。例如,处理单元110可将靠近十字路口的大楼的描述符确定为“白色三角形大楼”。

在步骤3203,处理单元110可确定故障条件相对于所确定导航信息是否存在。故障条件可表示所确定的导航信息的质量是有问题或者不精确的条件。示范故障条件可包括与不利天气(例如雨、雪、雾等)相关的条件、与照明条件(例如图像捕获装置的某个视场中的低光或太阳眩光)相关的条件、与车辆中提供的一个或多个传感器(例如一个或多个传感器可能不在工作或者失灵)相关的条件、与关联导航信息的数据(例如与导航信息关联的某个数据或参数缺失)相关的条件等或者它们的组合。

在一些实施例中,处理单元110可基于一个或多个图像的分析、一个或多个传感器的输出、所确定导航信息等或者它们的组合来确定故障条件的存在。例如,处理单元110可基于从图像获取单元120所接收的一个或多个图像的分析来确定故障条件是否存在。作为举例,图30A示出与车辆关联的照相装置所捕获的示范图像,该图像可表示车辆的环境。处理单元110可分析图像,并且基于不利天气的至少一个指示符(例如挡风玻璃或路面上检测的降水、潮湿道路上的对象的反射、雨滴等)来检测不利天气(例如正在下雨)。如所述并且作为另一个示例,图30B示出示范图像,该图像表示车辆的环境,其中太阳眩光出现在图像的区域3002中。区域3002可因太阳眩光而显得过亮或曝光过度(或者具有强光的漂白效果),这可影响图像中检测的导航信息的质量。处理单元110可基于太阳眩光的指示符来检测故障条件。图30C示出表示车辆的环境的另一个示范图像。该图像可包括:区域3031,所述区域3030可显得曝光不足(例如因为阳光被车辆左侧的高楼阻挡);以及区域3032,所述区域3032可显得正常或者略微曝光过度。在区域3031中检测的导航信息(例如车道结构、车道标记等)因该区域中的曝光不足而可能是不精确或者不完整的。处理单元110可确定故障条件存在。作为又一个示例,图30D示出示范图像,其中基于图像的分析没有检测到故障条件。

作为替代或补充,处理单元110可分析由与车辆关联的一个或多个传感器所获取的信息,并且确定不利天气。将被用来检测故障条件的示范传感器可包括GPS单元、RADAR单元、LIDAR单元、速度传感器等或者它们的组合。例如,处理单元110可基于由与车辆关联的GPS装置所提供的信息来确定车辆的位置,并且基于所确定位置和区域中的天气信息(例如来自天气服务提供商)来确定正在下雨。作为另一个示例,处理单元110可基于指示至少一个传感器已经遭遇失灵的一个或多个传感器输出的分析来确定故障条件。作为又一个示例,处理单元110可基于图像分析以及一个或多个传感器所获取的信息来确定不利天气。作为举例,处理单元110可基于图像分析以及由与车辆关联的雨水传感器所提供的信息来确定正在下雨。

作为替代或补充,处理单元110可分析导航信息,并且基于该分析来检测故障条件。例如,处理单元110可检测指示缺少与导航信息关联的至少一个参数的有效值的故障条件(例如若存在数据缺失)。作为举例,处理单元110可检测一个或多个图像中的限速标志(例如一种类型的导航信息)。处理单元110可确定限速的值缺失(例如因图像中显示的数字的模糊性)。处理单元110可将缺失信息检测为故障条件。

在一些实施例中,处理单元110可基于一个或多个图像、由与车辆关联的(一个或多个)传感器所获取的信息和/或所确定导航信息来确定当前天气的状态。处理单元110还可基于当前天气的状态来确定故障条件。当前天气的示范状态可包括晴朗、晴天、雪、雨、雾、低阳光等或者它们的组合。在一些实施例中,处理单元110可使用多类分类器神经网络来确定当前天气的状态。例如,处理单元110可使用每隔多帧(例如100帧)运行的分类器来确定当前天气的状态。分类器可接收作为输入的帧,并且生成当前天气的预测。例如,对于100帧的集合,分类器可生成当前天气的预测:晴朗:0.998;雪:0.001;雨:0;雾:0.001;lowSun:0.001。处理单元110可基于分类器所提供的预测将当前天气的状态确定为“晴朗”。处理单元110可进一步确定没有故障传导(与天气相关)存在。作为另一个示例,对于100帧的另一个集合,分类器可生成当前天气的预测:晴朗:0;雪:0.813;雨:0.55;雾:0.127;lowSun:0.005。处理单元110还可基于预测将当前天气的状态确定为“雪”。处理单元110可进一步检测故障条件(即,雪)。

如果处理单元110确定故障条件不存在,则在步骤3204,处理单元110可使通信单元(例如无线收发器172)将导航信息从车辆传送给服务器(例如服务器1230)。在一些实施例中,处理单元110可向服务器连续传送所检测的导航信息。作为替代或补充,处理单元110可周期地传送所检测的导航信息。作为替代或补充,处理单元110可根据与服务器的通信的状态来传送所检测的导航信息。例如,与车辆关联的通信单元可能在某个区域中具有不良接收,并且数据的传输可因接收问题而是缓慢的。处理单元110可在通信单元具有与服务器的良好连接时使通信单元向服务器传送所检测的导航信息。

如果检测到故障条件,则在步骤3205,处理单元110可使通信单元放弃从车辆到服务器的导航信息的传输。例如,处理单元110可使通信单元不传送与所检测的(一个或多个)故障条件相关的导航信息。在一些实施例中,处理单元110可使通信单元在没有检测到故障条件之后恢复导航信息的传输。

在一些实施例中,服务器可至少部分基于从车辆所接收的导航信息来生成道路导航模型。作为替代或补充,服务器可至少部分基于从车辆所接收的导航信息来更新现有道路导航模型。服务器还可将所生成(和/或已更新)道路导航模型传送给一个或多个车辆(所述车辆可包括传送导航信息的车辆)。例如,处理单元110可从服务器接收道路导航模型。道路导航模型可包括基于由车辆(经由例如与车辆关联的通信单元)传送给服务器的导航信息的至少一个更新。在一些实施例中,由服务器使用从车辆所接收的导航信息所生成和/或更新的道路导航模型可用于自主车辆进行导航。例如,车辆(例如自主车辆或者能够自主驾驶的车辆)可从服务器接收道路导航模型,并且基于自主车辆道路导航模型来引起车辆进行的至少一个导航操纵。在一些实施例中,自主车辆道路导航模型可包括车辆的目标轨迹,该目标轨迹可在自主车辆道路导航模型中表示为三维样条。

作为替代或补充,服务器可至少部分基于从车辆所接收的导航信息来生成地图(例如稀疏地图)。作为替代或补充,服务器可至少部分基于从车辆所接收的导航信息来更新地图(例如稀疏地图)。服务器还可将所生成(或者已更新)地图传送给一个或多个车辆(所述车辆可包括传送导航信息的车辆)。

在一些实施例中,车辆可使用一个或多个车辆(例如车辆1205、1210、1215、1220或1225)所传送的导航信息按照所生成(或者已更新)稀疏地图和/或所生成道路导航模型沿路段进行导航。

所公开的系统和方法可使车辆能够检测关联与路段相邻的自由空间的横向区域的一个或多个位置标识符。车辆可向服务器传送与所检测位置标识符相关的数据,并且服务器又可基于与位置标识符相关的所接收数据来更新路段的自主车辆道路导航模型。例如,服务器可基于位置标识符将与路段相邻的自由空间的横向区域映射到现有地图(例如稀疏地图)。服务器还可更新自主车辆道路导航模型,以包括自由空间的横向区域的映射表示。在一些实施例中,服务器可向一个或多个自主车辆传送已更新自主车辆道路导航模型。

在其他实施例中,所公开的系统和方法可使自主驾驶系统能够沿路段导航主车辆。自主驾驶系统可从服务器接收与路段关联的自主车辆道路导航模型。自主车辆道路导航模型可包括与路段关联的稀疏地图,该稀疏地图包括与路段相邻的自由空间的横向区域的映射表示。自主驾驶系统还可从图像捕获装置接收表示主车辆的环境的至少一个图像。自主驾驶系统可进一步基于与路段相邻的自由空间的至少一个横向区域的映射表示来确定主车辆的至少一个导航动作,甚至在自由空间的至少一个横向区域的表示没有出现在表示主车辆的环境的至少一个图像中的情况下。自主驾驶系统还可使与主车辆关联的一个或多个致动器系统实现主车辆的所确定的至少一个导航动作。

图33是按照所公开实施例、用于映射路段自由空间和/或用于沿路段自主导航主车辆的系统的示意图。如图33所示,车辆3301和3302可沿路段3311行驶。车辆3301可检测与路段3311相邻的自由空间的横向区域。例如,与车辆3301关联的图像捕获装置(例如图像捕获装置122、图像捕获装置124和图像捕获装置126)可捕获车辆3301周围的环境的一个或多个图像。与车辆3301关联的处理单元可分析图像,并且确定关联与路段3311相邻的自由空间的横向区域的一个或多个位置标识符。例如,处理单元可将沿路段3311的路缘确定为位置标识符。处理单元还可基于位置标识符来检测与路段3311相邻的自由空间的横向区域。作为举例,处理单元可基于沿路段3311所检测的路缘来确定人行道3331(即,自由空间区域)。处理单元可进一步配置成使与车辆3301关联的通信装置传送与位置标识符和/或所检测自由空间区域相关的信息。

作为替代或补充,与车辆3301关联的通信装置可经由网络向服务器传送图像捕获装置所捕获的(一个或多个)图像,并且服务器可基于(一个或多个)图像来确定一个或多个位置标识符。服务器还可基于(一个或多个)位置标识符来确定与路段3311相邻的自由空间的一个或多个横向区域。服务器还可配置成将自由空间区域映射到地图(例如稀疏地图),并且更新路段的自主车辆道路导航模型,以包括自由空间区域的映射表示。在一些实施例中,服务器可向多个自主车辆传送已更新自主车辆道路导航模型。例如,服务器可向车辆3302(和/或车辆3301)传送已更新自主车辆道路导航模型。与车辆3302关联的自主系统可配置成基于已更新自主车辆道路导航模型来导航车辆3302。

图34是示出映射路段自由空间的示范过程3400的流程图。在步骤3402,与服务器(例如服务器1230)关联的至少一个处理器可从一个或多个车辆(例如第一车辆)接收关联与路段相邻的自由空间的横向区域的一个或多个位置标识符。与路段相邻的自由空间的示范横向区域可包括与路段相交的私人车道、停车场或人行道等或者它们的组合。示范位置标识符可包括与自由空间的区域的边界关联的一个或多个点或线、路标、与路标关联的一个或多个点或线等或者它们的组合。例如,参照图33,与车辆3301关联的图像捕获装置可捕获表示车辆3301周围的环境的一个或多个图像。与车辆3301关联的处理器单元可确定关联与路段3311相邻的自由空间区域的一个或多个位置标识符。作为举例,处理器单元可基于所捕获图像的分析来确定私人车道3351的一侧(即,位置标识符)。作为另一个示例,处理单元110可确定沿路段3311的路缘以及与该路缘相邻的人行道3331的边界的一个或多个点或线。作为又一个示例,处理单元可基于图像来确定房屋3361(即路标)的存在,所述房屋3361与人行道3332和私人车道3352相邻。

在一些实施例中,处理单元还可基于所确定位置标识符来确定一个或多个自由空间区域。例如,处理单元可基于位置标识符来确定私人车道3351(例如其位置、边界和/或形状)。作为替代或补充,处理单元可向服务器传送(一个或多个)位置标识符,并且服务器可基于所接收的(一个或多个)位置标识符来确定一个或多个自由空间区域。

在一些实施例中,与车辆关联的处理单元和/或服务器的处理器可确定关联与路段相邻的自由空间区域的一个或多个附加特性。自由空间区域的示范附加特性可包括类型指示符(指示自由空间区域的类型)、形状、颜色等或者它们的组合。示范类型指示符可包括私人车道、停车场、人行道等或者它们的组合。例如,与车辆关联的处理单元可确定自由空间的横向区域的类型(例如自由空间区域是私人车道、停车场还是人行道),并且相应地确定类型指示符。处理单元110还可配置成向服务器传送(一个或多个)附加特性(例如类型指示符)。作为替代或补充,服务器的处理器可基于位置标识符来确定关联与路段相邻的自由空间区域的一个或多个附加特性。

在一些实施例中,服务器的处理器可配置成从一个或多个其他车辆接收一个或多个位置标识符。例如,参照图33,与车辆3302关联的图像捕获装置可捕获表示车辆3302周围的环境的一个或多个图像。与车辆3302关联的处理器单元可确定关联与路段3311相邻的自由空间区域的一个或多个位置标识符。作为举例,与车辆3302关联的处理器单元可基于所捕获图像的分析来确定私人车道3352的一侧(即,位置标识符)。作为另一个示例,与车辆3302关联的处理单元可确定沿路段3311的路缘以及与该路缘相邻的人行道3332的边界的一个或多个点或线。与车辆3302关联的处理单元还可配置成向服务器传送(一个或多个)所确定位置标识符。在一些实施例中,服务器可合并(和/或聚合)从单独车辆所接收的位置标识符。例如,服务器可从车辆3301接收与私人车道3351的一条线相关的信息(即,与私人车道3351关联的第一位置标识符),并且从车辆3302接收与私人车道3351的另一条线相关的信息(即,与私人车道3351关联的第二位置标识符)。服务器可合并从车辆所接收的与私人车道3351关联的位置标识符。例如,服务器可将从车辆3301和3302所接收的私人车道3351的两条线关联到私人车道3351。在一些实施例中,服务器还可基于从车辆3301和车辆3302所接收的聚合位置标识符来确定私人车道3351的细化映射表示,如本公开的其他部分所述。在一些实施例中,服务器可去除从一个或多个车辆所接收的重复位置标识符。

在步骤3404,服务器的处理器可基于所接收的一个或多个位置标识符来更新路段的自主车辆道路导航模型,以包括自由空间的横向区域的映射表示。自由空间的横向区域的映射表示可包括与自由空间的横向区域的一个或多个所检测边界关联的位置信息。

在一些实施例中,自由空间的横向区域的映射表示可包括与自由空间区域关联的一个或多个附加特性。例如,自由空间的横向区域的映射表示可包括指示自由空间区域的类型(例如自由空间区域是私人车道、停车场还是人行道)的类型指示符。

在一些实施例中,已更新自主车辆道路导航模型可包括车辆进行导航(例如沿路段跟随或者通过自由空间区域驾驶)的至少一个目标轨迹。目标轨迹可在自主车辆道路导航模型中表示为三维样条。

在一些实施例中,服务器的处理器可基于从第一车辆所接收的一个或多个位置标识符以及从第二车辆所接收的一个或多个位置标识符来更新路段的自主车辆道路导航模型,以包括自由空间的横向区域的细化映射表示。例如,服务器的处理器可从车辆3301接收与私人车道3351的一条线相关的信息(即,与私人车道3351关联的第一位置标识符),并且从车辆3302接收与私人车道3351的另一条线相关的信息(即,与私人车道3351关联的第二位置标识符)。服务器的处理器可合并从车辆所接收的与私人车道3351关联的位置标识符。例如,服务器的处理器可将从车辆3301和3302所接收的私人车道3351的两条线关联到私人车道3351。在一些实施例中,服务器的处理器还可基于从车辆3301和车辆3302所接收的聚合位置标识符来确定私人车道3351的细化映射表示(与对仅从车辆3301和车辆3302其中之一所接收的位置标识符所确定的私人车道3351的映射表示相比)。

在步骤3406,服务器的处理器可将已更新自主车辆道路导航模型分发给多个自主车辆。例如,服务器的处理器可向车辆3301和车辆3302(以及其他车辆)传送已更新自主车辆道路导航模型。在一些实施例中,自主车辆可按照已更新自主车辆道路导航模型进行导航。

图35是示出沿路段自主导航主车辆的示范过程3500的流程图。在步骤3502,与主车辆关联的系统的至少一个处理器可从服务器(例如服务器1230)接收自主车辆道路导航模型。自主车辆道路导航模型可包括与路段关联的稀疏地图。在一些实施例中,自主车辆道路导航模型可包括与路段相邻的自由空间的至少一个横向区域的映射表示。如上所述,自由空间的示范横向区域可包括私人车道、停车场或人行道等的一个或多个或者它们的组合。例如,参照图33,车辆3302可以是自主车辆,并且可从服务器接收自主车辆道路导航模型。自主车辆道路导航模型可包括与路段相邻的停车场3341的映射表示。在一些实施例中,自主车辆道路导航模型还可包括表示沿路段的主车辆的有效行驶路径的一个或多个目标轨迹(和/或一个或多个自由空间区域)。在一些实施例中,表示沿路段的主车辆的有效行驶路径的一个或多个目标轨迹的至少一个可被表示为三维样条。

在一些实施例中,自主车辆道路导航模型可包括通过上述过程3400所生成的与路段相邻的自由空间的至少一个横向区域的一个或多个映射表示。例如,服务器可基于从一个或多个车辆所接收的一个或多个位置标识符来更新自主车辆道路导航模型,以包括自由空间的横向区域的映射表示。自主车辆可从服务器接收已更新自主车辆道路导航模型。

在步骤3504,处理器可从与主车辆关联的图像捕获装置(例如图像捕获装置122、图像捕获装置124和图像捕获装置126)接收表示主车辆的环境的至少一个图像。

在步骤3506,处理器可基于与路段相邻的自由空间的至少一个横向区域的映射表示来确定主车辆的至少一个导航动作,甚至在自由空间的至少一个横向区域的表示没有出现在表示主车辆的环境的至少一个图像中的情况下。因此,自主系统可基于映射横向空间来导航主车辆,甚至在从视图中遮挡横向空间(例如因通过另一个车辆、大楼、故障条件(如本公开的其他部分所述)等的被阻挡视图)的情况下。例如,参照图33,甚至当从视图中遮挡私人车道3351(例如私人车道3351被雪覆盖)时,与车辆3302关联的自主系统可基于映射横向空间(例如私人车道3351)来确定至少一个导航动作(例如导航进入私人车道3351)。

在一些实施例中,导航动作可包括转向动作,该转向动作引起主车辆横向移动离开与路段相邻的自由空间的至少一个横向区域的映射表示。例如,自由空间的横向区域可包括私人车道。另一个车辆可能从私人车道出来。为了避免潜在碰撞,与主车辆关联的自主车辆可确定转向动作,该转向动作引起主车辆横向移动离开私人车道。

在步骤3508,处理器可使与主车辆关联的一个或多个致动器系统实现主车辆的所确定的至少一个导航动作。示范导航动作可包括制动动作、滑行动作或转向动作等或者它们的组合。例如,参照图33,与车辆3302关联的自主系统可通过采取制动动作以减速并且向左转向进入私人车道3351,使与车辆3302关联的一个或多个致动器系统导航进入私人车道3351。

在一些实施例中,处理器可配置成基于一个或多个其他因素来引起导航动作的实现。例如,处理器可配置成基于如下确定来引起导航动作的实现:与路段相邻的自由空间的横向区域具有足以允许行人(和/或另一个车辆)进入路段的大小。作为举例,与车辆3302关联的自主系统可使与车辆3302关联的一个或多个致动器系统导航进入私人车道3351,并且保持为更靠近私人车道3351的一侧,使得当车辆3302进入私人车道3351时,私人车道3351具有足以允许行人行走(和/或允许另一个车辆驾驶到路段3311)的大小。

本公开描述一种用于自主车辆的导航系统,该导航系统可配置成识别沿自主车辆所行驶的公路的交通灯。该导航系统可配置成从自主车辆接收与沿公路的各种交通灯的位置有关的信息,在导航系统和自主车辆可用的稀疏地图上映射交通地图的位置,并且从自主车辆接收与交通灯相关的各种信息以及与自主车辆导航相关的信息。例如,当自主车辆接近具有绿灯的交通灯并且沿公路继续行驶时,该系统可配置成接收与交通灯的状态(例如交通灯具有绿灯)有关的信息以及自主车辆继续沿公路行驶的信息。使用所接收信息,该系统可确定交通灯与自主车辆所行驶的车道的相关性。

在各个实施例中,导航系统包括用于映射交通灯并且用于确定交通灯相关性以供自主车辆导航中使用的功能性。此外,导航系统可用来提供自主车辆导航。导航系统可以是服务器1230的组成部分,和/或可以是与自主车辆关联的车辆控制系统的组成部分。在一些实施例中,导航系统可包括:第一导航系统,可与自主车辆关联(又称作车辆导航系统);以及第二导航系统,可与服务器1230关联(又称作服务器导航系统)。导航系统可包括非暂时存储装置或计算机可读介质。在一些实施例中,存储装置可包括硬盘驱动器、致密光盘、闪速存储器、基于磁的存储器装置、基于光的存储器装置等。导航系统可包括配置成执行指令的一个或多个处理器,所述指令可被存储在与导航系统关联的一个或多个非暂时存储装置上。在一些实施例中,导航系统可包括独立映射系统和独立导航系统。

导航动作可由与车辆导航相关的车辆执行。例如,导航动作是与车辆运动相关的动作,例如车辆的转向、制动或加速。在各个实施例中,导航动作可包括诸如转向速率、制动速率或加速速率之类的参数。在各个实施例中,导航动作可包括可能与车辆的运动不是直接相关的动作。例如,这类导航动作可包括接通/关断前灯、接合/分离防抱死制动器、切换变速齿轮、调整车辆悬架的参数、接通/关断车辆警示灯、接通/关断车辆转向灯或制动灯、产生听觉信号等。在各个实施例中,导航动作基于服务器1230可用的导航数据。

服务器1230可用的导航数据可包括可用于服务器1230的任何适当数据,所述数据可用来促进与服务器1230进行通信的各种车辆的导航。导航数据的示例可包括与服务器1230进行通信的各种自主和人工操作车辆的位置、各种车辆的速度、各种车辆的加速度、各种车辆的目的地等。

应当注意,导航动作涉及改变车辆的导航信息的任何适当动作。在示例实施例中,车辆速度的变化可组成导航动作,因为它改变车辆的导航信息。导航信息可描述车辆的动态或运动特性,并且可包括车辆的位置、车辆与交通灯之间的距离、车辆的速度、车辆的速率、车辆的加速度、车辆的取向、车辆的角速度和车辆的角加速度以及作用于车辆的力。导航信息可由车辆控制系统来记录。例如,车辆的位置可被连续记录,以提供由车辆沿路段所行驶的路径的指示符。例如,路径的指示符可以是车辆的轨迹。在一些情况下,车辆的轨迹可指示沿路段的车辆的停车位置。

导航信息还可包括与车辆特性相关的参数,例如车辆的质量、车辆的惯性矩、车辆的长度、车辆的宽度、车辆的高度、与公路的车辆牵引力等。

在各个实施例中,导航系统可从自主车辆接收与沿路段所检测的交通灯关联的至少一个位置标识符。术语“位置标识符”可以是与交通灯关联的任何适当标识符(例如数字标识符、字母数字标识符、例如交通灯的坐标等的数字集合等),所述标识符允许至少由服务器1230对交通灯的位置的唯一标识。例如,服务器1230可使用位置标识符来识别地图上的交通灯的位置。作为补充或替代,交通灯位置标识符可允许由交通灯附近的至少一个车辆对交通灯的唯一标识。例如,车辆可使用车辆可访问的稀疏地图上的交通灯标识符来识别交通灯。

导航系统还可从自主车辆接收与沿路段所检测的交通灯关联的状态标识符。交通灯的状态标识符可用来识别能够在公路上使用的交通灯的状态。例如,交通灯的状态能够通过交通灯的颜色(例如红、黄、绿或白色)、通过交通灯所显示的图像(例如绿色箭头、橙色手掌、人的图像等)或者通过交通灯所显示的文字(例如车辆的速度、减速的指示、道路工程的指示等)来表示。

在各个实施例中,当自主车辆在一天中的不同时间通过交通灯时,导航系统可从多个自主车辆接收交通灯的各种状态。在示例实施例中,与交通灯的状态有关的信息可从处于离交通灯的若干不同位置的自主车辆来收集。例如,与交通灯的状态有关的信息可首先从处于离交通灯第一距离的车辆来接收。第一距离可以是例如由与自主车辆关联的车辆控制系统首次观察交通灯的距离。当自主车辆位于相对于交通灯的一组位置(包括车辆进入与交通灯相关的公路的交叉口或者通过公路的交叉口时的位置)时,则可对所述自主车辆收集与交通灯的状态有关的信息。在各个实施例中,自主车辆可收集自主车辆在移向、通过或离开交叉口时可观察的交叉口的所有交通灯的状态信息。在各个实施例中,导航系统可通过确定所有所收集状态相关的数据之间的相关性(例如通过确定具有绿灯状态的一个交通灯与具有红灯状态的另一个交通灯之间的相关性),来确定自主车辆可观察的交叉口的所有交通灯的状态之间的关系。

在一些实施例中,交通灯可包括可能不是人类车辆操作员(例如人类驾驶员)可观察但由自主车辆可观察的参数。例如,交通灯可使用无线通信与自主车辆进行通信。无线通信可包括一个或多个装置,所述装置配置成使用射频、红外频率或紫外频率的电场通过空中接口与一个或多个网络(例如蜂窝、因特网等)交换传输。作为补充或替代,无线通信可使用磁场、电场或声音。这类传输能够包括交通灯与交通灯附近的自主车辆之间的通信,和/或在一些情况下,这种通信可包括交通灯与服务器1230之间以及服务器1230与自主车辆之间的通信。应当注意,可使用交通灯与车辆之间的其他各种形式的通信,包括音频通信(例如,使用例如超声波等的声波的通信、基于激光的通信等)。在一些情况下,通信可包括时间相关可视通信(例如由LED源所产生的时间相关信号)。

在各个实施例中,交通灯可包括交通灯通信系统,用于对自主车辆生成信号。例如,交通灯通信系统可包括信号生成模块,用于生成“停”信号、“走”信号、“减速”信号、“加速”信号等。例如,“停”信号可指示自主车辆需要突然停止。这种信号例如可对应于红灯。“走”信号可指示车辆需要开始或继续移动。这种信号可对应于例如绿灯。“减速”信号可指示自主车辆需要减速。在一些实施例中,“减速”信号可包括被结合在与可包括车辆的所要求速度或者车辆的减速度的信号相关的信息中的附加参数。在示例实施例中,“减速”信号可对应于黄灯。“加速”信号可指示自主车辆需要增加速度。应当注意,以上所述的各种信号只是说明性的,并且也可结合各种其他信号。例如,所生成信号可指示车辆需要右转、左转、变更车道或者掉头。

在各个实施例中,除了生成信号之外,交通灯通信系统还可从各种车辆接收导航信息,并且基于所接收信息来生成信号。例如,交通灯通信系统可接收车辆的速度以及车辆与交通灯的距离,并且可基于车辆的速度以及与交通灯的距离来生成对车辆的减速请求。

在各个实施例中,通信可包括认证自/至交通灯的通信以及提供交通灯与自主车辆之间的安全通信的各种方式。作为补充或替代,安全通信可在自主车辆与服务器1230之间建立。在示例实施例中,安全通信可通过使用私有和公有密钥来建立。例如,自主车辆和服务器1230可交换用于对安全信息进行加密的公有密钥,并且将私有密钥用于信息解密。类似地,自主车辆可与交通灯通信系统交换公有密钥。在一些实施例中,交通灯通信系统可通过服务器1230认证。例如,交通灯通信系统可向服务器1230提供密码信息,并且服务器1230可向交通灯通信系统发出安全令牌。在一些实施例中,服务器1230可使用交通灯通信系统的公有密钥对安全令牌进行加密,并且将加密令牌传送给交通灯通信系统。服务器1230可进一步配置成使用与自主车辆关联的公有密钥对安全令牌进行加密,并且将加密令牌传送给自主车辆。在各个实施例中,交通通信系统可包括被传送给自主车辆的通信数据分组的安全令牌,以提供对车辆的认证。作为补充或替代,交通通信系统可包括被传送给服务器1230的通信数据分组的安全令牌。按照类似方式,自主车辆可包括被传送给交通灯通信系统的通信数据分组的安全令牌。作为补充或替代,自主车辆可包括被传送给服务器1230的通信数据分组的安全令牌。应当注意,以上所述的安全通信过程只是说明性的,并且可使用各种其他方式。各种自主车辆、交通灯和服务器1230)之间的认证安全通信(以及各种自主车辆之间的安全通信)可确保用于各种自主车辆的导航的系统无法被第三方(例如尝试改变自主车辆的移动的一方)所损害。

图36A示出系统3600,该系统3600包括服务器1230、交通灯3630A-3630C和车辆3601。在一些实施例中,车辆3610可以是自主车辆。车辆3601可沿包含十字路口3635的公路3660的车道3611A行驶。车辆3601可检测交通灯(例如交通灯3630A),并且确定交通灯3630A的位置。在各个实施例中,当提到代表车辆时,使用车辆3601,当提到车辆3601所行驶的代表车道时,使用车道3611A,以及当提到与代表车道相关的代表交通灯时,使用交通灯3630A。图36A示出可被定义为如图36A所示的路线图(roadmap)3650的一组道路。路线图3650可包括车辆3601附近(例如车辆3601周围的区域,其中径向距离为十英尺至数英里)的所有车道/路径、公路、私人车道、自行车车道、行人道、人行道等。车辆3601周围的公路的一部分可被定义为图36A中指示的路段3663。

在示例实施例中,车辆3601可基于车辆3601的位置(例如经由车辆的GPS所得到)和/或基于到交通灯3630A的方向以及到交通灯3630A的视在距离(例如从车辆3601的照相装置所捕获的多个图像所推断的距离)来确定交通灯3630A的位置标识符。在一些实施例中,可使用三角测量来得到到位于移动车辆3601的左侧或右侧的交通灯的距离。例如,可使用三角测量来得到到交通灯3630B或3630C的距离。

图36B示出三角测量示例,其中车辆3601通过能够由车辆3601精确测量的距离D从与第一时间(时间t

在示例实施例中,导航系统可配置成接收车辆3601的位置,并且确定车辆3601的位置附近的一个或多个所识别路标,例如交通灯3630A-3630C。应当注意,三角测量方式可以是用来测量到各种交通灯的距离和方向的许多方式之一。作为补充或替代,车辆3601可使用任何其他适当方式(例如雷达、激光雷达、声学传感器、从车辆外部的一个或多个收发器所接收的信息等)来测量到交通灯(例如交通灯3630A)的距离和方向。在各个实施例中,车辆3601可确定各种交通灯(例如交通灯3630A-3630C)的位置,并且向导航系统报告这些交通灯的位置标识符。在示例实施例中,车辆3601可配置成向导航系统报告交通灯3630A-3630C的位置标识符。在示例实施例中,位置标识符可以是交通灯3630A-3630C的坐标。

车辆3601可使用任何适当方式来检测交通灯的状态(例如交通灯3630A的状态)。例如,车辆3601可将信号检测装置用于检测交通灯3630A的状态。在示例实施例中,信号检测装置可以是用于捕获可见光的照相装置。例如,照相装置可用来捕获交通灯3630A的图像数据。交通灯3630A的图像数据可对应于“红灯”、“绿灯”、“黄灯”、“手掌的图像”、“指示转弯的箭头”等。在一些情况下,图像数据可包括与交通灯3630A的状态关联的视频数据。例如,交通灯3630A的状态可通过视频数据来表征,该视频数据可包括“闪烁红灯”、“闪烁黄灯”、“移动/闪烁文本”等。应当注意,任何其他适当图像数据可由用于捕获可见光的照相装置来检测。

还应当注意,如上所述,信号检测装置可检测交通灯通信系统所发射的任何适当信号。例如,信号检测装置可检测射频电场、红外频率电场、时间相关磁场或者任何其他适当电场。应当注意,可使用交通灯与车辆之间的通信的各种其他方式。例如,通信方式可包括音频通信(例如使用例如超声波等的声波的通信)、基于激光的通信等。在一些情况下,通信信号可包括时间相关可视通信信号(例如由LED源所产生的时间相关信号)。在各个实施例中,车辆3601可通过经由通信信道3620A-3620C进行通信(例如接收信号)来检测交通灯3630A-3630C的状态。在一些实施例中,车辆3601与交通灯3630A-3630C的通信可包括不仅接收信号,而且还向交通灯3630A-3630C发送信号。

在各个实施例中,导航系统可配置成从车辆3601接收与沿路段所检测的交通灯关联的状态标识符。例如,这种状态标识符可由车辆3601经由如图36A所示的连接3610来传递给服务器1230,该连接3610可以是无线连接。在一些实施例中,车辆3601可配置成向服务器1230发送与来自交通灯3630A-3630C的信号相关的图像数据,以及在一些实施例中,车辆3601可配置成分析交通灯3630A-3630C的图像数据。在一些实施例中,车辆3601可配置成分析使用交通通信系统(例如图36A所示的系统3631)经由通信信道3620A-3620C从交通灯3630A-3630C传递给车辆3601的任何相关数据,以得到与沿路段所检测的交通灯关联的状态标识符(例如交通灯的状态)。在一些实施例中,与车辆3601关联的车辆导航系统可配置成经由交通通信系统3631来接收与相应交通灯关联的状态标识符。

在各个实施例中,导航系统可配置成从车辆接收指示沿路段的第一车辆的运动的一个或多个方面的导航信息。在示例实施例中,基于车辆3601的位置和/或其他相关导航信息(例如车辆3601的先前位置和车辆3601的已知时间相关轨迹),导航系统可确定由车辆3601沿公路3630所跟随的行驶车道。在示例实施例中,导航系统的处理器可配置成执行指令,以分析车辆3601的导航信息并且确定车辆3601所跟随的行驶车道。

导航系统可配置成基于与车辆关联的导航信息来确定车辆沿路段所穿过的行驶车道。在示例实施例中,车辆3601可基于先前确定的行驶车道以及车辆所执行的一组车道切换导航动作(例如使车辆3601切换车道的导航动作)向服务器1230报告行驶车道。作为补充或替代,车辆3601可基于左路边3640A和/或右路边3640B的接近性、路肩支线车道的接近性等来确定行驶车道(并且向服务器1230传递行驶车道)。作为补充或替代,车辆3601可通过与可确定其行驶车道的相邻车辆进行通信来确定行驶车道。在一些情况下,当公路可能没有明确定义的行驶车道时,车辆3601可配置成向服务器1230传递到道路的左和/或右路边/路肩的距离。

在各个实施例中,导航系统可配置成基于导航信息并且基于从车辆所接收的状态标识符来确定交通灯是否与车辆所穿过的行驶车道相关。例如,如果交通灯的状态标识符对应于红灯状态,并且车辆在交通灯前面停止,则导航系统可确定交通灯与车辆所行驶的车道相关。在一些实施例中,导航系统可配置成接收与交通灯对应的状态标识符以及来自各种自主车辆的导航信息,以便确定各种交通灯的相关性。例如,第一车辆可向导航系统传递交通灯的第一状态标识符以及与第一车辆的移动关联的第一导航信息,并且第二车辆可向导航系统传递交通灯的第二状态标识符以及与第二车辆的移动关联的第二导航信息。

在各个实施例中,交通灯3630A-3630C与车道3611A的相关性可通过得到车道3611A中行驶的各种车辆的导航动作与对交通灯3630A-3630C所观察的各种状态标识符之间的相关性来确定。作为补充或替代,导航系统可通过确定到交通灯3630A-3630C的方向来确定交通灯3630A-3630C的相关性。例如,交通灯3630A-3630C可被确定为在车辆3601前面、沿车辆3601所跟随的车道(例如对于车道包含曲线时的情况)、到车辆3601的侧面、面向车辆3601、到车辆3601的人行道等。此外,导航系统可将关联交通灯3630A-3630C的图像与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯等的交通灯的图像)进行比较,以确定交通灯3630A的状态。在各个实施例中,如果由导航系统确定交通灯处于车辆3601前面和/或沿车道3601所跟随的车道,则交通灯可以是相关的。应当注意,交通灯的这种相关性标准是说明性的,以及可使用利用导航系统的交通灯的其他相关性标准,如进一步论述。

在各个实施例中,公路3660的车道(例如车道3611A和3611B)可通过数字、字母数字值或者任何其他适当标识符来识别。在示例实施例中,车辆3601可通过使用与车辆3601关联的车辆控制系统分析车辆3601的导航信息来确定车道标识符。导航信息的分析可包括评估车辆3601的位置和/或车辆3601的到路边3640A或3640B的距离。在一些实施例中,车道可使与其标识符相关的标记沿车道被定位,所述标记可由车辆3601的车辆控制系统所检测和识别。

在各个实施例中,当交通灯3630A经由交通灯通信系统3631与车辆3601进行通信时,交通灯通信系统3631可向导航系统传递车道标识符。导航系统可将从交通灯通信系统3631所接收的车道标识符与由车辆3601经由对导航信息的分析使用车辆控制系统所得到的车道标识符进行比较。如果从交通灯通信系统3631所接收的车道标识符匹配由车辆3601经由对导航信息的分析所得到的车道标识符,则交通灯3630A与车辆3601所行驶的车道是相关的。

在各个实施例中,交通灯与给定车道的相关性可由导航系统使用统计数据来得到。例如,服务器1230可从各种自主车辆接收与沿路段所检测的交通灯关联的位置标识符、与沿路段所检测的交通灯关联的状态标识符以及指示沿路段行驶的自主车辆的运动的一个或多个方面的导航信息。导航系统可使用与自主车辆关联的导航信息、使用上述任何适当方式来确定自主车辆沿路段所跟随的行驶车道。例如,服务器导航系统可使用车辆的GPS数据或者使用由车辆的车辆控制系统所得到的数据。服务器导航系统可收集与导航信息相关的统计数据,例如自主车辆所执行的运动的类型以及与自主车辆所行驶的车道相关的交通灯的状态标识符。在一些实施例中,服务器导航系统可收集与车辆的导航动作相关的统计数据以及交通灯的状态标识符的变化。

在一些管辖区中,车道指配可例如在不同时刻或者按照穿过交叉口的车道的变化拥塞水平(例如驶入特定位置的车道可能在早晨遭遇繁忙交通,而驶离该位置的车道可能在下午遭遇繁忙交通)动态变化。相应地,在一些实施例中,该系统可在例如具有这类动态交通灯系统或车道指配的一个或多个交叉口进行监测,以得到(例如通过图像分析、报告、由交通信号所广播的信息等)并且记录所报告交通灯状态和/或主车辆的行驶车道的拥塞状态和/或通过交叉口的其他车道处的拥塞状态的时间。

作为另一个示例,例如公职人员(例如警察)等人员可代替交通灯来指挥交通。因此,交通可能与交通灯所指示的信号相矛盾地进行。在一些实施例中,该系统能够配置成例如通过图像分析来检测公务员指挥交通。在另一个示例中,公务员可使用电子信标或者可由车辆上的传感器所检测的任何其他对象,指示该公务员正按照可能与交叉口内操作的交通灯矛盾的方式指挥交通。

图37A示出如图36A所示在车道3611A中行驶的自主车辆(例如车辆3601)的时间相关导航信息与交通灯(例如交通灯3630A)的时间相关状态标识符之间的可能关系。图表3701示出交通灯3630A的时间相关交通灯状态标识符。交通灯3630A可处于与时间间隔T

图表3703示出作为时间的函数所评估的车辆3601的导航信息的时间相关函数。在时间间隔T

图表3703指示车辆3601的导航信息的时间相关函数的时间相关行为与交通灯3630A的状态标识符的时间相关行为直接相互关连,如图表3701所述。虽然对于在车道3611A中行驶的车辆3601绘制图表3701和3703,但是服务器导航系统可对于在相同或不同车道中行驶的各种其他车辆(自主或非自主车辆)生成类似图表。如果在车道3611A中行驶的车辆呈现车辆的导航信息与对应于交通灯3630A的状态标识符之间的直接相关性,则服务器导航系统可断定交通灯3630A与车道3611A相关。

图37B示出示例实施例,其中图表3713所示的车辆(例如车辆3601)的导航信息的时间相关函数可相对于图表3711所示的时间相关状态标识符偏移相位因子f。在示例实施例中,如图表3711所示的时间相关状态标识符可与交通灯3630B或3630C的状态相关,所述交通灯不是直接位于沿车道3611A行驶的车辆3601前面。与图表3701相似,图表3711可包括与图表3711所示的时间相关状态标识符关联的交通灯(例如交通灯3630B)的红灯、绿灯或黄灯状态,对应地标记为“RED”(红)、“GREEN”(绿)和“YELLOW”(黄)。与图表3703相似,图表3713可表明车辆3601的导航信息的时间相关函数可通过状态“STOP”的区域(其中导航信息的时间相关函数可以为零)、状态“GO”的区域(其中时间相关函数可以为一)以及状态“SLOWDOWN”的区域(其中导航信息的时间相关函数可在零与一之间)来表征。在各个实施例中,即使车辆3601的导航信息的时间相关函数呈现相移f,服务器导航系统也可断定交通灯3630B与车道3611A相关,至少因为图表3711所示的状态标识符可与已知相移f共同用来预测沿车道3611A行驶的车辆的导航信息的时间相关函数,如图表3713所示。

应当注意,交通灯3630A可与车道3611B以及与车道3611A相关。例如,在车道3611B中行驶的车辆可“服从”交通灯3630A,就像在车道3611A中行驶的车辆一样,其中术语“服从”用来指示车道3611B中行驶的车辆的导航信息可与对应于交通灯3630A的状态标识符直接相互关连。在说明性实施例中,在车道3611A中行驶的车辆可通过执行与交通灯3630A的状态标识符相互关连的第一组导航动作来服从交通灯3630A,所述导航动作可包括当灯3630A处于红灯状态(例如图36A中标记为“RED”,并且又称作状态“RED”)时在灯3630A处停车,当灯3630A处于绿灯状态(例如图36A中标记为“GREEN”,并且又称作状态“GREEN”)时穿过灯3630A,当灯3630A处于黄灯状态(例如图36A中标记为“YELLOW”,并且又称作状态“YELLOW”)时在灯3630A前面减速,或者当灯3630A的状态标识符为绿色转弯箭头时左转。在车道3611B中行驶的车辆可通过执行第二组导航动作(例如当灯3630A的状态标识符为绿色转弯箭头时执行车道3611A中行驶的车辆的全部导航动作,除了左转的动作之外)来服从交通灯3630A。当灯3630A的状态标识符为绿色转弯箭头时,在车道3611B中行驶的车辆可配置成穿过灯3630A。

在各个实施例中,服务器导航系统可收集与交通灯(例如交通灯3630A)的时间相关状态标识符相关的数据以及与沿给定路段(例如包含车道3611A和3611B的路段)行驶的各种车辆相关的时间相关导航信息。交通灯3630A的所收集时间相关状态标识符以及时间相关导航信息可用来建立交通灯3630A与给定路段的相关性。

在示例实施例中,如图37A所示,车辆3601的导航动作可以是时间的函数,并且取决于给定车道的交通灯状态标识符。例如,当交通灯状态如图表3701所示处于状态“RED”时,可以不要求导航动作。当交通灯状态在时间t

应当注意,图37A所示的时间相关交通灯状态标识符、时间相关导航信息和时间相关导航动作之间的关系的示例实施例只是说明性的,并且描述这些时间相关变量之间的关系的各种其他配置是可能的。例如,除了“RED”、“GREEN”或“YELLOW”的状态之外,时间相关交通灯状态标识符还可具有多种状态。在各个实施例中,与该路段上(或者附近路段上,例如公路3616,如图36所示)行驶的除了车辆3601之外的车辆关联的导航信息可影响车辆3601的时间相关导航动作。

还应当注意,时间相关导航动作可受到与时间相关交通灯状态标识符无关(或者不是直接相关)的其他道路相关事件所影响。例如,这类事件可包括行人在车辆3601所行驶的车道3611A上乱穿马路、在路边3640A非法停放的车辆、车辆3601或者车辆3601附近的其他车辆的机械故障、车辆3601附近的警车、消防车或医疗急救车、道路工程、不利道路条件(例如冰、冰雹、雨、道路缺陷等)等。

在各个实施例中,服务器1230可配置成监测沿公路3660和3616行驶的车辆,并且预测车辆的轨迹以确保车辆不会相互邻近。例如,服务器1230可配置成对于被预测相互邻近的车辆传送一个或多个避免碰撞导航动作的指示。在各个实施例中,术语“邻近”可以是车辆之间的距离,该距离可取决于车辆的速度或者两个车辆之间的相对速度。在一些实施例中,沿行驶车道的两个车辆之间的邻近距离可不同于在相邻车道中行驶的车辆之间的邻近距离。在示例实施例中,沿行驶车道行驶的两个车辆之间的邻近距离可基于二秒规则(例如车辆在二秒内行驶所需的距离),以便为人工驾驶员所操作的车辆提供适当反应时间。

在一些实施例中,示例车辆的车辆控制系统可接受和执行(或者调度成在以后执行)服务器1230所建议的避免碰撞导航动作,以及在其他实施例中,车辆控制系统可执行(或者调度成在以后执行)不同的一组避免碰撞导航动作。在一些实施例中,车辆控制系统可忽略避免碰撞导航动作的执行。在各个实施例中,车辆控制系统可通知服务器1230关于由车辆控制系统所执行或者调度成在以后执行的导航动作。

在各个实施例中,导航系统可配置成更新相对于路段的自主车辆道路导航模型,其中更新基于至少一个位置标识符并且基于交通灯是否与车辆所穿过的行驶车道相关。当导航模型要求更新时,可更新这种模型。例如,如果时间相关交通灯状态标识符与车辆的时间相关导航信息之间的所观察相关性不匹配如从导航模型所确定的来自车辆的预计导航动作,则模型可要求更新。例如,导航系统可得到沿路段3663的车道3611A行驶的代表车辆(例如车辆3601)的导航动作NA

在各个实施例中,已更新自主车辆道路导航模型可被分发给各种自主车辆。例如,已更新模型可用作导航系统使用自主车辆道路导航模型来确定导航动作NA

在各个实施例中,当对行驶于与交通灯相关的公路的车道的各种车辆收集充分信息量时,可执行对自主车辆道路导航模型的更新,以便确保交通灯与车辆所行驶的车道的相关性的统计确定性。在示例实施例中,确定性可高于99%、99.9%、99.99%或以上。在一些实施例中,可对沿公路的车道行驶的两个车辆、对沿车道行驶的十个车辆、对沿车道行驶的数百或者甚至数千个车辆来收集信息。在各个实施例中,当其他车辆处于行驶于路段的车辆附近时,可收集将车辆的导航动作与交通灯的交通灯状态相关的信息。例如,当其他车辆沿公路3616行驶时,可对沿公路3660行驶的车辆来收集信息。

图38示出经由导航系统来更新各种自主车辆的自主车辆道路导航模型的示例过程3800。在各个实施例中,过程3800可由导航系统的处理器来执行。在过程3800的步骤3801,导航系统的至少一个处理器可从车辆接收与沿路段所检测的交通灯关联的至少一个位置标识符。例如,处理器可接收与交通灯3630A关联的位置标识符,如图36A所示。在各个实施例中,处理器可从沿包含交通灯3630A的路段行驶的一个或多个车辆接收位置标识符。例如,处理器可从沿车道3611A行驶的车辆3601接收位置标识符。可使用以上所述的适当方式的任一种来得到交通灯3630A的位置标识符。

在步骤3803,处理器可从车辆接收与沿路段所检测的交通灯关联的状态标识符。在示例实施例中,状态标识符可将交通灯识别为发射红光(例如状态标识符如图36A所示为“RED”)、发射绿光(例如状态标识符如图36A所示为“GREEN”)或者发射黄光(例如状态标识符如图36A所示为“YELLOW”)。在一些实施例中,可使用各种其他状态标识符。在各个实施例中,导航系统的处理器可从沿包含交通灯3630A的路段行驶的一个或多个车辆接收状态标识符。在一些实施例中,从车辆所接收的状态取决于车辆沿路段的行驶时间。

在步骤3805,处理器可配置成从车辆接收与沿路段行驶的车辆相关的导航信息。例如,导航系统的处理器可配置成接收车辆(例如车辆3601)的导航信息,例如车辆3601的位置、车辆3601的速度、车辆3601的加速度、车辆3601的减速度等。在一些实施例中,处理器可配置成接收与沿同一车道(例如车道3611A)行驶的车辆相关的导航信息,以及在一些实施例中,处理器可配置成接收紧邻车道3611A、跨车道3611A(例如,如图36A所示沿公路3616行驶的车辆)或者在位于路段所包含的交通灯附近的任何其他车道中行驶的车辆相关的导航信息。

在各个实施例中,处理器可配置成在步骤3803从至少一个车辆(例如第一车辆)接收交通灯(例如交通灯3630A)的第一状态标识符,该第一状态标识符不同于从至少另一个车辆(例如第二车辆)所接收的第二状态标识符。例如,第一状态标识符可对应于与标签“RED”(如图36A所示)对应的红灯状态或者与标签“YELLOW”(如图36A所示)对应的黄灯状态,以及第二状态标识符可对应于与标签“GREEN”(如图36A所示)对应的绿灯状态。在各个实施例中,导航系统的处理器可配置成在步骤3805接收与第一车辆关联的导航信息以及与第二车辆关联的导航信息,所述导航信息指示第一车辆对交通灯3630A的第一状态标识符的响应,该响应可不同于第二车辆对交通灯3630A的第二状态标识符的响应。例如,对于第一车辆所接收的红灯状态,第一车辆可减速到完全停止(即,具有第一类型的响应),以及对于第二车辆所接收的绿灯状态,第二车辆可继续或开始车辆运动(即,具有第二类型的响应)。在一些情况下,交通灯3630A的第一状态标识符可与第二状态标识符相同。

在各个实施例中,导航系统的处理器可配置成在步骤3805接收与第一车辆关联的导航信息以及与第二车辆关联的导航信息,所述导航信息指示第一车辆对交通灯3630A的第一状态标识符的第一响应可与第二车辆对交通灯3630A的第二状态标识符的第二响应基本上相同。如本文所定义,除非另加说明,否则如应用于车辆对状态标识符的响应的术语“基本上”可指示第一响应至少在质量上与第二响应相同,同时允许在数量上不同。例如,第一和第二响应可包括制动,但是第一响应的减速度的幅值可不同于第二响应的减速度的幅值。

在步骤3807,导航系统的处理器可确定车辆3601所行驶的车道。在示例实施例中,处理器可使用从车辆3601所接收的导航信息来确定车辆3601所行驶的车道。例如,处理器可基于车辆的位置或者基于车辆到路段的各种特征的距离(例如基于到公路的路边的距离)来确定车辆3601所行驶的车道。在示例实施例中,可通过将车辆3601所行驶的车辆3601的轨迹(本文中称作行驶或实际轨迹)与关联行驶于路段的车辆的自主车辆道路导航模型的一个或多个可用目标轨迹(如上所限定)进行比较,来确定由车辆3601沿路段所跟随的行驶车道。例如,目标轨迹可包括与沿目标轨迹的不同区域的路段的车道有关的信息。如果车辆3601的行驶轨迹匹配目标轨迹段,则处理器可配置成基于与目标轨迹段关联的车道来确定车辆3601所行驶的车道。备选地,如果车辆3601的行驶轨迹靠近并且到目标轨迹的一侧,则处理器可配置成确定车辆3601所行驶的车道是与目标轨迹段关联的车道的相邻车道。

在步骤3809,处理器可确定车道(例如车道3611A)的交通灯相关性。在示例实施例中,可通过分析沿包含交通灯(例如交通灯3630A)的路段行驶的各种车辆的时间相关导航信息与交通灯3630A的时间相关状态标识符之间的相关性,来确定车道相关性。例如,如果存在导航信息(或者导航信息的一个或多个变化)与交通灯3630A)的状态标识符(或者状态标识符的变化)之间的直接相关性,则处理器可确定交通灯3630A与车道3611A相关。在各个实施例中,沿包含交通灯3630A的路段行驶的各种车辆的时间相关导航信息与交通灯3630A的时间相关状态标识符之间的相关性可通过收集在不同时间沿路段行驶的多个车辆的信息来得到。

在步骤3811,处理器可更新自主车辆道路导航模型,因为它涉及沿路段行驶的各种车辆的时间相关导航信息与交通灯3630A的时间相关状态标识符之间的相关性。在各个实施例中,更新可包括更新交通灯3630A的位置标识符或者更新交通灯3630A与车辆3601所跟随的车道3611A的相关性。在一些实施例中,更新模型可包括更新沿路段行驶的各种车辆的时间相关导航信息与交通灯3630A的时间相关状态标识符之间的关系,所述关系可通过函数来表示。

在步骤3813,处理器可配置成将已更新模型分发给在路段附近行驶的各种自主车辆。在示例实施例中,导航系统可配置成将已更新模型首先分发给最相关车辆(例如正接近交通灯3630A的车辆),并且然后将模型分发给各种其他车辆。

应当注意,可修改或省略过程3800的各种步骤。例如,处理器可在步骤3805接收导航信息,所述导航信息可包括与车辆所行驶的车道有关的信息。对于这种情况,可省略过程3800的步骤3807。在一些情况下,处理器可确定交通灯的相关性,因此使步骤3809是不必要的。

图39示出使用导航系统的自主车辆导航的示例过程3900。在过程3900的步骤3901,导航系统的处理器可从信号检测装置接收来自示例车辆(例如车辆3601)的环境的各种数据信号。例如,这类数据信号可以是音频数据、视频或图像数据以及使用交通灯通信系统3631从各种交通灯所传递的数据信号。在示例实施例中,车辆3601的信号检测装置可以是用于捕获表示车辆3601的环境的一个或多个图像的图像捕获装置。

在步骤3903,处理器可配置成基于从信号检测装置所接收的数据信号的分析来识别至少一个交通灯的表示。在示例实施例中,来自图像捕获装置的所接收图像的分析可用来识别图像中的至少一个交通灯,并且得到所识别交通灯的表示。在示例实施例中,说明性交通灯的表示可以是以上所述的交通灯位置标识符。可使用以上所述的适当方式的任一种来得到交通灯的位置标识符。

在步骤3905,处理器可配置成基于使用图像捕获装置所得到的图像的分析来确定至少一个所识别交通灯(例如交通灯3630A)的状态。在示例实施例中,处理器可将对各种交通灯所得到的图像与各种交通灯的图像(例如导航系统的存储器中存储的具有绿灯、红灯、黄灯等的交通灯的图像)进行比较,以确定各种交通灯的状态。在一些实施例中,处理器可配置成向服务器1230传送一个或多个交通灯的图像,以供对图像的处理(例如压缩图像、编辑图像等)、对图像的分析(例如对图像的分析以用于确定所识别交通灯的一个或多个的状态以及识别可存在于图像内的其他对象,例如公路路标)和/或对图像的存储。

在步骤3907,处理器可配置成从导航系统(或者从任何相关的基于服务器的系统)接收自主车辆道路导航模型,其中自主车辆道路导航模型可包括与关联路段的各种交通灯相关的所存储信息。在示例实施例中,所存储信息可包括交通灯的位置标识符以及沿路段行驶的车辆所跟随的与交通灯关联的一个或多个相关车道。作为补充或替代,与各种交通灯相关的所存储信息可与沿路段行驶的车辆3601可用的一个或多个可能轨迹相互关连。在示例实施例中,每个可能轨迹可与路段的轨迹相关车道关联。在一些实施例中,路段的车道可与轨迹的一部分相关,例如对于轨迹通过若干不同车道时的情况。可能轨迹可由自主车辆道路导航模型来提供,并且可通过三维样条来表示。

在步骤3909,处理器可确定在图像捕获装置所捕获的图像中所识别的所识别交通灯的部分处于与自主车辆道路导航模型关联的映射交通灯之中。例如,导航系统可访问与所识别交通灯关联的交通灯位置标识符,并且可将所识别交通灯的位置与关联自主车辆道路导航模型的各种映射交通灯的位置进行比较。在确定图像中所识别的至少一个交通灯处于与自主车辆道路导航模型关联的映射交通灯之中之后,处理器可配置成在步骤3911确定被确定为处于映射交通灯之中的所识别交通灯是否与车辆3601所行驶的车道相关。对于具有关联位置标识符的一个或多个交通灯,可使用以上所述的各种方式来建立一个或多个交通灯的相关性。在示例实施例中,相关交通灯可以是与路段的车道对齐的灯,例如可与车道3611A对齐的交通灯3630A。作为补充或替代,处理器可确定与自主车辆道路导航模型关联的映射交通灯之中的至少另一个交通灯,所述至少另一个交通灯(例如交通灯3630B或3630C)可能没有与车辆3601所行驶的车道3611A对齐。这类交通灯可与不同于车道3611A的路段的行驶车道对齐。例如,交通灯3630B和3630C对应于公路3616(如图36A所示,所述公路3616不同于公路3630),并且因此没有与车道3611A对齐。能够说,交通灯3630B和3630C与公路3616对齐。在各个实施例中,处理器可使用有关没有与车道3611A对齐的一个或多个交通灯的状态的信息来确定可能导航动作,如先前所述。例如当与车道3611A对齐的一个或多个交通灯从车辆3601的图像捕获装置的视图中被遮蔽和/或不操作时,可使用这种信息。

在步骤3913,处理器可基于与车辆3601所行驶的车道3611A相关的交通灯(例如交通灯3630A)的状态标识符来确定是否要求导航动作。如果没有找到相关交通灯,则可以不需要与交通灯相关的导航动作。那不一定暗示不需要导航动作,因为导航动作的一些可能不是与关于交通灯的导航动作相关的。例如,如果在车辆3601所行驶的车道3611A中观察到行人或停止车辆,则可要求导航动作。

在步骤3915,如果要求导航动作,则处理器可用来使与车辆3601关联的一个或多个致动器系统实现车辆3601的所确定的一个或多个导航动作。在各个实施例中,一个或多个致动器系统可包括车辆3601的常规控件,例如油门踏板、制动踏板、变速换档器、方向盘、手制动器等。在一些实施例中,致动器系统可以是人类操作员不可访问的内部系统,所述内部系统执行与人类操作员可访问的常规控件相似的功能。在示例实施例中,导航系统可配置成经由致动器系统来加速车辆3601,该致动器系统例如可包括车辆的油门踏板。

应当注意,可修改或省略过程3900的各种步骤。作为补充或替代,可修改过程3900的步骤序列。例如,步骤3905可接着步骤3911,以及步骤3907可接着步骤3903。在一些实施例中,当由导航系统来分析示例交通灯的相关性的确定时,可省略步骤3909。

导航系统可基于与交通灯的定时(例如交通灯的状态改变时的时间)有关的信息来确定沿公路行驶的车辆的导航动作。例如,当交通灯的状态从绿灯状态改变成红灯状态时,导航系统可确定沿公路行驶的车辆应当减速。

在各个实施例中,导航系统可映射交通灯以用于确定交通灯相关性,并且提供自主车辆导航,如上所述。例如,自主车辆道路导航模型可包括在交通灯附近行驶的车辆所检测的交通灯的映射位置。在示例实施例中,从车辆所接收的位置标识符可用来更新所检测交通灯的映射位置。可使用关联坐标(例如世界坐标)在自主车辆道路导航模型的地图上识别映射位置。在一些实施例中,自主车辆道路导航模型可使用与路线图的表面关联的局部曲线坐标(例如表面曲线坐标)。例如,曲线坐标可沿表面或公路来定义,使得一个坐标方向与公路的方向对齐,而另一个坐标方向与公路垂直对齐。在一些实施例中,可使用若干曲线坐标系统,其中每个曲线坐标系统与给定公路关联。在各个实施例中,路标(例如交通灯)的位置误差可能是数英尺至数十英尺。在各个实施例中,可通过从在路标附近行驶的各种车辆收集与给定路标的位置标识符相关的统计数据,来减少位置误差。

导航系统可用来确定交通灯的循环时间。术语交通灯的“循环时间”表示交通灯的时间相关状态的方面,以及更特别表示交通灯的状态的时间相关变化的方面。在示例实施例中,循环时间可表示与交通灯的时间周期行为关联的各种时间间隔,例如交通灯的周期和/或交通灯的状态的任一个的时长。导航系统可在可与服务器1230关联的存储器和/或数据库中存储与交通灯关联的循环时间以及任何其他适当交通灯相关信息。

在各个实施例中,如上所述,导航系统可配置成从车辆3601接收与沿路段所检测的交通灯3630A-3630C其中之一关联的至少一个位置标识符。另外,导航系统可配置成接收与所检测交通灯关联的交通灯状态定时的至少一个指示符。术语“交通灯状态定时”表示交通灯的时间相关状态的方面。在一些实施例中,交通灯可具有离散状态。例如,交通灯可发射绿、红和黄光,其中每个发射光(例如发射绿光)是离散状态。

应当注意,上述示例只是说明性的,以及可观察交通灯的各种其他离散状态。交通灯状态定时可包括发射绿光的时间间隔(称作绿色时长时间)、发射红光的时间间隔(称作红色时长时间)以及发射黄光的时间间隔(称作黄色时长时间)。另外,交通灯状态定时可包括与交通灯的不同离散状态的顺序有关的信息以及交通灯的状态的两个之间的转变已经发生时的一天期间的时间点。交通灯的交通灯状态定时的示例可包括交通灯发射绿光一分钟、红光一分钟和黄光二十秒,其中黄光接着绿光,而红光接着黄光。在示例实施例中,交通灯可在一天期间以精确时间点从红灯切换到绿灯(其中具有按照秒、毫秒或微秒所测量的时间点的时间的精度的误差)。

在各个实施例中,如上所述,当自主车辆道路导航模型要求更新时,导航系统可配置成更新这种模型。在示例实施例中,导航系统可配置成更新相对于路段的自主车辆道路导航模型,其中更新基于至少一个位置标识符并且基于与沿路段所检测的交通灯(例如交通灯3630A)关联的交通灯状态定时的至少一个指示符。例如,如果车辆3601所观察的交通灯3630A的状态定时与自主车辆道路导航模型所预测的交通灯状态定时有所不同,则可更新自主车辆道路导航模型。另外,如果车辆3601观察到与车辆3601所行驶的车道3611A相关并且未被自主车辆导航模型所识别的交通灯,则可更新导航模型的定位符标识符和交通灯状态定时。在各个实施例中,可使用任何适当方式(例如与模型相关的数据的无线传输)向各种自主车辆分发已更新自主车辆道路导航模型。

在各个实施例中,导航系统可配置成从第一车辆接收与沿路段所检测的交通灯关联的位置标识符,并且从第二车辆接收与所检测交通灯关联的交通灯状态定时的至少一个指示符。在一些实施例中,导航系统可配置成从第一组车辆接收位置标识符并且从第二组车辆接收交通灯状态定时的至少一个指示符。在一些实施例中,导航系统可配置成基于来自从多个车辆所收集的数据的统计来计算位置标识符和交通灯状态定时的至少一个指示符的置信水平。

在各个实施例中,自主车辆道路导航模型的更新可包括可由车辆(例如车辆3601)所检测的交通灯的给定离散状态的时间的时长(又称作状态时长时间,例如绿色时长时间、红色时长时间或黄色时长时间)的指示。状态时长时间可由车辆3601来测量。例如,车辆3601可检测第一状态转变(例如从交通灯的第一状态到交通灯的第二状态的转变,第二状态与第一状态不同)的第一时间、第二状态转变(例如从交通灯的第二状态到交通灯的第三状态的转变,第三状态与第二状态不同)的第二时间,并且计算作为第二与第一时间之间的时间差的状态时长时间。在示例实施例中,第一观察状态转变可包括从黄灯状态到红灯状态的转变,以及第二观察状态转变可包括从红灯状态到绿灯状态的转变。备选地,第一观察状态转变可包括从红灯状态到绿灯状态的转变,以及第二观察状态转变包括从绿灯状态到黄灯状态的转变。在各个实施例中,导航的处理器可通过从第二时间中减去第一时间来计算交通灯的状态时长。在各个实施例中,交通灯状态定时的指示符可包括一个或多个时间值,各自与车辆(例如车辆3601)所检测的交通灯的对应观察交通灯状态变化事件关联。

在一些实施例中,若干车辆可用来确定交通灯的状态时长时间。例如,接近交通灯(例如交通灯3630A)的第一车辆可检测第一状态转变(例如从红灯状态到绿灯状态的转变)的第一时间。第一车辆可将这种转变传递给服务器1230。第一车辆可通过交通灯3630A,并且可能不检测第二状态转变(例如交通灯3630A从绿灯状态到黄灯状态的转变)的第二时间。在示例实施例中,第一车辆后面行驶于与第一车辆相同车道的第二车辆可检测第二状态转变(例如交通灯3630A从黄灯状态到红灯状态的转变)的第二时间。第二车辆可将第二状态转变传递给服务器1230。在说明性实施例中,服务器1230的处理器(例如导航系统的处理器)可通过从第二车辆所检测的第二时间中减去第一车辆所检测的第一时间来计算交通灯的状态时长时间。在说明性实施例中,第二状态转变可由第二车辆在除了第一状态转变之外的时间间隔来观察,该时间间隔与预计状态时长时间相当,以确保第二状态转变接着第一状态转变。例如,导航系统可配置成从多个车辆来收集第二状态转变的时间,并且选择最接近第一车辆所观察的第一状态转变的时间的第二状态转变的时间。

在各个实施例中,第一或者第二车辆可观察交通灯3630A的多于一个状态转变。例如,第二车辆可观察第二状态转变(例如交通灯3630A从黄灯状态到红灯状态的转变),之后接着观察第三状态转变(例如交通灯3630A从红灯状态到绿灯状态的转变)。在示例实施例中,第二车辆可向服务器1230传递第二和第三状态转变,以供第一与第二状态转变之间以及第一和/或第二与第三状态转变之间的状态时长时间的后续计算。

应当注意,所观察状态转变的示例是说明性的,以及各种其他状态之间的转变是可能的。例如,区分从闪烁绿灯到红灯的状态转变可以是可能的,或者区分从闪烁红灯到绿灯的转变可以是可能的。

在示例实施例中,取决于状态时长时间的精度,车辆3601可以以所指定的每秒帧率来捕获交通灯的多个图像(帧)。在示例实施例中,车辆3601可捕获每秒一个帧率、每秒两个帧率、每秒十个帧率、每秒二十四个帧率(视频数据的典型速率)或者每秒百个帧率。

在示例实施例中,如图40所示,绿色时长时间(标记为“GREEN”)、红色时长时间(标记为“RED”)和黄色时长时间(标记为“YELLOW”)可在一天中变化。例如,在早晨,分别标记为T

在示例实施例中,导航系统可配置成在第一时刻从第一车辆接收与交通灯3630A关联的交通灯状态定时的指示符。例如,第一车辆可在早晨通过交通灯3630A,可测量交通灯3630A的状态时长时间,并且可向导航系统传送信息(例如状态时长时间和时刻)。在示例实施例中,第二车辆可在一天的第二部分(例如在晚上)通过交通灯3630A,可测量交通灯3630A的状态时长时间,并且可向导航系统传送所检测信息。导航系统可配置成从第一和第二车辆收集信息,以建立一天中的交通灯3630A的状态定时的时间相关模式。例如,导航系统可确定交通灯3630A的状态定时是否相对时刻改变。

在各个实施例中,沿公路3660行驶的车辆可观察不是与车辆所行驶的车道3611A直接相关的交通灯3630B-3630C的状态定时。在示例实施例中,通过确定灯3630B的状态定时,车辆可唯一地确定相关交通灯3630A的状态定时,因为各种交通灯的状态定时可直接相互关连。例如,当灯3630B可处于绿灯状态时,灯3630A可处于红灯状态。

在各个实施例中,交通灯的状态定时可根据交通灯附近的交通模式而变化。例如,交通灯3630A可包括传感器,该传感器能够检测公路3660上的车辆的数量,并且改变交通灯3630A的状态定时以及交通灯3630B和3630C的相关状态定时。在一些实施例中,交通灯3630A可与交通灯系统进行通信,以用于控制交通灯3630A附近的各种交通灯的状态定时。交通灯系统可配置成更新部分或全部交通灯的状态定时。在一些实施例中,交通灯系统可从若干不同交通灯接收交通相关信息,并且基于所接收信息来优化所有交通灯的状态定时。在一些实施例中,交通灯系统可与服务器1230进行通信。例如,交通灯系统可向服务器1230传递各种交通灯的状态定时。作为补充或替代,服务器1230可从沿各种公路(例如公路3660和3616)行驶的车辆接收各种交通灯的状态定时。

在示例实施例中,服务器1230的处理器可配置成确定交通灯(例如交通灯3630A)是否为传感器操作的。例如,交通灯3630A是否为传感器操作的确定可基于交通灯状态定时的指示符并且基于从沿公路3660行驶的各种车辆(例如车辆3601)所接收的导航信息。在示例实施例中,车辆3601可向服务器1230传送指示沿公路3660的车辆3601的运动的一个或多个方面的信息,例如车辆3601的导航信息和/或车辆3601的导航动作。

在示例实施例中,导航系统的处理器可通过响应车辆到达交通灯3630A前面的停车点(或者在之后不久)而观察交通灯状态变化(例如从红灯状态到绿灯状态的变化)来确定交通灯是否为传感器操作的。此外,处理器可检测其他车辆是否存在于十字路口,并且评估车辆的数量或者车辆的不存在如何影响交通灯3630A的状态定时。如果处理器确定状态定时与十字路口存在的汽车的数量之间的相关性,则处理器可配置成将交通灯3630A分类为传感器操作灯。

在一些实施例中,车辆3601可配置成捕获并且向服务器1230传送交通灯3630A的图像以及各种环境元素(例如树木、公路3660的路边、公路照相装置、公路结构等)的图像以供数据分析。服务器1230可分析图像,以供检测交通灯3630A附近的传感器相关结构。例如,传感器相关结构可以是位于交通灯3630A上方的系统3631的组成部分,如图36所示。作为补充或替代,交通灯3630A的图像以及各种环境元素的图像可由车辆控制系统来分析,以供检测交通灯3630A附近的传感器相关结构。一旦检测和识别传感器相关结构,服务器1230可将交通灯3630A分类为传感器操作灯。作为补充或替代,关于所检测交通灯是否为传感器操作的确定可基于从车辆3601所接收的指示与所检测交通灯附近的路面关联的传感器结构的检测的信息。例如,传感器结构可包括路面上与传感器结构关联的图案中的焦油线、公路3660上方或一侧的照相装置等。在一些实施例中,交通灯3630A可作为传感器操作灯来操作一天的第一部分并且作为时间相关非传感器操作灯来操作一天的第二部分。

图41示出使用导航系统基于交通灯的状态定时的自主车辆导航的示例过程4100。在过程4100的步骤4101,导航系统的处理器可从信号检测装置(例如,例如照相装置等的图像捕获装置)接收来自示例车辆(例如车辆3601)的环境的各种数据信号。步骤4101可与如图39所示的过程3900的步骤3901相似。

在步骤4103,处理器可配置成从车辆接收与沿路段所检测的交通灯关联的至少一个位置标识符。因此,处理器可基于从信号检测装置所接收的数据信号的分析来识别至少一个交通灯的表示。步骤4103可与如图39所示的过程3900的步骤3903相似。

在步骤4105,处理器可配置成从车辆接收与所检测交通灯关联的交通灯状态定时的至少一个指示符。在示例实施例中,处理器可基于使用信号检测装置(所述信号检测装置可以是图像捕获装置)所得到的图像的分析来确定至少一个所识别交通灯(例如交通灯3630A)的状态。当图像数据从车辆3601传送给导航系统时,处理器可用于分析图像。步骤4105可与如图39所示的步骤3905相似。在一些实施例中,处理器可配置成基于来自图像捕获装置的图像的分析来识别交通灯3630A的状态的变化以及确定与所识别交通灯状态变化关联的时间。

在步骤4107,处理器可配置成更新相对于路段的自主车辆道路导航模型,其中更新基于至少一个位置标识符并且基于与沿路段所检测的交通灯关联的交通灯状态定时的至少一个指示符。与如图39所示的过程3900的步骤3907相似,自主车辆道路导航模型可包括与关联路段的各种映射交通灯相关的所存储信息,如先前所述。在示例实施例中,所存储信息除其他以外还可包括交通灯的位置标识符以及沿路段行驶的车辆所跟随的与交通灯关联的一个或多个相关车道。作为补充或替代,与映射交通灯相关的所存储信息可包括映射交通灯的至少部分的交通灯状态定时的一个或多个指示符。例如,所存储信息可包括与一个或多个映射交通灯(例如交通灯3630A)的各种状态的状态时长时间有关的信息。此外,所存储信息可包括交通灯3630A的状态时长时间如何在一天中变化。

在步骤4109,处理器可基于自主车辆道路导航模型来确定与交通灯3630A的一个或多个所确定状态关联的至少一个定时方面。例如,一个定时方面可以是交通灯3630A的给定状态的状态时长时间(例如绿色时长时间、红色时长时间或黄色时长时间)。另一个示例定时方面可以是交通灯3630A的状态发生变化时的时刻(例如当交通灯3630A的状态从绿灯的状态改变成红灯的状态时,时刻可以是12:00AM)。在示例实施例中,交通灯3630A的所确定状态可以是绿灯状态,以及至少一个定时方面可对应于交通灯3630A保持在绿灯状态中的时间量。在一些实施例中,车辆3601可观察交通灯3630A的状态的第一和第二变化,以及由处理器所确定的定时方面可对应于交通灯3630A的状态的第一与第二变化之间的预计或计算的时间量。

在步骤4111,处理器可基于与至少一个交通灯状态的所确定状态关联的所确定的至少一个定时方面来确定车辆的导航动作。在示例实施例中,处理器可基于与车辆3601所行驶的车道3611A相关的交通灯(例如交通灯3630A)的状态标识符来确定是否要求导航动作。另外,车辆3601可基于交通灯3630A的状态定时来确定是否要求导航动作。例如,如果交通灯3630A在车辆3601到达交通灯3630A之前将要从绿灯状态改变成黄灯状态,则车辆3601可确定要求导航动作(例如制动动作或滑行动作)。如本文所使用,除非另加说明,否则处于交通灯处暗示邻近交通灯正下方或者交通灯旁边的公路的区域(例如数十英尺之内)。

在各个实施例中,取决于交通灯3630A的状态或者取决于车辆3601到达交通灯3630A时的交通灯3630A的状态,可要求或者可以不要求导航动作。例如,如果交通灯在车辆3601处于交通灯3630A处时从红灯状态改变成绿灯状态,则可要求与车辆加速对应的导航动作。

在步骤4113,如果要求导航动作,则处理器可用来使与车辆3601关联的一个或多个致动器系统实现车辆3601的所确定的一个或多个导航动作。步骤4113可与上述过程3900的步骤3915相似。

应当注意,可修改或省略过程4100的各种步骤。作为补充或替代,可修改过程4100的步骤序列。例如,如果车辆3601的自主车辆导航模型是最新的,则可省略步骤4107。

本公开描述一种用于车辆的导航系统,该导航系统可配置成识别沿车辆所行驶的公路的交通灯。在实施例中,导航系统可配置成从第一照相装置接收从车辆的环境所捕获的一个或多个第一图像,并且从第二照相装置接收从车辆的环境所捕获的一个或多个第二图像。例如,车辆可包括两个照相装置,各自配置成捕获表示车辆的环境的一个或多个图像,并且将所捕获图像传送给导航系统。导航系统可配置成分析一个或多个第一图像,以生成第一检测结果,该第一检测结果可包括交通灯和交通灯的状态的标识。例如,导航系统可分析一个或多个第一图像,以识别沿车辆正行驶的车道的前向的交通灯。导航系统还可分析一个或多个第一图像,以识别交通灯的状态(例如交通灯具有绿灯状态)。导航系统还可配置成分析一个或多个第二图像,以生成第二检测结果,该第二检测结果可包括交通灯和交通灯的状态的标识。例如,导航系统可配置成分析一个或多个第二图像,以识别交通灯(该交通灯可以是第一检测结果中包含的同一交通灯)和交通灯的状态(例如交通灯具有绿灯状态)。

导航系统还可配置成比较第一检测结果和第二检测结果,以确定第三检测结果,该第三检测结果可包括交通灯的确认状态。例如,导航系统可配置成比较第一检测结果和第二检测结果,并且确定两种检测结果中识别的交通灯是同一交通灯。导航系统还可配置成基于第一检测结果和第二检测结果中包含的交通灯的所识别状态将交通灯的状态确认为绿灯状态。导航系统可进一步配置成基于交通灯的确认状态来确定车辆的导航动作。例如,如上所述,导航系统可将交通灯的确认状态确定为绿灯状态,并且可配置成导航动作,包括以当前速度保持车辆的当前航向方向以通过与交通灯关联的十字路口。导航系统还可配置成通过例如向车辆传送实现导航动作的控制信号来使车辆实现导航动作。

图42是按照所公开实施例的示范导航系统4200的图解表示。导航系统4200可包括服务器4201、一个或多个车辆4202、一个或多个照相装置4203(例如与车辆4202关联的照相装置4203A、4203B)、数据库4204和网络4206。服务器4201可配置成向车辆4202提供地图信息。例如,服务器4201可配置成向车辆4202传送包括与一个或多个交通灯相关的信息的地图信息。车辆4202可配置成操作车辆的一个或多个组件,例如转向机构、制动机构或者各种其他组件。数据库4204可配置成存储系统4200的组件(例如服务器4201、车辆4202和/或照相装置4203)的信息。网络4206可配置成促进系统4200的组件之间的通信。

在一些实施例中,服务器4201可以是执行本文所公开功能的云服务器。术语“云服务器”表示经由网络(例如因特网)来提供服务的计算机平台。在这个示例配置中,服务器4201可使用虚拟机,所述虚拟机可能不对应于单独硬件。例如,计算和/或存储能力可通过从可缩放知识库(例如数据中心或分布式计算环境)分配预期计算/存储能力的适当部分来实现。在一个示例中,服务器4201可使用定制硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件和/或程序逻辑(它们与计算机系统结合使服务器4201成为专用机器)来实现本文所述的方法。

车辆4202可包括一个或多个组件,例如转向机构、制动机构或者实现各种导航动作的各种其他组件。车辆4202可以是其他实施例中公开的类似车辆(例如车辆200),并且可包括其他实施例中公开的车辆中包含或者与其关联的组件或装置。车辆4202可被配备有一个或多个图像捕获装置或照相装置(例如图像捕获装置122、照相装置4203A、照相装置4203B)。车辆4202可经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与服务器4201进行通信。车辆4202可向服务器4201传送数据,并且从服务器4201接收数据。

照相装置4203可包括与主车辆关联的一个或多个图像捕获装置(例如图像捕获装置122、图像捕获装置124和图像捕获装置126),配置成捕获表示车辆的环境的一个或多个图像。照相装置4203可配置成将图像传送给导航系统4200的一个或多个组件(例如车辆4202、服务器4201和/或数据库4204)。在一些实施例中,照相装置4203可包括两个或更多照相装置,所述照相装置配置成捕获表示车辆4202的环境的图像。在一些实施例中,照相装置可以是相同类型的照相装置。备选地,照相装置的至少两个可以是不同的(例如具有不同焦距等或者它们的组合)。例如,照相装置4203可包括五个照相装置。第一照相装置可以是具有鱼眼镜头的照相装置,第二照相装置可以是具有长焦镜头的照相装置,以及第三照相装置可以是具有普通镜头(例如焦距等于50 mm)的中间(或主)照相装置。第一、第二和第三照相装置的每个可具有车辆中间、前面的视场。第四照相装置可以是左照相装置,其具有普通镜头,并且具有聚焦在车辆左前方的环境上的视场,以及第五照相装置可以是右照相装置,其具有普通镜头,并且具有聚焦在车辆右前方的环境上的视场。

数据库4204可包括地图数据库,该地图数据库配置成存储系统4200的组件(例如服务器4201和/或车辆4202)的地图数据。在一些实施例中,服务器4201和/或车辆4202可配置成访问数据库4204,并且经由网络4206从数据库4204得到所存储数据和/或向数据库4204上传数据。例如,服务器4201可向数据库4204传送与地图信息相关的数据以供存储。车辆4202可从数据库4204下载地图信息和/或数据。在一些实施例中,数据库4204可包括与一个或多个交通灯、各种项目(包括道路、水特征、地理特征、商业、感兴趣点、餐馆、加油站等)在参考坐标系中的位置或者它们的组合相关的数据。在一些实施例中,数据库4204可包括与本公开的其他部分所述的地图数据库160相似的数据库。

网络4206可以是任何类型的网络(包括基础设施),所述网络提供通信,交换信息,和/或促进系统4200的组件之间的信息的交换。例如,网络4206可包括因特网、局域网、无线网络(例如Wi-Fi/302.11网络)或者其他适当连接或者作为其组成部分。在其他实施例中,系统4200的一个或多个组件可通过专用通信链路(诸如例如电话网络、外联网、内联网、因特网、卫星通信、离线通信、无线通信、转发器通信、局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)等)直接通信。

图43A和图43B示出按照所公开实施例的车辆周围环境的示范图像。主车辆4202的照相装置4203A可捕获表示车辆4202的环境的第一图像4301,并且将第一图像4301传送给导航系统(例如传送给车辆4202的处理器)。第一图像4301可包括交通灯4311的表示,所述交通灯4311定位在沿车道4321的主车辆4202的正前方。第一图像4301还可包括交通灯4312的表示,所述交通灯4312不是定位在车辆4202的正前方。例如,交通灯4312可面向沿车道4322的方向,所述车道4322可与车辆4202正行驶的车道4321垂直。

车辆4202的照相装置4203B可配置成捕获车辆4202的环境的第二图像4302(图43B所示),并且将第一图像4301传送给导航系统(例如传送给车辆4202的处理器)。在一些实施例中,照相装置4203B可具有与照相装置4203A不同的焦距。第二图像4302可包括交通灯4311的表示和交通灯4312的表示。

在一些实施例中,第二图像4302可在捕获第一图像4301的同时被捕获。备选地,第二图像4302可在与捕获第一图像4301的时间不同的时间(例如在捕获第一图像4301之前或之后)被捕获。

导航系统可分析第一图像4301,以识别交通灯4311和交通灯4311的状态(例如具有红灯状态)。在一些实施例中,导航系统还可基于第一图像4301来识别交通灯4312,但是可能无法识别交通灯4312的状态,因为交通灯4312不是面向照相装置4203A,并且其状态无法基于第一图像4301来识别。导航系统可基于对第一图像4301的分析来生成第一检测结果,该第一检测结果包括交通灯4311及其状态(例如具有红灯状态)的标识。在一些实施例中,导航系统可从第一检测结果中排除交通灯4312的标识,因为其状态无法基于对第一图像4301的分析来识别。

导航系统还可分析第二图像4302,以识别交通灯4311和交通灯4311的状态(例如具有红灯状态)。导航系统可基于对第二图像4302的分析来生成第二检测结果,该第二检测结果包括交通灯4311及其状态(例如具有红灯状态)的标识。

图44是示出按照所公开实施例、导航车辆的示范过程4400的流程图。虽然下面提供的过程4400的描述使用车辆4202的处理器作为示例,但是本领域的技术人员会理解,过程4400的一个或多个步骤可由车辆(例如车辆4202)、与车辆4202关联的车辆装置和/或服务器4201来执行。例如,服务器4201可接收来自照相装置4203A的第一图像以及来自照相装置4203B的第二图像。服务器4201可分析第一图像,以生成第一检测结果(该第一检测结果包括交通灯和交通灯的状态的标识),并且分析第二图像,以生成第二检测结果(该第二检测结果包括交通灯和交通灯的状态的标识)。

在步骤4401,可从车辆的第一照相装置接收从车辆的环境所捕获的第一图像。例如,照相装置4203A可捕获表示车辆4202的环境的第一图像4301。照相装置4203A可将第一图像4301传送给车辆4202的至少一个处理器。在一些实施例中,第一图像4301可包括照相装置4203A的视场中的一个或多个交通灯的表示。

在步骤4402,可从车辆的第二照相装置接收从车辆的环境所捕获的第二图像。例如,照相装置4203B可捕获表示车辆4202的环境的照相装置4203B。照相装置4203B可将第二图像4302传送给车辆4202的处理器。在一些实施例中,第二图像4302可包括照相装置4203B的视场中的一个或多个交通灯的表示。

在一些实施例中,第一照相装置和第二照相装置具有相同配置。例如,第一照相装置和第二照相装置具有相同焦距。作为另一个示例,第一照相装置和第二照相装置可配置成以相同分辨率捕获图像。备选地,第一照相装置可具有与第二照相装置的配置不同的配置。例如,第一照相装置和第二照相装置具有不同焦距。作为另一个示例,第一照相装置可配置成以与第二照相装置所捕获的图像的分辨率不同的分辨率来捕获图像。

在一些实施例中,第一照相装置和第二照相装置可具有至少部分重叠视场。备选地,第一照相装置和第二照相装置具有不同视场。

在一些实施例中,第一照相装置可配置成与第二照相装置捕获第二图像同时地捕获第一图像。备选地,第一照相装置可配置成在与第二照相装置捕获第二图像不同的时间捕获第一图像。例如,可在比捕获第二图像4302的时间要早0.3秒的时间来捕获第一图像4301。

在步骤4403,可分析第一图像,以生成第一检测结果。在一些实施例中,第一检测结果可包括交通灯和交通灯的状态的标识。例如,车辆4202的处理器可配置成分析第一图像4301。处理器还可配置成识别交通灯4311和交通灯4311的状态(例如具有红灯状态)。处理器可进一步配置成生成第一检测结果,该第一检测结果包括交通灯4311和交通灯4311的状态的标识。

在一些实施例中,处理器可基于如本公开其他部分所述的识别交通灯(及其状态)的一个或多个技术从第一图像(和/或第二图像)中识别一个或多个交通灯(及其状态)。例如,处理器确定在图像中可能包含交通灯的位置出现的第一候选对象,并且通过排除不可能对应于交通灯的那些对象来过滤第一候选对象,以得到第二候选对象。过滤可基于与交通灯关联的各种性质进行,例如形状、尺寸、纹理、位置(例如相对于车辆200)等。作为替代或补充,处理器可将(第二)候选对象与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯、交通灯固定装置等的交通灯的图像)进行比较,以确定一个或多个交通灯(及其状态)。作为另一个示例,处理器可使用机器学习算法从第一图像(和/或第二图像)中识别一个或多个交通灯(及其状态)。例如,可应用机器学习算法,以便对图像的一个或多个部分中的高级抽象进行建模,并且基于这些高级抽象来识别一个或多个交通灯。

在一些实施例中,交通灯的状态能够通过交通灯的颜色(例如红、黄、绿或白色)、通过交通灯所显示的图像(例如绿色箭头、橙色手掌、人的图像等)或者通过交通灯所显示的文字(例如车辆的速度、减速的指示、道路工程的指示等)来表示。

在一些实施例中,第一检测结果可包括与(一个或多个)所识别交通灯相关的信息。例如,第一检测结果可包括所识别交通灯的位置、相对于主车辆的取向、到主车辆的距离、与交通灯关联的十字路口等或者它们的组合。在一些实施例中,第一检测结果还可包括(一个或多个)所识别交通灯的每个的置信分。作为替代或补充,第一检测结果可包括与(一个或多个)所识别交通灯关联的所识别状态的每个的置信分。

在步骤4404,可分析第二图像,以生成第二检测结果。第二检测结果可包括交通灯和交通灯的状态的标识。例如,车辆4202的处理器可配置成分析第二图像4302。处理器还可配置成基于对第二图像4302的分析来识别交通灯4311和交通灯4311的状态(例如具有红灯状态)。处理器可进一步配置成基于对第二图像4302的分析来生成第二检测结果,该第二检测结果包括交通灯4311和交通灯4311的状态的标识。

在一些实施例中,第一检测结果中包含的交通灯的状态可与第二检测结果中包含的交通灯的状态相同。例如,第一检测结果中包含的交通灯4311的状态可以是绿灯,并且第二检测结果中包含的交通灯4311的状态也可以是绿灯。备选地,第一检测结果中包含的交通灯的状态可与第二检测结果中包含的交通灯的状态有所不同。例如,第一检测结果中包含的交通灯4311的状态可以是绿灯,而第二检测结果中包含的交通灯4311的状态可以是黄灯。第一检测结果中包含的交通灯的状态与第二检测结果中包含的交通灯的状态之间的差异可归因于捕获第一和第二图像时的交通灯的实际状态的差异。备选地,第一检测结果中包含的交通灯的状态与第二检测结果中包含的交通灯的状态之间的差异可归因于第一和第二检测结果中的交通灯的状态的标识之一(或两者)的不精确性。例如,交通灯的实际状态在捕获第一和第二图像时均为绿灯。处理器可基于对第一图像的分析将交通灯的状态识别为绿灯,但是基于对第二图像的分析将交通灯的状态识别为黄灯(例如交通灯周围因光线条件的突然变化引起的光斑)。

在一些实施例中,第二检测结果可包括与(一个或多个)所识别交通灯相关的信息。例如,第二检测结果可包括所识别交通灯的位置、相对于主车辆的取向、到主车辆的距离、与交通灯关联的十字路口等或者它们的组合。在一些实施例中,第二检测结果还可包括(一个或多个)所识别交通灯的每个的置信分。作为替代或补充,第二检测结果可包括与(一个或多个)所识别交通灯关联的所识别状态的每个的置信分。

在一些实施例中,第一图像可包括两个或更多交通灯(例如第一交通灯和第二交通灯)的表示,以及第二图像可包括两个或更多交通灯(例如第一和第二交通灯)的表示。第一交通灯可与第二交通灯不同。在一些实施例中,第一交通灯可与第二交通灯相邻。例如,第一交通灯可包括红-绿-黄交通灯,以及第二交通灯可包括转弯信号灯并且与第一交通灯相邻。导航系统可配置成分析第一图像,以识别第一交通灯和第二交通灯及其状态。导航系统还可配置成生成第一检测结果,该第一检测结果包括第一交通灯、第二交通灯、第一交通灯的状态和第二交通灯的状态的标识。导航系统可进一步配置成分析第二图像,以识别第一交通灯和第二交通灯及其状态。导航系统还可配置成基于对第二图像的分析来生成第二检测结果,该第二检测结果包括第一交通灯、第二交通灯、第一交通灯的状态和第二交通灯的状态的标识。

在步骤4405,可比较第一检测结果和第二检测结果,以确定第三检测结果。第三检测结果可包括交通灯的确认状态。例如,车辆4202的处理器可比较第一检测结果中包含的交通灯的状态和第二检测结果中包含的交通灯的状态。如果第一检测结果中包含的交通灯的状态与第二检测结果中包含的交通灯的状态一致(例如均为绿灯),则处理器可确定第三检测结果,该第三检测结果包括交通灯的确认状态(例如绿灯)。

在一些实施例中,交通灯的确认状态可至少部分基于交通灯的先前观察状态。例如,处理器可基于比第一图像(和第二图像)更早捕获的一个或多个图像来确定交通灯的确认状态(或者先前观察状态)。处理器可通过将交通灯的先前观察状态与第一检测结果和第二检测结果中包含的交通灯的状态的一个或多个进行比较,来确定交通灯的当前确认状态。第一检测结果和第二检测结果中包含的交通灯的状态的一个或多个可与先前观察状态进行比较,以确认状态检测的精度。

在一些实施例中,处理器可配置成确定与第一检测结果关联的第一置信水平指示符,并且确定与第二检测结果关联的第二置信水平指示符。处理器还可配置成基于第一置信水平指示符和第二置信水平指示符的比较来确定交通灯的确认状态。作为举例,处理器可确定与第一检测结果关联的第一置信水平指示符(例如70%或“MID”(中等)水平的置信分),并且确定与第二检测结果关联的第二置信水平指示符(例如90%或“HIGH”(高)水平的置信分)。处理器还可配置成基于第一置信水平指示符和第二置信水平指示符的比较将第二检测结果中包含的交通灯的状态确定为交通灯的确认状态。在一些实施例中,处理器可配置成确定交通灯的确认状态的置信分(或者置信水平)。例如,处理器可配置成基于第一和第二检测结果的比较结果来确定置信分。作为举例,如果第一检测结果与第二检测结果一致,则处理器可将第一检测结果的置信分(例如70%)与第二检测结果的置信分(例如90%)的平均数确定为确认状态的置信分(即,80%)。

在一些实施例中,如上所述,第一图像可包括两个或更多交通灯(例如第一交通灯和第二交通灯)的表示,以及第二图像可包括两个或更多交通灯(例如第一和第二交通灯)的表示。第一交通灯可与第二交通灯不同。第一检测结果可包括第一交通灯、第二交通灯、第一交通灯的状态和第二交通灯的状态的标识,以及第二检测结果可包括基于对第二图像的分析的第一交通灯、第二交通灯、第一交通灯的状态和第二交通灯的状态的标识。处理器可配置成比较第一检测结果和第二检测结果,并且至少部分基于该比较来确定要包含在第三检测结果中的第二交通灯的确认状态。

在一些实施例中,处理器可配置成在确定交通灯的确认状态时考虑其他信息。例如,第一图像和第二图像的至少一个可包括交通灯组的表示,该交通灯组可包括所述交通灯。处理器可配置成接收指定交通灯组中的交通灯的至少两个之间的关系的地图信息。例如,如图43所示,第一图像4301可包括交通灯组的表示,该交通灯组包括交通灯4311和交通灯4312。处理器可配置成从例如本地存储装置、服务器4201和/或数据库4204接收指定交通灯4311与交通灯4312之间的关系的地图信息。处理器还可配置成基于指定交通灯组中的至少两个交通灯之间的关系的地图信息来确定确认检测结果。作为举例,第一(和/或第二)图像可包括交通灯3630A和3630B(图36A所示)的表示。处理器可配置成基于对第一图像(和/或第二图像)的分析来生成包括交通灯3630A和3630B及其状态的标识的第一检测结果(和/或第二检测结果)。在一些实施例中,地图信息可包括指定第一交通灯与第二交通灯之间的空间关系的信息。例如,地图信息可包括第一和第二交通灯的位置(例如GPS坐标、交通灯相对于其他交通灯的位置、相对于与交通灯关联的十字路口的边界的位置)。作为替代或补充,地图信息可包括关联第一交通灯的状态和第二交通灯的状态的逻辑关系。例如,处理器可配置成接收指定交通灯3630A和3630B之间的关系的地图信息,该关系指示交通灯是处于共同状态还是某些交通灯应当处于彼此相反的状态。作为举例,处理器可接收指定交通灯3630A和3630B之间的关系的地图信息,该关系指示交通灯3630A和3630B的状态处于彼此相反的状态。作为另一个示例,逻辑关系可指示第一交通灯和第二交通灯具有共同状态模式。备选地,逻辑关系可指示第一交通灯和第二交通灯具有相反状态模式。处理器可进一步配置成基于指定至少两个交通灯之间的关系的地图信息来确定确认检测结果。例如,第一检测结果可包括作为红灯的交通灯3630A的所识别状态以及作为绿灯的交通灯3630B的所识别状态。第二检测结果可包括作为红灯的交通灯3630A的所识别状态以及作为红灯的交通灯3630B的所识别状态(这不同于第一检测结果中包含的交通灯3630B的所识别状态)。地图信息可指定交通灯3630A和3630B之间的关系,该关系指示交通灯3630A和3630B的状态处于彼此相反的状态。处理器可基于第一检测结果、第二检测结果以及地图信息中指定的交通灯3630A和3630B之间的关系来确定交通灯3630B的确认状态。例如,处理器可将交通灯3630B的确认状态确定为绿灯,给定(1)第一检测结果指示交通灯3630B的状态为绿灯,(2)第一和第二检测结果两者均指示交通灯3630A的状态为红灯,以及(3)地图信息指示交通灯3630B的状态是交通灯3630A的相反状态(即,红灯),即使第二检测结果指示交通灯3630B的状态为红灯。

在步骤4406,车辆的导航动作可基于交通灯的确认状态。例如,处理器可确定主车辆前方的交通灯的确认状态为红灯。处理器还可配置成确定导航动作,该导航动作可包括主车辆的制动以及在与交通灯关联的十字路口之前停车。作为另一个示例,如果主车辆前方的交通灯的确认状态为绿灯,则处理器可配置成保持当前航向方向的导航动作。导航动作可包括保持车辆的当前航向方向、转向、制动等的一个或多个或者它们的组合。

在一些实施例中,处理器可进一步基于捕获第一图像和第二图像之间的时间时长来确定车辆的导航动作。例如,主车辆前方的交通灯的确认状态可以为绿灯,并且捕获第一图像和第二图像之间的时间时长可以为五秒。处理器可基于捕获第一图像和第二图像之间的时间周期来确定包括主车辆的制动的导航动作,并且准备在与交通灯关联的十字路口之前停车,尽管交通灯的确认状态为绿灯。

在一些实施例中,处理器可配置成进一步基于车辆的位置和交通灯的位置来确定导航动作。例如,处理器可确定车辆的位置(基于例如来自与车辆关联的GPS装置的GPS信号)。处理器还可确定交通灯的位置。例如,处理器可基于对第一图像和/或第二图像的分析来确定交通灯的位置。作为替代或补充,处理器可接收指定交通灯的位置的地图信息(从例如本地存储装置、服务器4201和/或数据库4204)。处理器可进一步配置成基于交通灯的确认状态以及车辆的位置和交通灯的位置的比较来确定车辆的导航动作。例如,交通灯的确认状态可以是绿灯,以及处理器可确定车辆的位置与交通灯的位置之间的距离可以为10米。处理器可确定包括保持速度以通过交通灯的导航动作。

在一些实施例中,处理器可基于两个或更多交通灯的确认状态(例如第一交通灯和第二交通灯的确认状态)来确定车辆的导航动作。

在步骤4407,可使车辆实现导航动作。例如,处理器可将控制信号传送给车辆的一个或多个组件(例如转向机构、制动机构或者车辆的各种其他组件),以实现导航动作。例如,如果处理器确定交通灯的确认状态是绿灯,则处理器可将控制信号传送给制动机构和功率机构,以减速并且在与交通灯关联的十字路口之前停车。

在一些实施例中,导航系统可包括三个或更多照相装置。例如,导航系统可包括三个照相装置—左照相装置、中间(或主)照相装置和右照相装置。左照相装置可具有聚焦在车辆的左前侧的车辆的环境上的视场。中间照相装置可具有聚焦在车辆的中间、前侧的车辆的环境上的视场。右照相装置可具有聚焦在车辆的右前侧的车辆的环境上的视场。左照相装置可配置成捕获第一图像,中间照相装置可配置成捕获第二图像,以及右照相装置可配置成捕获第三图像。导航系统可配置成分析第一、第二和第三图像,以识别图像中包含的一个或多个交通灯以及(一个或多个)所识别交通灯的状态,并且基于对第一、第二和第三图像的分析来生成一个或多个检测结果(如本公开的其他部分所述)。导航系统还可配置成比较检测结果,以确定最终检测结果,该最终检测结果可包括一个或多个所识别交通灯的确认状态。在一些实施例中,有可能的是,在第一、第二和第三图像之一中没有识别交通灯。例如,交通灯可能被卡车从右照相装置的视场中阻挡,但是出现在左和中间照相装置的视场中。导航系统可基于对第一图像的分析来生成第一检测结果(该第一检测结果包括交通灯及其状态的标识),并且基于对第二图像的分析来生成第二检测结果(该第二检测结果包括同一交通灯及其状态的标识)。导航系统还可配置成比较所生成检测结果,以确定最终检测结果,该最终检测结果可包括所识别交通灯的确认状态。

在一些实施例中,导航系统可将基于对一个图像(例如第一图像)的分析所识别的交通灯投影至另一个图像(例如第二图像)中。例如,导航系统可包括五个照相装置。第一照相装置可以是具有鱼眼(或宽)镜头的照相装置,第二照相装置可以是具有长焦镜头的照相装置,以及第三照相装置可以是具有普通镜头(例如具有等于50 mm的焦距)的中间(或主)照相装置。第一、第二和第三照相装置的每个可具有车辆中间、前面的视场。第四照相装置可以是左照相装置,其具有普通镜头,并且具有聚焦在车辆左前方的环境上的视场,以及第五照相装置可以是右照相装置,其具有普通镜头,并且具有聚焦在车辆右前方的环境上的视场。多照相装置配置可帮助识别一个或多个交通灯,在单照相装置配置的情况下所述交通灯可能被项目或车辆所遮蔽。例如,在交通灯所管理的最左侧可存在公共基础设施车道(例如公共汽车专用车道),该车道与主车辆正行驶的主道路分离,所述主道路还具有左转车道。在某些情况下,这个交通灯可能未被所有照相装置(或者单照相装置建立中的照相装置)所捕获。例如,车辆可能阻挡照相装置相对交通灯的视图。因此,可期望导航系统检测公共基础设施车道的交通灯,以防止从主道路变更车道的主车辆与基础设施车道中的公共汽车的碰撞。导航系统可分析照相装置所捕获的图像,以识别照相装置的视场中的一个或多个交通灯,并且识别所识别的一个或多个交通灯的状态(如本公开的其他部分所述)。导航系统还可配置成基于对图像的分析来相互关连一个或多个所识别交通灯。导航系统可进一步配置成将一个图像中识别的至少一个交通灯投影至另一个图像中。例如,导航系统可从左照相装置所捕获的图像(例如第四图像)中识别公共基础设施车道的交通灯,并且基于对第一图像的分析来识别交通灯的状态。导航系统可将所识别交通灯投影至鱼眼照相装置所捕获的图像(例如第一图像)中,所述鱼眼照相装置可具有五个照相装置之中最大的视场。例如,导航系统可配置成在第一图像中的对应位置绘制表示所识别照相装置的框。导航系统还可配置成将与交通灯的所识别状态(例如确认状态)相关的信息包含至第一图像中。例如,导航系统可在第一图像中绘制或叠加表示具有红灯状态的交通灯的绿框(或者表示具有绿灯状态的交通灯的红框)。这类注释图像可被输出到显示器或者被传送给远程服务器。

在一些实施例中,交通灯可配备有发射器,该发射器配置成广播交通灯标识符连同特定交通灯的当前状态。虽然相对于特定交通灯的导航单独基于所接收发射器信号可以是可能的,但是独立的冗余检测系统可用来考虑对发射器信号的潜在问题(例如,是否特定信号与不是所属的特定交通灯错误关联;是否存在传输中的时延,使得仅在延迟周期之后才识别交通灯状态变化;或者是否传输系统失灵)。导航系统可进一步基于从交通灯所接收的信号来配置成交通灯的确认状态,该信号指示交通灯的身份以及当交通灯传送该信号时的交通灯的状态。例如,交通灯可广播指示其身份和当前状态(例如绿灯状态)的信号,以及导航系统(例如车辆4202)可接收该信号,并且基于该信号来确定交通灯的状态。作为替代或补充,交通灯可通过网络(例如网络4206)传送信号。例如,交通灯可基于各种无线协议(例如全球移动通信系统(GSM)、Wi-Fi、Bluetooth®、Bluetooth Smart、802.15.4、ZigBee等)通过网络传送信号。在一些实施例中,交通灯可将信号传送给服务器(例如服务器4201),该服务器可将信号或者信号中包含的信息(例如交通灯的身份及其当前状态)转发给车辆4202。作为替代或补充,交通灯可将信号直接传送给车辆4202。

处理器可将一个或多个检测结果(所述检测结果可包括交通灯的一个或多个所识别状态)与基于从交通灯所接收的信号所确定的交通灯的状态进行比较。处理器还可配置成基于该比较来确定交通灯的确认状态,所述比较与如本公开的其他部分所述的第一检测结果和第二检测结果之间的比较相似。在一些实施例中,处理器可配置成基于从交通灯所接收的信号来确定交通灯的所确定状态的置信水平。处理器还可配置成当确定交通灯的确认状态时考虑所确定置信水平。例如,交通灯可周期地广播信号,该信号指示广播该信号时的当前状态。处理器可配置成基于状态以及自接收信号以来经过的时间段来确定置信水平。例如,处理器还可确定自接收信号以来经过的时间段大于第一预定阈值。第一预定阈值对于红灯状态或绿灯状态可在1至5分钟的范围中,而对闪烁状态(例如闪烁绿灯状态)可在1至15秒的范围中。处理器可进一步确定信号中指示的交通灯的状态的“LOW”(低)置信水平。作为另一个示例,如果处理器确定自接收信号以来经过的时间段小于第一预定阈值但大于第二预定阈值,则处理器可确定交通灯的状态的“MID”的置信水平。作为又一个示例,如果处理器确定自接收信号以来经过的时间段小于第二预定阈值,则处理器可确定交通灯的状态的“HIGH”的置信水平。如本公开的其他部分所述来自基于照相装置的系统的检测信号能够与基于发射器的检测路径相结合,以增强交通灯检测和交通灯状态检测中的置信水平。例如,在一些情况下,在检测结果的置信水平基于照相装置所捕获的图像的分析(如本公开的其他部分所述)的情况下,它可用来代替所传送信号指示。在一些情况下,所传送信号可确认基于照相装置的检测。作为另一个示例,当基于照相装置的检测中的置信度低于阈值时,可更多地依靠基于传输的检测。

在一些实施例中,交通灯(或者其他照明标志等)的夜间检测(或者其他棘手照明情形—例如眩光或背景光源)以及它们的照明状态的确定能够是困难的。导航系统可配置成确定与特定交通灯关联的灯是否被照亮。导航系统还可配置成转换或压缩与车辆关联的照相装置所捕获的图像(例如从20位到8位)。在压缩期间,导航系统可配置成选择与灯关联的交通灯的区域内的像素作为锚定像素。锚定像素可具有与ON状态关联的照明等级。导航系统还可配置成将锚定像素周围的像素与锚定像素进行比较。具有高于锚定像素的照明等级的像素可被认为被照亮,而具有低于锚定像素的照明等级的像素将被认为未被照亮。所产生二进制图将在表示灯的像素之间具有更高对比度,并且能够产生与特定灯是否被照亮有关的更决定性结果。

可通过使用高分辨率图像来增强交通灯检测和交通灯照明状态的确定。但是,以高分辨率分析完整图像在时间和计算能力上是高费用的。另外,由于交通灯可表示所捕获图像的小区域,因此与高分辨率图像分析关联的成本的许多可能被浪费在没有包括交通灯的图像的区域上。所公开技术可涉及首先分析所捕获图像的低分辨率版本,以识别交通灯候选区域(或图块)。这类区域(或图块)可与低分辨率图像中识别的矩形或其他交通灯相关形状关联。图像的更高分辨率版本可用来仅分析图像的低分辨率版本中识别的交通灯候选区域。对高分辨率区域(或图块)的分析能够帮助确认候选是否为交通灯,并且还能够提供交通灯的灯的照明状态/颜色的更精确检测。作为用于识别可包括交通灯的候选区域/图块的附加技术,地图中存储的信息能够用来预测交通灯可出现在所捕获图像中的位置(例如将捕获图像时的照相装置位置与具有所存储交通灯位置的地图进行比较能够引起交通灯在所捕获图像中可出现的位置的预测)。

本公开描述一种用于车辆的导航系统,该导航系统可配置成识别沿车辆所行驶的公路的交通灯。在实施例中,导航系统可配置成接收从车辆的环境所捕获的图像。该图像可具有第一分辨率。导航系统还可配置成生成具有第二分辨率(该第二分辨率低于第一分辨率)的图像的修改版本,并且分析图像的修改版本,以确定与所捕获图像的修改版本关联的至少一个交通灯候选区域。导航系统可进一步配置成基于所捕获图像的修改版本的至少一个交通灯候选区域来确定要分析的所捕获图像的一部分。导航系统还可配置成分析所捕获图像的确定部分,以确认交通灯的表示存在于所捕获图像的确定部分中。在一些实施例中,导航系统可选地可基于所识别交通灯来确定导航动作,并且使车辆实现导航动作。

图45是按照所公开实施例的示范导航系统4500的图解表示。导航系统4500可包括服务器4501、一个或多个车辆4502、一个或多个照相装置4503、数据库4504和网络4505。服务器4501可配置成向车辆4502提供地图信息。例如,服务器4501可配置成向车辆4502传送包括与一个或多个交通灯相关的信息的地图信息。车辆4502可配置成操作车辆的一个或多个组件,例如转向机构、制动机构或者各种其他组件。数据库4504可配置成存储系统4500的组件(例如服务器4501、车辆4502和/或照相装置4503)的信息。网络4505可配置成促进系统4500的组件之间的通信。

在一些实施例中,服务器4501可以是执行本文所公开功能的云服务器。术语“云服务器”表示经由网络(例如因特网)来提供服务的计算机平台。在这个示例配置中,服务器4501可使用虚拟机,所述虚拟机可能不对应于单独硬件。例如,计算和/或存储能力可通过从可缩放知识库(例如数据中心或分布式计算环境)分配预期计算/存储能力的适当部分来实现。在一个示例中,服务器4501可使用定制硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件和/或程序逻辑(它们与计算机系统结合使服务器4501成为专用机器)来实现本文所述的方法。

车辆4502可包括一个或多个组件,例如转向机构、制动机构或者实现各种导航动作的各种其他组件。车辆4502可以是其他实施例中公开的类似车辆(例如车辆200),并且可包括其他实施例中公开的车辆中包含或者与其关联的组件或装置。车辆4502可被配备有一个或多个图像捕获装置或照相装置(例如图像捕获装置122、照相装置4503)。车辆4502可经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与服务器4501进行通信。车辆4502可向服务器4501传送数据,并且从服务器4501接收数据。

照相装置4503可包括与主车辆关联的一个或多个图像捕获装置(例如图像捕获装置122、图像捕获装置124和图像捕获装置126),配置成捕获表示车辆的环境的一个或多个图像。照相装置4503可配置成将图像传送给导航系统4500的一个或多个组件(例如车辆4502、服务器4501和/或数据库4504)。在一些实施例中,照相装置4503可包括两个或更多照相装置,所述照相装置配置成捕获表示车辆4502的环境的图像。在一些实施例中,照相装置可以是相同类型的照相装置。备选地,照相装置的至少两个可以是不同的(例如具有不同焦距等或者它们的组合)。例如,照相装置4503可包括五个照相装置。第一照相装置可以是具有鱼眼镜头的照相装置,第二照相装置可以是具有长焦镜头的照相装置,以及第三照相装置可以是具有普通镜头(例如焦距等于50 mm)的中间(或主)照相装置。第一、第二和第三照相装置的每个可具有车辆中间、前面的视场。第四照相装置可以是左照相装置,其具有普通镜头,并且具有聚焦在车辆左前方的环境上的视场,以及第五照相装置可以是右照相装置,其具有普通镜头,并且具有聚焦在车辆右前方的环境上的视场。

数据库4504可包括地图数据库,该地图数据库配置成存储系统4500的组件(例如服务器4501和/或车辆4502)的地图数据。在一些实施例中,服务器4501和/或车辆4502可配置成访问数据库4504,并且经由网络4505从数据库4504得到所存储数据和/或向数据库4204上传数据。例如,服务器4501可向数据库4504传送与地图信息相关的数据以供存储。车辆4502可从数据库4504下载地图信息和/或数据。在一些实施例中,数据库4504可包括与一个或多个交通灯、各种项目(包括道路、水特征、地理特征、商业、感兴趣点、餐馆、加油站等)在参考坐标系中的位置或者它们的组合相关的数据。在一些实施例中,数据库4504可包括与本公开的其他部分所述的地图数据库160相似的数据库。

网络4505可以是任何类型的网络(包括基础设施),所述网络提供通信,交换信息,和/或促进系统4500的组件之间的信息的交换。例如,网络4505可包括因特网、局域网、无线网络(例如Wi-Fi/302.11网络)或者其他适当连接或者作为其组成部分。在其他实施例中,系统4500的一个或多个组件可通过专用通信链路(诸如例如电话网络、外联网、内联网、因特网、卫星通信、离线通信、无线通信、转发器通信、局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)等)直接通信。

图46A示出按照所公开实施例、由照相装置4503所捕获的车辆周围环境的示范图像4610。主车辆4502的照相装置4503可捕获表示车辆4502的环境的图像4610,并且将图像4610传送给导航系统(例如传送给车辆4502的处理器)。图像4610可包括交通灯4601的表示,所述交通灯4601可定位在主车辆4502的正前方。在一些实施例中,图像4610还可包括一个或多个交通灯的表示,所述交通灯不是定位在车辆4502的正前方(例如面向沿与车辆4502正行驶的车道垂直的车道的方向)。导航系统可配置成生成图像4610的修改版本。在一些实施例中,图像4610的修改版本可具有比图像4610的分辨率要低的分辨率。例如,图46B示出按照所公开实施例的图像4610的示范修改版本。图像4610的修改版本(本文中又称作修改图像4620)可具有是所捕获图像的图像分辨率的至少一半的图像分辨率。在一些实施例中,所捕获图像的修改版本的图像分辨率是所捕获图像的图像分辨率的至少三分之一或四分之一。

导航系统还可配置成分析图像的修改版本,以确定与所捕获图像的修改版本关联的至少一个交通灯候选区域。例如,导航系统可确定在图像中可能包含交通灯的位置出现的第一候选对象,并且通过排除不可能对应于交通灯的那些对象来过滤第一候选对象,以得到第二候选对象。过滤可基于与交通灯关联的各种性质进行,例如形状、尺寸、纹理、位置(例如相对于车辆200)等。导航系统还可将第二候选对象与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯、交通灯固定装置等的交通灯的图像)进行比较,以确定一个或多个候选交通灯。导航系统可确定至少一个候选交通灯周围的一个交通灯候选区域(通过例如绘制框)。导航系统可进一步配置成基于所捕获图像的修改版本的至少一个交通灯候选区域(例如交通灯候选区域4621)来确定要分析的所捕获图像的一部分(例如图像4610中的交通灯候选区域4611)。例如,导航系统可识别至少一个交通灯候选区域的像素,并且确定所捕获图像中与修改版本中的所识别像素对应的像素。导航系统可进一步基于根据如本公开的其他部分所述的图像分析识别交通灯的一种或多种方法来识别所捕获图像的确定部分中的一个或多个交通灯。

图47是示出按照所公开实施例、导航车辆的示范过程4700的流程图。虽然下面提供的过程4700的描述使用车辆4502的处理器作为示例,但是本领域的技术人员会理解,过程4700的一个或多个步骤可由车辆(例如车辆4502)、与车辆4502关联的车辆装置和/或服务器4501来执行。

在步骤4701,可接收从车辆的环境所捕获的图像。该图像可具有第一分辨率。在一些实施例中,车辆4502的处理器可配置成接收由照相装置4503所捕获的表示车辆的环境的图像。例如,当车辆4502沿路段行驶时,处理器可接收由照相装置4503所捕获的表示车辆的环境的图像4610(图46所示)。

在步骤4702,可分析所捕获图像的修改版本,以确定与所捕获图像的修改版本关联的至少一个交通灯候选区域。所捕获图像的修改版本可具有比所捕获图像的第一分辨率要低的第二分辨率。在一些实施例中,车辆4502的处理器可配置成生成所捕获图像的修改版本,并且分析图像的修改版本,以确定与图像的修改版本关联的至少一个交通灯候选区域。例如,处理器可通过例如将图像4610转换为具有更低图像分辨率的图像基于图像4610来生成图像的修改版本(例如图46所示的修改图像4620)。作为举例,图像4610可具有1920×1080的图像分辨率。处理器可配置成将图像4610转换为具有960×540的图像分辨率的修改版本,该图像分辨率是所捕获图像的像素数量的四分之一。在一些实施例中,处理器可使用缩减技术(例如最近邻内插、双线性内插、Sinc和Lanczos再取样、框取样、傅立叶变换方法、边缘定向内插算法等)来生成所捕获图像的修改版本。作为替代或补充,处理器可使用机器学习算法(例如深度卷积神经网络)来生成修改版本。处理器还可将修改版本保存至本地存储装置中以供进一步处理。例如,处理器可分析修改图像4620,以便在修改图像4620中确定可与交通灯关联的交通灯候选区域4621。在一些实施例中,处理器可基于如本公开的其他部分所述的识别图像中的交通灯的一种或多种方法来分析修改图像4620。例如,处理器可扫描图像,并且识别在图像中可能包含交通灯的位置出现的候选对象。处理器还可通过例如排除不可能对应于交通灯的那些对象来过滤候选对象。过滤可基于与交通灯关联的各种性质进行,例如形状、尺寸、纹理、位置(例如相对于车辆200)等。这类性质可基于交通灯和交通控制信号的多个示例,并且被存储在数据库中。作为替代或补充,处理器可将修改版本(或者它的一部分)与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯、交通灯固定装置等的交通灯的图像)进行比较,以识别候选交通灯和/或交通灯候选区域。在一些实施例中,处理器可对反映可能的交通灯的候选对象集合执行多帧分析。例如,处理器可跨连续图像帧(所捕获图像的修改版本)跟踪候选对象,估计候选对象的现实世界位置,并且滤出正在移动(不可能是交通灯)的那些对象。在一些实施例中,处理器可对候选对象执行颜色分析,并且识别可能的交通灯内部出现的所检测颜色的相对位置。在一些实施例中,处理器还可在修改图像4620中确定至少一个候选交通灯周围的交通灯候选区域(例如交通灯候选区域4621)。分析所捕获图像的修改版本而不是分析所捕获图像可要求更少计算要求并且增加处理速度。例如,如果在所捕获图像的修改版本中没有找到交通灯候选区域,则可从进一步处理中丢弃所捕获图像,由此节省计算机能力并且增加处理速度。

在一些实施例中,所捕获图像的修改版本的图像分辨率是所捕获图像的图像分辨率的至少一半、所捕获图像的图像分辨率的至少三分之一或者所捕获图像的图像分辨率的至少四分之一。

在一些实施例中,处理器可确定可包括至少一个候选交通灯的表示的至少一个交通灯候选区域。作为替代或补充,处理器可确定可包括具有矩形形状的对象的至少一个交通灯候选区域。矩形对象可包括交通灯固定装置和交通灯的至少一个。在一些实施例中,处理器可将候选对象与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯、交通灯固定装置等的交通灯的图像)进行比较,以确认候选对象可能是交通灯(或者它的一部分)。

在一些实施例中,处理器还可配置成识别与至少一个交通灯候选区域关联的交通灯(这可与本公开的其他部分所述的识别交通灯的示范方法相似)。处理器可进一步配置成基于对所捕获图像的修改版本的至少一个交通灯候选区域的分析来识别交通灯的状态(这可与本公开的其他部分所述的示范方法相似)。如本公开的其他部分所述,交通灯的状态能够通过交通灯的颜色(例如红、黄、绿或白色)、通过交通灯所显示的图像(例如绿色箭头、橙色手掌、人的图像等)或者通过交通灯所显示的文字(例如车辆的速度、减速的指示、道路工程的指示等)来表示。在一些实施例中,处理器还可确定所识别交通灯和/或交通灯的所识别状态的置信水平。可选地,如果处理器确定所识别交通灯和/或交通灯的所识别状态的置信水平低于阈值,则过程4700可停止,并且处理器可处理下一个所捕获图像。在一些实施例中,处理器可将候选交通灯与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯、交通灯固定装置等的交通灯的图像)进行比较,以确定候选交通灯的状态。

在步骤4703,要分析的所捕获图像的一部分可基于所捕获图像的修改版本的至少一个交通灯候选区域来确定。在一些实施例中,车辆4502的处理器可配置成基于所捕获图像的修改版本的至少一个交通灯候选区域来确定要分析的所捕获图像的一部分。例如,处理器可配置成确定与修改图像4620的交通灯候选区域4621对应的图像4610的一部分(例如图46A所示的交通灯候选区域4611)以供进一步分析。作为举例,处理器可确定所捕获图像的修改版本中与交通灯候选区域关联的像素。处理器还可确定包括所捕获图像中与关联于交通灯候选区域的像素对应的像素的所捕获图像的一部分。

在步骤4704,可分析所捕获图像的确定部分,以确认(或识别)交通灯的表示存在于所捕获图像的确定部分中。在一些实施例中,车辆4502的处理器可配置成分析所捕获图像的确定部分,以确认交通灯的表示存在于所捕获图像的确定部分中。例如,处理器可配置成分析图46A所示的交通灯候选区域4611,以确认(或识别)交通灯4601的表示存在于交通灯候选区域4611中。在一些实施例中,处理器还可配置成如本公开的其他部分所述对所捕获图像的部分的分析来确定交通灯的状态(例如绿灯状态)。例如,处理器可将所识别交通灯与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯、交通灯固定装置等的交通灯的图像)进行比较,以确定交通灯的状态。作为另一个示例,处理器可使用机器学习算法来识别一个或多个交通灯。例如,可应用机器学习算法,以便对一个或多个图像的一个或多个部分中的高级抽象进行建模,并且基于这些高级抽象来识别一个或多个交通灯。在一些实施例中,处理器还可确定所识别交通灯和/或交通灯的所识别状态的置信水平。

在一些实施例中,处理器可配置成基于交通灯的状态来确定车辆的导航动作。例如,处理器可确定主车辆前方的交通灯的确认状态为红灯。处理器还可配置成确定导航动作,该导航动作可包括主车辆的制动以及在与交通灯关联的十字路口之前停车。作为另一个示例,如果主车辆前方的交通灯的确认状态为绿灯,则处理器可配置成保持当前航向方向的导航动作。导航动作可包括保持车辆的当前航向方向、转向、制动或加速度等的一个或多个或者它们的组合。处理器可配置成使车辆实现导航动作。例如,处理器可将控制信号传送给车辆的一个或多个组件(例如转向机构、制动机构或者车辆的各种其他组件),以实现导航动作。例如,如果处理器确定交通灯的确认状态是红灯,则处理器可将控制信号传送给制动机构和功率机构,以减速并且在与交通灯关联的十字路口之前停车。

图48是示出按照所公开实施例、导航车辆的另一个示范过程的流程图。虽然下面提供的过程4800的描述使用车辆4502的处理器作为示例,但是本领域的技术人员会理解,过程4800的一个或多个步骤可由车辆(例如车辆4502)、与车辆4502关联的车辆装置和/或服务器4501来执行。

在步骤4801,车辆4502的处理器可配置成从车辆的照相装置接收从车辆的环境所捕获的图像。在一些实施例中,处理器可执行与上述步骤4701相似的步骤4801。例如,处理器可接收由照相装置4503所捕获的表示车辆4502的环境的图像。

在步骤4802,车辆4502的处理器可基于指示捕获图像的位置的信息并且还基于存储与车辆的环境中的至少一个交通灯关联的位置的地图信息来确定所捕获图像中的交通灯候选区域。例如,处理器可在捕获基于大约在捕获图像相同的时间从与车辆4502关联的GPS装置所接收的GPS信号来确定车辆的位置。作为替代或补充,指示捕获图像的位置的信息可包括在捕获图像时的照相装置的位置。处理器还可访问本地存储装置中存储(或者来自远程数据库或服务器4501)的地图信息,并且确定与车辆的环境中的至少一个交通灯关联的位置。处理器可进一步基于捕获图像的所确定位置以及与至少一个交通灯关联的所确定位置来确定所捕获图像中的交通灯候选区域。例如,处理器可基于按照三角测量基于在图像中相对于交通灯的位置出现的所识别路标的位置(可从地图信息得出)将交通灯候选区域投影至图像中。在一些实施例中,处理器可将照相装置的位置与地图信息中包含的一个或多个交通灯位置进行比较,并且基于比较结果来确定交通灯候选区域。例如,处理器可基于地图信息中包含的一个或多个交通灯位置以及照相装置的位置将虚拟交通灯(例如框)投影至所捕获图像中,并且确定与虚拟交通灯至少部分重叠的交通灯候选区域。

在步骤4803,车辆4502的处理器可配置成基于交通灯候选区域来确定要分析的所捕获图像的一部分。例如,处理器可确定与交通灯候选区域至少部分重叠的所捕获图像的一部分。

在步骤4804,车辆4502的处理器可配置成分析图像的所述部分,以识别所捕获图像中的至少一个交通灯的表示。在一些实施例中,处理器可基于如本公开的其他部分所述的识别图像(或者它的一部分)中的交通灯的一种或多种示范方法来分析图像的所述部分,以识别所捕获图像中的至少一个交通灯的表示。在一些实施例中,处理器可配置成识别一个或多个所识别交通灯的每个的状态,如本公开的其他部分所述。

在步骤4805,车辆4502的处理器可配置成基于至少一个交通灯(和/或其所识别状态)来确定车辆的至少一个导航动作,如本公开的其他部分所述。例如,处理器可识别主车辆前方的交通灯。处理器还可配置成确定导航动作,该导航动作可包括主车辆的制动以及在与交通灯关联的十字路口之前停车。

在步骤4806,车辆4502的处理器可配置成使车辆实现至少一个导航动作,如本公开的其他部分所述。例如,处理器可将控制信号传送给车辆的一个或多个组件(例如转向机构、制动机构或者车辆的各种其他组件),以实现导航动作。

交通灯检测能力是自主或部分自主驾驶系统的重要特征。为了导航车辆,在交通灯所控制的交通系统中,可能重要的是不仅检测交通灯的物理存在,而且还确定交通灯的状态(例如当前颜色)以及特定交通灯是否与主车辆的行驶车道相关。其他信息的确定也是重要的。例如,驾驶系统可确定特定交通灯的定时序列,并且还可确定特定交通灯是否包含在一组逻辑相关的交通灯中(例如与一个或多个交通车道相关的两个或更多交通灯)。诸如自主制动或加速之类的导航可基于相关交通灯的已知或预计定时。另外,导航可基于逻辑相关的交通灯组的任一个的所检测状态,甚至在该组中的交通灯并非全部是图像获取装置或另一传感器可见的情况下。交通灯的定时序列以及识别逻辑相关交通灯组的信息可存储在主车辆的系统可访问的任何适当数据库中,无论那些系统是位于主车辆上还是远离主车辆。在一些情况下,这个信息和其他相关交通灯信息可存储在与特定路段关联的REM地图中。

为了识别主车辆的环境中的交通灯,车辆导航系统可依靠传感器输入(例如,基于视觉的传感器,例如照相装置、雷达、激光雷达等)来识别主车辆环境中的交通灯的物理存在。主车辆可访问的所存储信息(例如地图中存储的交通灯信息)可由主车辆导航系统用来确认特定交通灯的身份,并且潜在地确定与交通灯有关的信息(例如灯定时、逻辑编组等)。交通灯的状态可基于照相装置所捕获的图像的分析来识别(例如通过识别照亮灯的当前颜色)。作为补充或替代,交通灯的当前状态(例如红灯、黄灯、闪烁绿灯等)、定时信息(例如红色时间、下一个状态转变时间等)以及任何其他相关信息可从交通灯传送给主车辆导航系统。

在一些情况下,甚至在交通灯将其当前状态传送给环境中的主车辆的情况下,也可存在引起基于所接收信号来确定实际交通灯状态中的延迟的时延。在其他情况下,交通灯可完全或部分被遮蔽,这可妨碍上一个状态转变的确定。以及在又一些情况下,交通灯可在所获取图像中变为可见,但是在主车辆进入十字路口之前没有充分时间进行交通灯状态定时确定。在这些情况下,可期望基于与下一个交通灯红灯状态有关的保守假设或估计来导航车辆。这种估计可称作最坏转红时间(WTTR)。基于WTTR时间估计来确定导航动作可帮助主车辆安全地驶过十字路口。

所公开的导航系统可分析照相装置所捕获的一个或多个图像,以确定特定交通灯的当前状态。不管与特定交通灯相同的逻辑组中的其他交通灯是否可见,该组中的所有交通灯可被指配相同检测颜色(或状态)。在多个交通灯是可见的情况下,逻辑编组能够用来增加对状态确定的置信度。例如,如果逻辑组中的三个交通灯中的两个基于对所获取图像的分析(或者基于来自相应交通灯的所接收信号)被确定处于黄色状态,则同一组中的第三交通灯也可被认为具有黄色状态,即使图像分析(或者所接收信号)指示第三灯处于红色状态。

不管特定交通灯或者交通灯的逻辑组的状态,每个交通灯可与WTTR时间值关联。这个WTTR时间值可用于确定导航系统的策略层进行的导航动作中。例如,甚至在没有基于图像分析观察或检测到特定交通灯的上一个状态转变(或者被传送给车辆)的情况下,WTTR时间估计也可用作可预计下一个红色状态时间的保守估计。WTTR时间可基于当前观察状态以及与当前检测状态和下一个红色状态之间的任何状态关联的已知或估计状态转变时间来确定。例如,如果特定交通灯被确定为处于红色状态,则它的WTTR时间为0秒,因为它已经处于红色状态。但是,如果交通灯被确定为处于绿色状态(在交通灯循环从绿色转黄色转红色的管辖区中),可假定下一个捕获帧将显示黄灯。灯然后将在转变成红色之前对预定或估计时间(例如4秒)保持为黄色。在这种情况下,WTTR时间可被估计在4秒。类似地,在交通灯从绿色转变到闪烁绿色到橙色到红色的管辖区中,如果特定灯被检测为处于绿色状态,则可假定下一个图像帧将显示灯已经转变成闪烁绿色。如果闪烁绿色状态持续2秒,并且后续橙色状态在转变成红色之前持续3秒,则WTTR时间值可被估计为5秒。

可存在与基于WTTR的导航关联的若干有益效果。例如,WTTR方式可有效地表示下一个红色状态的时间方面的最坏情况情形。相应地,将导航判定基于这种最坏情况情形的导航系统可增加安全等级,尤其是相对于十字路口导航。

如果观察到交通灯的上一个状态转变,并且记录其时间,则主车辆能够基于交通灯的已知转变时间和所计算的下一个红色状态(该状态可比WTTR时间明显要长)进行导航。例如,如果主车辆导航系统检测到交通灯状态从红色到绿色的变化并且能够确定预计交通灯在转变成持续4秒的黄色之前保持在绿色状态30秒,则主车辆可确定34秒可以可用于相对于特定十字路口的导航动作(例如驶过十字路口)。另一方面,如果主车辆正接近十字路口并且检测控制十字路口的交通的交通灯,则主车辆导航系统在例如没有观察到上一次红色转绿色状态时可能无法确定准确的下一个转红色状态时间。在这类情况下,基于WTTR方式的导航可提供高安全等级。

为了进行WTTR确定,可从数据库中检索特定交通灯的每个状态的时间。这种信息可基于交通灯的标准化定时(例如在特定地理区域中),或者可被估计(例如基于交通灯是否位于乡村区域(可与较长转变时间关联)、城市区域(可与较短转变时间关联)、较高限速区(更长转变时间)、较低限速区(更短转变时间))。此外,特定交通灯的每个状态的时间可被采集(即,在特定时间或者对特定时间段所观察)并且存储在数据库中。特定交通灯的状态定时也可被存储在REM地图中,并且是主车辆的导航系统通过访问特定路段的REM地图可访问的。

作为补充或替代,可直接从特定交通灯传送状态时间。例如,特定交通灯能够传送下一个转红时间值。甚至在这类信号由交通灯传送的情况下,也仍然可需要与观察以及从所获取图像的分析所得出的定时细节的融合,例如尤其是在信号接收和处理中的时延的情况下。这种方式提供冗余度等级,以改进确定特定交通灯的当前状态中的置信度。在没有观察上一个交通灯状态转变的状况中,特定所捕获图像在序列中出现的位置可能不清楚。在这类情况下,按照WTTR方式,主车辆的导航系统可基于估计或确定转变定时来假定最小下一个红色状态时间。WTTR方式可使主车辆导航系统能够避免某些导航动作(例如完全穿过十字路口)无法在交通灯的下一个红色状态之前完成的状况。

在一些实施例中,导航系统可被编程为从照相装置接收从车辆的环境所捕获的至少一个图像。导航系统还可被编程为分析至少一个图像,以识别至少一个图像中的交通灯的表示。交通灯可与十字路口关联。导航系统可进一步被编程为基于对至少一个图像的分析来确定交通灯的状态,并且基于交通灯的确定状态来确定车辆的计划导航动作。在交通灯处于绿色状态的确定之后,并且在交通灯转变成绿色状态的时间不是已知的情况下,如果车辆预计在预定下一个转红时间的时间间隔之内到达交通灯或十字路口,则导航系统可被编程为使车辆实现计划导航动作。如果车辆预计在预定下一个转红时间的时间间隔之内不会到达交通灯或十字路口,则导航系统可进一步被编程为使车辆实现与该计划导航动作不同的第二导航动作。

图49是按照所公开实施例的示范导航系统4900的图解表示。导航系统4900可包括服务器4901、一个或多个车辆4902、一个或多个照相装置4903、数据库4904和网络4905。服务器4901可被编程为向车辆4902提供地图信息。例如,服务器4901可被编程为向车辆4902传送包括与一个或多个交通灯相关的信息的地图信息。车辆4902可被编程为操作车辆的一个或多个组件,例如转向机构、制动机构或者各种其他组件。数据库4904可被编程为存储系统4900的组件(例如服务器4901、车辆4902和/或照相装置4903)的信息。网络4905可被编程为促进系统4900的组件之间的通信。

在一些实施例中,服务器4901可以是执行本文所公开功能的云服务器。术语“云服务器”表示经由网络(例如因特网)来提供服务的计算机平台。在这个示例配置中,服务器4901可使用虚拟机,所述虚拟机可能不对应于单独硬件。例如,计算和/或存储能力可通过从可缩放知识库(例如数据中心或分布式计算环境)分配预期计算/存储能力的适当部分来实现。在一个示例中,服务器4901可使用定制硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件和/或程序逻辑(它们与计算机系统结合使服务器4901成为专用机器)来实现本文所述的方法。

车辆4902可包括一个或多个组件,例如转向机构、制动机构或者实现各种导航动作的各种其他组件。车辆4902可以是其他实施例中公开的类似车辆(例如车辆200),并且可包括其他实施例中公开的车辆中包含或者与其关联的组件或装置。车辆4902可被配备有一个或多个图像捕获装置或照相装置(例如图像捕获装置122、照相装置4903)。车辆4902可经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与服务器4901进行通信。车辆4902可向服务器4901传送数据,并且从服务器4901接收数据。

在一些实施例中,车辆4902可包括至少一个处理器,所述处理器被编程为执行本公开所述导航系统的功能。例如,处理器可接收从车辆4902的环境所捕获的图像。处理器还可被编程为分析图像,以识别图像中的交通灯的表示。处理器可进一步被编程为基于对图像的分析来确定交通灯的状态,并且基于交通灯的确定状态来确定车辆4902的计划导航动作。处理器还可被编程为确定交通灯是否处于绿色状态。如果交通灯处于绿色状态并且在交通灯转变成绿色状态的时间不是已知的情况下,如果车辆预计在预定下一个转红时间的时间间隔(例如WTTR)之内到达交通灯或十字路口,则处理器也可被编程为使车辆实现计划导航动作。如果车辆预计在预定下一个转红时间的时间间隔之内不会到达交通灯或十字路口,则处理器可进一步被编程为使车辆实现可与该计划导航动作不同的第二导航动作。

照相装置4903可包括与主车辆关联的一个或多个图像捕获装置(例如图像捕获装置122、图像捕获装置124和图像捕获装置126),被编程为捕获表示车辆的环境的一个或多个图像。照相装置4903可被编程为将图像传送给导航系统4900的一个或多个组件(例如车辆4902、服务器4901和/或数据库4904)。在一些实施例中,照相装置4903可包括两个或更多照相装置,所述照相装置被编程为捕获表示车辆4902的环境的图像。在一些实施例中,照相装置可以是相同类型的照相装置。备选地,照相装置的至少两个可以是不同的(例如具有不同焦距等或者它们的组合)。例如,照相装置4903可包括五个照相装置。第一照相装置可以是具有鱼眼镜头的照相装置,第二照相装置可以是具有长焦镜头的照相装置,以及第三照相装置可以是具有普通镜头(例如焦距等于50 mm)的中间(或主)照相装置。第一、第二和第三照相装置的每个可具有车辆中间、前面的视场。第四照相装置可以是左照相装置,其具有普通镜头,并且具有聚焦在车辆左前方的环境上的视场,以及第五照相装置可以是右照相装置,其具有普通镜头,并且具有聚焦在车辆右前方的环境上的视场。

数据库4904可包括地图数据库,该地图数据库被编程为存储系统4900的组件(例如服务器4901和/或车辆4902)的地图数据。在一些实施例中,服务器4901和/或车辆4902可被编程为访问数据库4904,并且经由网络4905从数据库4904得到所存储数据和/或向数据库4904上传数据。例如,服务器4901可向数据库4904传送与地图信息相关的数据以供存储。车辆4902可从数据库4904下载地图信息和/或数据。在一些实施例中,数据库4904可包括与一个或多个交通灯、各种项目(包括道路、水特征、地理特征、商业、感兴趣点、餐馆、加油站等)在参考坐标系中的位置或者它们的组合相关的数据。在一些实施例中,数据库4904可包括与本公开的其他部分所述的地图数据库160相似的数据库。

网络4905可以是任何类型的网络(包括基础设施),所述网络提供通信,交换信息,和/或促进系统4900的组件之间的信息的交换。例如,网络4905可包括因特网、局域网、无线网络(例如Wi-Fi/302.11网络)或者其他适当连接或者作为其组成部分。在其他实施例中,系统4900的一个或多个组件可通过专用通信链路(诸如例如电话网络、外联网、内联网、因特网、卫星通信、离线通信、无线通信、转发器通信、局域网(LAN)、广域网(WAN)、虚拟专用网络(VPN)等)直接通信。

图50示出按照所公开实施例、表示车辆周围环境的示范图像5000。车辆4902的照相装置4603可捕获表示车辆4902的环境的图像5000。图像5000可包括交通灯5001和十字路口5002的表示,该十字路口5002可与交通灯5001关联。导航系统可接收图像5000,以及分析图像,以识别交通灯5001,并且基于对图像的分析来确定交通灯的状态。导航系统还可基于交通灯的所确定状态来确定车辆4902的计划导航动作。

图51-55是示出按照所公开实施例的最坏转红时间定时的示范情形的表。结合图51-55所示的表5100-5500所述的示范情形示出WTTR定时以及鉴于各种所检测情形可如何应用WTTR定时方法的若干情形。表5100-5500所示的情形被假定为处于交通灯序列为绿色、闪烁绿色、橙色(或者许多情况下的黄色)、红色、橙-红色(或者许多情况下的黄-红色)、绿色的管辖区中。可应用类似逻辑和方法,而不管特定交通灯序列,只要该系统具有或者能够获取(或者进行假设)关于特定交通灯或交通灯组的状态定时。另外,在这些情形中,图像获取帧率为1每100 ms,处于闪烁绿色状态的时间为2秒,处于橙色状态的时间为3秒,以及从绿色到红色的总时间为5秒。

参照图51所示的表5100,在帧1,导航系统可确定交通灯处于绿色状态(例如通过分析帧1或者其部分)。但是,导航系统可能没有与红-橙色到绿色状态的定时有关的信息(例如交通灯在哪个时间从红-橙色状态改变成绿色状态,以允许定时器从那个转变指示从绿色到闪烁绿色的变化将发生)。因此,可假定下一帧将显示闪烁绿色状态。相应地,与帧1关联的WTTR时间为5秒(或者5000 ms),这对本特定示例可包括关于交通灯在改变成红色之前将保持在闪烁绿色状态2秒以及随后的橙色状态3秒的预期。在帧2,没有观察到交通灯的状态。因此,WTTR定时继续运行,好像实际状态是到闪烁绿色的转变。在帧3,帧3的图像分析可指示交通灯仍然处于绿色状态。因此,假定下一帧将显示闪烁绿色状态,WTTR时间重置为5秒。在帧4,没有检测到交通灯状态,因此WTTR时间通过与单个帧关联的100 ms来确定并且变为4.9秒。在帧5,检测到闪烁绿色状态。按照WTTR方法,能够假定闪烁绿色状态在检测到帧3的绿色状态之后的瞬间开始。因此,WTTR时间能够继续递减到4.8秒。在帧6,再次检测到闪烁绿色状态,以及WTTR时间递减到4.7秒。在预计情况下,WTTR时间将继续递减,直到WTTR时间减少到0秒,这应当对应于所检测红色状态。

如同上述示例中一样,如果到绿色状态转变时间为未知,则在观察到所获取图像中的绿色状态时,导航系统能够假定下一帧将是从绿色到闪烁绿色的转变。能够基于这种假设来启动WTTR定时器(例如从所捕获帧时间到交通灯的下一个预计红色状态的5秒)。如果对后续五个帧遮蔽同一个交通灯(例如卡车从相对于一个或多个照相装置的视图遮蔽灯),则能够允许WTTR定时器运行,使得到交通灯被遮蔽的第五帧时,WTTR定时器可指示到交通灯的下一个红色状态剩余4.5秒。这个信息能够用来导航主车辆,甚至在从视图中遮蔽交通灯的状况中。例如,如果先前检测的交通灯被遮蔽,则主车辆的导航系统可使主车辆的制动器基于下一个转红色状态时间的预期来减慢主车辆,甚至在交通灯从视图中被遮蔽并且不出现在主车辆上的一个或多个照相装置所获取的图像中的情况下。

图52所示的表5200提供可用于确定主车辆的一个或多个导航动作中的WTTR时间的估计的另一个示例。在这个情况下,特定灯的状态未被检测,直到帧3,其中交通灯被确定为处于橙色状态。因为交通灯转变为橙色状态的时间为未知,所以WTTR时间可设置为100毫秒(例如基于关于100毫秒以后可用的下一帧将显示红色状态的假设)。如果下一帧(即,帧4)继续显示橙色状态,则WTTR时间可保持在100毫秒。在这个示例中,对于显示橙色状态的每个后续帧,WTTR时间将保持为100毫秒并且将不递减。当交通灯被检测到处于红色状态(在帧7)时,WTTR时间可递减到0秒。

图53所示的表5300提供相对于所检测闪烁绿色状态到所检测橙色状态的WTTR时间的估计的示例。例如,特定灯的状态未被检测,直到帧3,其中它被确定为处于闪烁绿色状态。因为交通灯转变为闪烁绿色状态的时间不是已知的(因为它在已经处于闪烁绿色状态时首先在帧3被检测到),所以假定下一帧将显示到橙色的状态转变。因此,WTTR时间可被估计为3.1秒(例如与橙色状态关联的3秒加上获取下一帧的0.1秒)。在帧4,系统确定所检测交通灯保持在闪烁绿色状态。因此,WTTR时间可保持在3.1秒。但是,在帧6,导航系统可检测到交通灯处于橙色状态。相应地,WTTR时间能够递减到3.0秒。在帧7,倒计数继续进行到2.9秒的WTTR时间,这通过在帧7的关于交通灯保持在橙色状态的检测来确认。

图54所示的表5400提供WTTR时间的估计的又一个示例。在帧1,交通灯被检测为处于红-橙色状态(即,仅红色状态之后的状态,指示到绿色状态的转变临近)。在帧2和3,从与那些帧对应的所获取图像中没有检测到交通灯的状态。只要交通灯被检测为处于红-橙色状态(在检测绿色状态之前的任何帧期间的任一个),则WTTR时间可被确定为0秒。但是,在帧4,检测到预计绿色状态。在帧4的WTTR时间可设置为9.8秒(例如10秒减2帧,以0.1秒每帧)。例如,在一些情况下,交通灯在转变成闪烁绿色之前保持在绿色状态的预计时间可以为5秒(例如,基于估计或采集数据),这与闪烁绿色状态的预计2秒以及橙色状态的3秒相结合产生自交通灯转变成绿色状态的时间的10秒的WTTR时间。如果从绿色状态到闪烁状态的这种切换没有发生或者未被观察到,则WTTR时间可设置为5秒。但是在其他情况下,与交通灯绿色状态关联的10秒WTTR时间可表示与关联闪烁绿色状态和橙色状态的总时间关联的预计5秒加上预定缓冲。在这个示例中,预定缓冲可以为5秒,但是它可设置为任何适当值。在一些情况下,缓冲可帮助主车辆的导航。例如,尤其在特定交通灯保持在绿色状态的总时间为未知的情况下,缓冲能够防止主车辆在接近所检测交通灯时过于谨慎地导航。也就是说,在未知被检测为转变成绿色状态的交通灯保持在绿色状态多长时间的情况下,WTTR方法可使导航系统假定下一帧(或临近帧)将展现灯转变(例如转变成闪烁绿色状态或黄色状态)。因此,导航系统可进行导航,预期交通灯转变成闪烁绿色或黄色状态。但是在一些情况下,交通灯可保持在绿色状态许多秒,使得不需要车辆基于交通灯的状态的临近变化的预期相对于交通灯进行导航。在这类情况下,包含利用WTTR时间的预定缓冲可使车辆导航系统能够相对于对至少预定缓冲的时间(例如在特定交通灯的序列定时不是已知的情况下)被检测为处于绿色状态的交通灯更自由地行驶。

在一些实施例中,导航系统可基于对一个或多个图像的分析以及从交通灯所接收的指示交通灯的状态的一个或多个信号来确定交通灯的状态,如本公开的其他部分所述。例如,交通灯可配备有发射器,该发射器被编程为广播交通灯标识符连同特定交通灯的当前状态。例如,交通灯可广播指示其身份和当前状态(例如绿灯状态)的信号,以及导航系统(例如车辆4202)可接收该信号,并且基于该信号来确定交通灯的状态。导航系统可确定基于从交通灯所接收的信号所确定的交通灯的状态。导航系统还可基于对一个或多个所捕获图像的分析来确定交通灯的状态。图55所示的表5500提供当基于发射器的检测(即,基于从交通灯所接收的信号)和基于视觉的检测(基于图像分析)均涉及在确定交通灯的状态中时由导航系统对WTTR时间的估计的示例。对于垂直轴上的给定视觉颜色(例如基于对所获取图像的分析所确定的交通灯的灯颜色)和水平轴上的发射器颜色(例如基于根据传感器观察从特定交通灯所传送的颜色信息所确定的交通灯的灯颜色),WTTR时间能够如表5400所示来确定或指配。换言之,表5400示出存在基于发射器和基于视觉的颜色确定之间的一致或差异时的潜在WTTR时间。例如,如果视觉颜色为“绿色”而发射器颜色为“红色”,则通过基于视觉的检测所指示的“绿色”的状态可被选择作为交通灯的状态。作为另一个示例,如果视觉颜色为“橙色”而发射器颜色为“绿色”,则“橙色”的状态可被选择,其中WTTR时间等于min(WTTRg, WTTRv),它是(1)基于“橙色”状态(即,按照基于视觉的检测所确定的状态)所确定的WTTR时间以及(2)基于“绿色”状态(即,按照基于发射器的检测所确定的状态)所确定的WTTR时间中的较小数。作为另一个示例,如果视觉颜色为“绿色”而发射器颜色为“闪烁绿色”,则通过基于发射器的检测所指示的“闪烁绿色”的状态可被选择作为交通灯的状态,以及“闪烁绿色”状态的WTTR时间可被确定为WTTR时间。

在一些实施例中,导航系统可被编程为基于状态以及自接收信号以来经过的时间段来确定置信水平,如本公开的其他部分所述。例如,导航系统可确定自接收信号以来经过的时间段大于第一预定阈值。第一预定阈值对于红灯状态或绿灯状态可在1至5分钟的范围中,而对闪烁状态(例如闪烁绿灯状态)可在1至15秒的范围中。导航系统可进一步确定信号中指示的交通灯的状态的“LOW”置信水平。作为另一个示例,如果导航系统确定自接收信号以来经过的时间段小于第一预定阈值但大于第二预定阈值,则导航系统可确定交通灯的状态的“MID”的置信水平。作为又一个示例,如果导航系统确定自接收信号以来经过的时间段小于第二预定阈值,则处理器可确定交通灯的状态的“HIGH”的置信水平。如本公开的其他部分所述来自基于照相装置的系统的检测信号能够与基于发射器的检测路径相结合,以增强交通灯检测和交通灯状态检测中的置信水平。例如,在一些情况下,在检测结果的置信水平基于照相装置所捕获的图像的分析(如本公开的其他部分所述)的情况下,它可用来代替所传送信号指示。在一些情况下,所传送信号可确认基于照相装置的检测。作为另一个示例,当基于照相装置的检测中的置信分或水平低于阈值时,可更多地依靠基于传输的检测。作为举例,如果存在从基于视觉的检测所检测的状态,则通过具有“LOW”置信水平的信号所指示的状态可被丢弃,而不可用于确定交通灯的确认状态中。作为另一个示例,如果存在从基于视觉的检测所检测的状态,则通过具有“LOW”置信水平的信号所指示的状态可被丢弃,而不可用于确定交通灯的确认状态中。作为又一个示例,如果存在具有“VERY HIGH”(非常高)置信水平(例如大于99%的概率)的状态,,则通过具有“MIDDLE”(中等)置信水平所指示的状态可被丢弃,而不可用于确定交通灯的确认状态中。

图56是示出按照所公开实施例、导航车辆的示范过程5600的流程图。虽然下面提供的过程5600的描述使用车辆4902的处理器作为示例,但是本领域的技术人员会理解,过程5600的一个或多个步骤可由车辆(例如车辆4502)、与车辆4902关联的车辆装置和/或服务器4901来执行。

在步骤5601,车辆4902的处理器可被编程为接收表示车辆的环境的所捕获的至少一个图像。可例如通过照相装置4603、图像获取单元120中包含的图像捕获装置122和124从车辆的图像捕获装置接收图像。

在步骤5602,车辆4902的处理器可被编程为分析至少一个图像,以识别至少一个图像中的交通灯的表示。交通灯可与十字路口关联。在一些实施例中,处理器可基于如本公开的其他部分所述的识别图像中的交通灯的一种或多种图像分析方法来分析至少一个图像,以识别交通灯的表示。例如,处理器可扫描图像集合,并且识别在图像中可能包含交通灯的位置出现的对象。例如,处理器可过滤所识别对象,以构成候选对象集合,从而排除不可能与交通灯对应的那些对象。在一些实施例中,处理器可对反映可能的交通灯的候选对象集合执行多帧分析。例如,处理器可跨连续图像帧跟踪候选对象,估计候选对象的现实世界位置,并且滤出正在移动(不可能是交通灯)的那些对象。在一些实施例中,处理器可对候选对象执行颜色分析,并且识别可能的交通灯内部出现的所检测颜色的相对位置。作为另一个示例,处理器可生成具有比所捕获图像的分辨率要小的图像分辨率的所捕获图像的修改版本,并且分析所捕获图像的修改版本,以确定与所捕获图像的修改版本关联的至少一个交通灯候选区域。处理器可进一步基于所捕获图像的修改版本的至少一个交通灯候选区域来确定要分析的所捕获图像的一部分。处理器还可被编程为分析所捕获图像的确定部分,以确认交通灯的表示存在于所捕获图像的确定部分中。在一些实施例中,处理器可将机器学习模型(例如神经网络)用于识别图像中的交通灯。

在步骤5603,车辆4902的处理器可被编程为基于对至少一个图像的分析来确定交通灯的状态。在一些实施例中,处理器可按照本公开的其他部分所述的一种或多种方法基于对至少一个图像的分析来确定交通灯的状态。例如,处理器可将包括交通灯的表示的图像的部分与导航系统的存储器中存储的各种状态的图像(例如具有绿灯、红灯、黄灯等的交通灯的图像)进行比较,以确定交通灯的状态。在一些实施例中,处理器可被编程为向服务器4901传送一个或多个交通灯的图像,以供对图像的进一步处理(例如压缩图像、编辑图像等)、对图像的分析(例如对图像的分析以用于确定所识别交通灯的一个或多个的状态以及识别可存在于图像内的其他对象,例如公路路标)和/或对图像的存储。服务器4901可向车辆4902传送交通灯和/或其状态的标识。在一些实施例中,处理器可将机器学习模型(例如神经网络)用于识别交通灯的状态。

在步骤5604,车辆4902的处理器可被编程为基于交通灯的所确定状态来确定车辆的计划导航动作。在一些实施例中,处理器可按照本公开的其他部分所述的一种或多种方法基于交通灯的状态来确定车辆的计划导航动作。例如,处理器可确定交通灯的状态处于绿灯状态,并且可确定穿过与交通灯关联的十字路口的计划导航动作。在一些实施例中,计划导航动作可包括使车辆驶过十字路口,同时保持车辆的当前速度。作为另一个示例,处理器可确定交通灯的状态处于红灯状态,并且可确定在接近与交通灯关联的十字路口的停车线停车的计划导航动作。

在步骤5605,如果确定(例如由处理器)交通灯处于绿色状态,并且在交通灯转变成绿色状态的时间不是已知的情况下,车辆4902的处理器可被编程为确定是否预计车辆在预定下一个转红时间的时间间隔之内到达交通灯或十字路口。例如,处理器可基于车辆的速度、车辆的航向、车辆相对于交通灯的位置、车辆相对于十字路口的位置、车辆相对于接近十字路口的另一个车辆的位置等或者它们的组合来确定是否预计车辆4902在预定下一个转红时间的时间间隔之内到达交通灯或十字路口。

下一个转红时间的时间间隔可在1至10秒的范围中。在一些实施例中,下一个转红时间的时间间隔可以为至少二秒并且少于六秒。在一些实施例中,下一个转红时间的时间间隔可小于到交通灯的下一个红色状态的实际时间时长。

在一些实施例中,处理器可(例如从服务器4901)得到地图信息,所述地图信息包括与交通灯相关的信息,所述信息还可包括从绿色状态到下一个红色状态的时间时长。备选地,与从绿色状态到下一个红色状态的时间时长相关的信息可基于从交通灯所接收的信号来确定(如本公开的其他部分所述)。作为替代或补充,预定下一个转红时间的时间间隔可至少部分基于从一个或多个其他车辆所收集的交通灯的历史状态转变信息来确定。在一些实施例中,历史状态转变信息可与交通灯关联。例如,一个或多个车辆可确定与这个特定交通灯相关的状态转变信息(如本公开的其他部分所述),并且向服务器4901传送所确定状态转变信息(即,历史状态转变信息),从所述服务器4901,车辆4902可接收交通灯的历史状态转变信息。作为举例,一个或多个车辆(所述车辆可与车辆4902不同)可基于对包括交通灯的图像的分析来检测从绿色状态到下一个红色状态的时间时长。车辆可向服务器4901(和/或数据库4904)传送交通灯的状态时长时间,以及车辆4902可得到交通灯的历史状态信息,所述信息可包括各种状态转变的状态时长时间(例如从绿色状态到下一个红色状态的时长时间)。在一些实施例中,历史状态转变信息可与交通灯关联地存储在地图中。例如,车辆4902可从服务器4901接收地图信息,所述地图信息包括交通灯的身份(例如交通灯的位置)以及交通灯的历史状态转变信息。

在一些实施例中,处理器可将下一个转红时间的时间间隔设置为小于从绿色状态到下一个红色状态的时间时长。

在一些实施例中,下一个转红时间的时间间隔可包括按照如本公开的其他部分所述的一种或多种方法所确定的WTTR时间。例如,参照图51所示的表5100,在帧1,处理器可确定交通灯处于绿灯状态。处理器(和/或导航系统)可能没有与红-橙色到绿色状态的定时有关的信息(例如交通灯在哪个时间从红-橙色状态改变成绿色状态,以允许定时器从那个转变指示从绿色到闪烁绿色的变化将发生)。因此,可假定下一帧将显示闪烁绿色状态。相应地,与帧1关联的WTTR时间(或者下一个转红时间的时间间隔)可被确定为5秒,这对本特定示例可包括关于交通灯在改变成红色之前将保持在闪烁绿色状态2秒以及随后的橙色状态3秒的预期。处理器还可被编程为确定是否预计车辆4902在5秒(即,所确定WTTR时间)内到达交通灯或十字路口。

如果处理器确定车辆4902预计在预定下一个转红时间的时间间隔之内到达交通灯或十字路口,则过程5600可继续步骤5606,并且处理器可使车辆实现计划导航动作。

在一些实施例中,在发起计划导航动作之前,在5606,处理器可基于各种因素来确定是否实现计划导航动作。例如,处理器可确定穿过与交通灯关联的十字路口的计划导航动作(如结合步骤5604所述)。处理器还可被编程为基于车辆的速度、车辆的航向、车辆相对于交通灯的位置、车辆相对于十字路口的位置的至少一个并且基于车辆相对于接近十字路口的另一个车辆的位置来确定是否实现计划导航动作。例如,处理器可确定车辆4902不可能通过与交通灯关联的十字路口,因为接近十字路口的另一个车辆可能阻挡车辆4902到达十字路口。在一些实施例中,在确定是否实现计划导航动作中,处理器可确定完成穿过十字路口的时间段是否等于或小于预定状态转变时间。例如,处理器可将交通灯从绿色状态转变成下一个红色状态的时间段确定为预定状态转变时间。处理器还可确定完成穿过十字路口的时间段是否等于或小于预定状态转变时间。在一些实施例中,这种确定可进一步基于车辆的速度、车辆的航向、车辆相对于交通灯的位置、车辆相对于十字路口的位置的至少一个并且基于车辆相对于接近十字路口的另一个车辆的位置。在一些实施例中,当车辆4902在到达十字路口之前沿路段驾驶时,处理器可被编程为监测交通灯的状态。例如,处理器可被编程为分析一个或多个图像,以识别交通灯在车辆穿过(或到达)十字路口之前到红色状态的转变。如果在车辆穿过(或到达)十字路口之前识别红色状态,则处理器可使车辆4902在进入十字路口之前减速或停止。作为另一个示例,如果处理器确定交通灯回复到绿色状态(例如通过分析一个或多个图像),则处理器可被编程为使车辆进入十字路口。在一些实施例中,处理器可进一步被编程为分析一个或多个图像,以便在车辆穿过十字路口之前确认交通灯的绿色状态。如果交通灯的绿色状态被确认,则处理器还可被编程为使车辆进入和穿过十字路口。

如果处理器在步骤5605确定车辆4902预计在预定下一个转红时间的时间间隔之内不会到达交通灯或十字路口,则过程5600可继续步骤5607,并且处理器可使车辆实现与该计划导航动作不同的第二导航动作。例如,处理器可确定减慢车辆4902的第二导航动作,从而相对于当前速度减慢车辆,和/或准备在与十字路口关联的停车线停车。作为另一个示例,处理器可使车辆4902实现使车辆4902变更到另一个车道并且从那个车道穿过十字路口的第二导航动作,因为前一车道中的交通可能阻挡车辆4902在下一个转红时间的时间间隔之内到达十字路口。在一些实施例中,处理器可基于地图信息来确定第二导航动作。例如,处理器可确定使车辆4902停在与十字路口关联的停车线的第二导航动作,这可在与十字路口和/或交通灯相关的地图信息中指定。

为了便于说明而提供以上描述。它不是详尽的,并且不是局限于所公开的精确形式或实施例。修改和适配将是本领域的技术人员通过思考本说明书以及实施所公开实施例清楚知道的。另外,虽然所公开实施例的方面被描述为被存储在存储器中,但是本领域的技术人员将会理解,这些方面也能够被存储在其他类型的计算机可读介质上,例如,辅助存储装置,例如硬盘或CD ROM或者其他形式的RAM或ROM、USB介质、DVD、Blu-ray、4K Ultra HDBlu-ray或其他光学驱动器介质。

基于本书面描述和所公开方法的计算机程序属于有经验开发人员的技能。各种程序或程序模块能够使用本领域的技术人员已知的技术的任一种来创建,或者能够结合现有软件来设计。例如,程序段或程序模块能够通过或者借助于.Net Framework、.Net CompactFramework (以及相关语言,例如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或者具有所包含Java小应用程序的HTML来设计。

此外,虽然本文已经描述说明性实施例,但是任何一个和全部实施例的范围具有等效元件、修改、省略、(例如跨各个实施例的方面的)组合、适配和/或变更,如本领域的技术人员基于本公开会理解。权利要求中的限制将基于权利要求中采用的语言来广义地解释,而并不局限于本说明书中或者本申请进行期间所述的示例。示例将被理解为非排他的。此外,所公开方法的步骤可按照任何方式来修改,包括通过对步骤重排序和/或插入或删除步骤。因此,预计本说明书和示例被理解为只是说明性的,其中真实范围和精神通过以下权利要求及其等效体的全范围所指示。

技术分类

06120113817924