基于检测到的停放车辆特性控制主车辆的制作方法

文档序号:16987299发布日期:2019-03-02 00:42阅读:138来源:国知局
基于检测到的停放车辆特性控制主车辆的制作方法

本申请要求于2016年6月27日提交的美国临时专利申请no.62/354,946以及于2017年1月12日提交的美国临时专利申请no.62/445,500的优先权权益。前述申请的全部内容通过引用并入本文。

本公开总体涉及自主车辆导航。此外,本公开涉及系统和方法,这些系统和方法用于基于检测到门打开来导航主车辆,基于检测目标车辆进入主车辆的车道来导航主车辆,基于检测主车辆行驶的道路是否是单向道路来导航主车辆,以及确定停放的车辆的预测状态。



背景技术:

随着技术的不断进步,能够在道路上导航的完全自主车辆的目标即将出现。自主车辆可能需要考虑各种各样的因素,并且基于那些因素做出适当的决定,以安全和准确地到达预期的目的地。例如,自主车辆可能需要处理和解释可视信息(例如,从相机捕获的信息)、来自雷达或激光雷达的信息,并且也可能使用从其他源(例如,从gps装置、速度传感器、加速计、悬架传感器等)获得的信息。同时,为了导航到目的地,自主车辆还可能需要识别其在特定道路内(例如,在多车道道路内的具体车道)的位置,沿着其他车辆旁边导航,避开障碍物和行人,观察交通信号和标志,在适当的交叉路口或交汇处从一条道路行驶到另一条道路,并应对车辆运行期间发生或发展的任何其他情况。

自主车辆必须能够具有足够的时间对变化的环境作出反应,以调整车辆的导航路径或施加制动。许多传统算法,诸如在现存的自主制动系统中使用的算法,不具有与人类的相当的反应时间。因此,这样的算法通常更适合用作人类驾驶员的备用,而不是用于完全自主的车辆。

此外,停放的汽车的特性通常是道路特性的良好指示。例如,停放的汽车的方向可以指示道路是否是单向道路,并且车辆之间的空间可以指示行人是否可以从车辆之间出现。然而,现有的自主车辆算法不使用这些特性。

最后,自主车辆系统可以使用人类驾驶员无法访问的测量值。例如,自主车辆系统可以采用红外相机来评估环境并进行预测。然而,许多传统系统不利用诸如视觉和红外相机的测量组合。本公开的实施例可以解决上面讨论的传统系统的一个或多个缺点。



技术实现要素:

与本公开一致的实施例提供了用于自主车辆导航的系统和方法。所公开的实施例可以使用相机来提供自主车辆导航特征。例如,与所公开的实施例一致,所公开的系统可以包含一个、两个、或更多个监控车辆的环境的相机。所公开的系统可以基于,例如对由一个或多个相机捕获的图像的分析来提供导航响应。一些实施例还可以包含一个、两个或更多个监控环境的红外相机。因此,一些实施例可以基于例如视觉图像、红外图像或其任何组合的分析来提供导航响应。

导航响应还可以考虑其他数据,包括:例如,全球定位系统(gps)数据、传感器数据(例如,来自加速器、速度传感器、悬架传感器等)和/或其他地图数据。

在一个实施例中,一种用于基于检测到车辆环境中的门打开事件来导航主车辆的系统可以包括至少一个处理装置。该至少一个处理装置可以被编程为从图像捕获装置接收与主车辆的环境相关联的至少一个图像,并分析该至少一个图像以识别停放的车辆的侧面。该至少一个处理装置可以进一步被编程为在该至少一个图像中识别停放的车辆的侧面的前部区域中的该停放的车辆的第一结构特征以及该停放的车辆的侧面的后部区域中的该停放的车辆的第二结构特征,并且在该至少一个图像中识别在第一和第二结构特征附近停放的车辆的门边缘。该至少一个处理装置还可以被编程为基于对从图像捕获装置接收的一个或多个后续图像的分析来确定停放的车辆的门边缘的图像特性的变化,并且至少部分地基于停放的车辆的门边缘的图像特性的变化来更改主车辆的导航路径。

在另一个实施例中,一种用于基于检测到车辆环境中的门打开事件来导航主车辆的方法,其可以包括从图像捕获装置接收与主车辆的环境相关联的至少一个图像并且分析该至少一个图像来识别停放的车辆的侧面。该方法可以进一步包括,在该至少一个图像中识别停放的车辆的侧面的前部区域中的该停放的车辆的第一结构特征以及该停放的车辆的侧面的后部区域中的该停放的车辆的第二结构特征,并且在该至少一个图像中识别在第一和第二结构特征附近停放的车辆的门边缘。该方法可以还包括,基于对从图像捕获装置接收的一个或多个后续图像的分析来确定停放的车辆的门边缘的图像特性的变化,并且至少部分地基于停放的车辆的门边缘的图像特性的变化来更改主车辆的导航路径。

在又一个实施例中,一种用于基于目标车辆朝向由主车辆正行驶的车道的移动来导航主车辆的系统可以包括至少一个处理装置。该至少一个处理装置可以被编程为从图像捕获装置接收与主车辆的环境相关联的多个图像,并分析多个图像中的至少一个以识别目标车辆和目标车辆的侧面的至少一个车轮组件。该至少一个处理装置可以进一步被编程为在多个图像中的至少两个中分析包含目标车辆的至少一个车轮组件的区域,以识别与目标车辆的至少一个车轮组件相关联的运动,并且基于与目标车辆的至少一个车轮组件相关联的所识别的运动来引起主车辆的至少一个导航变化。

在又一个实施例中,一种用于基于目标车辆朝向由主车辆行驶的车道的移动来导航主车辆的方法,其可以包括从图像捕获装置接收与主车辆的环境相关联的多个图像,并分析多个图像中的至少一个以识别目标车辆和目标车辆侧面的至少一个车轮组件。该方法可以进一步包括在多个图像中的至少两个中分析包含目标车辆的至少一个车轮组件的区域,以识别与目标车辆的至少一个车轮组件相关联的运动,并且基于与目标车辆的至少一个车轮组件相关联的所识别的运动来引起主车辆的至少一个导航变化。

在又一个实施例中,一种用于检测主车辆行驶的道路是否是单向道路的系统可以包括至少一个处理装置。该至少一个处理装置可以被编程为从图像捕获装置接收与主车辆的环境相关联的至少一个图像;基于对所述至少一个图像的分析来识别主车辆行驶的道路的第一侧面上的第一多个车辆;并且基于对所述至少一个图像的分析来识别主车辆行驶的道路的第二侧面上的第二多个车辆。该至少一个处理装置可以进一步被编程为确定与第一多个车辆相关联的第一面向方向;确定与第二多个车辆相关联的第二面向方向;并且当第一面向方向和第二面向方向两者都与主车辆的前进方向相反时,引起主车辆的至少一个导航变化。

在又一个实施例中,一种用于检测主车辆行驶的道路是否是单向道路的方法,其可以包括从图像捕获装置接收与主车辆的环境相关联的至少一个图像;基于对该至少一个图像的分析来识别主车辆行驶的道路的第一侧面上的第一多个车辆;并且基于对该至少一个图像的分析来识别主车辆行驶的道路的第二侧面上的第二多个车辆。该方法可以进一步包括确定与第一多个车辆相关联的第一面向方向;确定与第二多个车辆相关联的第二面向方向;并且当第一面向方向和第二面向方向两者都与主车辆的前进方向相反时,引起主车辆的至少一个导航变化。

在另一个实施例中,一种用于导航主车辆的系统可以包括至少一个处理装置。该至少一个处理装置可以被编程为接收导航指令以将主车辆从主车辆正行驶的第一道路导航到第二道路,并且从图像捕获装置接收与第二道路的环境相关联的至少一个图像。该至少一个处理装置可以进一步被编程为基于对该至少一个图像的分析来识别第二道路的第一侧面上的第一多个车辆,并且基于对该至少一个图像的分析来识别在第二道路的第二侧面上的第二多个车辆。该至少一个处理装置还可以被编程为确定与第一多个车辆相关联的第一面向方向,确定与第二多个车辆相关联的第二面向方向,并确定第一面向方向和第二面向方向两者都与如果主车辆将转向第二道路则主车辆将行驶的前进方向相反。该至少一个处理装置可以进一步被编程为响应于确定第一面向方向和第二面向方向两者都与如果主车辆将导航向第二道路则主车辆将行驶的前进方向相反而暂停(suspend)导航指令。

在又一个实施例中,一种用于确定主车辆的环境中的停放的车辆的预测状态的系统可以包括图像捕获装置、红外图像捕获装置和至少一个处理装置。该至少一个处理装置可以被编程为从图像捕获装置接收与主车辆的环境相关联的多个图像;分析多个图像中的至少一个以识别停放的车辆;并且分析多个图像中的至少两个以识别与停放的车辆相关联的至少一个灯的照明状态的变化。该至少一个处理装置可以进一步被编程为从红外图像捕获装置接收停放的车辆的至少一个热图像;基于照明状态的变化和对至少一个热图像的分析来确定停放的车辆的预测状态;并且基于停放的车辆的预测状态来由主车辆引起至少一个导航响应。

在又一个实施例中,一种用于确定主车辆的环境中的停放的车辆的预测状态的方法,其可以包括从图像捕获装置接收与主车辆的环境相关联的多个图像;分析多个图像中的至少一个来识别停放的车辆;并且分析多个图像中的至少两个来识别与停放的车辆相关联的至少一个灯的照明状态的变化。该方法可以进一步包括从红外图像捕获装置接收停放的车辆的至少一个热图像;基于照明状态的变化和对至少一个热图像的分析来确定停放的车辆的预测状态;并且基于停放的车辆的预测状态来引起通过主车辆的至少一个导航响应。

在又一个实施例中,一种用于确定主车辆的环境中的停放的车辆的预测状态的系统可以包括图像捕获装置和至少一个处理装置。该至少一个处理装置可以被编程为从图像捕获装置接收与主车辆的环境相关联的多个图像。该至少一个处理装置可以进一步被编程为分析多个图像中的至少一个以识别停放的车辆,并且分析多个图像中的至少两个以识别与停放的车辆相关联的至少一个灯的照明状态的变化。该至少一个处理装置还可以被编程为基于照明状态的变化来确定停放的车辆的预测状态,并且基于停放的车辆的预测状态来由主车辆引起至少一个导航响应。

在又一个实施例中,一种用于导航主车辆的系统可以包括至少一个处理装置。该至少一个处理装置可以被编程为从相机接收表示主车辆的环境的多个图像,并且分析多个图像中的至少一个以识别至少两个静止车辆。该至少一个处理装置可以进一步被编程为基于对多个图像中的至少一个的分析来确定两个静止车辆之间的间隔,并且基于两个静止车辆之间确定的间隔的量级来引起在主车辆中的至少一个导航变化。

在又一个实施例中,一种用于导航主车辆的方法,其可以包括从相机接收表示主车辆的环境的多个图像,并且分析多个图像中的至少一个以识别至少两个静止车辆。该方法可以进一步包括基于对多个图像中的至少一个的分析来确定两个静止车辆之间的间隔,并且基于两个静止车辆之间确定的间隔的量级来引起主车辆中的至少一个导航变化。

与其他公开的实施例一致,非暂时性计算机-可读存储介质可以储存由至少一个处理装置执行的程序指令,并且可以进行本文中所描述的任何方法。

前述的总体描述和下面的详细描述仅仅是示例性和说明性的,并不是对权利要求的限制。

附图说明

并入本公开中并构成本公开的一部分的附图图示了各种所公开的实施例。在附图中:

图1是与所公开的实施例一致的示例性系统的图示性表示。

图2a是包含与所公开的实施例一致的系统的示例性车辆的图示性侧视图表示。

图2b是与所公开的实施例一致的图2a中所示的车辆和系统的图示性顶视图表示。

图2c是包含与所公开的实施例一致的系统的车辆的另一实施例的图示性顶视图表示。

图2d是包含与所公开的实施例一致的系统的车辆的又一实施例的图示性顶视图表示。

图2e是包含与所公开的实施例一致的系统的车辆的又一实施例的图示性顶视图表示。

图2f是与所公开的实施例一致的示例性车辆控制系统的图示性表示。

图3a是与所公开的实施例一致的包含后视镜和用于车辆成像系统的用户界面的车辆的内部的图示性表示。

图3b是与所公开的实施例一致的配置为定位在后视镜后面并抵靠车辆风挡的相机安装的示例的图示。

图3c是与所公开的实施例一致的图3b中所示的相机安装从不同的视角的图示。

图3d是与所公开的实施例一致的配置为定位在后视镜后面并抵靠车辆风挡的相机安装的示例的图示。

图4是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的示例性框图。

图5a是示出与所公开的实施例一致的用于基于单目图像分析来引起一个或多个导航响应的示例性过程的流程图。

图5b是示出与所公开的实施例一致的用于在一组图像中检测一个或多个车辆和/或行人的示例性过程的流程图。

图5c是示出与所公开的实施例一致的用于在一组图像中检测道路标记和/或车道几何结构信息的示例性过程的流程图。

图5d是示出与所公开的实施例一致的用于在一组图像中检测交通灯的示例性过程的流程图。

图5e是示出与所公开的实施例一致的用于基于车辆路径来引起一个或多个导航响应的示例性过程的流程图。

