本申请是申请日为2015年8月17日,申请号为201580055136.5,发明名称为“在导航中对车道限制和施工区域的识别和预测”的申请的分案申请。
相关申请的交叉引用
本申请要求美国临时专利申请号62/038,426的权益,其公开内容通过引用并入本文。
公开领域
本公开大体上涉及自主驾驶和/或驾驶者辅助技术,特别是涉及使用相机以提供自主驾驶和/或驾驶者辅助技术的特征的系统和方法。
背景
随着技术不断地进步,能够在道路上进行导航的全自主车辆的目标很快就能实现。首先,自主车辆可在没有人类操作者的输入的情况下能够辨认其环境并导航。自主车辆也可考虑各种因素并基于这些因素做出适当的决策,以安全地并准确地到达预期的目的地。例如,在车辆通常行进在道路上时会遇到各种对象,诸如其他车辆和行人。自主驾驶系统可识别车辆的环境中的这些对象,并采取适当和及时的行动来避免碰撞。另外,自主驾驶系统可辨认调节车辆移动(例如,车辆何时必须停止和可以走、车辆必须不能超过的速度、车辆必须位于道路上的哪里等)的其他指示物,诸如交通信号、交通标志和车道标记。自主驾驶系统可能需要确定车辆何时应改变车道、在交叉口转弯、改变道路等。从这些示例明显看出的是,为了提供能够安全和准确导航的自主车辆,许多因素可能需要加以解决。
概述
当前的自主或驾驶者辅助(例如,部分自主)的车辆系统在车道线(例如,划分车道的标记线)或其他标记没有清楚指示道路上的车道限制的位置时,可能无法充分辨认车道。例如,当前的系统在车道限制不能从在接收的道路图像中所检测的线或标记中被辨认出来时可能不能正常工作;或者,当前的系统在车道限制在现实中不存在的情况下可能不能准确辨认车道限制。当前的自主或驾驶者辅助的车辆系统也可能无法充分辨认或响应于道路上的施工区,在施工区中可能要求修改的车辆控制,以及在施工区中以不同方式响应于某些道路元素可能是有利的。发明人已经认识到这些和其他问题,这些和其他问题通过本公开将变得明显,并通过本文中所公开的技术得以解决。
与本公开一致的一些实施例提供了用于自主或驾驶者辅助的车辆导航的系统和方法。一些公开的实施例可使用相机来提供自主车辆导航特征。例如,与一些公开的实施例一致的被公开的系统可包括监控车辆的环境的一个、两个或多个相机并基于由一个或多个相机捕获的图像的分析引起导航响应。
根据一些实施例,计算机系统包括储存指令的存储器和执行指令以使系统能够执行以下操作的处理器:从相机接收移动的车辆附近的道路的多个图像;基于多个图像识别第一道路车道限制;基于多个图像确定一个或多个界定的车道预测条件被满足;根据一个或多个界定的车道预测条件被满足的确定,预测第二道路车道限制的位置;以及使移动的车辆能够避免第一道路车道限制和第二道路车道限制。
根据一些实施例,计算机系统包括储存指令的存储器和执行指令以使系统能够执行以下操作的处理器:从相机接收移动的车辆附近的道路的多个图像;在多个图像中识别施工区的一个或多个指示物;基于一个或多个指示物确定车辆接近施工区;以及,根据车辆接近施工区的确定,输出指示车辆接近施工区的信号。
本公开的实施例涉及以下方面:
(1)一种能够安装在车辆上的设备,所述设备包括:
相机,所述相机在安装在所述车辆上且所述车辆处于运动状态下时,适于捕获所述相机的视场内的道路的多个图像;
处理器,其被配置为:
从所述相机获得所述多个图像;
对所述多个图像应用图像处理,以识别在所述多个图像中的至少一个图像中出现的第一道路车道限制;
基于所述多个图像,确定一个或多个界定的车道预测条件被满足;
根据一个或多个界定的车道预测条件被满足的确定,预测第二道路车道限制的位置;
根据所述第二道路车道限制的所预测的位置,发布通知或控制信号,以控制所述车辆的运动。
(2)根据(1)所述的设备,其中,所述处理器被配置为发布从包括以下项的组中选择的通知或控制信号:
用于根据所述第一道路车道限制的位置引导所述车辆的运动的通知或控制信号;
用于引导所述车辆沿着所述第一道路车道限制和所述第二道路车道限制之间的车道或区域运动的通知或控制信号;
用于引导所述车辆的运动以避开所述第一道路车道限制和所述第二道路车道限制的通知或控制信号。
(3)如(1)所述的设备,其中,所述一个或多个界定的车道预测条件包括随着所述车辆在所述道路上移动,基于所述多个图像,所述第二道路车道限制停止被识别。
(4)如(1)所述的设备,其中,所述一个或多个界定的车道预测条件包括所述第一道路车道限制被识别了至少阈值时间或阈值距离。
(5)如(1)所述的设备,其中,所述一个或多个界定的车道预测条件包括从含有以下项的组中选择的车道预测条件:
护栏存在于所述车辆的附近的车道预测条件;
在所述多个图像中检测到在所述道路上的车道的一侧上的多个基本上平行的边缘的车道预测条件;以及
所述护栏将阴影投射到所述道路上的车道预测条件。
(6)如(5)所述的设备,其中,所述护栏存在于所述车辆的附近的车道预测条件基于由支撑所述护栏的柱创建的图案。
(7)如(1)所述的设备,其中,预测所述第二道路车道限制的位置包括:
考虑所述第一道路车道限制的位置;或
基于有关车道的先前确定的宽度的信息预测所述车道的宽度。
(8)如(1)所述的设备,其中,所述处理器被配置为:
确定一个或多个界定的车道预测取消条件是否满足,以及
根据一个或多个界定的车道预测取消条件被满足的确定,停止预测所述第二道路车道限制的位置。
(9)如(8)所述的设备,其中,所述一个或多个界定的车道预测取消条件包括,在停止被识别之后,所述第二道路车道限制基于所述一个或多个图像被识别。
(10)如(8)所述的设备,其中,所述一个或多个界定的车道预测取消条件包括从含有以下项的组中选择的车道预测取消条件:
驾驶者在车道之间移动所述车辆的车道预测取消条件;以及
所述车辆横穿超过预定的锐度阈值的曲线的车道预测取消条件。
(11)如(8)所述的设备,其中,确定一个或多个界定的车道预测取消条件是否被满足包括:
选择最大车道预测距离设置,以及
确定在预测所述第二道路车道限制的位置时所述车辆行进的距离是否大于与所述最大车道预测距离设置相关联的最大车道预测距离。
(12)如(11)所述的设备,其中,选择最大车道预测距离设置包括:
根据第一车道与第二车道在所述车辆的附近合并的确定,选择最大车道预测距离设置,使得所述最大车道预测距离大于默认的最大车道预测距离;
根据界定的护栏条件被满足的确定,选择没有最大车道预测距离的最大车道预测距离设置;或
根据界定的护栏条件被满足的确定,选择最大车道预测距离设置,使得所述最大车道预测距离大于默认的最大车道预测距离。
(13)一种提供自主驾驶或驾驶者辅助技术的计算机系统,所述计算机系统包括:
储存指令的存储器,以及
处理器,所述处理器执行所述指令以使计算机系统:
从相机获得多个图像,所述相机当被安装在车辆上且所述车辆处于运动状态下时适于捕获所述相机的视场内的道路的图像;
对所述多个图像应用图像处理,以识别在所述多个图像中的至少一个图像中出现的第一道路车道限制;
基于所述多个图像,确定一个或多个界定的车道预测条件被满足;
根据一个或多个界定的车道预测条件被满足的确定,预测第二道路车道限制的位置;
根据所述第二道路车道限制的所预测的位置,发布通知或控制信号,以引导所述车辆的运动。
(14)一种提供自主驾驶或驾驶者辅助技术的方法,所述方法包括:
在包括储存指令的存储器和执行所述指令的处理器的系统处:
从相机获得多个图像,所述相机当被安装在车辆上且所述车辆处于运动状态下时适于捕获所述相机的视场内的道路的图像;
对所述多个图像应用图像处理,以识别在所述多个图像中的至少一个图像中出现的第一道路车道限制;
基于所述多个图像,确定一个或多个界定的车道预测条件被满足;
根据一个或多个界定的车道预测条件被满足的确定,预测第二道路车道限制的位置;
根据所述第二道路车道限制的所预测的位置,发布通知或控制信号,以引导所述车辆的运动。
(15)一种提供自主驾驶或驾驶者辅助技术的车辆,所述车辆包括:
主体;
相机,所述相机当被安装在所述车辆上且所述车辆处于运动状态下时适于捕获在所述相机的视场内的道路的多个图像;
处理器,其被配置为:
从所述相机获取多个图像;
对所述多个图像应用图像处理,以识别在所述多个图像中的至少一个图像中出现的第一道路车道限制;
基于所述多个图像,确定一个或多个界定的车道预测条件被满足;
根据一个或多个界定的车道预测条件被满足的确定,预测第二道路车道限制的位置;
根据所述第二道路车道限制的所预测的位置,发布通知或控制信号,以控制所述车辆的运动。
(16)一种能够安装在车辆上的设备,所述设备包括:相机,所述相机当被安装在所述车辆上且所述车辆处于运动状态下时适于捕获在所述相机的视场内的道路的多个图像,以及处理器,其被配置为:从所述相机获得所述多个图像;对所述多个图像应用图像处理,以在所述多个图像中识别施工区的一个或多个指示物,以及根据识别到施工区的所述一个或多个指示物,输出指示所述车辆接近施工区的信号。
(17)如(16)所述的设备,其中,所述处理器被配置为:基于所述一个或多个指示物,确定所述车辆接近施工区,以及根据所述车辆接近施工区的所述确定,输出指示所述车辆接近施工区的信号。
(18)如(16)所述的设备,其中,所述输出信号能够由所述车辆的驾驶者察觉到。
(19)如(16)所述的设备,其中,所述输出信号是控制所述车辆的运动的控制信号。
(20)如(16)所述的设备,其中,施工区的所述一个或多个指示物包括以下中的一个:存在于所述道路的附近的圆锥体、存在于所述道路的附近的圆筒体、存在于所述道路的附近的杆、以及存在于所述道路中的障碍物。
(21)如(16)所述的设备,其中,施工区的所述一个或多个指示物包括预定的交通标志。
(22)如(16)所述的设备,其中,施工区的所述一个或多个指示物包括施工区车道线。
(23)如(16)所述的设备,其中,所述指令使所述系统:根据所述车辆接近施工区的所述确定,使移动的车辆根据所述施工区的指示物移动。
(24)如(23)所述的设备,其中,使所述移动的车辆根据所述施工区的指示物移动包括以下中的一个:使所述车辆的速度降低;使所述车辆行进的车道改变;实现避开圆锥体、圆筒体、杆和/或障碍物;以及引起遵循施工区车道限制而不是传统的车道限制。
(25)如(16)所述的设备,其中,所述指令使所述系统:
基于所述一个或多个指示物,确定所述施工区是复杂的施工区,以及
根据所述施工区是复杂的施工区的确定,禁用自动车辆控制功能。
(26)如(25)所述的设备,其中,确定所述施工区是复杂的施工区包括识别以下中的一个:存在于所述车辆所在的车道中的圆锥体、存在于所述车辆所在的车道中的圆筒体、存在于所述车辆所在的车道中的杆、以及存在于所述车辆所在的车道中的障碍物。
(27)如(25)所述的设备,其中,确定所述施工区是复杂的施工区包括识别在所述车辆附近的圆锥体、圆筒体、杆和/或障碍物的数量超过预定的阈值数量。
(28)一种计算机系统,包括:储存指令的存储器,以及处理器,所述处理器执行所述指令以使所述系统:从相机获得多个图像,所述相机在被安装在所述车辆上且所述车辆处于运动状态下时适于捕获在所述相机的视场内的道路的图像;对所述多个图像应用图像处理,以在所述多个图像中识别施工区的一个或多个指示物,以及根据识别到施工区的所述一个或多个指示物,输出指示所述车辆接近施工区的信号。
(29)一种方法,包括:在包括储存指令的存储器和执行所述指令的处理器的系统处:从相机获得多个图像,所述相机在被安装在车辆上且所述车辆处于运动状态下时适于捕获在所述相机的视场内的道路的图像;对所述多个图像应用图像处理,以在所述多个图像中识别施工区的一个或多个指示物,以及根据识别到施工区的所述一个或多个指示物,输出指示所述车辆接近施工区的信号。
(30)一种车辆,包括:主体;相机,所述相机在被安装在所述车辆上且所述车辆处于运动状态下时适于捕获在所述相机的视场内的道路的多个图像,以及;处理器,其被配置为:从所述相机获得所述多个图像;对所述多个图像应用图像处理,以在所述多个图像中识别施工区的一个或多个指示物,以及根据识别到施工区的所述一个或多个指示物,输出指示所述车辆接近施工区的信号。
附图简述
图1是与公开的实施例一致的示例性系统的图形表示。
图2a是包括与公开的实施例一致的系统的示例性车辆的图形侧视图表示。
图2b是与公开的实施例一致的图2a中示出的车辆和系统的图形俯视图表示。
图2c是包括与公开的实施例一致的系统的另一车辆实施例的图形俯视图表示。
图2d是包括与公开的实施例一致的系统的又一车辆实施例的图形俯视图表示。
图2e是包括与公开的实施例一致的系统的又一车辆实施例的图形俯视图表示。
图2f是与公开的实施例一致的示例性车辆控制系统的图形表示。
图3a是与公开的实施例一致的包括后视镜和用于车辆成像系统的用户接口的车辆内部的图形表示。
图3b是与公开的实施例一致的被配置为定位在后视镜之后并对着车辆挡风玻璃的相机底座的示例的图示。
图3c是与公开的实施例一致的图3b中示出的相机底座从不同角度的图示。
图3d是与公开的实施例一致的被配置为定位在后视镜之后并对着车辆挡风玻璃的相机底座的示例的图示。
图4是与公开的实施例一致的被配置为储存用于执行一个或多个操作的指令的存储器的示例性框图。
图5a是示出了与公开的实施例一致的用于基于单目图像分析引起一个或多个导航响应的示例性过程的流程图。
图5b是示出了与公开的实施例一致的用于在一组图像中检测一个或多个车辆和/或行人的示例性过程的流程图。
图5c是示出了与公开的实施例一致的用于在一组图像中检测路标记和/或车道几何形状信息的示例性过程的流程图。
图5d是示出了与公开的实施例一致的用于在一组图像中检测交通灯的示例性过程的流程图。
图5e是示出了与公开的实施例一致的用于基于车辆路径引起一个或多个导航响应的示例性过程的流程图。
图5f是示出了与公开的实施例一致的用于确定领先的车辆是否正改变车道的示例性过程的流程图。
图6是示出了与公开的实施例一致的用于基于立体图像分析引起一个或多个导航响应的示例性过程的流程图。
图7是示出了与公开的实施例一致的用于基于三组图像的分析引起一个或多个导航响应的示例性过程的流程图。
图8a-图8c是根据一些实施例的沿着道路行进的车辆的描绘。
图9a-图9c是根据一些实施例的沿着道路行进的车辆的描绘。
图10a是来自与根据一些实施例的系统相关联的相机的透视图的描绘。
图10b是根据一些实施例的沿着道路行进的车辆的描绘。
图11是与一些公开的实施例一致的示例性系统的存储器的图形表示。
图12是根据一些实施例的示例性过程的流程图。
图13是根据一些实施例的沿着道路行进的车辆的描绘。
图14是与一些公开的实施例一致的示例性系统的存储器的图形表示。
图15是根据一些实施例的示例性过程的流程图。
详细描述
以下的详细描述参照附图。只要有可能,相同的参考数字用在附图和以下的描述中,以指代相同或类似的部分。虽然本文中对几个说明性实施例进行了描述,但修改、适应和其他实施也是可能的。例如,可对附图中图示的组分进行替换、添加或修改,并且本文中所描述的说明性方法可通过将步骤替换、重排、移除或添加到公开的方法来修改。因此,以下的详细描述不限于公开的实施例和示例。
公开的实施例提供了使用相机来提供自主导航、车辆控制和/或驾驶者辅助技术的特征的系统和方法。驾驶者辅助技术,而不是全自主驾驶,指用于在他们车辆的导航和控制中辅助驾驶者的任何合适的技术,诸如lka(车道保持辅助)、ldw(车道偏离报警)、车辆的加速、车辆的减速、车辆的转向、控制车辆制动、使车辆对不可避免的碰撞做出准备、和/或控制车辆操作的任何方面或在控制任何这样的方面辅助驾驶者的任何其他合适的方式。在各个实施例中,系统可包括监控车辆的环境的一个、两个或多个相机。在一些实施例中,系统可提供用于预测道路车道限制的位置的技术和/或用于检测和响应于施工区的技术。
图1是与示例性公开的实施例一致的系统100的框图表示。系统100可包括取决于特定实施的要求的各种组件。在一些实施例中,系统100可包括处理单元110、图像采集单元120、位置传感器130、一个或多个存储器单元140、150、地图数据库160和用户接口170。处理单元110可包括一个或多个处理设备。在一些实施例中,处理单元110可包括应用处理器180、图像处理器190或任何其他合适的处理设备。类似地,图像采集单元120可包括取决于特定应用的要求的任意数量的图像采集设备和组件。在一些实施例中,图像采集单元120可包括一个或多个图像捕获设备(例如,相机),诸如图像捕获设备122、图像捕获设备124和图像捕获设备126。系统100也可包括在通信上将处理单元110连接到图像采集设备120的数据接口128。例如,数据接口128可包括用于将由图像采集设备120采集的图像数据传输到处理单元110的任何有线和/或无线的链接。
应用处理器180和图像处理器190二者可包括各种类型的处理设备。例如,应用处理器180和图像处理器190中任意一个或二者可包括一个或多个微处理器、预处理器(诸如图像预处理器)、图形处理器、中央处理单元(cpu)、支持电路、数字信号处理器、集成电路、存储器或适于运行应用以及适于图像处理和分析的任何其他类型的设备。在一些实施例中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动设备微控制器、中央处理单元等。可使用各种处理设备,例如包括从诸如
在一些实施例中,应用处理器180和/或图像处理器190可包括从
虽然图1描绘了被包括在处理单元110中的两个单独的处理设备,但可使用更多或更少的处理设备。例如,在一些实施例中,单一处理设备可用于完成应用处理器180和图像处理器190的任务。在其他实施例中,这些任务可由两个以上的处理设备执行。
处理单元110可包括各种类型的设备。例如,处理单元110可包括各种设备,诸如控制器、图像预处理器、中央处理单元(cpu)、支持电路、数字信号处理器、集成电路、存储器或用于图像处理和分析的任何其他类型的设备。图像预处理器可包括用于捕获、数字化和处理来自图像传感器的图像数据的视频处理器。cpu可包括任意数量的微控制器或微处理器。支持电路可以是通常在本领域中众所周知的任意数量的电路,包括高速缓冲存储器、电源、时钟和输入-输出电路。存储器可储存软件,该软件在由处理器执行时控制系统的操作。存储器可包括数据库和图像处理软件。存储器可包括任意数量的随机存取存储器、只读存储器、闪存、盘驱动、光储存器、带储存器、可移除储存器和其他类型的储存器。在一个实例中,存储器可与处理单元110分开。在另一实例中,存储器可集成到处理单元110中。
每个存储器140、150可包括软件指令,该软件指令在由处理器(例如,应用处理器180和/或图像处理器190)执行时可控制系统100的各个方面的操作。这些存储器单元可包括各种数据库和图像处理软件。存储器单元可包括随机存取存储器、只读存储器、闪存、盘驱动、光储存器、带储存器、可移除储存器和/或任何其他类型的储存器。在一些实施例中,存储器单元140、150可与应用处理器180和/或图像处理器190分开。在其他实施例中,这些存储器单元可集成到应用处理器180和/或图像处理器190中。
位置传感器130可包括适于确定与系统100的至少一个组件相关联的位置的任意类型的设备。在一些实施例中,位置传感器130可包括gps接收器。这样的接收器可通过处理由全球定位系统卫星传播的信号确定用户的定位和速度。来自位置传感器130的定位信息可供应用处理器180和/或图像处理器190使用。
用户接口170可包括适于向系统100的一个或多个用户提供信息或适于接收来自系统100的一个或多个用户的输入的任何设备。在一些实施例中,用户接口170可包括用户输入设备,例如包括触摸屏、麦克风、键盘、指针设备、轨道轮(trackwheels)、相机、旋钮、按钮等。借助这样的输入设备,用户可通过键入指令或信息、提供语音命令、使用按钮、指针或眼睛跟踪能力在屏幕上选择菜单选项,或者通过用于将信息传递到系统100的任何其他合适的技术,向系统100提供信息输入或命令。
用户接口170可配备有一个或多个处理设备,该一个或多个处理设备被配置为向用户提供信息或接收来自用户的信息,并对该信息进行处理以例如供应用处理器180使用。在一些实施例中,这样的处理设备可执行用于识别和跟踪眼睛移动、接收和解释语音命令、识别和解释触摸屏上做出的触摸和/或手势、响应于键盘输入或菜单选择等的指令。在一些实施例中,用户接口170可包括显示器、扬声器、触觉设备和/或用于向用户提供输出信息的任何其他设备。
地图数据库160可包括用于储存对系统100有用的地图数据的任意类型的数据库。在一些实施例中,地图数据库160可包括与各种项目在参考坐标系中的定位有关的数据,该各种项目包括路、水文特征、地理特征、商行、兴趣点、餐馆、加油站等。地图数据库160不仅可储存这样的项目的位置,还可储存与这些项目有关的描述符,例如包括与任何储存的特征相关联的名称。在一些实施例中,地图数据库160可用系统100的其他组件来物理定位。可替代地或另外地,地图数据库160或其部分可相对于系统100的其他组件(例如,处理单元110)来远程定位。在这样的实施例中,来自地图数据库160的信息可通过与网络的有线或无线的数据连接(例如,通过蜂窝网络和/或互联网等)来下载。
图像捕获设备122、124和126可各自包括适于从环境捕获至少一个图像的任意类型的设备。此外,任意数量的图像捕获设备可用于采集输入到图像处理器的图像。一些实施例可包括仅单一图像捕获设备,而其他实施例可包括两个、三个或者甚至四个或更多的图像捕获设备。以下将参照图2b-2e进一步对图像捕获设备122、124和126进行描述。
系统100或其各种组件可被纳入到各种不同的平台。在一些实施例中,如图2a中所示,系统100可被包括在车辆200上。例如,如以上根据图1所描述的,车辆200儿可配备有处理单元110和系统100的任意其他组件。虽然在一些实施例中,车辆200可仅配备有单一图像捕获设备(例如,相机),但在诸如结合图2b-图2e那些所讨论的其他实施例中,可使用多个图像捕获设备。例如,如图2a中所示,车辆200的图像捕获设备122和124中任意一个可以是adas(高级驾驶者辅助系统)成像装置的部分。
作为图像采集单元120的部分的被包括在车辆200上的图像捕获设备可位于任何合适的位置。在一些实施例中,如图2a-图2e和图3a-图3c中所示,图像捕获设备122可位于后视镜附近。该位置可提供类似于车辆200驾驶者的视线的视线,这可有助于确定什么对于驾驶者是可见和不可见的。图像捕获设备122可被定位在后视镜附近的任何位置,但将图像捕获设备122放置在镜子的驾驶者侧上可进一步有助于获得表示驾驶者的视场和/或视线的图像。
也可使用图像采集单元120的图像捕获设备的其他位置。例如,图像捕获设备124可位于车辆200的保险杠(bumper)上或其中。这样的位置可能尤其适于具有宽视场的图像捕获设备。位于保险杠的图像捕获设备的视线可不同于驾驶者的视线,因此,保险杠图像捕获设备和驾驶者可能不会总是见到相同的对象。图像捕获设备(例如,图像捕获设备122、124和126)也可位于其他位置中。例如,图像捕获设备可位于车辆200的侧视镜中的一个或二者的上面或其中、车辆200的车顶上、车辆200的引擎罩上、车辆200的后备箱上、车辆200的侧面上、安装在车辆200的任意窗户上、定位在车辆200的任意窗户的后面或前面、以及安装在车辆200的前面和/或后面的照明轮廓中或附近。
除了图像捕获设备之外,车辆200还可包括系统100的各种其他组件。例如,处理单元110可与车辆的引擎控制单元(ecu)集成或与其分开地被包括在车辆200上。车辆200也可配备有诸如gps接收器的位置传感器130,并且也可包括地图数据库160以及存储器单元140和150。
图2a是与公开的实施例一致的示例性车辆成像系统的图形侧视图表示。图2b是图2a中所示的实施例的图形俯视图图示。如图2b中所图示的,公开的实施例可包括车辆200,该车辆200在其本体中包括具有第一图像捕获设备122、第二图像捕获设备124和处理单元110的系统100,该第一图像捕获设备122被定位在后视镜附近和/或接近车辆200的驾驶者,该第二图像捕获设备124被定位在车辆200的保险杠区域(例如,保险杠区域210中的一个)上或其中。
如图2c中所图示的,图像捕获设备122和124都可被定位在车辆200的后视镜附近和/或接近车辆200的驾驶者。另外,虽然图2b和图2c中示出了两个图像捕获设备122和124,但应理解的是,其他实施例可包括两个以上的图像捕获设备。例如,在图2d和图2e中示出的实施例中,第一图像捕获设备、第二图像捕获设备和第三图像捕获设备122、124和126被包括在车辆200的系统100中。
如图2d中所图示的,图像捕获设备122可被定位在车辆200的后视镜附近和/或接近车辆200的驾驶者,并且图像捕获设备124和126可被定位在车辆200的保险杠区(例如,保险杠区210中的一个)上或其中。如图2e中所示,图像捕获设备122、124和126可被定位在车辆200的后视镜附近和/或接近车辆200的驾驶者。所公开的实施例不限于任何特定数量的图像捕获设备和其配置,并且图像捕获设备可被定位在车辆200之内和/或之上的任何适当的位置。
应理解的是,所公开的实施例不限于车辆并且能够在其他背景下应用。还应理解的是,所公开的实施例不限于特定类型的车辆200,并且可适用于所有类型的车辆,包括汽车、卡车、拖车、摩托车、自行车、自平衡运输设备和其他类型的车辆。
第一图像捕获设备122可包括任何合适类型的图像捕获设备。图像捕获设备122可包括光轴。在一个实例中,图像捕获设备122可包括具有全局快门的aptinam9v024wvga传感器。在其他实施例中,图像捕获设备122可提供1280x960像素的分辨率,并可包括卷帘快门。图像捕获设备122可包括各种光学元件。在一些实施例中,可包括一个或多个透镜,例如,以提供对于图像捕获设备期望的焦距和视场。在一些实施例中,图像捕获设备122可与6mm透镜或12mm透镜相关联。在一些实施例中,图像捕获设备122可被配置为捕获具有如图2d中所图示的期望的视场(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可采集相对于与车辆200相关联的场景的多个第一图像。多个第一图像中的每个可作为一系列图像扫描线被采集,该多个第一图像可使用卷帘快门来捕获。每个扫描线可包括多个像素。
第一图像捕获设备122可具有与第一系列图像扫描线中的每个的采集相关联的扫描速率。扫描速率可指图像传感器可采集与包括在特定扫描线中的每个像素相关联的图像数据的速率。
图像捕获设备122、124和126可包含任何合适类型和数量的图像传感器,例如包括ccd传感器或cmos传感器。在一个实施例中,cmos图像传感器可连同卷帘快门来使用,使得成行的每个像素一次读取一个,并且行的扫描在逐行的基础上进行,直至整个图像帧被捕获。在一些实施例中,行可相对于帧从上到下被依次捕获。
卷帘快门的使用可能导致不同行的像素在不同时间被曝光和捕获,这可能在所捕获的图像帧中引起歪斜(skew)和其他图像伪影(artifact)。另一方面,当图像捕获设备122被配置为与全局快门或同步快门一起操作时,所有像素可在相同的时间量内并在共同的曝光时段期间被曝光。因此,从采用全局快门的系统所收集的帧中的图像数据表示在特定时间的整个fov(诸如fov202)的快照。相反,在卷帘快门应用中,帧中的每行在不同时间被曝光,并且数据在不同时间被捕获。因此,移动的对象在具有卷帘快门的图像捕获设备中可能出现扭曲(distort)。以下将对该现象更详细地进行描述。
第二图像捕获设备124和第三图像捕获设备126可以是任意类型的图像捕获设备。类似于第一图像捕获设备122,图像捕获设备124和126中的每个可包括光轴。在一个实例中,图像捕获设备124和126中的每个可包括具有全局快门的aptinam9v024wvga传感器。可替代地,图像捕获设备124和126中的每个可包括卷帘快门。类似于图像捕获设备122,图像捕获设备124和126可被配置为包括各种透镜和光学元件。在一些实施例中,与图像捕获设备124和126相关联的透镜可提供fov(诸如fov204和206),该fov同与图像捕获设备122相关联的fov(诸如fov202)相同或不同(例如,更窄)。例如,图像捕获设备124和126可具有40度、30度、26度、23度、20度或更低的fov。
图像捕获设备124和126可采集相对于与车辆200相关联的场景的多个第二图像和第三图像。多个第二图像和第三图像中的每个可作为第二系列图像扫描线和第三系列的图像扫描线被采集,该多个第二图像和第三图像中每个可使用卷帘快门来捕获。每个扫描线或扫描行可具有多个像素。图像捕获设备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可具有任何合适的分辨率能力(例如,与图像传感器相关联的像素的数量),并且与图像捕获设备122相关联的图像传感器的分辨率可高于、低于与图像捕获设备124和126相关联的图像传感器的分辨率,或与其相同。在一些实施例中,与图像捕获设备122和/或图像捕获设备124和126相关联的图像传感器可具有640x480、1024x768、1280x960的分辨率或任何其他合适的分辨率。
帧速率(例如,图像捕获设备在移动以捕获与下个图像帧相关联的像素数据之前,采集一个图像帧的一组像素数据的速率)可以是可控的。与图像捕获设备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中的帧速率定时可取决于相关联的图像传感器的分辨率。例如,假设两个设备有类似的线扫描速率,如果一个设备包括具有640x480的分辨率的图像传感器,以及另一设备包括具有1280x960的分辨率的图像传感器,则从具有较高分辨率的传感器采集图像数据的帧将需要更多的时间。
可影响图像捕获设备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也可被配置为采集在距车辆较远的范围(例如,25m、50m、100m、150m或更远)处的对象的图像。此外,可选择图像捕获设备122、124和126的焦距,使得一个图像捕获设备(例如,图像捕获设备122)可采集相对接近车辆(例如,在10m内或在20m内)的对象的图像,而其他图像捕获设备(例如,图像捕获设备124和126)可采集距车辆200更远对象(例如,大于20m、50m、100m、150m等)的图像。
根据一些实施例,一个或多个图像捕获设备122、124和126的fov可具有广角。例如,具有140度的fov,特别是对于可用于捕获车辆200附近区域的图像的图像捕获设备122、124和126来说,可能是有利的。例如,图像捕获设备122可用于捕获车辆200的右侧或左侧的区域的图像,并且在这样的实施例中,可能需要图像捕获设备122具有广fov(例如,至少140度)。
在一些实施例中,系统可根据预定限制或动态确定的限制来界定车辆的“附近”。车辆的附近例如可认为是车辆在任何一个或多个方向上的某距离(诸如1米、5米、10米、25米、50米、100米、250米、500米或1000米)内的任何区域。在一些实施例中,被界定为车辆的附近的区域可以是不规则形状的,使得其在不同方向上延伸不同距离;由车辆的行驶所界定的前向方向上的附近例如可延伸几百米,而在后向或侧面的方向上的附近例如仅可延伸几十米或更少。在一些实施例中,界定的车辆的附近可根据由一个或多个图像捕获设备捕获的信息动态地变化,使得附近可例如根据道路的哪些部分在图像捕获设备的fov中是可见的而变化。在一些实施例中,车辆的附近可例如根据道路或车辆的任何可察觉状况或状态动态地变化,该任何可察觉条件或状态包括车辆速率、张贴的速率限制、道路状况、道路拥堵、道路大小、能见度距离、环境亮度、时间、其他车辆的存在、行人的存在或任何其他合适的因素。
与图像捕获设备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、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可接收来自指示车辆200的运行状况(例如,速率,车辆200是否制动和/或转弯等)的流系统220、制动系统230和转向系统240中的一个或多个的输入。以下结合图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可与车辆挡风玻璃齐平,并包括薄膜和/或抗反射的材料的组合物。例如,防眩板380可被定位成使得其对着具有匹配斜率的车辆挡风玻璃对准。在一些实施例中,例如如图3d中所描绘的,图像捕获设备122、124和126中的每个可被定位在防眩板380之后。公开的实施例不限于图像捕获设备122、124和126、相机底座370以及防眩板380的任何特定配置。图3c是图3b中所示的相机底座370从前视角的图示。
具有本公开的好处的本领域中的技术人员将认识到的是,可对上述公开的实施例做出多种变化和/或修改。例如,不是所有组件对于系统100的运行是必需的。此外,任何组件可位于系统100的任何适当的部分中,并且组件可被重新布置到各种配置中,同时提供公开的实施例的功能。因此,上述配置是示例,并且无论以上所讨论的配置,系统100都可提供广泛的功能以分析车辆200的周围环境,并且响应于该分析,导航和/或以其他方式控制和/或操作车辆200。车辆200的导航、控制和/或操作可包括(直接或经由诸如以上所提到的控制器的中间控制器)启用和/或禁用与车辆200相关联的各种特征、组件、设备、模式、系统和/或子系统。可替代地或另外地,导航、控制和/或操作可包括例如通过提供视觉、音频、触觉和/或其他感官警报以及/或者指示与可位于车辆200的内部或外部的用户、驾驶者、乘客、路人和/或其他车辆或用户的交互。
如以下进一步详细讨论的且与各种公开的实施例一致的,系统100可提供与自主驾驶和/或驾驶者辅助技术有关的各种特征。例如,系统100可分析图像数据、定位数据(例如,gps位置信息)、地图数据、速率数据和/或来自包括在车辆200中的传感器的数据。系统100可例如从图像采集单元120、位置传感器130和其他传感器收集用于分析的数据。此外,系统100可分析所收集的数据,以确定车辆200是否应采取某种动作,并随后在没有人类干预的情况下自动采取确定的动作。例如,当车辆200在没有人类干预的情况下导航时,(例如,通过将控制信号发送给节流系统220、制动系统230和转向系统240中的一个或多个)系统100可自动控制车辆200的制动、加速和/或转向。此外,系统100可分析所收集的数据,并基于所收集的数据的分析向驾驶者、乘客、用户或车辆(或其他车辆)的内部或外部的其他人发出警告、指示、建议、警报或指令。
此外,与公开的实施例一致,由系统100提供的功能可使车辆200采取不同的动作,以在车道内以及/或者相对于其他车辆和/或对象导航车辆200。例如,系统100可调整车辆200相对于车辆200在其内行驶的车道和/或相对于被定位在车辆200附近的对象的定位,选择车辆200在行驶时使用的特定车道,以及响应于侵入的车辆(诸如试图移动到车辆200行驶的车道中的车辆)采取动作。另外,系统100可控制不同场景下(诸如当车辆200转弯时)的车辆200的速率。系统100可使车辆200模仿领先的车辆的动作或监测目标车辆并导航车辆200,使得车辆通过目标车辆。以下提供了与由系统100提供的各种实施例有关的额外细节。
前视多成像系统
如以上所讨论的,系统100可提供使用多相机系统的驾驶辅助功能。多相机系统可使用面向车辆的前向方向的一个或多个相机。在其他实施例中,多相机系统可包括面向车辆的侧面或车辆后方的一个或多个相机。在一个实施例中,例如,系统100可使用两相机成像系统,其中第一相机和第二相机(例如,图像捕获设备122和124)可被定位在车辆(例如,车辆200)的前面和/或侧面。第一相机可具有大于、小于第二相机的视场或与其部分重叠的视场。另外,第一相机可连接到第一图像处理器以对由第一相机提供的图像执行单目图像分析,并且第二相机可连接到第二图像处理器以对由第二相机提供的图像执行单目图像分析。第一图像处理器和第二图像处理器的输出(例如,被处理的信息)可组合。在一些实施例中,第二图像处理器可接收来自第一相机和第二相机二者的图像,以执行立体分析。在另一实施例中,系统100可使用其中相机中的每个具有不同的视场的三相机成像系统。因此,这样的系统可基于从位于车辆的前向和侧面二者的变化的距离处的对象得到的信息做出决策。对单目图像分析的参考可指基于从单一视点(例如,从单一相机)捕获的图像执行图像分析的实例。立体图像分析可指基于通过图像捕获参数的一个或多个变化捕获的两个或更多个图像来执行图像分析的实例。例如,适用于执行立体图像分析的所捕获的图像可包括使用不同焦距连同视差信息等从两个或更多个不同的定位捕获的图像、从不同的视场捕获的图像。
例如,在一个实施例中,系统100可使用图像捕获设备122-126实施三相机配置。在这样的配置中,图像捕获设备122可提供窄视场(例如,34度或选自约20度到45度的范围的其他值等),图像捕获设备124可提供广视场(例如,150度或选自约100度到约180度的范围的其他值),以及图像捕获设备126可提供中间视场(例如,46度或选自约35度到约60度的范围的其他值)。在一些实施例中,图像捕获设备126可用作主相机或首要相机。图像捕获设备122-126可被定位在后视镜310之后,并且可被定位成基本上并排(例如,间隔6cm)。此外,在一些实施例中,如以上所讨论的,一个或多个图像捕获设备122-126可被安装在与车辆200的挡风玻璃齐平的防眩板380之后。这样的防护可用于最小化从汽车内部的任何反射对图像捕获设备122-126的影响。
在另一实施例中,如以上结合图3b和图3c所讨论的,广视场相机(例如,以上示例中的图像捕获设备124)可被安装为低于窄视场相机和主视场相机(例如,以上示例中的图像捕获设备122和126)。该配置可提供不受广视场相机影响的视线。为了降低反射,相机可被安装为接近车辆200的挡风玻璃,并且可在相机上包括偏振器以减弱反射光。
三相机系统可提供某些性能特征。例如,一些实施例可包括基于来自另一相机的检测结果通过一个相机验证对象的检测的能力。在以上所讨论的三相机配置中,处理单元110可例如包括三个处理设备(例如,如以上所讨论的三个eyeq系列的处理器芯片),每个处理设备专用于处理由一个或多个图像捕获设备122-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和/或150能够储存/编程用于执行与公开的实施例一致的一个或多个操作的指令。虽然以下指的是存储器140,但本领域中的技术人员将认识到指令可被储存在存储器140和/或150中。
如图4中所示,存储器140可储存单目图像分析模块402、立体图像分析模块404、速度和加速度模块406、以及导航响应模块408。公开的实施例不限于存储器140的任何特定的配置。此外,应用处理器180和/或图像处理器190可执行储存在被包括在存储器140中的模块402-408中任意一个中的指令。本领域中的技术人员将理解的是,在以下讨论中对处理单元110的引用可单独或统一指应用处理器180和图像处理器190。因此,以下过程中的任意步骤可由一个或多个处理设备执行。
在一个实施例中,单目图像分析模块402可储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时,对由图像捕获设备122、124和126中的一个所采集的一组图像进行单目图像分析。在一些实施例中,处理单元110可使来自一组图像的信息与附加的感觉信息(例如,来自雷达的信息)结合,以执行单目图像分析。如以下结合图5a-图5d所描述的,单目图像分析模块402可包括用于检测该组图像内的一组特征(诸如车道标记、车辆、行人、路标志、高速公路出口匝道、交通灯、危险对象和与车辆的环境相关联的任何其他特征)的指令。在一些实施例中,对于任何给定的帧,车辆的环境可包括由成像设备中的任意一个或由其任意组合覆盖的区域或空间(成像设备的fov)。如以下结合导航响应模块408所讨论的,基于该分析,系统100(例如,经由处理单元110)可在车辆200中引起一个或多个导航响应,诸如转弯、车道移位、加速度的变化等。此外,基于该分析,系统100(例如,经由处理单元110)可引起一个或多个导航和/或车辆控制响应,包括但不限于控制车辆200以及以上所讨论的任何相关联的系统和/或子系统的各种方式。在一些实施例中,以上所提到的响应或动作中任意一个或其全部为了简单起见可被称作导航动作或导航响应。
在一个实施例中,立体图像分析模块404可储存指令(诸如计算机视觉软件),该指令在由处理单元110执行时,对由选自图像捕获设备122、124和126中的任意一个的图像捕获设备的组合所采集的第一组图像和第二组图像执行立体图像分析。在一些实施例中,处理单元110可使来自第一组图像和第二组图像的信息与附加的感觉信息(例如,来自雷达的信息)结合,以执行立体图像分析。例如,立体图像分析模块404可包括用于基于由图像捕获设备124所采集的第一组图像和由图像捕获设备126所采集的第二组图像执行立体图像分析的指令。如以下结合图6所描述的,立体图像分析模块404可包括用于检测第一组图像和第二组图像内的一组特征(诸如车道标记、车辆、行人、路标志、高速公路出口匝道、交通灯、危险对象等)的指令。如以下结合导航响应模块408所讨论的,基于该分析,处理单元110可在车辆200中引起一个或多个导航响应,诸如转弯、车道移位、加速度的变化等。
在一个实施例中,速度和加速度模块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的速度的改变。
图5a是示出了与公开的实施例一致的用于基于单目图像分析引起一个或多个导航响应的示例性过程500a的流程图。在步骤510,处理单元110可经由处理单元110和图像采集单元120之间的数据接口128接收多个图像。例如,被包括在图像采集单元120中的相机(诸如具有视场202的图像捕获设备122)可捕获车辆200的前向区域(或者例如,车辆的侧面或其后方)的多个图像,并通过(例如,数字、有线、usb、无线、蓝牙等)数据连接将它们传输到处理单元110。如以下结合图5b-图5d进一步详细描述的,在步骤520,处理单元110可使单目图像分析模块402执行对多个图像的分析。通过执行该分析,处理单元110可检测该组图像内的一组特征,诸如车道标记、车辆、行人、路标志、高速公路出口匝道、交通灯等。
在步骤520,处理单元110也可使单目图像分析模块402执行对各种路危险物(卡车轮胎的部分、倒下的路标志、松散的货物、小动物等)进行检测。路危险物可能在结构、形状、大小和颜色上有所不同,这可能使对这样的危险物做出决策更具挑战性。在一些实施例中,处理单元110可使单目图像分析模块402对多个图像执行多帧分析,以检测路危险物。例如,处理单元110可估计连续的图像帧之间的相机运动,并计算帧之间的像素的视差,以构建路或路的某些区域(例如,在图像数据周围所界定的疑似有路危险物的兴趣区域内)的3d地图。随后,处理单元110可使用该3d地图来检测路危险物。例如,分割技术和分类技术可用于检测路表面以及存在于路表面之上的危险物。例如,如以下另外详细解释的,系统可检测路表面的特征,诸如画的车道线或车道标记,并且另外可检测存在于路表面以上的道路的特征,诸如施工区中的圆锥体/圆筒体/杆/障碍物、护栏、其他车辆、路标志等。
在步骤530,处理单元110可使导航响应模块408执行基于在步骤520进行的分析和如以上结合图4所描述的技术在车辆200中引起一个或多个导航响应。例如,导航响应可包括转弯、车道移位、加速度的改变等。在一些实施例中,处理单元110可使用通过速度和加速度模块406的执行得出的数据,以引起一个或多个导航响应。另外,多个导航响应可同时、依次或它们的任意组合地发生。例如,处理单元110可使车辆200移过一个车道,并随后例如通过依次将控制信号传输到车辆200的转向系统240和节流系统220来进行加速。可替代地,处理单元110可使车辆200制动,同时例如通过同时将控制信号传输到车辆200的制动系统230和转向系统240移位车道。
图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-546,处理单元110可辨认出现在该组捕获的图像内的车辆和行人,并得出与该车辆和行人相关联的信息(例如,定位、速率、大小)。如以上结合图5a所描述的,基于辨认和得出的信息,处理单元110可在车辆200中引起一个或多个导航响应。
在步骤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-556,处理单元110可辨认在该组被捕获的图像内出现的路标记,并得出车道几何形状的信息。如以上结合图5a所描述的,基于辨认和得出的信息,处理单元110可在车辆200中引起一个或多个导航响应。
在步骤558,处理单元110可考虑额外的信息源,以进一步开发用于车辆200的周围环境的背景中的车辆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-564,处理单元110可辨认在该组被捕获的图像内出现的交通灯,并分析交叉口的几何形状的信息。如以上结合图5a所描述的,基于辨认和分析,处理单元110可在车辆200中引起一个或多个导航响应。
图5e是示出了与公开的实施例一致的用于基于车辆路径在车辆200中引起一个或多个导航响应的示例性过程500e的流程图。在步骤570,处理单元110可构建与车辆200相关联的初始的车辆路径。车辆路径可使用以坐标(x,z)表达的一组点来表示,以及在一些实施例中,该组点中的两点之间的距离di可落在1米到5米的范围内,或者在其他实施例中,定时测量可用于提供该组点,其中该组点中的点彼此间隔0.5秒到5秒(例如,间隔1.5秒)。在一个实施例中,处理单元110可使用两个多项式(polynomials)(诸如左侧路和右侧路的多项式)来构建初始的车辆路径。如果有的话(零偏移可对应于车道中间的行进),处理单元110可计算两个多项式之间的几何中点,并使被包括在得到的车辆路径中的每个点偏移预定的偏移(例如,智能车道偏移)。偏移可以在垂直于车辆路径中的任意两点之间的节段的方向上。在另一实施例中,处理单元110可使用一个多项式和所估计的车道宽度,以使车辆路径的每个点偏移所估计的车道宽度的一半加预定的偏移(例如,智能车道偏移)。
在步骤572,处理单元110可更新在步骤570所构建的车辆路径。处理单元110可使用更高的分辨率重新构建在步骤570所构建的车辆路径,使得表示车辆路径的该组点中的两点之间的距离dk小于以上所描述的距离di。例如,距离dk可落在0.1米到0.3米的范围内。处理单元110可使用抛物线样条算法来重新构建车辆路径,这可得出对应于车辆路径的总长度(即,基于表示车辆路径的该组点)的累积的距离向量s。
在步骤574,处理单元110可基于在步骤572所构建的更新的车辆路径确定(以坐标表达为(x1,z1)的)先行点(look-aheadpoint)。处理单元110可从累积的距离向量s提取先行点,并且该先行点可与先行距离和先行时间相关联。可具有10米到20米范围的下限的先行距离可作为车辆200的速率和先行时间的乘积来计算。例如,随着车辆200的速度降低,先行距离也可能减少(例如,直至该先行距离达到下限)。可介于0.5秒到1.5秒范围内的先行时间可与一个或多个控制回路(诸如航向误差跟踪控制回路)的增益成反比,该一个或多个控制回路与在车辆200中引起导航响应相关联。例如,航向误差跟踪控制回路的增益可取决于汽车横向动力、转向执行器回路、偏航速率回路的带宽等。因此,航向误差跟踪控制回路的增益越高,先行时间就越低。
在步骤576,处理单元110可基于在步骤574确定的先行点确定航向误差和偏航速率命令。处理单元110可通过计算先行点的反正切(例如,arctan(x1/z1))确定航向误差。处理单元110可确定偏航速率命令为航向误差和高水平控制增益的乘积。高水平控制增益可等于:(2/先行时间),如果先行距离不在下限上。否则,高水平控制增益可等于:(2*车辆200的速率/先行距离)。
图5f是示出了与公开的实施例一致的用于确定领先的车辆是否正改变车道的示例性过程500f的流程图。在步骤580,处理单元110可确定与领先的车辆(例如,在车辆200的前方行进的车辆)相关联的导航信息。例如,处理单元110可使用以上结合图5a和图5b所描述的技术,确定领先的车辆的定位、速度(例如,方向和速率)和/或加速度。处理单元110也可使用以上结合图5e所描述的技术,确定一个或多个路多项式、(与车辆200相关联的)先行点和/或蜗行踪迹(snailtrail)(例如,描述领先的车辆所采取的路径的一组点)。
在步骤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可在系统100上基于在步骤710和720所采集并分析的图像执行测试。这样的测试可提供关于图像捕获设备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和第一多个图像、第二多个图像以及第三多个图像中任意一个内所检测到的对象之间的相对定位、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可同时、依次或它们的任意组合地发生。
车道限制预测
系统100可给车辆200提供车道限制预测技术,使得系统预测一个或多个车道限制的位置。
在一些实施例中,车道限制预测可被理解为用于预测车道限制的位置的一种或多种技术。在一些实施例中,车道限制可被界定为车道、道路、停车位、或者能够使车辆行进的其他路径或空间的边缘处的分界线。在一些情况下,车道限制可被标记在道路上,诸如通过画的线、物理障碍物、博茨点或者一个或多个额外的指示物。在一些实施例中,车道限制可由道路、路边、护栏等的边缘界定。在一些实施例中,车道限制可由一个或多个其他车辆(诸如临近车道成排平行停放的车辆,或停车场中成排停放的车辆)界定。在一些实施例中,车道限制可不做标记,诸如在未标记的道路上或在没有车道线的停车场中。
在一些实施例中,自驾驶系统或驾驶者辅助系统可使用图像捕获设备和图像分析,以基于在图像中所检测的对象(诸如车道标记、道路的边缘和/或其他车辆)确定一个或多个车道限制的位置。在大多驾驶情况下,系统可以能够基于所捕获的图像的可见的特性(例如,车道线等)检测至少两个车道限制——车辆行进的车道的每个侧面一个。
然而,在某些情况下,包括在车道的一侧上或车辆200的一侧上的仅一个车道限制可基于所捕获的图像中的可见的特性(例如,车道线等)被充分检测到的那些情况,系统100可预测在车道的另一侧上或车辆的另一侧上的车道限制的定位,使车辆能够在由所检测到的限制和与其相对的所预测的限制界定的车道内继续行进。
在一些实施例中,车道限制预测可由以满足一个或多个条件为前提的系统100执行。例如,在一些实施例中,当先前所检测的车道限制随着车辆200沿着道路前进被停止检测时,系统100预测车道限制的位置。因此,在一些实施例中,如果车道标记或其他所检测到的车道限制突然结束或变成不可检测,则可执行车道限制预测。在其他示例中,当系统确定护栏阴影条件存在时,系统100预测车道限制的位置,使得护栏存在于道路的附近或者护栏在道路上投射阴影。
在一些实施例中,当系统100具有对关于车辆200行进的车道宽度的有效且足够的历史信息访问时,系统100可仅执行车道限制预测;在车辆200的一侧上的车道限制随着车辆200沿着道路前进被新检测到的情况下,在一些实施例中,系统100可不执行车道限制预测。
在一些实施例中,车道限制预测可在最大行进距离内被执行,使得如果车辆200在系统100连续执行车道限制预测时行进了比预定的最大行进距离更大的距离,则车道限制预测随后可停止。在一些实施例中,预测的最大行进距离可根据由系统100检测的一个或多个各种因素来设置或修改。在一些实施例中,预测的最大行进距离可根据由系统100检测的一个或多个各种因素而折向(例如,其可在功能上被设置为“无限”)。
在一些实施例中,车道限制预测可根据由系统100检测的各种取消条件而停止。例如,在一些实施例中,如果车辆200的驾驶者改变车道,则车道限制预测可停止。在一些实施例中,如果车辆200在道路中横穿超过预定的曲线锐度阈值的曲线,则车道限制预测可停止。
图8a-图8c图示了车辆200在道路800上行进的实施例。在一些实施例中,车辆200可具有由一个或多个图像捕获设备或者相机(诸如图像捕获设备122、124和/或126)提供的一个或多个视场。在所描绘的示例中,如在车辆200的前面形成向上开口的三角形的成角度的线所描绘的,车辆200可具有从车辆朝前面向的视场;在一些实施例中,车辆200可具有从车辆200面向多个不同的方向的一个或多个视场。在所描绘的示例中,可使用用于车道限制预测(例如,当没有检测到车道限制时,预测车道限制的位置)和在由预测的车道限制界定的车道内操作车辆200的公开的系统和方法。如图所示,道路800可具有车辆200行进的车道802。车道802可在第一侧面上由第一车道限制804界定,以及在第一侧面相对的第二侧面上由车道限制806界定。如示出车道限制804和806的粗体线所指示的,这些车道限制804和806可由系统100检测。车辆200可在车辆200与第一车道限制804相同的侧面上具有第一车辆侧面808,以及在车辆200与第二车道限制806相同的侧面上具有第二车辆侧面810。
处理单元110可被配置为基于由图像捕获设备122-126采集的多个图像确定第一车道限制804和第二车道限制806,该多个图像可经由数据接口128由处理单元110接收。根据一些实施例,第一车道限制804和/或第二车道限制806可由可见的车道分界线(诸如像车道线803a(实线)和803b(虚线)的路表面上标记的虚线或实线)辨认。另外或可替代地,第一车道限制804和/或第二车道限制806可由障碍物或路表面的边缘辨认。另外或可替代地,第一车道限制804和/或第二车道限制806可标记(例如,博茨点)辨认。根据一些实施例,处理单元110可通过辨认路表面宽度的中点确定第一车道限制804和/或第二车道限制806。根据一些实施例,如果处理单元110仅辨认第一车道限制804,则处理单元110可估计第二车道限制806,诸如基于所估计的车道宽度或路宽度。例如,当指定路车道的线没有被画出或通过其他方式标记出来时,处理单元110可通过这种方式预测车道限制。
在图8a-图8c中,车道限制804和806分别通过实线和虚线803a和803b被标记在道路800上。在朝向图8a-图8c的中心的道路800的部分中,对应于车道限制806的虚线803b没有被画在道路800上。在图8a-图8c中,车道限制804和806通过系统100的检测由覆盖在车辆200的前面的相应的车道线的粗体线描绘。如图8a中的粗体线所描绘的,系统100在车辆200的前面的一定可见的距离内检测作为车辆200的左侧的实线车道限制的车道限制804。类似地,系统100在车辆200的前面的一定可见的距离内检测作为车辆200的右侧的虚线车道限制的车道限制806。根据车道限制804和806的检测,系统100使车辆200在由车道限制804和806界定的车道802内行进。
图8b描绘了在图8a中所描绘的时间点之后在车道802中沿着道路800继续前进的车辆200。当车辆200到达虚线803b没有被画在道路800上的道路800的部分时,车道限制预测可由系统100执行。如图所示,系统100预测车道限制806的位置位于距相对的车道限制804的距离812处。在一些实施例中,该距离812可基于所检测到的历史信息以及由系统100储存的关于车道802的先前宽度和/或车道大致上的平均历史宽度来确定。如图所示,系统100基于在车道限制预测被激活之前车道限制806被系统100检测到的最后一次由虚的车道线803b标记车道限制806的事实来预测车道限制806继续是虚的车道限制。根据车道限制804的继续的检测和车道限制806的预测,系统100使车辆200在由车道限制804和806界定的车道802内继续行进。在一些实施例中,当车道限制预测被激活时,并且可能在某些情况(例如,附近有其他车辆)下,某默认类型的车道限制用于控制车辆的运动,该默认类型的车道限制不一定与在激活车道限制预测之前所检测到的最后的车道限制相同。例如,在一些实施例中,系统可默认为预测实线车道限制而不是虚线车道限制。
图8c描绘了在图8b中所描绘的时间点之后在车道802中沿着道路800继续前进的车辆200。当车辆200到达虚线803b又再次被画在道路800上的道路800的部分时,由于车道限制806作为虚的车道限制又再次由系统100检测到(而不是被预测),因此车道限制预测可由系统100停止执行。如图8c中所描绘的,车辆200在执行车道限制预测时行进了距离814。在一些实施例中,车道限制预测仅可在预定的最大距离(和/或预定的最大时间)内被连续或基本上连续地执行。在图8c所描绘的示例中,距离814小于用于执行车道限制预测的预定的最大距离,使得车道限制预测随着车辆200横穿其在图8b中的定位和其在图8c中的定位之间的距离能够被连续执行。在一些实施例中,用于执行车道限制预测的预定的最大距离可被设置为18米的默认值。在一些实施例中,预定的最大距离可由车辆制造商、驾驶者和/或任何其他人员改变。
图9a-图9c图示了车辆200在道路900上行进的实施例。在所描绘的示例中,可使用用于车道限制预测(例如,当没有检测到车道限制时,预测车道限制的位置)和在由预测的车道限制界定的车道内操作车辆200的公开的系统和方法。图9a-图9c中所描绘的示例不同于图8a-图8c中所描绘的示例至少在于在道路900上两个车道合并成一个车道。如以下更详细解释的,在一些实施例中,当两个车道合并成一个车道且车道线在合并第二车道的车道的侧面上未被检测到时,可执行车道限制预测。
如图所示,道路900可具有车辆200行进的车道902。车道902可在第一侧面上由第一车道限制904界定,以及在第一侧面相对的第二侧面上由车道限制906界定。如示出车道限制904和906的粗体线所指示的,这些车道限制904和906可由系统100检测。车辆200可在车辆200与第一车道限制904相同的侧面上具有第一车辆侧面908,以及在车辆200与第二车道限制906相同的侧面上具有第二车辆侧面910。
处理单元110可被配置为基于由图像捕获设备122-126采集的多个图像确定第一车道限制904和第二车道限制906,该多个图像可经由数据接口128由处理单元110接收。根据一些实施例,第一车道限制904和/或第二车道限制906能够以以上根据图8a-图8c所讨论的方式中的任意一种或全部来辨认、检测、估计或预测。
如图所示,道路900可具有车道916。车道916可由车道限制界限。在示出的示例中,车道916在其左侧上由实线918标记,以及在其右侧上由实线920标记。在示出的示例中,车道916合并到车道902中作为在车辆200的行进的方向上继续的道路900。
在图9a-图9c中,车道限制904在道路900上由实线903连续标记。另外,车道限制906被不一致地标记;在图的最底层部分,车道限制906在道路900上由实线905a标记;在该最底层部分以上的部分,随着车道916开始合并到车道902中,车道限制906在道路900上由虚线905b标记;在该部分以上的部分,随着车道916完成了合并到车道902中,车道限制906未被标记;最后,在图的最顶层部分,车道限制906再次由实线标记,这次在道路900上由实线905c标记。
在图9a-图9c中,车道限制904、906和922通过系统100的检测由覆盖在车辆200的前面的相应的车道线的粗体线描绘。如图9a中的粗体线所描绘的,系统100在车辆200的前面的一定可见的距离内检测作为车辆200的左侧的实线车道限制的车道限制904。类似地,系统100在车辆200的前面的一定可见的距离内检测作为车辆200的右侧的实的车道限制的车道限制906。根据车道限制904和906的检测,系统100使车辆200在由车道限制904和906界定的车道902内行进。
图9b描绘了在图9a中所描绘的时间点之后在车道902中沿着道路900继续前进的车辆200。随着车辆200到达车道916从右侧合并到车道902中的道路900的部分,其中车道限制906由虚线905b简要地标记并随后不由任何线标记,车道限制预测可由系统100执行。如图所示,系统100预测车道限制906的位置位于距相对的车道限制904的距离912处。在一些实施例中,该距离912可基于所检测到的历史信息以及由系统100储存的关于车道902的先前宽度和/或车道大致上的平均历史宽度来确定。如图所示,系统100基于在车道限制预测被激活之前车道限制906被系统100检测到的最后一次由虚线905b标记车道限制906的事实,预测车道限制906继续是虚的车道限制。根据车道限制904的继续的检测和车道限制906的预测,系统100使车辆200在由车道限制904和906界定的车道902内继续行进。
另外,图9b中示出的是检测车道限制922的系统100,该车道限制随着车道916合并到车道902中界限了车道916的右侧。系统100基于道路900上相应的实线920检测作为实的车道限制的车道限制922。在一些实施例中,系统100可确定被检测到的车道限制922不是车辆200行进的车道902的限制,而是合并到车道902中的车道的车道限制。在一些实施例中,该确定可根据车道限制922被检测到在接近的阈值速率以上接近车道902的确定来做出。例如,如果在车辆行进的车道的限制以外被检测到的车道限制使大于预定的阈值角度以上的角与车辆行进的车道的所检测的或先前所检测的车道限制平行,则可确定外部的车道限制对应于接近的合并车道。
在一些实施例中,车道合并到另一车道中的确定可根据车辆中或其周围的道路中的其他方面、特性或对象的检测和分析来做出。例如,(例如,不同于提供系统的车辆的)第二车辆可被检测和跟踪,并且系统可确定另一车辆正在与道路上的车道成一角度地行进,即指示另一车辆行进的车道合并到另一车道中。在一些实施例中,系统可检测到另一车辆在接近的阈值速率以上从车道外的区域接近车道。在一些实施例中,系统可作出关于一个或多个其他车辆的这样的确定,并且可相应地确定在一个或多个其他车辆周围的车道合并。在一些实施例中,关于一个或多个其他车辆的信息可通过由与系统相关联的相机所捕获的多个图像来接收;在一些实施例中,可替代地或另外,关于一个或多个其他车辆的信息可通过任何合适形式的电子通信(诸如从一个或多个其他车辆中的一个或多个车辆传输的通信)来接收。
在另外一些其他的实施例中,车道合并的确定可根据关于车道配置和/或布局的历史信息(诸如在车辆当前位置处或周围的车道的历史信息)来做出。
图9c描绘了在图9b之后在车道902中沿着道路900继续前进的车辆200。当车辆200到达车道916合并到车道902中已经完成的道路900的部分时,由于车道限制906作为虚的车道限制又再次由系统100检测到(而不是被预测),因此车道限制906又再次在道路900上由实线标记,这次由实线905c标记,并且车道限制预测可停止由系统100执行。在一些实施例中,系统100可通过确定车道限制不再接近在预定的接近的阈值速率以上的车辆(或车辆行进的车道)而确定其检测车辆200所在的车道的车道限制(而不是合并的车道的车道限制)。在一些实施例中,系统100可通过确定车道限制在如车道限制预测所预测的车道限制的所预测的位置的预定的阈值距离内确定其检测车辆所在的车道的车道限制(而不是合并的车道的车道限制)。
如图9c中所描绘的,车辆200在执行车道限制预测时行进了距离914。在一些实施例中,车道限制预测仅可在预定的最大距离(和/或预定的最大时间)内被连续或基本上连续地执行。根据一些实施例,为车道限制预测所分配的最大距离/时间可被动态地设置。例如,为车道限制预测所分配的最大距离/时间可根据车辆的周围环境、车辆的速率、路的拓扑结构、亮度或环境、天气、道路上的其他车辆的密度和/或接近度、以及/或者任何其他路条件或特性来调整。在一些实施例中,当确定了接近的合并车道存在于车辆200的附近时,系统100可准许在比车道限制预测应另外准许执行更大的总的距离内执行车道限制预测。例如,虽然默认的最大距离可以是18米,但在检测到正在进行的车道合并的情况下,最大距离可以是1000米。该差异可能是考虑到车道合并可能需要几百米来完成的事实的原因。在图8c所描绘的示例中,距离914小于用于在车道合并的情况下执行车道限制预测的预定的最大距离,使得车道限制预测能够随着车辆200横穿在其在图9b中的定位和其在图9c中的定位之间的距离被连续地执行。
图10a和图10b图示了车辆200在道路1000上行进的实施例。图10a示出了如从车辆200的视角所见的三维视图,诸如当车辆200在道路1000上行进时由系统100接收的一个或多个图像中的一个。(图10a描绘了在车辆200的前面的道路1000上行驶的领先车辆,不要与车辆200本身混淆。)图10b示出了在道路1000的相同部分上的车辆200的架空图。
在所描绘的示例中,可使用用于车道限制预测(例如,当存在护栏阴影条件时,预测车道限制的位置)和在由预测的车道限制界定的车道内操作车辆200的公开的系统和方法。如图所示,道路1000可具有车辆200行进的车道1002。车道1002可在第一侧面上由第一车道限制1004界定,以及在第一侧面相对的第二侧面上由车道限制1006界定。在一些实施例中,如示出车道限制1004和1006的粗体线所指示的,这些车道限制1004和1006可由系统100检测。车辆200可具有在车辆200与第一车道限制1004相同的侧面上的第一车辆侧面1008,以及车辆200在与第二车道限制1006相同的侧面上的第二车辆侧面1010。
道路1000可包括车道线1003a和1003b,其分别在道路1000上物理地标记了车道1002的左侧和右侧。
道路1000可包括由柱1014支撑的护栏1012。护栏1012和其柱1014二者都投射护栏阴影1016,该护栏阴影1016在所描绘的示例中落在车道线1003a上并落进车道1002中。
如图10a和图10b中的粗体线所描绘的,系统100在车辆200的前面的一定可见的距离内检测作为车辆200的右侧的实线限制的车道限制1006。在道路1000的左侧,粗体线示出了系统100如何检测一些边缘,其中的一个可归因于车道线1003a,以及其中的两个(阴影边缘1005a和1005b)可归因于护栏阴影1016。在一些实施例中,在车辆或车道的一侧上的多个边缘的检测可能使从系统100可用的图像中辨认车道限制更加困难,使得车道限制不能以高水平的确定性来辨认。因此,在一些实施例中,当系统100确定护栏1012或护栏柱1014存在时,即护栏阴影1016被投射到道路1000上,或者多个边缘在车道1002的相同侧面上被检测到,则系统100可确定护栏阴影条件存在,并且可相应地进入护栏阴影模式。在一些实施例中,护栏阴影模式可使对接近被检测的护栏、阴影或边缘的车道的侧面执行车道限制预测。通过使用车道限制预测,系统100可根据以上参照图8a-图8c和/或图9a-图9c所讨论的技术中的任意一种来预测车道限制1004的位置。在所描绘的示例中,系统100可正确地预测与由画出的车道线1003a界定的边缘而不是由护栏阴影1016界定的边缘一致的车道限制1002的位置。根据车道限制1004和1006的检测,系统100使车辆200在由车道限制1004和1006界定的车道1002内行进。
在一些实施例中,护栏阴影预测可使车道限制预测以没有关于车道限制预测可执行多久的限制来进行。因此,例如,系统100可折向最大距离,而不是用于车道限制预测的最大距离被设置为18米(图8a-图8c的示例中)或1000米(图9a-图9c的示例中),在功能上配置系统为使得只要继续检测到护栏阴影条件且只要没有检测到车道限制预测取消条件,则车道限制预测就可在无限的距离(和/或无限的时间)内继续。
图11是存储器140或150的示例性功能框图,该存储器可储存用于执行与公开的实施例一致的一个或多个操作的指令。如图11中所图示的,存储器140或150可储存用于执行本文中所描述的技术的一个或多个模块。例如,存储器140或150可储存图像获取模块1100、道路车道限制识别模块1102、确定模块1104、道路车道限制预测模块1106、车辆发布模块1108、和车道限制预测停止模块1110。如本领域中的普通技术人员将认识到的,以上列举的模块中的任意一个可与每个另外的模块或其他模块合并,可与另外一个模块或其他模块接合,以及/或者可被分成另外的模块和/或子模块。
在一些实施例中,处理单元110可执行被储存在存储器140或150中的一个或多个模块上的指令,并且处理单元110的执行可使系统100执行本文中所讨论的方法。
在一些实施例中,处理单元110可使系统100从相机(例如,图像捕获设备122、124和/或126)获得(例如,以图像获取模块1100)多个图像,其中,当相机安装在车辆(例如,车辆200)上时且在车辆处于运动状态下时,相机适于捕获在相机视场内的道路的图像,对多个图像应用图像处理以识别(例如,利用道路车道限制识别模块1102)第一道路车道限制,基于多个图像确定(例如,利用确定模块1104)一个或多个界定的车道预测条件被满足,根据一个或多个界定的车道预测条件被满足的确定,预测(例如,利用道路车道限制预测模块1106)第二道路车道限制的位置,以及根据第二道路车道限制的所预测的位置发布(例如,利用发布模块1108)通知或控制信号,以控制车辆的运动。
在一些实施例中,处理单元110可使系统100根据第一道路车道限制的位置发布(例如,利用发布模块1108)通知或控制信号,以引导车辆的运动。
在一些实施例中,处理单元110可使系统100发布(例如,利用发布模块1108)通知或控制信号,以沿着第一道路车道限制和第二道路车道限制之间的车道或区域引导车辆的运动。
在一些实施例中,处理单元110可使系统100确定(例如,利用确定模块1104)一个或多个界定的车道预测取消条件是否满足,并根据一个或多个界定的车道预测取消条件被满足的确定,停止预测(例如,利用车道限制预测停止模块1110)第二道路车道限制的位置。
图12说明了用于实施与公开的实施例一致的车道限制预测的过程1200。在一些实施例中,过程1200中的步骤可通过图8a-图8c、图9a-图9c和图10a-图10b中所图示的情况来进行说明。根据一些实施例,过程1200可由导航系统100的一个或多个组件(诸如至少一个处理单元110)实施。根据一些实施例,过程1200可由与车辆200相关联的系统100实施。
在步骤1202,在一些实施例中,系统接收与系统相关联的移动的车辆附近的道路的多个图像。在一些实施例中,一个或多个图像使用至少一个图像捕获设备(诸如图像捕获设备122、124和/或126)被采集。多个图像可通过诸如数据接口128的数据接口由系统接收。在图8a-图8c中所图示的示例中,系统100可采集车辆200附近的道路800的多个图像。
在步骤1204,在一些实施例中,系统识别第一道路车道限制。在一些实施例中,系统可使用图像分析技术,以通过辨认指示车道限制的图像中的对象、标记或其他特性(诸如车道标记、道路边缘、车道驾驶者和/或其他车辆)对用于检测车道限制所接收的一个或多个图像进行处理。在一些实施例中,系统可试图辨认车辆的一侧上的至少一个车道限制和车辆的另一侧上的另一车道限制(例如,在车辆的从前到后的行进的方向上,其中心线的每个侧面一个车道限制)。在一些实施例中,系统可试图辨认车道的一侧上的至少一个车道限制和车道的另一侧上的另一车道限制。在图8a-图8c中所图示的示例中,系统100可分析道路800的所接收的图像,并可检测对应于实的车道线803a且与其相符的车道802的左侧的车道限制804。也就是说,在一些实施例中,车道线803a可由系统100在多个采集的图像中识别出来,并且系统100可确定车道线803a是用于车道限制804的视觉标记。
在步骤1206,在一些实施例中,系统基于多个图像确定一个或多个界定的车道预测条件是否满足。在一些实施例中,车道预测条件可以是任意预定的条件,系统100通过该车道预测条件可确定是否预测车道限制的位置。在一些实施例中,仅一个车道预测条件需要满足,而在其他实施例中,车道预测条件的最小阈值数量(例如,两个或更多个)需要满足。在一些实施例中,车道预测条件的最小阈值数量可根据与道路车道布局、道路拓扑结构、阴影条件、能见度条件、沿着道路的护栏和/或其他障碍物的存在、道路上的其他车辆的存在等有关的历史信息来确定。
在一些实施例中,一个或多个界定的车道预测条件包括随着车辆前进,基于多个图像,第二道路车道限制停止被识别。例如,在一些实施例中,系统可连续地捕获和查阅对应于车辆的当前位置和附近的多个图像;随着车辆沿着道路并沿着车道行进,基于多个图像的一个子集在一种情况下可被及时识别的车道限制可基于多个图像的后来的子集在随后的情况下及时停止被识别。在图8a-图8c的示例中,随着车辆200沿着道路800从其在图8a中的定位行进到其在图8b中的定位,系统100可分析道路800的所接收的图像。随着车辆200从其在图8a中的定位行进到其在图8b中的定位,该车辆200到达道路800的中间部分,在该中间部分有点的车道线803b未被画在道路800上。在对从道路800的该中间部分所接收的多个图像进行分析时,由于车道线803b的缺失,系统100可停止识别车道限制806。随着车辆200沿着道路800前进的该停止辨认车道限制在一些实施例中可构成车道预测条件。
在一些实施例中,一个或多个界定的车道预测条件包括车道的第一侧面上的车道限制已经被辨认了至少阈值时间或阈值距离。可选地,与一个或多个界定的车道预测条件相关联的阈值时间或阈值距离可以是动态的,并且可根据与道路车道布局、道路拓扑结构、阴影条件、能见度条件、沿着道路的护栏或其他障碍物的存在、道路上的其他车辆的存在等有关的历史信息来调整。在一些实施例中,这样的车道预测条件可用于在系统第一次检测到在车道的单一侧面(或车辆的单一侧面)上的车道限制时,防止系统进行车道限制预测(或降低系统进行车道限制预测的可能性)。也就是说,在一些实施例中,如果车辆正在行进并出现第一次碰到单一车道线或者其他车道标记或指示物,则系统可基于单一车道标记/指示物不预测另一车道限制的位置。在一些实施例中,该车道预测条件可用于确保系统基于存在于道路上的实际车道而不是孤立的、杂散的或者错误或随机放置的车道标记/指示物作出有效且准确的车道限制预测(或增加其可能性)。在一些实施例中,预定的阈值距离可被固定在系统中,或者可基于车辆的当前速率、车辆行进的道路的大小或标示的速率、或与车辆或道路有关的任何其他可辨别的变量通过系统确定。
在一些实施例中,一个或多个界定的车道预测条件包括护栏存在于车辆附近。在一些实施例中,当系统确定车辆在护栏附近时,系统可进行车道限制预测。在一些实施例中,该车道预测条件可用于防止当在现实中一个或多个边缘与护栏或与护栏阴影相关联时系统错误地确定在一个或多个图像中所检测到的一个或多个边缘对应于车道限制。在一些实施例中,护栏可将阴影投射到道路上,并且道路上的阴影的边缘可通过系统所使用的图像分析技术来检测。在一些实施例中,系统可能错误地确定护栏阴影是车道限制的标记,并且可能根据护栏阴影而不是实际的车道限制使车辆行进。在一些实施例中,为了防止这样的错误,系统可识别护栏存在于车辆的附近,并因而可进行车道限制预测,以预测具有护栏的车道的侧面上的车道限制的位置,而不是试图识别车道的该侧面上的车道限制,并冒着风险错误地将护栏阴影识别为车道限制。
在图10a和图10b的示例中,(图10b中所示的;不是图10a中所示的,因为车辆200在图10a中构成了视点)车辆200行进在道路1000上的车道1002中,该车道在车道1002的左侧具有护栏1012。在一些实施例中,系统100可分析一个或多个图像,以检测护栏1012存在于车道1002的左侧的车辆200的附近。在一些实施例中,护栏1012的存在可满足车道预测条件。
在一些实施例中,确定护栏存在于车辆的附近包括在一个或多个图像中检测由支撑护栏的柱创建的图案。在一些实施例中,系统可被配置为在已知或怀疑指示护栏的存在的一个或多个图像中检测一个或多个图案。在一些实施例中,一个这样的图案可被称作“快速虚线(rapiddash)”图案,并且当系统在一个或多个图像中检测到由支撑护栏的柱产生的快速连续的虚线或快速连续的线时,这样的图案可能存在。在一些实施例中,系统可被配置为检测已知为支撑护栏的柱的特性的任何其他合适的图案或视觉记号。在一些实施例中,系统可检测护栏的柱的图案,而在一些实施例中,可替代地或另外地,系统可检测由护栏的柱投射的阴影的图案。在图10a和图10b的示例中,护栏1012由(图10a中所示的;从图10b的架空角(overheadangle)不可见的)柱1014支撑。在图10a和图10b中,柱1014投射阴影,该阴影落在道路1000上并落在车道1002中。系统100可检测快速虚线图案或在多个图像中由柱1014或其阴影创建的任何其他合适的图案的存在,并且该检测可以是系统100确定护栏存在于车辆200的附近的一种形式。
在一些实施例中,系统100可利用深度信息来辨认是护栏或护栏的部分的特性的形状。应认识到的是,画出的线将基本上没有体积,并且其高度相对于道路表面几乎为零,因此,深度信息可用于在车道标记和护栏之间进行区分。
在一些实施例中,一个或多个界定的车道预测条件包括护栏将阴影投射到道路上。在一些实施例中,代替通过系统对护栏本身的检测或除此之外,车道预测条件还可基于通过系统对护栏的阴影的检测。在一些实施例中,如果护栏阴影被检测为在车辆的附近的任何地方,则车道预测条件可被满足;在一些实施例中,如果阴影被检测到为来自车辆行进于其中或其上的车道或道路的方向上的护栏的投射,则车道预测条件可被满足;在一些实施例中,如果阴影被检测到为从护栏投射到车辆行进于其中的道路或车道上,则车道预测条件可被满足。
在一些实施例中,确定护栏是将阴影投射到道路上可涉及确定预测的太阳的位置是否与可能是护栏阴影的所检测到的边缘的位置一致。例如,在一些实施例中,系统可确定太阳相对于可用于系统的多个图像的定向和太阳的定位。这些关于太阳的位置和车辆的定向的确定可根据各种信息碎片(例如,包括多个图像中的一个或多个、由gps确定的车辆的位置和/或定向、由罗盘确定的车辆的定向和/或时间)来完成。系统可基于所确定的太阳的位置和车辆的定向,确定阴影预计在某个时间某个方向上从护栏投射。
在图10a和图10b的示例中,护栏1012是将阴影1016投射到道路1000上并投射到车道1002中;落在道路1000上并落在车道1002中的阴影1016可由系统100检测,并且所述检测可满足车道预测条件。
在一些实施例中,一个或多个界定的车道预测条件包括多个基本上平行的边缘在多个图像中被检测到在道路上的车道的一侧上的道路上。在一些实施例中,由系统应用到所接收的多个图像的图像分析技术可在所接收的多个图像中的一个或多个中检测边缘;在一些实施例中,边缘的检测可用于识别车辆周围的环境中的对象和标记。在一些实施例中,多个图像中的边缘的检测可用于识别车道线或标记或边缘或道路,并且从而用于确定车道限制的位置。在一些实施例中,包括护栏阴影被投射到车辆行进的道路或车道上的那些实施例,系统可在多个图像中检测作为边缘的护栏阴影的边缘。在一些其他的实施例中,其他对象或标记可使系统检测一个车道的相同侧面上的多个边缘。在这些实施例中,哪个边缘对应于正确的车道限制的确定可能是困难的、缓慢的或者不可靠的。出于这个原因,在一些实施例中,可能有利的是,不基于多个图像来试图确定几个所检测到的边缘中的哪个边缘对应于车道限制,并如以上所讨论的,当多个边缘在多个图像中被检测到时,使用车道限制预测代替简单地预测车道限制的位置。在图10a和图10b的示例中,系统100在多个图像中检测车道1002的左侧由粗体线标记的1004、1005a和1005b指示的三个不同的边缘。在图10a和图10b的示例中,如以上所解释的,系统100可确定多个边缘在车道1002的左侧被检测到,并且该检测可构成车道预测条件。
在一些实施例中,如果在框1206处确定一个或多个界定的车道预测条件未被满足,则方法1200可返回到步骤1202,并且可随着时间的推移继续采集道路的额外的图像。
在一些实施例中,如果在框1206处确定一个或多个界定的车道预测条件满足,则方法1200可前进到步骤1208。在步骤1208,在一些实施例中,根据一个或多个界定的车道预测条件被满足的确定,系统预测第二道路车道限制的位置。在一些实施例中,系统可预测车道的与所检测到的车道限制的相对侧面上的车道限制(车辆作为相对侧面的方向的参考)。因此,在一些实施例中,如果一个车道限制可从所接收的图像中的车道线或其他视觉记号识别出,并且确定诸如以上所讨论的条件中的任意一个的车道预测条件满足,则系统可预测车道的与第一车道限制相对侧面上的第二车道限制的位置。
在一些实施例中,所预测的车道限制可被预测为沿着道路在预定的距离内延伸。在一些实施例中,所预测的车道限制可被预测为平行于与其相对的所识别的车道限制。在一些实施例中,所预测的车道限制可被预测为继续沿着与先前由系统检测的相同的车道限制相同的角度、路径或位置。在一些实施例中,所预测的车道限制可基于另一车道限制的位置、基于道路的其他可辨别的特征的位置、或基于与系统和/或周围的车辆相关联的车辆的位置来预测。在一些实施例中,所预测的车道限制可被预测为位于距被识别的车道限制或距基于道路的多个图像所识别或预测的任何其他对象的预定的距离处。在一些实施例中,所预测的车道限制可被预测为是匹配在多个图像中所检测的其他车道限制类型或根据其确定的车道限制类型,或者被预测为是根据基于从先前时间的道路的先前的图像对所预测的车道限制所确定的车道限制类型确定的车道限制类型(例如,如果系统在车辆的右侧检测到实的单一的白线,则停止检测任何车道线,系统可预测实的单一白的车道限制在车辆的右侧继续;可替代地或另外地,系统可预测实的单一白线位于与实的单一黄线相对的车道的侧面上)。
在图8a-图8c的示例中,系统100基于多个图像中的车道线803a的检测识别车道限制804。当车辆200到达其在图8b中的定位且没有在车道802的右侧检测到任何车道线时,则车道预测条件可被满足。因此,在一些实施例中,系统100可预测车道802的右侧的车道限制806,如图8b中所示。在一些实施例中,车道限制806可基于以是单一虚线车道限制的车道限制806的车道线803b为基础的图8a中的先前的识别而被预测为单一虚线车道限制。在一些实施例中,车道限制806的定位、角度、类型和/或任何其他特性可基于通过系统100可访问的关于车辆200、道路800或任何其他周围环境的因素的任何储存的或以其他方式确定的信息来预测。
在一些实施例中,预测车道限制的位置包括基于关于先前确定的车道的宽度预测车道的宽度。在一些实施例中,车道的宽度可基于关于车道宽度的历史信息或关于最新(例如,在执行车道限制预测之前的几秒钟)的特定车道的宽度的缓存信息来预测。在一些实施例中,当系统检测车道的两个限制并且从而可确定该车道的宽度并且系统随后停止检测或识别车道限制中的一个时,则系统可预测车道继续是相同的宽度。系统可相应地预测所预测的车道限制的位置,使得车道被预测为保持宽度恒定或基本上恒定。在图8a-图8c的示例中,当系统100预测图8b中的车道限制806的位置时,限制806被预测为离车道限制804距离812。当车辆200处于图8a中所示的定位时,该距离812可以是车道限制806和车道限制804之间所检测到的相同的距离812。在一些实施例中,系统100可记录或缓存关于车道宽度的历史信息,使得该系统可快速调回车道宽度信息,以便对所预测的车道限制的位置进行预测。
在步骤1210,在一些实施例中,系统使移动的车辆能够避免第一道路车道限制和第二道路车道限制。因此,在一些实施例中,系统可使车辆在所检测/识别的车道限制在一侧上界定的和所预测的车道限制的相对侧面上所界定的车道中行进。在一些实施例中,系统可引起车辆的任何合适的转向、加速、减速或其他控制,以使车辆在由所预测和检测的车道限制界定的车道内行进。在图8a-图8c的示例中,当系统100检测到图8b中的车道限制806时,系统100随后使车辆200沿着所检测到的车道限制804和所预测的车道限制806之间的车道802行进,以从其在图8b中的定位行进到其在图8c中的定位。
在步骤1212,在一些实施例中,系统像确定一个或多个界定的车道预测取消条件是否被满足。在一些实施例中,车道预测取消条件可以是任意预定的条件,系统通过该车道预测取消条件可确定是否停止预测车道限制的位置。在一些实施例中,一旦系统开始预测车道限制的位置,车道限制的位置就可被继续预测,直至一个或多个预定的车道预测取消条件被满足为止。在一些实施例中,仅一个车道预测取消条件需要被满足,以便停止车道预测。在一些实施例中,预定的数量或车道预测条件大于必须满足的一个条件,以便停止车道预测。可选地,置信分数可根据预定的标准分配给车道预测条件。可选地,一些车道预测条件可具有比其他更高的权重。仍进一步通过示例的方式,可计算总体分数,以确定车道预测取消条件是否满足,并且这样的计算可考虑被分配给车道预测条件的权重和置信分数。
在一些实施例中,一个或多个界定的车道预测取消条件包括在停止识别之后,基于第一或多个图像识别第二车道限制。例如,在一些实施例中,随着车辆沿着道路行进,车道限制可停止被识别(如以上所讨论的),诸如当道路未被标记或车道线在多个图像中不可检测时;如以上所讨论的,可相应地执行车道预测。在一些实施例中,此后,例如当车辆继续沿着道路行进时,随着系统继续采集新的图像,系统可在多个图像中再次识别到车道限制。例如,如果车辆到达车道线不再遗漏的道路的部分,或者如果车道线以其他方式变成可由系统再次检测到,则系统可基于道路的更新的图像来识别车道限制。该第二车道限制的识别-被预测的车道限制-在一些实施例中可构成车道预测取消条件,该车道预测取消条件可使系统停止预测第二车道限制的位置并转而返回依赖于基于多个图像所检测/识别的车道限制的位置。
在图8a-图8c的示例中,虽然系统100可在车辆200位于图8b中所示的位置时预测车道限制806的位置,但随着车辆200前进到图8c中所示的定位,图的上半部分上的虚的车道线803在由系统100采集的图像中可再次是可见的。基于这些新的图像,系统100可基于车道线803b再次检测/识别车道限制806的存在,并且该识别可构成车道预测取消条件,该车道预测取消条件触发车道限制806的位置预测的停止。
在一些实施例中,一个或多个界定的车道预测取消条件包括驾驶者在车道之间移动车辆。在一些实施例中,系统可基于多个图像确定驾驶者将车辆转向或合并到另一车道。在一些实施例中,该检测可满足车道预测取消条件,并且可触发车道限制位置预测的取消。
在一些实施例中,一个或多个界定的车道预测取消条件包括车辆横穿超过预定的锐度阈值的曲线。在一些实施例中,系统可访问关于曲线的预定或动态确定(例如,根据车辆速率、标示的限速、道路状况、天气状况、环境亮度、其他车辆的附近等确定)的锐度阈值,并且可确定道路或车道中的曲线是否超过锐度阈值(例如,比最大允许的锐度更锐利)。如果确定了车辆横穿或接近的曲线超过最大允许的锐度,则系统可确定车道预测取消条件满足,并且可相应地停止车道限制预测。
在一些实施例中,确定一个或多个界定的车道预测取消条件是否满足包括选择最大车道预测距离设置,并确定车辆在预测第二道路车道限制的位置时所行进的距离是否大于与最大车道预测距离设置相关联的最大车道预测距离。在一些实施例中,最大车道预测距离可由系统预定、设置或动态地确定。在一些实施例中,系统可监视车辆在系统预测车道限制的位置时所行进的距离,并且如果该行进的距离超过最大允许的车道预测距离,则可停止预测车道限制的位置。在一些实施例中,最大允许的车道预测距离的实施可通过确保系统在过长的时间段或过长的距离内不预测车道限制的位置来改进安全性和功能,在该距离或时间内,车道或道路的一个或多个特性可能改变或变化。在一些实施例中,由于可预期车道和道路的特性随着空间和时间而改变或变化,因此系统可通过确保至少一旦超过最大车道预测距离(或者,在一些实施例中,是最大车道预测时间)车道限制参考点或指示物(诸如车道线或其他车道标记)就基于由系统采集的多个图像来进行检测而改进安全性。
在一些实施例中,最大车道预测距离在不同的情况下可由系统改变。在一些实施例中,最大车道预测距离可与一个或多个最大车道预测距离设置相关联,使得系统可选择一个最大车道预测距离设置并实施相关联的最大车道预测距离。在一些实施例中,不同的最大车道预测距离设置可在由系统检测和确定的不同的驾驶场景中实施。
在一些实施例中,标准或默认的最大车道预测距离设置可与标准或默认的最大车道预测距离相关联。在一些实施例中,标准或默认的最大车道预测距离可以是18米。
在图8a-图8c的示例中,车辆200从开车道限制预测的其在图8b中的定位行进距离814到车道预测停止的、其在图8c中的定位。该距离814可小于18米的标准或默认的最大车道预测距离,使得车道限制预测可在车辆200在图8b和图8c中的定位之间被连续地执行。
在一些实施例中,选择最大车道预测距离设置包括,根据第一车道与第二车道在车辆的附近合并的确定,选择最大车道预测距离设置,使得该最大车道预测距离大于默认的最大车道预测距离。因此,在一些实施例中,系统可实施延伸的或增加的最大车道预测距离。例如,在一些实施例中,系统可基于多个图像确定车道与车辆行进的车道合并,或者车辆行进的车道与另一车道合并。系统可通过检测临近车辆的车道的合并的车道的远侧上的车道限制(例如,通过识别车道线)以及通过确定临近车道的相对侧面上的车道限制在预定或动态确定的接近的阈值速率以上接近车辆行驶的车道,来确定车道合并发生在车辆的附近。也就是说,在一些实施例中,随着车辆沿着道路前进,系统可识别接近车辆行驶的车道的临近车道的远侧,并且可相应地确定临近车道与车辆行驶的车道合并。
在一些实施例中,当两个车道彼此合并时,预计道路可能将以长距离的无标记的车道限制为特征,因此,对于被配置为在比默认的最大车道预测距离或时间更大的距离和/或更长的时间内预测车道限制的位置的系统来说可能是有利的。在一些实施例中,与车道合并状况相关联的增加的最大车道预测距离可以是1000米。
在图9a-图9c的示例中,车辆200从车道限制预测开始的、其在图9b中的定位到车道预测停止的、其在图9c中的定位行进了距离914。距离914可大于标准或默认的最大车道预测距离,使得如果选择了默认的最大车道预测距离设置,则在车辆200到达其在图9c中的定位之前,车道限制预测可已经被停止。然而,如图8b中的粗体线所指示的,随着车辆200前进,系统100识别接近车道902的车道916的右侧的车道限制922,并且可相应地确定车道正在合并,并应选择与车道合并相关联的最大车道预测距离设置。所选择的设置可与大于18米的默认的最大车道预测距离的1000米的最大车道预测距离相关联。因此,在一些实施例中,距离914可小于1000米的增加的最大车道预测距离,使得车道限制预测可在图9b和图9c中车辆200的定位之间被连续地执行。
在一些实施例中,选择最大车道预测距离设置包括,根据界定的护栏条件满足的确定,选择没有最大车道预测距离的最大车道预测距离设置。也就是说,在一些实施例中,当系统100检测到护栏条件满足时,系统100可无限地预测车道限制的位置,而无需考虑任何最大车道预测距离。通过这种方式,在一些实施例中,与护栏条件相关联的最大车道预测距离可被认为是无限的最大距离或不存在的最大距离。
在一些实施例中,护栏条件可在系统检测车辆附近的一个或多个护栏、护栏柱和/或护栏阴影的存在的任何情况下得到满足。例如,护栏条件可在以上所讨论的任意一种或全部情况下得到满足,其中,系统可确定护栏和/或护栏阴影存在于车辆的附近和/或车辆行进的道路或车道上。如以上所讨论的,在一些情况下,当护栏和/或护栏阴影的存在、位置和/或定向使系统进行车道限制预测时,护栏条件可被满足。
在一些实施例中,对于不将最大车道预测距离(或无限的最大车道预测距离)应用到护栏和/或护栏阴影存在的情况中可能是有利的,因为预计护栏和其相关联的阴影沿着道路可连续持续非常长的距离(通常大于默认的最大车道预测距离或甚至大于与车道合并相关联的增加的车道预测距离)。在图10a和图10b的示例中,当由于护栏阴影1016的检测系统100开始预测车道限制1004的位置时,系统100可选择与护栏条件相关联的最大车道预测距离设置;与护栏条件相关联的最大车道预测距离设置的选择可使系统执行车道限制1004的车道预测,而无需以任何最大车道预测距离为前提。
在一些实施例中,如果在框1212处确定一个或多个界定的车道预测取消条件未满足,则方法1200可返回到步骤1202,并且可随着时间的推移继续采集道路的额外的图像。
在一些实施例中,如果在框1212处确定一个或多个界定的车道预测取消条件满足,则方法1200可前进到步骤1214。在步骤1212,在一些实施例中,根据一个或多个车道预测取消条件满足的确定,系统停止预测第二车道限制的位置。在图8a-图8c的示例中,当车辆200到达其在图8c中所描绘的定位时,车道预测取消条件可基于车道线803b通过车道限制806的识别得到满足,并且因此系统100可停止预测车道限制806的位置。相反,如系统100先前在图8a中所做的,其可基于所检测到的车道线803b的位置重新确定车道限制806的定位。
施工区的检测与响应
系统100可给车辆200提供施工区检测,使得系统识别道路上的施工区的存在并对其采取动作。在一些实施例中,系统100可在其接收的一个或多个图像中识别各种元素,并可根据这些一个或多个元件的识别确定车辆200接近施工区或在其中。在一些实施例中,可根据施工区的检测采取任何自动或驾驶者辅助的动作,包括但不限于改变车辆200的速率、转向车辆200、启用或解除车辆200的一个或多个灯等。在一些实施例中,根据施工区的检测,信号可由系统100输出,该系统100指示施工区已经被检测到和/或施工区模式被激活。在一些实施例中,根据施工区的检测(和/或根据复杂的施工区的检测),由系统100进行的对车辆200的自动控制或驾驶者辅助的控制可被禁用,使得车辆200的控制可返回给驾驶者。
图13图示了车辆200行进在道路1300上并接近施工区的实施例。道路1300具有两个车道1302和1304。车道1302由车道限制1306和1308界定,而车道1304由车道限制1310和1312界定。如指示车道限制1306、1308、1310和1312的粗体线所示,这些车道限制由系统100检测。车道限制1306和1308分别通过画出的车道线1320和1322被标记在道路1300上,而车道限制1310和1312分别通过画出的车道线1322和1324被标记在道路1300上。
道路1300包括施工区或施工区域的几个指示物,包括画出的施工区车道线1326。在一些实施例中,施工区车道线可用与传统车道线不同的颜色和/或式样画出。例如,在德国,黄色的车道线被画在路上来指示施工区,而传统车道线用白色画出。如粗体线所指示的,系统100基于画出的施工区车道线1326检测施工区车道限制1314。根据施工区车道限制1314的检测,系统100可使车辆200在由施工区车道限制1314而不是传统车道限制界定的车道内行驶。在一些实施例中,当系统100检测到车辆200在施工区中时,施工区车道线可优先于传统车道线。
道路1300可包括传统施工区指示物,包括圆锥体1316,施工区指示物中的一些位于道路1300的表面上和车道1304内。响应于检测圆锥体1316,系统100可使车辆200改变其路径,以便避免圆锥体1316,如有必要改变行进的车道中的定位或改变车道。响应于检测圆锥体1316,系统100可确定车辆200在施工区中或在其附近;激活施工区模式;输出施工区信号;禁用车辆200的自动控制或驾驶者辅助控制;以及/或者通过改变其速率、转向或采取任何其他适当的动作(诸如避免圆锥体1316)控制车辆200。
道路1300可包括额外的施工区指示物,包括施工路标志1318a和1318b,其可指示施工区的存在和/或为驾驶者指示在施工区中要遵循的指令(例如,减速、停止、合并、转弯等)。系统100可通过一种方式检测施工路标志1318a和1318b,在该方式中系统可检测任何或所有其他的交通标志,并且该系统可响应于施工路标志1318a和1318b的检测采取任何适当的动作,包括确定车辆200在施工区中或在其附近;激活施工区模式;输出施工区信号;禁用车辆200的自动控制或驾驶者辅助控制;以及/或者通过改变其速率、转向或采取任何其他适当的动作(诸如根据施工路标志上的指令)控制车辆200。
图14是存储器140或150的示例性框图,该存储器可储存用于执行与公开的实施例一致的一个或多个操作的指令。如图14中所图示的,存储器140或150可储存用于执行本文中所描述的施工区检测的一个或多个模块。例如,存储器140或150可储存图像获取模块1400、施工区指示物识别模块1402、确定模块1404、信号输出模块1406、车辆移动启用模块1408、和车辆控制禁用模块1410。如本领域中的普通技术人员将认识到的,以上列举的模块中的任意一个可与每个另外的模块或其他模块合并,与另外一个模块或其他模块接合,以及/或者被分成另外的模块和/或子模块。
在一些实施例中,处理单元110可执行被储存在存储器140或150中的一个或多个模块上的指令,并且处理单元110的执行可使系统100执行本文中所讨论的方法。
在一些实施例中,处理单元110可使系统100从相机(例如,图像捕获设备122、124和/或126)获得(例如,以图像获取模块1400)多个图像,其中,当相机安装在车辆(例如,车辆200)上且当车辆处于运动状态下时,该相机适于捕获其视场内的道路的图像,对多个图像应用图像处理以识别(例如,利用施工区指示物识别模块1402)施工区的一个或多个指示物,以及,根据识别施工区的一个或多个指示物,输出(例如,利用信号输出模块1406)输出指示车辆接近施工区的信号。
在一些实施例中,处理单元110可使系统100基于一个或多个指示物确定(例如,利用确定模块1404)车辆接近施工区,并根据车辆接近施工区的确定,输出(例如,利用信号输出模块1406)指示车辆接近施工区的信号。
在一些实施例中,处理单元110可使系统100根据车辆接近施工区的确定使移动的车辆(例如,利用车辆移动启用模块1408)根据施工区指示物移动。
在一些实施例中,处理单元110可使系统100基于一个或多个指示物确定(例如,利用确定模块1404)施工区是复杂的施工区,并根据施工区是复杂的施工区的确定,禁用(例如,利用车辆控制禁用模块)自动车辆控制功能。
图15说明了用于实施与公开的实施例一致的车道限制预测的过程1500。在一些实施例中,过程1500的步骤可通过图13中所图示的情况来进行说明。根据一些实施例,过程1500可由导航系统100的一个或多个组件(诸如至少一个处理单元110)实施。根据一些实施例,过程1500可由与车辆200相关联的系统100实施。
在步骤1502,在一些实施例中,系统接收与系统相关联的移动的车辆附近的道路的多个图像。在一些实施例中,一个或多个图像使用至少一个图像捕获设备(诸如图像捕获设备122、124和/或126)被采集。多个图像可通过诸如数据接口128的数据接口由系统接收。在图13中所图示的示例中,系统100可采集车辆200附近的道路1300的多个图像。
在步骤1504,在一些实施例中,系统在多个图像中识别施工区的一个或多个指示物。在一些实施例中,系统可使用图像分析技术来对所接收的一个或多个图像进行处理,以检测标志、对象、其他车辆、标记的车道线和周围环境的任何其他对象或特性。在一些实施例中,某些标志、标记、车道线、对象和/或任何这样检测的方面的组合可由系统预定为施工区的指示物。在一些实施例中,圆锥体、圆筒体、闪光、杆、障碍物和/或存在于道路附近的标记可由系统预定为施工区的指示物。在一些实施例中,预定的交通标志,诸如那些承载的文字、符号或对于指示施工区已知的图像,可由系统预定为施工区的指示物。在一些实施例中,车道线可由系统预定为施工区的指示物。例如,在德国,施工区可用画在道路上的专用施工区车道线来标记,施工区车道线可能是与传统车道线不同的颜色或不同的外观。系统可检测车道线的颜色、外观、定向和/或位置,其向系统指示该线是施工区车道线,并且系统可识别这样的施工区车道线为施工区的指示物。
在图13的示例中,系统100可识别圆锥体1316、施工路标志1318a和1318b、和/或画出的施工区车道线1326。在一些实施例中,这些元素中的任意一个或全部可由系统100预定或由系统100动态确定为施工区指示物。
在步骤1506,在一些实施例中,系统基于一个或多个指示物确定车辆是否接近施工区。在一些实施例中,系统可基于施工区指示物的(车辆、道路或车道的)附近确定车辆接近施工区。在一些实施例中,系统可基于相对于道路或车道的定向或位置假设车辆接近施工区。在一些实施例中,系统可根据一个或多个路标志的内容(例如,图像、符号和/或文字)确定车辆接近施工区。在一些实施例中,最小阈值数量的施工区指示物必须在彼此的最大阈值时间内被检测,以便系统确定车辆接近施工区。在图13的示例中,系统100可基于圆锥体1316、施工路标志1318a和1318b和/或画出的施工区车道线1326的同时检测确定车辆200接近施工区。
在一些实施例中,如果在框1506处确定车辆不接近施工区,则方法1500可返回到步骤1502,并且可随着时间的推移继续采集道路的额外的图像。
在一些实施例中,如果在框1506处确定车辆接近施工区,则方法1500可前进到步骤1508。在步骤1508,在一些实施例中,根据车辆接近施工区的确定,系统输出指示车辆接近施工区的信号。在一些实施例中,由系统100输出的信号可以是电信号或电消息,其向系统的任何组件或向任何相关联的系统通知施工区被检测到。例如,信号可被发送到与系统相关联的显示器系统,或者信号可被发送到与系统在通信上耦合的任何其他本地系统或远程系统。在一些实施例中,信号可由车辆的驾驶者察觉。例如,信号可以是可见的信号(诸如计算机或娱乐系统显示器上的发光指示物或显示元素)、由扬声器系统发出的可听信号和/或诸如振动的触觉信号。
在步骤1510,在一些实施例中,根据车辆接近施工区的确定,系统使移动的车辆能够根据施工区指示物移动。在一些实施例中,响应于车辆接近施工区的确定,系统可使车辆根据所检测到的施工区指示物加速、减速、转向或以其他方式受控和移动。在一些实施例中,车辆可自动减速到降低的速率,以增加安全性。在一些实施例中,可使车辆转向或改变车道,以便跟随施工区车道线,避免圆锥体/圆筒体/杆/障碍物或其他施工区指示物,或者跟随在指示施工区或与其相关联的路标志上所指示的指令。在图13的示例中,系统100可修改车辆200的行进的进程,使得车辆200根据施工区车道线1326跟随所检测到的车道限制1314(而不是根据车道线1324所检测到的车道限制1312),避开圆锥体1316并遵守交通标志1318(其包括指示车辆200向左合并的符号)。在一些实施例中,可使车辆200相应地从车道1304向左合并到车道1302中。
在步骤1512,在一些实施例中,系统基于一个或多个指示物确定施工区是否是复杂的施工区。在一些实施例中,复杂的施工区可以是具有一个或多个预定的或动态确定的特性的施工区,该预定的或动态确定的特性通过系统与施工区相关联,在该施工区中车辆的自主控制和/或驾驶者辅助控制可能是不安全的,其中,车辆的自主控制和/或驾驶者辅助控制可能是不可靠的或不可信赖的,或者其中,车辆的控制应返回给车辆的驾驶者。在一些实施例中,复杂的施工区可以是车辆行驶于其上或其中的车道中或道路上存在阻碍的施工区。在一些实施例中,复杂的施工区可以是预定或动态确定的阈值数量的圆锥体/圆筒体/杆/障碍物或其他施工区指示物在彼此的阈值距离或阈值时间内被检测到的施工区。也就是说,在一些实施例中,当施工区被密集填充了施工区指示物时,其可被确定为复杂的施工区。在图13的示例中,在一些实施例中,道路1300可基于道路1300上的圆锥体1316的存在、车道1304中的圆锥体1316、所检测到的圆锥体1316的最小阈值数量、和所检测到的总的施工区指示物的最小阈值数量,由系统100确定为包含复杂的施工区。
在一些实施例中,如果在框1512处确定施工区不是复杂的施工区,则方法1500可返回到步骤1502,并可随着时间的推移继续采集道路的额外的图像。
在一些实施例中,如果在框1512处确定施工区是复杂的施工区,则方法1500可前进到步骤1514。在步骤1514,在一些实施例中,根据施工区是复杂的施工区的确定,系统可禁用自动车辆控制功能。在一些实施例中,驾驶者辅助功能可被禁用。在一些实施例中,完全自动驾驶功能可被禁用。在一些实施例中,车辆200的全部控制(例如,加速、减速、转向等)可由系统100返回给车辆200的驾驶者。
出于说明的目的呈现了以上描述。该描述并不详尽,但不限于公开的精确形式或实施例。从公开的实施例的规范和实践的考虑,修改和调整对于本领域中的那些技术人员来说将是明显的。另外,虽然公开的实施例的方面被表述为储存在存储器中,但本领域中的技术人员将认识到,这些方面也可储存在诸如二级储存设备的其他类型的计算机可读媒介中,例如,硬盘或cdrom,或者其他形式的ram或rom、usb媒介、dvd、blu-ray、或其他光驱动媒介。
基于书面的描述和公开的方法的计算机编程在有经验的开发人员的技能的范围内。各种程序或程序模块可使用与本领域中的技术人员已知的任何技术来创建,或者可结合现有的软件来设计。例如,程序段或程序模块能够采用或通过.netframework、.netcompactframework(和有关的语言,诸如visualbasic、c等)、java、c++、面向对象的c、html、html/ajax的组合、xml、或包括java小程序的html的方法来设计。此外,应理解的是,本文中所描写的程序模块的功能不限于本文中所命名的特定类型的程序模块,而是可在一个或多个模块或其他软件结构之间以任何合适的方式来编程。
另外,虽然已经在本文中对说明性的实施例进行了描述,但实施例中的任意一个实施例或全部实施例的范围具有如本领域中的那些技术人员基于本公开将所认识到的等效的元素、修改、省略、组合(例如,跨各个实施例的方面的组合)、调整和/或改变。权利要求中的限制基于权利要求中所采用的语言被广泛解释,并且不限于在本说明书或在申请的贯彻期间所描述的示例。示例被解释为非排他性。此外,公开的方法的步骤能够以任何方式修改,包括通过重新排序步骤以及/或者插入或删除步骤。因此,意图是说明书和示例被认为仅用于说明,真实范围和精神由随附的权利要求及其等效形式的全部范围指示。