图5f是示出与所公开的实施例一致的用于确定前方车辆是否正在改变车道的示例性过程的流程图。

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

图7是示出与所公开的实施例一致的用于基于三组图像的分析来引起一个或多个导航响应的示例性过程的流程图。

图8是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的另一个示例性框图。

图9是从与所公开实施例一致的系统的视点的道路的示意图。

图10是从与所公开实施例一致的系统的视点的道路的另一个示意图。

图11是从与所公开实施例一致的系统的视点的停放的车辆的示意图。

图12a是从与所公开实施例一致的系统的视点的门打开事件的示意图。

图12b是从与所公开实施例一致的系统的视点的门打开事件的另一个示意图。

图13是从与所公开实施例一致的系统的视点的道路的另一个示意图。

图14是示出与所公开的实施例一致的用于基于门打开事件的方向来引起一个或多个导航响应的示例性过程的流程图。

图15是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的另一个示例性框图。

图16a是从与所公开实施例一致的系统的视点的停放的车辆的示意图。

图16b是从与所公开实施例一致的系统的视点的停放的车辆的另一个示意图。

图17是示出与所公开的实施例一致的用于基于检测到目标车辆进入主车辆的车道来引起一个或多个导航响应的示例性过程的流程图。

图18是示出与所公开的实施例一致的用于扭曲(warp)道路的单应性的示例性过程的流程图。

图19是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的另一个示例性框图。

图20a是从与所公开实施例一致的系统的视点的单向道路的示意图。

图20b是从与所公开实施例一致的系统的视点的单向道路的另一个示意图。

图21是示出与所公开的实施例一致的用于基于检测到主车辆行驶的道路是否是单向道路来引起一个或多个导航响应的示例性过程的流程图。

图22是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的另一个示例性框图。

图23a是从与所公开实施例一致的系统的视点的停放的车辆的示意图。

图23b是从与所公开实施例一致的系统的视点的具有照明变化的停放汽车的示意图。

图23c是从与所公开实施例一致的系统的视点的停放的汽车的热图的示意图。

图24是示出与所公开的实施例一致的用于确定停放的车辆的预定状态的示例性过程的流程图。

图25是示出用于对齐来自与所公开实施例一致的系统的视觉和红外图像的示例性过程的流程图。

图26是与所公开的实施例一致的配置为储存用于进行一个或多个操作的指令的存储器的另一个示例性框图。

图27a是从与所公开实施例一致的系统的视点的道路的另一个示意图。

图27b是与所公开实施例一致的具有检测热点的道路的另一个示意图。

图28是示出与所公开的实施例一致的用于导航主车辆的示例性过程的流程图。

具体实施方式

以下的详细描述参考附图。只要可能,在附图和以下的描述中使用相同的参考标号来指代相同或相似的部分。虽然本文描述了数个说明性实施例,但是修改、改编和其他实现方式是可能的。例如,可以对附图中图示的组件做出替换、添加或修改,并且可以通过对所公开的方法进行步骤的替换、重新排序、移除或添加,来对本文所描述的说明性方法进行修改。因此,以下的详细描述并不限于所公开的实施例和示例。代替地,适当的范围由所附权利要求限定。

自主车辆概览

如贯穿本公开所使用的,术语“自主车辆”指代在没有驾驶员输入的情况下能够实现至少一个导航变化的车辆。“导航变化”指代车辆的转向、制动、或加速/减速中的一个或多个。为了实现自主,车辆不需要是完全自动的(例如,在没有驾驶员或没有驾驶员输入的情况下完全可操作的)。相反,自主车辆包含能够在某些时间段期间在驾驶员的控制下操作,且在其他时间段期间无需驾驶员控制而操作那些车辆。自主车辆还可以包含仅控制车辆导航的一些方面的车辆,诸如转向(例如,在车辆车道限制之间维持车辆路线)或在某些情况下(但并非在所有情况下)的某些转向操作,但可以将其他方面交给驾驶员(例如,制动或在某些情况下的制动)。在一些情况下,自主车辆可以处理车辆的制动、速度控制和/或转向中的一些或全部方面。

由于人类驾驶员通常依赖于可视线索和观察以便控制车辆,因此而建造了交通基础设施,其具有被设计为向驾驶员提供可视信息的车道标记、交通标志和交通灯。鉴于交通基础设施的这些设计特性,自主车辆可以包含相机以及分析从车辆的环境捕获的可视信息的处理单元。可视信息可以包含,例如表示可由驾驶员观察到的交通基础设施(例如,车道标记、交通标志、交通灯等)的组件以及其他障碍物(例如,其他车辆、行人、碎片等)的图像。自主车辆还可以包含红外相机。在这样的实施例中,处理单元可以单独地或结合可视信息分析从环境捕获的热信息。

此外,自主车辆还可以使用储存的信息,诸如在导航时提供车辆环境的模型的信息。例如,车辆可以使用gps数据、传感器数据(例如,来自加速计、速度传感器、悬架传感器等)和/或其他地图数据,以在车辆正在行驶时提供与其环境有关的信息,并且该车辆(以及其他车辆)可以使用该信息在模型上对其自身定位。一些车辆还能够在它们之间进行通信、共享信息、更改车辆周围环境中危险或变化的对等车辆等。

系统概览

图1是与所公开的示例性实施例一致的表示系统100的框图。系统100可以取决于特定实现方式的要求而包含各种组件。在一些实施例中,系统100可以包含处理单元110,图像获取单元120,位置传感器130,一个或多个存储器单元140、150,地图数据库160,用户界面170和无线收发器172。处理单元110可以包含一个或多个处理装置。在一些实施例中,处理单元110可以包含应用处理器180、图像处理器190或任何其他合适的处理装置。类似地,图像获取单元120可以取决于特定应用的要求而包含任何数目的图像采集装置和组件。在一些实施例中,图像获取单元120可以包含一个或多个图像捕获装置(例如,相机、电荷耦合器件(ccd)或任何其他类型的图像传感器),诸如图像捕获装置122、图像捕获装置124和图像捕获装置126。在一些实施例中,图像获取单元120可以进一步包含一个或多个红外捕获装置(例如,红外相机、远红外(fir)检测器或任何其他类型的红外传感器);例如,图像捕获装置122、图像捕获装置124和图像捕获装置126中的一个或多个可以包含红外图像捕获装置。

系统100还可以将处理单元110通信地连接到图像获取单元120的数据接口128。例如,数据接口128可以包含用于将由图像获取单元120获取的图像数据发送到处理单元110的任何有线和/或无线的一个或多个链路。

无线收发器172可以包含一个或多个装置,其被配置为通过使用射频、红外频率、磁场或电场通过空中接口将传输交换到一个或多个网络(例如,蜂窝、因特网等)。无线收发器172可以使用任何已知的标准来发送和/或接收数据(例如,wi-fi-、蓝牙智能、802.15.4、zigbee等)。这样的传输可以包含从主车辆到一个或多个位于远处的服务器的通信。这样的传输还可以包含主车辆与主车辆环境中的一个或多个目标车辆之间(单向或双向)的通信(例如,以便于鉴于或连同在主车辆的环境中的目标车辆来协调主车辆的导航),或者甚至包含在发送车辆附近的向未指定的接收者的广播传输。

应用处理器180和图像处理器190两者都可以包含各种类型的基于硬件的处理装置。例如,应用处理器180和图像处理器190中的任一者或两者可以包含微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单元(cpu)、支持电路、数字信号处理器、集成电路、存储器、图形处理单元(gpu)或者适用于运行应用和适用于图像处理和分析的任何其他类型的装置。在一些实施例中,应用处理器180和/或图像处理器190可以包含任何类型的单核或多核处理器、移动装置微控制器、中央处理单元等。可以使用各种处理装置,包含例如可以从诸如等制造商获得的处理器或者可以从诸如等制造商获得的gpu,并且可以包含各种架构(例如,x86处理器、等)。

在一些实施例中,应用处理器180和/或图像处理器190可以包含可从获得的任何eyeq系列处理器芯片。这些处理器设计各自包含具有本地存储器和指令集的多个处理单元。这样的处理器可以包含用于从多个图像传感器接收图像数据的视频输入,并且还可以包含视频输出能力。在一个示例中,使用在332mhz下操作的90纳米-微米技术。架构由两个浮点式超线程32位risccpu(核)、五个视觉计算引擎(vce)、三个矢量微代码处理器丹那利(denali)64位移动ddr控制器、128位内部超音速互连(sonicsinterconnect)、双16位视频输入和18位视频输出控制器、16通道dma和数个外围设备组成。mips34kcpu管理这五个vce、三个vmptm和dma、第二mips34kcpu和多通道dma以及其他外围设备。这五个vce、三个和mips34kcpu可以进行多功能捆绑应用所需要的密集视觉计算。在另一个实例中,可以在所公开的实施例中使用作为第三代处理器并且比强六倍的在其他示例中,可以在所公开的实施例中使用和/或当然,任何更新的或未来的eyeq处理装置也可以与所公开的实施例一起使用。

任何本文所公开的处理装置可以被配置为进行某些功能。配置处理装置(诸如任何所描述的eyeq处理器或其他控制器或微处理器)以进行某些功能可以包含计算机可执行指令的编程并使这些指令可用于处理装置以在处理装置的操作期间执行。在一些实施例中,配置处理装置可以包含直接利用架构指令对处理装置进行编程。例如,可以使用例如一种或多种硬件描述语言(hdl)来配置诸如现场可编程门阵列(fpga)、专用集成电路(asic)等的处理装置。

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

虽然图1描绘了包含在处理单元110中的两个分离的处理装置,但是可以使用更多或更少的处理装置。例如,在一些实施例中,可以使用单个处理装置完成应用处理器180和图像处理器190的任务。在其他实施例中,可以由多于两个处理装置来进行这些任务。此外,在一些实施例中,系统100可以在不包含其他组件(诸如图像获取单元120)的情况下包含处理单元110中的一个或多个。

处理单元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的速度的速度传感器(例如,速度计)的组件。系统100还可以包含用于测量车辆200沿一个或多个轴的加速度的一个或多个(单轴或多轴)加速度计。

存储器单元140、150可以包含数据库或以任何其他形式组织的数据,其包含已知地标的一个或多个指示和/或位置。可以与位置信息(诸如gps坐标,车辆自我(ego)运动等)一起处理环境的感觉信息(诸如图像、雷达信号、来自激光雷达的深度信息,或者两个或更多个图像的立体处理)以确定车辆相对于已知地标的当前位置,并细化车辆位置。这项技术的某些方面包含在称为remtm的定位技术中,该技术由本申请的受让人销售。

用户界面170可以包含适用于向系统100的一个或多个用户提供信息或从系统100的一个或多个用户接收输入的任何装置。在一些实施例中,用户界面170可以包含用户输入装置,包含例如触摸屏、麦克风、键盘、指针装置、跟踪转轮、相机、旋钮、按钮等。使用这样的输入装置,用户能够通过键入指令或信息,提供语音命令,使用按钮、指针或眼跟踪能力在屏幕上选择菜单选项,或通过任何其他适用于向系统100通信信息的技术来向系统100提供信息输入或命令。

用户界面170可以配备有一个或多个处理装置,其配置为向用户提供和从用户接收信息,并处理该信息以由例如应用处理器180使用。在一些实施例中,这样的处理装置可以执行指令以用于辨识和跟踪眼睛运动、接收和解释语音命令、辨识和解释在触摸屏上做出的触摸和/或手势、响应键盘输入或菜单选择等。在一些实施例中,用户界面170可以包含显示器、扬声器、触觉装置和/或用于向用户提供输出信息的任何其他装置。

地图数据库160可以包含用于储存对系统100有用的地图数据的任何类型的数据库。在一些实施例中,地图数据库160可以包含与各种项目在参考坐标系统中的位置相关的数据,各种项目包含道路、水特征、地理特征、商业区、感兴趣的点、餐馆、加油站等。地图数据库160不仅可以储存这样的项目的位置,还可以储存与这样的项目有关的描述符,包含例如与任何所储存的特征相关联的名称。在一些实施例中,地图数据库160可以与系统100的其他组件物理上位于一起。替代地或附加地,地图数据库160或其一部分可以相对于系统100的其他组件(例如,处理单元110)位于远处。在这样的实施例中,来自地图数据库160的信息可以通过与网络的有线或无线数据连接(例如,通过蜂窝网络和/或因特网等)而下载。在一些情况下,地图数据库160可以储存稀疏数据模型,该稀疏数据模型包含某些道路特征(例如,车道标记)或主车辆的目标轨迹的多项式表示。地图数据库160还可以包含已储存的各种辨识出的地标的表示,该地标的表示可以用于确定或更新主车辆相对于目标轨迹的已知位置。地标表示可以包含数据字段,诸如地标类型、地标位置以及其他潜在标识符。

图像捕获装置122、124和126可以各自包含适用于从环境捕获至少一个图像的任何类型的装置。此外,可以使用任何数目的图像捕获装置来获取用于输入到图像处理器的图像。一些实施例可以仅包含单个图像捕获装置,而其他实施例可以包含两个、三个、或者甚至四个或更多个图像捕获装置。

此外,如上所述,图像捕获装置122、124和126可以各自包含适用于从环境捕获至少一个红外图像的任何类型的装置。可以使用任何数目的红外图像捕获装置。一些实施例可以仅包含单个红外图像捕获装置,而其他实施例可以包含两个、三个、或者甚至四个或更多个行外图像捕获装置。此外,一些实施例可以包含任何数目的红外图像捕获装置以及任何数目的图像捕获装置。以下将参考图2b至图2e进一步描述图像捕获装置122、124和126。

一个或多个相机(例如,图像捕获装置122、124和126)可以是包含在车辆上的感测块的一部分。感测块可以进一步包含一个或多个红外图像相机,该一个或多个红外图像相机与一个或多个相机分离或组合。

感测块中可以包含各种其他的传感器,并且可以依靠任何或全部传感器来产生车辆的感测导航状态。除了相机(前向、侧向、后向等)之外,其他的传感器(诸如雷达、激光雷达和声学传感器)也可被包含在感测块中。此外,感测块可以包含一个或多个组件,该一个或多个组件被配置为通信和发送/接收与车辆的环境有关的信息。例如,这样的组件可以包含无线收发器(rf等),该无线收发器可以从相对于主车辆传感器位于远处的源接收基于信息或与主车辆的环境有关的任何其他类型的信息。这样的信息可以包含从主车辆以外的车辆系统接收的传感器输出信息或相关信息。在一些实施例中,这样的信息可以包含从远程计算装置、中央服务器等接收的信息。此外,相机可以采用许多不同的配置:单相机单元、多相机、相机集群、长视场(fov)、短视场、广角,鱼眼等。

系统100或其各种组件可以合并到各种不同的平台中。在一些实施例中,系统100可以被包含在车辆200上,如图2a所示。例如,车辆200可以配备有如上关于图1所述的系统100的处理单元110和任何其他组件。虽然在一些实施例中,车辆200可以仅配备有单个图像捕获装置(例如,相机)和/或单个红外图像捕获装置,但是在其他实施例中,诸如结合图2b-2e所讨论的那些,可以使用多个图像捕获装置和/或多个红外捕获装置。例如,如图2a所示,车辆200的图像捕获装置122和124中的任一个可以是adas(advanceddriverassistancesystem,高级驾驶员辅助系统)成像集的一部分。

作为图像获取单元120的一部分的被包含在车辆200上的图像捕获装置,可以被定位在任何合适的位置。在一些实施例中,如图2a至图2e以及图3a至图3c所示,图像捕获装置122可以位于后视镜的附近。此位置可以提供与车辆200的驾驶员相似的视线,这可以帮助确定对驾驶员而言什么是可见和不可见的。图像捕获装置122可以被定位在靠近后视镜的任何位置,而将图像捕获装置122放置在镜子的驾驶员侧可以进一步帮助获得表示驾驶员的视场和/或视线的图像。

对于图像获取单元120的图像捕获装置还可以使用其他的位置。例如,图像捕获装置124可以位于车辆200的保险杠上或保险杠中。这样的位置可以尤其适用于具有宽视场的图像捕获装置。位于保险杠的图像捕获装置的视线可以与驾驶员的视线不同,并且因此,保险杠图像捕获装置和驾驶员可能不总是看到相同的对象。图像捕获装置(例如,图像捕获装置122、124和126)还可以位于其他的位置。例如,图像捕获装置可以位于车辆200的侧视镜中的一者或两者之上或之中、车辆200的车顶上、车辆200的引擎盖上、车辆200的后备箱上、车辆200的侧面上,安装在车辆200的任何车窗上、定位在车辆200的任何车窗的后面、或定位在车辆200的任何车窗的前面,以及安装在车辆200的前部和/或后部上的灯具中或附近等。

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

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

系统100可以基于隐私等级设置将数据上传到服务器(例如,上传到云)。例如,系统100可以实现隐私等级设置,以规定或限制发送到服务器的、可以唯一地识别车辆和/或车辆的驾驶员/所有者的数据(包含元数据)的类型。这样的设置可以由用户经由例如无线收发器172来设置,可以由出厂默认设置、或由无线收发器172接收的数据来初始化。

在一些实施例中,系统100可以根据“高”隐私等级上传数据,并且在这样的设置的情况下,系统100可以传输数据(例如,与路途有关的位置信息、捕获的图像等),而不带有任何关于特定车辆和/或驾驶员/所有者的细节。例如,当根据“高”隐私设置来上传数据时,系统100可以不包含车辆标识编号(vehicleidentificationnumber,vin)或者车辆的驾驶员或所有者的名字,并且可以代替地发送数据(诸如,捕获的图像和/或与路途有关的受限的位置信息)。

也可以预期其他隐私等级。例如,系统100可以根据“中间”隐私等级向服务器发送数据,并且可以包含在“高”隐私等级下不包含的附加信息,诸如车辆的品牌和/或型号和/或车辆类型(例如,乘用车、运动型多用途车、卡车等)。在一些实施例中,系统100可以根据“低”隐私等级上传数据。在“低”隐私等级设置的情况下,系统100可以上传数据,并且包含足以唯一地识别具体车辆、所有者/驾驶员和/或车辆行驶过的部分或整个路途的信息。这样的“低”隐私等级数据可以包含以下中的一个或多个:例如vin、驾驶员/所有者名字、出发之前车辆的始发点、车辆的预期目的地、车辆的品牌和/或型号、车辆类型等。

图2a是与所公开的实施例一致的示例性车辆成像系统的图示性侧视图表示。图2b是图2a中所示的实施例的图示性顶视图图示。如图2b所示,所公开的实施例可以包含车辆200,该车辆200在其车体中包含系统100,该系统100具有定位在车辆200的后视镜附近和/或靠近驾驶员的第一图像捕获装置122、定位在车辆200的保险杠区域(例如,保险杠区域210中的一个)之上或之中的第二图像捕获装置124、以及处理单元110。在图2a和2b中,第一图像捕获装置122和第二图像捕获装置124中的一个或多个可以包括红外图像捕获装置。

如图2c所示,图像捕获装置122和124两者可以都定位在车辆200的后视镜附近和/或靠近驾驶员。在图2c中,和在图2a和2b中一样,第一图像捕获装置122和第二图像捕获装置124中的一个或多个可以包括红外图像捕获装置。

此外,虽然图2b和图2c示出了两个图像捕获装置122和124,应理解的是,其他实施例可以包含多于两个的图像捕获装置。例如,在图2d和图2e中所示的实施例中,第一图像捕获装置122、第二图像捕获装置124和第三图像捕获装置126被包含在车辆200的系统100中。类似于图2a,2b和2c,在图2d和2e中的第一、第二和第三图像捕获装置122、124和126中的一个或多个可以包括红外图像捕获装置。

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

应理解的是,所公开的实施例不限于车辆,并且可以被应用在其他情景中。还应理解,所公开的实施例不限于特定类型的车辆200,并且可以适用于所有类型的车辆,包含汽车、卡车、拖车和其他类型的车辆。

第一图像捕获装置122可以包含任何合适类型的图像捕获装置或红外图像捕获装置。图像捕获装置122可以包含光轴。在一个实例中,图像捕获装置122可以包含具有全局快门的aptinam9v024wvga传感器。在其他实施例中,图像捕获装置122可以提供1280×960像素的分辨率,并且可以包含滚动快门(rollingshutter)。图像捕获装置122可以包含各种光学元件。在一些实施例中,可以包含一个或多个镜头,例如用于为图像捕获装置提供期望的焦距和视场。在一些实施例中,图像捕获装置122可以与6毫米镜头或12毫米镜头相关联。在一些实施例中,如图2d所示,图像捕获装置122可以配置为捕获具有期望的视场(fov)202的图像。例如,图像捕获装置122可以配置为具有常规fov,诸如在40度至56度的范围内,包含46度fov、50度fov、52度fov,或更大的fov。替代地,图像捕获装置122可以配置为具有在23度至40度的范围内的窄fov,诸如28度fov或36度fov。另外,图像捕获装置122可以配置为具有在100度至180度的范围内的宽fov。在一些实施例中,图像捕获装置122可以包含广角保险杠相机或者具有高达180度fov的相机。在一些实施例中,图像捕获装置122可以是7。2m像素图像捕获装置,其纵横比为约2:1(例如,hxv=3800×1900像素),具有约100度的水平fov。这样的图像捕获装置可以被用来代替三个图像捕获装置配置。由于显著的镜头畸变,在图像捕获装置使用径向对称镜头的实现方式中,这样的图像捕获装置的垂直fov可显著地小于50度。例如,这样的镜头可以不是径向对称的,这将允许在100度水平fov情况下垂直fov大于50度。

第一图像捕获装置122可以获取关于与车辆200相关联的场景的多个第一图像。可以获取多个第一图像中的每个作为一系列图像扫描线,其可以使用滚动快门来捕获。每个扫描线可以包含多个像素。在第一图像捕获装置122包括红外图像捕获装置的实施例中,可以获取多个第一图像中的每个作为一系列图像扫描线,其可以使用电子扫描系统来捕获。

第一图像捕获装置122可以具有与第一系列图像扫描线中的每个的获取相关联的扫描速率。扫描速率可以指图像传感器可以获取与包含在特定扫描线中的每个像素相关联的图像数据的速率。在第一图像捕获装置122包括红外图像捕获装置的实施例中,扫描速率可以指红外图像传感器可以获取与包含在特定扫描线中的每个像素相关联的热数据的速率。

图像捕获装置122、124和126可以含有任何合适的类型和数目的图像传感器,例如,包含ccd传感器或cmos传感器等。在一个实施例中,cmos图像传感器可以与滚动快门一起采用,使得一次一个地读取一行中的每个像素,并且行的扫描在逐行的基础上进行,直到已捕获整个图像帧。在一些实施例中,可以相对于帧从顶部到底部顺序地捕获行。在图像捕获装置122,124和126中的一个或多个包括红外图像捕获装置的实施例中,非冷却焦平面阵列(ufpa)可以与电子扫描系统一起采用,使得行的扫描在逐行的基础上进行,直到已捕获整个热图。

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

滚动快门的使用可能导致不同行中的像素在不同的时间被曝光和捕获,这可能引起所捕获的图像帧中的歪斜和其他图像伪影。另一方面,当图像捕获装置122配置为利用全局或同步快门操作时,所有像素可以以相同量的时间并且在共同曝光时段期间被曝光。结果,从采用全局快门的系统收集的帧中的图像数据表示在特定时间的整个fov(诸如fov202)的快照。相比之下,在滚动快门应用中,在不同的时间,帧中的每行被曝光并且数据被捕获。因此,在具有滚动快门的图像捕获装置中,移动对象可能出现失真。下面将更详细地描述这样的现象(其类似地适用于在红外图像捕获装置中电子扫描的使用)。

第二图像捕获装置124和第三图像捕获装置126可以是任何类型的图像捕获装置或红外图像捕获装置。类似于第一图像捕获装置122,图像捕获装置124和126中的每个可以包含光轴。在一个实施例中,图像捕获装置124和126中的每个可以包含具有全局快门的aptinam9v024wvga传感器。替代地,图像捕获装置124和126中的每个可以包含滚动快门。类似于图像捕获装置122,图像捕获装置124和126可以配置为包含各种镜头和光学元件。在一些实施例中,与图像捕获装置124和126相关联的镜头可以提供fov(诸如fov204和206),其等于或窄于与图像捕获装置122相关联的fov(诸如fov202)。例如,图像捕获装置124和126可以具有40度、30度、26度、23度、20度或更小的fov。

图像捕获装置124和126可以获取关于与车辆200相关联的场景的多个第二图像和第三图像。可以获取多个第二和第三图像中的每个作为第二和第三系列图像扫描线,其可以使用滚动快门来捕获。每个扫描线或行可以具有多个像素。图像捕获装置124和126可以具有与包含在第二和第三系列中的每个图像扫描线的获取相关联的第二和第三扫描速率。在图像捕获装置124和126中的一个或多个包括红外图像捕获装置的实施例中,可以获取多个第二和第三图像中的每个作为第二和第三系列热扫描线,其可以使用电子扫描系统来捕获。在这样的实施例中,每个扫描线或行可以具有多个像素,并且图像捕获装置124和/或126可以具有与包含在第二和第三系列中的每个热扫描线的获取相关联的第二和第三扫描速率。

每个图像捕获装置122、124和126可以定位在相对于车辆200的任何合适的位置和方向处。可以选择图像捕获装置122、124和126的相对位置以帮助将从图像捕获装置获取的信息融合在一起。例如,在一些实施例中,与图像捕获装置124相关联的fov(诸如fov204)可能部分地或完全地和与图像捕获装置122相关联的fov(例如fov202)以及与图像捕获装置126相关联的fov(例如fov206)重叠。

图像捕获装置122、124和126可以位于车辆200上的任何合适的相对高度处。在一个实例中,在图像捕获装置122、124和126之间可以存在高度差,其可以提供足够的视差信息以使能立体分析。例如,如图2a所示,两个图像捕获装置122和124在不同的高度处。例如,在图像捕获装置122、124和126之间还可以存在横向位移差,以为处理单元110的立体分析给出附加的视差信息。如图2c和图2d所示,横向位移的差异可以通过dx表示。在一些实施例中,图像捕获装置122、124和126之间可以存在前向或后向位移(例如,范围位移)。例如,图像捕获装置122可以位于图像捕获装置124和/或图像捕获装置126后面0.5到2米或更远处。这样的类型的位移可以使得图像捕获装置中的一个能够覆盖其他(一个或多个)图像捕获装置的潜在盲点。

类似地,在图像捕获装置122、124和126之间可以不存在高度差异,这可以帮助将由一个或多个图像捕获装置产生的热图与由一个或多个图像捕获装置产生的视觉图像对齐。

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

帧速率(例如,图像捕获装置在继续捕获与下一图像帧相关联的像素数据或热数据之前获取一个图像帧的一组像素数据或热数据的速率)可以是可控的。与图像捕获装置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、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米、50米、100米、150米或更远)的对象的图像。此外,图像捕获装置122、124和126的焦距可以被选择以使得一个图像捕获装置(例如,图像捕获装置122)可以获取相对靠近车辆(例如,在10米内或20米内的)对象的图像,而其他图像捕获装置(例如,图像捕获装置124和126)可以获取离车辆200较远的(例如,大于20米、50米、100米、150米等的)对象的图像。

根据一些实施例,一个或多个图像捕获装置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和转向系统240中的一个或多个接收输入,该输入指示车辆200的运行条件(例如,速度、车辆200是否正在制动和/或转向等)。以下结合图4至图7提供进一步的细节。

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

图3b至图3d是与所公开的实施例一致的配置为定位在后视镜(例如,后视镜310)后面并抵靠车辆风挡的示例性相机安装370的图示。如图3b所示,相机安装370可以包含图像捕获装置122、124和126。图像捕获装置124和126可以定位在遮光板380的后面,遮光板380可以与车辆风挡齐平(flush)并且包含薄膜和/或防反射材料-的合成物。例如,遮光板380可被定位为使得它相对于具有匹配斜面的车辆的风挡对齐。在一些实施例中,图像捕获装置122、124和126的每个可以定位在遮光板380的后面,例如在图3d中所描绘的。在图像捕获装置122、124和126中的一个或多个包括红外图像捕获装置的实施例中,这样的装置可以定位在遮光板380的前面(或者,替代地,遮光板380可以不在(一个或多个)红外图像捕获装置的前面延伸),以便防止这些材料妨碍红外光的摄入。所公开的实施例不限于图像捕获装置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可以包含相机的“集群”。例如,相机的集群(包含任何适当数目的相机,例如一个、四个、八个等,以及任何适当类型的相机,例如视觉、红外等)可以相对于车辆是前向的,或者可以面向任何其他方向(例如,后向、侧向、成角度的等)。因此,系统100可以包含多个相机群集,其中每个群集以特定方向定向,以从车辆环境的特定区域捕获图像。

第一相机可以具有大于、小于、或部分重叠于第二相机的视场的视场。此外,第一相机可以连接到第一图像处理器以进行对由第一相机提供的图像的单目图像分析,并且第二相机可以连接到第二图像处理器以进行对由第二相机提供的图像的单目图像分析。在第一相机和第二相机中的一个或多个包括红外相机的实施例中,第一图像处理器和/或第二图像处理器可以进行由(一个或多个)红外相机提供的热图的热图分析。

第一和第二图像处理器的输出(例如,处理后的信息)可以被组合。在一些实施例中,第二图像处理器可从第一相机和第二相机接收图像以进行立体分析或对对齐的视觉和红外图像进行分析。在另一个实施例中,系统100可以使用三相机成像系统,其中每个相机具有不同的视场。因此,这样的系统可以基于从位于车辆前方和侧方的不同距离处的对象导出的信息来做出决定。对单目图像分析的参考可以参考基于从单个视点(例如,从单个相机)捕获的图像进行图像分析的实例。立体图像分析可以参考基于使用图像捕获参数的一个或多个变化而捕获的两个或更多个图像而进行图像分析的实例。例如,适合于进行立体图像分析的所捕获的图像可以包含从两个或更多个不同位置、从不同视野、使用不同焦距以及与视差信息一起等捕获的图像。混合图像分析可以参考一个或多个视觉图像与一个或多个红外图像对齐并且基于对齐的(一个或多个)图像进行图像分析的实例。

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

在另一个实施例中,如以上结合图3b和3c所讨论的,宽视场相机(例如,上述示例中的图像捕获装置124)可以被安装得低于窄视场相机和主视场相机(例如,上述的示例中的图像捕获装置122和126)。这样的配置可以提供来自宽视场相机的自由视线。为减少反射,相机可以被安装得靠近车辆200的风挡,并且在相机上可以包含偏振器以衰减(damp)反射光。

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

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

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

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

在一些实施例中,使得基于图像的信息的流被独立地捕获和处理可以提供用于在系统中提供冗余的机会。这样的冗余可以包含例如使用第一图像捕获装置和从该装置处理的图像来验证和/或补充通过从至少第二图像捕获装置捕获和处理图像信息而获得的信息。

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

本领域的技术人员将认识到,上述相机配置、相机放置、相机数目、相机位置等仅为示例。在不脱离所公开的实施例的范围下,这些组件和关于整个系统描述的其他组件可以在各种不同的配置中被组装和使用。关于使用多相机系统以提供驾驶员辅助和/或自主车辆功能的进一步的细节如下。

图4是存储器140和/或存储器150的示例性功能性框图,该存储器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的其他系统(诸如油门调节系统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、无线、蓝牙等)将它们发送到处理单元110。在步骤520处,处理单元110可以执行单目图像分析模块402来分析该多个图像,如以下结合图5b至5d所进一步详细描述的。通过进行该分析,处理单元110可以检测在该组图像内的一组特征,诸如车道标记、车辆、行人、道路标志、高速公路出口坡道、交通灯等。

在步骤520处,处理单元110还可以执行单目图像分析模块402来检测各种道路危险,诸如例如卡车轮胎的部件、倒下的道路标志、松散货物、小动物等。道路危险可能在结构、形状、大小和颜色上变化,这可能使这样的危险的检测更加困难。在一些实施例中,处理单元110可以执行单目图像分析模块402来对多个图像进行多帧分析以检测道路危险。例如,处理单元110可以估计连续图像帧之间的相机运动,并计算帧之间的像素中的视差来构建道路的3d地图。然后,处理单元110可以使用该3d地图来检测路面、以及存在于路面上的危险。

在步骤530处,处理单元110可以执行导航响应模块408以基于在步骤520处执行的分析和如以上结合图4所描述的技术来引起一个或多个导航响应。导航响应可以包含例如转向、车道变换、制动、加速度的变化等。在一些实施例中,处理单元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可以基于使用一系列基于时间的观察的诸如卡尔曼滤波器或线性二次估计(lqe)的估计技术和/或基于对于不同对象类型(例如,汽车、卡车、行人、自行车、道路标志等)可用的建模数据,来构建该测量。卡尔曼滤波器可以基于对象的比例的测量,其中该比例测量与要碰撞的时间(例如,车辆200到达对象的时间量)成比例。因此,通过进行步骤540、542、544和546,处理单元110可以识别在该组捕获图像内出现的车辆和行人,并导出与该车辆和行人相关联的信息(例如,位置、速度、大小)。基于该识别和所导出的信息,处理单元110可以引起车辆200中的一个或多个导航响应,如以上结合图5a所描述的。

在步骤548处,处理单元110可以进行对一个或多个图像的光流分析,以减少检测到“伪命中”和漏掉表示车辆或行人的候选对象的可能性。光流分析可以指代,例如在一个或多个图像中分析相对于车辆200的、与其他车辆和行人相关联的并且区别于路面运动的运动模式。处理单元110可以通过跨越在不同时间捕获到的多个图像帧观察对象的不同位置,来计算候选对象的运动。处理单元110可以使用该位置和时间值作为用于计算候选对象的运动的数学模型的输入。因此,光流分析可以提供检测车辆200附近的车辆和行人的另一种方法。处理单元110可以结合步骤540、542、544和546进行光流分析,以提供检测车辆和行人的冗余,并提高系统100的可靠性。

图5c是示出与所公开的实施例一致的用于在一组图像中检测道路标记和/或车道几何结构信息的示例性过程500c的流程图。处理单元110可以执行单目图像分析模块402来实现过程500c。在步骤550处,处理单元110可以通过扫描一个或多个图像来检测一组对象。为了检测车道标记、车道几何结构信息以及其他相关的道路标记的段,处理单元110可以过滤该组对象以排除被确定为不相关的对象(例如,小坑洼、小石块等)。在步骤552处,处理单元110可以将在步骤550中检测到的属于相同的道路标记或车道标记的段分组在一起。基于该分组,处理单元110可以产生表示所检测到的段的模型,诸如数学模型。

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

在步骤556处,处理单元110可以通过例如跨连续图像帧跟踪所检测到的段并累积与检测到的段相关联的逐帧数据来进行多帧分析。由于处理单元110进行多帧分析,在步骤554构建的该组测量可以变得更可靠并且与越来越高的置信水平相关联。因此,通过进行步骤550至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附近出现的车道之间的对应性。

在步骤564处,随着车辆200接近交叉口,处理单元110可以更新与所分析的交叉口几何结构和所检测到的交通灯相关联的置信度级别。例如,被估计为出现在交叉口处的交通灯的数目与实际出现在交叉口处的交通灯的数目比较可以影响置信度级别。因此,基于该置信度级别,处理单元110可以将控制委托给车辆200的驾驶员以便改善安全条件。通过进行步骤560、562和564,处理单元110可以识别出现在该组捕获图像内的交通灯,并分析交叉口几何结构信息。基于该识别和分析,处理单元110可以引起车辆200中的一个或多个导航响应,如以上结合图5a所描述的。

图5e是示出与所公开的实施例一致的用于基于车辆路径来引起车辆200中的一个或多个导航响应的示例性过程500e的流程图。在步骤570处,处理单元110可以构建与车辆200相关联的初始车辆路径。车辆路径可以使用以坐标(x,z)表达的一组点来表示,并且该组点中两个点之间的距离di可以落入1至5米的范围中。在一个实施例中,处理单元110可以使用诸如左道路多项式和右道路多项式的两个多项式来构建初始车辆路径。处理单元110可以计算该两个多项式之间的几何中点,并且将被包含在得到的车辆路径中的每个点偏移预定的偏移(例如,智能车道偏移),如果有的话(零偏移可以对应于在车道的中间行驶)。该偏移可以在垂直于在车辆路径中的任何两点之间的线段的方向上。在另一个实施例中,处理单元110可以使用一个多项式和估计的车道宽度,来将车辆路径的每个点偏移估计的车道宽度的一半加上预定偏移(例如,智能车道偏移)。

在步骤572处,处理单元110可以更新在步骤570构建的车辆路径。处理单元110可以使用更高的分辨率来重建在步骤570构建的车辆路径,以使得表示车辆路径的该组点中两个点之间的距离dk小于上述距离di。例如,该距离dk可以落入0.1至0.3米的范围中。处理单元110可以使用抛物线样条算法(parabolicsplinealgorithm)重建车辆路径,这可以产生对应于车辆路径的总长度的累积距离向量s(即,基于表示车辆路径的该组点)。

在步骤574处,处理单元110可以基于在步骤572构建的更新的车辆路径来确定前视点(look-aheadpoint)(以坐标表达为(xl,zl))。处理单元110可以从累积距离向量s提取前视点,并且该前视点可以与前视距离和前视时间相关联。前视距离可以具有范围为从10米至20米的下限,可以被计算为车辆200的速度和前视时间的乘积。例如,随着车辆200的速度下降,前视距离也可以减小(例如,直到它到达下限)。前视时间的范围可以从0.5到1.5秒,可以与关联于引起车辆200中的导航响应的诸如航向误差(headingerror)跟踪控制环路的一个或多个控制环路的增益成反比。例如,该航向误差跟踪控制环路的增益可以取决于偏航率(yawrate)环路、转向致动器环路、汽车横向动力学等的带宽。因此,航向误差跟踪控制环路的增益越高,前视时间越短。

在步骤576处,处理单元110可以基于在步骤574确定的前视点来确定航向误差和偏航率命令。处理单元110可以通过计算前视点的反正切,例如arctan(xl/zl)来确定航向误差。处理单元110可以将横摆角速率命令确定为航向误差和高水平控制增益的乘积。如果前视距离不在下限处,则高水平控制增益可以等于:(2/前视时间)。否则,高水平控制增益可以等于:(2×车辆200的速度/前视距离)。

图5f是示出与所公开的实施例一致的用于确定前方车辆是否正在改变车道的示例性过程500f的流程图。在步骤580处,处理单元110可以确定与前方车辆(例如,在车辆200前方行驶的车辆)相关联的导航信息。例如,处理单元110可以使用以上结合图5a和图5b所描述的技术来确定前方车辆的位置、速度(例如,方向和速度)和/或加速度。处理单元110还可以使用以上结合图5e所描述的技术来确定一个或多个道路多项式、前视点(与车辆200相关联)和/或追踪轨迹(例如,描述由前方车辆所采取的路径的一组点)。

在步骤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可以通过将沿着追踪轨迹行驶的横向距离与该追踪路径的期望曲率相比较,来分析该追踪轨迹的几何结构。可以根据计算确定预期的曲率半径:(δz2+δx2)/2/(δx),其中δx表示横向行驶的距离和δz表示的纵向行驶的距离。如果行驶的横向距离和期望曲率之间的差异超过预定阈值(例如,500至700米),则处理单元110可以确定前方车辆很可能正在改变车道。在另一个实施例中,处理单元110可以分析前方车辆的位置。如果前方车辆的位置遮挡了道路多项式(例如,前车覆盖在道路多项式的上方),则处理单元110可以确定前方车辆很可能正在改变车道。在前方车辆的位置是使得在前方车辆的前方检测到另一车辆并且这两个车辆的追踪轨迹不平行的情况下,处理单元110可以确定(较近的)前方车辆很可能正在改变车道。

在步骤584,处理单元110可以基于在步骤582进行的分析来确定前方车辆200是否正在改变车道。例如,处理单元110可以基于在步骤582进行的各个分析的加权平均来做出该确定。在这样的方案下,例如,由处理单元110基于特定类型的分析做出的前方车辆很可能正在改变通道的决定可以被分配值“1”(以及“0”用来表示前方车辆不太可能正在改变车道的确定)。在步骤582处进行的不同分析可以被分配不同的权重,并且所公开的实施例不限于分析和权重的任何特定组合。此外,在一些实施例中,分析可以利用经训练的系统(例如,机器学习或深度学习系统),其可以例如基于在当前位置处捕获的图像来估计在车辆当前位置前方的未来路径。

图6是示出与所公开的实施例一致的用于基于立体图像分析来引起一个或多个导航响应的示例性过程600的流程图。在步骤610处,处理单元110可以经由数据接口128接收第一和第二多个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202和204的图像捕获装置122和124)可以捕获在车辆200前方的区域的第一和第二多个图像,并经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元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、无线、蓝牙等)将它们发送到处理单元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进行测试。这样的测试可以提供对于图像获取装置122、124和126的某些配置的系统100的整体性能的指示符。例如,处理单元110可以确定“伪命中”(例如,系统100不正确地确定车辆或行人的存在的情况)和“漏掉”的比例。

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

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

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

对捕获的图像和/或热图的分析可以允许检测停放的和移动的车辆的特定特性。可以基于检测到的特性来计算导航变化。下面将参考图8-28讨论基于捕获图像和/或热图的一个或多个特定分析来检测特定特性的实施例。

检测车门打开事件

例如,识别车辆然后识别所识别的车辆的车轮组件可以允许对于门打开事件的定向监控。通过定向该监控,系统可以以比传统运动检测更短的反应时间来识别门打开事件并对其作出反应。下面描述的本公开的实施例涉及用于使用定向监控来检测门打开事件的系统和方法。

图8是存储器140和/或存储器150的示例性功能性框图,该存储器140和/或存储器150可以被储存/被编程指令以用于进行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。

如图8所示,存储器140可以储存车辆侧面识别模块802、车轮识别模块804、门边缘识别模块806和导航响应模块808。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行包含在存储器140中的任何模块802-808所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,可以由一个或多个处理装置来进行任何以下过程的步骤。

在一个实施例中,车辆侧面识别模块802可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如下面结合图9-14所描述的,车辆侧面识别模块802可以包含用于确定标记一个或多个车辆的侧面的边界框的指令。

在一个实施例中,车轮识别模块804可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如下面结合图9-14所描述的,车轮识别模块804可以包含用于确定一个或多个车辆的车轮的椭圆标记的指令。

在一个实施例中,门边缘识别模块806可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如下面结合图9-14所描述的,门边缘识别模块806可以包含用于识别门边缘的出现并监控所识别的门边缘的移动的指令。

在一个实施例中,导航响应模块808可以储存软件,该软件可由处理单元110执行以基于从执行车辆侧面识别模块802、车轮识别模块804和/或门边缘识别模块806导出的数据来确定期望的导航响应。例如,导航响应模块808可以根据下面描述的图14的方法1400来引起导航变化。

此外,本文公开的任何模块(例如,模块802、804和806)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。

图9是从与所公开实施例(例如,上述系统100)一致的包含在主车辆中的系统的视点的道路902的示意图。如图9所示,道路902可具有一个或多个停放的车辆(例如,停放的车辆904或停放的车辆906)。

例如,系统100可以使用关注机制(attentionmechanism)来检测停放的车辆,该关注机制返回可疑片(suspectpach)并将可疑片馈送到越来越复杂的分类器的级联以确定该片是否实际上是车辆。关注机制和分类器可以在真片和假片上训练,如下所述。

例如,系统100可以使用关注机制来检测停放的车辆的后部(例如,车辆后部908和910)。使用检测到的后部,系统100然后可以检测停放的车辆的侧面(例如,车辆侧面912和914)。一旦检测到,可以跟踪车辆后部和/或侧面。

为了检测图9中所描绘的边界框,系统100可以将图像(例如,来自图像捕获装置122、124或126中的一个的图像)输入到一个或多个学习算法。输入图像可以是例如原始的1280×9560灰度图像。学习算法可以输出缩放的(例如,256×192)关注图像(attentionimage)。从关注图像中,可以识别可疑片并且可以缩放(例如,缩放5倍)可疑片的(x,y)点以映射到原始图像坐标上。学习算法可以使用(x,y)坐标来限定可疑片的中心。可以在(x,y)坐标的区域中扫描可疑片,例如,在每个方向上+/-5个像素。在此示例中,然后每个可疑片产生11x11个总候选片。

此外,在此示例中,每个候选片是大小为2r+1的正方形,其中r是边界椭圆的半径。例如,如图10所示,车辆(例如,车辆1002)可以具有与中心(例如,中心1006)相关联的边界椭圆(例如,椭圆1004)。

候选片可以被缩放到规范大小(诸如40×40)并且被用作一个或多个经训练网络(例如,下面描述的一个或多个卷积神经网络(cnn))的输入。例如,一个或多个经训练网络中的每个可以对输入片进行评分。使用得分,每个候选片可以具有基于最高得分分配的标签。(在此示例中,半径r和原始坐标(x0,y0)可以用于将候选片映射回原始图像。)

然后可以将具有高于阈值(其可以是预设的或可变的并且可以从训练中学习)的最高得分的每个候选片输入到最终分类器。最终分类器可以在边界框的底部输出三个点的(x,y)坐标。可以通过乘以适当的因子将这些坐标缩放回原始图像坐标。在上面讨论的示例中,适当的缩放因子可以是(2r+1)/40。除了使用缩放因子之外,可以将实际位置(x0,y0)添加到缩放坐标(x,y)。使用唯一标签,系统可以确定三个(x,y)坐标中的哪两个坐标属于侧面(以及哪一侧)以及三个(x,y)坐标中的哪两个坐标属于后部或前部。

本领域技术人员将认识到,此示例算法的变化是可能的。例如,缩放的关注图像的大小可以变化、可疑片的移位可以变化、候选片的大小可以变化等。作为另一个示例,也可以计算边界框的上部坐标。(在这样的示例中,最终分类器可以输出三个附加点的(x,y)坐标。)另外,其他算法也是可能的,不论是代替上述示例算法还是与上述示例算法组合。例如,其他算法可以包含不同的和/或附加的分类器。

如上所述,可以训练关注机制和随后的分类器。例如,训练机制可以采用超过一百万个示例图像,例如,可以是1280×960灰度图像。在此示例训练集中,边界框的可见面可以被标记为左、右、后或前。例如,它们可以分别示出为黄色、蓝色、红色和绿色。如果面是部分可见,则可以仅在图像中标记未遮挡的部分,并在数据库中记录部分遮挡。

在此训练示例中,对于每个边界框,系统可以计算边界框的两个最远边缘并且构建以两个边缘为中心并且半径为到最远边缘的距离的有界椭圆(boundedellipse)。

在此训练示例中,系统然后可以从整体提取关注图像,关注图像是256×192图像(即,减少5倍)。在训练图像中标记的每个车辆可以被位于椭圆中心的坐标处的关注图像中的一个点除以5来替换,并且该点的值可以是边界椭圆(boundingellipse)的半径。

在此训练示例中,示例图像可以用于训练卷积神经网络(cnn)。本领域技术人员将认识到,可以使用其他机器训练技术来代替cnn或与cnn结合使用。因此,神经网络可以将原始图像映射到稀疏的,降低分辨率的关注图像。此方法可以将场景理解(例如,道路的位置、图像透视)与看起来像汽车的东西的局部检测相结合。其他设计选择也是可能的。例如,网络可以首先应用滤波器组(filterbank),该滤波器组被设计为在汽车预期的位置(例如,不在天空中)检测汽车。

神经网络可以将可疑片发送到第一分类器,该第一分类器可以对每个可能的视图进行评分。例如,第一分类器可以分配四个主要标签之一:左后(leftrear)、左前(leftfront)、右后(rightrear)、右前(rightfront)。如果只有一个面可见,则可以随机分配两个可能的标签中的一个。每个主标签可以进一步细分。例如,每个主标签可以细分为片是否含有更多“side(侧)”而不是“end(端)”,反之亦然。例如,可以通过比较标记的侧面和端面的图像宽度来进行这样的细分(subdivision)。如果宽度相等,则可以随机分配细分。

作为进一步示例,每个细分可以进一步划分为三个子细分。例如,左后标签的“侧”细分可能含有三个子细分:“端”左后10可以指定后面为左面宽度的10%或更小的片;“端”左后50可以指定后面超过10%但小于50%的片;并且“端”左后可以指定后面超过50%的片。

作为进一步示例,如果至少一个面被遮挡,则可以进一步标记每个子细分。在此示例中,子细分和标签的总组合为48。本领域技术人员将认识到,产生相同或不同总组合的其他划分方式和标签是可能的。例如,“侧”左后20可以指定左面小于总面积的20%的片;“侧”左后50可以指定左面占总面的20%至50%的片;“侧”左后80可以指定左面占总面的50%至80%的片;并且“侧”左后100可以指定左面占总面的80%到100%的片。

作为进一步示例,取决于侧面是否分别在端面的左侧或右侧观察,四个主标签可以由两个主标签代替:“侧/端(side/end)”和“端/侧(end/side)”。划分和标签的选择取决于可用数据的数量,因为对于大量的细分和标签,训练需要更多的示例。

因此,神经网络可以向第一分类器输入以点为中心的片,该点在缩小到原始图像坐标并且在x和y方向上穷举地(exhaustively)移位+/-5个像素的关注地图中。这样的移位产生121个移位的示例。本领域技术人员将认识到,产生移位示例的其他手段也是可能的。例如,片可以在x和y方向上穷举地移位+/-4(或+/-3等)像素。

在此示例中,可以使用边界椭圆的半径r来形成每个片,以切割大小为2r+1乘2r+1的正方形,该正方形缩放成规范大小(例如40×40像素)。本领域技术人员将认识到,产生片的其他手段也是可能的。例如,可以切割大小为2r-1乘2r-1的正方形。作为另一示例,可以使用一个或多个长度的边界框来代替2r。

神经网络可以将每个标记的片输入到最终分类器。最终分类器可以输出限定边界框底部的三个点中的每个的标记片中的位置(x,y)。输出(x,y)坐标可以相对于片。在一些实施例中,可以为细分和标签的每个组合来训练神经网络。在其他实施例中,可以训练更少的神经网络。

可以使用类似的学习技术来训练分类器,以从所识别的车辆中提取更具体的特征。例如,可以训练分类器以识别车轮、轮胎、“a”柱、侧视镜等。在图11的示例中,车辆1106的车轮1102和1104已使用椭圆标记。例如,系统可以通过将边界框缩放到规范大小(例如,40像素长度和20像素高度)并将缩放的框输入到适当的分类器来绘制椭圆。

基于车轮的识别,系统可以确定所识别的车辆上可能预期发生门打开事件的一个或多个“热点(hotspot)”。例如,一个或多个热点可位于所识别的轮胎之间和/或后部所识别的轮胎之上。如图12a中所示,可以监控一个或多个热点在车辆1204上垂直定向的条带(stripe)1202的出现。条带1202的出现可以指示门打开事件的开始。

在一些实施例中,系统可以使用车辆1204上的一个或多个特征作为基准点来跟踪条带1202的边缘相对于车辆1204的侧面的运动。例如,一个或多个特征可以包含所识别的轮胎或其他所识别的特征,诸如车辆1204的前边缘、车辆1204的一个或多个尾灯。

如图12b所示,当车辆1204的门打开时,条带1202可以扩展。条带1202的边缘1202a可以固定在沿着车辆1204的车身的位置,而条带1202的边缘1202b可以看起来朝向车辆1204的前部移动。因此,系统可以基于条带1202的监控来确认门打开事件的存在。

基于门打开事件的存在,主车辆可以经历导航变化。例如,如图13所示,主车辆的偏航1301已经改变,指示主车辆正在远离门打开事件。

图14是示出与所公开的实施例一致的用于基于门打开事件的检测来引起一个或多个导航响应的示例性过程1400的流程图。在步骤1402处,处理单元110可以经由数据接口128接收主车辆的环境的至少一个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在车辆前方和/或侧方的区域的至少一个图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

在步骤1404处,处理单元110可以分析至少一个图像以识别停放的车辆的侧面。步骤1404可以进一步包含将至少一个边界框与停放的车辆的侧面的形状相关联。例如,可以使用如上参考图9和10所讨论的学习算法来进行分析。

在步骤1406处,处理单元110可以识别停放的车辆的结构特征。在一些实施例中,处理单元110可以识别停放的车辆的侧面的前部区域中的停放的车辆的第一结构特征以及停放的车辆侧面的后部区域中的停放的车辆的第二结构特征。例如,结构特征可以包含车轮组件(诸如轮胎、轮毂盖或车轮结构)、镜子、“a”柱、“b”柱、“c”柱等。可以在所识别的侧面附近的区域中识别第一和/或第二结构特征。例如,可以使用如上参考图11所讨论的学习算法来进行分析。

在步骤1408处,处理单元110可以识别停放的车辆的门边缘。可以在(一个或多个)结构特征附近的区域中识别门边缘。例如,在处理单元110识别前车轮组件和后车轮组件的实施例中,第一和第二车轮的附近可以包含前车轮组件和后车轮组件之间的区域。作为另一示例,在处理单元110识别前车轮组件和后车轮组件的实施例中,第一和第二车轮组件的附近可以包含后车轮组件上方的区域。可以使用如上参考图12a所讨论的学习算法来进行分析。

在步骤1410处,处理单元110可以确定门边缘的图像特性的变化。例如,处理单元110可以监控从图像捕获装置接收的至少两个图像在第一和第二车轮组件的附近垂直条带的出现,如上面参考图12b所讨论的。在此示例中,垂直条带的第一边缘沿着被监控图像中的停放的车辆的车身固定,并且垂直条带的第二边缘朝向被监控图像中的停放的车辆的前部区域移动。在出现之后,可以随时间跟踪门边缘的宽度(即,垂直条带的宽度)。在一些实施例中,门边缘的图像特性的变化可以包含门边缘的加宽。在这样的实施例中,确定门边缘的图像特性的变化可以包含监控垂直条带的扩展。

在一些实施例中,处理单元110可以估计门打开量。例如,处理单元110可以使固定边缘的列延伸以与边界框相交,并使用交叉点的y坐标来估计到门的距离。在此示例中,到门的距离和条带的宽度可以用于估计门打开量。因此,处理单元110可以基于所确定的宽度确定门边缘远离停放的车辆延伸的距离。因此,可以随时间跟踪门边缘与车辆车身的分离(即,门打开量)。

在步骤1412处,处理单元110可以更改主车辆的导航路径。例如,导航响应可以包含转向(如在图13中所示)、车道变换、加速度的变化等。处理单元110可以基于在步骤1410进行的确定来引起一个或多个导航响应。例如,处理单元110可以响应于门边缘事件而移动主车辆远离门边缘事件和/或使主车辆减速。在此示例中,处理单元110可以基于所确定的门边缘远离停放的车辆延伸的距离来确定主车辆的横向安全距离,并且主车辆的导航路径的更改可以至少部分地基于所确定的横向安全距离。在另一个示例中,处理单元110可以基于预定值来确定主车辆的横向安全距离,诸如对应于与车辆门打开相关联的突起的典型范围的值。此外,作为示例,不同的预定值可以用于不同类型的车辆,并且例如,对于其他大小的车辆,诸如卡车,相比于用于更小车辆的安全距离值可以使用更大的预定安全距离值。

处理单元110还可以使用从执行速度和加速度模块406导出的数据来引起一个或多个导航响应。多个导航响应可以同时地、按顺序地或以其任何组合而发生。例如,导航响应可以由经训练的系统确定。此外,作为示例,经训练的系统可以被配置为在优化性能时避免损害某些安全限制,并且经训练的系统可以被配置为通过调用导航变化来对门打开检测作出反应。在另一个示例中,当检测到(停放的汽车)门打开事件时,可以使用一组规则来确定期望的响应。

检测车辆进入主车辆的车道

识别道路单应性并识别车辆的车轮组件的系统和方法可以允许对于车辆的移动的定向监控。通过定向监控,系统至少在某些情况下可以以比传统运动检测更短的反应时间,来识别从另一个车道或从停放位置进入主车辆的车道的运动并对其作出反应。下面描述的本公开的实施例涉及用于使用定向监控来检测进入主车辆的车道的车辆的系统和方法。

图15是存储器140和/或存储器150的示例性功能性框图,该存储器140和/或存储器150可以被储存/被编程指令以用于进行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。

如图15所示,存储器140可以储存道路单应性模块1502、车轮识别模块1504、运动分析模块1506和导航响应模块1508。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行包含在存储器140中的任何模块1502-1508所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,可以由一个或多个处理装置来进行任何以下过程的步骤。

在一个实施例中,道路单应性1502可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像的道路单应性进行扭曲。例如,道路单应性模块1502可以包含用于执行下面描述的图18的方法1800的指令。

在一个实施例中,车轮识别模块1504可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如以上结合图9-14所描述的,车轮识别模块1504可以包含用于确定一个或多个车辆的车轮的椭圆标记的指令。

在一个实施例中,运动分析模块1506可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像(和/或由道路单应性模块1502处理的一个或多个图像)进行分析,以跟踪一个或多个所识别的车辆组件的运动。例如,结合车轮识别模块1504,运动分析模块1506可以随时间跟踪所识别的车辆车轮组件的运动。

在一个实施例中,导航响应模块1508可以储存软件,该软件可由处理单元110执行以基于从执行道路单应性模块1502、车轮识别模块1504和/或运动分析模块1506导出的数据来确定期望的导航响应。例如,导航响应模块1508可以根据下面描述的图17的方法1700来引起导航变化。

此外,本文公开的任何模块(例如,模块1502、1504和1506)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。

图16a描绘了从与所公开实施例一致的系统的视点的停放的车辆1602。在图16a的示例中,车辆1602的车轮1604和1606已使用椭圆标记。如上所述,例如,系统可以通过将边界框缩放到规范大小(例如,40像素长度和20像素高度)并将缩放的框输入到适当的分类器来绘制椭圆。

图16b描绘了车辆1602远离停放(即静止)状态。在图16的示例中,车辆1602的车轮1604和1606现在在车辆1602移动时旋转。如下所述,系统可以跟踪车轮1604和1606的旋转,以确定车辆1602正在移动。

图17是示出与所公开的实施例一致的用于基于检测到目标车辆进入主车辆的车道来引起一个或多个导航响应的示例性过程1700的流程图。在步骤1702处,处理单元110可以经由数据接口128接收主车辆的环境的多个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在车辆前方和/或侧方的区域的多个图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

可以随时间收集多个图像。例如,多个图像可以包含在时间t=0捕获的第一图像,在t=0.5秒捕获的第二图像,以及在t=1.0秒捕获的第三图像。图像之间的定时可以至少取决于一个或多个图像捕获装置的扫描速率。

在步骤1704处,处理单元110可以分析至少一个图像以识别目标车辆。例如,识别目标车辆可以进一步包含将至少一个边界框与目标车辆的侧面的形状相关联。例如,可以使用如上参考图9和10所讨论的学习算法来进行分析。在一些实施例中,步骤1704可以进一步包含识别所识别的目标车辆的侧面的车轮。例如,可以使用如上参考图11所讨论的学习算法来进行分析。

步骤1704不限于车轮,还可以包含车轮组件。例如,处理单元110可以识别车轮组件,该车轮组件包含轮胎、轮毂盖或车轮结构中的至少一个。

在步骤1706处,处理单元110可以识别与所识别的(一个或多个)车轮相关联的运动。例如,处理单元可以识别包含目标车辆的至少一个车轮组件的区域中的运动,该区域可以包含与路面相邻的区域。通过监控多个图像中的至少两个,处理单元可以使用至少一个车轮组件的旋转的指示来识别运动。

作为另一示例,处理单元110可识别与至少一个车轮组件相关联的至少一个特征(例如,车轮上的徽标、车轮轮胎的测量、车轮轮毂盖的测量、特定的像素片)。使用至少一个特征,处理单元110可以识别至少一个特征的位置变化的指示符(例如,徽标的模糊、像素片的改变的坐标)。

作为另一示例,处理单元110可以扭曲道路的单应性,如关于下面的图18的方法1800所描述的,识别所识别的(一个或多个)车轮和扭曲的道路(其可以是静止)之间的(一个或多个)接触点,并跟踪接触点上方的点以识别运动。

处理单元110可以使用旋转指示符、至少一个特征的位置变化和/或跟踪的点来确定目标车辆正在移动的速度。处理单元110可以在步骤1708中使用所确定的速度来引起导航变化,如下所述。另外,处理单元110可以使用地平面限制来估计到轮胎的距离,并且可以基于估计的距离来估计目标车辆的横向运动。

在步骤1708处,处理单元110可以引起主车辆的导航变化。例如,导航响应可以包含主车辆的前进方向的变化(如上面的图13中所示)、车道变换、加速度的变化(例如,施加主车辆的制动)等。处理单元110可以基于在步骤1706进行的确定来引起一个或多个导航响应。例如,处理单元110可以响应于目标车辆的移动而使主车辆远离目标车辆和/或使主车辆减速。在此示例中,处理单元110可以基于所确定的目标车辆的速度(和/或估计的横向运动)来确定主车辆的横向安全距离,并且主车辆的导航路径的更改可以至少部分地基于所确定的横向安全距离。

处理单元110还可以使用从执行速度和加速度模块406导出的数据来引起一个或多个导航响应。多个导航响应可以同时地、按顺序地或以其任何组合而发生。

图18是示出用于扭曲道路的单应性的示例性过程1800的流程图。在步骤1802处,处理单元110可以经由数据接口128接收主车辆的环境的多个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在车辆前方和/或侧方的区域的多个图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

可以随时间收集多个图像。例如,多个图像可以包含在时间t=0捕获的第一图像以及在t=0.5秒捕获的第二图像。图像之间的定时可以至少取决于一个或多个图像捕获装置的扫描速率。

在步骤1804处,处理单元110可以将多个图像中的第一图像初始地朝向多个图像中的第二图像扭曲。例如,可以基于主车辆的偏航(yaw)、俯仰(pitch)和滚转(roll)的估计来旋转第一或第二图像中的一个。

在步骤1806处,处理单元110可以选择第一或第二图像内的点网格作为参考点网格。例如,网格可以由任何形状形成,例如,椭圆形、矩形、梯形等。替代地,可以选择点的随机分布。

在步骤1808处,处理单元110可以定位所选网格周围的片。例如,片可以具有均匀的大小和形状。替代地,片可以变化和/或可以随机变化。

在步骤1810处,处理单元110可以使用例如基于片的归一化相关计算来跟踪所选择的点网格。从跟踪点,处理单元110可以基于跟踪选择具有最高得分的点的子集。

在步骤1812处,处理单元110可以将跟踪的点拟合为单应性。在一些实施例中,处理单元110可以使用跟踪点的随机子集来计算多个单应性。在这样的实施例中,处理单元110可以保留具有最高得分单应性的随机子集。

在步骤1814处,处理单元110可以使用来自步骤1812的单应性来修正初始扭曲。例如,处理单元110可以使用具有最高得分单应性的点的随机子集,以便将多个图像中的第一个朝向多个图像中的第二个重新扭曲。处理单元110可以进一步直接从重新扭曲的图像计算最小二乘单应性。本领域技术人员将认识到,可以使用用于计算道路单应性的其他算法。

基于停放的车辆方向检测单向道路

识别车辆并识别所识别的车辆的前部和/或后部的系统和方法可以允许检测单向道路。通过使用所识别的车辆前部和/或后部,在不必解释标志的情况下或甚至当没有车辆在道路上行驶时,也可以检测单向道路。下面描述的本公开的实施例涉及用于基于停放的车辆方向来检测单向道路的系统和方法。

图19是存储器140和/或存储器150的示例性功能性框图,该存储器140和/或存储器150可以被储存/被编程指令以用于进行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。

如图19所示,存储器140可以储存车辆识别模块1902、方向确定模块1904、车辆侧面识别模块1906和导航响应模块1908。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行包含在存储器140中的任何模块1902-1908所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,可以由一个或多个处理装置来进行任何以下过程的步骤。

在一个实施例中,车辆识别模块1902可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如上面结合图9-14所描述的,车辆识别模块1902可以包含指令,该指令用于确定一个或多个车辆的边界框。

在一个实施例中,方向确定模块1904可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如下面结合图20a和20b所描述的,方向确定模块1904可以包含指令,该指令用于确定所识别车辆的面向方向。

例如,面向方向可以指示平行停放的所识别车辆是朝向还是远离主车辆。作为另一示例,面向方向或“倾斜方向(tiltingdirection)”可以指示停放在成角度点(angledspot)中的所识别车辆是朝向或远离主车辆倾斜。在这样的示例中,面向方向可以进一步指示所识别的车辆是否已经后退到成角度点中或被向前拉到该点中。

在一个实施例中,车辆侧面识别模块1906可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如上面结合图9-14所描述的,车辆侧面识别模块1906可以包含指令,该指令用于分类所识别的一个或多个车辆的边界框。

在一个实施例中,导航响应模块1908可以储存软件,该软件可由处理单元110执行以基于从执行车辆识别模块1902、方向确定模块1904和/或车辆侧面识别模块1906导出的数据来确定期望的导航响应。例如,导航响应模块1908可以根据下面描述的图21的方法2100来引起导航变化。

此外,本文公开的任何模块(例如,模块1902、1904和1906)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。

图20a描绘了从与所公开实施例一致的系统的视点的单向道路2002。道路2002可以包含在一侧上的第一多个静止车辆(例如,第一车辆2004)并且可以包含另一侧上的第二多个静止车辆(例如,第二车辆2006)。如下面关于图21的方法2100所描述的,系统可以确定第一多个静止车辆中的车辆的面向方向以及第二多个静止车辆中的车辆的面向方向。

如图20a所示,如果第一多个静止车辆和第二多个静止车辆的面向方向相同,则系统可以确定道路2002是单向道路。在道路2002的一侧具有成角度停车而不是平行停车的其他实施例中,如果平行停车侧的面向方向与成角度停车侧的倾斜方向相同,则系统可以确定道路2002是单向道路。在道路2002具有成角度停车的两侧的其他实施例中,如果第一多个静止车辆和第二多个静止车辆的倾斜方向相同,则系统可以确定道路2002是单向道路。在某些方面,该确定可取决于第一多个静止车辆和/或第二多个静止车辆是否后退到成角度点中或被向前拉到该点中。

图20b还描绘了从与所公开实施例一致的系统的视点的单向道路2008。类似于道路2002,道路2008可以包含在一侧上的第一多个静止车辆(例如,第一车辆2010)并且可以包含另一侧上的第二多个静止车辆(例如,第二车辆2012)。如下面关于图21的方法2100所描述的,系统可以确定第一多个静止车辆中的车辆的面向方向以及第二多个静止车辆中的车辆的面向方向。如图20a所示,如果车辆(例如,车辆2010)的面向方向与其相关联的多个车辆的面向方向不同,则系统可以确定该车辆不正确地停放。例如,如果在相关联的多个车辆中具有不同面向方向的其他车辆的数目超过阈值,则系统可以确定该车辆未正确地停放。作为另一示例,如果具有不同面向方向的其他车辆与具有相同面向方向的车辆的比率超过阈值(例如,百分之五十或更高、百分之六十或更高、百分之七十或更高等),则系统可以确定该车辆未正确地停放。在一些实施例中,该确定可以用于向车辆2010的所有者或操作者发出交通罚单(或指导主车辆的操作者发出交通罚单)。

图21是示出与所公开的实施例一致的用于基于检测到主车辆行驶的道路是否是单向道路来引起一个或多个导航响应的示例性过程2100的流程图。在步骤2102处,处理单元110可以经由数据接口128接收主车辆的环境的至少一个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在车辆前方和/或侧方的区域的至少一个图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

在步骤2104处,处理单元110可以分析至少一个图像以识别道路一侧的第一多个车辆。例如,识别第一多个车辆可以进一步包含将边界框与第一多个车辆的形状相关联。例如,可以使用如上参考图9和10所讨论的学习算法来进行分析。

步骤2104可以进一步包含基于至少一个图像的分析来识别第一多个车辆中的至少一个的侧面或第二多个车辆中的至少一个的侧面。例如,可以使用如上参考图9和10所讨论的学习算法来进行分析。在一些实施例中,侧面的识别可以基于与第一多个车辆中的至少一个或第二多个车辆中的至少一个相关联的至少两个特征。例如,与车辆相关联的特征可以包含镜子、窗户、门把手、门的形状、门的数目、前挡风玻璃和/或后挡风玻璃的倾斜等。在一些实施例中,所识别的侧面可以是右侧面。在其他实施例中,所识别的侧面可以是左侧面。

在步骤2106处,处理单元110可以分析至少一个图像以识别道路另一侧的第二多个车辆。可以与步骤2104类似地和/或同时地执行步骤2106。

在步骤2108处,处理单元110可以确定第一多个车辆的第一面向方向。在一些实施例中,第一多个车辆可以全部具有相同的面向方向。在其他实施例中,面向方向可以不同。

在步骤2110处,处理单元110可以确定第二多个车辆的第二面向方向。在一些实施例中,第二多个车辆可以全部具有相同的面向方向。在其他实施例中,面向方向可以不同。

在步骤2112处,处理单元110可以引起主车辆的导航变化。例如,导航响应可以包含转向(如上面的图13中所示)、车道变换、加速度的变化(例如,施加主车辆的制动)等。处理单元110可以基于在步骤2112进行的确定来引起一个或多个导航响应。例如,处理单元110可以基于第一和第二面向方向来确定道路是单向道路。基于此确定,处理单元可以使主车辆减速或停止主车辆和/或执行u形转向。

在一些实施例中,方法2100可以包含附加步骤。例如,方法2100可以包含接收导航指令以将主车辆从主车辆正行驶的第一道路导航到第二道路。导航指令可以包含将主车辆转向第二道路、变向(veer)第二道路、并道到进入第二道路的坡道等的指令。

在这样的实施例中,方法2100可以进一步包含确定第一面向方向和第二面向方向两者都与如果主车辆将转向第二道路则主车辆将行驶的前进方向相反。例如,处理单元110可以分析第二道路上的车辆的图像以确定第一和第二面向方向,并且然后确定它们是否与主车辆的预计前进方向相反。响应于确定第一面向方向和第二面向方向两者都与如果主车辆将转向第二道路则主车辆将行驶的前进方向相反,处理单元110可以暂停导航指令。例如,处理单元110可以取消转向、变向、并道等到第二道路上的指令,因为处理单元110已经确定道路是在与预计的前进方向相反的方向上的单向道路。

在进一步的实施例中,方法2100可以包含接收覆盖指令(overrideinstruction)以恢复暂停的导航指令。例如,可以基于从主车辆内的人接收的手动确认来初始化覆盖指令,基于访问地图数据来初始化覆盖指令,基于与第二道路的行驶方向有关的众包数据来初始化覆盖指令等。

处理单元110还可以使用从执行速度和加速度模块406导出的数据来引起一个或多个导航响应。多个导航响应可以同时地、按顺序地或以其任何组合而发生。

基于热曲线预测停放的车辆的状态

基于热曲线(heatprofile)预测停放的车辆的状态的系统和方法可以允许在车辆开始移动之前预测停放的车辆的移动。以这样的方式,系统可以识别预测的移动并且抢先调整移动而不是等待直到像传统运动检测那样实际检测到运动。以下描述的本公开的实施例涉及用于基于热曲线预测停放的车辆的状态的系统和方法。

图22是存储器140和/或存储器150的示例性功能性框图,该存储器140和/或存储器150可以被储存/被编程指令以用于进行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。

如图22所示,存储器140可以储存视觉红外对齐模块2202、车辆识别模块2204、状态预测模块2206和导航响应模块2208。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行包含在存储器140中的任何模块2202-2208所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,可以由一个或多个处理装置来进行任何以下过程的步骤。

在一个实施例中,视觉红外对齐模块2202可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,将由图像捕获装置122、124和126中的一个获取的一个或多个视觉图像与由一个或多个图像捕获装置122、124和126获取的一个或多个红外图像(即,热地图)进行对齐。例如,视觉红外模块2202可以包含用于执行下面描述的图25的方法2500的指令。

在一个实施例中,车辆识别模块2204可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如下面结合图9-14所描述的,车辆识别模块2202可以包含指令,该指令用于确定一个或多个车辆的边界框。

在一个实施例中,状态预测模块2206可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由来自视觉红外对齐模块2202的一个或多个对齐的图像进行分析以预测一个或多个所识别的车辆的状态。例如,状态预测模块2206可以基于所识别的车辆的视觉指示符和热指示符来输出预测状态。

在一个实施例中,导航响应模块2208可以储存软件,该软件可由处理单元110执行以基于从执行视觉红外模块2202、车辆识别模块2204和/或状态预测模块2206导出的数据来确定期望的导航响应。例如,导航响应模块2208可以根据下面描述的图24的方法2400来引起导航变化。

此外,本文公开的任何模块(例如,模块2202、2204和2206)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。

图23a描绘了从与所公开实施例一致的系统的视点的停放的车辆2302。例如,系统可以监控车辆2302的照明状态和/或温度特性的变化。例如,系统可以使用图24的方法2400来基于照明状态和/或温度特性的变化来确定车辆2302的预测状态。

图23b描绘了具有变化的照明状态的停放的车辆2302。在图23c的示例中,车辆2302的尾灯2304a和2304b已经从非照明状态变为照明状态。前灯指示变化的照明状态的其他实施例是可能的。此外,车辆的前灯和/或尾灯从照明状态变为非照明状态的其他实施例也是可能的。

图23c描绘了停放的车辆2302(来自不同的角度),其具有暖的(warm)引擎2306和冷的(cool)轮胎2308a和2308b。如本文所用,“暖的”和“冷的”可以指代与可预定和/或学习的预期温度值的偏差。例如,如果引擎高于环境温度,则引擎可以是“暖的”,并且如果引擎处于或低于环境温度,则引擎可以是“冷的”。在本公开的实施例中,对引擎或引擎温度的参考可以涉及车辆的某个区域,其温度通常受引擎温度的影响,例如,位于车辆前部的引擎罩。可选择“暖的”和“冷的”温度阈值以反映具体条件下引擎罩的预期温度,该温度阈值可能具有一些余量以根据需要减少假阳性(falsepositive)或假阴性(falsenegative)检测。在一个示例中,在阳光充足的条件下,可以调节阈值温度以考虑来自太阳的加热(例如,在确定车辆的引擎罩暴露于太阳之后)。在另一个示例中,考虑到车辆的颜色可以将太阳的影响作为因素考虑,这可以通过图像的光谱分析来确定。在另一个示例中,可以通过平均例如先前检测到的停放的汽车和/或一个或多个停放的汽车的具体区域的温度来确定阈值,该具体的区域可能在当前正被监控的汽车的局部区域内。

类似地,轮胎温度可以用作车辆状态的指示。例如,如果轮胎高于道路温度,则轮胎可以是“暖的”,并且如果轮胎处于或低于道路温度,则轮胎可以是“冷的”。在另一个示例中,阈值温度(例如,用于区分“暖的”和“冷的”轮胎的温度)可以涉及预期的或计算出的轮胎操作温度。工作温度计算可以考虑环境条件,并且还可以考虑驾驶模型及其对轮胎温度的影响。在又一个示例中,工作温度计算还可以包含轮胎冷却模型。轮胎冷却模型还可以考虑环境条件。在图23c的示例中,系统可以例如使用图24的方法2400来基于引擎2306和轮胎2308a和2308b的温度来确定车辆2302的预测状态。

图24是示出与所公开的实施例一致的用于确定停放的车辆的预定状态的示例性过程2400的流程图。在步骤2402处,处理单元110可以经由数据接口128接收主车辆的环境的多个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在车辆前方和/或侧方的区域的多个图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

可以随时间收集多个图像。例如,多个图像可以包含在时间t=0捕获的第一图像,在t=0.5秒捕获的第二图像,以及在t=1.0秒捕获的第三图像。图像之间的定时可以至少取决于一个或多个图像捕获装置的扫描速率。

在步骤2404处,处理单元110可以分析多个图像以识别目标车辆。例如,识别停放的车辆可以进一步包含将至少一个边界框与停放的车辆的侧面的形状相关联。例如,可以使用如上参考图9和10所讨论的学习算法来进行分析。在一些实施例中,步骤2404可以进一步包含识别所识别的目标车辆的前部的引擎和/或所识别的目标车辆的侧面的车轮。例如,可以使用如上参考图11所讨论的学习算法来进行分析。

在步骤2406处,处理单元110可以分析多个图像以识别停放的车辆的照明状态的变化。例如,处理单元110可以识别停放的车辆的尾灯和/或前灯,并监控所识别的尾灯和/或前灯从非照明到照明(如图23b的示例中所示)或从照明到非照明的变化。其他实施例可以包含更详细的变化,例如,仅从停车灯照明到刹车灯照明的变化等。

在一些实施例中,方法2400可以包含基于照明状态的变化来确定停放的车辆的预测状态并可以直接进行到步骤2412(即,基于停放的车辆的预测状态来引起由主车辆的至少一个导航响应)。例如,基于与停放的车辆相关联的至少一个车灯的照明状态从非照明状态到照明状态的变化,处理单元110可以确定停放的车辆的预测状态包含停放的车辆的引擎已经启动的指示。例如,基于与停放的车辆相关联的至少一个车灯的照明状态从照明状态到非照明状态的变化,处理单元110可以确定停放的车辆的预测状态包含停放的车辆的引擎已经关闭的指示。因此,在这样的实施例中,这些确定可能不涉及使用热图像。

在步骤2408处,处理单元110可以经由数据接口128接收主车辆的环境的至少一个热图像(即,红外图像)。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在主车辆前方和/或侧方的区域的至少一个热图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

可以与步骤2402分开地或同时地进行步骤2408。因此,在一些实施例中,可以同时接收视觉和红外图像。在其他实施例中,一个或多个图像捕获装置与一个或多个红外图像捕获装置之间的不同扫描速率和/或不同的传输速度可导致视觉和红外图像之间的延迟。

在一些实施例中,方法2400可以进一步包含将多个图像中的至少一个与至少一个热图像对齐。基于对齐,方法2400可以进一步包含在对齐的至少一个热图像中识别停放的车辆的引擎区域或至少一个车轮组件区域中的至少一个。

在步骤2410处,处理单元110可以基于步骤2406的分析和/或至少一个热图像的分析来确定停放的车辆的预测状态。例如,预测的状态可以包含停放的车辆的引擎已经启动的指示或停放的车辆的引擎已经关闭的指示。作为另一示例,预测状态可以包含停放的车辆在预定的时间段内不预期移动的指示,停放的车辆在预定的时间段内预期移动的指示,或者停放的车辆的门在预定的时间段内预期打开的指示。

在一些实施例中,对至少一个热图像的分析可以包含确定停放的车辆的引擎区域的温度值。例如,如果温度值低于阈值,则处理单元110可以确定预测状态,该预测状态包含预期停放的车辆在预定的时间段内不预期移动的指示。预定时间段可以例如取决于停放的车辆或其引擎的已知特性。

在一些实施例中,对至少一个热图像的分析可以包含确定停放的车辆的引擎区域的第一温度值和停放的车辆的至少一个车轮组件的第二温度值。在这样的实施例中,可以基于第一温度值与第一阈值的比较以及第二温度值与第二阈值的比较来确定停放的车辆的预测状态。例如,如果第一温度值超过第一阈值并且第二温度值低于第二阈值,则处理单元110可以确定预测状态,该预测状态包含停放的车辆在预定的时间段内预期移动的指示。作为另一示例,如果第一温度值超过第一阈值并且第二温度值超过第二阈值,则处理单元110可以确定预测状态,该预测状态包含停放的车辆的门在预定的时间段内预期打开的指示。

在一些实施例中,处理单元110可以至少部分地基于预测状态、预测状态是否基于照明的变化、至少一个热图像的分析或是其组合,对接收的图像进行附加的监控。例如,如果预测状态指示停放的车辆的引擎已经关闭和/或指示停放的车辆的门在预定的时间段内预期打开,则处理单元110可以监控所接收图像的一个或多个部分在停放的车辆的门边缘的图像特性中的变化。以上参考图14的方法1400解释了此监控的示例。作为另一示例,如果预测状态指示停放的车辆的引擎已经打开和/或指示预定停放的车辆在预定的时间段内预期移动,则处理单元110可以监控所接收的图像的一个或多个车轮组件的该车轮组件的运动。以上参考图17的方法1700解释了此监视的示例。

在步骤2412处,处理单元110可以引起主车辆的导航变化。例如,导航响应可以包含主车辆的前进方向的变化(如上面的图13中所示)、车道变换、加速度的变化等。处理单元110可以基于在步骤2410进行的确定的预测状态来引起一个或多个导航响应。例如,处理单元110可以响应于预测状态指示停放的车辆在预定的时间段内预期移动或指示停放的车辆的门在预定的时间段内预期打开,而使主车辆远离停放的车辆和/或使主车辆减速。

图25是示出用于对齐视觉和红外图像的示例性过程2500的流程图。在步骤2502和2504处,处理单元110可以经由数据接口128接收主车辆的环境的至少一个视觉图像和环境的至少一个红外图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在主车辆前方和/或侧方的区域的至少一个视觉图像和至少一个红外图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。

在一些实施例中,可以同时接收视觉和红外图像。在其他实施例中,一个或多个图像捕获装置与一个或多个红外图像捕获装置之间的不同扫描速率和/或不同的传输速度可导致视觉和红外图像之间的延迟。

在步骤2506处,处理单元110可以选择至少一个红外图像中的一组参考点。例如,该组参考点可以被随机地选择,或者可以包含基于已知特性的已知对象(例如,行人、树、车辆等)的标识。

在步骤2508处,处理单元110可以将参考点从至少一个红外图像投影到至少一个视觉图像。例如,处理单元110可以将表示(例如,围绕)参考点的形状(例如,椭圆、矩形、梯形等)投影到至少一个视觉图像中的位置上。

在步骤2510处,处理单元110可以优化对应于参考点的视觉图像的部分的增益和/或曝光。例如,由优化产生的改善的对比度可以导致更可靠的对齐。步骤2508是可选的,并且不需要在所有实施例中进行。

在步骤2512处,处理单元110可以将至少一个红外图像与至少一个视觉图像对齐。例如,对齐(或匹配)图像可以包含沿着极线搜索优化对齐测量的距离。在此示例中,对齐测量的优化可以确保参考点和观察者之间和/或参考点与其他对象之间的距离在视觉和红外图像中是相同的。

基于车辆之间检测到的间隔的导航

识别车辆和车辆之间的空间的系统和方法可以允许基于检测到的空间进行导航。以这样的方式导航可以允许以比传统运动检测更短的反应时间对检测到的空间中的运动进行抢先监控和反应。下面描述的本公开的实施例涉及用于基于检测到的车辆之间的间隔进行导航的系统和方法。

图26是存储器140和/或存储器150的示例性功能性框图,该存储器140和/或存储器150可以被储存/被编程指令以用于进行与本公开实施例一致的一个或多个操作。尽管以下指代存储器140,但是本领域技术人员将认识到指令可以储存在存储器140和/或150中。

如图26所示,存储器140可以储存图像分析模块2602、车辆识别模块2604、间隔计算模块2606和导航响应模块2608。所公开的实施例不限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可以执行包含在存储器140中的任何模块2602-2608所储存的指令。本领域技术人员将理解,在以下讨论中对处理单元110的参考可以单独地或共同地指代应用处理器180和图像处理器190。因此,可以由一个或多个处理装置来进行任何以下过程的步骤。

在一个实施例中,图像分析模块2602可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行图像分析。在一些实施例中,处理单元110可以将来自一组图像的信息与附加的感觉信息(例如,来自雷达、激光雷达等的信息)组合以进行图像分析。如结合下面的车辆识别模块2604所描述的,图像分析模块2602可以包含指令,该指令用于使用一个或多个特征(例如,前部、后部、侧面等)来检测车辆。

在一个实施例中,车辆识别模块2604可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如上面结合图9-14所描述的,车辆识别模块2604可以包含指令,该指令用于确定一个或多个车辆的边界框。

在一个实施例中,间隔计算模块2606可以储存指令(诸如计算机视觉软件),当由处理单元110执行该指令时,对由图像捕获装置122、124和126中的一个获取的一个或多个图像进行分析。如下面结合图27a和27b所描述的,并且与车辆识别模块2604协作,间隔计算模块2606可以包含指令,该指令用于计算所识别的车辆之间的一个或多个间隔。

在一个实施例中,导航响应模块2608可以储存软件,该软件可由处理单元110执行以基于从执行图像分析模块2602、车辆识别模块2604和/或间隔计算模块2606导出的数据来确定期望的导航响应。例如,导航响应模块2608可以根据下面描述的图28的方法2800来引起导航变化。

此外,本文公开的任何模块(例如,模块2602、2604和2606)可以实现与经训练的系统(诸如神经网络或深度神经网络)或未经训练的系统相关联的技术。

图27a描绘了从与所公开实施例一致的系统的视点的道路2702。道路2702可包含多个静止车辆,例如车辆2704和车辆2706。如下面关于图28的方法2800所述,系统可以识别静止车辆的侧面的边界框,例如车辆2704的侧面边界框2708和车辆2706的侧面边界框2710。如下面关于图28的方法2800进一步描述的,系统可以使用一个边界框的前部和相邻边界框的后部(例如,边界框2708的前部2712和边界框2710的后部2714)来识别所识别的边界框之间的间隔。

图27b还描绘了从与所公开实施例一致的系统的视点的具有车辆2704和车辆2706的道路2702。如图27a所示,系统已经识别出用于车辆2704的侧面边界框2708和用于车辆2706的侧面界框2710。如图27b所示,已经基于在边界框2708的前部2712和边界框2710的后部2714之间所识别的间隔来识别热点2716。如下面关于图28的方法2800所述,系统可以基于所识别的热点来确定主车辆的导航响应。

图28是示出与所公开的实施例一致的用于基于在车辆之间检测到的间隔进行导航的示例性过程2800的流程图。在步骤2802处,处理单元110可以经由数据接口128接收主车辆的环境的多个图像。例如,被包含在图像获取单元120的相机(诸如具有视场202、204和206的图像捕获装置122、124和126)可以捕获在车辆前方和/或侧方的区域的至少一个图像,并且经过数字连接(例如,usb、无线、蓝牙等)将它们发送到处理单元110。来自其他传感器(例如雷达、激光雷达、声学传感器等)的附加信息可以与多个图像组合使用或代替多个图像使用。

在步骤2804,处理单元110可以分析多个图像中的至少一个以识别至少两个静止车辆。例如,识别静止车辆可以进一步包含将至少一个边界框与静止车辆的侧面的形状相关联。例如,可以使用如上参考图9和10所讨论的学习算法来进行分析。

在步骤2806处,处理单元110可以确定所识别的车辆之间的间隔。例如,处理单元110可以从左到右(或从右到左)扫描至少一个图像以识别右边缘和相邻的左边缘。所识别的右边缘和所识别的左边缘可以包含一个边界框的前部和另一个边界框的后部。右边缘和左边缘可以形成间隙对,在间隙对之间可以计算间隔。在这样的实施例中,间隔可以对应于一个静止车辆的前部和另一个静止车辆的后部之间的距离。

在其他实施例中,所识别的右边缘和所识别的左边缘可以包含道路一侧的一个边界框和道路另一侧的另一个边界框。在这样的实施例中,间隔可以对应于静止车辆的相邻侧面之间的距离。

在一些实施例中,步骤2806可以进一步包含计算主车辆与所确定的间隔之间的距离。例如,处理单元110可以基于主车辆的图像捕获装置(例如,相机)的高度和焦距来计算距离。基于行人或其他对象的已知特性(诸如高度),处理单元110可以将计算出的间隔内和/或附近的形状确定为行人或其他对象的出现的“热点”。例如,形状可以是矩形、椭圆形或其他形状。

在步骤2808处,处理单元110可以引起主车辆的导航变化。例如,导航响应可以包含转向(如上面的图13中所示)、车道变换(例如,在行驶车道内移动主车辆或改变主车辆的行驶车道)、加速度的变化(例如,使主车辆减速)等。在一些实施例中,可以通过致动主车辆的转向机构、制动器或加速器中的至少一个来实现至少一个导航变化。

处理单元110可以基于在步骤2806计算出的间隔来引起一个或多个导航响应。例如,处理单元110可以确定计算出的间隔足以容纳行人。基于此确定,处理单元可使主车辆减速和/或使主车辆远离间隔。换言之,当确定两个静止车辆之间的间隔足以使行人穿过时,可以引起导航变化。

作为另一示例,处理单元110可以确定计算出的间隔足以容纳车辆。基于此确定,处理单元可使主车辆减速和/或使主车辆远离间隔。换言之,当确定两个静止车辆之间的间隔足以使目标车辆穿过时,可以引起导航变化。

作为另一示例,基于对热点的监控,当在热点中或附近识别出行人或其他对象时或当在热点中或附近检测到运动时,处理单元110可以使主车辆减速和/或使主车辆远离间隔移动。

然后,在一些实施例中,处理单元110可以基于对多个图像的分析来检测两个静止车辆之间的间隔中的行人。例如,处理单元110可以使用计算出的间隔和预期的行人高度来确定接收图像中可以预期行人的头部出现的位置(例如,图27b的热点2716)。

可以使用在行人上训练的分类器来进行行人的检测,类似于上面讨论的用于车辆侧面的经训练的分类器。在这样的示例中,如果热点内的测试点接收到高于上阈值的分类器得分,则处理单元110可以在该点处检测被认可的行人。另一方面,如果热点内的测试点接收到高于下阈值但低于上阈值的分类器得分,则处理单元110可以在该点处检测可疑行人。可以进一步跟踪可疑行人朝向道路的运动,此时处理单元将可疑行人重新分类为被认可的行人。这样的检测方法可以改善传统的运动检测。

在一些实施例中,两个静止车辆之间的间隔的至少一部分可能从相机的视场遮挡。在这样的实施例中,处理单元110可以进行附加分析以补偿遮挡。

处理单元110还可以使用从执行速度和加速度模块406导出的数据来引起一个或多个导航响应。多个导航响应可以同时地、按顺序地或以其任何组合而发生。

出于说明的目的已经呈现了前面的描述。它不是穷举性的并且不限于所公开的精确形式或实施例。考虑到所公开实施例的说明书和实践,修改和改编对于本领域技术人员来说是显而易见的。另外,尽管所公开的实施例的方面被描述为储存在存储器中,但本领域的技术人员将理解,这些方面也可以储存在其他类型的计算机可读介质上,诸如辅助储存装置,例如,硬盘或cdrom、或其他形式的ram或rom、usb介质、dvd、蓝光、4k超高清蓝光、或其他光驱动介质。

基于书面说明和所公开的方法的计算机程序在有经验的开发人员的技术范围内。可以使用任何本领域技术人员已知的技术来创建或可以结合现有的软件来设计各种程序或程序模块。例如,程序段或程序模块可以以或通过.netframework、.netcompactframework(以及相关的语言,诸如visualbasic,c等)、java、c++、objective-c、html、html/ajax组合、xml或者包含java小程序的html来设计。

此外,虽然已经在本文中描述了说明性实施例,但是本领域技术人员基于本公开将认识到具有等同的要素、修改、省略、组合(例如,遍及各个实施例的方面的)、改编和/或改变的任何以及所有实施例的范围。权利要求书中的限定将基于权利要求书中采用的语言宽泛地解释,并且不限于在本说明书中或在本申请的审查期间所描述的示例。示例将被解释为非排他性的。此外,所公开的方法的步骤可以以任何方式修改,包含通过重新排序步骤和/或插入或删除步骤。因此,意图是说明书和示例被视为仅是说明性的,真正的范围和精神由以下权利要求及其等同物的全部范围来表示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1