CN115004257A - 用于涉及交通灯和交通标志的交通工具导航的系统和方法 - Google Patents

用于涉及交通灯和交通标志的交通工具导航的系统和方法 Download PDF

Info

Publication number
CN115004257A
CN115004257A CN202180005118.1A CN202180005118A CN115004257A CN 115004257 A CN115004257 A CN 115004257A CN 202180005118 A CN202180005118 A CN 202180005118A CN 115004257 A CN115004257 A CN 115004257A
Authority
CN
China
Prior art keywords
vehicle
traffic
vehicles
traffic light
road
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180005118.1A
Other languages
English (en)
Inventor
盖尔·奥伦
萨希·莱维
乔纳森·巴莱夫
大卫·休伯曼
阿迪娜·黑尔布伦
丹尼尔·沃尔夫
巴拉克·沙舒亚
约拉姆·格达利亚胡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mobileye Vision Technologies Ltd
Original Assignee
Mobileye Vision Technologies Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mobileye Vision Technologies Ltd filed Critical Mobileye Vision Technologies Ltd
Priority to CN202210903624.9A priority Critical patent/CN115719481A/zh
Priority to CN202210903625.3A priority patent/CN115761688A/zh
Priority to CN202210903659.2A priority patent/CN115719482A/zh
Publication of CN115004257A publication Critical patent/CN115004257A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096791Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is another vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

提供了用于交通工具导航的系统和方法。在一个实现中,一种用于导航交通工具的系统可以包括至少一个处理器,其被配置成接收第一图像帧;在第一图像帧中检测交通灯的表示,并且确定与被包括在交通灯上的灯相关联的颜色状态。所述至少一个处理器可接收包括所述至少一个交通灯的表示的附加图像帧;以及基于所述第一图像帧与所述附加图像帧的比较来确定所述至少一个交通灯是否包括闪烁灯。如果所述至少一个交通灯包括闪烁灯,则处理器可以根据所述确定并且还基于闪烁灯的检测到的颜色状态来使交通工具实现相对于交通灯的导航动作。

Description

用于涉及交通灯和交通标志的交通工具导航的系统和方法
相关申请的交叉引用
本申请要求美国临时申请No. 63/024,591(于2020年5月14日提交);美国临时申请No. 63/038,235(于2020年6月12日提交);美国临时申请No. 63/135,440(于2021年1月8日提交)的优先权的权益。前述申请通过引用以其整体而被结合在本文中。
技术领域
本公开一般涉及自主交通工具导航。
背景技术
随着技术不断进步,能够在道路上导航的全自主交通工具的目标即将实现。自主交通工具可能需要考虑多种因素,并且基于那些因素做出适当判定,以安全且准确地到达预计目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如从摄像机所捕获的信息),并且还可能使用从其它来源(例如从GPS装置、速度传感器、加速计、悬架传感器等)所获得的信息。同时,为了导航到目的地,自主交通工具还可能需要标识它在特定道路内的位置(例如多车道道路内的特定车道),与其它交通工具并排导航,避开障碍物和行人,观察交通信号和标志,并且在适当十字路口或立交桥从一个道路行驶到另一个道路。利用和解释由自主交通工具在交通工具行驶到其目的地时所收集的大量信息造成许多设计挑战。自主交通工具可能需要分析、访问和/或存储的大量数据(例如所捕获的图像数据、地图数据、GPS数据、传感器数据等)造成实际上可能限制或者甚至不利地影响自主导航的挑战。此外,如果自主交通工具依靠传统绘图技术进行导航,则存储和更新地图所需的大量数据造成巨大挑战。
发明内容
根据本公开的实施例提供了用于自主交通工具导航的系统和方法。所公开的实施例可以使用摄像机来提供自主交通工具导航特征。例如,根据所公开的实施例,所公开的系统可以包括监测交通工具的环境的一个、两个或更多个摄像机。所公开的系统可以基于例如对由摄像机中的一个或多个摄像机所捕获的图像的分析来提供导航响应。
在实施例中,一种用于导航交通工具的系统可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收由图像捕获装置获取的第一图像帧,其中所述第一图像帧表示所述交通工具的环境,所述环境包括至少一个交通灯;在所述第一图像帧中检测所述至少一个交通灯的表示并且确定与被包括在所述至少一个交通灯上的一个或多个灯相关联的颜色状态;接收由所述图像捕获装置获取的至少一个附加图像帧,其中所述至少一个附加图像帧包括所述至少一个交通灯的表示;基于所述第一图像帧的至少一部分与所述至少一个附加图像帧的至少一部分的比较来确定所述至少一个交通灯是否包括闪烁灯;以及如果确定所述至少一个交通灯包括闪烁灯,则使所述交通工具根据所述至少一个交通灯包括闪烁灯的所述确定并且还基于所述闪烁灯的检测到的颜色状态来相对于所述至少一个交通灯实现导航动作。
在实施例中,一种用于导航交通工具的方法可包括:接收由图像捕获装置获取的第一图像帧,其中所述第一图像帧表示所述交通工具的环境,所述环境包括至少一个交通灯;在所述第一图像帧中检测所述至少一个交通灯的表示并且确定与被包括在所述至少一个交通灯上的一个或多个灯相关联的颜色状态;接收由所述图像捕获装置获取的至少一个附加图像帧,其中所述至少一个附加图像帧包括所述至少一个交通灯的表示;基于所述第一图像帧的至少一部分与所述至少一个附加图像帧的至少一部分的比较来确定所述至少一个交通灯是否包括闪烁灯;以及如果确定所述至少一个交通灯包括闪烁灯,则使所述交通工具根据所述至少一个交通灯包括闪烁灯的所述确定并且还基于所述闪烁灯的检测到的颜色状态来相对于所述至少一个交通灯实现导航动作。
在实施例中,一种用于生成供交通工具导航使用的众包地图的系统可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;确定与所述交叉口相关联的至少一条停止线的位置;基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;将所述路段的两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组进行链接;在所述众包地图中存储所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接的表示;以及使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
在实施例中,一种用于生成供交通工具导航使用的众包地图的方法可包括:接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;确定与所述交叉口相关联的至少一条停止线的位置;基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;将所述路段的两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组进行链接;在所述众包地图中存储所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接的表示;以及使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
在实施例中,一种用于生成供交通工具导航使用的众包地图的系统可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;确定与所述交叉口相关联的至少一条停止线的位置;基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;在所述众包地图中存储所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组的表示;以及使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
在实施例中,一种用于生成供交通工具导航使用的众包地图的方法可包括:接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;确定与所述交叉口相关联的至少一条停止线的位置;基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;在所述众包地图中存储所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组的表示;以及使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
在实施例中,一种用于导航主交通工具的系统可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;检测所获取的图像中的至少一个交通灯的表示;访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储沿所述路段的一个或多个可行驶路径和与所述一个或多个可行驶路径中的每个可行驶路径相关的逻辑交通灯组之间的链接;基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通灯是否与所述主交通工具正沿其行驶的可行驶路径相关;以及响应于在所获取的图像中检测到的所述至少一个交通灯与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通灯的检测到的状态采取至少一个导航动作。
在实施例中,一种用于导航主交通工具的方法可包括:接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;检测所获取的图像中的至少一个交通灯的表示;访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储沿所述路段的一个或多个可行驶路径和与所述一个或多个可行驶路径中的每个可行驶路径相关的逻辑交通灯组之间的链接;基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通灯是否与所述主交通工具正沿其行驶的可行驶路径相关;以及响应于在所获取的图像中检测到的所述至少一个交通灯与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通灯的检测到的状态采取至少一个导航动作。
在实施例中,一种用于生成供交通工具导航使用的众包地图的系统可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与多个交通标志相关联;基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的两个或更多个可行驶路径;在所述众包地图中存储所生成的两个或更多个可行驶路径;基于对从所述多个交通工具收集的所述驾驶信息的分析,确定所述多个交通标志中的特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关;在所述众包地图中存储所述多个交通标志中的哪些交通标志与所述两个或更多个可行驶路径中的每一个可行驶路径相关的指示;以及使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通标志进行导航。
在实施例中,一种用于生成供交通工具导航使用的众包地图的方法可包括:接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与多个交通标志相关联;基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的两个或更多个可行驶路径;在所述众包地图中存储所生成的两个或更多个可行驶路径;基于对从所述多个交通工具收集的所述驾驶信息的分析,确定所述多个交通标志中的特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关;在所述众包地图中存储所述多个交通标志中的哪些交通标志与所述两个或更多个可行驶路径中的每一个可行驶路径相关的指示;以及使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通标志进行导航。
在实施例中,一种用于导航主交通工具的系统可包括至少一个处理器,所述至少一个处理器包括电路和存储器。所述存储器可包括指令,所述指令在由所述电路执行时使所述至少一个处理器:接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;检测所获取的图像中的至少一个交通标志的表示;访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储映射的交通标志与存储在所述众包地图中的某些可行驶路径的相关性的指示符;基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通标志是否与所述主交通工具正沿其行驶的可行驶路径相关;以及响应于在所获取的图像中检测到的所述至少一个交通标志与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通标志采取至少一个导航动作。
在实施例中,一种用于导航主交通工具的方法可包括:接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;检测所获取的图像中的至少一个交通标志的表示;访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储映射的交通标志与存储在所述众包地图中的某些可行驶路径的相关性的指示符;基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通标志是否与所述主交通工具正沿其行驶的可行驶路径相关;以及响应于在所获取的图像中检测到的所述至少一个交通标志与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通标志采取至少一个导航动作。
根据其它所公开的实施例,非瞬态计算机可读存储介质可以存储程序指令,所述程序指令由至少一个处理装置执行并且执行本文描述的方法中的任一项。
前面的一般描述和下面的详细描述仅是示例性和解释性的,并不是限制权利要求。
附图说明
结合在本公开中并且构成本公开的一部分的附图示出各个所公开实施例。在附图中:
图1是按照所公开实施例的示例性系统的图解表示。
图2A是包括按照所公开实施例的系统的示例性交通工具的图解侧视图表示。
图2B是按照所公开实施例、图2所示的交通工具和系统的图解顶视图表示。
图2C是包括按照所公开实施例的系统的交通工具的另一个实施例的图解顶视图表示。
图2D是包括按照所公开实施例的系统的交通工具的又一个实施例的图解顶视图表示。
图2E是包括按照所公开实施例的系统的交通工具的又一个实施例的图解顶视图表示。
图2F是按照所公开实施例的示例性交通工具控制系统的图解表示。
图3A是按照所公开实施例、包括后视镜以及用于交通工具成像系统的用户接口的交通工具内部的图解表示。
图3B是按照所公开实施例、配置成在后视镜后面并倚靠交通工具挡风玻璃所定位的摄像机支架的示例的图示。
图3C是按照所公开实施例、从不同角度的图3B所示摄像机支架的图示。
图3D是按照所公开实施例、配置成在后视镜后面并倚靠交通工具挡风玻璃所定位的摄像机支架的示例的图示。
图4是按照所公开实施例、配置成存储用于执行一个或多个操作的指令的存储器的示例性框图。
图5A是示出按照所公开实施例、基于单目图像分析来引起一个或多个导航响应的示例性过程的流程图。
图5B是示出按照所公开实施例、检测图像集合中的一个或多个交通工具和/或行人的示例性过程的流程图。
图5C是示出按照所公开实施例、检测图像集合中的道路标记和/或车道几何信息的示例性过程的流程图。
图5D是示出按照所公开实施例、检测图像集合中的交通灯的示例性过程的流程图。
图5E是示出按照所公开实施例、基于交通工具路径来引起一个或多个导航响应的示例性过程的流程图。
图5F是示出按照所公开实施例、确定前行交通工具(leading vehicle)是否正变更车道的示例性过程的流程图。
图6是示出按照所公开实施例、基于立体图像分析来引起一个或多个导航响应的示例性过程的流程图。
图7是示出按照所公开实施例、基于对三组图像的分析来引起一个或多个导航响应的示例性过程的流程图。
图8示出按照所公开实施例、用于提供自主交通工具导航的稀疏地图。
图9A示出按照所公开实施例的路段的一部分的多项式表示。
图9B示出按照所公开实施例的三维空间中的曲线,该曲线表示稀疏地图中包含的交通工具对特定路段的目标轨迹。
图10示出按照所公开实施例、可被包含在稀疏地图中的示例路标。
图11A示出按照所公开实施例的轨迹的多项式表示。
图11B和图11C示出按照所公开实施例、沿多车道道路的目标轨迹。
图11D示出按照所公开实施例的示例道路签名简档。
图12是按照所公开实施例的系统的示意图,该系统将从多个交通工具所接收的众包数据(crowd sourcing data)用于自主交通工具导航。
图13示出按照所公开实施例、通过多个三维样条所表示的示例自主交通工具道路导航模型。
图14示出按照所公开实施例、从组合来自多次驾驶的位置信息所生成的地图概略图(map skeleton)。
图15示出按照所公开实施例、两次驾驶与作为路标的示例标志纵向对齐的示例。
图16示出按照所公开实施例、多次驾驶与作为路标的示例标志纵向对齐的示例。
图17是按照所公开实施例、使用摄像机、交通工具和服务器来生成驾驶数据的系统的示意图。
图18是按照所公开实施例、用于众包稀疏地图的系统的示意图。
图19是示出按照所公开实施例、生成沿路段的自主交通工具导航的稀疏地图的示例性过程的流程图。
图20示出按照所公开实施例的服务器的框图。
图21示出按照所公开实施例的存储器的框图。
图22示出按照所公开实施例、聚类与交通工具关联的交通工具轨迹的过程。
图23示出按照所公开实施例的交通工具的导航系统,该导航系统可用于自主导航。
图24A、图24B、图24C和图24D示出按照所公开实施例、可被检测的示例性车道标记。
图24E示出按照所公开实施例的示例性映射车道标记。
图24F示出按照所公开实施例、与检测车道标记关联的示例性异常。
图25A示出按照所公开实施例、基于映射车道标记的导航的交通工具周围环境的示例性图像。
图25B示出按照所公开实施例、交通工具在道路导航模型中基于映射车道标记的横向定位校正。
图25C和25D提供了用于使用稀疏地图中所包括的映射特征来沿着目标轨迹定位主交通工具的定位技术的概念表示。
图26A是示出根据所公开的实施例的用于映射车道标记以供自主交通工具导航使用的示例性过程的流程图。
图26B是示出根据所公开的实施例的用于使用映射的车道标记沿着路段自主导航主交通工具的示例性过程的流程图。
图27示出根据所公开的实施例的用于交通工具导航的示例性系统。
图28是根据所公开的实施例的在十字路口处的示例性交通工具的示意图。
图29A是示出根据所公开的实施例的用于交通工具导航的示例性过程的流程图。
图29B是示出根据所公开的实施例的用于更新道路导航模型的示例性过程的流程图。
图29C是示出根据所公开的实施例的用于交通工具导航的示例性过程的流程图。
图30A是根据所公开的实施例的包括十字路口的道路的示意图。
图30B是根据所公开的实施例的用于确定交通工具相对于交通灯的位置的三角测量技术的示意图。
图31A和31B是根据所公开的实施例的确定交通工具的导航的时间相关变量的说明性曲线图。
图32是与根据所公开的实施例的用于更新自主交通工具道路导航模型的说明性过程。
图33是根据所公开的实施例的用于选择和实现导航动作的说明性过程。
图34A示出根据所公开的实施例的表示主交通工具的环境的示例图像。
图34B示出根据所公开的实施例的可以在图像中检测到的交通灯的示例表示。
图34C示出根据所公开的实施例的可以在后续图像中捕获的交通灯的表示。
图35示出根据所公开的实施例的用于基于交通工具的运动历史来确定与交通信号灯相关联的图像的一部分的示例技术。
图36是示出根据所公开的实施例的用于采集稀疏地图的数据的示例过程的流程图。
图37A示出根据所公开的实施例的可以确定交通灯相关性的示例性交叉口。
图37B示出根据所公开的实施例的交通灯的示例分组。
图37C示出根据所公开的实施例的可与交叉口相关联的示例性可行驶路径。
图38A是示出根据所公开的实施例的用于生成供交通工具导航使用的众包地图的示例过程的流程图。
图38B是示出根据所公开的实施例的用于生成供交通工具导航使用的众包地图的示例过程的流程图。
图39是示出根据所公开的实施例的用于导航主交通工具的示例过程的流程图。
图40示出根据所公开的实施例的表示主交通工具的环境的示例图像。
图41示出根据所公开的实施例的示例路段,沿着该路段可以确定交通标志的相关性。
图42是示出根据所公开的实施例的用于生成供交通工具导航使用的众包地图的示例过程的流程图。
图43是示出根据所公开的实施例的用于导航主交通工具的示例过程的流程图。
具体实施方式
以下详细描述参照附图。在可能的情况下,相同参考标号在附图和以下描述中用来表示相同或相似部件。虽然本文描述若干说明性实施例,但是修改、自适应和其它实现是可能的。例如,可对附图所示的组件进行置换、添加或修改,并且可通过对所公开方法置换、重排序、去除或添加步骤来修改本文所述的说明性方法。相应地,以下详细描述并不局限于所公开的实施例和示例。适当范围而是通过所附权利要求书来限定。
自主交通工具概述
如本公开通篇所使用的术语“自主交通工具”表示能够在无需驾驶员输入的情况下实现至少一个导航变更的交通工具。“导航变更”表示交通工具的转向、制动或者加速度的一个或多个的变化。要成为自主的,交通工具无需是全自动的(例如没有驾驶员或者没有驾驶员输入的全面操作)。自主交通工具而是包括能够在某些时间段期间在驾驶员控制下以及在其它时间段期间在没有驾驶员控制的情况下进行操作的那些交通工具。自主交通工具还可包括一些交通工具,所述交通工具仅控制交通工具导航的一些方面,例如转向(例如以将交通工具路线保持在交通工具车道约束之间),而可将其它方面留给驾驶员(例如制动)。在一些情况下,自主交通工具可操控交通工具的制动、速度控制和/或转向的部分或全部方面。
由于人类驾驶员通常依靠视觉线索和观察来控制交通工具,因此相应地构建运输基础设施,其中车道标记、交通标志和交通灯全部设计成向驾驶员提供视觉信息。鉴于运输基础设施的这些设计特性,自主交通工具可包括摄像机和处理单元,该处理单元分析从交通工具的环境所捕获的视觉信息。视觉信息可包括例如驾驶员可观察的运输基础设施的组件(例如车道标记、交通标志、交通灯等)以及其它障碍物(例如其它交通工具、行人、碎片等)。另外,自主交通工具还可使用所存储信息,例如在导航时提供交通工具环境的模型的信息。例如,交通工具可在正行驶的同时使用GPS数据、传感器数据(例如来自加速计、速度传感器、悬架传感器等)和/或其它地图数据来提供与其环境相关的信息,并且交通工具(以及其它交通工具)可使用该信息在模型上定位自身。
在本公开的一些实施例中,自主交通工具可使用进行导航的同时所获得(例如来自摄像机、GPS装置、加速计、速度传感器、悬架传感器等)的信息。在其它实施例中,自主交通工具可在进行导航的同时使用交通工具(或其它交通工具)从以往导航所获得的信息。在又一些实施例中,自主交通工具可使用进行导航的同时所获得的信息以及从以往导航所获得的信息的组合。以下部分提供按照所公开实施例的概述,之后接着按照该系统的前向成像系统和方法的概述。以下部分公开用于构建、使用和更新自主交通工具导航的稀疏地图的系统和方法。
系统概述
图1是按照所公开示例性实施例的系统100的框图表示。系统100根据特定实现的要求可包括各种组件。在一些实施例中,系统100可包括处理单元110、图像获取单元120、位置传感器130、一个或多个存储器单元140和150、地图数据库160、用户接口170和无线收发器172。处理单元110可包括一个或多个处理装置。在一些实施例中,处理单元110可包括应用处理器180、图像处理器190或者任何其它适当处理装置。类似地,图像获取单元120根据特定应用的要求可包括任何数量的图像获取装置和组件。在一些实施例中,图像获取单元120可包括一个或多个图像捕获装置(例如摄像机),例如图像捕获装置122、图像捕获装置124和图像捕获装置126。系统100还可包括数据接口128,该数据接口128在通信上将处理单元110连接到图像获取装置120。例如,数据接口128可包括一个或多个任何有线和/或无线链路,以用于将图像获取装置120所获取的图像数据传送给处理单元110。
无线收发器172可包括一个或多个装置,所述装置配置成通过使用射频、红外频率、磁场或电场经由空中接口交换对一个或多个网络(例如蜂窝、因特网等)的传输。无线收发器172可使用任何已知标准来传送和/或接收数据(例如Wi-Fi、Bluetooth®、BluetoothSmart、802.15.4、ZigBee等)。这类传输能够包括从主交通工具到一个或多个远程定位服务器的通信。这类传输还可包括主交通工具与主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如以促进考虑到或者连同主交通工具的环境中的目标交通工具一起的主交通工具的导航的协调)或者甚至对发射交通工具附近的未指定接收方的广播传输。
应用处理器180和图像处理器190均可包括各种类型的处理装置。例如,应用处理器180和图像处理器190的任一个或两者均可包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理器(CPU)、支持电路、数字信号处理器、集成电路、存储器或者适合于运行应用并且适合于图像处理和分析的任何其它类型的装置。在一些实施例中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动装置微控制器、中央处理器等。可使用各种处理装置,包括例如从诸如Intel®、AMD®等的制造商可获得的处理器或者从诸如NVIDIA®、ATI®等的制造商可获得的GPU,并且可包括各种架构(例如x86处理器、ARM®等)。
在一些实施例中,应用处理器180和/或图像处理器190可包括从Mobileye®可获得的EyeQ系列的处理器芯片的任一个。这些处理器设计各自包括多个处理单元,其中具有本地存储器和指令集。这类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,EyeQ2®使用工作在332 Mhz的90 nm-微技术。EyeQ2®架构包括两个浮点超线程32位RISC CPU(MIPS32® 34K®核心)、五个视觉计算引擎(VCE)、三个向量微码处理器(VMP®)、Denali 64位移动DDR控制器、128位内部Sonics互连、双16位视频输入和18位视频输出控制器、 16通道DMA和若干外设。MIPS34K CPU管理五个VCE、三个VMP™和DMA、第二MIPS34K CPU和多通道DMA以及其它外设。五个VCE、三个VMP®和MIPS34K CPU能够执行多功能捆绑应用所要求的密集视觉计算。在另一个示例中,EyeQ3®是第三代处理器并且比EyeQ2®要强六倍,它可用于所公开实施例中。在其它示例中,EyeQ4®和/或EyeQ5®可用于所公开实施例中。当然,任何较新或将来EyeQ处理装置也可连同所公开实施例一起使用。
本文所公开的处理装置的任一个可配置成执行某些功能。将处理装置(例如所述EyeQ处理器或者另一控制器或微处理器的任一个)配置成执行某些功能可包括对计算机可执行指令的编程,并且使这些指令是处理装置在操作期间可用于执行的。在一些实施例中,配置处理装置可包括采用架构指令直接对处理装置进行编程。例如,可使用例如一个或多个硬件描述语言(HDL)来配置处理装置(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。
在其它实施例中,配置处理装置可包括在存储器上存储可执行指令,该存储器是处理装置在操作期间可访问的。例如,处理装置可在操作期间访问存储器,以获得和执行所存储指令。在任一种情况下,配置成执行本文所公开的感测、图像分析和/或导航功能的处理装置表示控制主交通工具的多个基于硬件的组件的专用基于硬件的系统。
虽然图1示出处理单元110中包含的两个独立处理装置,但是可使用更多或更少的处理装置。例如,在一些实施例中,单个处理装置可用来完成应用处理器180和图像处理器190的任务。在其它实施例中,这些任务可由多于两个处理装置来执行。此外,在一些实施例中,系统100可包括处理单元110的一个或多个,而没有包括其它组件(例如图像获取单元120)。
处理单元110可包括各种类型的装置。例如,处理单元110可包括各种装置,例如控制器、图像处理器、中央处理器(CPU)、图形处理单元(GPU)、支持电路、数字信号处理器、集成电路、存储器或者用于图像处理和分析的任何其它类型的装置。图像预处理器可包括视频处理器,以用于捕获、数字化和处理来自图像传感器的影像。CPU可包括任何数量的微控制器或微处理器。GPU还可包括任何数量的微控制器或微处理器。支持电路可以是本领域一般众所周知的任何数量的电路,包括高速缓存、电力供应装置、时钟和输入-输出电路。存储器可存储软件,所述软件在由处理器执行时控制系统的操作。存储器可包括数据库和图像处理软件。存储器可包括任何数量的随机存取存储器、只读存储器、闪速存储器、磁盘驱动器、光存储装置、磁带存储装置、可拆卸存储装置和其它类型的存储装置。在一个实例中,存储器可与处理单元110分离。在另一个实例中,存储器可被集成到处理单元110中。
每个存储器140、150可包括软件指令,所述软件指令在由处理器(例如应用处理器180和/或图像处理器190)执行时可控制系统100的各个方面的操作。这些存储器单元可包括各种数据库和图像处理软件以及已训练系统(例如神经网络或深度神经网络)。存储器单元可包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、磁盘驱动器、光存储装置、磁带存储装置、可拆卸存储装置和/或其它类型的存储装置。在一些实施例中,存储器单元140、150可与应用处理器180和/或图像处理器190分离。在其它实施例中,这些存储器单元可被集成到应用处理器180和/或图像处理器190中。
位置传感器130可包括适合于确定与系统100的至少一个组件关联的位置的任何类型的装置。在一些实施例中,位置传感器130可包括GPS接收器。这类接收器能够通过处理全球定位系统卫星所广播的信号来确定用户位置和速度。可使来自位置传感器130的位置信息是应用处理器180和/或图像处理器190可用的。
在一些实施例中,系统100可包括组件,例如用于测量交通工具200的速度的速度传感器(例如转速计、速度计)和/或用于测量交通工具200的加速度的加速计(单轴或多轴)。
用户接口170可包括适合于向系统100的一个或多个用户提供信息或者从系统100的一个或多个用户接收输入的任何装置。在一些实施例中,用户接口170可包括用户输入装置,包括例如触摸屏、话筒、键盘、指针装置、轨迹轮、摄像机、旋钮、按钮等。通过这类输入装置,用户可以能够通过键入指令或信息、提供语音命令、使用按钮、指针或眼球跟踪能力在屏幕上选择菜单选项或者通过用于向系统100传递信息的任何其它适当技术,向系统100提供信息输入或命令。
用户接口170可配备有一个或多个处理装置,所述处理装置配置成向/从用户提供/接收信息,并且处理那个信息以供例如应用处理器180使用。在一些实施例中,这类处理装置可执行指令,以用于识别和跟踪眼球移动、接收和解释语音命令、识别和解释触摸屏上进行的触摸和/或手势、响应键盘输入或菜单选择等。在一些实施例中,用户接口170可包括显示器、扬声器、触觉装置和/或用于向用户提供输出信息的任何其它装置。
地图数据库160可包括任何类型的数据库,以用于存储对系统100有用的地图数据。在一些实施例中,地图数据库160可包括与参考坐标系中的位置相关的各种物品(包括道路、水特征、地理特征、商务、感兴趣点、餐饮、加油站等)的数据。地图数据库160可以不仅存储这类物品的位置,而且还存储与那些物品相关的描述符,包括例如与所存储特征的任一个关联的名称。在一些实施例中,地图数据库160可在物理上随系统100的其它组件来定位。作为替代或补充,地图数据库160或者其一部分可相对系统100的其它组件(例如处理单元110)远程定位。在这类实施例中,可通过到网络的有线或无线数据连接(例如通过蜂窝网络和/或因特网等)来下载来自地图数据库160的信息。在一些情况下,地图数据库160可存储稀疏数据模型,该稀疏数据模型包含主交通工具的某些道路特征(例如车道标记)或目标轨迹的多项式表示。下面参照图8-19来论述生成这种地图的系统和方法。
图像捕获装置122、124和126各自可包括适合于从环境捕获至少一个图像的任何类型的装置。此外,任何数量的图像捕获装置可用来获取图像以供输入到图像处理器。一些实施例可以仅包括单图像捕获装置,而其它实施例可包括两个、三个或者甚至四个或更多图像捕获装置。下面将参照图2B-2E进一步描述图像捕获装置122、124和126。
系统100或者其各种组件可被结合到各种不同平台中。在一些实施例中,系统100可被包含在交通工具200上,如图2A所示。例如,交通工具200可配备有处理单元110以及系统100的其它组件的任一个,如以上相对于图1所述。虽然在一些实施例中,交通工具200可以仅配备有单图像捕获装置(例如摄像机),但是在诸如结合图2B-2E所述实施例等的其它实施例中,可使用多个图像捕获装置。例如,如图2A所示,交通工具200的图像捕获装置122和124的任一个可以是ADAS(高级驾驶员辅助系统)成像集合的组成部分。
作为图像获取单元120的组成部分被包含在交通工具200上的图像捕获装置可定位在任何适当位置。在一些实施例中,如图2A-2E和图3A-3C所示,图像捕获装置122可位于后视镜附近。这个位置可提供与交通工具200的驾驶员相似的视线,这可帮助确定驾驶员可见和不可见的内容。图像捕获装置122可被定位在后视镜附近的任何位置,但是将图像捕获装置122放置在后视镜的驾驶员侧可进一步帮助获得代表驾驶员的视场和/或视线的图像。
也可使用图像捕获单元120的图像捕获装置的其它位置。例如,图像捕获装置124可位于交通工具200的保险杠之上或之中。这种位置可特别适合于具有宽视场的图像捕获装置。保险杠定位的图像捕获装置的视线能够与驾驶员的视线不同,并且因此保险杠图像捕获装置和驾驶员可能不一定看到相同对象。图像捕获装置(例如图像捕获装置122、124和126)还可位于其它位置。例如,图像捕获装置可位于交通工具200的侧镜之一或两者之上或之中、交通工具200的车顶上、交通工具200的发动机罩上、交通工具200的后备箱上、交通工具200的侧面,安装在交通工具200的车窗的任一个之上、定位在其后面或者定位在其正面,以及安装在交通工具200的正面和/或背面上的光象之中或附近等。
除了图像捕获装置之外,交通工具200还可包括系统100的各种其它组件。例如,处理单元110可被包含在交通工具200上,与交通工具的发动机控制单元(ECU)集成或者分离。交通工具200还可配备有位置传感器130(例如GPS接收器),并且还可包括地图数据库160以及存储器单元140和150。
如先前所述,无线收发器172可以和/或通过一个或多个网络(例如蜂窝网络、因特网等)接收数据。例如,无线收发器172可向一个或多个服务器上传系统100所收集的数据,并且从一个或多个服务器下载数据。经由无线收发器172,系统100可接收对地图数据库160、存储器140和/或存储器150中存储的数据的周期或按需更新。类似地,无线收发器172可从系统100向一个或多个服务器上传任何数据(例如图像获取单元120所捕获的图像、位置传感器130或其它传感器、交通工具控制系统等所接收的数据)和/或处理单元110所处理的任何数据。
系统100可基于隐私等级设定向服务器(例如向云)上传数据。例如,系统100可实现隐私等级设定,以调节或限制被发送给服务器的数据的类型(包括元数据),所述数据可唯一地标识交通工具和/或交通工具的驾驶员/所有者。这类设定可由用户经由例如无线收发器172来设置,通过工厂缺省设定或者通过无线收发器172所接收的数据来初始化。
在一些实施例中,系统100可按照“高”隐私等级来上传数据,并且在设置设定下,系统100可传送数据(例如与路线相关的位置信息、所捕获图像等),而无需与特定交通工具和/或驾驶员/所有者有关的任何细节。例如,当按照“高”隐私设定上传数据时,系统100可以不包括交通工具标识号(VIN)或者交通工具的驾驶员或所有者的姓名,而是可传送数据,例如所捕获图像和/或与路线相关的有限位置信息。
考虑其它隐私等级。例如,系统100可按照“中间”隐私等级向服务器传送数据,并且包括“高”隐私等级下未包含的附加信息,例如交通工具的品牌和/或型号和/或交通工具类型(例如乘用车、运动型多功能车、卡车等)。在一些实施例中,系统100可按照“低”隐私等级上传数据。在“低”隐私等级设定下,系统100可上传数据,并且包括足以唯一标识特定交通工具、所有者/驾驶员和/或交通工具所行驶路线的一部分或全部的信息。这种“低”隐私等级数据可包括以下中的一个或多个:例如VIN、驾驶员/所有者姓名、交通工具出发前的起点、交通工具的预计目的地、交通工具的品牌和/或型号、交通工具的类型等。
图2A是按照所公开实施例的示例性交通工具成像系统的图解侧视图表示。图2B是图2A所示实施例的图解顶视图图示。如图2B所示,所公开实施例可包括交通工具200,该交通工具200在车身中包括系统100,其中具有定位在后视镜附近和/或交通工具200的驾驶员附近的第一图像捕获装置122、定位在交通工具200的保险杠区域(例如保险杠区域210之一)之上或之中的第二图像捕获装置124以及处理单元110。
如图2C所示,图像捕获装置122和124均可定位在后视镜附近和/或交通工具200的驾驶员附近。另外,虽然在图2B和图2C中示出两个图像捕获装置122和124,但是应当理解,其它实施例可包括多于两个图像捕获装置。例如,在图2D和图2E所示的实施例中,第一、第二和第三图像捕获装置122、124和126被包含在交通工具200的系统100中。
如图2D所示,图像捕获装置122可定位在后视镜附近和/或交通工具200的驾驶员附近,以及图像捕获装置124和126可定位在交通工具200的保险杠区域(例如保险杠区域210之一)之上或之中。以及如图2E所示,图像捕获装置122、124和126可定位在后视镜附近和/或交通工具200的驾驶员座椅附近。所公开实施例并不局限于图像捕获装置的任何特定数量和配置,并且图像捕获装置可定位在交通工具200之内和/或之上的任何适当位置。
要理解,所公开实施例并不局限于交通工具,而是可能应用于其它上下文。还要理解,所公开实施例并不局限于特定类型的交通工具200,而是可以可适用于所有类型的交通工具,包括汽车、卡车、拖车和其它类型的交通工具。
第一图像捕获装置122可包括任何适当类型的图像捕获装置。图像捕获装置122可包括光轴。在一个实例中,图像捕获装置122可包括具有全局快门的Aptina M9V024 WVGA传感器。在其它实施例中,图像捕获装置122可提供1280×960像素的分辨率,并且可包括卷帘快门。图像捕获装置122可包括各种光学元件。在一些实施例中,可包括一个或多个透镜,例如以便为图像捕获装置提供期望焦距和视场。在一些实施例中,图像捕获装置122可与6mm透镜或12mm透镜关联。在一些实施例中,图像捕获装置122可配置成捕获具有预期视场(FOV)202的图像,如图2D所示。例如,图像捕获装置122可配置成具有例如在40度至56度的范围之内的常规FOV,包括46度FOV、50度FOV、52度FOV或以上。备选地,图像捕获装置122可配置成具有23至40度的范围中的窄FOV,例如28度FOV或36度FOV。另外,图像捕获装置122可配置成具有100至180度的范围中的宽FOV。在一些实施例中,图像捕获装置122可包括广角保险杠摄像机或者高达180度FOV的摄像机。在一些实施例中,图像捕获装置122可以是宽高比为大约2:1(例如H×V=3800×1900像素)的7.2M像素图像捕获装置,其中具有大约100度水平FOV。这种图像捕获装置可用来代替三图像捕获装置配置。由于显著透镜失真,在图像捕获装置使用径向对称透镜的实现中,这种图像捕获装置的垂直FOV可明显小于50度。例如,这种透镜可能不是径向对称的,这允许大于50度的垂直FOV,其中具有100度水平FOV。
第一图像捕获装置122可获取相对于与交通工具200关联的场景的多个第一图像。多个第一图像的每个可作为一系列图像扫描线来获取,所述图像扫描线可使用卷帘快门来捕获。每个扫描线可包括多个像素。
第一图像捕获装置122可具有与图像扫描线的第一系列的每个的获取关联的扫描速率。扫描速率可表示图像传感器能够获取与特定扫描线中包含的每个像素关联的图像数据的速率。
图像捕获装置122、124和126可包含任何适当类型和数量的图像传感器,例如包括CCD传感器或CMOS传感器。在一个实施例中,CMOS图像传感器可连同卷帘快门一起使用,使得一行中的每个像素每次一个被读取,以及行的扫描逐行进行,直到已经捕获整个图像帧。在一些实施例中,可相对于帧从上到下顺序捕获行。
在一些实施例中,本文所公开的图像捕获装置的一个或多个(例如图像捕获装置122、124和126)可构成高分辨率成像器,并且可具有大于5M像素、7M像素、10M像素或以上的分辨率。
卷帘快门的使用可使不同行中的像素在不同时间被曝光和捕获,这可引起所捕获图像帧中的偏斜和其它图像伪影。另一方面,当图像捕获装置122配置成与全局或同步快门配合操作时,所有像素可在共同曝光周期期间被曝光相同时间量。因此,从采用全局快门的系统所收集的帧中的图像数据表示在特定时间的整个FOV(例如FOV 202)的快照。相比之下,在卷帘快门应用中,帧中的每一行被曝光,以及数据在不同时间被捕获。因此,在具有卷帘快门的图像捕获装置中,移动对象可能出现失真。下面将更详细描述这种现象。
第二图像捕获装置124和第三图像捕获装置126可以是任何类型的图像捕获装置。与第一图像捕获装置122相似,图像捕获装置124和126的每个可包括光轴。在一个实施例中,图像捕获装置124和126的每个可包括具有全局快门的Aptina M9V024 WVGA传感器。备选地,图像捕获装置124和126的每个可包括卷帘快门。与图像捕获装置122相似,图像捕获装置124和126可配置成包括各种透镜和光学元件。在一些实施例中,与关联图像捕获装置122的FOV(例如FOV 202)相比,关联图像捕获装置124和126的透镜可提供相同或更窄的FOV(例如FOV 204和206)。例如,图像捕获装置124和126可具有40度、30度、26度、23度、20度或以下的FOV。
图像捕获装置124和126可获取相对于与交通工具200关联的场景的多个第二图像和第三图像。多个第二图像和第三图像的每个可作为第二和第三系列图像扫描线来获取,所述图像扫描线可使用卷帘快门来捕获。每个扫描线或行可具有多个像素。图像捕获装置124和126可具有与第二和第三系列中包含的图像扫描线的每个的获取关联的第二和第三扫描速率。
每个图像捕获装置122、124和126可相对于交通工具200以任何适当位置和取向来定位。图像捕获装置122、124和126的相对定位可被选择成帮助将从图像捕获装置所获取的信息融合在一起。例如,在一些实施例中,关联图像捕获装置124的FOV(例如FOV 204)可与关联图像捕获装置122的FOV(例如FOV 202)和关联图像捕获装置126的FOV(例如FOV 206)部分或完全重叠。
图像捕获装置122、124和126可位于交通工具200上的任何适当相对高度。在一个实例中,图像捕获装置122、124和126之间可存在高度差,这可提供实现立体分析的充分视差信息。例如,如图2A所示,两个图像捕获装置122和124处于不同高度。图像捕获装置122、124和126之间还可存在横向位移差,从而例如给出附加视差信息以供处理单元110进行立体分析。横向位移的差可通过dx表示,如图2C和图2D所示。在一些实施例中,前或后位移(例如范围位移)可存在于图像捕获装置122、124和126之间。例如,图像捕获装置122可位于图像捕获装置124和/或图像捕获装置126后面0.5至2米或以上。这种类型的位移可使图像捕获装置之一能够覆盖其它(一个或多个)图像捕获装置的潜在盲点。
图像捕获装置122可具有任何适当分辨率能力(例如与图像传感器关联的像素的数量),以及与关联图像捕获装置124和126的(一个或多个)图像传感器的分辨率相比,关联图像捕获装置122的(一个或多个)图像传感器的分辨率可以更高、更低或相同。在一些实施例中,与图像捕获装置122和/或图像捕获装置124和126关联的(一个或多个)图像传感器可具有640×480、1024×768、1280×960的分辨率或者任何其它适当分辨率。
帧率(例如图像捕获装置在继续捕获与下一个图像帧关联的像素数据之前获取一个图像帧的像素数据集合的速率)可以是可控的。与关联图像捕获装置124和126的帧率相比,关联图像捕获装置122的帧率可以更高、更低或相同。与图像捕获装置122、124和126关联的帧率可取决于多种因素,所述因素可影响帧率的定时。例如,图像捕获装置122、124和126的一个或多个可包括在获取与图像捕获装置122、124和/或126中的图像传感器的一个或多个像素关联的图像数据之前或之后所施加的可选择像素延迟周期。一般来说,可按照装置的时钟速率来获取与每个像素对应的图像数据(例如每时钟循环一个像素)。另外,在包括卷帘快门的实施例中,图像捕获装置122、124和126的一个或多个可包括在获取与图像捕获装置122、124和/或126中的图像传感器的一行像素关联的图像数据之前或之后所施加的可选择水平消隐周期。此外,图像捕获装置122、124和126的一个或多个可包括在获取与图像捕获装置122、124和/或126的图像帧关联的图像数据之前或之后所施加的可选择垂直消隐周期。
这些定时控制可实现与图像捕获装置122、124和126关联的帧率的同步,甚至在每个的线扫描速率是不同的情况下。另外,如下面将更详细论述,这些可选择定时控制以及其它因素(例如图像传感器分辨率、最大线扫描速率等)可实现来自图像捕获装置122的FOV与图像捕获装置124和126的一个或多个FOV重叠的区域的图像捕获的同步,甚至在图像捕获装置122的视场与图像捕获装置124和126的FOV不同的情况下。
图像捕获装置122、124和126中的帧率定时可取决于关联图像传感器的分辨率。例如,假定两种装置的相似线扫描速率,如果一个装置包括分辨率为640×480的图像传感器而另一个装置包括分辨率为1280×960的图像传感器,则将要求更多时间从具有更高分辨率的传感器获取图像数据帧。
可影响图像捕获装置122、124和126中的图像数据获取的定时的另一个因素是最大线扫描速率。例如,从图像捕获装置122、124和126中包含的图像传感器获取一行图像数据将要求某个最小时间量。假定没有增加像素延迟周期,用于获取一行图像数据的这个最小时间量将与特定装置的最大线扫描速率相关。与具有更低最大线扫描速率的装置相比,提供更高最大线扫描速率的装置具有提供更高帧速率的潜力。在一些实施例中,图像捕获装置124和126的一个或多个可具有比关联图像捕获装置122的最大线扫描速率要高的最大线扫描速率。在一些实施例中,图像捕获装置124和/或126的最大线扫描速率可以是图像捕获装置122的最大线扫描速率的1.25、1.5、1.75或2倍或以上。
在另一个实施例中,图像捕获装置122、124和126可具有相同最大线扫描速率,但是图像捕获装置122可工作在小于或等于其最大扫描速率的扫描速率。该系统可配置成使得图像捕获装置124和126的一个或多个工作在等于图像捕获装置122的线扫描速率的线扫描速率。在其它实例中,该系统可配置成使得图像捕获装置124和/或图像捕获装置126的线扫描速率可以是图像捕获装置122的线扫描速率的1.25、1.5、1.75或2倍或以上。
在一些实施例中,图像捕获装置122、124和126可以是不对称的。也就是说,它们可包括具有不同视场(FOV)和焦距的摄像机。图像捕获装置122、124和126的视场可包括例如相对于交通工具200的环境的任何预期区域。在一些实施例中,图像捕获装置122、124和126的一个或多个可配置成从交通工具200正面、交通工具200后面、交通工具200侧面或者它们的组合的环境来获取图像数据。
此外,与每个图像捕获装置122、124和/或126关联的焦距可以是可选择的(例如通过包含适当透镜等),使得每个装置获取相对于交通工具200的预期距离范围处的对象的图像。例如,在一些实施例中,图像捕获装置122、124和126可获取离交通工具几米之内的特写对象的图像。图像捕获装置122、124和126还可配置成获取离交通工具更远距离的范围(例如25 m、50 m、100 m、150 m或以上)处的对象的图像。此外,图像捕获装置122、124和126的焦距可被选择成使得一个图像捕获装置(例如图像捕获装置122)能够获取相对靠近交通工具(例如10 m之内或20 m之内)的对象的图像,而其它图像捕获装置(例如图像捕获装置124和126)能够获取离交通工具200更远对象(例如大于20 m、50 m、100 m、150 m等)的图像。
按照一些实施例,一个或多个图像捕获装置122、124和126的FOV可具有广角。例如,具有140度的FOV可能是有利的,尤其对于可用来捕获交通工具200附近的区域的图像的图像捕获装置122、124和126。例如,图像捕获装置122可用来捕获交通工具200右边或左边的区域的图像,以及在这类实施例中,可期望图像捕获装置122具有宽FOV(例如至少140度)。
与图像捕获装置122、124和126的每个关联的视场可取决于相应焦距。例如,随着焦距增加,对应视场减小。
图像捕获装置122、124和126可配置成具有任何适当视场。在一个特定示例中,图像捕获装置122可具有46度的水平FOV,图像捕获装置124可具有23度的水平FOV,以及图像捕获装置126可具有23与46度之间的水平FOV。在另一个实例中,图像捕获装置122可具有52度的水平FOV,图像捕获装置124可具有26度的水平FOV,以及图像捕获装置126可具有26与52度之间的水平FOV。在一些实施例中,图像捕获装置122的FOV与图像捕获装置124和/或图像捕获装置126的FOV的比率可从1.5至2.0改变。在其它实施例中,这个比率可在1.25与2.25之间改变。
系统100可配置成使得图像捕获装置122的视场与图像捕获装置124和/或图像捕获装置126的视场至少部分或完全重叠。在一些实施例中,系统100可配置成使得图像捕获装置124和126的视场例如落入图像捕获装置122的视场之内(例如更窄)并且与图像捕获装置122的视场共享共同中心。在其它实施例中,图像捕获装置122、124和126可捕获相邻FOV,或者可在其FOV中具有部分重叠。在一些实施例中,图像捕获装置122、124和126的视场可对齐成使得较窄FOV图像捕获装置124和/或126的中心可位于较宽FOV装置122的视场的下半部。
图2F是按照所公开实施例的示例性交通工具控制系统的图解表示。如图2F所示,交通工具200可包括节流系统220、制动系统230和转向系统240。系统100可通过一个或多个数据链路(例如用于传送数据的一个或多个任何有线和/或无线链路)向节流系统220、制动系统230和转向系统240的一个或多个提供输入(例如控制信号)。例如,基于对图像捕获装置122、124和/或126所获取的图像的分析,系统100可向节流系统220、制动系统230和转向系统240的一个或多个提供控制信号,以导航交通工具200(例如通过引起加速度、转弯、车道变换等)。此外,系统100可从节流系统220、制动系统230和转向系统24的一个或多个接收指示交通工具200的操作条件(例如速度、交通工具200是否正在制动和/或转弯等)的输入。下面结合图4-7提供其它细节。
如图3A所示,交通工具200还可包括用户接口170,以用于与交通工具200的驾驶员或乘客进行交互。例如,交通工具应用中的用户接口170可包括触摸屏320、旋钮330、按钮340和话筒350。交通工具200的驾驶员或乘客还可使用手柄(例如位于交通工具200的转向柱之上或附近,包括例如转弯信号手柄)、按钮(例如位于交通工具200的方向盘上)等与系统100进行交互。在一些实施例中,话筒350可定位成与后视镜310相邻。类似地,在一些实施例中,图像捕获装置122可位于后视镜310附近。在一些实施例中,用户接口170还可包括一个或多个扬声器360(例如交通工具音频系统的扬声器)。例如,系统100可经由扬声器360提供各种通知(例如警报)。
图3B-3D是按照所公开实施例的示例性摄像机支架370的图示,该摄像机支架370配置成在后视镜(例如后视镜310)后面倚靠交通工具挡风玻璃所定位。如图3B所示,摄像机支架370可包括图像捕获装置122、124和126。图像捕获装置124和126可被定位在遮光罩(glare shield)380后面,该遮光罩380可与交通工具挡风玻璃齐平,并且包括膜和/或抗反射材料的组件。例如,遮光罩380可被定位成使得遮光罩与具有匹配斜面的交通工具挡风玻璃对齐。在一些实施例中,图像捕获装置122、124和126的每个可被定位在遮光罩380后面,如图3D所示。所公开实施例并不局限于图像捕获装置122、124和126、摄像机支架370以及遮光罩380的任何特定配置。图3C是从正面角度的图3B所示摄像机支架370的图示。
如获益于本公开的本领域的技术人员将会理解,可对以上所公开实施例进行许多变更和/或修改。例如,并非所有组件都是系统100的操作必不可少的。此外,任何组件可位于系统100的任何适当部分,并且组件可重新布置为多种配置,同时提供所公开实施例的功能性。因此,上述配置是示例,以及不管以上所述的配置,系统100能够提供大范围的功能性来分析交通工具200的周围环境,并且响应该分析而导航交通工具200。
如下面更详细论述并且按照各个所公开实施例,系统100可提供与自主驾驶和/或驾驶员辅助技术相关的多种特征。例如,系统100可分析图像数据、位置数据(例如GPS位置信息)、地图数据、速度数据和/或来自交通工具200中包含的传感器的数据。系统100可从例如图像获取单元120、位置传感器130和其它传感器来收集数据以供分析。此外,系统100可分析所收集数据,以确定交通工具200是否应当采取某个动作,并且然后自动采取所确定动作而无需人工干预。例如,当交通工具200在没有人工干预的情况下进行导航时,系统100可自动控制交通工具200的制动、加速度和/或转向(例如通过向节流系统220、制动系统230和转向系统240的一个或多个发送控制信号)。此外,系统100可分析所收集数据,并且基于对所收集数据的分析向交通工具乘员发出警告和/或警报。下面提供与系统100所提供的各个实施例有关的附加细节。
前向多成像系统
如上所述,系统100可提供使用多摄像机系统的驾驶辅助功能性。多摄像机系统可使用面向交通工具的前向的一个或多个摄像机。在其它实施例中,多摄像机系统可包括面向交通工具侧面或者交通工具后部的一个或多个摄像机。在一个实施例中,例如,系统100可使用二摄像机成像系统,其中第一摄像机和第二摄像机(例如图像捕获装置122和124)可被定位在交通工具(例如交通工具200)的正面和/或侧面。第一摄像机可具有大于、小于第二摄像机的视场或者与其部分重叠的视场。另外,第一摄像机可被连接到第一图像处理器,以执行对第一摄像机所提供的图像的单目图像分析,以及第二摄像机可被连接到第二图像处理器,以执行对第二摄像机所提供的图像的单目图像分析。第一和第二图像处理器的输出(例如经处理信息)可相组合。在一些实施例中,第二图像处理器可从第一摄像机和第二摄像机接收图像,以执行立体分析。在另一个实施例中,系统100可使用三摄像机成像系统,其中摄像机的每个具有不同视场。因此,这种系统可基于从位于交通工具的前方和侧面的变化距离的对象所得出的信息进行判定。对单目图像分析的提法可表示基于从单个视点(例如从单个摄像机)所捕获的图像来执行图像分析的实例。立体图像分析可表示基于采用图像捕获参数的一个或多个变化所捕获的两个或更多图像来执行图像分析的实例。例如,适合于执行立体图像分析的所捕获图像可包括通过下列方式所捕获的图像:从两个或更多不同位置、从不同视场、使用不同焦距、连同视差信息等。
例如,在一个实施例中,系统100可使用图像捕获装置122、124和126来实现三摄像机配置。在这种配置中,图像捕获装置122可提供窄视场(例如34度,或者从大约20至45度的范围所选的其它值等),图像捕获装置124可提供宽视场(例如150度,或者从大约100至大约180度的范围所选的其它值),以及图像捕获装置126可提供中间视场(例如46度,或者从大约35至大约60度的范围所选的其它值)。在一些实施例中,图像捕获装置126可充当主要或主摄像机。图像捕获装置122、124和126可被定位在后视镜310后面,并且基本上并排定位(例如分开6 cm)。此外,在一些实施例中,如上所述,图像捕获装置122、124和126的一个或多个可被安装在遮光罩380后面,所述遮光罩380与交通工具200的挡风玻璃齐平。这种屏蔽可起作用以最小化来自汽车内部的任何反射对图像捕获装置122、124和126的影响。
在另一个实施例中,如以上结合图3B和图3C所述,宽视场摄像机(例如上述示例中的图像捕获装置124)可被安装成低于窄和主视场摄像机(例如上述示例中的图像装置122和126)。这个配置可提供来自宽视场摄像机的自由视线。为了减少反射,摄像机可被安装成靠近交通工具200的挡风玻璃,并且可包括摄像机上的偏振片,以阻尼反射光。
三摄像机系统可提供某些性能特性。例如,一些实施例可包括基于来自另一个摄像机的检测结果来验证一个摄像机对于对象的检测的能力。在上述三摄像机配置中,处理单元110可包括例如三个处理装置(例如,如上所述的三个EyeQ系列的处理器芯片),其中每个处理装置专用于处理图像捕获装置122、124和126的一个或多个所捕获的图像。
在三摄像机系统中,第一处理装置可从主摄像机和窄视场摄像机接收图像,并且执行窄FOV摄像机的视觉处理,例如以检测其它交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。此外,第一处理装置可计算来自主摄像机和窄摄像机的图像之间的像素的差异,并且创建交通工具200的环境的3D重构。第一处理装置然后可将3D重构与3D地图数据或者与基于来自另一个摄像机的信息所计算的3D信息相组合。
第二处理装置可从主摄像机接收图像,并且执行视觉处理,以检测其它交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。另外,第二处理装置可计算摄像机位移,以及基于该位移来计算连续图像之间的像素的差异,并且创建场景的3D重构(例如来自运动的结构)。第二处理装置可向第一处理装置发送来自基于运动的3D重构的结构,以便与立体3D图像相组合。
第三处理装置可从宽FOV摄像机接收图像,并且处理图像,以检测交通工具、行人、车道标记、交通标志、交通灯和其它道路对象。第三处理装置可进一步执行附加处理指令,以分析图像,以便标识图像中移动的对象,例如变更车道的交通工具、行人等。
在一些实施例中,使基于图像的信息的流被单独捕获和处理可提供用于提供系统中的冗余度的机会。这种冗余度可包括例如使用第一图像捕获装置以及从那个装置所处理的图像来验证和/或补充通过捕获和处理来自至少第二图像捕获装置的图像信息所获得的信息。
在一些实施例中,系统100可将两个图像捕获装置(例如图像捕获装置122和124)用于为交通工具200提供导航辅助中,以及使用第三图像捕获装置(例如图像捕获装置126)来提供冗余度,并且验证从另外两个图像捕获装置所接收的数据的分析。例如,在这种配置中,图像捕获装置122和124可提供图像以供系统100进行立体分析,以用于导航交通工具200,而图像捕获装置126可提供图像以供系统100进行单目分析,以提供基于从图像捕获装置122和/或图像捕获装置124所捕获的图像所获得的信息的冗余度和验证。也就是说,图像捕获装置126(和对应处理装置)可被认为提供冗余子系统,以用于提供对于从图像捕获装置122和124所得出的分析的检查(例如提供自动紧急制动(AEB)系统)。此外,在一些实施例中,可基于从一个或多个传感器(例如雷达、激光雷达、声学传感器、从交通工具外部的一个或多个收发器所接收的信息等)所接收的信息来补充所接收数据的冗余度和验证。
本领域的技术人员将会知道,上述摄像机配置、摄像机放置、摄像机的数量、摄像机位置等只是示例。可在多种不同配置中组装和使用这些组件以及相对于整个系统所述的其它组件,而没有背离所公开实施例的范围。与多摄像机系统用来提供驾驶员辅助和/或自主交通工具功能性有关的其它细节如下。
图4是按照所公开实施例、可存储/编程有用于执行一个或多个操作的指令的存储器140和/或150的示例性功能框图。虽然下文参照存储器140,但是本领域的技术人员将会知道,指令可被存储在存储器140和/或150中。
如图4所示,存储器140可存储单目图像分析模块402、立体图像分析模块404、速度和加速度模块406以及导航响应模块408。所公开的实施例并不局限于存储器140的任何特定配置。此外,应用处理器180和/或图像处理器190可执行存储器140中包含的模块402、404、406和408的任一个中存储的指令。本领域的技术人员将会理解,以下论述中对处理单元110的提法可单独或共同表示应用处理器180和图像处理器190。相应地,下列过程的任一个的步骤可由一个或多个处理装置执行。
在一个实施例中,单目图像分析模块402可存储指令(例如计算机视觉软件),所述指令在由处理单元110执行时执行对图像捕获装置122、124和126其中之一所获取的图像集合的单目图像分析。在一些实施例中,处理单元110可把来自图像集合的信息与附加感测信息(例如来自雷达、激光雷达等的信息)相组合,以执行单目图像分析。如以下结合图5A-5D所述,单目图像分析模块402可包括用于检测图像集合内的特征集合(例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯、危险物体以及与交通工具的环境关联的任何其它特征)的指令。基于该分析,系统100(例如经由处理单元110)可引起交通工具200中的一个或多个导航响应,例如转弯、车道变换、加速度的变化等,如下面结合导航响应模块408所述。
在一个实施例中,立体图像分析模块404可存储指令(例如计算机视觉软件),所述指令在由处理单元110执行时执行对于从图像捕获装置122、124和126的任一个所选的图像捕获装置的组合所获取的第一和第二组图像的立体图像分析。在一些实施例中,处理单元110可把来自第一和第二组图像的信息与附加感测信息(例如来自雷达的信息)相组合,以执行立体图像分析。例如,立体图像分析模块404可包括用于基于图像捕获装置124所获取的图像的第一集合和图像捕获装置126所获取的图像的第二集合来执行立体图像分析的指令。如以下结合图6所述,立体图像分析模块404可包括用于检测第一和第二组图像内的特征集合(例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯、危险物体等)的指令。基于该分析,处理单元110可引起交通工具200中的一个或多个导航响应,例如转弯、车道变换、加速度的变化等,如下面结合导航响应模块408所述。此外,在一些实施例中,立体图像分析模块404可实现与已训练系统(例如神经网络或深度神经网络)或者未训练系统(例如可配置成使用计算机视觉算法来检测和/或标记从其中捕获和处理感测信息的环境中的对象的系统)关联的技术。在一个实施例中,立体图像分析模块404和/或其它图像处理模块可配置成使用已训练和未训练系统的组合。
在一个实施例中,速度和加速度模块406可存储软件,所述软件配置成分析从交通工具200中的一个或多个计算和机电装置所接收的数据,所述装置配置成引起交通工具200的速度和/或加速度的变化。例如,处理单元110可执行与速度和加速度模块406关联的指令,以基于从单目图像分析模块402和/或立体图像分析模块404的执行所得出的数据来计算交通工具200的目标速度。这种数据可包括例如目标位置、速度和/或加速度、交通工具200相对于附近交通工具、行人或道路物体的位置和/或速度、交通工具200相对于道路的车道标记的位置信息等。另外,处理单元110可基于感测输入(例如来自雷达的信息)以及来自交通工具200的其它系统(例如交通工具200的节流系统220、制动系统230和/或转向系统240)的输入来计算交通工具200的目标速度。基于所计算目标速度,处理单元110可向交通工具200的节流系统220、制动系统230和/或转向系统240传送电子信号,以通过例如物理上压下制动器或者松开交通工具200的加速器来触发速度和/或加速度的变化。
在一个实施例中,导航响应模块408可存储由处理单元110可执行的软件,以基于从单目图像分析模块402和/或立体图像分析模块404的执行所得出的数据来确定预期导航响应。这种数据可包括与附近交通工具、行人和道路物体关联的位置和速度信息、交通工具200的目标位置信息等。另外,在一些实施例中,导航响应可(部分或完全)基于地图数据、交通工具200的预定位置和/或交通工具200与从单目图像分析模块402和/或立体图像分析模块404的执行所检测的一个或多个对象之间的相对速度或相对加速度。导航响应模块408还可基于感测输入(例如来自雷达的信息)以及来自交通工具200的其它系统(例如交通工具200的节流系统220、制动系统230和转向系统240)的输入来确定预期导航响应。基于预期导航响应,处理单元110可向交通工具200的节流系统220、制动系统230和转向系统240传送电子信号,以通过例如转动交通工具200的方向盘以取得预定角度的旋转来触发预期导航响应。在一些实施例中,处理单元110可使用导航响应模块408的输出(例如预期导航响应)作为对速度和加速度模块406的执行的输入,以用于计算交通工具200的速度的变化。
此外,本文所公开模块(例如模块402、404和406)的任一个可实现与已训练系统(例如神经网络或深度神经网络)或未训练系统关联的技术。
图5A是示出按照所公开实施例、基于单目图像分析来引起一个或多个导航响应的示例性过程500A的流程图。在步骤510,处理单元110可经由处理单元110与图像获取单元120之间的数据接口128来接收多个图像。例如,图像获取单元120(例如具有视场202的图像捕获装置122)中包含的摄像机可捕获交通工具200前方(或者例如交通工具的侧面或后部)的区域的多个图像,并且通过数据连接(例如数字、有线、USB、无线、Bluetooth等)将它们传送给处理单元110。处理单元110可在步骤520执行单目图像分析模块402,以分析多个图像,如以下结合图5B-5D更详细描述。通过执行分析,处理单元110可检测图像集合内的特征集合,例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯等。
处理单元110还可在步骤520执行单目图像分析模块402,以检测各种道路危险,例如卡车轮胎的部件、跌落的道路标志、松散的货物、小动物等。道路危险可在结构、形状、大小和颜色上改变,这可使这类危险的检测更为棘手。在一些实施例中,处理单元110可执行单目图像分析模块402,以便对多个图像执行多帧分析,以检测道路危险。例如,处理单元110可估计连续图像帧之间的摄像机运动,并且计算帧之间的像素的差异,以构建道路的3D地图。处理单元110然后可使用3D地图来检测路面以及路面上方存在的危险。
在步骤530,处理单元110可执行导航响应模块408,以基于在步骤520所执行的分析以及以上结合图4所述的技术来引起交通工具200中的一个或多个导航响应。导航响应可包括例如转弯、车道变换、加速度的变化等。在一些实施例中,处理单元110可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。另外,多个导航响应可同时、顺序或者按照它们的任何组合出现。例如,处理单元110可通过例如顺序地向交通工具200的转向系统240和节流系统220传送控制信号,使交通工具200变换一个车道,并且然后加速。备选地,处理单元110可通过例如同时向交通工具200的制动系统230和转向系统240传送控制信号,使交通工具200制动,同时变换车道。
图5B是示出按照所公开实施例、检测图像集合中的一个或多个交通工具和/或行人的示例性过程500B的流程图。处理单元110可执行单目图像分析模块402,以实现过程500B。在步骤540,处理单元110可确定表示可能的交通工具和/或行人的候选对象集合。例如,处理单元110可扫描一个或多个图像,将图像与一个或多个预定模式进行比较,并且在每个图像内标识可包含感兴趣对象(例如交通工具、行人或者其部分)的可能位置。预定模式可按照实现高“误命中”率和低“未命中”率的方式来设计。例如,处理单元110可使用与预定模式的相似性的低阈值将候选对象标识为可能的交通工具或行人。这样做可允许处理单元110降低未命中(例如未标识)表示交通工具或行人的候选对象的概率。
在步骤542,处理单元110可基于分类标准来过滤候选对象集合,以排除某些候选(例如无关或不太相关的对象)。这类标准可从与数据库(例如存储器140中存储的数据库)中存储的对象类型关联的各种性质得出。性质可包括对象形状、尺寸、纹理、位置(例如相对于交通工具200)等。因此,处理单元110可使用标准的一个或多个集合从候选对象集合中排除伪候选。
在步骤544,处理单元110可分析图像的多个帧,以确定候选对象集合中的对象是否表示交通工具和/或行人。例如,处理单元110可跨连续帧跟踪所检测候选对象,并且累加与所检测对象关联的逐帧数据(例如大小、相对于交通工具200的位置等)。另外,处理单元110可估计所检测对象的参数,并且将对象的逐帧位置数据与预测位置进行比较。
在步骤546,处理单元110可构建所检测对象的测量集合。这类测量可包括例如与所检测对象关联的位置、速度和加速度值(相对于交通工具200)。在一些实施例中,处理单元110可基于使用一系列基于时间的观察的估计技术(例如卡尔曼(Kalman)滤波器或线性二次估计(LQE))和/或基于不同对象类型(例如汽车、卡车、行人、自行车、道路标志等)的可用建模数据来构建测量。卡尔曼滤波器可基于对象标度的测量,其中标度测量与碰撞时间(例如交通工具200到达对象的时间量)成比例。因此,通过执行步骤540-546,处理单元110可标识所捕获图像集合内出现的交通工具和行人,并且得出与交通工具和行人关联的信息(例如位置、速度、大小)。基于标识和所得出信息,处理单元110可引起交通工具200中的一个或多个导航响应,如以上结合图5A所述。
在步骤548,处理单元110可执行对一个或多个图像的光流分析,以降低检测“误命中”和未命中表示交通工具或行人的候选对象的概率。光流分析可表示例如分析与其它交通工具和行人关联的一个或多个图像中相对于交通工具200的运动模式,所述运动模式与路面运动是不同的。处理单元110可通过跨不同时间所捕获的多个图像帧观察对象的不同位置来计算候选对象的运动。处理单元110可使用位置和时间值作为对数学模型的输入,以用于计算候选对象的运动。因此,光流分析可提供检测交通工具200附近的交通工具和行人的另一种方法。处理单元110可结合步骤540-546来执行光流分析,以提供检测交通工具和行人的冗余度,并且增加系统100的可靠性。
图5C是示出按照所公开实施例、检测图像集合中的道路标记和/或车道几何信息的示例性过程500C的流程图。处理单元110可执行单目图像分析模块402,以实现过程500C。在步骤550,处理单元110可通过扫描一个或多个图像来检测对象集合。为了检测车道标记段、车道几何信息和其它相关道路标记,处理单元110可过滤对象集合,以排除被确定为不相关的那些对象(例如小坑洞、小岩石等)。在步骤552,处理单元110可将在步骤550所检测的属于同一道路标记或车道标记的段编组在一起。基于编组,处理单元110可开发表示所检测段的模型,例如数学模型。
在步骤554,处理单元110可构建与所检测段关联的测量集合。在一些实施例中,处理单元110可创建所检测段从图像平面到现实世界平面的投影。可使用具有与物理性质(例如所检测道路的位置、坡度、曲率和曲率导数)对应的系数的三次多项式来表征投影。在生成投影中,处理单元110可考虑路面的变化以及与交通工具200关联的倾斜和滚动速率。另外,处理单元110可通过分析路面上存在的位置和运动线索对道路高程进行建模。此外,处理单元110可通过跟踪一个或多个图像中的特征点集合来估计与交通工具200关联的倾斜和滚动速率。
在步骤556,处理单元110可通过例如跨连续图像帧跟踪所检测段并且累加与所检测段关联的逐帧数据来执行多帧分析。当处理单元110执行多帧分析时,在步骤554所构建的测量集合可变得更可靠并且与越来越高的置信度水平关联。因此,通过执行步骤550、552、554和556,处理单元110可标识所捕获图像集合内出现的道路标记,并且得出车道几何信息。基于标识和所得出信息,处理单元110可引起交通工具200中的一个或多个导航响应,如以上结合图5A所述。
在步骤558,处理单元110可考虑附加信息源,以在周围环境的上下文中进一步开发交通工具200的安全模型。处理单元110可使用安全模型来定义系统100可采用安全方式执行交通工具200的自主控制的上下文。为了开发安全模型,在一些实施例中,处理单元110可考虑其它交通工具的位置和运动、所检测道路边缘和屏障和/或从地图数据(例如来自地图数据库160的数据)所提取的一般道路形状描述。通过考虑附加信息源,处理单元110可提供检测道路标记和车道几何形状的冗余度,并且增加系统100的可靠性。
图5D是示出按照所公开实施例、检测图像集合中的交通灯的示例性过程500D的流程图。处理单元110可执行单目图像分析模块402,以实现过程500D。在步骤560,处理单元110可扫描图像集合,并且标识在图像中可能包含交通灯的位置出现的对象。例如,处理单元110可过滤所标识对象,以构建候选对象集合,从而排除不可能与交通灯对应的那些对象。过滤可基于与交通灯关联的各种性质进行,例如形状、尺寸、纹理、位置(例如相对于交通工具200)等。这类性质可基于交通灯和交通控制信号的多个示例,并且被存储在数据库中。在一些实施例中,处理单元110可对反映可能的交通灯的候选对象集合执行多帧分析。例如,处理单元110可跨连续图像帧跟踪候选对象,估计候选对象的现实世界位置,并且滤出正在移动(不可能是交通灯)的那些对象。在一些实施例中,处理单元110可对候选对象执行颜色分析,并且标识可能的交通灯内部出现的所检测颜色的相对位置。
在步骤562,处理单元110可分析交叉口的几何形状。分析可基于下列的任何组合:(i)在交通工具200的任一侧所检测的车道的数量,(ii)在道路上检测的标记(例如箭头标记),以及(iii)从地图数据(例如来自地图数据库160的数据)所提取的交叉口的描述。处理单元110可使用从单目分析模块402的执行所得出的信息进行分析。另外,处理单元110可确定在步骤560所检测的交通灯与交通工具200附近出现的车道之间的对应性。
当交通工具200接近交叉口时,在步骤564,处理单元110可更新与所分析交叉口几何形状和所检测交通灯关联的置信度水平。例如,如与实际出现在交叉口的交通灯的数量相比,被估计出现在交叉口的数量可影响置信度水平。因此,基于置信度水平,处理单元110可将控制权委托给给交通工具200的驾驶员,以便改进安全条件。通过执行步骤560、562和564,处理单元110可标识所捕获图像集合内出现的交通灯,并且分析交叉口几何信息。基于标识和分析,处理单元110可引起交通工具200中的一个或多个导航响应,如以上结合图5A所述。
图5E是示出按照所公开实施例、基于交通工具路径来引起交通工具200中的一个或多个导航响应的示例性过程500E的流程图。在步骤570,处理单元110可构建与交通工具200关联的初始交通工具路径。可使用按照坐标(x, z)所表达的点集合来表示交通工具路径,并且点集合中的两个点之间的距离di可落入1至5米的范围中。在一个实施例中,处理单元110可使用两个多项式(例如左和右道路多项式)来构建初始交通工具路径。处理单元110可两个多项式之间的计算几何中点,并且在存在的情况下将所产生交通工具路径中包含的每个点偏移预定偏移量(例如智能车道偏移量)(零偏移量可对应于车道中间的行驶)。偏移可沿与交通工具路径中的任何两个点之间的段垂直的方向。在另一个实施例中,处理单元110可使用一个多项式和估计车道宽度将交通工具路径中的每个点偏移估计车道宽度的一半加上预定偏移量(例如智能车道偏移量)。
在步骤572,处理单元110可更新在步骤570所构建的交通工具路径。处理单元110可使用更高分辨率来重构在步骤570所构建的交通工具路径,使得表示交通工具路径的点集合中的两个点之间的距离dk小于上述距离di。例如,距离dk可落入0.1至0.3米的范围中。处理单元110可使用抛物线样条算法来重构交通工具路径,该抛物线样条算法可产生与交通工具路径的总长度对应的累加距离向量S(即,基于表示交通工具路径的点集合)。
在步骤574,处理单元110可基于在步骤572所构建的已更新交通工具路径来确定前视点(按照坐标表达为(xl, zl))。处理单元110可从累加距离向量S中提取前视点,以及前视点可与前视距离和前视时间关联。前视距离可具有范围从10至20米的下限,可作为交通工具200的速度与前视时间的乘积来计算。例如,随着交通工具200的速度减小,前视距离也可减小(例如直至它达到下限)。前视时间的范围可从0.5至1.5秒,可与关联引起交通工具200中的导航响应的一个或多个控制环路(例如航向误差跟踪控制环路)的增益成反比。例如,航向误差跟踪控制环路的增益可取决于偏航率环路、转向致动器环路、汽车横向动力学等的带宽。因此,航向误差跟踪控制环路的增益越高,则前视时间越短。
在步骤576,处理单元110可基于在步骤574所确定的前视点来确定航向误差和偏航率命令。处理单元110可通过计算前视点的反正切(例如arctan(xl/zl))来确定航向误差。处理单元110可将偏航率命令确定为航向误差与高级控制增益的乘积。高级控制增益可等于:(2/前视时间),若前视距离不是处于下限。否则,高级控制增益可等于:(2×交通工具200的速度/前视距离)。
图5F是示出按照所公开实施例、确定前行交通工具是否正变更车道的示例性过程500F的流程图。在步骤580,处理单元110可确定与前行交通工具(例如在交通工具200前面行驶的交通工具)关联的导航信息。例如,处理单元110可使用以上结合图5A和图5B所述的技术来确定前行交通工具的位置、速度(例如方向和速度)和/或加速度。处理单元110还可使用以上结合图5E所述的技术来确定一个或多个道路多项式、前视点(与交通工具200关联)和/或蜗牛尾迹(snail trail)(例如描述前行交通工具所采取的路径的点集合)。
在步骤582,处理单元110可分析在步骤580所确定的导航信息。在一个实施例中,处理单元110可计算蜗牛尾迹与道路多项式之间(例如沿尾迹)的距离。如果沿尾迹的这个距离的变化超过预定阈值(例如笔直道路上的0.1至0.2米、中等弯曲道路上的0.3至0.4米以及具有急弯的道路上的0.5至0.6米),则处理单元110可确定前行交通工具可能正变更车道。在检测到多个交通工具在交通工具200前面行驶的情况下,处理单元110可比较与每个交通工具关联的蜗牛尾迹。基于该比较,处理单元110可确定其蜗牛尾迹与其它交通工具的蜗牛尾迹不匹配的交通工具可能正变更车道。处理单元110还可将(与前行交通工具关联的)蜗牛尾迹的曲率与前行交通工具正行驶的路段的预计曲率进行比较。可从地图数据(例如来自地图数据库160的数据)、从道路多项式、从其它交通工具的蜗牛尾迹、从与道路有关的先验知识等中提取预计曲率。如果蜗牛尾迹的曲率和路段的预计曲率的差超过预定阈值,则处理单元110可确定前行交通工具可能正变更车道。
在另一个实施例中,处理单元110可在特定时间段(例如0.5至1.5秒)内将前行交通工具的瞬时位置与(与交通工具200关联的)前视点进行比较。如果前行交通工具的瞬时位置与前视点之间的距离在特定时间段期间改变,并且变化的累加总和超过预定阈值(例如笔直道路上的0.3至0.4米、中等弯曲道路上的0.7至0.8米以及具有急弯的道路上的1.3至1.7米),则处理单元110可确定前行交通工具可能正变更车道。在另一个实施例中,处理单元110可通过将沿尾迹行驶的横向距离与蜗牛尾迹的预计曲率进行比较,来分析蜗牛尾迹的几何形状。预计曲率半径可按照下列计算确定:(δz 2x 2)/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、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,处理单元110可经由两个或更多数据接口接收第一和第二多个图像。所公开的实施例并不局限于任何特定数据接口配置或协议。
在步骤620,处理单元110可执行立体图像分析模块404,以执行对第一和第二多个图像的立体图像分析,以便创建交通工具前面的道路的3D地图,并且检测图像内的特征,例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯、道路危险等。立体图像分析可按照与以上结合图5A-5D所述步骤相似的方式执行。例如,处理单元110可执行立体图像分析模块404,以检测第一和第二多个图像内的候选对象(例如交通工具、行人、道路标记、交通灯、道路危险等),基于各种标准来滤出候选对象的子集,以及执行多帧分析,构建测量,并且确定其余候选对象的置信度水平。在执行上述步骤中,处理单元110可考虑来自第一和第二多个图像的信息而不是单独来自图像的一个集合的信息。例如,处理单元110可分析第一和第二多个图像中出现的候选对象的像素级数据(或者来自两个所捕获图像流之中的其它数据子集)的差异。作为另一个示例,处理单元110可通过观察对象出现在多个图像的一个图像中而不是另一个图像中,或者相对于其它差异(所述差异相对于出现在两个图像流中的对象可存在),来估计候选对象的位置和/或速度(例如相对于交通工具200)。例如,可基于与图像流之一或两者中出现的对象关联的特征的轨迹、位置、移动特性等确定相对于交通工具200的位置、速度和/或加速度。
在步骤630,处理单元110可执行导航响应模块408,以基于在步骤620所执行的分析以及以上结合图4所述的技术来引起交通工具200中的一个或多个导航响应。导航响应可包括例如转弯、车道变换、加速度的变化、速度的变化、制动等。在一些实施例中,处理单元110可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。另外,多个导航响应可同时、顺序或者按照它们的任何组合出现。
图7是示出按照所公开实施例、基于对三组图像的分析来引起一个或多个导航响应的示例性过程700的流程图。在步骤710,处理单元110可经由数据接口128接收第一、第二和第三多个图像。例如,图像获取单元120中包含的摄像机(例如具有视场202、204和206的图像捕获装置122、124和126)可捕获交通工具200前方和/或侧面的区域的第一、第二和第三多个图像,并且通过数字连接(例如USB、无线、Bluetooth等)将它们传送给处理单元110。在一些实施例中,处理单元110可经由三个或更多数据接口接收第一、第二和第三多个图像。例如,图像捕获装置122、124、126的每个可具有关联数据接口,以用于向处理单元110传递数据。所公开的实施例并不局限于任何特定数据接口配置或协议。
在步骤720,处理单元110可分析第一、第二和第三多个图像,以检测图像内的特征,例如车道标记、交通工具、行人、道路标志、高速公路出口匝道、交通灯、道路危险等。分析可按照与以上结合图5A-5D和图6所述步骤相似的方式执行。例如,处理单元110可对第一、第二和第三多个图像的每个执行单目图像分析(例如经由单目图像分析模块402的执行并且基于以上结合图5A-5D所述的步骤)。备选地,处理单元110可对第一和第二多个图像、第二和第三多个图像和/或第一和第三多个图像执行立体图像分析(例如经由立体图像分析模块404的执行并且基于以上结合图6所述的步骤)。可组合与第一、第二和/或第三多个图像的分析对应的所处理信息。在一些实施例中,处理单元110可执行单目和立体图像分析的组合。例如,处理单元110可对第一多个图像执行单目图像分析(例如经由单目图像分析模块402的执行),并且对第二和第三多个图像执行立体图像分析(例如经由立体图像分析模块404的执行)。图像捕获装置122、124和126的配置—包括其相应位置和视场202、204和206—可影响对第一、第二和第三多个图像进行的分析的类型。所公开实施例并不局限于图像捕获装置122、124和126的特定配置或者对第一、第二和第三多个图像进行的分析的类型。
在一些实施例中,处理单元110可基于在步骤710和720所获取和分析的图像对系统100执行测试。这种测试可提供系统100对图像捕获装置122、124和126的某些配置的总体性能的指示符。例如,处理单元110可确定“误命中”(例如系统100不正确地确定交通工具或行人的存在的情况)和“未命中”的比例。
在步骤730,处理单元110可基于从第一、第二和第三多个图像的两个所得出的信息来引起交通工具200中的一个或多个导航响应。第一、第二和第三多个图像的两个的选择可取决于各种因素,例如多个图像的每个中检测的对象的数量、类型和大小。处理单元110还可基于图像质量和分辨率、图像中反映的有效视场、所捕获帧的数量、一个或多个感兴趣对象实际出现在帧中的程度(例如对象出现的帧的百分比、每个这种帧中出现的对象的比例等)等进行选择。
在一些实施例中,处理单元110可通过确定从一个图像源所得出的信息与从其它图像源所得出的信息一致的程度来选择从第一、第二和第三多个图像的两个所得出的信息。例如,处理单元110可组合从图像捕获装置122、124和126的每个所得出的所处理信息(无论是通过单目分析、立体分析还是两者的任何组合),并且确定跨从图像捕获装置122、124和126的每个所捕获的图像是一致的视觉指示符(例如车道标记、所检测交通工具及其位置和/或路径、所检测交通灯等)。处理单元110还可排除跨所捕获图像不一致的信息(例如交通工具变更车道、车道模型指示过于靠近交通工具200的交通工具等)。因此,处理单元110可基于一致和不一致信息的确定来选择从第一、第二和第三多个图像的两个所得出的信息。
导航响应可包括例如转弯、车道变换、加速度的变化等。处理单元110可基于在步骤720所执行的分析以及如以上结合图4所述的技术来引起一个或多个导航响应。处理单元110还可使用从速度和加速度模块406的执行所得出的数据来引起一个或多个导航响应。在一些实施例中,处理单元110可基于交通工具200与第一、第二和第三多个图像的任一个内所检测的对象之间的相对位置、相对速度和/或相对加速度来引起一个或多个导航响应。多个导航响应可同时、顺序或者按照它们的任何组合出现。
自主交通工具导航的稀疏道路模型
在一些实施例中,所公开的系统和方法可使用自主交通工具导航的稀疏地图。特别是,稀疏地图可用于沿路段的自主交通工具导航。例如,稀疏地图可为导航自主交通工具提供充分信息,而无需存储和/或更新大量数据。如下面更详细论述,自主交通工具可使用稀疏地图基于一个或多个所存储轨迹来导航一个或多个道路。
自主交通工具导航的稀疏地图
在一些实施例中,所公开的系统和方法可生成自主交通工具导航的稀疏地图。例如,稀疏地图可为导航提供充分信息,而无需过多数据存储或数据传输速率。如下面更详细描述,交通工具(该交通工具可以是自主交通工具)可使用稀疏地图来导航一个或多个道路。例如,在一些实施例中,稀疏地图可包括与道路以及潜在地与沿道路的路标相关的数据,所述数据对于交通工具导航可以是充分的,但是也呈现小数据占用面积。例如,如与包括详细地图信息(例如沿道路所收集的图像数据)的数字地图相比,以下详细描述的稀疏数据地图可要求明显更少的存储空间和数据传输带宽。
例如,不是存储路段的详细表示,稀疏数据地图而是可存储沿道路的优选交通工具路径的三维多项式表示。这些路径可要求极少数据存储空间。另外,在所述的稀疏数据地图中,路标可被标识并且包含在稀疏地图道路模型中以帮助导航。这些路标可以以适合于实现交通工具导航的任何间距来定位,但是在一些情况下,这类路标无需以高密度和短间距来标识并且包含在模型中。而是在一些情况下,导航基于间隔开至少50米、至少100米、至少500米、至少1公里或者至少2公里的路标可以是可能的。如在其它部分将更详细论述,稀疏地图可基于由配备有各种传感器和装置(例如图像捕获装置、全球定位系统传感器、运动传感器等)的交通工具在沿道路行驶时所收集或测量的数据来生成。在一些情况下,稀疏地图可基于一个或多个交通工具沿特定道路的多次行驶期间所收集的数据来生成。使用一个或多个交通工具的多次行驶来生成稀疏地图可称作“众包”稀疏地图。
按照所公开实施例,自主交通工具系统可将稀疏地图用于导航。例如,所公开的系统和方法可分发稀疏地图以用于生成自主交通工具的道路导航模型,并且可使用稀疏地图和/或所生成道路导航模型沿路段导航自主交通工具。按照本公开的稀疏地图可包括一个或多个三维轮廓,所述三维轮廓可表示自主交通工具在沿关联路段移动时可穿过的预定轨迹。
按照本公开的稀疏地图还可包括表示一个或多个道路特征的数据。这类道路特征可包括所识别的路标、道路签名简档以及导航交通工具中有用的任何其它道路相关特征。按照本公开的稀疏地图可基于稀疏地图中包含的较小数据量来实现交通工具的自主导航。例如,不是包含道路的详细表示(例如道路边缘、道路曲率、与路段关联的图像或者详述与路段关联的其它物理特征的数据),稀疏地图的所公开实施例可要求相对极少存储空间(以及当稀疏地图的部分被传输给交通工具时的相对极小带宽),但是仍然可充分提供自主交通工具导航。下面更详细论述的所公开稀疏地图的小数据占用面积在一些实施例中可通过存储要求小数据量但是仍然实现自主导航的道路相关元素的表示来实现。
例如,不是存储道路的各个方面的详细表示,所公开的稀疏地图而是可存储交通工具可沿道路前进的一个或多个轨迹的多项式表示。因此,不是存储(或者必须传输)与道路的物理性质有关的细节以实现沿道路的导航,使用所公开的稀疏地图,交通工具而是可沿特定路段被导航,而无需在一些情况下解释道路的物理方面,而是通过将其行驶路径与沿特定路段的轨迹(例如多项式样条)对齐。这样,交通工具可主要基于所存储轨迹(例如多项式样条)来导航,所存储轨迹可要求比涉及道路图像、道路参数、道路布局等的存储的方式要少许多的存储空间。
除了沿路段的轨迹的所存储多项式表示之外,所公开的稀疏地图还可包括可表示道路特征的小数据对象。在一些实施例中,小数据对象可包括数字签名,所述数字签名从沿路段行驶的交通工具上的传感器(例如摄像机或另一传感器,例如悬架传感器)所获得的数字图像(或数字信号)来得出。数字签名相对于传感器所获取的信号可具有减小的大小。在一些实施例中,数字签名可被创建为与分类器功能兼容,该分类器功能配置成例如从传感器在后续驾驶期间所获取的信号来检测和标识道路特征。在一些实施例中,数字签名可被创建成使得数字签名具有尽可能小的占用面积,同时保持基于由沿同一路段行驶的交通工具上的摄像机在后续时间所捕获的道路特征的图像(或者传感器所生成的数字信号,如果所存储签名不是基于图像和/或包括其它数据)将道路特征与所存储签名相互关连或匹配的能力。
在一些实施例中,数据对象的大小可进一步与道路特征的唯一性关联。例如,对于由交通工具上的摄像机可检测的道路特征,以及在交通工具上的摄像机系统被耦合到能够将与那个道路特征对应的图像数据区分为与特定类型的道路特征(例如道路标志)关联的分类器的情况下,并且在这种道路标志在那个区域中是本地唯一的(例如附近不存在相同的道路标志或者相同类型的道路标志),存储指示道路特征的类型及其位置的数据可以是充分的。
如下面将更详细论述,道路特征(例如沿路段的路标)可被存储为小数据对象,所述小数据对象可通过较少字节来表示道路特征,同时提供识别和使用这种特征进行导航的充分信息。在一个示例中,道路标志可被识别为作为交通工具的导航的基础的所标识路标。道路标志的表示可被存储在稀疏地图中,以包括例如指示路标的类型(例如停止标志)的几个字节的数据以及指示路标的位置(例如坐标)的几个字节的数据。基于路标的这类数据-灯(data-light)表示(例如使用足以基于路标进行定位、识别和导航的表示)的导航可提供与稀疏地图关联的预期水平的导航功能性,而无需显著增加与稀疏地图关联的数据开销。路标(和其它道路特征)的这个精益表示(lean representation)可利用这类交通工具上包含的传感器和处理器所述传感器和处理器配置成检测、标识和/或分类某些道路特征。
当例如标志或者甚至特定类型的标志在给定区域中为本地唯一时(例如当不存在另一标志或者不存在相同类型的另一标志时),稀疏地图可使用指示路标的类型(标志或者特定类型的标志)的数据,以及在自主交通工具上的摄像机捕获包括标志(或者特定类型的标志)的区域的图像时的导航(例如自主导航)期间,处理器可处理该图像,检测标志(若实际存在于图像中),将图像分类为标志(或者分类为特定类型的标志),并且将图像的位置与如稀疏地图中存储的标志的位置相互关连。
稀疏地图可以包括沿着路段标识的对象的任何合适的表示。在一些情况下,对象可以被称为语义对象或非语义对象。语义对象可以包括例如与预定类型分类相关联的对象。这种类型分类可以有用于减少描述在环境中识别的语义对象所需的数据量,这在采集阶段(例如,减少与用于将驾驶信息从多个采集交通工具传输到服务器的带宽相关联的成本)中和在导航阶段(例如,地图数据的减少可加速地图图块从服务器到导航交通工具的传输,并且还可减少与用于这种传输的带宽相关联的成本)期间均是有益的。语义对象分类类型可以被指派给期望沿道路遇到的任何类型的对象或特征。
语义对象还可以被分成两个或更多个逻辑组。例如,在一些情况下,一组语义对象类型可以与预定维度相关联。这样的语义对象可以包括某些限速标志、让行标志、合并标志、停止标志、交通灯、道路上的方向箭头、检修孔盖、或可以与标准化大小相关联的任何其它类型的对象。由这样的语义对象提供的一个好处是可需要非常少的数据来表示/完全定义对象。例如,如果限速大小的标准化大小是已知的,则采集交通工具可仅需要标识(通过对所捕获的图像的分析)限速标志(识别的类型)的存在连同检测到的限速标志的位置的指示(例如,标志的中心或标志的某一角在所捕获的图像中的2D位置(或者,备选地,在现实世界坐标中的3D位置))来为服务器侧上的地图生成提供足够的信息。在将2D图像位置传输到服务器的情况下,还可传输与检测到标志的所捕获图像相关联的位置,使得服务器可确定标志的现实世界位置(例如,通过使用来自一个或多个采集交通工具的多个所捕获图像的运动技术中的结构)。即使通过这种有限的信息(仅需要几个字节来定义每个检测到的对象),服务器也可以基于从一个或多个采集交通工具接收的类型分类(表示限速标志)连同检测到的标志的位置信息来构造包括完整表示的限速标志的地图。
语义对象还可以包括不与某些标准化特性相关联的其它识别的对象或特征类型。这样的对象或特征可以包括坑洞、柏油接缝、灯杆、非标准化标志、路缘、树、树枝、或具有一个或多个可变特性(例如,可变尺寸)的任何其它类型的识别的对象类型。在这种情况下,除了向服务器传输检测到的对象或特征类型(例如坑洞、杆等)的指示和检测到的对象或特征的位置信息之外,采集交通工具还可以传输对象或特征的大小的指示。大小可以以2D图像维度(例如,具有边界框或一个或多个维度值)或现实世界维度(通过运动计算中的结构、基于LIDAR或RADAR系统输出、基于训练的神经网络输出等来确定)来表达。
非语义对象或特征可包括落在所识别的类别或类型之外但仍可在地图生成中提供有价值信息的任何可检测对象或特征。在一些情况下,这种非语义特征可以包括检测到的建筑物拐角或检测到的建筑物窗户拐角、道路附近的独特石头或对象、道路路肩中的混凝土泼溅物、或任何其它可检测的对象或特征。在检测到这种对象或特征时,一个或多个采集交通工具可以向地图生成服务器传送与所检测到的对象/特征相关联的一个或多个点(2D图像点或3D现实世界点)的位置。另外,可以为包括所检测到的对象或特征的所捕获图像的区域生成压缩的或简化的图像片段(例如,图像散列)。该图像散列可以基于预定的图像处理算法来计算,并且可以形成所检测到的非语义对象或特征的有效签名。这种签名对于相对于包括非语义特征或对象的稀疏地图的导航是有用的,因为穿过道路的交通工具可以应用与用于生成图像散列的算法类似的算法,以便确认/验证所映射的非语义特征或对象在所捕获图像中的存在。使用此技术,非语义特征可增加稀疏地图的丰富度(例如,以增强其在导航中的有用性)而不增加显著的数据开销。
如上所述,目标轨迹可以存储在稀疏地图中。这些目标轨迹(例如,3D样条)可以表示道路的每个可用车道的优选或推荐路径、通过交叉口的每个有效路径以用于并入和离开等。除了目标轨迹之外,还可以以表示性样条的形式在稀疏地图中检测、采集和合并其它道路特征。此类特征可以包括例如道路边缘、车道标记、路缘、护栏、或沿道路或路段延伸的任何其它对象或特征。
生成稀疏地图
在一些实施例中,稀疏地图可包括沿路段延伸的路面特征的至少一个线表示以及与该路段关联的多个路标。在某些方面,稀疏地图可例如通过当一个或多个交通工具穿过路段时所获取的多个图像的图像分析经由“众包”来生成。
图8示出例如交通工具200(可以是自主交通工具)等的一个或多个交通工具可访问以用于提供自主交通工具导航的稀疏地图800。稀疏地图800可被存储在存储器(例如存储器140或150)中。这类存储器装置可包括任何类型的非暂时存储装置或计算机可读介质。例如,在一些实施例中,存储器140或150可包括硬盘驱动器、致密光盘、闪速存储器、基于磁的存储器装置、基于光的存储器装置等。在一些实施例中,稀疏地图800可被存储在数据库(例如地图数据库160)中,该数据库可被存储在存储器140或150或者其它类型的存储装置中。
在一些实施例中,稀疏地图800可被存储在交通工具200上提供的存储装置或者非暂时计算机可读介质(例如交通工具200上的导航系统中包含的存储装置)上。交通工具200上提供的处理器(例如处理单元110)可访问交通工具200上提供的存储装置或计算机可读介质中存储的稀疏地图800,以便在交通工具穿过路段时生成用于引导自主交通工具200的导航指令。
但是无需相对交通工具本地存储稀疏地图800。在一些实施例中,稀疏地图800可被存储在远程服务器上提供的存储装置或计算机可读介质上,该远程服务器与交通工具200或者关联交通工具200的装置进行通信。交通工具200上提供的处理器(例如处理单元110)可从远程服务器接收稀疏地图800中包含的数据,并且可执行该数据以用于引导交通工具200的自主驾驶。在这类实施例中,远程服务器可存储全部稀疏地图800或者仅存储它的一部分。相应地,交通工具200上和/或一个或多个附加交通工具上的存储装置或计算机可读介质可存储稀疏地图800的其余(一个或多个)部分。
此外,在这类实施例中,可使稀疏地图800是穿过各种路段的多个交通工具(例如数十、数百、数千或数百万个交通工具等)可访问的。还应当注意,稀疏地图800可包括多个子地图。例如,在一些实施例中,稀疏地图800可包括可用于导航交通工具中的数百、数千、数百万或更多子地图(例如地图图块)。这类子地图可称作本地地图或地图图块,以及沿道路行驶的交通工具可访问与该交通工具正行驶的位置相关的任何数量的本地地图。可存储稀疏地图800的本地地图部分,其中全球导航卫星系统(GNSS)密钥作为稀疏地图800的数据库的索引。因此,虽然本系统中用于导航主交通工具的转向角的计算可在不依靠主交通工具的GNSS位置、道路特征或路标的情况下执行,但是这种GNSS信息可用于检索相关本地地图。
一般来说,稀疏地图800可基于从一个或多个交通工具在沿道路行驶时所收集的数据(例如驾驶信息)来生成。例如,使用一个或多个交通工具上的传感器(例如摄像机、速度计、GPS、加速计等),一个或多个交通工具沿道路行驶的轨迹可被记录,以及用于交通工具沿道路进行后续行程的优选轨迹的多项式表示可基于一个或多个交通工具所行驶的所收集轨迹来确定。类似地,由一个或多个交通工具所收集的数据可帮助标识沿特定道路的潜在路标。从正穿过交通工具所收集的数据也可用来标识道路简档(road profile)信息,例如道路宽度简档、道路粗糙度简档、交通线间距简档、道路条件等。使用所收集信息,稀疏地图800可被生成和分发(例如供本地存储或者经由即时数据传输),以供导航一个或多个自主交通工具中使用。但是,在一些实施例中,地图生成可能不在地图的初始生成时结束。如下面将更详细论述,稀疏地图800可基于在交通工具继续穿过稀疏地图800中包含的道路时从那些交通工具所收集的数据来连续或周期更新。
稀疏地图800中记录的数据可包括基于全球定位系统(GPS)数据的位置信息。例如,位置信息可被包含在稀疏地图800中以用于各种地图元素,包括例如路标位置、道路简档位置等。可使用从穿过道路的交通工具所收集的GPS数据来获得稀疏地图800中包含的地图元素的位置。例如,通过所标识路标的交通工具可使用与交通工具关联的GPS位置信息以及所标识路标相对于交通工具的位置的确定(例如基于从交通工具上的一个或多个摄像机所收集的数据的图像分析)来确定所标识路标的位置。所标识路标(或者稀疏地图800中包含的任何其它特征)的这类位置确定可在附加交通工具通过所标识路标的位置时重复进行。附加位置确定的部分或全部可用来相对于所标识路标来细化稀疏地图800中存储的位置信息。例如,在一些实施例中,相对于稀疏地图800中存储的特定特征的多个位置测量可被共同求平均。但是,任何其它数学运算也可用来基于地图元素的多个所确定位置来细化地图元素的所存储位置。
在特定示例中,采集交通工具可穿过特定路段。每个采集交通工具捕获其各自环境的图像。可以以任何合适的帧捕获速率(例如,9Hz等)来收集图像。每个采集交通工具上的(一个或多个)图像分析处理器分析所捕获的图像以检测语义和/或非语义特征/对象的存在。在高级别,采集交通工具向映射服务器传送语义和/或非语义对象/特征的检测指示以及与那些对象/特征相关联的位置。更详细地,类型指示符、尺寸指示符等可以与位置信息一起传送。位置信息可以包括用于使映射服务器能够将检测到的对象/特征聚合成导航中有用的稀疏地图的任何合适的信息。在一些情况下,位置信息可以包括曾检测到语义或非语义特征/对象的所捕获图像中的一个或多个2D图像位置(例如,X-Y像素位置)。这种图像位置可以对应于特征/对象的中心、角等。在这种情况下,为了帮助映射服务器重构驾驶信息并对齐来自多个采集交通工具的驾驶信息,每个采集交通工具还可以向服务器提供曾捕获每个图像的位置(例如,GPS位置)。
在其它情况下,采集交通工具可以向服务器提供与检测到的对象/特征相关联的一个或多个3D现实世界点。这样的3D点可以与预定原点(例如驾驶段的原点)有关,并且可以通过任何合适的技术来确定。在一些情况下,运动技术中的结构可用于确定检测到的对象/特征的3D现实世界位置。例如,可以在两个或更多个捕获的图像中检测诸如特定限速标志的某个对象。使用诸如所捕获图像之间的采集交通工具的已知自我运动(速度、轨迹、GPS位置等)之类的信息,连同所观察到的所捕获图像中的限速标志的变化(X-Y像素位置的变化、大小的变化等),可以确定与限速标志相关联的一个或多个点的现实世界位置,并将其传递到映射服务器。这种方法是可选的,因为它需要采集交通工具系统的部分上的更多计算。所公开实施例的稀疏地图可使用较小存储数据量来实现交通工具的自主导航。在一些实施例中,稀疏地图800可具有小于每公里道路2 Mb、小于每公里道路1 Mb、小于每公里道路500 kB或者小于每公里道路100 kB的数据密度(例如包括表示目标轨迹、路标和任何其它所存储道路特征的数据)。在一些实施例中,稀疏地图800的数据密度可小于每公里道路10 kB或者甚至小于每公里道路2 kB(例如每公里1.6 kB),或者不超过每公里道路10 kB或者不超过每公里道路20 kB。在一些实施例中,美国道路的大部分(即使不是全部)可使用具有总共4 GB或更少数据的稀疏地图来自主导航。这些数据密度值可表示对整个稀疏地图800、对稀疏地图800内的本地地图和/或对稀疏地图800内的特定路段的平均数。
如所述,稀疏地图800可包括多个目标轨迹810的表示,以用于引导沿路段的自主驾驶或导航。这类目标轨迹可被存储为三维样条。稀疏地图800中存储的目标轨迹例如可基于交通工具沿特定路段的先前穿过的两个或更多重构轨迹来确定。路段可与单个目标轨迹或者多个目标轨迹关联。例如,在二车道道路上,第一目标轨迹可被存储以表示沿道路在第一方向的预计行驶路径,以及第二目标轨迹可被存储以表示沿道路在另一方向(例如与第一方向相反)的预计行驶路径。可相对特定路段来存储附加目标轨迹。例如,在多车道道路上,一个或多个目标轨迹可被存储,表示与多车道道路关联的一个或多个车道中的交通工具的预计行驶路径。在一些实施例中,多车道道路的每个车道可与其自己的目标轨迹关联。在其它实施例中,可存在比多车道道路上存在的车道要少的所存储目标轨迹。在这类情况下,行驶于多车道道路的交通工具可通过考虑与其目标轨迹被存储的车道的车道偏移量,使用所存储目标轨迹的任一个来引导其导航(例如,如果交通工具在三车道道路的最左侧车道中行驶,并且仅对道路的中间车道存储目标轨迹,则交通工具可通过在生成导航指令时考虑中间车道与最左侧车道之间的车道偏移量,使用中间车道的目标轨迹进行导航)。
在一些实施例中,目标轨迹可表示交通工具在行驶时应当采取的理想路径。目标轨迹可位于例如行驶车道的近似中心。在其它情况下,目标轨迹可位于相对于路段的其它位置。例如,目标轨迹可与道路的中心、道路的边缘或者车道的边缘等大致一致。在这类情况下,基于目标轨迹的导航可包括相对于目标轨迹的位置将被保持的所确定偏移量。此外,在一些实施例中,相对于目标轨迹的位置将被保持的所确定偏移量基于交通工具的类型可有所不同(例如,包括两个车轴的乘用车沿目标轨迹的至少一部分可具有与包括多于两个车轴的卡车不同的偏移量)。
稀疏地图800还可包括与多个预定路标820相关的数据,所述路标820与特定路段、本地地图等关联。如下面更详细论述,这些路标可用于自主交通工具的导航中。例如,在一些实施例中,路标可用来确定交通工具相对于所存储目标轨迹的当前位置。通过这个位置信息,自主交通工具可以能够调整航向方向,以匹配所确定位置处的目标轨迹的方向。
多个路标820可以以任何适当间距来标识并且存储在稀疏地图800中。在一些实施例中,可以以较高密度(例如每数米或以上)来存储路标。但是,在一些实施例中,可采用明显更大的路标间距值。例如,在稀疏地图800中,所标识(或者所识别)路标可间隔开10米、20米、50米、100米、1公里或2公里。在一些情况下,所标识路标可位于甚至分开多于2公里的距离。
在路标之间并且因此在相对于目标轨迹的交通工具位置的确定之间,交通工具可基于航位推测进行导航,其中交通工具使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置。因为误差在通过航位推测的导航期间可能累积,所以随时间推移,相对于目标轨迹的位置确定可变得越来越不精确。交通工具可使用稀疏地图800中出现的路标(及其已知位置)来去除位置确定中的航位推测引起的误差。这样,稀疏地图800中包含的所标识路标可用作导航锚点,从其中可确定交通工具相对于目标轨迹的精确位置。因为一定误差量在位置定位中可以是可接受的,所以所标识路标无需始终是自主交通工具可用的。适当导航而是如上所述甚至基于10米、20米、50米、100米、500米、1公里、2公里或以上的路标间距也可以是可能的。在一些实施例中,每1 km道路1个所标识路标的密度可足以将纵向位置确定精度保持在1 m之内。因此,并非沿路段出现的每一个潜在路标都需要被存储在稀疏地图800中。
此外,在一些实施例中,车道标记可在路标间距期间用于交通工具的定位。通过在路标间距期间使用车道标记,可最小化通过航位推测的导航期间的误差累积。
除了目标轨迹和所标识路标之外,稀疏地图800还可包括与各种其它道路特征相关的信息。例如,图9A示出可被存储在稀疏地图800中的沿特定路段的曲线的表示。在一些实施例中,道路的单车道可通过道路的左侧和右侧的三维多项式描述来建模。表示单个车道的左侧和右侧的这类多项式在图9A中示出。不管道路具有多少车道,都可按照与图9A所示相似的方式使用多项式来表示该道路。例如,多车道道路的左侧和右侧可通过与图9A所示相似的多项式来表示,以及多车道道路上包含的中间车道标记(例如表示车道边界的虚线标记、表示沿不同方向行驶的车道之间的边界的黄实线等)也可使用例如图9A所示的多项式来表示。
如图9A所示,可使用多项式(例如一阶、二阶、三阶或者任何适当阶数的多项式)来表示车道900。为了便于说明,车道900示为二维车道,以及多项式示为二维多项式。如图9A所示,车道900包括左侧910和右侧920。在一些实施例中,多于一个多项式可用来表示道路或车道边界的每侧的位置。例如,左侧910和右侧920的每个可通过任何适当长度的多个多项式来表示。在一些情况下,多项式可具有大约100 m的长度,但是也可使用大于或小于100m的其它长度。另外,多项式能够相互重叠,以便促进基于主交通工具沿道路行驶时随后遇到的多项式的导航中的无缝过渡。例如,左侧910和右侧920的每个可通过多个三阶多项式来表示,所述多项式被分为大约100米长的段(第一预定范围的示例),并且相互重叠大约50米。表示左侧910和右侧920的多项式可以或者可以不具有相同阶数。例如在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,以及一些可以是四阶多项式。
在图9A所示的示例中,车道900的左侧910通过两组三阶多项式来表示。第一组包括多项式段911、912和913。第二组包括多项式段914、915和916。两个编组虽然基本上相互平行,但是跟随道路的相应侧的位置。多项式段911、912、913、914、915和916具有大约100米的长度,并且重叠系列中的相邻段大约50米。但是,如先前所述,也可使用不同长度和不同重叠量的多项式。例如,多项式可具有500 m、1 km或以上的长度,以及重叠量可从0至50 m、50 m至100 m或者大于100 m改变。另外,虽然图9A示为表示在2D空间(例如在纸张表面)延伸的多项式,但是要理解,这些多项式可表示在三维(例如包括高度分量)延伸的曲线,以除了X-Y曲率之外还表示路段的高程变化。在图9A所示的示例中,车道900的右侧920进一步通过具有多项式段921、922和923的第一组以及具有多项式段924、925和926的第二组来表示。
回到稀疏地图800的目标轨迹,图9B示出表示沿特定路段行驶的交通工具的目标轨迹的三维多项式。目标轨迹不仅表示主交通工具应当沿特定路段行驶的X-Y路径,而且还表示主交通工具在沿该路段行驶时将遇到的高程变化。因此,稀疏地图800中的每个目标轨迹可通过一个或多个三维多项式(例如图9B所示的三维多项式950)来表示。稀疏地图800可包括多个轨迹(例如数百万或数十亿或以上,以表示交通工具沿全世界的道路的各种路段的轨迹)。在一些实施例中,每个目标轨迹可对应于连接三维多项式段的样条。
关于稀疏地图800中存储的多项式的数据占用面积,在一些实施例中,每个三次多项式可通过各自要求四字节数据的四个参数来表示。可采用对每100 m要求大约192字节的数据的三次多项式来获得适当表示。这可转化成对于大约以100 km/hr行驶的主交通工具的数据使用/传输要求中的大致每小时200 kB。
稀疏地图800可使用几何描述符和元数据的组合来描述车道网络。几何形状可通过如上所述的多项式或样条来描述。元数据可描述车道的数量、特殊特性(例如汽车共用车道)和可能的其它稀疏标签。这类指示符的总占用面积可以是可忽略的。
相应地,按照本公开的实施例的稀疏地图可包括沿路段延伸的路面特征的至少一个线表示,每个线表示将表示沿路段与路面特征基本上对应的路径。在一些实施例中,如上所述,路面特征的至少一个线表示可包括样条、多项式表示或曲线。此外,在一些实施例中,路面特征可包括道路边缘或车道标记的至少一个。此外,如下面针对“众包”所述,路面特征可通过在一个或多个交通工具穿过路段时所获取的多个图像的图像分析来标识。
如先前所述,稀疏地图800可包括与路段关联的多个预定路标。不是存储路标的实际图像并且依靠例如基于所捕获图像和所存储图像的图像识别分析,可使用比所存储的实际图像原本要求的要少的数据来表示和识别稀疏地图800中的每个路标。表示路标的数据仍然可包括用于描述或识别沿道路的路标的充分信息。存储描述路标的特性的数据而不是路标的实际图像可减小稀疏地图800的大小。
图10示出可在稀疏地图800中表示的路标的类型的示例。路标可包括沿路段的任何可见和可标识对象。路标可被选择成使得它们是固定的,并且相对其位置和/或内容不会经常改变。稀疏地图800中包含的路标可在确定交通工具200穿过特定路段时相对目标轨迹的位置中是有用的。路标的示例可包括交通标志、方向标志、一般标志(例如矩形标志)、路边固定装置(例如灯柱、反射镜等)和任何其它适当类别。在一些实施例中,道路上的车道标记还可作为稀疏地图800中的路标被包含。
图10所示路标的示例包括交通标志、方向标志、路边固定装置和一般标志。交通标志可包括例如限速标志(例如限速标志1000)、让行标志(例如让行标志1005)、路线编号标志(例如路线编号标志1010)、交通灯标志(例如交通灯标志1015)、停止标志(例如停止标志1020)。方向标志可包括标志,该标志包括指示到不同地点的一个或多个方向的一个或多个箭头。例如,方向标志可包括:道路标志1025,具有用于将交通工具引导到不同道路或地点的箭头;出口标志1030,具有用于引导交通工具离开道路的箭头;等等。相应地,多个路标的至少一个可包括道路标志。
一般标志可与交通不相关。例如,一般标志可包括用于广告的广告牌或者与两个国家、州、县、城市或城镇之间的边界相邻的欢迎牌。图10示出一般标志1040(“Joe’sRestaurant”(Joe的餐厅))。虽然一般标志1040如图10所示可具有矩形形状,但是一般标志1040可具有其它形状,例如正方形、圆形、三角形等。
路标还可包括路边固定装置。路边固定装置可能不是标志的对象,并且可能不是与交通或方向相关的。例如,路边固定装置可包括灯柱(例如灯柱1035)、电线柱、交通灯柱等。
路标还可包括信标,所述信标可专门设计成供自主交通工具导航系统中使用。例如,这类信标可包括以预定间隔所放置的独立结构,以帮助导航主交通工具。这类信标还可包括被添加到现有道路标志的视觉/图形信息(例如图标、徽章、条形码等),所述信息可由沿路段行驶的交通工具所标识或识别。这类信标还可包括电子组件。在这类实施例中,电子信标(例如RFID标签等)可用来向主交通工具传送非视觉信息。这种信息可包括例如主交通工具在确定沿目标轨迹的位置中可使用的路标标识和/或路标位置信息。
在一些实施例中,稀疏地图800中包含的路标可通过预定大小的数据对象来表示。表示路标的数据可包括用于标识特定路标的任何适当参数。例如,在一些实施例中,稀疏地图800中存储的路标可包括诸如路标的物理大小(例如以支持基于已知大小/标度来估计到路标的距离)、到前一路标的距离、横向偏移、高度、类型代码(例如路标类型—哪一种类型的方向标志、交通标志等)、GPS坐标(例如以支持全球定位)和任何其它适当参数之类的参数。每个参数可与数据大小关联。例如,可使用8字节的数据来存储路标大小。可使用12字节的数据来指定到前一路标的距离、横向偏移和高度。与路标(例如方向标志或交通标志)关联的类型代码可要求大约2字节的数据。对于一般标志,可使用50字节的数据存储来存储实现一般标志的标识的图像签名。路标GPS位置可与16字节的数据存储关联。每个参数的这些数据大小只是示例,并且也可使用其它数据大小。按照这种方式在稀疏地图800中表示路标可提供用于有效地表示数据库中的路标的瘦解决方案。在一些实施例中,对象可称作标准语义对象或非标准语义对象。标准语义对象可以包括任何对象分类,对于所述对象存在特性的标准化集合(例如,具有已知尺寸或其它特性的限速标志,警告标志,方向标志,交通灯等)。非标准语义对象可以包括不与特性的标准化集合相关联的任何对象(例如,通用广告标志,标识商业机构的标志,坑洞,树等,其可以具有可变的尺寸)。每个非标准语义对象可以用38字节的数据表示(例如,用于大小的8字节;用于与先前标志的距离,横向偏移和高度的12字节;用于类型代码的2字节;以及用于位置坐标的16字节)。标准语义对象可以使用甚至更少的数据来表示,因为映射服务器可能不需要大小信息来完整表示稀疏地图中的对象。
稀疏地图800可使用标签系统来表示路标类型。在一些情况下,每个交通标志或方向标志可与其自己的标签关联,所述标签可作为路标标识的组成部分被存储在数据库中。例如,数据库可包括表示各种交通标志的大约1000个不同标签以及表示方向标志的大约10000个不同标签。当然,可使用任何适当数量的标签,并且可根据需要创建附加标签。在一些实施例中可使用少于大约100字节来表示通用标志(例如大约86字节,包括:8字节用于大小;12字节用于到前一路标的距离、横向偏移和高度;50字节用于图像签名;以及16字节用于GPS坐标)。
因此,对于不要求图像签名的语义道路标志,对稀疏地图800的数据密度影响甚至在每50 m大约1个的较高路标密度下也可为大约每公里760字节(例如每公里20个路标×每路标38个字节=760个字节)。甚至对于包括图像签名分量的通用标志,数据密度影响也为大约每公里1.72 kB(每公里20个路标×每路标86个字节=1720个字节)。对于语义道路标志,这相当于对于以100 km/hr行驶的交通工具的大约每小时76 kB的数据使用。对于通用标志,这相当于对于以100 km/hr行驶的交通工具的大约每小时170 kB。应注意,在一些环境(例如,城市环境)中,可存在可用于包括在稀疏地图中的高得多的检测对象密度(可能每米多于一个)。在一些实施例中,一般矩形的对象(例如矩形标志)可在稀疏地图800中通过不超过100字节的数据来表示。稀疏地图800中的一般矩形的对象(例如一般标志1040)的表示可包括与一般矩形对象关联的压缩图像签名或图像散列(例如压缩图像签名1045)。这个压缩图像签名/图像散列可使用任何合适的图像散列算法来确定并可例如用来帮助标识通用标志,例如标识为所识别的路标。这种压缩图像签名(例如从表示对象的实际图像数据所得出的图像信息)可避免需要存储对象的实际图像或者需要对实际图像所执行的比较图像分析以便识别路标。
参照图10,稀疏地图800可包括或存储与一般标志1040关联的压缩图像签名1045而不是一般标志1040的实际图像。例如,在图像捕获装置(例如图像捕获装置122、124或126)捕获一般标志1040的图像之后,处理器(例如图像处理器190或者能够处理主交通工具上或者相对于主交通工具远程定位的图像的任何其它处理器)可执行图像分析,以提取/创建压缩图像签名1045,所述压缩图像签名1045包括与一般标志1040关联的唯一签名或模式。在一个实施例中,压缩图像签名1045可包括形状、颜色模式、亮度模式或者可从一般标志1040的图像所提取的用于描述一般标志1040的任何其它特征。
例如,在图10中,压缩图像签名1045中所示的圆形、三角形和星形可表示不同颜色的区域。通过圆形、三角形和星形所表示的图案可被存储在稀疏地图800中,例如在被指定为包括图像签名的50字节内。值得注意,圆形、三角形和星形不一定意在指示这类形状作为图像签名的组成部分来存储。这些形状而是意在在概念上表示具有可辨别颜色差异的可识别区域、文本区域、图形区域或者可与通用标志关联的特性的其它变化。这类压缩图像签名能够用来标识采取一般标志形式的路标。例如,压缩图像签名能够用来基于所存储的压缩图像签名与例如使用自主交通工具上的摄像机所捕获的图像数据的比较来执行相同-不相同(same-not-same)分析。
相应地,多个路标可通过在一个或多个交通工具穿过路段时所获取的多个图像的图像分析来标识。如下面针对“众包”所述,在一些实施例中,标识多个路标的图像分析可包括在路标出现的图像与路标没有出现的图像的比率超过阈值时接受潜在路标。此外,在一些实施例中,标识多个路标的图像分析可包括在路标没有出现的图像与路标出现的图像的比率超过阈值时拒绝潜在路标。
回到主交通工具可用来导航特定路段的目标轨迹,图11A示出构建或保持稀疏地图800的过程期间捕获的多项式表示轨迹。稀疏地图800中包含的目标轨迹的多项式表示可基于交通工具沿同一路段的先前穿过的两个或更多重构轨迹来确定。在一些实施例中,稀疏地图800中包含的目标轨迹的多项式表示可以是交通工具沿同一路段的先前穿过的两个或更多重构轨迹的聚合。在一些实施例中,稀疏地图800中包含的目标轨迹的多项式表示可以是交通工具沿同一路段的先前穿过的两个或更多重构轨迹的平均。其它数学运算也可用来基于从沿路段行驶的交通工具所收集的重构轨迹来构建沿道路路径的目标轨迹。
如图11A所示,路段1100可在不同时间由多个交通工具200行驶。每个交通工具200可收集与该交通工具沿路段所采取的路径相关的数据。由特定交通工具所行驶的路径可基于摄像机数据、加速计信息、速度传感器信息和/或GPS信息以及其它潜在来源来确定。这种数据可用来重构沿路段行驶的交通工具的轨迹,以及基于这些重构轨迹,可对特定路段确定目标轨迹(或者多个目标轨迹)。这类目标轨迹可表示主交通工具(例如由自主导航系统所引导)在沿路段行驶时的优选路径。
在图11A所示的示例中,第一重构轨迹1101可基于从第一时间段(例如第1天)穿过路段1100的第一交通工具所接收的数据来确定,第二重构轨迹1102可从第二时间段(例如第2天)穿过路段1100的第二交通工具来获得,以及第三重构轨迹1103可从第三时间段(例如第3天)穿过路段1100的第三交通工具来获得。每个轨迹1101、1102和1103可通过多项式(例如三维多项式)来表示。应当注意,在一些实施例中,重构轨迹的任一个可在穿过路段1100的交通工具上装配。
作为补充或替代,这类重构轨迹可在服务器侧基于从穿过路段1100的交通工具所接收的信息来确定。例如,在一些实施例中,交通工具200可向一个或多个服务器传送与它们沿路段1100的运动相关的数据(例如转向角、航向、时间、位置、速度、所感测道路几何形状和/或所感测路标等等)。服务器可基于所接收数据来重构交通工具200的轨迹。服务器还可基于第一、第二和第三轨迹1101、1102和1103来生成目标轨迹,以用于引导以后将沿同一路段1100行驶的自主交通工具的导航。虽然目标轨迹可与路段的单个先前穿过关联,但是在一些实施例中,稀疏地图800中包含的每个目标轨迹可基于穿过同一路段的交通工具的两个或更多重构轨迹来确定。在图11A中,目标轨迹通过1110来表示。在一些实施例中,目标轨迹1110可基于第一、第二和第三轨迹1101、1102和1103的平均数来生成。在一些实施例中,稀疏地图800中包含的目标轨迹1110可以是两个或更多重构轨迹的聚合(例如加权组合)。
在映射服务器处,服务器可以从穿过特定路段的多个采集交通工具接收该路段的实际轨迹。为了针对沿着路段的每个有效路径(例如,每个车道、每个驾驶方向、通过交叉口的每个路径等)生成目标轨迹,可以对齐所接收的实际轨迹。对齐过程可以包括使用沿着路段所标识的检测到的对象/特征连同那些检测到的对象/特征的采集位置来使实际的、所采集的轨迹彼此相关。一旦对齐,可以基于聚合的、相关的/对齐的实际轨迹来确定每个可用车道的平均或“最佳拟合”目标轨迹等。
图11B和图11C进一步示出与地理区域1111内存在的路段关联的目标轨迹的概念。如图11B所示,地理区域1111内的第一路段1120可包括多车道道路,该多车道道路包括被指定用于沿第一方向的交通工具行驶的两个车道1122以及被指定用于沿与第一方向相反的第二方向的交通工具行驶的两个附加车道1124。车道1122和车道1124可通过双黄线1123分隔。地理区域1111还可包括与路段1120相交的分支路段1130。路段1130可包括二车道道路,每个车道被指定用于不同行驶方向。地理区域1111还可包括其它道路特征,例如停止线1132、停止标志1134、限速标志1136和危险标志1138。
如图11C所示,稀疏地图800可包括本地地图1140,该本地地图1140包括用于辅助地理区域1111内的交通工具的自主导航的道路模型。例如,本地地图1140可包括与地理区域1111内的路段1120和/或1130关联的一个或多个车道的目标轨迹。例如,本地地图1140可包括自主交通工具在穿过车道1122时可访问或依靠的目标轨迹1141和/或1142。类似地,本地地图1140可包括自主交通工具在穿过车道1124时可访问或依靠的目标轨迹1143和/或1144。此外,本地地图1140可包括自主交通工具在穿过路段1130时可访问或依靠的目标轨迹1145和/或1146。目标轨迹1147表示自主交通工具在从车道1120(以及具体来说相对于与车道1120的最右侧车道关联的目标轨迹1141)过渡到路段1130(以及具体来说相对于与路段1130的第一侧关联的目标轨迹1145)时应当跟随的优选路径。类似地,目标轨迹1148表示自主交通工具在从路段1130(以及具体来说相对于目标轨迹1146)过渡到路段1124的一部分(以及具体来说如所示相对于与车道1124的左侧车道关联的目标轨迹1143)时应当跟随的优选路径。
稀疏地图800还可包括与地理区域1111关联的其它道路相关特征的表示。例如,稀疏地图800还可包括地理区域1111中标识的一个或多个路标的表示。这类路标可包括与停止线1132关联的第一路标1150、与停止标志1134关联的第二路标1152、与限速标志1154关联的第三路标以及与危险标志1138关联的第四路标1156。这类路标可例如用来帮助自主交通工具确定它相对于所示目标轨迹的任一个的当前位置,使得交通工具可调整其航向以匹配所确定位置处的目标轨迹的方向。
在一些实施例中,稀疏地图800还可包括道路签名简档。这类道路签名简档可与关联道路的至少一个参数的任何可辨别/可测量变化关联。例如,在一些情况下,这类简档可与路面信息的变化(例如特定路段的表面粗糙度的变化、对特定路段的道路宽度的变化、沿特定路段所绘制的虚线之间的距离的变化、沿特定路段的道路曲率的变化等)关联。图11D示出道路签名简档1160的示例。虽然简档1160可表示上述参数等的任一个,但是在一个示例中,简档1160可表示如通过监测一个或多个传感器所获得的路面粗糙度的量度,所述传感器提供指示交通工具行驶特定路段时的悬架位移量的输出。
备选或并发地,简档1160可表示如基于经由行驶特定路段的交通工具上的摄像机所获得的图像数据所确定的道路宽度的变化。这类简档例如在确定自主交通工具相对于特定目标轨迹的特定位置中可以是有用的。也就是说,当自主交通工具穿过路段时,它可测量与关联该路段的一个或多个参数关联的简档。如果所测量简档能够与绘制相对沿路段的位置的参数变化的预定简档相互关连/匹配,则可使用所测量和预定的简档(例如通过重叠所测量和预定的简档的对应部分),以便确定沿路段的当前位置并且确定相对于路段的目标轨迹的当前位置。
在一些实施例中,稀疏地图800可包括基于与自主交通工具的用户关联的不同特性、环境条件和/或与驾驶相关的其它参数的不同轨迹。例如,在一些实施例中,可基于不同用户偏好和/或简档来生成不同轨迹。包括这类不同轨迹的稀疏地图800可被提供给不同用户的不同自主交通工具。例如,一些用户可能更喜欢避开收费道路,而其它用户可能更喜欢采取最短或最快路线,而不管路线上是否存在收费道路。所公开系统可基于这类不同用户偏好或简档来生成具有不同轨迹的不同稀疏地图。作为另一个示例,一些用户可能更喜欢在快速移动车道上行驶,而其它用户可能更喜欢始终保持中心车道中的位置。
不同轨迹可基于不同环境条件(例如白天和夜晚、雪、雨、雾等)来生成并且包含在稀疏地图800中。在不同环境条件下驾驶的自主交通工具可被提供有基于这类不同环境条件所生成的稀疏地图800。在一些实施例中,自主交通工具上提供的摄像机可检测环境条件,并且又可向生成和提供稀疏地图的服务器提供这种信息。例如,服务器可生成或更新已经生成的稀疏地图800,以包括对于在所检测环境条件下的自主驾驶可以是更适合或安全的轨迹。基于环境条件对稀疏地图800的更新可在自主交通工具沿道路行驶时动态执行。
与驾驶相关的其它不同参数也可用作用于生成不同稀疏地图并且提供给不同自主交通工具的基础。例如,当自主交通工具正高速行驶时,转弯可能会更紧。与特定车道而不是道路关联的轨迹可被包含在稀疏地图800中,使得自主交通工具可在跟随特定轨迹时可保持在特定车道之内。当自主交通工具上的摄像机所捕获的图像指示交通工具已经漂移到车道之外(例如穿过车道标记)时,可在交通工具内触发动作,以按照特定轨迹将交通工具带回所指定车道。
众包稀疏地图
所公开的稀疏地图可以通过众包的能力来高效地(且被动地)生成。例如,配备有摄像机(例如,通常作为当今交通工具上的OEM设备而被包括的简单的低分辨率摄像机)和适当的图像分析处理器的任何私人或商用交通工具可以用作采集交通工具。不需要特殊设备(例如,高清晰度成像和/或定位系统)。作为所公开的众包技术的结果,所生成的稀疏地图可以是极其准确的,并且可以包括极其精细的位置信息(允许10cm或更小的导航误差限制),而不需要任何专门的成像或感测设备作为对地图生成过程的输入。众包还使能对所生成的地图进行更快速得多(且廉价)的更新,因为来自由最低程度地装备以还用作采集交通工具的私人或商用交通工具穿过的任何道路的新的驾驶信息持续可用于映射服务器系统。不需要配备有高清晰度成像和映射传感器的指定交通工具。因此,可以避免与建造这种专用交通工具相关联的费用。此外,对当前公开的稀疏地图的更新可以比依赖于专用的、专门的映射交通工具(其由于其费用和专用设备而典型地被限于数量远低于已经可用于执行所公开的采集技术的私人或商业交通工具的数量的专用交通工具车队)的系统更快得多。
通过众包生成的所公开的稀疏地图可以是极其准确的,因为它们可以基于来自已经沿特定路段收集了驾驶信息的多个(数十、数百、数百万等)采集交通工具的许多输入来生成。例如,沿着特定路段行驶的每个采集交通工具可以记录其实际轨迹,并且可以确定相对于沿路段的检测到的对象/特征的位置信息。该信息从多个采集交通工具传递到服务器。实际轨迹被聚合以生成用于沿着路段的每个有效驾驶路径的细化的目标轨迹。另外,还可以聚合针对沿着路段的每个检测到的对象/特征(语义或非语义)从多个采集交通工具收集的位置信息。作为结果,每个检测到的对象/特征的所映射位置可以构成每个检测到的对象/特征的数百、数千或数百万个单独确定的位置的平均值。这种技术可以针对检测到的对象/特征产生及其准确的映射位置。
在一些实施例中,所公开的系统和方法可生成自主交通工具导航的稀疏地图。例如,所公开的系统和方法可将众包数据用于生成一个或多个自主交通工具可用来沿道路系统进行导航的稀疏地图。如本文所使用的“众包”意味着从不同时间在路段上行驶的各种交通工具(例如自主交通工具)接收数据,并且这种数据用来生成和/或更新道路模型,包括稀疏地图图块。模型或其稀疏地图图块中的任何图块又可被传送给交通工具或者以后沿路段行驶的其它交通工具,以用于帮助自主交通工具导航。道路模型可包括表示自主交通工具在穿过路段时应当跟随的优选轨迹的多个目标轨迹。目标轨迹可与从穿过路段的交通工具所收集的重构的实际轨迹相同,该重构的实际轨迹可从交通工具传送给服务器。在一些实施例中,目标轨迹可与一个或多个交通工具先前穿过路段时所采取的实际轨迹不同。目标轨迹可基于实际轨迹来生成(例如通过求平均或者任何其它适当操作)。
交通工具可上传给服务器的交通工具轨迹数据可与交通工具的实际重构轨迹对应,或者可对应于推荐轨迹,该推荐轨迹可基于交通工具的实际重构轨迹或者与其相关,但是可与实际重构轨迹有所不同。例如,交通工具可修改其实际重构轨迹,并且向服务器提交(例如推荐)修改的实际轨迹。道路模型可使用推荐的修改轨迹作为其它交通工具的自主导航的目标轨迹。
除了轨迹信息之外,构建稀疏数据地图800中可能使用的其它信息还可包括与潜在路标候选相关的信息。例如,通过信息的众包,所公开的系统和方法可标识环境中的潜在路标,并且细化路标位置。路标可由自主交通工具的导航系统用来确定和/或调整沿目标轨迹的交通工具的位置。
交通工具在沿道路行驶时可生成的重构轨迹可通过任何适当方法来获得。在一些实施例中,可通过使用例如自我运动估计(例如摄像机并且因此交通工具的车身的三维平移和三维旋转)将交通工具的运动段拼接在一起,来形成重构轨迹。旋转和平移估计可基于一个或多个图像捕获装置所捕获的图像连同来自其它传感器或装置(例如惯性传感器和速度传感器)的信息的分析来确定。例如,惯性传感器可包括配置成测量车体的平移和/或旋转的变化的加速计或其它适当传感器。交通工具可包括速度传感器,该速度传感器测量交通工具的速度。
在一些实施例中,摄像机(并且因此车体)的自我运动可基于所捕获图像的光流分析来估计。图像序列的光流分析从图像序列中标识像素的移动,并且基于所标识移动来确定交通工具的运动。自我运动可随时间并且沿路段来整合,以重构与交通工具已经跟随的路段关联的轨迹。
由多个交通工具在不同时间沿路段的多次驾驶中所收集的数据(例如重构轨迹)可用来构建稀疏地图800中包含的道路模型(例如包括目标轨迹等)。由多个交通工具在不同时间沿路段的多次驾驶中所收集的数据也可被求平均,以增加模型的精度。在一些实施例中,可从不同时间通过公共路段行驶的多个交通工具来接收与道路几何形状和/或路标有关的数据。从不同交通工具所接收的这种数据可被组合,以生成道路模型和/或更新道路模型。
沿路段的重构轨迹(以及还有目标轨迹)的几何形状可通过三维空间中的曲线来表示,该曲线可以是连接三维多项式的样条。重构轨迹曲线可从交通工具上安装的摄像机所捕获的视频流或者多个图像的分析来确定。在一些实施例中,在交通工具的当前位置前面几米的每个帧或图像中标识位置。这个位置是预计交通工具在预定时间段要行驶到的位置。这个操作可逐帧重复进行,并且同时交通工具可计算摄像机的自我运动(旋转和平移)。在每个帧或图像,由交通工具在被附连到摄像机的参考系中生成预期路径的短程模型。短程模型可被拼接在一起,以获得某个坐标系中的道路的三维模型,所述坐标系可以是任意或预定坐标系。然后可通过样条来拟合道路的三维模型,该样条可包括或连接适当阶数的一个或多个多项式。
为了在每个帧推断短程道路模型,可使用一个或多个检测模块。例如,可使用自底向上(bottom-up)车道检测模块。在道路上绘制车道标记时,自底向上车道检测模块可以是有用的。这个模块可在图像中查找边缘,并且将它们组装在一起,以形成车道标记。第二模块可连同自底向上车道检测模块一起使用。第二模块是端对端深度神经网络,该端对端深度神经网络可被训练成从输入图像来预测正确短程路径。在两种模块中,道路模型可在图像坐标系中被检测,并且被变换成三维空间,该三维空间可虚拟地附连到摄像机。
虽然重构轨迹建模方法可能因自我运动对长时间段的整合而引入误差的累积(可包括噪声分量),但是这类误差可以是无关紧要的,因为所生成模型可提供对本地标度的导航的充分精度。另外,有可能通过使用外部信息源(例如卫星图像或大地测量)来消除整合误差。例如,所公开的系统和方法可使用GNSS接收器来消除累积误差。但是,GNSS定位信号可能不一定是可用和精确的。所公开的系统和方法可实现转向应用,该转向应用微弱地取决于GNSS定位的可用性和精度。在这类系统中,GNSS信号的使用可受到限制。例如,在一些实施例中,所公开的系统可以仅为了便于数据库索引而使用GNSS信号。
在一些实施例中,与自主交通工具导航转向应用可以是相关的范围标度(例如本地标度)可以为大约50米、100米、200米、300米等。可使用这类距离,因为几何道路模型主要用于两个目的:计划前面的轨迹,以及在道路模型上定位交通工具。在一些实施例中,当控制算法按照位于前面1.3秒(或者任何其它时间,例如1.5秒、1.7秒、2秒等)的目标点来操纵交通工具时,计划任务可使用对前面40米(或者前面任何其它适当距离,例如20米、30米、50米)的典型范围使用模型。定位任务按照另一部分更详细描述的称作“尾部对齐”的方法对汽车后面60米(或者任何其它适当距离,例如50米、100米、150米等)的典型范围使用道路模型。所公开的系统和方法可生成几何模型,该几何模型对特定范围(例如100米)具有充分精度,使得计划轨迹与车道中心将不会偏离超过例如30 cm。
如上所述,可通过检测短程部分并且将它们拼接在一起,来构建三维道路模型。可通过使用摄像机所捕获的视频和/或图像、来自反映交通工具的运动的惯性传感器的数据以及主交通工具速度信号计算六度自我运动模型,来实现拼接。累积误差对某个本地范围标度可以足够小,例如大约100米。这个方面全部可在通过特定路段的单次驾驶中完成。
在一些实施例中,多次驾驶可用来对所产生模型求平均,并且进一步增加其精度。同一汽车可能多次行驶同一路线,或者多个汽车可将它们所收集的模型数据发送给中央服务器。在任何情况下,可执行匹配过程,以标识重叠模型,并且实现平均,以便生成目标轨迹。一旦满足收敛标准,所构建模型(例如包括目标轨迹)可用于操纵。后续驾驶可用于其它模型改进,并且为了适应基础设施变化。
多个汽车之间的驾驶体验(例如所感测数据)的共享在它们被连接到中央服务器时成为可行。每个交通工具客户可存储通用道路模型的部分副本,该部分副本可与其当前位置是相关的。交通工具与服务器之间的双向更新过程可由交通工具和服务器执行。以上所述的小占用面积概念使所公开系统和方法能够使用很小带宽来执行双向更新。
与潜在路标相关的信息也可被确定并且转发给中央服务器。例如,所公开的系统和方法可基于包括路标的一个或多个图像来确定潜在路标的一个或多个物理性质。物理性质可包括路标的物理大小(例如高度、宽度)、从交通工具到路标的距离、路标到前一路标之间的距离、路标的横向位置(例如路标相对于行驶车道的位置)、路标的GPS坐标、路标的类型、路标上的文本的标识等。例如,交通工具可分析摄像机所捕获的一个或多个图像,以检测潜在路标(例如限速标志)。
交通工具可以基于对一个或多个图像的分析来确定从交通工具到路标或与路标相关联的位置(例如,沿着路段的任何语义或非语义对象或特征)的距离。在一些实施例中,可以基于使用合适的图像分析方法(例如缩放方法和/或光流方法)对路标的图像的分析来确定距离。如前所述,对象/特征的位置可以包括与对象/特征相关联的一个或多个点的2D图像位置(例如,一个或多个所捕获图像中的X-Y像素位置),或者可以包括一个或多个点的3D现实世界位置(例如,通过运动/光流技术中的结构、LIDAR或RADAR信息等来确定)。在一些实施例中,所公开的系统和方法可以被配置为确定潜在路标的类型或分类。在交通工具确定某个潜在路标对应于存储在稀疏地图中的预定类型或分类的情况下,交通工具将陆标的类型或分类的指示与其位置一起传送到服务器可能就足够了。服务器可以存储这样的指示。在稍后的时间,在导航期间,导航交通工具可以捕获包括路标的表示的图像,处理该图像(例如,使用分类器),并且比较结果路标以便确认对所映射的路标的检测,并且在相对于稀疏地图来定位导航交通工具时使用所映射的路标。
在一些实施例中,在路段上行驶的多个自主交通工具可与服务器进行通信。交通工具(或客户)可生成描述它在任意坐标系中的驾驶的曲线(例如通过自我运动整合)。交通工具可检测路标,并且将它们定位在同一帧中。交通工具可向服务器上传曲线和路标。服务器可对多次驾驶从交通工具收集数据,并且生成统一道路模型。例如,如下面针对图19所述,服务器可使用所上传曲线和路标来生成具有统一道路模型的稀疏地图。
服务器还可将模型分发给客户(例如交通工具)。例如,服务器可将稀疏地图分发给一个或多个交通工具。服务器可在从交通工具接收新数据时连续或周期更新模型。例如,服务器可处理新数据,以评估数据是否包括应当触发更新或者创建服务器上的新数据的信息。服务器可向交通工具分发已更新模型或更新,以用于提供自主交通工具导航。
服务器可将一个或多个标准用于确定从交通工具所接收的新数据是否应当触发对模型的更新或者触发新数据的创建。例如,当新数据指示在特定位置的先前识别的路标不再存在或者被另一个路标取代时,服务器可确定新数据应当触发对模型的更新。作为另一个示例,当新数据指示路段已经关闭时,并且当这通过来自其它交通工具的数据所证实时,服务器可确定新数据应当触发对模型的更新。
服务器可将已更新模型(或者模型的已更新部分)分发给在对模型的更新所关联的路段上正行驶的一个或多个交通工具。服务器还可将已更新模型分发给将要在对模型的更新所关联的路段上行驶的交通工具或者其计划行程包括该路段的交通工具。例如,虽然自主交通工具在到达更新所关联的路段之前沿另一个路段行驶,但是服务器可在自主交通工具到达该路段之前将更新或者已更新模型分发给该交通工具。
在一些实施例中,远程服务器可从多个客户(例如沿公共路段行驶的交通工具)收集轨迹和路标。服务器可使用路标来匹配曲线,并且基于从多个交通工具所收集的轨迹来创建平均道路模型。服务器还可计算道路的图表以及路段的每个节点或联结处的最可能路径。例如,远程服务器可对齐轨迹,以从所收集轨迹来生成众包稀疏地图。
服务器可对于从沿公共路段行驶的多个交通工具所接收的路标性质求平均,例如由多个交通工具所测量的一个路标到另一个路标(例如沿路段的前一路标)之间的距离,以确定弧长参数,并且支持沿路径的定位以及每个客户交通工具的速度校准。服务器可对于沿公共路段行驶并且识别同一路标的多个交通工具所测量的路标的物理尺寸求平均。平均物理尺寸可用来支持距离估计,例如从交通工具到路标的距离。服务器可对于如沿公共路段所行驶并且识别同一路标的多个交通工具所测量的路标的横向位置(例如从交通工具正行驶的车道到路标的位置)求平均。平均横向位置可用来支持车道指派。服务器可对于沿同一路段行驶并且识别同一路标的多个交通工具所测量的路标的GPS坐标求平均。路标的平均GPS坐标可用来支持道路模型中的路标的全球定域或定位。
在一些实施例中,服务器可基于从交通工具所接收的数据来标识模型变化,例如构造、绕行、新标志、标志的去除等。服务器可在从交通工具接收新数据时连续或周期或即时更新模型。服务器可向交通工具分发对模型的更新或者已更新模型,以用于提供自主导航。例如,如下面进一步论述,服务器可使用众包数据来滤出交通工具所检测的“虚”路标。
在一些实施例中,服务器可分析自主驾驶期间的驾驶员干预。服务器可分析在干预发生的时间和位置从交通工具所接收的数据和/或在干预发生之前所接收的数据。服务器可标识引起干预或者与干预密切相关的数据的某些部分,例如指示临时车道关闭建立的数据、指示道路中的行人的数据。服务器可基于所标识数据来更新模型。例如,服务器可修改模型中存储的一个或多个轨迹。
图12是使用众包来生成稀疏地图(以及使用众包稀疏地图进行分发和导航)的系统的示意图。图12示出包括一个或多个车道的路段1200。多个交通工具1205、1210、1215、1220和1225可在相同时间或者在不同时间在路段1200上行驶(尽管图12中示为在相同时间出现在路段1200上)。交通工具1205、1210、1215、1220和1225的至少一个可以是自主交通工具。为了本示例的简洁起见,所有交通工具1205、1210、1215、1220和1225都被假定为自主交通工具。
每个交通工具可与其它实施例中公开的交通工具(例如交通工具200)相似,并且可包括其它实施例中公开的交通工具中包含或者与其关联的组件或装置。每个交通工具可被配备有图像捕获装置或摄像机(例如图像捕获装置122或摄像机122)。每个交通工具可经过无线通信路径1235(如虚线所示)经由一个或多个网络(例如通过蜂窝网络和/或因特网等)与远程服务器1230进行通信。每个交通工具可向服务器1230传送数据,并且从服务器1230接收数据。例如,服务器1230可从在不同时间在路段1200上行驶的多个交通工具来收集数据,并且可处理所收集数据,以生成自主交通工具道路导航模型或者对模型的更新。服务器1230可向交通工具(所述交通工具向服务器1230传送数据)传送自主交通工具道路导航模型或者对模型的更新。服务器1230可向以后在路段1200上行驶的其它交通工具传送自主交通工具道路导航模型或者对模型的更新。
当交通工具1205、1210、1215、1220和1225在路段1200上行驶时,由交通工具1205、1210、1215、1220和1225所收集(例如检测、感测或测量)的导航信息可被传送给服务器1230。在一些实施例中,导航信息可与公共路段1200关联。导航信息可包括在交通工具1205、1210、1215、1220和1225的每个通过路段1200行驶时与每个交通工具关联的轨迹。在一些实施例中,轨迹可基于交通工具1205上提供的各种传感器和装置所感测的数据来重构。例如,轨迹可基于加速计数据、速度数据、路标数据、道路几何或简档数据、交通工具定位数据和自我运动数据的至少一个来重构。在一些实施例中,轨迹可基于来自惯性传感器(例如加速计)的数据以及速度传感器所感测的交通工具1205的速度来重构。另外,在一些实施例中,轨迹可由交通工具1205、1210、1215、1220和1225的每个上的处理器基于摄像机的所感测自我运动来确定,其可指示三维平移和/或三维旋转(或旋转运动)。摄像机(并且因此车身)的自我运动可从摄像机所捕获的一个或多个图像的分析来确定。
在一些实施例中,交通工具1205的轨迹可由交通工具1205上提供的处理器来确定,并且被传送给服务器1230。在其它实施例中,服务器1230可接收交通工具1205中提供的各种传感器和装置所感测的数据,并且基于从交通工具1205所接收的数据来确定轨迹。
在一些实施例中,从交通工具1205、1210、1215、1220和1225传送给服务器1230的导航信息可包括与路面、道路几何形状或道路简档有关的数据。路段1200的几何形状可包括车道结构和/或路标。车道结构可包括路段1200的车道的总数、车道的类型(例如单向车道、双向车道、行车道、超车道等)、车道上的标记、车道的宽度等。在一些实施例中,导航信息可包括车道指派,例如交通工具在多个车道的哪一个车道中行驶。例如,车道指派可与数值“3”关联,该数值“3”指示交通工具在从左侧或右侧的第三车道上行驶。作为另一个示例,车道指派可与文本值“中心车道”关联,该文本值“中心车道”指示交通工具在中心车道上行驶。
服务器1230可在非暂时计算机可读介质(例如硬盘驱动器、致密光盘、磁带、存储器等)上存储导航信息。服务器1230可基于从多个交通工具1205、1210、1215、1220和1225所接收的导航信息来生成(例如通过服务器1230中包含的处理器)公共路段1200的自主交通工具道路导航模型的至少一部分,并且可将该模型作为稀疏地图的一部分来存储。服务器1230可基于从在不同时间在路段的车道上行驶的多个交通工具(例如1205、1210、1215、1220和1225)所接收的众包数据(例如导航信息)来确定与每个车道关联的轨迹。服务器1230可基于根据众包导航数据所确定的多个轨迹来生成自主交通工具道路导航模型或者模型的一部分(例如已更新部分)。服务器1230可将模型或者该模型的已更新部分传送给路段1200上行驶的自主交通工具1205、1210、1215、1220和1225的一个或多个或者以后在路段上行驶的任何其它自主交通工具,以用于更新交通工具的导航系统中提供的现有自主交通工具道路导航模型。自主交通工具道路导航模型可由自主交通工具用于沿公共路段1200进行自主导航中。
如上所述,自主交通工具道路导航模型可被包含在稀疏地图(例如图8所示的稀疏地图800)中。稀疏地图800可包括与沿道路的道路几何形状和/或路标相关的数据的稀疏记录,所述记录可提供引导自主交通工具的自主导航的充分信息,但是不要求过多数据存储。在一些实施例中,自主交通工具道路导航模型可与稀疏地图800分开存储,并且可在模型被执行以供导航时使用来自稀疏地图800的地图数据。在一些实施例中,自主交通工具道路导航模型可将稀疏地图800中包含的地图数据用于确定沿路段1200的目标轨迹,以用于引导自主交通工具1205、1210、1215、1220和1225或者以后沿路段1200行驶的其它交通工具的自主导航。例如,当自主交通工具道路导航模型由交通工具1205的导航系统中包含的处理器来执行时,该模型可使处理器将基于从交通工具1205所接收的导航信息所确定的轨迹与稀疏地图800中包含的预定轨迹进行比较,以验证和/或校正交通工具1205的当前行驶路线。
在自主交通工具道路导航模型中,道路特征或目标轨迹的几何形状可通过三维空间中的曲线来编码。在一个实施例中,曲线可以是三维样条,包括连接三维多项式的一个或多个样条。如本领域的技术人员会理解,样条可以是数值函数,该数值函数通过一系列多项式来分段定义,以用于拟合数据。用于拟合道路的三维几何数据的样条可包括线性样条(一阶)、二次样条(二阶)、三次样条(三阶)或者任何其它样条(其它阶数)或者它们的组合。样条可包括连接(例如拟合)道路的三维几何数据的数据点的不同阶数的一个或多个三维多项式。在一些实施例中,自主交通工具道路导航模型可包括与沿公共路段(例如路段1200)或者路段1200的车道的目标轨迹对应的三维样条。
如上所述,稀疏地图中包含的自主交通工具道路导航模型可包括其它信息,例如沿路段1200的至少一个路标的标识。路标在交通工具1205、1210、1215、1220和1225的每个上安装的摄像机(例如摄像机122)的视场内是可见的。在一些实施例中,摄像机122可捕获路标的图像。交通工具1205上提供的处理器(例如处理器180、190或者处理单元110)可处理路标的图像,以提取路标的标识信息。路标标识信息而不是路标的实际图像可被存储在稀疏地图800中。路标标识信息可要求比实际图像要少许多的存储空间。其它传感器或系统(例如GPS系统)也可提供路标的某个标识信息(例如路标的位置)。路标可包括交通标志、箭头标记、车道标记、虚线车道标记、交通灯、停止线、方向标志(例如具有指示方向的高速公路出口标志、具有指向不同方向或地点的箭头的高速公路标志)、路标信标或灯柱的至少一个。路标信标表示沿路段所安装的装置(例如RFID装置),该装置将信号传送或反射到交通工具上安装的接收器,使得当交通工具通过该装置时,由交通工具所接收的信标和装置的位置(例如从装置的GPS位置所确定)可用作将被包含在自主交通工具道路导航模型和/或稀疏地图800中的路标。
至少一个路标的标识可包括至少一个路标的位置。路标的位置可基于使用与多个交通工具1205、1210、1215、1220和1225关联的传感器系统(例如全球定位系统、基于惯性的定位系统、路标信标等)所执行的位置测量来确定。在一些实施例中,可通过对于不同交通工具1205、1210、1215、1220和1225上的传感器系统经过多次驾驶所检测、收集或接收的位置测量求平均来确定路标的位置。例如,交通工具1205、1210、1215、1220和1225可向服务器1230传送位置测量数据,服务器1230可平均位置测量,并且使用平均位置测量作为路标的位置。可通过在后续驾驶中从交通工具所接收的测量来连续细化路标的位置。
路标的标识可包括路标的大小。交通工具(例如1205)上提供的处理器可基于图像的分析来估计路标的物理大小。服务器1230可通过不同驾驶从不同交通工具接收同一路标的物理大小的多个估计。服务器1230可对不同估计求平均,以得出路标的物理大小,并且在道路模型中存储那个路标大小。物理大小估计可用来进一步确定或估计从交通工具到路标的距离。可基于交通工具的当前速度以及根据图像中出现的路标相对于摄像机的扩展焦点的位置的扩展标度来估计到路标的距离。例如,到路标的距离可通过Z= V×dt×R/D来估计,其中V是交通工具的速度,R是图像中从时间t1的路标到扩展焦点的距离,以及D是图像中从t1到t2的路标的距离的变化。dt表示(t2-t1)。例如,到路标的距离可通过Z= V×dt×R/D来估计,其中V是交通工具的速度,R是图像路标与扩展焦点之间的距离,dt是时间间隔,以及D是路标沿核线的图像位移。与上式等效的其它等式(例如Z = V × ω/Δω)可用于估计到路标的距离。在这里,V是交通工具速度,ω是图像长度(例如对象宽度),以及Δω是单位时间中的那个图像长度的变化。
当路标的物理大小为已知时,到路标的距离也可基于下式来确定:Z = f×W/ω,其中f是焦距,W是路标的大小(例如高度或宽度),ω是路标离开图像时的像素的数量。从上式,可使用ΔZ = f×W×Δω / ω2 + f×ΔW/ω来计算距离Z的变化,其中ΔW通过求平均衰减为零,并且其中Δω是表示图像中的边界框精度的像素的数量。可通过对服务器侧的多个观察求平均来计算估计路标的物理大小的值。距离估计中的所产生误差可以很小。存在使用上述公式时可出现的两个误差源,即ΔW和Δω。它们对距离误差的份额通过ΔZ= f×W×Δω / ω2 + f×ΔW/ω给出。但是,ΔW通过求平均衰减为零;因此ΔZ通过Δω(例如图像中的边界框的不精确性)来确定。
对于未知尺寸的路标,到路标的距离可通过跟踪连续帧之间的路标上的特征点来估计。例如,可在两个或更多图像帧之间跟踪限速标志上出现的某些特征。基于这些所跟踪特征,可生成每特征点的距离分布。可从距离分布来提取距离估计。例如,距离分布中出现的最频繁距离可用作距离估计。作为另一个示例,距离分布的平均数可用作距离估计。
图13示出通过多个三维样条1301、1302和1303所表示的示例自主交通工具道路导航模型。图13所示的曲线1301、1302和1303仅为了便于说明。每个样条可包括连接多个数据点1310的一个或多个三维多项式。每个多项式可以是一阶多项式、二阶多项式、三阶多项式或者具有不同阶数的任何适当多项式的组合。每个数据点1310可与从交通工具1205、1210、1215、1220和1225所接收的导航信息关联。在一些实施例中,每个数据点1310可关联于与路标(例如路标的大小、位置和标识信息)和/或道路签名简档(例如道路几何形状、道路粗糙度简档、道路曲率简档、道路宽度简档)相关的数据。在一些实施例中,一些数据点1310可关联与路标相关的数据,而其它数据点可关联与道路签名简档相关的数据。
图14示出从五次单独驾驶所接收的原始位置数据1410(例如GPS数据)。一次驾驶在相同时间由单独交通工具、在单独时间由同一交通工具或者在单独时间由单独交通工具所穿过时可与另一次驾驶分开。为了考虑位置数据1410的误差以及同一车道内的交通工具的不同位置(例如,一个交通工具可能比另一个交通工具更靠近车道左侧驾驶),服务器1230可使用一个或多个统计技术来生成地图概略图1420,以确定原始位置数据1410的变化是否表示实际差异或者统计误差。概略图1420内的每个路径又可被链接到形成该路径的原始数据1410。例如,概略图1420内的A与B之间的路径被链接到来自驾驶2、3、4和5但不是来自驾驶1的原始数据1410。概略图1420可能不够详细而无法用来导航交通工具(例如因为与上述样条不同,它组合来自同一道路上的多个车道的驾驶),但是可提供有用拓扑信息,并且可用来定义十字路口。
图15示出示出示例,通过该示例,可对地图概略图段(例如略图1420内的段A到B)内的稀疏地图生成附加细节。如图15所示,数据(例如自我运动数据、道路标记数据等)可示为沿驾驶的位置S(或者S1或S2)的函数。服务器1230可通过标识驾驶1510的路标1501、1503和1505与驾驶1520的路标1507和1509之间的唯一匹配来标识稀疏地图的路标。这种匹配算法可产生路标1511、1513和1515的标识。但是本领域的技术人员会知道,可使用其它匹配算法。例如,概率优化可用来代替唯一匹配或者与其结合。服务器1230可纵向对齐驾驶,以对齐匹配路标。例如,服务器1230可选择一次驾驶(例如驾驶1520)作为参考驾驶,并且然后偏移和/或弹性拉伸其它(一个或多次)驾驶(例如驾驶1510)以供对齐。
图16示出供稀疏地图中使用的对齐路标数据的示例。在图16的示例中,路标1610包括道路标志。图16的示例进一步示出来自多个驾驶1601、1603、1605、1607、1609、1611和1613的数据。在图16的示例中,来自驾驶1613的数据由“虚”路标组成,以及服务器1230可这样标识它,因为没有驾驶1601、1603、1605、1607、1609和1611包括驾驶1613中的所标识路标附近的路标的标识。相应地,服务器1230在路标出现的图像与路标没有出现的图像的比率超过阈值时可接受潜在路标,和/或在路标没有出现的图像与路标出现的图像的比率超过阈值时可拒绝潜在路标。
图17示出用于生成可用来众包稀疏地图的驾驶数据的系统1700。如图17所示,系统1700可包括摄像机1701和定位装置1703(例如GPS定位器)。摄像机1701和定位装置1703可被安装在交通工具(例如交通工具1205、1210、1215、1220和1225其中之一)上。摄像机1701可产生多种类型的多个数据,例如自我运动数据、交通标志数据、道路数据等。摄像机数据和位置数据可被分割为驾驶段1705。例如,驾驶段1705各自可具有来自小于1 km的驾驶的摄像机数据和位置数据。
在一些实施例中,系统1700可去除驾驶段1705中的冗余度。例如,如果路标出现在来自摄像机1701的多个图像中,则系统1700可剥离冗余数据,使得驾驶段1705仅包含路标的位置的一个副本以及与路标相关的任何元数据。作为另一示例,如果车道标记出现在来自摄像机1701的多个图像中,则系统1700可剥离冗余数据,使得驾驶段1705仅包含车道标记的位置的一个副本以及与车道标记相关的任何元数据。
系统1700还包括服务器(例如服务器1230)。服务器1230可从交通工具接收驾驶段1705,并且将驾驶段1705重新组合为单次驾驶1707。这种布置可在交通工具与服务器之间传输数据时允许降低带宽要求,同时还允许服务器存储与整个驾驶相关的数据。
图18示出进一步配置用于众包稀疏地图的图17的系统1700。如同图17中一样,系统1700包括交通工具1810,所述交通工具1810使用例如摄像机(该摄像机产生例如自我运动数据、交通标志数据、道路数据等)和定位装置(例如GPS定位器)来捕获驾驶数据。如同图17中一样,交通工具1810将所收集数据分割为驾驶段(图18中示为“DS1 1”、“DS2 1”、“DSN1”)。服务器1230然后接收驾驶段,并且从所接收段重构驾驶(图18中示为“驾驶1”)。
如图18进一步所示,系统1700还从附加交通工具接收数据。例如,交通工具1820还使用例如摄像机(该摄像机产生例如自我运动数据、交通标志数据、道路数据等)和定位装置(例如GPS定位器)来捕获驾驶数据。与交通工具交通工具1810相似,交通工具1820将所收集数据分割为驾驶段(图18中示为“DS1 2”、“DS2 2”、“DSN 2”)。服务器1230然后接收驾驶段,并且从所接收段重构驾驶(图18中示为“驾驶2”)。可使用任何数量的附加交通工具。例如,图18还包括“汽车N”,所述“汽车N”捕获驾驶数据,将它分割为驾驶段(图18中示为“DS1N”、“DS2 N”、“DSN N”),并且将它发送给服务器1230,以供重构为驾驶(图18中示为“驾驶N”)。
如图18所示,服务器1230可使用从多个交通工具(例如“汽车1”(又标记为1810)、“汽车2”(又标记为汽车1820)和“汽车N”)所收集的重构驾驶(例如“驾驶1”、“驾驶2”和“驾驶N”)来构建稀疏地图。
图19是示出生成沿路段的自主交通工具导航的稀疏地图的示例过程1900的流程图。过程1900可由服务器1230中包含的一个或多个处理装置执行。
过程1900可包括接收当一个或多个交通工具穿过路段时获取的多个图像(步骤1905)。服务器1230可从交通工具1205、1210、1215、1220和1225的一个或多个内包含的摄像机接收图像。例如,摄像机122可在交通工具1205沿路段1200行驶时捕获交通工具1205周围的环境的一个或多个图像。在一些实施例中,服务器1230还可接收剥离图像数据,所述剥离图像数据由交通工具1205上的处理器去除了冗余,如以上针对图17所述。
过程1900可进一步包括基于多个图像来标识沿路段延伸的路面特征的至少一个线表示(步骤1910)。每个线表示可表示与路面特征基本上对应的沿路段的路径。例如,服务器1230可分析从摄像机122所接收的环境图像,以标识道路边缘或车道标记,并且确定与道路边缘或车道标记关联的沿路段1200的行驶轨迹。在一些实施例中,轨迹(或者线表示)可包括样条、多项式表示或曲线。服务器1230可基于在步骤1905所接收的摄像机自我运动(例如三维平移和/或三维旋转运动)来确定交通工具1205的行驶轨迹。
过程1900还可包括基于多个图像来标识与路段关联的多个路标(步骤1910)。例如,服务器1230可分析从摄像机122所接收的环境图像,以标识一个或多个路标(例如沿路段1200的道路标志)。服务器1230可使用在一个或多个交通工具穿过路段时所获取的多个图像的分析来标识路标。为了实现众包,分析可包括与接受和拒绝关联路段的可能路标有关的规则。例如,分析可包括在路标出现的图像与路标没有出现的图像的比率超过阈值时接受潜在路标,和/或在路标没有出现的图像与路标出现的图像的比率超过阈值时拒绝潜在路标。
过程1900可包括服务器1230所执行的其它操作或步骤。例如,导航信息可包括交通工具沿路段行驶的目标轨迹,以及过程1900可包括由服务器1230聚类与路段上行驶的多个交通工具相关的交通工具轨迹,并且基于聚类交通工具轨迹来确定目标轨迹,如下面更详细论述。聚类交通工具轨迹可包括由服务器1230基于交通工具的绝对航向或者交通工具的车道指派的至少一个将与路段上行驶的交通工具相关的多个轨迹聚类为多个聚类。生成目标轨迹可包括由服务器对聚类轨迹求平均。作为另一示例,过程1900可包括对齐在步骤1905所接收的数据。如上所述,由服务器1230所执行的其它过程或步骤也可被包含在过程1900中。
所公开的系统和方法可包括其它特征。例如,所公开的系统可使用局部坐标而不是全局坐标。对于自主驾驶,一些系统可在世界坐标中呈现数据。例如,可使用地球表面的经度和纬度坐标。为了将地图用于操纵,主交通工具可确定它相对于地图的位置和取向。似乎很自然的是,使用车载GPS装置,以便在地图上定位交通工具,以及以便查找车身参考系与世界参考系之间的旋转变换(例如北、东和下)。一旦车身参考系与地图参考系对齐,可在车身参考系中表达预期路线,并且可计算或生成转向指令。
所公开的系统和方法可采用低占用面积模型来实现自主交通工具导航(例如转向控制),所述低占用面积模型可由自主交通工具本身来收集,而无需借助昂贵的勘测设备。为了支持自主导航(例如转向应用),道路模型可包括稀疏地图,该稀疏地图具有道路的几何形状、其车道结构和路标,可用来确定交通工具沿模型中包含的轨迹的定位或位置。如上所述,稀疏地图的生成可由远程服务器执行,该远程服务器与道路上行驶的交通工具进行通信并且从交通工具接收数据。数据可包括所感测数据、基于所感测数据所重构的轨迹和/或可表示修改的重构轨迹的推荐轨迹。如下面所述,服务器可将模型回传给交通工具或者以后在道路上行驶的其它交通工具,以帮助自主导航。
图20示出服务器1230的框图。服务器1230可包括通信单元2005,该通信单元2005可包括硬件组件(例如通信控制电路、交换机和天线)和软件组件(例如通信协议、计算机代码)。例如,通信单元2005可包括至少一个网络接口。服务器1230可通过通信单元2005与交通工具1205、1210、1215、1220和1225进行通信。例如,服务器1230可通过通信单元2005接收从交通工具1205、1210、1215、1220和1225所传送的导航信息。服务器1230可通过通信单元2005向一个或多个自主交通工具分发自主交通工具道路导航模型。
服务器1230可包括至少一个非暂时存储介质2010,例如硬盘驱动器、致密光盘、磁带等。存储装置1410可配置成存储数据,例如从交通工具1205、1210、1215、1220和1225所接收的导航信息和/或服务器1230基于导航信息生成的自主交通工具道路导航模型。存储装置2010可配置成存储任何其它信息,例如稀疏地图(例如以上针对图8所述的稀疏地图800)。
作为存储装置2010的补充或替代,服务器1230可包括存储器2015。存储器2015可与存储器140或150相似或者不同。存储器2015可以是非暂时存储器,例如闪速存储器、随机存取存储器等。存储器2015可配置成存储数据,例如由处理器(例如处理器2020)可执行的计算机代码或指令、地图数据(例如稀疏地图800的数据)、自主交通工具道路导航模型和/或从交通工具1205、1210、1215、1220和1225所接收的导航信息。
服务器1230可包括至少一个处理装置2020,所述处理装置2020配置成执行存储器2015中存储的计算机代码或指令,以执行各种功能。例如,处理装置2020可分析从交通工具1205、1210、1215、1220和1225所接收的导航信息,并且基于该分析来生成自主交通工具道路导航模型。处理装置2020可控制通信单元1405将自主交通工具道路导航模型分发给一个或多个自主交通工具(例如交通工具1205、1210、1215、1220和1225的一个或多个或者以后在路段1200上行驶的任何交通工具)。处理装置2020可与处理器180、190或处理单元110相似或者不同。
图21示出存储器2015的框图,所述存储器2015可存储计算机代码或指令,以用于执行生成供自主交通工具导航中使用的道路导航模型的一个或多个操作。如图21所示,存储器2015可存储一个或多个模块,以用于执行处理交通工具导航信息的操作。例如,存储器2015可包括模型生成模块2105和模型分发模块2110。处理器2020可执行存储器2015中包含的模块2105和2110的任一个中存储的指令。
模型生成模块2105可存储指令,所述指令在由处理器2020执行时可基于从交通工具1205、1210、1215、1220和1225所接收的导航信息来生成公共路段(例如路段1200)的自主交通工具道路导航模型的至少一部分。例如,在生成自主交通工具道路导航模型中,处理器2020可将沿公共路段1200的交通工具轨迹聚类为不同聚类。处理器2020可基于不同聚类的每个的聚类交通工具轨迹来确定沿公共路段1200的目标轨迹。这种操作可包括查找每个聚类中的聚类交通工具轨迹的均值或平均轨迹(例如通过对表示聚类交通工具轨迹的数据求平均)。在一些实施例中,目标轨迹可与公共路段1200的单个车道关联。
道路模型和/或稀疏地图可存储与路段关联的轨迹。这些轨迹可称作目标轨迹,所述目标轨迹被提供给自主交通工具以供自主导航。目标轨迹可从多个交通工具接收,或者可基于从多个交通工具所接收的实际轨迹或推荐轨迹(具有某些修改的实际轨迹)来生成。可采用从其它交通工具所接收的新轨迹来连续更新道路模型或稀疏地图中包含的目标轨迹(或者对其求平均)。
在路段上行驶的交通工具可通过各种传感器收集数据。数据可包括路标、道路签名简档、交通工具运动(例如加速计数据、速度数据)、交通工具位置(例如GPS数据),并且可重构实际轨迹本身或者将数据传送给服务器,该服务器将重构交通工具的实际轨迹。在一些实施例中,交通工具可向服务器1230传送与轨迹相关的数据(例如任意参考系中的曲线)、路标数据以及沿行驶路径的车道对齐。在多次驾驶沿同一路段行驶的各种交通工具可具有不同轨迹。服务器1230可从通过聚类过程自交通工具所接收的轨迹来标识与每个车道关联的路线或轨迹。
图22示出聚类与交通工具1205、1210、1215、1220和1225关联的交通工具轨迹以用于确定公共路段(例如路段1200)的目标轨迹的过程。从聚类过程所确定的目标轨迹或者多个目标轨迹可被包含在自主交通工具道路导航模型或稀疏地图800中。在一些实施例中,沿路段1200行驶的交通工具1205、1210、1215、1220和1225可向服务器1230传送多个轨迹2200。在一些实施例中,服务器1230可基于路标、道路几何形状以及从交通工具1205、1210、1215、1220和1225所接收的交通工具运动信息来生成轨迹。为了生成自主交通工具道路导航模型,服务器1230可将交通工具轨迹1600聚类为多个聚类2205、2210、2215、2220和2230,如图22所示。
可使用各种标准来执行聚类。在一些实施例中,聚类中的所有驾驶相对沿路段1200的绝对航向可以是相似的。可从交通工具1205、1210、1215、1220和1225所接收的GPS信号来获得绝对航向。在一些实施例中,可使用航位推测来获得绝对航向。如本领域的技术人员会理解,航位推测可用来通过使用先前确定的位置、估计速度等,来确定当前位置并且因此确定交通工具1205、1210、1215、1220和1225的航向。通过绝对航向所聚类的轨迹对于标识沿道路的路线可以是有用的。
在一些实施例中,聚类中的所有驾驶相对沿路段1200上的驾驶的车道指派(例如在交叉口之前和之后的同一车道中)可以是相似的。通过车道指派所聚类的轨迹对于标识沿道路的车道可以是有用的。在一些实施例中,两种标准(例如绝对航向和车道指派)均可用于聚类。
在每个聚类2205、2210、2215、2220、2225和2230中,轨迹可被求平均,以获得与特定聚类关联的目标轨迹。例如,来自与同一车道聚类关联的多次驾驶的轨迹可被求平均。平均轨迹可以是与特定车道关联的目标轨迹。为了对轨迹聚类求平均,服务器1230可选择任意轨迹C0的参考系。对于所有其它轨迹(C1、...、Cn),服务器1230可查找将Ci映射到C0的刚性变换,其中i=1、2、...、n,其中n为正整数,对应于聚类中包含的轨迹的总数。服务器1230可计算C0参考系中的平均曲线或轨迹。
在一些实施例中,路标可定义不同驾驶之间的弧长匹配,该弧长匹配可用于轨迹与车道的对齐。在一些实施例中,交叉口之前和之后的车道标记可用于轨迹与车道的对齐。
为了从轨迹组装车道,服务器1230可选择任意车道的参考系。服务器1230可将部分重叠车道映射到所选参考系。服务器1230可继续映射,直到所有车道处于同一参考系中。彼此相邻的车道可被对齐,好像它们是同一车道一样,并且它们以后可被横向偏移。
沿路段所识别的路标可被映射到公共参考系,首先在车道级,然后在交叉口级。例如,相同路标可被多个交通工具在多次驾驶中识别多次。与在不同驾驶中接收的相同路标有关的数据可略有不同。这类数据可被求平均并且映射到同一参考系,例如C0参考系。作为补充或替代,可计算在多次驾驶中接收的同一路标的数据的变化。
在一些实施例中,路段120的每个车道可与目标轨迹和某些路标关联。目标轨迹或者多个这类目标轨迹可被包含在自主交通工具道路导航模型中,所述自主交通工具道路导航模型以后可由沿同一路段1200行驶的其它自主交通工具使用。由交通工具1205、1210、1215、1220和1225在沿路段1200行驶的同时所标识的路标可与目标轨迹关联地记录。可采用在后续驾驶中从其它交通工具所接收的新数据来连续或周期更新目标轨迹和路标的数据。
对于自主交通工具的定位,所公开的系统和方法可使用扩展卡尔曼滤波器。可基于三维位置数据和/或三维取向数据、通过自我运动的整合对交通工具当前位置前面的将来位置的预测来确定交通工具的位置。交通工具的定位可通过路标的图像观察来校正或调整。例如,当交通工具检测摄像机所捕获的图像内的路标时,可将路标与道路模型或稀疏地图800内存储的已知路标进行比较。已知路标可具有沿道路模型和/或稀疏地图800中存储的目标轨迹的已知位置(例如GPS数据)。基于当前速度和路标的图像,可估计从交通工具到路标的距离。沿目标轨迹的位置可基于到路标的距离和路标的已知位置(被存储在道路模型或稀疏地图800中)来调整。道路模型和/或稀疏地图800中存储的路标的位置/定位数据(例如来自多次驾驶的平均值)可被假定是精确的。
在一些实施例中,所公开的系统可形成闭环子系统,其中交通工具六自由度位置(例如三维位置数据加上三维取向数据)的估计可用于导航自主交通工具(例如操纵其方向盘)以到达预期点(例如所存储前面的1.3秒)。从操纵和实际导航所测量的数据又可用来估计六自由度位置。
在一些实施例中,沿道路的灯杆(例如灯柱和电力或电缆线杆)可用作用于定位交通工具的路标。其它路标(例如交通标志、交通灯、道路上的箭头、停止线)以及沿路段的对象的静态特征或签名也可用作用于定位交通工具的路标。当杆用于定位时,可使用杆的x观察(即,从交通工具的视角)而不是y观察(即,到杆的距离),因为杆的底部可被遮蔽,并且有时它们不在道路平面上。
图23示出交通工具的导航系统,该导航系统可用于使用众包稀疏地图的自主导航。为了便于说明,交通工具称作交通工具1205。图23所示的交通工具可以是本文所公开的任何其它交通工具,包括例如交通工具1210、1215、1220和1225以及其它实施例中所示的交通工具200。如图12所示,交通工具1205可与服务器1230进行通信。交通工具1205可包括图像捕获装置122(例如摄像机122)。交通工具1205可包括导航系统2300,该导航系统2300配置用于为交通工具1205在道路(例如路段1200)上行驶提供导航引导。交通工具1205还可包括其它传感器,例如速度传感器2320和加速计2325。速度传感器2320可配置成检测交通工具1205的速度。加速计2325可配置成检测交通工具1205的加速度或减速度。图23所示的交通工具1205可以是自主交通工具,以及导航系统2300可用于为自主驾驶提供导航引导。备选地,交通工具1205也可以是非自主的人工控制交通工具,以及导航系统2300仍然可用于提供导航引导。
导航系统2300可包括通信单元2305,该通信单元2305配置成通过通信路径1235与服务器1230进行通信。导航系统2300还可包括GPS单元2310,该GPS单元2310配置成接收和处理GPS信号。导航系统2300可进一步包括至少一个处理器2315,所述处理器2315配置成处理数据,例如GPS信号、来自稀疏地图800(所述稀疏地图800可被存储在交通工具1205上提供的存储装置上和/或从服务器1230接收)的地图数据、由道路简档传感器2330所感测的道路几何形状、由摄像机122所捕获的图像和/或从服务器1230所接收的自主交通工具道路导航模型。道路简档传感器2330可包括用于测量不同类型的道路简档(例如路面粗糙度、道路宽度、道路高程、道路曲率等)的不同类型的装置。例如,道路简档传感器2330可包括一种装置,该装置测量交通工具2305的悬架的运动,以得出道路粗糙度简档。在一些实施例中,道路简档传感器2330可包括雷达传感器,以测量从交通工具1205到道路两侧(例如道路两侧的屏障)的距离,由此测量道路的宽度。在一些实施例中,道路简档传感器2330可包括配置用于测量道路的上下高程的装置。在一些实施例中,道路简档传感器2330可包括配置成测量道路曲率的装置。例如,摄像机(例如摄像机122或另一个摄像机)可用来捕获显示道路曲率的道路的图像。交通工具1205可使用这类图像来检测道路曲率。
至少一个处理器2315可被编程为从摄像机122接收与交通工具1205关联的至少一个环境图像。至少一个处理器2315可分析至少一个环境图像,以确定与交通工具1205相关的导航信息。导航信息可包括与交通工具1205沿路段1200的行驶相关的轨迹。至少一个处理器2315可基于摄像机122(并且因此交通工具)的运动(例如三维平移和三维旋转运动)来确定轨迹。在一些实施例中,至少一个处理器2315可基于对摄像机122所获取的多个图像的分析来确定摄像机122的平移和旋转运动。在一些实施例中,导航信息可包括车道指派信息(例如交通工具1205沿路段1200在哪一个车道中行驶)。从交通工具1205传送给服务器1230的导航信息可由服务器用来生成和/或更新自主交通工具道路导航模型,该自主交通工具道路导航模型可从服务器1230回传给交通工具1205,以用于为交通工具1205提供自主导航引导。
至少一个处理器2315还可被编程为将导航信息从交通工具1205传送给服务器1230。在一些实施例中,导航信息可连同道路信息一起被传送给服务器1230。道路位置信息可包括GPS单元2310所接收的GPS信号、路标信息、道路几何形状、车道信息等的至少一个。至少一个处理器2315可从服务器1230接收自主交通工具道路导航模型或者该模型的一部分。从服务器1230所接收的自主交通工具道路导航模型可包括基于从交通工具1205传送给服务器1230的导航信息的至少一个更新。从服务器1230传送给交通工具1205的模型的部分可包括模型的已更新部分。至少一个处理器2315可基于所接收的自主交通工具道路导航模型或者该模型的已更新部分来引起交通工具1205进行的至少一个导航操纵(例如,转向,例如转弯、制动、加速、超过另一个交通工具等)。
至少一个处理器2315可配置成与交通工具1205中包含的各种传感器和组件(包括通信单元1705、GPS单元2315、摄像机122、速度传感器2320、加速计2325和道路简档传感器2330)进行通信。至少一个处理器2315可从各种传感器和组件收集信息或数据,并且通过通信单元2305将信息或数据传送给服务器1230。作为替代或补充,交通工具1205的各种传感器或组件还可与服务器1230进行通信,并且向服务器1230传送传感器或组件所收集的数据或信息。
在一些实施例中,交通工具1205、1210、1215、1220和1225可相互通信,并且可相互共享导航信息,使得交通工具1205、1210、1215、1220和1225的至少一个可例如基于其它交通工具所共享的信息使用众包来生成自主交通工具道路导航模型。在一些实施例中,交通工具1205、1210、1215、1220和1225可相互共享导航信息,并且每个交通工具可更新交通工具中提供的它自己的自主交通工具道路导航模型。在一些实施例中,交通工具1205、1210、1215、1220和1225的至少一个(例如交通工具1205)可用作中枢交通工具。中枢交通工具(例如交通工具1205)的至少一个处理器2315可执行由服务器1230所执行的功能的部分或全部。例如,中枢交通工具的至少一个处理器2315可与其它交通工具进行通信,并且从其它交通工具接收导航信息。中枢交通工具的至少一个处理器2315可基于从其它交通工具所接收的共享信息来生成自主交通工具道路导航模型或者对该模型的更新。中枢交通工具的至少一个处理器2315可向其它交通工具传送自主交通工具道路导航模型或者对该模型的更新,以用于提供自主导航引导。
基于稀疏地图的导航
如先前所述,包括稀疏地图800的自主交通工具道路导航模型可包括与路段关联的多个映射车道标记和多个映射对象/特征。如下面更详细论述,当自主交通工具导航时,可使用这些映射车道标记、对象和特征。例如,在一些实施例中,映射对象和特征可用于相对于地图(例如,相对于映射目标轨迹)来定位主交通工具。映射车道标记可用来(例如作为检查)确定相对于计划或目标轨迹的横向位置和/或取向。通过这个位置信息,自主交通工具可以能够调整航向方向,以匹配所确定位置处的目标轨迹的方向。
交通工具200可配置成检测给定路段中的车道标记。路段可包括道路上的任何标记,以用于引导道路上的交通工具交通。例如,车道标记可以是区分行驶车道的边缘的连续线或虚线。车道标记还可包括双线,例如双连续线、双虚线或者连续线和虚线的组合,指示例如相邻车道中是否准许超车。车道标记还可包括指示例如出口匝道的减速车道的高速公路入口和出口标记或者指示车道仅转弯或者车道结束的虚线。标记可进一步指示工作区、临时车道变换、通过十字路口的行驶路径、中间带、专用车道(例如自行车车道、HOV车道等)或者其它各种各样的标记(例如人行横道、减速带、铁路道口、停止线等)。
交通工具200可使用摄像机(例如图像获取单元120中包含的图像捕获装置122和124)来捕获周围车道标记的图像。交通工具200可分析图像,以基于所捕获图像的一个或多个内所标识的特征来检测与车道标记关联的点位置。这些点位置可被上传到服务器,以表示稀疏地图800中的车道标记。取决于摄像机的位置和视场,可从单个图像同时对交通工具两侧检测车道标记。在其它实施例中,不同摄像机可用来捕获交通工具多侧的图像。不是上传车道标记的实际图像,标记而是可作为样条或一系列点被存储在稀疏地图800中,因此减小稀疏地图800的大小和/或必须由交通工具远程上传的数据。
图24A-24D示出可由交通工具200所检测以表示特定车道标记的示例性点位置。与上述路标相似,交通工具200可使用各种图像识别算法或软件来标识所捕获图像内的点位置。例如,交通工具200可识别一系列边缘点、角点或者与特定车道标记关联的各种其它点位置。图24A示出可由交通工具200所检测的连续车道标记2410。车道标记2410可表示道路的外侧边缘,通过连续白线所表示。如图24A所示,交通工具200可配置成检测沿车道标记的多个边缘位置点2411。可以以足以创建稀疏地图中的映射车道标记的任何间隔来收集位置点2411,以表示车道标记。例如,可通过每米检测边缘一个点、每五米检测边缘一个点或者以其它适当间距来表示车道标记。在一些实施例中,间距可通过其它因素而不是以设置间隔来确定,例如基于交通工具200具有检测点的位置的最高置信度评级的点。虽然图24A示出车道标记2410的内边缘上的边缘位置点,但是可在线条的外侧边缘或者沿两个边缘来收集点。此外,虽然图24A中示出单线,但是可对双连续线检测相似边缘点。例如,可沿连续线的一个或两者的边缘来检测点2411。
交通工具200还可根据车道标记的类型或形状以不同方式表示车道标记。图24B示出可由交通工具200所检测的示例性虚线车道标记2420。不是如图24A中一样标识边缘点,交通工具而是可检测表示车道虚线的角的一系列角点2421,以定义虚线的完整边界。虽然图24B示出所定位的给定虚线标记的每个角,但是交通工具200可检测或上传该图所示的点的子集。例如,交通工具200可检测给定虚线标记的前缘或前角,或者可检测最靠近车道内部的两个角点。此外,并非可捕获每一个虚线标记,例如,交通工具200可捕获和/或记录表示虚线标记的样本(例如每隔一个、每第三个、每第五个等)或者以预定义间距(例如每米、每五米、每十米等)的虚线标记的点。还可对相似车道标记来检测角点,例如显示车道用于出口匝道、特定车道结束的标记或者可具有可检测角点的其它各种车道标记。还可对于由双虚线或者连续线和虚线的组合所组成的车道标记来检测角点。
在一些实施例中,被上传到服务器以生成映射车道标记的点可表示除了所检测边缘点或角点之外的其它点。图24C示出可表示给定车道标记的中心线的一系列点。例如,连续车道2410可通过沿车道标记的中心线2440的中心线点2441来表示。在一些实施例中,交通工具200可配置成使用各种图像识别技术(例如卷积神经网络(CNN)、尺度不变特征变换(SIFT)、定向梯度直方图(HOG)特征或其它技术)来检测这些中心点。备选地,交通工具200可检测其它点(例如图24A所示的边缘点2411),并且可例如通过检测沿每个边缘的点并且确定边缘点之间的中点来计算中心线点2441。类似地,虚线车道标记2420可通过沿车道标记的中心线2450的中心线点2451来表示。中心线点可如图24C所示位于虚线的边缘,或者位于沿中心线的各种其它位置。例如,每个虚线可通过虚线的几何中心中的单个点来表示。点也可沿中心线以预定间隔隔开(例如每米、5米、10米等)。中心线点2451可由交通工具200直接检测,或者可基于其它所检测参考点(例如角点2421,如图24B所示)来计算。中心线还可用来使用如上所述的类似技术来表示其它车道标记类型(例如双线)。
在一些实施例中,交通工具200可标识表示其它特征的点,例如两个相交车道标记之间的顶点。图24D示出表示两个车道标记2460和2465之间的相交点的示例性点。交通工具200可计算表示两个车道标记之间的相交点的顶点2466。例如,车道标记2460或2465其中之一可表示路段中的列车穿过区域或另一穿过区域。虽然车道标记2460和2465被示为相互垂直相交,但是可检测各种其它配置。例如,车道标记2460和2465可以以其它角度相交,或者车道标记的一个或两者可端接在顶点2466。类似技术还可适用于虚线或其它车道标记类型之间的相交点。除了顶点2466之外,各种其它点2467还可被检测,从而提供与车道标记2460和2465的取向有关的其它信息。
交通工具200可将现实世界坐标与车道标记的每个所检测点关联。例如,可生成包括每个点的坐标的位置标识符,以上传到服务器以供映射车道标记。位置标识符可进一步包括与点有关的其它标识信息,包括点是否表示角点、边缘点、中心点等。因此,交通工具200可配置成基于图像的分析来确定每个点的现实世界位置。例如,交通工具200可检测图像中的其它特征(例如以上所述的各种路标),以定位车道标记的现实世界位置。这可涉及确定图像中的车道标记相对于所检测路标的位置,或者基于所检测路标来确定交通工具的位置并且然后确定从交通工具(或者交通工具的目标轨迹)到车道标记的距离。当路标不可用时,车道标记点的位置可相对于基于航位推测所确定的交通工具的位置来确定。位置标识符中包含的现实世界坐标可被表示为绝对坐标(例如纬度/经度坐标),或者可相对于其它特征,例如基于沿目标轨迹的纵向位置以及离目标轨迹的横向距离。位置标识符然后可被上传到服务器,以供生成导航模型(例如稀疏地图800)中的映射车道标记。在一些实施例中,服务器可构建表示路段的车道标记的样条。备选地,交通工具200可生成样条,并且将它上传到服务器,以便被记录在导航模型中。
图24E示出包括映射车道标记的对应路段的示例性导航模型或稀疏地图。稀疏地图可包括交通工具沿路段要跟随的目标轨迹2475。如上所述,目标轨迹2475可表示交通工具在行驶于对应路段时所采取的理想路径,或者可位于道路上的其它位置(例如道路的中心线等)。可通过以上所述的各种方法,例如基于穿过同一路段的交通工具的两个或更多重构轨迹的聚合(例如加权组合),来计算目标轨迹2475。
在一些实施例中,可对所有交通工具类型并且对所有道路、交通工具和/或环境条件同等地生成目标轨迹。但是,在其它实施例中,在生成目标轨迹中还可考虑各种其它因素或变量。可对不同类型的交通工具(例如私家车、轻型卡车和全挂车)生成不同的目标轨迹。例如,与较大的半挂车相比,可对小型私家车生成具有较小转弯半径的目标轨迹。在一些实施例中,也可考虑道路、交通工具和环境条件。例如,可对于不同的道路条件(例如潮湿、结冰、干燥等)、交通工具条件(例如轮胎条件或估计轮胎条件、制动条件或估计制动条件、剩余燃油量等)或环境因素(例如时刻、能见度、天气等)生成不同的目标轨迹。目标轨迹还可取决于特定路段的一个或多个方面或特征(例如限速、转弯的频率和大小、坡度等)。在一些实施例中,各种用户设定也可用来确定目标轨迹,例如设置驾驶模式(例如预期驾驶侵略性、经济模式等)。
稀疏地图还可包括表示沿路段的车道标记的映射车道标记2470和2480。映射车道标记可通过多个位置标识符2471和2481来表示。如上所述,位置标识符可包括与所检测车道标记关联的点的现实世界坐标中的位置。与模型中的目标轨迹相似,车道标记也可包括高程数据,并且可被表示为三维空间中的曲线。例如,曲线可以是连接适当阶数的三维多项式的样条,曲线可基于位置标识符来计算。映射车道标记还可包括与车道标记有关的其它信息或元数据,例如车道标记的类型的标识符(例如具有相同行驶方向的两个车道之间、相反行驶方向的两个车道之间、道路的边缘等)和/或车道标记的其它特性(例如连续、虚线、单线、双线、黄色、白色等)。在一些实施例中,可例如使用众包技术在模型内连续更新映射车道标记。同一交通工具可在行驶于同一路段的多个时机期间上传位置标识符,或者数据可从在不同时间行驶于该路段的多个交通工具(例如1205、1210、1215、1220和1225)来选择。稀疏地图800然后可基于从交通工具所接收并且存储在系统中的后续位置标识符来更新或细化。当映射车道标记被更新和细化时,已更新道路导航模型和/或稀疏地图可被分发给多个自主交通工具。
生成稀疏地图中的映射车道标记还可包括基于图像中或者实际车道标记本身中的异常来检测和/或减轻错误。图24F示出与检测车道标记2490关联的示例性异常2495。异常2495可出现在由交通工具200例如从阻隔车道标记的摄像机视图的物体、透镜上的碎片等所捕获的图像中。在一些情况下,异常可归因于车道标记本身,所述车道标志可能被损坏或磨损或者例如被道路上的灰尘、碎片、水、雪或其它材料部分覆盖。异常2495可导致错误点2491被交通工具200所检测。稀疏地图800可提供正确的映射车道标记而排除错误。在一些实施例中,交通工具200可例如通过检测图像中的异常2495或者通过基于异常之前和之后的所检测车道标记点标识错误,来检测错误点2491。基于检测异常,交通工具可忽略点2491,或者可将它调整为与其它所检测点一致。在其它实施例中,例如通过基于同一行程期间所上传的其它点或者基于来自沿同一路段的先前行程的数据的聚合确定点处于预计阈值之外,可在已经上传点之后校正错误。
导航模型和/或稀疏地图中的映射车道标记也可用于行驶于对应道路的自主交通工具进行的导航。例如,沿目标轨迹进行导航的交通工具可周期地使用稀疏地图中的映射车道标记将自身与目标轨迹对齐。如上所述,在路标之间,交通工具可基于航位推测进行导航,其中交通工具使用传感器来确定其自我运动,并且估计它相对于目标轨迹的位置。误差可随时间推移而累积,以及相对于目标轨迹的交通工具位置确定可变得越来越不精确。相应地,交通工具可使用稀疏地图800中出现的车道标记(及其已知位置)来减少位置确定中的航位推测引起的误差。这样,稀疏地图800中包含的所标识车道标记可用作导航锚点,从其中可确定交通工具相对于目标轨迹的精确位置。
图25A示出可用于基于映射车道标记的导航的交通工具周围环境的示例性图像2500。图像2500可例如由交通工具200通过图像获取单元120中包含的图像捕获装置122和124来捕获。图像2500可包括至少一个车道标记2510的图像,如图25A所示。图像2500还可包括如上所述用于导航的一个或多个路标2521,例如道路标志。还示出图25A所示的一些元素以供参考,例如所捕获图像2500中未出现但是被交通工具200所检测和/或确定的元素2511、2530和2520。
使用以上针对图24A-D和图24F所述的各种技术,交通工具可分析图像2500,以标识车道标记2510。各种点2511可被检测为对应于图像中的车道标记的特征。例如点2511可对应于车道标记的边缘、车道标记的角、车道标记的中点、两个相交车道标记之间的顶点或者各种其它特征或位置。点2511检测为对应于从服务器所接收的导航模型中存储的点的位置。例如,如果接收包含表示映射车道标记的中心线的点的稀疏地图,则还可基于车道标记2510的中心线来检测点2511。
交通工具还可确定元素2520所表示并且沿目标轨迹定位的纵向位置。例如通过检测图像2500内的路标2521并且将测量位置与道路模型或稀疏地图800中存储的已知路标位置进行比较,可从图像2500来确定纵向位置2520。沿目标轨迹的位置然后可基于到路标的距离和路标的已知位置来确定。纵向位置2520还可从除了用来确定车道标记的位置的图像之外的图像来确定。例如,可通过检测与图像2500同时或接近同时拍摄的、来自图像获取单元120内的其它摄像机的图像中的路标,来确定纵向位置2520。在一些情况下,交通工具可能没有靠近任何路标或者用于确定纵向位置2520的其它参考点。在这类情况下,交通工具可基于航位推测进行导航,并且因此可使用传感器来确定其自我运动,并且估计相对于目标轨迹的纵向位置2520。交通工具还可确定表示交通工具与(一个或多个)所捕获图像中所观察的车道标记2510之间的实际距离的距离2530。在确定距离2530中可考虑摄像机角度、交通工具的速度、交通工具的宽度或者各种其它因素。
图25B示出交通工具在道路导航模型中基于映射车道标记的横向定位校正。如上所述,交通工具200可使用交通工具200所捕获的一个或多个图像来确定交通工具200与车道标记2510之间的距离2530。交通工具200还可有权访问道路导航模型(例如稀疏地图800),该道路导航模型可包括映射车道标记2550和目标轨迹2555。可使用上述技术、例如使用多个交通工具所捕获的众包位置标识符对映射车道标记2550进行建模。还可使用先前所述的各种技术来生成目标轨迹2555。交通工具200还可如以上针对图25A所述来确定或估计沿目标轨迹2555的纵向位置2520。交通工具200然后可基于目标轨迹2555与对应于纵向位置2520的映射车道标记之间的横向距离来确定预计距离2540。可通过将使用(一个或多个)所捕获图像所测量的实际距离2530与来自模型的预计距离2540进行比较,来校正或调整交通工具200的横向定位。
图25C和图25D提供了与用于在导航期间基于稀疏地图中的所映射路标/对象/特征来定位主交通工具的另一示例相关联的图示。图25C概念性地表示从沿着路段2560导航的交通工具捕获的一系列图像。在该示例中,路段2560包括由道路边缘2561和2562以及中央车道标记2563描绘的两车道分开的高速公路的直段。如所示,主交通工具正沿着与映射的目标轨迹2565相关联的车道2564导航。因此,在理想情况下(并且在没有影响者的情况下,例如在道路中存在目标交通工具或对象等),当主交通工具沿着路段2560的车道2564导航时,主交通工具应当紧密地跟踪所映射的目标轨迹2565。实际上,当主交通工具沿着映射的目标轨迹2565导航时,主交通工具可能经历漂移。对于有效且安全的导航,该漂移应维持在可接受的限度内(例如,距离目标轨迹2565+/-10cm的横向位移或任何其它合适的阈值)。为了周期性地考虑漂移并进行任何所需的路线校正以确保主交通工具遵循目标轨迹2565,所公开的导航系统可以能够使用被包括在稀疏地图中的一个或多个所映射特征/对象沿目标轨迹2565来定位主交通工具(例如,确定主交通工具相对于目标轨迹2565的横向和纵向位置)。
作为简单的示例,图25C示出了限速标志2566,当主交通工具沿着路段2560导航时,限速标志2566可以出现在五个不同的、顺序捕获的图像中。例如,在第一时间t0,标志2566可以出现在接近地平线的所捕获图像中。当主交通工具接近标志2566时,在时间t1、t2、t3和t4的后续捕获的图像中,标志2566将出现在所捕获图像的不同2D X-Y像素位置处。例如,在所捕获的图像空间中,标志2566将沿着曲线2567(例如,延伸通过五个所捕获图像帧中的每一个图像帧中的标志中心的曲线)向下和向右移动。当标志2566被主交通工具接近时,标志2566看起来在大小方面也将增加(即,它将占据后续捕获的图像中的大量像素)。
可以利用诸如标志2566之类的对象的图像空间表示中的这些变化来确定主交通工具沿目标轨迹的局部位置。例如,如本发明中所描述,任何可检测对象或特征(例如,像如标志2566的语义特征或可检测非语义特征)可由先前穿过路段(例如,路段2560)的一个或多个采集交通工具标识。映射服务器可以从多个交通工具收集所采集的驾驶信息、聚合并关联该信息、并且生成稀疏地图,其包括例如用于路段2560的车道2564的目标轨迹2565。稀疏地图还可存储标志2566的位置(连同类型信息等)。在导航期间(例如,在进入路段2560之前),可向主交通工具提供包括路段2560的稀疏地图的地图图块。为了在路段2560的车道2564中导航,主交通工具可遵循所映射的目标轨迹2565。
标志2566的所映射表示可由主交通工具用于相对于目标轨迹来定位其自身。例如,主交通工具上的摄像机将捕获主交通工具的环境的图像2570,并且所捕获的图像2570可以包括具有某个大小和某个X-Y图像位置的标志2566的图像表示,如图25D中所示。该大小和X-Y图像位置可用于确定主交通工具相对于目标轨迹2565的位置。例如,基于包括标志2566的表示的稀疏地图,主交通工具的导航处理器可以确定响应于沿目标轨迹2565行驶的主交通工具,标志2566的表示应当出现在捕获的图像中,使得标志2566的中心将沿线2567移动(在图像空间中)。如果诸如图像2570之类的捕获的图像示出了偏离线2567的中心(或其它参考点)(例如,预期图像空间轨迹),则主交通工具导航系统可以确定在捕获的图像的时间它没有位于目标轨迹2565上。然而,根据图像,导航处理器可以确定适当的导航校正以使主交通工具返回到目标轨迹2565。例如,如果分析示出标志2566的图像位置(其在图像中向线2567上的预期图像空间位置的左边移位了距离2572,则导航处理器可以引起主交通工具的朝向改变(例如,改变车轮的转向角)以将主交通工具向左移动距离2573。以这种方式,每个捕获的图像可以被用作反馈回路过程的一部分,使得标志2566的观察图像位置与预期图像轨迹2567之间的差异可以被最小化,以确保主交通工具沿着目标轨迹2565以很小偏差到没有偏差而继续。当然,可用的映射对象越多,所描述的定位技术可以使用得越频繁,这可以减少或消除漂移引起的与目标轨迹2565的偏差。
上述过程可用于检测主交通工具相对于目标轨迹的横向取向或位移。主交通工具相对于目标轨迹2565的定位还可以包括确定目标交通工具沿着目标轨迹的纵向位置。例如,捕获的图像2570包括具有某个图像大小(例如,2D X-Y像素区域)的标志2566的表示。当映射的标志2566沿着线2567行驶通过图像空间时(例如,当标记的大小逐渐增加时,如图25C中所示),该大小可以与映射的标志2566的预期图像大小相比较。基于图像2570中的标志2566的图像大小,并且基于相对于所映射的目标轨迹2565的图像空间中的预期大小进展,主交通工具可以确定其相对于目标轨迹2565的纵向位置(在图像2570被捕获时)。如上所述,与相对于目标轨迹2565的任何横向位移相耦合的该纵向位置允许当主交通工具沿道路2560导航时主交通工具相对于目标轨迹2565的完全定位。
图25C和图25D仅提供了使用单个映射对象和单个目标轨迹的所公开定位技术的一个示例。在其它示例中,可以有更多得多的目标轨迹(例如,用于多车道高速公路、城市街道、复杂交叉口路口等的每个可行车道的一个目标轨迹),并且可以有更多得多的映射可用于定位。例如,代表城市环境的稀疏地图可以包括每米可用于定位的许多对象。
图26A是示出按照所公开实施例、映射车道标记以供自主交通工具导航中使用的示例性过程2600A的流程图。在步骤2610,过程2600A可包括接收与所检测车道标记关联的两个或更多位置标识符。例如,步骤2610可由服务器1230或者与服务器关联的一个或多个处理器来执行。位置标识符可包括与所检测车道标记关联的点的现实世界坐标中的位置,如以上针对图24E所述。在一些实施例中,位置标识符还可包含其它数据,例如与路段或车道标记有关的附加信息。附加数据也可在步骤2610期间接收,例如加速计数据、速度数据、路标数据、道路几何或简档数据、交通工具定位数据、自我运动数据或者如上所述的各种其它形式的数据。位置标识符可由交通工具(例如交通工具1205、1210、1215、1220和1225)基于该交通工具所捕获的图像来生成。例如,可基于从与主交通工具关联的摄像机对表示主交通工具的环境的至少一个图像的获取、对至少一个图像的分析以检测主交通工具的环境中的车道标记以及对至少一个图像的分析以确定所检测车道标记相对于与主交通工具关联的位置的位置,来确定标识符。如上所述,车道标记可包括多种不同标记类型,以及位置标识符可对应于相对于车道标记的多种点。例如,在所检测车道标记是标记车道边界的虚线的一部分的情况下,点可对应于车道标记的所检测角。在所检测车道标记是标记车道边界的连续线的一部分的情况下,点可对应于车道标记的所检测边缘,其中具有如上所述的各种间距。在一些实施例中,点可如图24C所示对应于所检测车道标记的中心线,或者可如图24D所示对应于两个相交车道标记与关联相交车道标记的至少一个两个其它点之间的顶点。
在步骤2612,过程2600A可包括将所检测车道标记与对应路段关联。例如,服务器1230可分析现实世界坐标或者在步骤2610期间所接收的其它信息,并且将坐标或其它信息与自主交通工具道路导航模型中存储的位置信息进行比较。服务器1230可确定模型中与检测车道标记的现实世界路段对应的路段。
在步骤2614,过程2600A可包括基于与所检测车道标记关联的两个或更多位置标识符来更新相对于对应路段的自主交通工具道路导航模型。例如,自主道路导航模型可以是稀疏地图800,以及服务器1230可更新稀疏地图,以包括或调整模型中的映射车道标记。服务器1230可基于以上针对图24E所述的各种方法或过程来更新模型。在一些实施例中,更新自主交通工具道路导航模型可包括在所检测车道标记的现实世界坐标中存储位置的一个或多个指示符。自主交通工具道路导航模型还可包括交通工具沿对应路段要跟随的至少一个目标轨迹,如图24E所示。
在步骤2616,过程2600A可包括将已更新自主交通工具道路导航模型分发给多个自主交通工具。例如,服务器1230可将已更新自主交通工具道路导航模型分发给交通工具1205、1210、1215、1220和1225,所述交通工具可将该模型用于导航。可经过如图12所示的无线通信路径1235经由一个或多个网络(例如通过蜂窝网络和/或因特网等)来分发自主交通工具道路导航模型。
在一些实施例中,可使用例如通过如以上针对图24E所述的众包技术从多个交通工具所接收的数据来映射车道标记。例如,过程2600A可包括从第一主交通工具接收包括与所检测车道标记关联的位置标识符的第一通信,并且从第二主交通工具接收包括与所检测车道标记关联的附加位置标识符的第二通信。例如,可从同一路段上行驶的后续交通工具或者从沿同一路段的后续行程的同一交通工具接收第二通信。过程2600A可进一步包括基于在第一通信中接收的位置标识符并且基于在第二通信中接收的附加位置标识符来细化与所检测车道标记关联的至少一个位置的确定。这可包括使用多个位置标识符的平均,和/或滤出可能不反映车道标记的现实世界位置的“虚”标识符。
图26B是示出使用映射车道标记沿路段自主导航主交通工具的示例性过程2600B的流程图。过程2600B可例如由自主交通工具200的处理单元110执行。在步骤2620,过程2600B可包括从基于服务器的系统接收自主交通工具道路导航模型。在一些实施例中,自主交通工具道路导航模型可包括沿路段的主交通工具的目标轨迹以及与关联路段的一个或多个车道标记关联的位置标识符。例如,交通工具200可接收稀疏地图800或者使用过程2600A所开发的另一个道路导航模型。在一些实施例中,目标轨迹可被表示为三维样条,例如图9B所示。如以上针对图24A-F所述,位置标识符可包括与车道标记关联的点的现实世界坐标中的位置(例如虚线车道标记的角点、连续车道标记的边缘点、两个相交车道标记与关联相交车道标记的其它点之间的顶点、与车道标记关联的中心线等)。
在步骤2621,过程2600B可包括接收表示交通工具的环境的至少一个图像。可例如通过图像获取单元120中包含的图像捕获装置122和124从交通工具的图像捕获装置接收图像。图像可包括一个或多个车道标记的图像,与上述图像2500相似。
在步骤2622,过程2600B可包括确定沿目标轨迹的主交通工具的纵向位置。如以上针对图25A所述,这可基于所捕获图像(例如路标等)中的其它信息或者通过所检测路标之间的交通工具的航位推测。
在步骤2623,过程2600B可包括基于沿目标轨迹的主交通工具的所确定纵向位置并且基于与至少一个车道标记关联的两个或更多位置标识符来确定到车道标记的预计横向距离。例如,交通工具200可使用稀疏地图800来确定到车道标记的预计横向距离。如图25B所示,可在步骤2622确定沿目标轨迹2555的纵向位置2520。使用稀疏地图800,交通工具200可确定到与纵向位置2520对应的映射车道标记2550的预计距离2540。
在步骤2624,过程2600B可包括分析至少一个图像,以标识至少一个车道标记。例如,交通工具200可使用各种图像识别技术或算法来标识图像内的车道标记,如上所述。例如,可通过图像2500的图像分析来检测车道标记2510,如图25A所示。
在步骤2625,过程2600B可包括基于至少一个图像的分析来确定到至少一个车道标记的实际横向距离。例如,交通工具如图25A所示可确定表示交通工具与车道标记2510之间的实际距离的距离2530。在确定距离2530中可考虑摄像机角度、交通工具的速度、交通工具的宽度、摄像机相对于交通工具的位置或者各种其它因素。
在步骤2626,过程2600B可包括基于到至少一个车道标记的预计横向距离与到至少一个车道标记的所确定实际横向距离之间的差来确定主交通工具的自主转向动作。例如,如以上针对图25B所述,交通工具200可将实际距离2530与预计距离2540进行比较。实际与预计距离之间的差可指示交通工具的实际位置与将被交通工具跟随的目标轨迹之间的误差(及其幅值)。相应地,交通工具可基于该差来确定自主转向动作或另一自主动作。例如,如果如图25B所示实际距离2530小于预计距离2540,则交通工具可确定自主转向动作,以向左引导交通工具离开车道标记2510。因此,可校正相对于目标轨迹的交通工具的位置。过程2600B可用来例如改进路标之间的交通工具的导航。
过程2600A和2600B仅提供可用于使用所公开的稀疏地图来导航主交通工具的技术的示例。在其它示例中,也可采用与相对于图25C和图25D所描述的那些过程一致的过程。
虚拟停止线映射和导航
如本公开中别处所述,交通工具或驾驶员可根据环境来导航交通工具。例如,自主交通工具可以根据路段上的停止线的标记在十字路口处导航和停止。然而,有时交通工具正在其上行驶的路段可能不包括指示用于在十字路口处停止的位置的标记(或由于不良维护而导致的不足标记),并且交通工具可能不能在十字路口处正确地导航。作为另一示例,由于各种因素,诸如道路或十字路口的几何形状或差的能见度状况(例如,被另一交通工具阻挡的视线、某些天气状况)等,驾驶员或交通工具可能不容易检测到十字路口。在这样的情况下,可能期望的是,确定交通工具可以停止以导航穿过十字路口(例如,通过在十字路口处减速或停止)的虚拟停止线(例如,未标记的位置)。在本文公开的系统和方法可以允许基于由与多个交通工具相关联的多个装置捕获的图像来确定虚拟停止线。所述系统和方法还可基于一个或多个虚拟停止线来更新道路导航模型并将经更新的道路导航模型分发给交通工具。所述系统和方法可进一步允许交通工具基于被包括在道路导航模型中的虚拟停止线来执行一个或多个导航动作(例如,减速、停止等)。
图27示出了根据所公开的实施例的用于交通工具导航的示例性系统2700。如图27中所示,系统2700可以包括服务器2701、一个或多个交通工具2702(例如,交通工具2702A、2702B、2702C、……、2702N)以及与交通工具相关联的一个或多个交通工具装置2703(例如,交通工具装置2703A、2703B、2703C、……、2703N)、数据库2704和网络2705。服务器2701可以被配置成基于从一个或多个交通工具(和/或与交通工具相关联的一个或多个交通工具装置)接收的驾驶信息来更新道路导航模型。例如,交通工具2702和/或交通工具装置2703可以被配置成收集驾驶信息并将驾驶信息传送到服务器2701以更新道路导航模型。数据库2704可以被配置成存储用于系统2700的组件(例如,服务器2701、交通工具2702和/或交通工具装置2703)的信息。网络2705可以被配置成促进系统2700的组件之间的通信。
服务器2701可以被配置成从多个交通工具中的每一个接收驾驶信息。驾驶信息可包括在沿路段驾驶期间多个交通工具中的特定交通工具相对于十字路口停止的停止位置。服务器2701也可以配置成对从多个交通工具接收到的驾驶信息中的停止位置进行聚合,并且基于聚合的停止位置来确定相对于十字路口的停止线位置。服务器2701还可以被配置成更新道路导航模型以包括停止线位置。在一些实施例中,服务器2701还可以被配置成将更新的道路导航模型分发到一个或多个交通工具。例如,服务器2701可以是执行本文公开的功能的云服务器。术语“云服务器”是指经由诸如因特网的网络提供服务的计算机平台。在该示例配置中,服务器2701可以使用可不对应于单个硬件的虚拟机。例如,计算和/或存储能力可通过从诸如数据中心或分布式计算环境之类的可缩放存储库分配期望的计算/存储能力的适当部分来实现。在一个示例中,服务器2701可以使用定制的硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件、和/或程序逻辑来实现本文描述的方法,所述定制的硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件、和/或程序逻辑连同计算机系统使服务器2701成为专用机器。
交通工具2702和/或交通工具装置2703可以被配置成收集驾驶信息并将驾驶信息传送到服务器2701以用于更新道路导航模型。例如,交通工具2702A和/或交通工具装置2703A可以被配置成接收从交通工具2702A的环境捕获的一个或多个图像。交通工具2702A和/或交通工具装置2703A还可以被配置成分析一个或多个图像以检测十字路口的指示符。交通工具2702A和/或交通工具装置2703A还可以被配置成基于从交通工具2702A的至少一个传感器接收的输出来确定交通工具2702A相对于检测到的十字路口的停止位置。交通工具2702A和/或交通工具装置2703A还可以被配置成分析一个或多个图像以确定一个或多个其它交通工具是否在交通工具2702A前方的指示符。交通工具2702A和/或交通工具装置2703A还可以被配置成将交通工具2702A的停止位置和一个或多个其它交通工具是否在交通工具2702A前方的指示符发送到服务器2701以供更新道路导航模型使用。
在一些实施例中,交通工具2702和/或交通工具装置2703可以被配置成接收更新的道路导航模型,并使交通工具2702基于更新的道路导航模型来执行至少一个导航动作。例如,交通工具2702B和/或交通工具装置2703B可以被配置成从交通工具2702B的摄像机接收从交通工具2702B的环境捕获的一个或多个图像。交通工具2702B和/或交通工具装置2703B还可以被配置成检测交通工具2702B的环境中的十字路口的指示符。交通工具2702B和/或交通工具装置2703B还可以被配置成从服务器2701接收包括相对于十字路口的停止线位置的地图信息。交通工具2702B和/或交通工具装置2703B还可以被配置成根据地图信息来规划路线路径和/或导航交通工具2702B。例如,交通工具2702B和/或交通工具装置2703B可以被配置成在规划到目的地的路线时考虑停止线位置(例如,如果通过十字路口,则将停止时间添加到估计的到达时间、选择不通过十字路口的不同路线等)。作为另一示例,交通工具2702B和/或交通工具装置2703B可以被配置成将停止线位置考虑为适当地在接近停止线位置之前的长期规划的一部分。例如,交通工具2702B和/或交通工具装置2703B可以被配置成当交通工具到达距停止线位置某一预定距离内时使交通工具减速。备选地或另外地,交通工具2702B和/或交通工具装置2703B可以被配置成在到达停止线位置之前制动和停止交通工具2702B。
在一些实施例中,交通工具2702可以包括具有与上述系统100类似的配置和/或执行与上述系统100类似的功能的装置。备选地或另外地,交通工具装置2703可以具有与上述系统100类似的配置和/或执行与上述系统100的类似的功能。
数据库2704可以包括被配置成存储用于系统2700的组件(例如,服务器2701、交通工具2702和/或交通工具装置2703)的地图数据的地图数据库。在一些实施例中,服务器2701、交通工具2702和/或交通工具装置2703可以被配置成访问数据库2704,并且经由网络2705从数据库2704获得存储的数据和/或将数据上载到数据库2704。例如,服务器2701可以将与一个或多个道路导航模型相关的数据传送到数据库2704以用于存储。交通工具2702和/或交通工具装置2703可以从数据库2704下载道路导航模型。在一些实施例中,数据库2704可以包括与包括道路、水特征、地理特征、企业、感兴趣点、餐馆、加油站等或其组合的各种项目在参考坐标系统中的位置有关的数据。在一些实施例中,数据库2704可以包括与本公开中别处描述的地图数据库160类似的数据库。
网络2705可以是提供通信、交换信息、和/或促进系统2700的组件之间的信息交换的任何类型的网络(包括基础设施)。例如,网络2705可以包括因特网、局域网、无线网络(例如Wi-Fi/302.11网络)或其它合适的连接,或者是因特网、局域网、无线网络(例如Wi-Fi/302.11网络)或其它合适的连接的一部分。在其它实施例中,系统2700的一个或多个组件可通过专用通信链路直接通信,所述专用通信链路是诸如例如电话网络、外联网、内联网、因特网、卫星通信、离线通信、无线通信、应答器通信、局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)等。
图28是根据所公开的实施例的十字路口处的示例性交通工具的示意图。如图28中所示,交通工具2801可以行驶在车道2811中,交通工具2802和交通工具2803可以行驶在车道2812中。交通工具2801、交通工具2802和/或交通工具2803可以包括被配置成从环境捕获一个或多个图像的一个或多个摄像机,并且可以包括被配置成基于对一个或多个图像的分析来检测十字路口2821的指示符的一个或多个装置(例如,交通工具装置2703)。十字路口的指示符可以包括一个或多个道路标记、一个或多个交通灯、一个或多个停止标志、一个或多个人行横道、在主交通工具前方交叉的一个或多个交通工具、停止在靠近主交通工具的位置处(例如,在距主交通工具某一预定距离阈值内)的一个或多个交通工具等或其组合。例如,交通工具2801可以被配置成分析一个或多个图像并且在一个或多个图像中的至少一个图像中检测在向前方向上的交通灯。作为另一示例,交通工具2802(类似于交通工具2702)可分析来自交通工具2802的环境的一个或多个图像,并基于图像分析来检测在交通工具2802前方交叉的交通工具2804(在该示例中,从右向左移动)。作为另一示例,交通工具2803可分析来自交通工具2803的环境的一个或多个图像并检测指示十字路口的道路标志。例如,交通工具2803可以分析一个或多个图像并且检测停止标志,并且基于停止标志的面向方向来确定停止标志是否指示十字路口。作为另一示例,交通工具2803可分析一个或多个图像并检测人行横道,并基于人行横道相对于交通工具2803的取向(例如,跨越交通工具2803前方的车道的人行横道可指示十字路口在附近)来确定人行横道是否指示十字路口。
交通工具2801、交通工具2802和/或交通工具2803还可以被配置成基于从主交通工具的至少一个传感器接收的输出来确定主交通工具相对于所检测到的十字路口的停止位置。例如,交通工具2801可以接收从传感器(例如,GPS设备、速度传感器、加速计、悬架传感器等或其组合)输出的信号,并且确定交通工具2801停止在相对于十字路口2821的位置处。交通工具2801的位置可以基于GPS信息、地图信息(例如使用本公开中别处描述的映射技术或其组合)来确定。交通工具2801、交通工具2802和/或交通工具2803还可以被配置成分析一个或多个图像以确定一个或多个其它交通工具是否在主交通工具前方的指示符。例如,交通工具2801和交通工具2802可以基于图像分析来确定在它们前方没有交通工具。作为另一示例,交通工具2803可以确定在其前方存在一个或多个交通工具。作为示例,交通工具2803可以确定沿着与主交通工具行驶的路径相同的路径在交通工具2803前方存在交通工具(例如,交通工具2802)和/或沿着与主交通工具正行驶的路径平行的路径或共享主交通工具正行驶的路径中的相同虚拟停止线的路径在交通工具2803前方存在交通工具(例如,交通工具2801)。在一个或多个其它交通工具位于主交通工具前方的情况下,可能适当的是,断定主交通工具没有位于停止线位置。类似地,在主交通工具停止并且没有其它交通工具位于主交通工具前方(或者没有其它交通工具位于主交通工具前方的预定阈值距离内)时的实例中,可能适当的是,断定主交通工具位于停止线位置。交通工具2801、交通工具2802和/或交通工具2803还可以被配置成将关于它们的停止位置和十字路口2821的驾驶信息传送到服务器2701。例如,主交通工具可以传送主交通工具的停止位置和一个或多个其它交通工具是否在主交通工具前方的指示符。一个或多个其它交通工具是否在主交通工具前方的指示符可以包括任何适当的信息,例如任何标识符(例如字母数字标识符)。在一些实施例中,一个或多个其它交通工具是否在主交通工具前方的指示符可以包括图像和/或图像的一部分。服务器2701可以被配置成基于从交通工具(和/或其它交通工具)接收的驾驶信息来确定停止线位置(例如,由虚线2831表示),并且更新道路导航模型以包括停止线位置。
图29A是示出根据所公开的实施例的用于交通工具导航的示例性过程2910的流程图。过程2910的一个或多个步骤可以由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)和/或服务器(例如,服务器2701)来执行。虽然以下提供的过程2910的描述使用交通工具2702作为示例,但是本领域技术人员将理解,过程2910的一个或多个步骤可以由交通工具装置(例如,交通工具装置2703)和/或服务器(例如,服务器2701)来执行。
在步骤2911,交通工具2702可以被配置成接收从主交通工具的环境捕获的一个或多个图像。例如,与交通工具2702相关联的摄像机(例如,图像获取装置120的摄像机或图像捕获装置)可以捕获交通工具的环境的一个或多个图像,如本公开中别处所描述的。交通工具2702可以从图像捕获装置接收一个或多个图像。在一些实施例中,摄像机可以连续地捕获一个或多个图像,并且交通工具2702可以连续地或间歇地接收图像。例如,摄像机可以在主交通工具到达停止位置之前从交通工具2702的环境捕获一个或多个图像。作为另一示例,摄像机可以在主交通工具到达停止位置之前在预定时间阈值期间捕获一个或多个图像。备选地或另外地,摄像机可以从距停止位置某个距离处开始捕获一个或多个图像。备选地或另外地,摄像机可以在触发事件时或之后捕获一个或多个图像。例如,交通工具2702可以检测到交通工具2702基于来自传感器(例如,全球定位系统(GPS)装置、速度传感器、加速计、悬架传感器等或其组合)的信号而停止。交通工具2702可以指示摄像机捕获交通工具2702的环境的一个或多个图像。当主交通工具停止在停止位置时,摄像机可以捕获一个或多个图像。备选地或另外地,摄像机可以在主交通工具到达停止位置之后捕获一个或多个图像。与停止位置相关的图像的捕获可以与其它因素相关联,所述其它因素是例如交通工具速度和/或环境条件(光水平、降水等)。因此,例如,如果交通工具在图像捕获开始时以相对高的速率行驶,则与交通工具正更慢行驶的类似场景相比,交通工具可能更远离停止位置。
在步骤2912,交通工具2702可以被配置成分析一个或多个图像以检测十字路口的指示符。十字路口的指示符可以包括一个或多个道路标记、一个或多个交通灯、一个或多个停止标志、一个或多个人行横道、在主交通工具前方交叉的一个或多个交通工具、在靠近主交通工具的位置处停止的一个或多个交通工具等或其组合。例如,交通工具2702可以被配置成分析一个或多个图像并且在一个或多个图像中的至少一个图像中检测在向前方向上的交通灯。作为另一示例,交通工具2702可被配置成在一个或多个图像中的至少一个图像中检测道路标记,诸如车道标记、转弯车道标记等。作为示例,如图28中所示,交通工具2802(类似于交通工具2702)可分析来自交通工具2802的环境的一个或多个图像,并基于图像分析来检测在交通工具2802前方交叉的交通工具2804(从右向左移动)。作为另一示例,交通工具2801(类似于交通工具2702)可分析来自交通工具2801的环境的一个或多个图像,并基于图像分析来检测在与交通工具2802行驶的车道平行的车道中停止的交通工具2802。在一些实施例中,对应于停止位置的路段的表面没有指示交通工具应相对于十字路口停止的位置的标记。例如,车道2811可能没有指示交通工具应该相对于十字路口2821停止的位置的标记。作为示例,在主交通工具前方的车道中的路段的表面可能不包括指示停止线的标记。
备选地或另外地,交通工具2702可以被配置成接收区分十字路口与另一交通工具或基础设施对象的信息。作为示例,如图28中所示,交通工具2803可以接收区分十字路口2821与交通工具2801和/或交通工具2802的信号(或消息)。备选地或另外地,交通工具2803可以接收区分十字路口2821与信号柱(未示出)的信号(或消息)。
在一些实施例中,备选地或另外地,交通工具2702可以将一个或多个图像传送到服务器2701,该服务器2701可以被配置成分析一个或多个图像以检测十字路口的指示符。
在一些实施例中,交通工具2702和/或服务器2701可以使用机器学习算法来分析一个或多个图像并检测十字路口的指示符。例如,交通工具2702可以获得或使用经训练的机器学习算法来检测十字路口的指示符。在一些实施例中,可以基于监督训练过程来训练机器学习算法。例如,可以使用大量训练样本来训练机器学习算法,其中在成对图像中(由计算机自动或手动)标记一个或多个停止位置。交通工具2702还可以将一个或多个图像输入到机器学习算法中,该机器学习算法可以基于输入来输出十字路口的指示符。
在步骤2913中,交通工具2702可以被配置成基于从主交通工具的至少一个传感器接收的输出来确定主交通工具相对于所检测到的十字路口的停止位置。例如,交通工具2702可以接收从传感器(例如,GPS装置、速度传感器、加速计、悬架传感器等或其组合)输出的信号,并确定交通工具2702停止在相对于检测到的十字路口的位置。交通工具2702还可配置成确定交通工具2702停止的停止位置。作为示例,如图28中所示,交通工具2801可接收来自GPS传感器的信号并确定交通工具停止在靠近十字路口2821的位置。交通工具2801还可以被配置成确定交通工具2801的停止位置(例如,停止位置的GPS坐标)。作为另一示例,如图28中所示,交通工具2802和2803可以停止在车道2812中。交通工具2802可以基于从交通工具2802的至少一个传感器接收的输出来确定交通工具2802相对于十字路口2821的停止位置,并且交通工具2803可以基于从交通工具2803的至少一个传感器接收的输出来确定交通工具2803相对于十字路口2821的停止位置。
在步骤2914,交通工具2702可以被配置成分析一个或多个图像以确定一个或多个其它交通工具是否在主交通工具前方的指示符。例如,交通工具2702可以被配置成分析一个或多个图像以确定指示在主交通工具前方的预定阈值距离内是否存在一个或多个交通工具的指示符。作为示例,如图28中所示,交通工具2801可以分析一个或多个图像以确定指示在交通工具2801前方的预定阈值(例如,2米)距离内没有交通工具的指示符。交通工具2802可以分析一个或多个图像以确定指示在交通工具2802前方的预定阈值(例如,2米)距离内没有交通工具的指示符,而交通工具2803可以分析一个或多个图像以确定指示在交通工具2803前方的预定阈值(例如,2米)距离内存在另一交通工具(即,交通工具2802)的指示符。阈值距离可以在10厘米到10米的范围内。在一些实施例中,阈值距离可被限制于10至50厘米、50厘米至1米、1至2米、2至5米、和5至10米的子范围中。
在一些实施例中,备选地或另外地,交通工具2702可以被配置成基于从另一交通工具、基础设施对象和/或服务器2701接收的信息来确定一个或多个其它交通工具是否在主交通工具前方的指示符。作为示例,如图28中所示,交通工具2803可以从交通工具2801(和/或交通工具2802)接收指示另一交通工具(交通工具2801和/或交通工具2802)在其前方的信号(或消息)。备选地或另外地,交通工具2803可以从指示另一交通工具(交通工具2801和/或交通工具2802)在其前方的信号柱接收信号(或消息)。备选地或另外地,交通工具2803可以从服务器2701接收指示另一交通工具(交通工具2801和/或交通工具2802)在其前方的信号(或消息)。在这些示例中的任一示例中,信号(或消息)还可以包括交通工具在主交通工具前方的位置。例如,位置信息可以包括相对于坐标系统的地图信息以用于标识前行交通工具相对于主交通工具的位置。
在一些实施例中,交通工具2702和/或服务器2701可以使用机器学习算法来确定一个或多个其它交通工具是否在主交通工具前方的指示符。例如,交通工具2702可以获得或使用经训练的机器学习算法以用于确定一个或多个其它交通工具是否在交通工具的前方区域中并且可能还有这些交通工具是否在主交通工具前方(例如与该交通工具在相同车道内)的指示符。交通工具2702还可将一个或多个图像输入到机器学习算法中,所述机器学习算法可基于输入来输出一个或多个其它交通工具是否在主交通工具前方的指示符。
在步骤2915,交通工具2702可以被配置成将主交通工具的停止位置发送到服务器。可选地,交通工具2702还可以被配置成向服务器发送一个或多个其它交通工具是否在主交通工具前方的指示符。例如,交通工具2702可以将交通工具2702的停止位置和一个或多个其它交通工具是否在交通工具2702前方的指示符传送到服务器2701,以供经由网络2705更新道路导航模型所使用。作为示例,如图28中所示,交通工具2801可以经由网络2705将指示交通工具2801的停止位置(例如,GPS坐标)的数据和没有交通工具在交通工具2801前方的指示符传送到服务器2701。作为另一示例,交通工具2803可经由网络2705将指示交通工具2803的停止位置(例如,GPS坐标)的数据和在交通工具2803前方存在一个或多个交通工具的指示符传送到服务器2701。
在一些实施例中,交通工具2702还可以将关于十字路口的位置信息传送到服务器2701。例如,交通工具2702还可以向服务器2701传送与十字路口有关的位置信息、诸如十字路口的GPS坐标、十字路口的大小、十字路口的边界、十字路口的形状或结构、与十字路口有关的车道信息(例如,驾驶方向、跨十字路口的车道数)、十字路口中和/或周围的一个或多个路标、十字路口中和/或周围的一个或多个基础设施对象等或其组合。
在一些实施例中,当在交通工具2702前方的交通工具的数量等于或小于阈值数量时,交通工具2702可以将交通工具2702的停止位置传送到服务器2701。例如,交通工具2702可以仅在其前方存在两个或更少个交通工具时将交通工具2702的停止位置传送到服务器2701。作为另一示例,交通工具2702可以仅在交通工具2702前方没有交通工具时将交通工具2702的停止位置传送到服务器2701。
在一些实施例中,交通工具2702可以被配置成在没有交通工具在主交通工具前方时将交通工具2702的停止位置传送到服务器2701。例如,交通工具2702可以基于对一个或多个图像的分析来确定在主交通工具前方没有交通工具(如本公开别处所描述)。交通工具2702还可以响应于确定没有交通工具在主交通工具前方而将主交通工具的停止位置传送到服务器。在一些实施例中,交通工具2702可以仅在没有交通工具在主交通工具前方时将主交通工具的停止位置传送到服务器。
图29B是示出根据所公开的实施例的用于更新道路导航模型的示例性过程2920的流程图。过程2920的一个或多个步骤可以由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)和/或服务器(例如,服务器2701)来执行。虽然以下提供的过程2910的描述使用服务器2701作为示例,但是本领域技术人员将理解,过程2920的一个或多个步骤可以由交通工具和/或交通工具装置来执行。
在步骤2921,服务器2701可以被配置成从多个交通工具中的每一个交通工具接收驾驶信息。驾驶信息可包括在沿路段驾驶期间多个交通工具中的特定交通工具相对于十字路口停止的停止位置。例如,服务器2701可以被配置成从交通工具2801、交通工具2802和交通工具2803接收驾驶信息,所述驾驶信息可以包括在沿着对应路段(例如,对于交通工具2801是车道2811、对于交通工具2802和交通工具2803是车道2812)驾驶期间每个交通工具相对于十字路口2821的停止位置(如图28中所示并且如在本公开别处所描述)。在一些实施例中,对应于停止位置的路段的表面没有指示交通工具应相对于十字路口停止的位置的标记。例如,车道2811可能没有指示交通工具应相对于十字路口2821停止的位置的标记。
在一些实施例中,从交通工具接收的驾驶信息还可以包括指示至少一个其它交通工具是否驻留于十字路口和交通工具的停止位置之间的指示符。备选地或另外地,从交通工具接收的驾驶信息可以包括与交通工具的停止位置和/或十字路口有关的一个或多个图像。备选地或另外地,驾驶信息可以包括与十字路口有关的位置信息。例如,从交通工具接收的驾驶信息可以包括十字路口的位置信息,诸如十字路口的GPS坐标、十字路口的大小、十字路口的边界、十字路口的形状等或其组合。
在步骤2922,服务器2701可以被配置成在从多个交通工具接收的驾驶信息中聚合停止位置。在一些实施例中,聚合停止位置可以包括计算停止位置的平均值。例如,服务器2701可以被配置成聚合交通工具2801、交通工具2802和/或交通工具2803相对于十字路口2821的停止位置(和/或其它交通工具的停止位置)。作为另一示例,服务器2701可以将第一交通工具在第一时间在十字路口处沿路段的停止位置与第二交通工具在第二时间在同一十字路口处沿同一路段的停止位置(和/或其它交通工具的停止位置)进行聚合。
在一些实施例中,在聚合停止位置中,服务器2701可以被配置成基于确定从多个交通工具中的一个交通工具接收的至少一个停止位置与从多个交通工具中的另一个交通工具接收的至少一个其它停止位置相距大于预定阈值距离来消除所述至少一个停止位置。例如,服务器2701可以确定交通工具2803的停止位置与交通工具2801的停止位置和/或交通工具2802的停止位置相距大于预定阈值距离(例如,2米)。服务器2701还可以基于所述确定来消除交通工具2803的停止位置。阈值距离可以在10厘米到10米的范围内。在一些实施例中,阈值距离可被限制为10至50厘米、50厘米至1米、1至2米、2至5米、和5至10米的子范围。
备选地或另外地,在聚合停止位置中,服务器2701可以被配置成基于至少一个其它交通工具驻留于十字路口与多个交通工具中的特定交通工具的特定停止位置之间的指示符来消除从多个交通工具中的特定交通工具接收的特定停止位置。例如,服务器2701可以确定指示交通工具2802驻留于十字路口2821和交通工具2803的停止位置之间的指示符。服务器2701还可以在聚合从交通工具接收的停止位置时消除从交通工具2803接收的停止位置。在一些实施例中,指示至少一个其它交通工具是否驻留于十字路口和多个交通工具中的特定交通工具的特定停止位置之间的指示符可以被包括在从特定交通工具接收的驾驶信息中。备选地或另外地,该指示符可以基于对由多个交通工具中的特定交通工具上的车载摄像机捕获的至少一个图像的分析来确定。例如,服务器2701可以被配置成接收由与交通工具2803相关联的摄像机捕获的一个或多个图像并且确定存在驻留于十字路口2821与交通工具2803的停止位置之间的交通工具(例如,交通工具2802),如图28中所示。
在步骤2923,服务器2701可以被配置成基于聚合的停止位置来确定相对于十字路口的停止线位置。例如,如图28中所示,服务器2701可以被配置成基于包括交通工具2801和交通工具2802的停止位置中的至少一个的聚合的停止位置来确定相对于十字路口2821的停止线位置(例如,由虚线2831或其一部分所表示)。作为示例,服务器2701可以被配置成通过对交通工具2801相对于十字路口2821的停止位置和交通工具2802相对于十字路口2821的停止位置的距离求平均值(或通过计算它们的加权平均值)来确定停止线位置。在一些实施例中,服务器2701还可以被配置成在确定停止线位置时考虑其它因素,例如捕获图像时的环境条件。例如,服务器2701可以被配置成通过计算基于第一图像所确定的第一停止位置相对于十字路口的距离和基于第二图像确定的第二停止位置相对于十字路口的距离的加权平均值来确定停止线位置,该加权平均值是通过在捕获第一图像时的环境条件比第二图像更优(例如,第一图像比第二图像更亮)的情况下给予第一停止位置更多权重来确定的。
在一些实施例中,服务器2701还可以确定停止线位置的位置信息(例如,与停止线位置相关联的GPS坐标、停止线位置相对于一个或多个已知参考的位置,诸如车道标记、道路标志、高速公路出口匝道、交通灯、和任何其它特征等)。在一些实施例中,服务器2701还可以确定与十字路口有关的位置信息,诸如十字路口的GPS 坐标、十字路口的大小、十字路口的边界、十字路口的形状和/或结构、与十字路口有关的车道信息(例如,驾驶方向、跨十字路口的车道的数量)、十字路口中和/或周围的一个或多个路标、十字路口中和/或周围的一个或多个基础设施对象等或其组合。
在一些实施例中,服务器2701可以基于从交通工具接收的图像来确定相对于十字路口的所确定停止位置中的每个停止位置的置信度得分。例如,服务器2701可以为基于从第一交通工具接收的第一图像所确定的第一停止位置指派第一置信度得分。服务器2701还可以为基于从第二交通工具接收的第二图像所确定的第二停止位置指派第二置信度得分。为了确定相对于十字路口的最终停止位置,服务器2701可以被配置成考虑置信度得分。例如,如果第一置信度得分高于第二置信度得分,则服务器2701可以被配置成通过向第一停止位置给予比第二停止位置更多的权重来基于第一和第二停止位置计算加权平均值。
在步骤2924,服务器2701可以被配置成更新道路导航模型以包括停止线位置。例如,服务器2701可以被配置成将停止线位置添加到导航地图(即,道路导航模型或其一部分)中。在一些实施例中,服务器2701还可以将与十字路口有关的信息包括到道路导航模型中。在一些实施例中,服务器2701可以将停止线位置和/或十字路口的描述添加到道路导航模型中。备选地或另外地,服务器2701可以根据停止线位置来更新导航指令。例如,服务器2701可以更新与十字路口有关的导航指令,以指示交通工具在停止线位置停止和/或在接近停止线或十字路口时减速。
在一些实施例中,服务器2701可以被配置成将更新的道路导航模型分发到至少一个交通工具。例如,服务器2701可以被配置成经由网络2705将更新的道路导航模型传送到多个交通工具。备选地或另外地,服务器2701可以将更新的道路导航模型存储到数据库2704中,并且一个或多个交通工具可以从数据库2704获得更新的道路导航模型。
图29C是示出根据所公开的实施例的用于交通工具导航的示例性过程的流程图。过程2930的一个或多个步骤可以由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)和/或服务器(例如,服务器2701)来执行。虽然以下提供的过程2930的描述使用交通工具2702作为示例,但是本领域技术人员将理解,过程2930的一个或多个步骤可以由交通工具装置和/或服务器来执行。
在步骤2931,交通工具2702可以被配置成从主交通工具的摄像机接收从主交通工具的环境捕获的一个或多个图像(如本公开别处所描述)。
在步骤2932,交通工具装置2703可以被配置成检测主交通工具的环境中的十字路口的指示符(如本公开别处所描述)。在一些实施例中,主交通工具前方的车道中的路段的表面不包括指示用于停止的位置的标记。
在步骤2933,交通工具装置2703可以被配置成接收包括相对于十字路口的停止线位置的地图信息。例如,交通工具装置2703可以从服务器2701接收包括停止线位置(例如,图28中所示的虚线2831)的地图信息。在一些实施例中,交通工具2702可以在其接近十字路口之前接收地图信息。例如,交通工具2702可以在服务器2701更新与十字路口有关的地图信息(例如,作为道路导航模型的定期更新的一部分)之后接收地图信息。
在步骤2934,交通工具2702可以被配置成基于相对于十字路口的停止线位置而使主交通工具相对于十字路口执行至少一个导航动作。例如,交通工具2702可以使交通工具2702在到达图28中所示的虚线2831之前制动和停止交通工具2702。备选地或另外地,交通工具2702可以在接近十字路口时(例如,在距停止线位置的预定距离内)使交通工具2702减速。
相关交通灯映射和导航
本公开描述一种用于自主交通工具的导航系统,该导航系统可配置成标识沿自主交通工具所行驶的道路的交通灯。该导航系统可配置成从自主交通工具接收与沿道路的各种交通灯的位置有关的信息,在导航系统和自主交通工具可用的稀疏地图上映射交通地图的位置,并且从自主交通工具接收与交通灯相关的各种信息以及与自主交通工具导航相关的信息。例如,当自主交通工具接近具有绿灯的交通灯并且沿道路继续行驶时,该系统可配置成接收与交通灯的状态(例如交通灯具有绿灯)有关的信息以及自主交通工具继续沿道路行驶的信息。使用所接收信息,该系统可确定交通灯与自主交通工具所行驶的车道的相关性。
在各个实施例中,导航系统包括用于映射交通灯并且用于确定交通灯相关性以供自主交通工具导航中使用的功能性。此外,导航系统可用来提供自主交通工具导航。导航系统可以是服务器1230的组成部分,和/或可以是与自主交通工具关联的交通工具控制系统的组成部分。在一些实施例中,导航系统可包括:第一导航系统,可与自主交通工具关联(又称作交通工具导航系统);以及第二导航系统,可与服务器1230关联(又称作服务器导航系统)。导航系统可包括非暂时存储装置或计算机可读介质。在一些实施例中,存储装置可包括硬盘驱动器、致密光盘、闪速存储器、基于磁的存储器装置、基于光的存储器装置等。导航系统可包括配置成执行指令的一个或多个处理器,所述指令可被存储在与导航系统关联的一个或多个非暂时存储装置上。在一些实施例中,导航系统可包括独立映射系统和独立导航系统。
导航动作可由与交通工具导航相关的交通工具执行。例如,导航动作是与交通工具运动相关的动作,例如交通工具的转向、制动或加速。在各个实施例中,导航动作可包括诸如转向速率、制动速率或加速速率之类的参数。在各个实施例中,导航动作可包括可能与交通工具的运动不是直接相关的动作。例如,这类导航动作可包括接通/关断前灯、接合/分离防抱死制动器、切换变速齿轮、调整交通工具悬架的参数、接通/关断交通工具警示灯、接通/关断交通工具转向灯或制动灯、产生听觉信号等。在各个实施例中,导航动作基于服务器1230可用的导航数据。
服务器1230可用的导航数据可包括可用于服务器1230的任何适当数据,所述数据可用来促进与服务器1230进行通信的各种交通工具的导航。导航数据的示例可包括与服务器1230进行通信的各种自主和人工操作交通工具的位置、各种交通工具的速度、各种交通工具的加速度、各种交通工具的目的地等。
应当注意,导航动作涉及改变交通工具的导航信息的任何适当动作。在示例实施例中,交通工具速度的变化可构成导航动作,因为它改变交通工具的导航信息。导航信息可描述交通工具的动态或运动特性,并且可包括交通工具的位置、交通工具与交通灯之间的距离、交通工具的速度、交通工具的速率、交通工具的加速度、交通工具的取向、交通工具的角速度和交通工具的角加速度以及作用于交通工具的力。导航信息可由交通工具控制系统来记录。例如,交通工具的位置可被连续记录,以提供由交通工具沿路段所行驶的路径的指示符。例如,路径的指示符可以是交通工具的轨迹。在一些情况下,交通工具的轨迹可指示沿路段的交通工具的停止位置。
导航信息还可包括与交通工具特性相关的参数,例如交通工具的质量、交通工具的惯性矩、交通工具的长度、交通工具的宽度、交通工具的高度、与道路的交通工具牵引力等。
在各个实施例中,导航系统可从自主交通工具接收与沿路段所检测的交通灯关联的至少一个位置标识符。术语“位置标识符”可以是与交通灯关联的任何适当标识符(例如数字标识符、字母数字标识符、例如交通灯的坐标等的数字集合等),所述标识符允许至少由服务器1230对交通灯的位置的唯一标识。例如,服务器1230可使用位置标识符来标识地图上的交通灯的位置。作为补充或替代,交通灯位置标识符可允许由交通灯附近的至少一个交通工具对交通灯的唯一标识。例如,交通工具可使用交通工具可访问的稀疏地图上的交通灯标识符来标识交通灯。
导航系统还可从自主交通工具接收与沿路段所检测的交通灯关联的状态标识符。交通灯的状态标识符可用来标识能够在道路上使用的交通灯的状态。例如,交通灯的状态能够通过交通灯的颜色(例如红、黄、绿或白色)、通过交通灯所显示的图像(例如绿色箭头、橙色手掌、人的图像等)或者通过交通灯所显示的文字(例如交通工具的速度、减速的指示、道路工程的指示等)来表示。
在各个实施例中,当自主交通工具在一天中的不同时间通过交通灯时,导航系统可从多个自主交通工具接收交通灯的各种状态。在示例实施例中,与交通灯的状态有关的信息可从处于离交通灯的若干不同位置的自主交通工具来收集。例如,与交通灯的状态有关的信息可首先从处于离交通灯第一距离的交通工具来接收。第一距离可以是例如由与自主交通工具关联的交通工具控制系统首次观察交通灯的距离。当自主交通工具位于相对于交通灯的一组位置(包括交通工具进入与交通灯相关的道路的交叉口或者通过道路的交叉口时的位置)时,则可对所述自主交通工具收集与交通灯的状态有关的信息。在各个实施例中,自主交通工具可收集自主交通工具在移向、通过或离开交叉口时可观察的交叉口的所有交通灯的状态信息。在各个实施例中,导航系统可通过确定所有所收集状态相关的数据之间的相关性(例如通过确定具有绿灯状态的一个交通灯与具有红灯状态的另一个交通灯之间的相关性),来确定自主交通工具可观察的交叉口的所有交通灯的状态之间的关系。
在一些实施例中,交通灯可包括可能不是人类交通工具操作者(例如人类驾驶员)可观察但由自主交通工具可观察的参数。例如,交通灯可使用无线通信与自主交通工具进行通信。无线通信可包括一个或多个装置,所述装置配置成使用射频、红外频率或紫外频率的电场通过空中接口与一个或多个网络(例如蜂窝、因特网等)交换传输。作为补充或替代,无线通信可使用磁场、电场或声音。这类传输能够包括交通灯与交通灯附近的自主交通工具之间的通信,和/或在一些情况下,这种通信可包括交通灯与服务器1230之间以及服务器1230与自主交通工具之间的通信。应当注意,可使用交通灯与交通工具之间的其它各种形式的通信,包括音频通信(例如,使用例如超声波等的声波的通信、基于激光的通信等)。在一些情况下,通信可包括时间相关可视通信(例如由LED源所产生的时间相关信号)。
在各个实施例中,交通灯可包括交通灯通信系统,用于对自主交通工具生成信号。例如,交通灯通信系统可包括信号生成模块,用于生成“停”信号、“走”信号、“减速”信号、“加速”信号等。例如,“停”信号可指示自主交通工具需要突然停止。这种信号例如可对应于红灯。“走”信号可指示交通工具需要开始或继续移动。这种信号可对应于例如绿灯。“减速”信号可指示自主交通工具需要减速。在一些实施例中,“减速”信号可包括被结合在与可包括交通工具的所要求速度或者交通工具的减速度的信号相关的信息中的附加参数。在示例实施例中,“减速”信号可对应于黄灯。“加速”信号可指示自主交通工具需要增加速度。应当注意,以上所述的各种信号只是说明性的,并且也可结合各种其它信号。例如,所生成信号可指示交通工具需要右转、左转、变更车道或者掉头。
在各个实施例中,除了生成信号之外,交通灯通信系统还可从各种交通工具接收导航信息,并且基于所接收信息来生成信号。例如,交通灯通信系统可接收交通工具的速度以及交通工具与交通灯的距离,并且可基于交通工具的速度以及与交通灯的距离来生成对交通工具的减速请求。
在各个实施例中,通信可包括认证自/至交通灯的通信以及提供交通灯与自主交通工具之间的安全通信的各种方式。作为补充或替代,安全通信可在自主交通工具与服务器1230之间建立。在示例实施例中,安全通信可通过使用私有和公有密钥来建立。例如,自主交通工具和服务器1230可交换用于对安全信息进行加密的公有密钥,并且将私有密钥用于信息解密。类似地,自主交通工具可与交通灯通信系统交换公有密钥。在一些实施例中,交通灯通信系统可通过服务器1230认证。例如,交通灯通信系统可向服务器1230提供密码信息,并且服务器1230可向交通灯通信系统发出安全令牌。在一些实施例中,服务器1230可使用交通灯通信系统的公有密钥对安全令牌进行加密,并且将加密令牌传送给交通灯通信系统。服务器1230可进一步配置成使用与自主交通工具关联的公有密钥对安全令牌进行加密,并且将加密令牌传送给自主交通工具。在各个实施例中,交通通信系统可包括被传送给自主交通工具的通信数据分组的安全令牌,以提供对交通工具的认证。作为补充或替代,交通通信系统可包括被传送给服务器1230的通信数据分组的安全令牌。按照类似方式,自主交通工具可包括被传送给交通灯通信系统的通信数据分组的安全令牌。作为补充或替代,自主交通工具可包括被传送给服务器1230的通信数据分组的安全令牌。应当注意,以上所述的安全通信过程只是说明性的,并且可使用各种其它方式。各种自主交通工具、交通灯和服务器1230)之间的认证安全通信(以及各种自主交通工具之间的安全通信)可确保用于各种自主交通工具的导航的系统无法被第三方(例如尝试改变自主交通工具的移动的一方)所损害。
图30A示出系统3000,该系统3000包括服务器1230、交通灯3030A-3030C和交通工具3001。在一些实施例中,交通工具3010可以是自主交通工具。交通工具3001可沿包含十字路口3035的道路3060的车道3011A行驶。交通工具3001可检测交通灯(例如交通灯3030A),并且确定交通灯3030A的位置。在各个实施例中,当提到代表交通工具时,使用交通工具3001,当提到交通工具3001所行驶的代表车道时,使用车道3011A,以及当提到与代表车道相关的代表交通灯时,使用交通灯3030A。图30A示出可被定义为如图30A所示的路线图(roadmap)3050的一组道路。路线图3050可包括交通工具3001附近(例如交通工具3001周围的区域,其中径向距离为十英尺至数英里)的所有车道/路径、道路、私人车道、自行车车道、行人道、人行道等。交通工具3001周围的道路的一部分可被定义为图30A中指示的路段3063。
在示例实施例中,交通工具3001可基于交通工具3001的位置(例如经由交通工具的GPS所获得)和/或基于到交通灯3030A的方向以及到交通灯3030A的视在距离(例如从交通工具3001的摄像机所捕获的多个图像所推断的距离)来确定交通灯3030A的位置标识符。在一些实施例中,可使用三角测量来获得到位于移动交通工具3001的左侧或右侧的交通灯的距离。例如,可使用三角测量来获得到交通灯3030B或3030C的距离。
图30B示出三角测量示例,其中交通工具3001通过能够由交通工具3001精确测量的距离D从与第一时间(时间t1)的交通工具3001的位置对应的点P1行驶到与第二时间(时间t2)的交通工具3001的位置对应的点P2。在示例实施例中,交通工具3001朝交通灯3030A行驶,所述交通灯3030A不可用于三角测量,因为它可处于交通工具3001的路径中。交通工具3001的摄像机可观察交通灯3030B,并且测量如图30B所示的角度
Figure 307461DEST_PATH_IMAGE001
Figure 349235DEST_PATH_IMAGE002
。使用角度
Figure 784765DEST_PATH_IMAGE003
Figure 852078DEST_PATH_IMAGE004
以及距离D可确定边A和B(使用例如正弦定律),从而提供从交通工具3001到交通灯3030B的距离A和B以及对应方向,通过角度
Figure 587821DEST_PATH_IMAGE003
Figure 66076DEST_PATH_IMAGE005
所表征。到交通灯3030A的距离然后可通过使用交通灯3030B与3030A之间的位移向量(例如距离和方向)来确定。应当注意,交通灯3030B与3030A之间的位移向量可以是导航系统已知的,因为交通灯3030A-3030C可在与交通工具3001所行驶的道路相关的地图上被识别为路标。应当注意,对于具有精确GPS(例如GPS报告交通工具的位置,其中精度为数英尺到数十英尺)的交通工具,三角测量过程可能不是必要的,并且可使用GPS坐标来评估交通工具3001的位置。
在示例实施例中,导航系统可配置成接收交通工具3001的位置,并且确定交通工具3001的位置附近的一个或多个所识别的路标,例如交通灯3030A-3030C。应当注意,三角测量方式可以是用来测量到各种交通灯的距离和方向的许多方式之一。作为补充或替代,交通工具3001可使用任何其它适当方式(例如雷达、激光雷达、声学传感器、从交通工具外部的一个或多个收发器所接收的信息等)来测量到交通灯(例如交通灯3030A)的距离和方向。在各个实施例中,交通工具3001可确定各种交通灯(例如交通灯3030A-3030C)的位置,并且向导航系统报告这些交通灯的位置标识符。在示例实施例中,交通工具3001可配置成向导航系统报告交通灯3030A-3030C的位置标识符。在示例实施例中,位置标识符可以是交通灯3030A-3030C的坐标。
交通工具3001可使用任何适当方式来检测交通灯的状态(例如交通灯3030A的状态)。例如,交通工具3001可将信号检测装置用于检测交通灯3030A的状态。在示例实施例中,信号检测装置可以是用于捕获可见光的摄像机。例如,摄像机可用来捕获交通灯3030A的图像数据。交通灯3030A的图像数据可对应于“红灯”、“绿灯”、“黄灯”、“手掌的图像”、“指示转弯的箭头”等。在一些情况下,图像数据可包括与交通灯3030A的状态关联的视频数据。例如,交通灯3030A的状态可通过视频数据来表征,该视频数据可包括“闪烁红灯”、“闪烁黄灯”、“移动/闪烁文本”等。应当注意,任何其它适当图像数据可由用于捕获可见光的摄像机来检测。
还应当注意,如上所述,信号检测装置可检测交通灯通信系统所发射的任何适当信号。例如,信号检测装置可检测射频电场、红外频率电场、时间相关磁场或者任何其它适当电场。应当注意,可使用交通灯与交通工具之间的通信的各种其它方式。例如,通信方式可包括音频通信(例如使用例如超声波等的声波的通信)、基于激光的通信等。在一些情况下,通信信号可包括时间相关可视通信信号(例如由LED源所产生的时间相关信号)。在各个实施例中,交通工具3001可通过经由通信信道3020A-3020C进行通信(例如接收信号)来检测交通灯3030A-3030C的状态。在一些实施例中,交通工具3001与交通灯3030A-3030C的通信可包括不仅接收信号,而且还向交通灯3030A-3030C发送信号。
在各个实施例中,导航系统可配置成从交通工具3001接收与沿路段所检测的交通灯关联的状态标识符。例如,这种状态标识符可由交通工具3001经由如图30A所示的连接3010来传递给服务器1230,该连接3010可以是无线连接。在一些实施例中,交通工具3001可配置成向服务器1230发送与来自交通灯3030A-3030C的信号相关的图像数据,以及在一些实施例中,交通工具3001可配置成分析交通灯3030A-3030C的图像数据。在一些实施例中,交通工具3001可配置成分析使用交通通信系统(例如图30A所示的系统3031)经由通信信道3020A-3020C从交通灯3030A-3030C传递给交通工具3001的任何相关数据,以获得与沿路段所检测的交通灯关联的状态标识符(例如交通灯的状态)。在一些实施例中,与交通工具3001关联的交通工具导航系统可配置成经由交通通信系统3031来接收与相应交通灯关联的状态标识符。
在各个实施例中,导航系统可配置成从交通工具接收指示沿路段的第一交通工具的运动的一个或多个方面的导航信息。在示例实施例中,基于交通工具3001的位置和/或其它相关导航信息(例如交通工具3001的先前位置和交通工具3001的已知时间相关轨迹),导航系统可确定由交通工具3001沿道路3030所跟随的行驶车道。在示例实施例中,导航系统的处理器可配置成执行指令,以分析交通工具3001的导航信息并且确定交通工具3001所跟随的行驶车道。
导航系统可配置成基于与交通工具关联的导航信息来确定交通工具沿路段所穿过的行驶车道。在示例实施例中,交通工具3001可基于先前确定的行驶车道以及交通工具所执行的一组车道切换导航动作(例如使交通工具3001切换车道的导航动作)向服务器1230报告行驶车道。作为补充或替代,交通工具3001可基于左路边3040A和/或右路边3040B的接近性、路肩支线车道的接近性等来确定行驶车道(并且向服务器1230传递行驶车道)。作为补充或替代,交通工具3001可通过与可确定其行驶车道的相邻交通工具进行通信来确定行驶车道。在一些情况下,当道路可能没有明确定义的行驶车道时,交通工具3001可配置成向服务器1230传递到道路的左和/或右路边/路肩的距离。
在各个实施例中,导航系统可配置成基于导航信息并且基于从交通工具所接收的状态标识符来确定交通灯是否与交通工具所穿过的行驶车道相关。例如,如果交通灯的状态标识符对应于红灯状态,并且交通工具在交通灯前面停止,则导航系统可确定交通灯与交通工具所行驶的车道相关。在一些实施例中,导航系统可配置成接收与交通灯对应的状态标识符以及来自各种自主交通工具的导航信息,以便确定各种交通灯的相关性。例如,第一交通工具可向导航系统传递交通灯的第一状态标识符以及与第一交通工具的移动关联的第一导航信息,并且第二交通工具可向导航系统传递交通灯的第二状态标识符以及与第二交通工具的移动关联的第二导航信息。
在各个实施例中,交通灯3030A-3030C与车道3011A的相关性可通过获得车道3011A中行驶的各种交通工具的导航动作与对交通灯3030A-3030C所观察的各种状态标识符之间的相关性来确定。作为补充或替代,导航系统可通过确定到交通灯3030A-3030C的方向来确定交通灯3030A-3030C的相关性。例如,交通灯3030A-3030C可被确定为在交通工具3001前面、沿交通工具3001所跟随的车道(例如对于车道包含曲线时的情况)、到交通工具3001的侧面、面向交通工具3001、到交通工具3001的人行道等。此外,导航系统可将关联交通灯3030A-3030C的图像与导航系统的存储器中存储的各种交通灯的图像(例如具有绿灯、红灯、黄灯等的交通灯的图像)进行比较,以确定交通灯3030A的状态。在各个实施例中,如果由导航系统确定交通灯处于交通工具3001前面和/或沿车道3001所跟随的车道,则交通灯可以是相关的。应当注意,交通灯的这种相关性标准是说明性的,以及可使用利用导航系统的交通灯的其它相关性标准,如进一步论述。
在各个实施例中,道路3060的车道(例如车道3011A和3011B)可通过数字、字母数字值或者任何其它适当标识符来标识。在示例实施例中,交通工具3001可通过使用与交通工具3001关联的交通工具控制系统分析交通工具3001的导航信息来确定车道标识符。导航信息的分析可包括评估交通工具3001的位置和/或交通工具3001的到路边3040A或3040B的距离。在一些实施例中,车道可使与其标识符相关的标记沿车道被定位,所述标记可由交通工具3001的交通工具控制系统所检测和标识。
在各个实施例中,当交通灯3030A经由交通灯通信系统3031与交通工具3001进行通信时,交通灯通信系统3031可向导航系统传递车道标识符。导航系统可将从交通灯通信系统3031所接收的车道标识符与由交通工具3001经由对导航信息的分析使用交通工具控制系统所获得的车道标识符进行比较。如果从交通灯通信系统3031所接收的车道标识符匹配由交通工具3001经由对导航信息的分析所获得的车道标识符,则交通灯3030A与交通工具3001所行驶的车道是相关的。
在各个实施例中,交通灯与给定车道的相关性可由导航系统使用统计数据来获得。例如,服务器1230可从各种自主交通工具接收与沿路段所检测的交通灯关联的位置标识符、与沿路段所检测的交通灯关联的状态标识符以及指示沿路段行驶的自主交通工具的运动的一个或多个方面的导航信息。导航系统可使用与自主交通工具关联的导航信息、使用上述任何适当方式来确定自主交通工具沿路段所跟随的行驶车道。例如,服务器导航系统可使用交通工具的GPS数据或者使用由交通工具的交通工具控制系统所获得的数据。服务器导航系统可收集与导航信息相关的统计数据,例如自主交通工具所执行的运动的类型以及与自主交通工具所行驶的车道相关的交通灯的状态标识符。在一些实施例中,服务器导航系统可收集与交通工具的导航动作相关的统计数据以及交通灯的状态标识符的变化。
在一些管辖区中,车道指派可例如在不同时刻或者按照穿过交叉口的车道的变化拥塞水平(例如驶入特定位置的车道可能在早晨遭遇繁忙交通,而驶离该位置的车道可能在下午遭遇繁忙交通)动态变化。相应地,在一些实施例中,该系统可在例如具有这类动态交通灯系统或车道指派的一个或多个交叉口进行监测,以获得(例如通过图像分析、报告、由交通信号所广播的信息等)并且记录所报告交通灯状态和/或主交通工具的行驶车道的拥塞状态和/或通过交叉口的其它车道处的拥塞状态的时间。
作为另一个示例,例如公职人员(例如警察)等人员可代替交通灯来指挥交通。因此,交通可能与交通灯所指示的信号相矛盾地进行。在一些实施例中,该系统能够配置成例如通过图像分析来检测公务员指挥交通。在另一个示例中,公务员可使用电子信标或者可由交通工具上的传感器所检测的任何其它对象,指示该公务员正按照可能与交叉口内操作的交通灯矛盾的方式指挥交通。
图31A示出如图30A所示在车道3011A中行驶的自主交通工具(例如交通工具3001)的时间相关导航信息与交通灯(例如交通灯3030A)的时间相关状态标识符之间的可能关系。图表3101示出交通灯3030A的时间相关交通灯状态标识符。交通灯3030A可处于与时间间隔T1期间所观察的红色(红色为状态标识符)对应的第一状态。交通灯3030A的状态标识符可改变成与时间间隔T2期间所观察的绿色对应的不同第二状态,并且可改变成与时间间隔T3期间所观察的黄色对应的第三状态。应当注意,上述状态标识符只是说明性的,并且各种其它状态标识符是可能的。
图表3103示出作为时间的函数所评估的交通工具3001的导航信息的时间相关函数。在时间间隔T1期间,交通工具3001可停止(例如导航信息可对应于交通工具3001的没有可观察运动,例如导航信息可通过例如与具有值零的导航信息的时间相关函数对应的状态“STOP”(停)来表征)。在时间间隔T2期间,交通工具3001可启动并且继续运动(例如导航信息可通过例如与具有值一的导航信息的时间相关函数对应的状态“GO”(走)来表征),以及在时间间隔T3期间,交通工具3001可在时间间隔T3结束时减速到停止(例如导航信息可通过例如与具有一和零之间的值的导航信息的时间相关函数对应的状态“SLOWDOWN”(减速)来表征)。应当注意,导航信息的部分或任一个的变化以及因此例如图表3103所示的时间相关函数的变化对应于交通工具3001的导航动作。例如,状态“STOP”到状态“GO”之间的变化构成导航动作。
图表3103指示交通工具3001的导航信息的时间相关函数的时间相关行为与交通灯3030A的状态标识符的时间相关行为直接相互关连,如图表3101所述。虽然对于在车道3011A中行驶的交通工具3001绘制图表3101和3103,但是服务器导航系统可对于在相同或不同车道中行驶的各种其它交通工具(自主或非自主交通工具)生成类似图表。如果在车道3011A中行驶的交通工具呈现交通工具的导航信息与对应于交通灯3030A的状态标识符之间的直接相关性,则服务器导航系统可断定交通灯3030A与车道3011A相关。
图31B示出示例实施例,其中图表3113所示的交通工具(例如交通工具3001)的导航信息的时间相关函数可相对于图表3111所示的时间相关状态标识符偏移相位因子f。在示例实施例中,如图表3111所示的时间相关状态标识符可与交通灯3030B或3030C的状态相关,所述交通灯不是直接位于沿车道3011A行驶的交通工具3001前面。与图表3101相似,图表3111可包括与图表3111所示的时间相关状态标识符关联的交通灯(例如交通灯3030B)的红灯、绿灯或黄灯状态,对应地标记为“RED”(红)、“GREEN”(绿)和“YELLOW”(黄)。与图表3103相似,图表3113可表明交通工具3001的导航信息的时间相关函数可通过状态“STOP”的区域(其中导航信息的时间相关函数可以为零)、状态“GO”的区域(其中时间相关函数可以为一)以及状态“SLOWDOWN”的区域(其中导航信息的时间相关函数可在零与一之间)来表征。在各个实施例中,即使交通工具3001的导航信息的时间相关函数呈现相移f,服务器导航系统也可断定交通灯3030B与车道3011A相关,至少因为图表3111所示的状态标识符可与已知相移f共同用来预测沿车道3011A行驶的交通工具的导航信息的时间相关函数,如图表3113所示。
应当注意,交通灯3030A可与车道3011B以及与车道3011A相关。例如,在车道3011B中行驶的交通工具可“服从”交通灯3030A,就像在车道3011A中行驶的交通工具一样,其中术语“服从”用来指示车道3011B中行驶的交通工具的导航信息可与对应于交通灯3030A的状态标识符直接相互关连。在说明性实施例中,在车道3011A中行驶的交通工具可通过执行与交通灯3030A的状态标识符相互关连的第一组导航动作来服从交通灯3030A,所述导航动作可包括当灯3030A处于红灯状态(例如图30A中标记为“RED”,并且又称作状态“RED”)时在灯3030A处停止,当灯3030A处于绿灯状态(例如图31A中标记为“GREEN”,并且又称作状态“GREEN”)时穿过灯3030A,当灯3030A处于黄灯状态(例如图31A中标记为“YELLOW”,并且又称作状态“YELLOW”)时在灯3030A前面减速,或者当灯3030A的状态标识符为绿色转弯箭头时左转。在车道3011B中行驶的交通工具可通过执行第二组导航动作(例如当灯3030A的状态标识符为绿色转弯箭头时执行车道3011A中行驶的交通工具的全部导航动作,除了左转的动作之外)来服从交通灯3030A。当灯3030A的状态标识符为绿色转弯箭头时,在车道3011B中行驶的交通工具可配置成穿过灯3030A。
在各个实施例中,服务器导航系统可收集与交通灯(例如交通灯3030A)的时间相关状态标识符相关的数据以及与沿给定路段(例如包含车道3011A和3011B的路段)行驶的各种交通工具相关的时间相关导航信息。交通灯3030A的所收集时间相关状态标识符以及时间相关导航信息可用来建立交通灯3030A与给定路段的相关性。
在示例实施例中,如图31A所示,交通工具3001的导航动作可以是时间的函数,并且取决于给定车道的交通灯状态标识符。例如,当交通灯状态如图表3101所示处于状态“RED”时,可以不要求导航动作。当交通灯状态在时间t1从状态“RED”改变成“GREEN”时,可如图表3105所示要求导航动作NA1。在示例实施例中,NA1可对应于交通工具3001加速并且获取非零速度。在时间t2,交通灯状态从状态“GREEN”改变成“YELLOW”,并且可如图表3105所示要求导航动作NA2。在示例实施例中,NA2可对应于交通工具3001在时间t2开始减速并且在时间t3获取零速度。在时间t3之后,可以不要求导航动作,直到时间t4,如图表3105所示。
应当注意,图31A所示的时间相关交通灯状态标识符、时间相关导航信息和时间相关导航动作之间的关系的示例实施例只是说明性的,并且描述这些时间相关变量之间的关系的各种其它配置是可能的。例如,除了“RED”、“GREEN”或“YELLOW”的状态之外,时间相关交通灯状态标识符还可具有多种状态。在各个实施例中,与该路段上(或者附近路段上,例如道路3016,如图30所示)行驶的除了交通工具3001之外的交通工具关联的导航信息可影响交通工具3001的时间相关导航动作。
还应当注意,时间相关导航动作可受到与时间相关交通灯状态标识符无关(或者不是直接相关)的其它道路相关事件所影响。例如,这类事件可包括行人在交通工具3001所行驶的车道3011A上乱穿马路、在路边3040A非法停放的交通工具、交通工具3001或者交通工具3001附近的其它交通工具的机械故障、交通工具3001附近的警车、消防车或医疗急救车、道路工程、不利道路条件(例如冰、冰雹、雨、道路缺陷等)等。
在各个实施例中,服务器1230可配置成监测沿道路3060和3016行驶的交通工具,并且预测交通工具的轨迹以确保交通工具不会相互邻近。例如,服务器1230可配置成对于被预测相互邻近的交通工具传送一个或多个避免碰撞导航动作的指示。在各个实施例中,术语“邻近”可以是交通工具之间的距离,该距离可取决于交通工具的速度或者两个交通工具之间的相对速度。在一些实施例中,沿行驶车道的两个交通工具之间的邻近距离可不同于在相邻车道中行驶的交通工具之间的邻近距离。在示例实施例中,沿行驶车道行驶的两个交通工具之间的邻近距离可基于二秒规则(例如交通工具在二秒内行驶所需的距离),以便为人工驾驶员所操作的交通工具提供适当反应时间。
在一些实施例中,示例交通工具的交通工具控制系统可接受和执行(或者调度成在以后执行)服务器1230所建议的避免碰撞导航动作,以及在其它实施例中,交通工具控制系统可执行(或者调度成在以后执行)不同的一组避免碰撞导航动作。在一些实施例中,交通工具控制系统可忽略避免碰撞导航动作的执行。在各个实施例中,交通工具控制系统可通知服务器1230关于由交通工具控制系统所执行或者调度成在以后执行的导航动作。
在各个实施例中,导航系统可配置成更新相对于路段的自主交通工具道路导航模型,其中更新基于至少一个位置标识符并且基于交通灯是否与交通工具所穿过的行驶车道相关。当导航模型要求更新时,可更新这种模型。例如,如果时间相关交通灯状态标识符与交通工具的时间相关导航信息之间的所观察相关性不匹配如从导航模型所确定的来自交通工具的预计导航动作,则模型可要求更新。例如,导航系统可获得沿路段3063的车道3011A行驶的代表交通工具(例如交通工具3001)的导航动作NAV。导航系统可将导航动作NAV与使用自主交通工具道路导航模型NAMODEL所获得的导航动作进行比较,以及如果NAV不同于NAMODEL,则可更新自主交通工具道路导航模型。
在各个实施例中,已更新自主交通工具道路导航模型可被分发给各种自主交通工具。例如,已更新模型可用作导航系统使用自主交通工具道路导航模型来确定导航动作NAMODEL的建议或可能方式。应当注意,导航系统可使用获得导航动作的备选方式。例如,导航系统可使用图像捕获装置(例如摄像机)来确定到交通灯3030A的方向,以建立交通灯3030A与车道3011A的相关性。在建立交通灯3030A的相关性之后,导航系统可基于对交通灯3030A所获得的图像数据来确定交通灯3030A的状态。基于交通灯3030A的状态,导航系统可使用交通灯3030A的状态与可能导航动作之间的一组预定关系来确定适当导航动作。例如,导航系统可使用散列表来存储被映射到交通灯3030A的状态(散列表的)的导航动作(散列表的键)。在一些实施例中,散列表的键可不仅包括与交通灯3030A的状态有关的信息,而且还包括交通工具3001的导航信息或者位于交通工具3001附近的交通工具的导航信息。
在各个实施例中,当对行驶于与交通灯相关的道路的车道的各种交通工具收集充分信息量时,可执行对自主交通工具道路导航模型的更新,以便确保交通灯与交通工具所行驶的车道的相关性的统计确定性。在示例实施例中,确定性可高于99%、99.9%、99.99%或以上。在一些实施例中,可对沿道路的车道行驶的两个交通工具、对沿车道行驶的十个交通工具、对沿车道行驶的数百或者甚至数千个交通工具来收集信息。在各个实施例中,当其它交通工具处于行驶于路段的交通工具附近时,可收集将交通工具的导航动作与交通灯的交通灯状态相关的信息。例如,当其它交通工具沿道路3016行驶时,可对沿道路3060行驶的交通工具来收集信息。
图32示出经由导航系统来更新各种自主交通工具的自主交通工具道路导航模型的示例过程3200。在各个实施例中,过程3200可由导航系统的处理器来执行。在过程3200的步骤3201,导航系统的至少一个处理器可从交通工具接收与沿路段所检测的交通灯关联的至少一个位置标识符。例如,处理器可接收与交通灯3030A关联的位置标识符,如图30A所示。在各个实施例中,处理器可从沿包含交通灯3030A的路段行驶的一个或多个交通工具接收位置标识符。例如,处理器可从沿车道3011A行驶的交通工具3001接收位置标识符。可使用以上所述的适当方式的任一种来获得交通灯3030A的位置标识符。
在步骤3203,处理器可从交通工具接收与沿路段所检测的交通灯关联的状态标识符。在示例实施例中,状态标识符可将交通灯标识为发射红光(例如状态标识符如图30A所示为“RED”)、发射绿光(例如状态标识符如图30A所示为“GREEN”)或者发射黄光(例如状态标识符如图30A所示为“YELLOW”)。在一些实施例中,可使用各种其它状态标识符。在各个实施例中,导航系统的处理器可从沿包含交通灯3030A的路段行驶的一个或多个交通工具接收状态标识符。在一些实施例中,从交通工具所接收的状态取决于交通工具沿路段的行驶时间。
在步骤3205,处理器可配置成从交通工具接收与沿路段行驶的交通工具相关的导航信息。例如,导航系统的处理器可配置成接收交通工具(例如交通工具3001)的导航信息,例如交通工具3001的位置、交通工具3001的速度、交通工具3001的加速度、交通工具3001的减速度等。在一些实施例中,处理器可配置成接收与沿同一车道(例如车道3011A)行驶的交通工具相关的导航信息,以及在一些实施例中,处理器可配置成接收紧邻车道3011A、跨车道3011A(例如,如图30A所示沿道路3016行驶的交通工具)或者在位于路段所包含的交通灯附近的任何其它车道中行驶的交通工具相关的导航信息。
在各个实施例中,处理器可配置成在步骤3203从至少一个交通工具(例如第一交通工具)接收交通灯(例如交通灯3030A)的第一状态标识符,该第一状态标识符不同于从至少另一个交通工具(例如第二交通工具)所接收的第二状态标识符。例如,第一状态标识符可对应于与标签“RED”(如图30A所示)对应的红灯状态或者与标签“YELLOW”(如图30A所示)对应的黄灯状态,以及第二状态标识符可对应于与标签“GREEN”(如图30A所示)对应的绿灯状态。在各个实施例中,导航系统的处理器可配置成在步骤3205接收与第一交通工具关联的导航信息以及与第二交通工具关联的导航信息,所述导航信息指示第一交通工具对交通灯3030A的第一状态标识符的响应,该响应可不同于第二交通工具对交通灯3030A的第二状态标识符的响应。例如,对于第一交通工具所接收的红灯状态,第一交通工具可减速到完全停止(即,具有第一类型的响应),以及对于第二交通工具所接收的绿灯状态,第二交通工具可继续或开始交通工具运动(即,具有第二类型的响应)。在一些情况下,交通灯3030A的第一状态标识符可与第二状态标识符相同。
在各个实施例中,导航系统的处理器可配置成在步骤3205接收与第一交通工具关联的导航信息以及与第二交通工具关联的导航信息,所述导航信息指示第一交通工具对交通灯3030A的第一状态标识符的第一响应可与第二交通工具对交通灯3030A的第二状态标识符的第二响应基本上相同。如本文所定义,除非另加说明,否则如应用于交通工具对状态标识符的响应的术语“基本上”可指示第一响应至少在质量上与第二响应相同,同时允许在数量上不同。例如,第一和第二响应可包括制动,但是第一响应的减速度的幅值可不同于第二响应的减速度的幅值。
在步骤3207,导航系统的处理器可确定交通工具3001所行驶的车道。在示例实施例中,处理器可使用从交通工具3001所接收的导航信息来确定交通工具3001所行驶的车道。例如,处理器可基于交通工具的位置或者基于交通工具到路段的各种特征的距离(例如基于到道路的路边的距离)来确定交通工具3001所行驶的车道。在示例实施例中,可通过将交通工具3001所行驶的交通工具3001的轨迹(本文中称作行驶或实际轨迹)与关联行驶于路段的交通工具的自主交通工具道路导航模型的一个或多个可用目标轨迹(如上所限定)进行比较,来确定由交通工具3001沿路段所跟随的行驶车道。例如,目标轨迹可包括与沿目标轨迹的不同区域的路段的车道有关的信息。如果交通工具3001的行驶轨迹匹配目标轨迹段,则处理器可配置成基于与目标轨迹段关联的车道来确定交通工具3001所行驶的车道。备选地,如果交通工具3001的行驶轨迹靠近并且到目标轨迹的一侧,则处理器可配置成确定交通工具3001所行驶的车道是与目标轨迹段关联的车道的相邻车道。
在步骤3209,处理器可确定车道(例如车道3011A)的交通灯相关性。在示例实施例中,可通过分析沿包含交通灯(例如交通灯3030A)的路段行驶的各种交通工具的时间相关导航信息与交通灯3030A的时间相关状态标识符之间的相关性,来确定车道相关性。例如,如果存在导航信息(或者导航信息的一个或多个变化)与交通灯3030A)的状态标识符(或者状态标识符的变化)之间的直接相关性,则处理器可确定交通灯3030A与车道3011A相关。在各个实施例中,沿包含交通灯3030A的路段行驶的各种交通工具的时间相关导航信息与交通灯3030A的时间相关状态标识符之间的相关性可通过收集在不同时间沿路段行驶的多个交通工具的信息来获得。
在步骤3211,处理器可更新自主交通工具道路导航模型,因为它涉及沿路段行驶的各种交通工具的时间相关导航信息与交通灯3030A的时间相关状态标识符之间的相关性。在各个实施例中,更新可包括更新交通灯3030A的位置标识符或者更新交通灯3030A与交通工具3001所跟随的车道3011A的相关性。在一些实施例中,更新模型可包括更新沿路段行驶的各种交通工具的时间相关导航信息与交通灯3030A的时间相关状态标识符之间的关系,所述关系可通过函数来表示。
在步骤3213,处理器可配置成将已更新模型分发给在路段附近行驶的各种自主交通工具。在示例实施例中,导航系统可配置成将已更新模型首先分发给最相关交通工具(例如正接近交通灯3030A的交通工具),并且然后将模型分发给各种其它交通工具。
应当注意,可修改或省略过程3200的各种步骤。例如,处理器可在步骤3205接收导航信息,所述导航信息可包括与交通工具所行驶的车道有关的信息。对于这种情况,可省略过程3200的步骤3207。在一些情况下,处理器可确定交通灯的相关性,因此使步骤3209是不必要的。
图33示出使用导航系统的自主交通工具导航的示例过程3300。在过程3300的步骤3301,导航系统的处理器可从信号检测装置接收来自示例交通工具(例如交通工具3001)的环境的各种数据信号。例如,这类数据信号可以是音频数据、视频或图像数据以及使用交通灯通信系统3031从各种交通灯所传递的数据信号。在示例实施例中,交通工具3001的信号检测装置可以是用于捕获表示交通工具3001的环境的一个或多个图像的图像捕获装置。
在步骤3303,处理器可配置成基于从信号检测装置所接收的数据信号的分析来标识至少一个交通灯的表示。在示例实施例中,来自图像捕获装置的所接收图像的分析可用来标识图像中的至少一个交通灯,并且获得所标识交通灯的表示。在示例实施例中,说明性交通灯的表示可以是以上所述的交通灯位置标识符。可使用以上所述的适当方式的任一种来获得交通灯的位置标识符。
在步骤3305,处理器可配置成基于使用图像捕获装置所获得的图像的分析来确定至少一个所标识交通灯(例如交通灯3030A)的状态。在示例实施例中,处理器可将对各种交通灯所获得的图像与各种交通灯的图像(例如导航系统的存储器中存储的具有绿灯、红灯、黄灯等的交通灯的图像)进行比较,以确定各种交通灯的状态。在一些实施例中,处理器可配置成向服务器1230传送一个或多个交通灯的图像,以供对图像的处理(例如压缩图像、编辑图像等)、对图像的分析(例如对图像的分析以用于确定所标识交通灯的一个或多个的状态以及标识可存在于图像内的其它对象,例如道路路标)和/或对图像的存储。
在步骤3307,处理器可配置成从导航系统(或者从任何相关的基于服务器的系统)接收自主交通工具道路导航模型,其中自主交通工具道路导航模型可包括与关联路段的各种交通灯相关的所存储信息。在示例实施例中,所存储信息可包括交通灯的位置标识符以及沿路段行驶的交通工具所跟随的与交通灯关联的一个或多个相关车道。作为补充或替代,与各种交通灯相关的所存储信息可与沿路段行驶的交通工具3001可用的一个或多个可能轨迹相互关连。在示例实施例中,每个可能轨迹可与路段的轨迹相关车道关联。在一些实施例中,路段的车道可与轨迹的一部分相关,例如对于轨迹通过若干不同车道时的情况。可能轨迹可由自主交通工具道路导航模型来提供,并且可通过三维样条来表示。
在步骤3309,处理器可确定在图像捕获装置所捕获的图像中所标识的所标识交通灯的部分处于与自主交通工具道路导航模型关联的映射交通灯之中。例如,导航系统可访问与所标识交通灯关联的交通灯位置标识符,并且可将所标识交通灯的位置与关联自主交通工具道路导航模型的各种映射交通灯的位置进行比较。在确定图像中所标识的至少一个交通灯处于与自主交通工具道路导航模型关联的映射交通灯之中之后,处理器可配置成在步骤3311确定被确定为处于映射交通灯之中的所标识交通灯是否与交通工具3001所行驶的车道相关。对于具有关联位置标识符的一个或多个交通灯,可使用以上所述的各种方式来建立一个或多个交通灯的相关性。在示例实施例中,相关交通灯可以是与路段的车道对齐的灯,例如可与车道3011A对齐的交通灯3030A。作为补充或替代,处理器可确定与自主交通工具道路导航模型关联的映射交通灯之中的至少另一个交通灯,所述至少另一个交通灯(例如交通灯3030B或3030C)可能没有与交通工具3001所行驶的车道3011A对齐。这类交通灯可与不同于车道3011A的路段的行驶车道对齐。例如,交通灯3030B和3030C对应于道路3016(如图30A所示,所述道路3016不同于道路3030),并且因此没有与车道3011A对齐。能够说,交通灯3030B和3030C与道路3016对齐。在各个实施例中,处理器可使用有关没有与车道3011A对齐的一个或多个交通灯的状态的信息来确定可能导航动作,如先前所述。例如当与车道3011A对齐的一个或多个交通灯从交通工具3001的图像捕获装置的视图中被遮蔽和/或不操作时,可使用这种信息。
在步骤3313,处理器可基于与交通工具3001所行驶的车道3011A相关的交通灯(例如交通灯3030A)的状态标识符来确定是否要求导航动作。如果没有找到相关交通灯,则可以不需要与交通灯相关的导航动作。那不一定暗示不需要导航动作,因为导航动作的一些可能不是与关于交通灯的导航动作相关的。例如,如果在交通工具3001所行驶的车道3011A中观察到行人或停止交通工具,则可要求导航动作。
在步骤3315,如果要求导航动作,则处理器可用来使与交通工具3001关联的一个或多个致动器系统实现交通工具3001的所确定的一个或多个导航动作。在各个实施例中,一个或多个致动器系统可包括交通工具3001的常规控件,例如油门踏板、制动踏板、变速换档器、方向盘、手制动器等。在一些实施例中,致动器系统可以是人类操作员不可访问的内部系统,所述内部系统执行与人类操作员可访问的常规控件相似的功能。在示例实施例中,导航系统可配置成经由致动器系统来加速交通工具3001,该致动器系统例如可包括交通工具的油门踏板。
应当注意,可修改或省略过程3300的各种步骤。作为补充或替代,可修改过程3300的步骤序列。例如,步骤3305可接着步骤3311,以及步骤3307可接着步骤3303。在一些实施例中,当由导航系统来分析示例交通灯的相关性的确定时,可省略步骤3309。
闪烁交通灯检测
如贯穿本公开所描述的,所公开的实施例可以检测一个或多个交通工具的环境内的交通灯。这些检测结果可用于生成导航地图和/或导航主交通工具。在许多实例中,交通灯可包括可闪烁或闪光以传达信息的多个灯。此外,正被传送的信息可以基于正闪烁的灯的颜色而改变。例如,在美国,闪烁的红灯通常向驾驶员发信号通知交通工具仅在做出完全停止后才可行驶通过十字路口(类似于停止标志的存在)。另一方面,闪烁的黄灯通常警告驾驶员谨慎地继续行驶。在其它管辖区中,闪烁灯可以具有其它含义。例如,取决于国家,闪烁的绿灯可以指示交通工具具有直线向前行驶以及进行左转的许可,可以指示在灯将变为黄色之前绿色循环的结束,可以指示十字路口包括人行横道等。在其它上下文中,例如在铁路道口处、在校车上、在失速交通工具上、或在类似情况下,闪烁灯也可以传达特定的含义。因此,对于自主或半自主交通工具来说,检测交通灯是否正在闪光并基于交通灯是否正在闪光来确定导航动作可以是有益的。
所公开的实施例提供了用于检测闪光交通灯的技术。特别地,一个或多个图像可以由被包括在交通工具中的一个或多个图像捕获装置捕获,并且可以被分析以标识与交通灯相关联的灯。灯可以与指示灯的特性(例如颜色、形状、符号等)的标签或其它数据相关联。然后可以捕获并分析一个或多个后续捕获的图像,以确定是否有任何检测到的灯闪烁。例如,可以使用长短期记忆(LSTM)网络或类似的机器学习算法来分析与灯的表示的位置相对应的后续捕获的图像的部分。作为结果,检测到的闪烁光连同灯的颜色、形状或其它特性可由导航系统用来确定交通灯的含义以用于诸如导航的目的。因此,所公开的实施例提供了对于现有导航系统的改进的安全性、效率和性能。
如上所述,所公开的实施例可以接收由交通工具捕获的一个或多个图像。图34A示出了根据所公开的实施例的表示主交通工具的环境的示例图像3400。图像3400可由主交通工具的摄像机(例如图像捕获装置122、124和/或126)捕获。在图34中所示的示例中,当交通工具沿着路段行驶时,可以从主交通工具的前向摄像机捕获图像。在该示例中,路段可以包括主交通工具正沿其行驶的车道3422。路段还可以包括车道3422左侧的转弯车道3420和车道3422右侧的附加通过车道3424。虽然图像3400表示从主交通工具前方捕获的图像,但是相同或类似的过程也可以应用于从其它摄像机位置捕获的图像,诸如从主交通工具的侧面或后面捕获的图像。在一些实施例中,可以使用多个图像3400,如下面进一步讨论的。
图像3400可以包括主交通工具的环境内的一个或多个交通灯的表示。如本文所使用的,交通灯可以包括用于通过一个或多个灯的点亮来传达交通信息的任何装置或机构。作为常见的示例,交通灯可以包括十字路口处的灯,诸如图像3400中示出的交通灯3410、3412和3414。交通灯可包括各种其它类型的灯装置,例如铁路道口灯、其它交通工具上的灯(例如,危险灯、校车灯、应急灯)、道路施工标记、人行横道标志(例如,闪光的橙色手形)、或可闪烁以传达信息的沿道路的任何其它灯。
主交通工具的导航系统可以检测所捕获图像中的交通灯的表示。例如,主交通工具可以检测图像3400中的交通灯3410、3412和3414中的一个或多个。这可以包括应用被配置成检测图像内的边缘、特征、拐角和/或对象的一个或多个计算机视觉算法,如贯穿本公开所描述的。例如,这可以包括非神经对象检测技术(诸如Viola-Jones对象检测、尺度不变特征变换(SIFT)、定向梯度直方图(HOG)等)或基于神经网络的对象检测算法(诸如区域建议(R-CNN、快速R-CNN等)、单发多发检测器(SSD)、或其它形式的卷积神经网络)。因此,检测所捕获图像中的交通灯的表示可以包括生成图像的至少一个卷积并分析所卷积的图像。
在一些实施例中,主交通工具可以被配置成确定被包括在检测到的交通灯中的灯的一个或多个特性。如在本文所使用的,灯是指交通灯的指示器或其它部件,其被配置成点亮以传达交通相关信息。灯可以包括被配置成点亮的一个或多个电灯泡,并且还可以包括漫射装置,例如遮光罩或盖。例如,灯可以包括发光二极管(LED)阵列、一个或多个白炽灯泡或基于卤素的灯泡、或其它灯组件。交通灯可以具有单个灯,或者可以包括多个不同的灯。在十字路口处的交通灯的示例中,交通灯可以包括红灯、黄灯和绿灯。取决于交通灯的类型,灯也可以具有各种形状或大小。例如,灯可以具有指示与转弯车道相关联的信号的箭头形状。取决于特定的交通灯,灯可以具有各种其它形状(例如,人行走、打开的手等)。
图34B示出了根据所公开的实施例的可以在图像内检测到的交通灯的示例表示。在所示的示例中,这可以包括在图像3400中表示的交通灯3412。交通灯3412可包括三个灯3432、3434和3436。灯3432、3434和3436可各自在不同的时间点亮以传达不同的信息。例如,灯3432可以是指示停止指令的红色灯,灯3436可以是指示相关联车道中的交通工具可以行驶通过十字路口的绿色灯,并且灯3434可以是指示即将改变到红灯信号(例如,通过点亮灯3434)的黄色灯。
导航系统可以被配置成确定指示特定灯的所检测特性的标签或其它形式的数据。在一些实施例中,这可以包括确定与灯相关联的颜色。例如,对于交通灯3412,系统可以将灯3432与标签“RED”相关联,标签“RED”指示灯3432具有红色。该系统可以类似地将灯3434和3436分别与“YELLOW”和“GREEN”标签相关联。灯3432、3434和3436的颜色可以基于图像3400来确定。例如,即使当未点亮时,灯3432、3434和3436也可以具有指示灯在点亮时的颜色的色调或色彩。在一些实施例中,可以基于灯相对于交通灯的位置来确定或假定颜色或其它特性。例如,在美国,可能习惯的是,交通灯在顶部具有红色灯、在中部具有黄色灯、并且在底部具有绿色灯。因此,基于灯3432、3434和3436的位置,系统可以指派颜色标签,如图34B中所示。备选地或另外地,标签可以指示位置(例如,“TOP”、“MIDDLE”、“BOTTOM”)。在一些实施例中,类似于上述颜色标签,各种其它特性可以与特定灯相关联。例如,交通灯可以包括转向箭头灯,例如图34A中所示的交通灯3410。因此,可以应用诸如“ARROW”的标签。这还可以包括方向的指示符,例如“LEFT TRUN”、“LEFT ARROW”或类似的标签。特性可以包括其它信息,诸如交通灯的类型、交通灯相对于道路的位置、灯的大小、灯的形状、或者可以指示灯的含义或重要性的各种其它特性或上下文信息。
在一些实施例中,导航系统可以标识包括特定灯的表示的图像部分。例如,如图34A中所示,系统可以标识与灯3432相关联的图像3400的一部分3442。可以选择部分3442以包含图像3400中的灯3432的表示的至少一部分。因此,在一些实施例中,可以独立地分析部分3442以确定灯3432是否在后续图像中被点亮,如下面进一步详细描述的。另外地或备选地,部分3442可用于标识后续图像中的灯3432的表示。部分3442可以具有取决于灯3432的表示的大小或形状(例如,以像素数量来测量等),或者可以具有预定的大小或形状(例如,设定的像素数量、正方形等)。
根据所公开的实施例,可以分析主交通工具的环境的后续图像以确定交通灯的一个或多个灯是否正在闪烁。图34C示出了根据所公开的实施例的可以在后续图像中捕获的交通灯3412的表示。与图像3400一样,后续图像可由主交通工具的摄像机(例如图像捕获装置122、124和/或126)捕获。在图34C中所示的示例中,交通灯3412的灯3432可以被点亮。系统可以检测灯3432的点亮,这可以指示灯3432正在闪烁。可以基于对后续图像的分析来确定灯3432的点亮。例如,与灯3432未被点亮时相比,当灯3432被点亮时,图像中与灯3432相关联的像素可以具有不同的强度、颜色或其它特性。在一些实施例中,这可以包括分析灯3432的表示周围的像素,其可以包括被点亮的灯的眩光或反射。系统可以对多个后续图像执行分析,以确定灯3432是否正在闪烁或者它是否已经简单地转换到点亮状态(或从点亮状态转换)。例如,这可以包括确定灯相对于点亮状态处于关闭多长时间的图案、点亮之间的定时、图案的一致性、或者可以指示灯正在闪烁的图案的其它特性。在一些实施例中,这可以包括将一个或多个特性与阈值进行比较以将灯分类为闪烁灯。例如,如果开/关周期小于预定时间阈值(例如,1秒、2秒、5秒等),则系统可认为灯正在闪烁。
在一些实施例中,诸如长短期记忆(LSTM)或其它人工递归神经网络架构之类的机器学习算法可用于检测灯是否正在闪烁。LSTM模型可以接收第一和后续图像作为输入,并且可以检测图像内的灯的状态改变。在一些实施例中,LSTM模型的输出可以是二进制值集合(例如,0指示灯正在闪烁,并且1指示灯正在闪烁)。可以以各种方式训练LSTM模型。例如,可以以监督方式训练模型,在监督方式中可以将包括交通灯的一组图像和指示灯是否正在闪烁的标签输入到LSTM算法中。作为结果,LSTM模型可以被配置成确定后续图像系列是否包括闪烁灯。在一些实施例中,可以使用其它形式的训练,例如无监督训练或半监督训练。
根据所公开的实施例,系统可以提取包括灯的图像的子部分以输入到LSTM模型中。例如,这可以包括提取图像3400的部分3442和后续图像的对应部分3444以输入到LSTM模型中,这可以提高检测灯3432是否正在闪烁的准确性和/或效率。部分3444可以以与如上所述的部分3442相同或相似的方式标识。例如,这可以包括检测图像中的灯3432并确定包括一些或全部灯3432的图像的部分3444。在一些实施例中,部分3444可以具有与部分3442相同的形状或大小,然而,取决于特定的实现,它们同样可以具有不同的大小或形状。
在一些实施例中,部分3444可以至少部分地基于部分3442来确定。例如,可以预计灯3432在后续捕获的图像(例如,连续图像或靠近在一起捕获的图像)内处于相同或接近相同的位置。因此,系统最初可以在与部分3442相关联的图像区域中寻找灯3432。在一些实施例中,可以确定从获取第一图像帧的时间和获取附加图像的后续时间或两者之间的主交通工具的运动历史。运动历史可以包括主交通工具运动的任何指示。例如,运动历史可以包括位置信息、速度、加速度(或减速度)、旋转(例如,俯仰、偏航或滚动)、仰角变化等。在一些实施例中,可以基于对交通工具的环境中的路标的检测来确定运动历史,如贯穿本公开所描述的。在一些实施例中,运动历史可以由交通工具的一个或多个自我运动传感器(例如速度传感器、加速计、陀螺仪、GPS传感器等)确定。本公开不限于获得交通工具的运动历史的任何特定方式。
图35示出了根据所公开的实施例的用于基于交通工具的运动历史来确定与交通灯相关联的图像的一部分的示例技术。如图所示,当主交通工具处于第一位置3510时,主交通工具可以捕获图像3520。图像3520可以包括在图像内的位置3522处的交通灯3502的表示。然后,在主交通工具已经行驶距离D之后,主交通工具然后可以从第二位置3512捕获后续图像3530。如图35中所示,灯3502的表示可以位于图像3530内与图像3520中的位置3522不同的位置(例如,在位置3532)。特别地,位置3532可以相对于位置3522在图像坐标中变化垂直距离Δy。当交通工具处于位置3510时,使用灯3502相对于摄像机的确定位置和近似距离D(其可以根据交通工具的运动历史来确定),系统可以确定(或估计)位置3532。因此,系统可以基于所确定的位置3532来提取包括灯3502的图像3530的子部分,该位置3532可以用于确定灯3502是否正在闪烁。图35中所示的运动历史作为示例示出。要理解,运动历史可以包括可以被计算在内以用于确定位置3532的以下项:前进方向的改变(例如,偏航角的改变)、交通工具的俯仰或滚动的改变(其可以基于路面几何形状)、速度或加速度的改变、或交通工具的运动的其它改变。
基于对闪烁灯的检测,主交通工具可以根据闪烁灯的特性来实现导航动作。换言之,导航动作可以基于交通灯的“状态”来确定,该“状态”指示哪个灯当前被点亮。在一些实施例中,如上所述,状态可以是指示与灯相关联的颜色的颜色状态。作为另一示例,状态可以是视觉信号状态,其可以指示交通灯内的灯的位置。状态还可以指示灯的形状、大小、角度、闪烁速率、或其它特性或特性的组合,其可以与含义相关联。例如,闪烁箭头灯可以具有与圆形闪烁灯不同的含义。状态信息可以用于确定闪烁灯的含义,其可以确定适当的导航动作。
在一些实施例中,这可以包括在使闪烁灯特性(或状态)与相关联的导航动作相关的一个或多个数据结构中查找闪烁灯的特性。数据结构可以包括用于以关联方式存储数据的任何格式。例如,数据结构可以包括数组、关联数组、链表、二叉树、平衡树、堆、栈、队列、集合、散列表、记录、标记的并集(union)、ER模型、数据库和/或图表。作为说明性示例,具有红色状态的闪烁灯可与停止主交通工具相关联,具有黄色状态的闪烁灯可与主交通工具的减速相关联、具有绿色状态的闪烁灯可与使交通工具让行相关联。在一些实施例中,导航动作还可以考虑闪烁灯的形状,如上所述。例如,包括方向箭头并具有黄色状态的闪烁灯可以与交通工具在转弯时让行的指令相关联。特定导航动作可以取决于交通工具正在驾驶的管辖区。在一些实施例中,数据结构可以包括具有多个管辖区的导航动作,并且主交通工具的位置可以用于确定相关联的管辖区,并且因而确定正确的导航动作。
图36是示出根据所公开的实施例的用于导航交通工具的示例过程3600的流程图。如上所述,过程3600可由主交通工具的至少一个处理装置(诸如处理单元110)执行。应当理解,贯穿本公开,术语“处理器”被用作“至少一个处理器”的简写。换言之,处理器可以包括执行逻辑操作的一个或多个结构(例如,电路),而无论这些结构是共置的、连接的还是分派的。在一些实施例中,非瞬态计算机可读介质可以包含在由处理器执行时使处理器执行过程3600的指令。此外,过程3600不一定限于图36中所示的步骤,并且贯穿本公开所描述的各种实施例的任何步骤或过程也可以被包括在过程3600中,包括以上关于图34A、图34B和图35所描述的那些。
在步骤3610中,过程3600包括接收由图像捕获装置获取的第一图像帧。例如,步骤3610可以包括接收图像3400,其可以由图像捕获装置122、124和/或126捕获,如上所述。第一图像帧可以表示交通工具的环境,其中所述环境包括至少一个交通灯。例如,图像可以包括交通灯3410、3412和/或3414的表示,如以上关于图34A所描述的。
在步骤3620中,过程3600包括在第一图像帧中检测至少一个交通灯的表示并且确定与被包括在至少一个交通灯上的一个或多个灯相关联的颜色状态。例如,颜色状态可以指示灯是绿色、黄色还是红色,如图34B中所示。在一些实施例中,可以基于灯相对于交通灯的位置来确定状态,如上面进一步讨论的。虽然在步骤3620中使用术语颜色状态,但是应当理解,这可以包括指示当前状态的其它特性,诸如位置、形状等。
在步骤3630中,过程3600包括接收由图像捕获装置获取的至少一个附加图像帧,其中至少一个附加图像帧包括至少一个交通灯的表示。例如,附加图像可以包括交通灯3412的表示,如上关于图34C所述。在一些实施例中,至少一个附加图像帧的至少一部分可以构成至少一个附加图像帧的所提取的子部分,其包括至少一个交通灯在至少一个附加图像帧中的表示。例如,所提取的子部分可以对应于部分3444,如图34C中所示。此外,在一些实施例中,可以基于至少一个交通灯的表示在第一图像帧中的位置并且基于交通工具在获取第一图像帧的时间与获取至少一个附加图像帧的后续时间之间的运动历史来确定所提取的子部分在至少一个附加图像帧中的位置。例如,所提取的子部分的位置可以对应于图像3530的部分3532,其可以基于位置3522和交通工具的运动历史来确定,如以上关于图35所描述的。
在步骤3640中,过程3600包括基于第一图像帧的至少一部分与至少一个附加图像帧的至少一部分的比较来确定至少一个交通灯是否包括闪烁灯。例如,步骤3640可以包括确定灯3432是否正在闪烁,如上关于图34C所述。在一些实施例中,比较可以包括将第一图像帧的至少一部分和至少一个附加图像帧的至少一部分提供给长短期记忆(LSTM)网络,如上所述。例如,LSTM网络被配置成如果没有检测到闪烁,则针对被包括在至少一个交通灯中的一个或多个灯中的每一个灯输出第一值(例如,逻辑“0”),并且如果检测到闪烁,则输出第二值(例如,逻辑“1”)。在一些实施例中,第一图像的至少一部分和至少一个附加图像帧的至少一部分可以包括第一图像和至少一个附加图像的所提取的子部分。
在步骤3650中,过程3600包括,如果确定至少一个交通灯包括闪烁灯,则根据确定至少一个交通灯包括闪烁灯并且还基于闪烁灯的所检测到的颜色状态,使交通工具相对于至少一个交通灯来实现导航动作。例如,导航动作可以包括:响应于确定所述至少一个交通灯包括具有红色状态的闪烁灯而停止交通工具;响应于确定至少一个交通灯包括具有黄色状态的闪烁灯而减慢交通工具;响应于确定至少一个交通灯包括具有黄色状态的闪烁灯并且其中闪烁灯包括方向箭头而使交通工具让行,或者响应于确定至少一个交通灯包括具有绿色状态的闪烁灯而使交通工具让行。可以根据如上所述的闪烁灯的特性范围来实现各种其它示例导航动作。在一些实施例中,特定导航动作可以取决于交通工具正在行驶的管辖区。
交通灯相关性
如上一般描述的,所公开的实施例可以包括用于映射交通灯和用于确定交通灯相关性以供自主交通工具导航使用的功能。可以实现各种附加或备选技术来改进或补充上述交通灯相关性确定。特别地,所公开的实施例可以包括用于基于十字路口的停止线将相关交通灯映射到可用车道的功能性。这可以包括在十字路口内检测到的物理停止线,或者可以包括虚拟停止线,如上面一般描述的。例如,在一些实施例中,系统可以众包相对于十字路口的观察到的交通工具行为,以聚合和细化针对十字路口的检测到的停止位置。在一些实施例中,系统还可以确定相对于十字路口的可行驶路径。
基于从穿过十字路口的交通工具中的图像捕获装置捕获的图像,系统可以指派具有同步信号模式的交通灯的逻辑分组。这些逻辑分组可以基于上述停止线数据而与十字路口中的特定行驶车道相关。例如,指示特定行驶车道中的交通工具通常停止在交通灯分组为红色时的特定点的驾驶数据可指示交通灯分组与行驶车道相关联。可以基于诸如路面上的检测到的道路标志或箭头之类的附加信息来细化逻辑交通灯分组的指派。所指派的逻辑交通灯分组以及分组与相关联的车道或可行驶路径之间的链接可被存储在导航地图中,所述导航地图可由一个或多个交通工具用于导航交叉口。因此,所公开的实施例提供了对于现有导航系统的改进的安全性、效率和性能。下面更详细地描述这些实施例,并且在附图中示出了示例实施例。
图37A示出了根据所公开的实施例的可以确定交通灯相关性的示例交叉口3700。交叉口3700可以包括从特定方向进入交叉口的三个行驶车道3730、3740和3750,如图37A中所示。特别地,车道3730可以是仅左转车道,而车道3740和3750可以是通过车道,交通工具可以沿着所述通过车道直线前进通过交叉口。车道3750还可以允许右转到相交的道路上。交叉口3700可以包括多个交通灯,例如交通灯3760、3762和3764。例如,交通灯3760可以与车道3730相关联,而交通灯3762和3764可以都与车道3740和3750中的每一个相关联。虽然这种关联对于交通工具的驾驶员可能是明显的,但是传统的自主或半自主交通工具导航系统可能难以可靠地确定这些关联。使用本文公开的技术,交通灯3760、3762和3764可以被分组成一个或多个逻辑组,并且可以使用停止位置和其它驾驶信息来确定组的相关性。虽然交叉口3700是作为说明性示例提供的,但是应当理解,相同或类似的技术可以应用在各种交叉口类型或布置中。
为了确定交通灯的相关性,服务器可以被配置成接收从多个交通工具收集的驾驶信息,所述多个交通工具穿过与交叉口相关联的路段。例如,如图37A中所示,服务器3710可以在主交通工具3720导航通过交叉口3700时从主交通工具3720接收驾驶信息3736。在一些实施例中,服务器3710可对应于上述服务器1230。因此,本文参照服务器1230所作的任何描述或公开也可应用于服务器3710,并且反之亦然。服务器3710可以被配置成当多个交通工具穿过交叉口3700时从它们接收驾驶信息,该驾驶信息可以包括驾驶信息3731、3734、3736、3742、3744、3752和3754。图37A中所示的驾驶信息是出于说明的目的而提供的,并且应当理解,在一些实施例中,可以分析更多得多组驾驶信息。例如,服务器3720可以被配置成从穿过交叉口3700的许多交通工具来众包驾驶信息以确定交通灯3760、3762和3764的相关性。
如贯穿本公开所描述的,驾驶信息可以包括当主交通工具沿道路横穿时由主交通工具收集的任何信息。驾驶信息可以包括交通工具的运动历史,例如位置、速度、取向、加速度、高度、或与交通工具的物理运动相关联的其它信息。因此,驾驶信息可以标识交通工具行驶通过交叉口3700的路径以及交通工具在其穿过十字路口时停止的位置(其可以包括完全停止或接近完全停止)。驾驶信息还可以包括当主交通工具穿过交叉口3700时从主交通工具的各种传感器捕获的信息。例如,驾驶信息可以包括表示交通工具的环境的图像数据。特别地,图像可以包括当交通工具穿过交叉口3700时交通灯3760、3762和3764中的一个或多个的表示。服务器3710可以基于图像数据来确定交通灯3760、3762和3764的状态,如下面进一步描述的。
根据所公开的实施例,服务器3710可以确定与交叉口相关联的至少一条停止线的位置。在一些实施例中,可以基于驾驶信息来确定停止位置。例如,服务器3710可以被配置成从多个交通工具中的每一个接收驾驶信息。驾驶信息可包括在沿路段驾驶期间多个交通工具中的特定交通工具相对于十字路口停止的停止位置。例如,驾驶信息可包括停止位置3738、3746和3756,如图37A中所示。服务器3710可以被配置成聚合从多个交通工具接收的驾驶信息中的停止位置,并且基于聚合的停止位置来确定相对于十字路口的停止线位置。以上关于图27、28、29A和29B更详细地描述了用于确定与交叉口相关联的停止线的技术。
另外地或备选地,来自由多个交通工具捕获的图像的信息可用于标识停止线。例如,由穿过交叉口3700的交通工具捕获的图像可以包括绘制的停止线3702的表示,其可以指示进入交叉口3700的交通工具的停止线的位置。停止线可以基于交叉口3700附近的其它特征或路标来标识,例如车道标志(例如,实线或虚线车道标志的末端)、人行横道、具有可标识磨损的区域(例如,油斑、磨损的路面等)、或交通工具可以停止在特定区域处的任何其它指示符。各种其它标志(例如道路标记、灯柱、杆、人行道、或交叉口附近的其它特征)可指示停止线的位置。
在一些实施例中,停止线的位置可以基于相对于交叉口的交通灯的观察到的几何形状来确定。例如,可以假设停止线平行于交叉口3700中的交通灯3760、3762和3764延伸。此外,停止线可以被假定为在交通灯3760、3762和3764前方的预定距离,这还可以考虑交通灯的高度或可以指示交通工具相对于交通灯停止在何处的其它几何形状。在一些实施例中,不适于指引捕获驾驶信息的交通工具的行驶的交通灯可以指示停止线的位置。例如,用于从相反方向接近的行驶的交通灯(图37A中未示出)可以放置在交通工具针对交通灯3760、3762和3764停止的位置的上方。作为另一个示例,交通灯可以放置在交叉口的入口附近,并且可以假设停止线与交叉口入口处的交通灯对齐或接近交通灯。在一些实施例中,这可以包括人行横道信号,例如“行走”或“不行走”信号。例如,系统可以确定停止线位于使行人通过路段的行人行走信号之前(即,基于从垂直于路段的行走信号延伸的假想线)。
如上所述,从多个交通工具收集的驾驶信息可包括当多个交通工具中的每一个相对于路段导航时检测到的交通灯的位置。驾驶信息还可以包括所检测的交通灯的状态的指示符,其可以用于形成逻辑交通灯组。检测到的交通灯的状态可以指交通灯正在显示的当前信号。可以参考交通灯上包括的灯是否被点亮(或者多个灯中的哪一个被点亮)来定义状态。还可以基于特定灯的点亮模式(例如,灯是否正在闪烁)来定义状态,这可以如上面更详细描述的那样来确定。在一些实施例中,该状态可以指指示当前正被点亮的灯的颜色的颜色状态。例如,交通灯可以具有“RED”、“YELLOW”(或“AMBER”)或“GREEN”的当前状态。特定颜色状态可以取决于交通灯的类型或交通灯所处的管辖区。在一些实施例中,可以基于当前正被点亮的灯的位置来确定状态。例如,在交通灯上,顶部灯可以与底部灯的不同状态相关联。灯的形状或其它特性也可以指示交通灯的状态。例如,其中转弯箭头被点亮的交通灯可以与“LEFT TURN”或“RIGHT TURN”状态相关联。可以分析由多个交通工具捕获的驾驶信息内的图像以标识交通灯的特性,包括灯的数量、哪些灯(如果有的话)被点亮、灯的颜色、灯的形状、灯的位置、或可以基于图像分析所确定的任何其它特性。在一些实施例中,可以基于特性的组合来定义状态。例如,交通灯可以具有“BLINKING GREEN LEFT ARROW”或“SOLIDRED RIGHT ARROW”的状态。虽然通过示例的方式提供了示例交通灯配置和状态,但是本公开不限于交通灯的任何特定形式或配置,并且特定状态可以取决于应用或管辖区而变化。
在一些实施例中,交通灯的状态可由主交通工具(例如,主交通工具3720)的处理装置在主交通工具穿过交叉口时确定。因此,驾驶信息可以包括在由主交通工具3720捕获的图像中表示的交通灯的所确定状态,其可以由服务器3710分析。备选地或另外地,服务器3710可以基于被包括在驾驶信息中的图像数据来确定交通灯的状态。在一些实施例中,确定状态可以包括从交通灯状态的预定义列表中选择状态。例如,服务器3710或主交通工具3720可以存储预定义的交通状态的列表(其可以特定于特定管辖区),并且可以基于通过分析所捕获的图像而确定的交通灯的特性来选择交通灯的当前状态。备选地或另外地,状态可以被定义为一组标识的特性。例如,状态可以表示为位置、颜色、形状、点亮模式、或其它特性的组合。因此,具有这些特性的相同组合的任何交通灯可以被称为具有相同的状态。在一些实施例中,每个特性可以具有预定的一组值(尽管这不一定如此)。例如,颜色特性可以具有绿色、黄色、红色、白色和橙色(或取决于应用的其它颜色)的列表,并且来自该列表的最接近的颜色可以被指派为颜色特性的值,以避免颜色的轻微变化与不同状态相关联。在一些实施例中,可以基于由交通灯所指示的信号或消息来定义状态。例如,状态可包括“无左转”、“直行”、“停止”或可由交通灯指示的其它信息。可以使用用于定义状态的各种其它方法。
基于交叉口中交通灯的所检测到的状态,服务器或主交通工具可以将交通灯分组成一个或多个逻辑交通灯组。逻辑组可以被定义为使得根据相同交通信号模式操作的任何交通灯被分组在一起。在任何给定时间表现出彼此不同的状态的任何交通灯可以被分成不同的逻辑组。可以将贯穿交通模式周期始终表现出相同状态的任何交通灯分组在一起。换言之,可以将逻辑交通灯组定义为仅包括总是表现出彼此相同的状态的交通灯。因此,仅仅因为两个交通灯在一个图像中或在一组驾驶信息中处于相同的状态,可能不一定意味着它们在逻辑上被分组在一起。为考虑到这一点,服务器3710可以分析在延长的时间段(例如,几分钟、几小时、几天等)内收集的来自多个交通工具的驾驶信息,以更准确地定义逻辑分组。
图37B示出了根据所公开的实施例的交通灯的示例分组。在该示例中,交通灯3760、3762和3764(如图37A中所示)可被分组成两个逻辑组3780和3782。特别地,交通灯3760可以与交通灯3762和3764分开分组,因为如图37B中所示,交通灯3760已经被检测为处于与交通灯3762和3764(例如,红色灯被点亮)不同的状态(例如,绿色左箭头被点亮)。应当注意,如果交通灯3762和3764被标识为具有不同的状态(例如,在后续的驾驶信息中),则它们可以被分成两个不同的组。因此,当在服务器3710处接收到驾驶信息时,可以动态地确定交通灯的分组。
在一些实施例中,除了交通灯的当前状态之外的其它指示符可以用于确定逻辑交通灯组。例如,交通灯上的灯的配置可以指示交通灯可以被不同地分组,即使它们当前未被点亮。在图37B中所示的示例中,交通灯3760可以借助于具有两个转向指示灯的交通灯3760而与交通灯3762和3764分开地分组,这两个转向指示灯未被包括在交通灯3762和3764中的任一个上。作为另一个示例,交通灯的放置或取向可以提供逻辑分组的上下文。例如,相对于其它交通灯彼此更靠近定位的交通灯可以更可能被分组在一起。此外,逻辑组可以更可能包括连续定位的交通灯。例如,包括交通灯3762和3764的逻辑组可比包括交通灯3760和3764并且基于交通灯的放置排除交通灯3762的逻辑组更有可能。被包括在驾驶信息中的各种其它标识的特征或路标也可以提供关于逻辑交通灯分组的提示。例如,交通灯3760可以被定位成邻近仅左转标记3761,这可以指示它具有与交通灯3762和3764不同的逻辑分组。应当注意,虽然交通灯的定位可以提供上下文线索,但是在交叉口内彼此间隔开的交通灯可以被包括在相同的逻辑分组内。例如,逻辑交通灯组可以包括在交叉口的入口附近的第一交通灯和在交叉口的出口附近的第二交通灯。如果交通灯沿特定行驶方向比交叉口的出口点更靠近交叉口的入口点,则交通灯可以说是在交叉口的入口附近,并且反之亦然。换言之,可以基于观察到的交通模式将沿着穿过交叉口的路段彼此纵向间隔开的交通灯分组在一起。这可以包括被定位在交叉口的入口点附近、在交叉口的中间(例如,悬挂在交叉口上方)、或在交叉口的出口处的交通灯。
根据所公开的实施例,服务器3710可以将逻辑交通灯组的表示存储在众包导航地图中,其可以由穿过交叉口3700的主交通工具使用。分组的表示可以以各种方式存储。例如,存储在地图中的每个检测到的交通灯可以与指示交通灯所关联的逻辑组的组ID相关联。作为另一示例,数组或其它数据结构可将众包地图中的交通灯相互关联以指示逻辑分组。可以使用用于定义众包地图数据内的组的任何其它合适的方法。
在一些实施例中,服务器3710还可以被配置成将逻辑交通灯分组与被包括在众包地图中或与众包地图相关联的可行驶路径链接。因此,众包地图可以向沿特定可行驶路径行驶的交通工具指示在交叉口中的哪些交通灯与可行驶路径相关。交通工具因此可以基于相关交通灯的检测到的状态来确定导航动作。
图37C示出了根据所公开的实施例的可以与交叉口3700相关联的示例性性可行驶路径。特别地,众包地图可以包括可行驶路径3770、3772、3774和3776,如图所示。可行驶路径可以基于多个交通工具在其经过交叉口3700时的聚合的运动特性来确定。例如,可以聚合驾驶信息3732、3734和3736(如图37A中所示)以生成可行驶路径3770。类似地,可以聚合驾驶信息3742和3744以生成可行驶路径3772,并且可以聚合驾驶信息3752和3754以生成可行驶路径3774。如贯穿本公开所描述的,可行驶路径可以对应于被包括在导航地图中的目标轨迹。因此,用于确定目标轨迹的本文描述的各种方法可用于确定可行驶路径。例如,可行驶路径可以表示为如上关于图9B所述的3D样条。虽然出于说明的目的而相对于车道3730、3740和3750示出了可行驶路径,但是可以针对穿过交叉口3700的其它行驶方向来限定可行驶路径。在一些实施例中,可以针对交叉口的每个可能的入口和出口组合来限定可行驶路径。例如,交叉口3700可以包括如白色箭头所示的多个入口点和如灰色箭头所示的多个出口点。基于聚合的运动特性,可以在交叉口3700的每个入口和与入口相关联的每个出口之间生成可行驶的交叉口路径。例如,入口3792可以分别与出口3794和3796中的每一个相关联,如通过可行驶路径3744和3776所示。因此,可以在众包地图中定义交叉口的所有可能的可行驶路径。
服务器3710或主交通工具可以将路段的可行驶路径与至少一个逻辑交通灯组链接。特别地,链接可以指示用于交叉口的逻辑交通灯组中的哪些与每个可行驶路径相关。可以基于可以在所收集的驾驶信息中指示的相对于交通灯的交通工具行为来确定链接。例如,可以基于交通灯的观察到的状态来确定链接,因为当行驶可行驶路径时,每个交通工具跨过停止线,这可以基于驾驶信息中的停止位置,例如图37A中所示的停止位置3738、3746和3756。特别地,如果当逻辑交通灯组处于“停止”状态时(例如,当红灯被点亮时),交通工具在停止线处或停止线附近停止,则其可指示逻辑交通灯组与交通工具正沿着行驶的可行驶路径相关。例如,如果驾驶信息3742包括停止位置3746,而逻辑交通灯组3782处于停止状态,则这可指示逻辑交通灯组3782与可行驶路径3772之间的链接。
相反地,如果当逻辑交通灯组处于停止状态时,交通工具未停止在停止线处或附近,则其可指示逻辑交通灯组与交通工具正沿着行驶的可行驶路径无关。例如,可行驶信息3744可以不包括停止点,并且可以指示逻辑交通灯组3780的停止状态。因此,服务器3710或主交通工具可以确定逻辑交通灯组3780可能不与可行驶路径3772相关联。作为另一示例,如果当逻辑交通灯组处于“行进”状态时(例如,当绿色灯被点亮时),交通工具未停止在停止线处或附近,则其可指示逻辑交通灯组与交通工具正沿着行驶的可行驶路径相关,并且如果当逻辑交通灯组处于行进状态时交通工具停止在停止线处或附近,则其可指示逻辑交通灯组与交通工具正沿着行驶的可行驶路径无关。
在一些实施例中,可以基于交通工具行为的统计分析来确定链接,这可以提供交通灯的相关性的更准确指示。例如,可存在为什么即使灯是绿色的而交通工具也可停止的有效原因,诸如行人或动物穿过十字路口、进行右转等。因此,当逻辑交通灯组处于行进状态时,在停止线处停止的交通工具可能不一定是逻辑交通灯组与可行驶路径的相关性的决定因素。然而,交通工具行为随时间的统计分析可更指示交通灯相关性。
在一些实施例中,统计分析可以包括将表现出与停止线相关联的特定行为的交通工具的数量与阈值进行比较。作为说明性示例,如果在组中的交通灯处于停止状态(例如,红色状态等)时超过阈值数量的沿着可行驶路径行驶的交通工具通过停止线,则特定可行驶路径可不与特定逻辑交通灯组链接。在一些实施例中,阈值可以基于交通工具的百分比。例如,如果当逻辑组中的交通灯处于行进状态(例如,绿色状态等)时,超过阈值百分比的沿可行驶路径行驶的交通工具通过停止线,则特定可行驶路径可链接到特定逻辑交通灯组。相反地,如果当逻辑组中的交通灯处于行进状态时超过阈值数量的交通工具停止在停止线处,则逻辑组可不与该可行驶路径相关联。类似的阈值可以用于其它类型的交通灯状态(例如,交通工具转弯、减速等)。
在一些实施例中,附加信息可用于补充或确认用于确定可行驶路径和交通灯组之间的链接的信息。这可以包括与特定可行驶路径相关联的道路标记,例如转弯箭头3704。例如,转弯箭头3704可以指示可行驶路径3770由于交通灯3760中存在转弯指示符而与逻辑交通灯组3780相关联。这可以类似地指示可行驶路径3770不与逻辑交通灯组3782相关联。作为另一示例,可以基于来自一个或多个图像的所识别的道路方向指示符来确定链接。例如,这可以包括在交通灯(例如交通灯3760)中存在转向指示灯。作为另一示例,这可以包括确定仅左转标志3761与交通灯3760相关联。因此,服务器3710可确定直线通过可行驶路径(例如可行驶路径3772和3774),或与另一方向上的转弯相关联的可行驶路径(例如可行驶路径3776)不与逻辑交通灯组3780链接。类似地,交通工具的运动特性还可以指示与逻辑交通灯分组的相关性(例如,交通工具是否转弯、直线行驶通过十字路口、减速等)。
根据一些实施例,可以使用机器学习算法来确定交通灯分组的相关性。例如,诸如人工神经网络之类的训练算法可以以交通工具驾驶信息的形式接收训练数据。驾驶信息可以包括具有如上所述的交通灯的表示的图像数据。训练数据可以被标记为使得与驾驶信息相关联的交通工具相关的交通灯被标识。作为结果,可以训练模型以基于驾驶信息来确定交通灯(或交通灯组)的相关性。根据本公开,可以使用各种其它机器学习算法,包括逻辑回归、线性回归、回归、随机森林、K最近邻(KNN)模型(例如如上所述)、K均值模型、决策树、cox比例风险回归模型、Naïve Bayes模型、支持向量机(SVM)模型、梯度提升算法、或任何其它形式的机器学习模型或算法。
作为结果,可以开发包括可行驶路径和相关逻辑交通灯组之间的链接的众包地图,如上所述。因此,诸如图37C中所示的主交通工具3712之类的主交通工具可以基于众包地图数据来确定相关交通灯。在一些实施例中,主交通工具3712可对应于上述主交通工具100。因此,以上关于主交通工具100描述的任何实施例或特征可以等同地应用于主交通工具3712,并反之亦然。主交通工具3712可以在沿着可行驶路径3772穿过交叉口3700的同时捕获图像。例如,主交通工具3712可以配备有图像捕获装置或摄像机,诸如如以上更详细描述的图像捕获装置122、124和126。主交通工具3712可以在所捕获的图像中检测交通灯3760、3762和3764。此外,主交通工具3712可以访问将可行驶路径与逻辑交通灯分组3782链接的众包地图。在一些实施例中,这可以包括从主交通工具的存储器(诸如存储器140)访问众包地图。在一些实施例中,主交通工具3712可以从诸如服务器3710之类的服务器接收众包地图。另外地或备选地,主交通工具3712可以接收更新数据,该更新数据可以更新、补充或替换存储在存储器中的众包地图的部分。基于众包地图,主交通工具3712可以确定包含在逻辑交通灯组3782中的交通灯3762和3764与可行驶路径3772相关。因此,主交通工具3712可以基于交通灯3762和3764中的一者或两者的检测状态来确定导航动作。例如,如果灯3762和3764中的一者或两者被确定为处于停止状态(例如,基于被点亮的灯的颜色或位置),则主交通工具3712可以停止在与交叉口3700相关联的停止线处。相反地,如果灯3762和3764中的一者或两者被确定为处于行进状态,则主交通工具3712可以前进通过交叉口3700。主交通工具3712还可以基于被包括在众包地图中的链接信息来确定其可以忽略交通灯3760的检测状态。如果主交通工具3712改变车道,则主交通工具3712可确定与新的可行驶路径相关的新的逻辑交通灯组,并相应地确定适当的导航动作。
图38A是示出根据所公开的实施例的用于生成供交通工具导航使用的众包地图的示例过程3800A的流程图。如上所述,过程3800A可以由远程定位的实体(例如服务器3710)的至少一个处理装置来执行。在一些实施例中,非瞬态计算机可读介质可以包含在由处理器执行时使该处理器执行过程3800A的指令。此外,过程3800A不一定限于图38A中所示的步骤,并且贯穿本公开描述的各种实施例的任何步骤或过程也可以被包括在过程3800A中,包括以上关于图37A、37B和37C描述的那些步骤或过程。
在步骤3810中,过程3800A包括接收从穿过路段的多个交通工具收集的驾驶信息。路段可以与可以包括多个交通灯的交叉口相关联。例如,路段可以与交叉口3700相关联,交叉口3700可以包括交通灯3760、3762和3764,如图37A中所示。因此,步骤3810可以包括收集如上所述的驾驶信息3732、3734、3736、3742、3744、3752和/或3754。驾驶信息可以包括当多个交通工具穿过路段时由它们所捕获的任何信息。例如,驾驶信息可以包括在相对于路段导航时由与多个交通工具中的每一个相关联的一个或多个摄像机捕获的图像的至少一部分。在一些实施例中,驾驶信息可以包括当多个交通工具中的每一个相对于路段导航时检测到的一个或多个路标的位置和类型信息。例如,所识别的路标可以包括以下项中的一项或多项:杆、灯柱、车道标记、交通标志、或贯穿本公开所描述的各种其它类型的路标。作为另一示例,驾驶信息可包括当多个交通工具中的每一个相对于路段导航时检测到的交通灯(诸如交通灯3760、3762和3764)的位置。类似地,驾驶信息可以包括当多个交通工具中的每一个相对于路段导航时检测到的交通灯的状态的指示符。在一些实施例中,驾驶信息可以包括在相对于路段导航时多个交通工具中的每一个的运动特性。驾驶信息可包括相对于路段的交通工具停止位置,诸如如上所述的停止位置3738、3746和3756。
在步骤3812中,过程3800A包括确定与交叉口相关联的至少一条停止线的位置。在一些实施例中,至少一条停止线的位置可以基于多个交通工具相对于交叉口的聚合停止位置来确定。例如,这可以包括聚合停止位置3738、3746和3756。备选地或另外地,至少一条停止线的位置可以基于相对于交叉口的多个交通灯的所观察到的几何形状来确定,如上所述。上面至少关于图29A和29B提供了关于确定停止线的附加细节。
在步骤3814中,过程3800A包括基于对从多个交通工具收集的驾驶信息的分析将多个交通灯分组成一个或多个逻辑交通灯组。例如,这可以包括如上所述那样来确定组3780和3782。因此,将多个交通灯分组成一个或多个逻辑交通灯组可以至少部分地基于当多个交通工具中的每一个相对于至少一个交叉口导航时多个交通灯中的每一个的状态(例如,颜色状态等)的指示符。如上所述,颜色状态的指示符可以基于对多个交通工具中的每一个相对于至少一个交叉口导航时由其捕获的一个或多个图像帧的分析来确定。交通灯可以基于同时表现出相同状态序列的交通灯来分组。例如,由多个交通工具中的任一个观察到的彼此具有不同颜色状态的交通灯可以被分组成不同的逻辑交通灯组。相反,由多个交通工具观察到的具有共同颜色状态的交通灯可以被分组成共同的逻辑交通灯组。该分组还可以基于交通灯上的灯的形状或其它特性。例如,由多个交通工具观察到的与公共方向指示符相关联的交通灯被分组成公共逻辑交通灯组,如上面进一步详细描述的。分组可以不一定限于位于交叉口的相同部分中(例如,在相同的杆上等)的交通灯。例如,如上所述,一个或多个逻辑交通灯组中的至少一个可包括在交叉口的入口附近的第一交通灯和在交叉口的出口附近的第二交通灯。
在步骤3816中,过程3800A包括将路段的两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个链接。每个可行驶路径可以与沿着路段的不同行驶车道相关联。在一些实施例中,可行驶路径可以基于对驾驶信息的分析来确定。例如,过程3800A可以进一步包括基于多个交通工具在其穿过路段时的聚合运动特性来生成路段的两个或更多个可行驶路径。过程3800A可以进一步包括将所生成的两个或更多个可行驶路径存储在众包地图中。例如,两个或更多个可行驶路径可以映射为三维样条。在一些实施例中,可行驶路径可以基于交叉口的入口点和出口点生成。例如,过程3800A可以包括生成交叉口处的每个入口与相关联的出口之间的可行驶交叉口路径,并且将所生成的可行驶交叉口路径存储在众包地图中。每个可行驶交叉口路径与存储在众包地图中的入口点和/或出口点相关联。
两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个之间的链接可以指示一个或多个逻辑交通灯组中的哪一个与两个或更多个可行驶路径中的每一个相关。在一些实施例中,可行驶路径可以基于至少一条停止线来确定。例如,如上所述,当多个交通工具中的每一个经过至少一条停止线与两个或更多个可行驶路径中的一个之间的十字路口时,基于多个交通灯中的至少一个的观察到的颜色状态来确定两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组的至少一个之间的链接。如果多个交通工具中的一个或多个在多个交通工具中的一个或多个经过至少一条停止线与特定可行驶路径之间的十字路口时观察到与停止颜色状态下的特定逻辑交通灯组相关联的任何交通灯,则特定可行驶路径可能不与特定逻辑交通灯组链接。在一些实施例中,如上所述,可以基于阈值来确定链接。例如,如果在经过至少一条停止线和特定可行驶路径之间的十字路口时超过阈值数量的多个交通工具观察到与停止颜色状态下的特定逻辑交通灯组相关联的任何交通灯,则特定可行驶路径可能不与特定逻辑交通灯组链接。作为另一示例,如果在经过至少一条停止线与特定可行驶路径之间的十字路口时超过阈值百分比的多个交通工具观察到与行驶颜色状态下的特定逻辑交通灯组相关联的交通灯,则特定可行驶路径可链接到特定逻辑交通灯组。
在一些实施例中,可以至少部分基于其它信息来确定链接。例如,如上所述,可以基于与特定可行驶路径相关联的至少一个识别的道路标记和/或与被包括在一个或多个逻辑交通灯组中的至少一个中的交通灯相关联的道路方向指示符来确定两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个之间的链接。在一些实施例中,两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个之间的链接可以基于由至少一个机器学习模型所提供的输出来确定,所述至少一个机器学习模型被训练成基于包括一个或多个交通灯的颜色状态的所接收的输入来预测交通灯组与可行驶路径的相关性。两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个之间的链接可进一步基于多个交通工具中的一个或多个在相对于交叉口导航时的运动特性。
在步骤3818中,过程3800A包括将两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个之间的链接的表示存储在众包地图中。链接的表示可以以将两个或更多个可行驶路径与一个或多个逻辑交通灯组中的至少一个相关联的任何合适的方式存储。例如,这可以包括将链接的表示存储在数组或其它数据结构中,或者存储为可行驶路径或逻辑交通灯组中的至少一个的特性。
在步骤3820中,过程3800A包括使众包地图可用于至少一个主交通工具以用于相对于多个交通灯导航。例如,步骤3820可以包括使众包地图可用于主交通工具3712,如上所述。在一些实施例中,相对于多个交通灯的导航可以包括向交通工具操作者发出交通灯警告。例如,主交通工具3712可以向交通工具的驾驶员显示警告:特定的交通灯与当前车道相关、必须基于交通灯的当前状态采取行动(例如,减速、停止或前进通过交叉口)、当前交通灯状态是否与交通工具的预期路线一致(例如,当驾驶员想要直行时显示转弯箭头)等。在一些实施例中,主交通工具可以被配置成基于众包地图中的链接的表示来导航。例如,相对于多个交通灯的导航包括相对于被确定为在众包地图中指示为与至少一个主交通工具的当前可行驶路径相关的逻辑交通灯组中的至少一个交通灯的检测到的颜色状态来进行自主制动。可相对于检测到的状态来执行贯穿本公开所描述的各种其它导航动作。
图38B是示出根据所公开的实施例的用于生成供交通工具导航使用的众包地图的示例过程3800B的流程图。如上所述,过程3800B可以由远程定位的实体(例如服务器3710)的至少一个处理装置来执行。在一些实施例中,非瞬态计算机可读介质可以包含在由处理器执行时使该处理器执行过程3800B的指令。此外,过程3800B不一定限于图38B中所示的步骤,并且贯穿本公开描述的各种实施例的任何步骤或过程也可以被包括在过程3800B中,包括以上关于图37A、37B、37C和38A描述的那些步骤或过程。
在步骤3850中,过程3800B包括接收从穿过路段的多个交通工具收集的驾驶信息。路段可以与可以包括多个交通灯的交叉口相关联。如步骤3810一样,驾驶信息可以包括在相对于路段导航时由与多个交通工具中的每一个相关联的一个或多个摄像机捕获的图像的至少一部分;当多个交通工具中的每一个相对于路段导航时检测到的一个或多个路标的位置和类型信息;当多个交通工具中的每一个相对于路段导航时检测到的交通灯的位置;当多个交通工具中的每一个相对于路段导航时检测到的交通灯的状态的指示符;在相对于路段导航时多个交通工具中的每一个的运动特性;相对于路段的交通工具停止位置;或本文所述的各种其它形式的驾驶信息。
在步骤3852中,过程3800B包括确定与交叉口相关联的至少一条停止线的位置。在一些实施例中,至少一条停止线的位置可以基于多个交通工具相对于交叉口的聚合停止位置来确定。备选地或另外地,至少一条停止线的位置可以基于相对于交叉口的多个交通灯的所观察到的几何形状来确定。上面至少关于图29A和29B提供了关于确定停止线的附加细节。
在步骤3854中,过程3800B包括基于对从多个交通工具收集的驾驶信息的分析将多个交通灯分组成一个或多个逻辑交通灯组。例如,这可以包括如上所述那样来确定组3780和3782。因此,将多个交通灯分组成一个或多个逻辑交通灯组可以至少部分地基于当多个交通工具中的每一个相对于至少一个交叉口导航时多个交通灯中的每一个的状态(例如,颜色状态等)的指示符。
在步骤3856中,过程3800B包括在众包地图中存储一个或多个逻辑交通灯组中的至少一个的表示。例如,这可以包括在数组或其它数据结构中将一个或多个交通灯关联在一起。作为另一示例,标识组的组ID或其它数据可被存储为与交通灯相关联的元数据或其它数据。
在步骤3858中,过程3800B包括使众包地图可用于至少一个主交通工具以用于相对于多个交通灯导航。例如,步骤3858可以包括使众包地图可用于主交通工具3712,如上所述。
在一些实施例中,过程3800B可以包括将逻辑交通灯组与一个或多个可行驶路径链接的附加步骤,如上所述。换言之,过程3800B可以进一步包括将路段的两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个链接。过程3800B可以包括将两个或更多个可行驶路径中的每一个与一个或多个逻辑交通灯组中的至少一个之间的链接的表示存储在众包地图中。在一些实施例中,可行驶路径可以如过程3800B那样来生成。例如,过程3800B可以进一步包括基于多个交通工具在其穿过路段时的聚合运动特性来生成路段的两个或更多个可行驶路径。这可以进一步包括将所生成的两个或更多个可行驶路径存储在众包地图中。
如上所述,所得到的众包地图可以由一个或多个自主或半自主交通工具用于导航交叉口。图39是示出根据所公开的实施例的用于导航主交通工具的示例过程3900的流程图。过程3900可由主交通工具的至少一个处理装置(诸如处理单元110)执行。在一些实施例中,过程3900的至少一部分可以由诸如服务器3710之类的服务器来执行。非瞬态计算机可读介质可以包含当由处理器执行时使得该处理器执行过程3900的指令。此外,过程3900不一定限于图39中所示的步骤,并且贯穿本公开所描述的各种实施例的任何步骤或过程也可以被包括在过程3900中,包括以上关于图37A、37B、37C、38A和38B所描述的那些步骤或过程。
在步骤3910中,过程3900包括接收当主交通工具穿过路段时由主交通工具车载的至少一个摄像机获取的图像。例如,这可以包括接收由上述图像捕获装置122、124和126获取的图像。
在步骤3920中,过程3900包括检测所获取的图像中的至少一个交通灯的表示。例如,这可以包括检测交通灯3760、3762和/或3764的表示,如图37B中所示。交通灯可基于计算机视觉算法或如贯穿本公开所述的其它图像分析算法来检测。
在步骤3930中,过程3900包括访问基于从先前穿过路段的多个交通工具收集的驾驶信息而生成的众包地图。例如,如上所述,可以根据过程3800A或3800B之一生成众包。因此,众包地图可以存储沿着路段的一个或多个可行驶路径和与一个或多个可行驶路径中的每一个相关的逻辑交通灯组之间的链接。可以以各种方式获取可行驶路径。在一些实施例中,存储在众包地图中的一个或多个可行驶路径可以通过聚合由先前穿过路段的多个交通工具所遵循的行驶路径来确定。例如,可行驶路径可以对应于上述可行驶路径3770、3772、3774和3776。因此,一个或多个可行驶路径可以作为三维样条而被存储在众包地图中。
在步骤3940中,过程3900包括基于所访问的众包地图来确定在所获取的图像中检测到的至少一个交通灯是否与主交通工具正沿其行驶的可行驶路径相关。例如,如上所述,主交通工具可以基于在从主交通工具的环境捕获的一个或多个图像中检测到的路标来沿着可行驶路径导航。如上所述,可以基于可行驶路径与包括交通灯的逻辑交通灯组链接的指示来确定交通灯是相关的。
在步骤3950中,过程3900包括,响应于确定在所获取的图像中检测到的至少一个交通灯与主交通工具正沿其行驶的可行驶路径相关,使主交通工具相对于至少一个交通灯的所检测到的状态来采取至少一个导航动作。导航动作可以包括贯穿本公开所描述的各种导航动作中的任一个。例如,当至少一个交通灯的所检测到的状态是绿色时,至少一个导航动作可以包括维持主交通工具沿着当前可行驶路径的当前速度。在一些实施例中,这可以包括使主交通工具沿着通过交叉口的可行驶路径转向。作为另一示例,当至少一个交通灯的所检测到的状态是红色时,至少一个导航动作可以包括制动主交通工具。如果交通灯不相关,则主交通工具可以忽略由交通灯所指示的信息。例如,响应于确定在所获取的图像中检测到的至少一个交通灯与主交通工具正沿其行驶的可行驶路径无关,步骤3950可包括使主交通工具放弃相对于至少一个交通灯的所检测到的状态的导航响应。
交通标志相关性
虽然以上各种实施例涉及确定交通灯的相关性,但是类似的技术可以用于确定和映射交通标志的相关性。这可以包括停止标志、让行标志、迂回标志、合并标志或可与沿道路的特定行驶车道或特定交通工具相关的其它标志。例如,路段可以包括仅适用于沿路段的特定行驶车道的仅右转标志。因此,对于自主或半自主交通工具而言,区分与交通工具正沿其行驶的当前可行驶路径相关的标志和不相关的标志可以是有益的。
所公开的实施例可以包括用于确定交通标志的相关性的技术。特别地,如上文进一步详细描述的,系统可以检测所捕获图像中的道路标志的存在,并在导航地图中映射道路标志的位置和类型。系统可以确定可以指示道路标志的相关性的其它信息,诸如道路标志与一个或多个可行驶路径之间的横向距离、标志与道路边缘之间的横向距离、和/或标志的可读部分是否从每个可行驶路径可见。这些特性结合检测到的道路标志附近的交通工具的众包驾驶行为、道路几何形状、或其它信息可以使系统能够将检测到的标志与相关的可行驶路径链接,如下面进一步详细描述的。因此,所公开的实施例提供了对现有导航系统的改进的安全性、效率和性能。
如本文所述,所公开的实施例可以接收由交通工具捕获的一个或多个图像。图40示出了根据所公开的实施例的表示主交通工具的环境的示例图像4000。图像4000可由主交通工具的摄像机(诸如图像捕获装置122、124和/或126)捕获。在图40中所示的示例中,当交通工具沿路段行驶时,可从主交通工具的前向摄像机捕获图像。在该示例中,路段可以包括主交通工具正沿其行驶的车道4022。路段还可以包括车道4022左侧的左转车道4020和车道4022右侧的右转车道4024。虽然图像4000表示从主交通工具前方捕获的图像,但是相同或类似的过程也可以应用于从其它摄像机位置捕获的图像,诸如从主交通工具的侧面或后方捕获的图像。
图像4000可包括主交通工具的环境内的一个或多个交通标志(也称为道路标志)的表示。如本文所使用的,交通标志可以包括沿道路的任何形式的标牌或显示,其用于向道路用户呈现指令或其它信息。示例道路标志可包括强制性或规范性标志(例如,禁止进入标志、停止标志、限速标志、仅转弯标志、让行标志等)、警告标志(道路弯道标志、滑溜道路标志、窄桥标志等)、信息标志(例如,前方医院标志、服务站标志、道路入口或出口标志等)、铁路或其它道口标志、行人或自行车标志、路线标志、建筑标志、或可向道路使用者传达信息的任何其它标志。在一些实施例中,交通标志可以包括电子显示器,例如沿着道路放置的可变消息标志。在图40中所示的示例中,图像4000可以包括交通标志4010和4012。交通标志可以放置在道路上方(诸如交通标志4010)、沿着道路的侧面(诸如交通标志4012)、或者放置在道路使用者可见的任何其它位置中。
主交通工具的导航系统可以检测捕获的图像中的交通标志的表示,例如,如上关于图10所述。在图40中所示的示例中,主交通工具可以检测图像4000中的交通标志4010和4012中的一个或多个。这可以包括应用被配置成检测图像内的边缘、特征、拐角、和/或对象的一个或多个计算机视觉算法,如贯穿本公开所描述的。例如,这可以包括非神经对象检测技术(诸如Viola-Jones对象检测、尺度不变特征变换(SIFT)、定向梯度直方图(HOG)等)或基于神经网络的对象检测算法(诸如区域建议(R-CNN、快速R-CNN等)、单发多发检测器(SSD)或其它形式的卷积神经网络)。因此,检测捕获的图像中的交通标志的表示可以包括生成图像的至少一个卷积并分析卷积的图像。
所公开的实施例还可以包括确定交通标志的一个或多个特性或特征或者交通标志的周围环境的特性或特征(例如,可行驶路径几何形状、道路特征、交通工具运动特征等),其可以指示与沿着路段的一个或多个可行驶路径的相关性。在一些实施例中,这可以包括确定交通标志相对于路段的位置或定向。位置可以参照路段的其它特征,包括沿着路段限定的一个或多个可行驶路径。例如,主交通工具(或远程服务器)可以确定特定道路标志与沿着路段的可行驶路径之间的横向距离。如图40中所示,对于交通标志4010,这可以包括确定到可行驶路径4020的横向距离D1、到可行驶路径4022的横向距离D2、以及到可行驶路径4024的横向距离D3。虽然在图40中未示出,但是到可行驶路径4020、4022和4024的距离可以类似地相对于道路标志4012来确定。到每个可行驶路径的横向距离可以指示交通标志与可行驶路径的相关性。例如,因为D1小于D2或D3,所以相比可行驶路径4022或4024,交通标志4010可更可能与可行驶路径4020相关。在一些实施例中,也可以把交通标志的其它特性计算在内,例如交通标志的类型或相对于路段的放置。特别地,一些类型的标志可适用于所有行驶车道,而其它标志通常可仅与一个车道相关联。例如,与让行或仅转弯标志相比,停止标志可更可能与道路的所有车道相关。类似地,放置在道路上方的交通标志可比沿着道路边缘放置的标志更可能与特定车道相关联。
备选地或另外地,所公开的实施例可以包括确定特定交通标志与道路边缘之间的横向距离。例如,这可以包括确定交通标志4012和道路边缘4030之间的距离D4,如图40中所示。到道路边缘4030的距离可以类似地相对于交通标志4010来确定。到道路边缘的距离可以指示交通标志与特定车道的相关性。例如,交通标志和道路边缘之间的距离可以与可行驶路径和相同道路边缘之间的距离进行比较,其可以指示类似于距离D1、D2和D3的相关性,如上所述。作为另一示例,与更靠近道路边缘的交通标志相比,交通标志距道路边缘的距离越大可以指示交通标志对应于特定可行驶路径的可能性越高。
在一些实施例中,特定交通标志是否与可行驶路径相关的确定可以基于沿着路段的交通标志的其它实例来确定。对于给定的交通标志,如果与交通标志相同或相似的另一交通标志出现在可行驶路径的相对侧上,则这可指示标志与可行驶路径相关。换言之,如果在道路的两侧上出现相同或类似的标志,例如停止标志、铁路道口标志等,则标志适用于沿道路的所有可行驶路径可以是可能的。相反,如果交通标志出现在道路的一侧上,则标志适用于所有车道是较不可能的。
根据一些实施例,可基于与交通标志相关联的其它几何形状(例如,标志相对于道路的高度、检测交通标志的交通工具、或其它参考点)来确定标志的相关性。例如,如图40中所示,交通标志4010和道路之间的高度H可以基于对图像4000的分析来确定。在一些实施例中,可以将高度H与阈值高度进行比较,以确定交通标志是否与捕获包括交通标志的表示的图像的交通工具相关。例如,如果交通标志位于超过阈值高度(例如,5m、8m、10m等)的高度处,则这可以指示交通标志指向在当前正穿过的道路上方的道路上行驶的交通工具,并且因此是不相关的。在路面下方检测到的交通标志可以类似地与在当前正穿过的路段下方的路段上行驶的交通工具相关。
作为另一示例,可以基于交通标志正面向的方向来确定交通标志相关性。因此,主交通工具(和/或中央服务器)可以被配置成确定交通标志的语义部分在沿特定可行驶路径行驶时是否可见。如本文所使用的,交通标志的语义部分指的是包括用于通过交通标志传达所期望的信息的文本和/或图形的标志的一部分。例如,这可以是包括词“STOP(停止)”或“YIELD(让行)”的标志的侧面。如果语义部分从特定可行驶路径可见,则交通标志与可行驶路径相关是可能的。或者,可能更有意义的是,如果语义部分从特定可行驶路径不可见,则这可以指示交通标志与特定可行驶路径不相关。例如,交通标志不太可能以它们对于沿着它们所应用的路段的行驶车道不可见的方式放置。因此,例如,如果图像包含交通标志的背面,则可以确定交通标志与沿着其捕获图像的可行驶路径不相关。
交通标志的环境中的路段的各种其它特征也可指示与特定可行驶路径的相关性。例如,如上所述,导航地图可以包括沿着路段检测到的路标或其它道路特征。特定道路标志与众包地图中表示的一个或多个道路特征的接近度可以指示与众包地图中包括的可行驶路径的相关性。在一些实施例中,这可以在具有标志类型的上下文中确定。例如,如果交通标志指示车道必须在前方合并并且沿着路段的可行驶路径包括在交通标志之后的合并点,则可以确定交通标志与包括合并点的可行驶路径相关联。类似地,这也可以指示交通标志与不包括合并点的其它可行驶路径无关。道路特征的其它示例可以包括与可行驶路径相关联的迂回路线、停止线、车道划分、或曲率。
类似地,特定交通标志是否与可行驶路径相关的确定可以基于特定交通标志附近内的一个或多个交通工具的运动特性来确定。如果交通标志在交通标志的操作范围内(即,在交通工具通常将基于交通标志执行导航动作的范围内),则交通标志可被认为在交通标志附近。在一些实施例中,可以基于阈值距离来定义接近度。例如,可以分析8米(或任何其它合适的值)范围内的运动特性。在一些实施例中,交通工具的运动是否在交通标志的附近可以取决于标志的类型。例如,对于停止标志,可以在交通工具通常停止的停止标志前面的指定范围(例如,1米、2米、5米等)内分析运动特性。另一方面,对于前方合并标志,可以在标志之后(其可以包括标志前方的短距离)分析运动特性,因为交通工具通常将在标志之后执行合并操纵。
可以相对于交通标志来标识各种类型的运动特征。在一些实施例中,运动特性可以指示交通工具的速度或速度的变化。例如,如果交通工具在交通标志附近减速,则这可以指示交通工具正沿其行驶的可行驶路径与交通标志相关(例如,在让行标志、减速标志、停止标志等的情况下)。在一些实施例中,可以在交通工具的驾驶信息中指示的其它事件(诸如其它附近交通工具的运动)的上下文中分析运动特性。例如,在让行标志的情况下,尽管假设交通工具无论如何都在标志附近减速,但是如果存在其它交通工具,则交通工具通常可仅在交通标志附近减速(或显著减速)。因此,当存在其它交通工具并且交通工具在让行标志附近减速或停止时,这可以指示让行标志与特定行驶车道相关。作为另一示例,运动特性可指示交通工具的前进方向的改变,其可指示特定交通标志与可行驶路径相关。这对于与转弯相关联的标志可以尤其如此,例如仅右转弯或仅左转弯标志、绕行标志、仅出口标志等。在一些实施例中,可以使用对多个交通工具的运动特性的统计分析来确定标志的相关性。例如,如果多于阈值数量的交通工具或多于阈值百分比的交通工具在交通标志附近表现出特定的运动特性,则交通标志可以被认为是相关的,如以上关于确定交通灯的相关性所描述的。也可以分析各种其它统计值或关系,如对于本领域技术人员将是明白的。
基于交通标志的这些特性或特征中的一个或多个,所公开的实施例可以包括确定交通标志与沿着路段的一个或多个可行驶路径的相关性。图41示出了根据所公开的实施例的示例路段4100,沿着该路段可以确定交通标志的相关性。尽管作为示例路段4100被示出为包括交叉口,但是所公开的实施例可以等同地应用于各种其它类型的路段,包括直的道路部分、弯曲的道路部分、高速公路入口或出口、迂回路、停止场、行驶道、通道、或其它路段配置。如图41中所示,路段4100可以与多个可行驶路径4120、4122和4124相关联。可行驶路径4120、4122和4124可以基于如贯穿本公开所述的从多个交通工具收集的驾驶信息来确定。例如,可行驶路径4120、4122和4124可以基于类似于驾驶信息3732、3734、3736、3742、3744、3752和3754的驾驶信息来确定,如以上关于图37A和37B所描述的。驾驶信息可以由服务器4110从多个交通工具接收。服务器4110可以对应于本文描述的各种其它服务器,例如服务器3710和/或服务器1230。贯穿本公开提供了用于生成可行驶路径(其可以对应于目标轨迹)的附加细节。
服务器4110可以被配置成分析所收集的驾驶信息以确定沿着路段4100的特定交通标志是否与可行驶路径4120、4122和4124中的一个或多个相关。例如,服务器4100可以分析与以上关于图40描述的交通标志相关联的各种信息,诸如从交通标志到可行驶路径或道路边缘的横向距离、交通标志的高度、交通标志附近的道路特征、交通标志附近的交通工具的运动特性、交通标志的语义部分是否可见、类似的交通标志是否被包括在可行驶路径的相对侧上、或与本文描述的交通标志相关联的任何其它类型的信息。在一些实施例中,可以基于这些因素中的两个或更多个的聚合来确定特定交通标志与可行驶路径的相关性。例如,对于被分析的上述每种类型的信息或特性,服务器4100可以确定指示该特定类型的信息是否指示特定可行驶路径与交通标志相关联的可能性的值或分数。这些值可以被一起平均或以其它方式聚合以确定交通标志与可行驶路径相关的总体可能性。在一些实施例中,聚合可以是加权平均。例如,如果交通工具通常沿停止标志附近的特定可行驶路径停止,则这可被加权为高于停止标志的位置或对于确定相关性而言可能不太可靠的其它信息。可以使用聚合所收集的信息的各种其它手段。
在一些实施例中,可以基于机器学习模型来确定特定可行驶路径的交通标志的相关性。例如,诸如人工神经网络之类的训练算法可以接收与一个或多个交通标志相关联的训练数据。在一些实施例中,训练数据可以包括上述各种信息,例如到可行驶路径的横向距离、运动特性或其它数据。备选地或另外地,训练数据可以是从中可导出上述信息的驾驶信息。训练数据可以被标记,使得与和训练数据相关联的一个或多个可行驶路径相关的交通标志被标识。作为结果,如上所述,可以训练模型以基于驾驶信息或基于驾驶信息所确定的各种因素来确定交通标志的相关性。根据本公开,可以使用各种其它机器学习算法,包括逻辑回归、线性回归、回归、随机森林、K最近邻(KNN)模型(例如如上所述)、K均值模型、决策树、cox比例风险回归模型、Naïve Bayes模型、支持向量机(SVM)模型、梯度提升算法、或任何其它形式的机器学习模型或算法。
基于所确定的相关性,服务器4110可以在众包地图(即,导航地图)中存储哪些交通标志与哪些可行驶路径相关的指示。指示可以以任何合适的格式来定义,如以上关于可行驶路径与交通灯或逻辑交通灯组之间的链接所描述的。例如,指示可以以将交通标志与一个或多个可行驶路径相关联的数组或其它数据结构的形式存储。作为另一示例,可行驶路径可被存储有指示与特定交通标志的相关性的特性或元数据(或反之亦然)。本公开不限于用于指示众包地图中的相关性的任何格式。
服务器4110可使众包地图可用于一个或多个主交通工具以用于相对于交通标志导航。例如,服务器4110可使地图可用于主交通工具4112,如图41中所示。因此,主交通工具4112可以被配置成基于众包地图中指示的相关性来导航路段4100。在所示的示例中,主交通工具4112可以沿着路段4122行驶。基于众包地图,主交通工具4112可以确定交通标志4010和4012分别与可行驶路径4120和4124相关,并且与可行驶路径4122不相关。类似地,主交通工具4112可以确定交通标志4130不相关并且与在相反方向上行驶的交通工具相关联。因此,主交通工具4112可确定沿可行驶路径4122直线前进的导航动作,并忽略交通标志4010、4012和4130。如果主交通工具4112例如改变车道到可行驶路径4124上,则主交通工具4112可重新评估交通标志4010、4012和4130的相关性,并基于交通标志来确定备选导航动作是否是必要的。
图42是示出根据所公开的实施例的用于生成供交通工具导航使用的众包地图的示例过程4200的流程图。如上所述,过程4200可以由诸如服务器4110之类的远程定位实体的至少一个处理装置来执行。在一些实施例中,非瞬态计算机可读介质可以包含在由处理器执行时使该处理器执行过程4200的指令。过程4200不一定限于图42中所示的步骤,并且贯穿本公开所描述的各种实施例的任何步骤或过程也可被包括在过程4200中,包括以上关于图40和41描述的那些步骤或过程。此外,以上关于图38A和38B描述的任何步骤可以涉及过程4200并且可以被包括在过程4200中。
在步骤4210中,过程4200包括接收从穿过路段的多个交通工具收集的驾驶信息。如上所述,路段可以与多个交通标志相关联。例如,驾驶信息可以由穿过路段4100的交通工具收集,路段4100可以包括交通标志4010、4012和4030。驾驶信息可以包括当多个交通工具穿过路段时由它们捕获的任何信息。例如,驾驶信息可以包括在相对于路段导航时由与多个交通工具中的每一个相关联的一个或多个摄像机捕获的图像的至少一部分。在一些实施例中,驾驶信息可以包括当多个交通工具中的每一个相对于路段导航时检测到的交通标志的位置和类型指示符,如上面更详细描述的。此外(或备选地),驾驶信息可以包括多个交通工具中的每一个在它相对于路段导航时的运动特性。在一些实施例中,驾驶信息可以包括由多个交通工具中的每一个在它相对于路段导航时所遵循的路径的指示符。关于各种其它特征或对象的信息可被包括在驾驶信息中。例如,驾驶信息可以包括相对于路段的交通工具停止位置。作为另一示例,驾驶信息可包括当多个交通工具中的每一个相对于路段导航时检测到的一个或多个路标的位置和类型信息。例如,路标可以包括以下项中的一项或多项:杆、灯、柱、车道标记、或本文描述的其它形式的路标。
在步骤4220中,过程4200包括基于多个交通工具在它们穿过路段时的聚合运动特性来针对路段生成两个或更多个可行驶路径。例如,步骤4220可以包括生成如图41中所示的可行驶路径4120、4122和4124。可行驶路径可以例如如上关于图19所述那样来生成。
在步骤4230中,过程4200包括将所生成的两个或更多个可行驶路径存储在众包地图中。例如,众包地图可以维持在诸如存储介质2010或各种其它存储装置之类的存储位置中。在一些实施例中,两个或更多个可行驶路径可以在众包地图中表示为三维样条。如图41中所示,两个或更多个可行驶路径中的每一个可与沿着路段的不同行驶车道相关联。
在步骤4240中,过程4200包括基于对从多个交通工具收集的驾驶信息的分析来确定多个交通标志中的特定交通标志是否与两个或更多个可行驶路径中的每一个相关。例如,这可以包括确定交通标志4010、4012或4030中的一个是否与可行驶路径4120、4122和4124中的每一个相关。如上关于图40所述,可以分析各种类型的信息以确定交通标志的相关性。在一些实施例中,确定特定交通标志是否与两个或更多个可行驶路径中的每一个相关可以基于多个交通工具在它们穿过路段时的运动特性。例如,如上所述,运动特性可以指示多个交通工具在特定交通标志附近减速,或者多个交通工具在特定交通标志附近改变前进方向,这可以指示特定交通标志的相关性。类似地,确定特定交通标志是否与两个或更多个可行驶路径中的每一个相关可以基于特定交通标志与众包地图中表示的一个或多个道路特征的接近度。例如,一个或多个道路特征可以包括与可行驶路径相关联的迂回路线、停止线、合并点、车道划分、或曲率。
在一些实施例中,确定特定交通标志是否与两个或更多个可行驶路径中的特定一个相关可以基于特定可行驶路径和特定交通标志之间的横向距离。例如,步骤4240可以包括如上所述那样来确定距离D1、D2和/或D3。确定特定交通标志是否与两个或更多个可行驶路径中的特定一个相关还可以基于特定交通标志与道路边缘之间的横向距离,例如距离D4。作为另一示例,确定特定交通标志是否与两个或更多个可行驶路径中的特定一个相关可以基于特定交通标志相对于特定可行驶路径的检测到的高度。例如,步骤4240可以包括确定高度H,如上所述。
在一些实施例中,确定特定交通标志是否与两个或更多个可行驶路径中的特定一个相关可以基于当在与特定可行驶路径相关联的方向上沿特定可行驶路径行驶时特定交通标志的语义部分是否可见的确定。例如,交通标志4130可以被确定为与可行驶路径4120、4122和4124不相关(或不太可能相关),因为它面向相反的方向并且因此语义部分是不可见的。在一些实施例中,如上所述,确定特定交通标志是否与来自两个或更多个可行驶路径的可行驶路径相关可以基于类似于特定交通标志的交通标志是否出现在来自特定交通标志的可行驶路径的相对侧上。
根据本公开,确定特定交通标志是否与两个或更多个可行驶路径中的特定一个相关可以基于上述两个或更多个信息的聚合。在一些实施例中,确定多个交通标志中的特定交通标志是否与两个或更多个可行驶路径中的每一个相关可以基于由至少一个机器学习模型提供的输出。如上所述,机器学习模型可以被训练成基于接收到的输入来预测交通标志与可行驶路径的相关性,该输入可以包括以下项中的至少一项:相对于可行驶路径的交通标志几何形状、相对于可行驶路径的交通标志可见度、相对于与路段相关联的一个或多个道路特征的交通标志几何形状、或多个交通工具中的一个或多个在其沿着路段导航时的运动特性。
在步骤4250中,过程4200包括多个交通标志中的哪一些与两个或更多个可行驶路径中的每一个相关的指示存储在众包地图中。相关性的指示可以以将两个或更多个可行驶路径与多个交通标志中的至少一个相关联的任何合适的方式存储。例如,这可以包括将指示存储在数组或其它数据结构中,或者存储为可行驶路径或多个交通标志中的至少一个的特性。
在步骤4260中,过程4200包括使众包地图可用于至少一个主交通工具以用于相对于多个交通标志导航。例如,步骤4260可以包括使众包地图可用于主交通工具4112,如上所述。在一些实施例中,相对于多个交通标志的导航包括向交通工具操作者发出警告。例如,主交通工具4112可以向交通工具的驾驶员显示警告:特定的交通标志与当前车道相关、必须基于交通标志的当前状态采取行动(例如,减速、停止或前进通过交叉口)、当前交通标志是否与交通工具的预期路线一致(例如,当驾驶员想要直行时的仅转向标志)等。在一些实施例中,主交通工具可以被配置成基于众包地图中的相关性的指示来导航。例如,相对于多个交通标志的导航包括相对于检测到的交通标志来进行自主制动。可相对于检测到的交通标志来执行贯穿本公开所描述的各种其它导航动作。
如上所述,所得到的众包地图可以由一个或多个自主或半自主交通工具用于导航交叉口。图43是示出根据所公开的实施例的用于导航主交通工具的示例过程4300的流程图。过程4300可由主交通工具的至少一个处理装置(诸如处理单元110)执行。在一些实施例中,过程4300的至少一部分可以由诸如服务器4110之类的服务器来执行。非瞬态计算机可读介质可以包含当由处理器执行时使该处理器执行过程4300的指令。此外,过程4300不一定限于图43中所示的步骤,并且贯穿本公开描述的各种实施例的任何步骤或过程也可被包括在过程4300中,包括以上关于图37A、37B、37C、38A和38B描述的那些步骤或过程。
在步骤4310中,过程4300包括接收当主交通工具穿过路段时由主交通工具车载的至少一个摄像机获取的图像。例如,这可以包括接收图像4000,其可以由上述图像捕获装置122、124和126获取。
在步骤4320中,过程4300包括检测所获取的图像中的至少一个交通标志的表示。例如,这可以包括检测交通标志4010和4012的表示,如图40中所示。交通标志可基于计算机视觉算法或如贯穿本公开所述的其它图像分析算法来检测。
在步骤4330中,过程4300包括访问基于从先前穿过路段的多个交通工具收集的驾驶信息而生成的众包地图。例如,如上所述,可以根据过程4200生成众包。因此,众包地图可以存储映射的交通标志与存储在众包地图中的某些可行驶路径的相关性的指示符。可以以各种方式获取可行驶路径。在一些实施例中,存储在众包地图中的一个或多个可行驶路径可以通过聚合由先前穿过路段的多个交通工具所遵循的行驶路径来确定。例如,可行驶路径可以对应于上述可行驶路径4120、4122和4124。因此,一个或多个可行驶路径可以作为三维样条而被存储在众包地图中。
在步骤4340中,过程4300包括基于所访问的众包地图来确定在所获取的图像中检测到的至少一个交通标志是否与主交通工具正沿其行驶的可行驶路径相关。例如,如上所述,主交通工具可以基于在从主交通工具的环境捕获的一个或多个图像中检测到的路标而沿着可行驶路径导航。如上所述,可以基于交通标志与可行驶路径相关的指示来确定交通标志是相关的。
在步骤4350中,过程4300包括响应于确定在所获取的图像中检测到的至少一个交通标志与主交通工具正沿其行驶的可行驶路径相关,使主交通工具相对于至少一个交通标志来采取至少一个导航动作。导航动作可以包括贯穿本公开所描述的各种导航动作中的任一个。例如,至少一个交通标志可以是停止标志,并且至少一个导航动作可以包括制动主交通工具。作为另一示例,至少一个交通标志可以是让行标志,并且至少一个导航动作可以包括制动主交通工具和改变主交通工具的前进方向。响应于确定在所获取的图像中检测到的至少一个交通标志与主交通工具正沿其行驶的可行驶路径无关,过程4300可以包括使主交通工具放弃相对于至少一个交通标志的导航响应。由主交通工具执行的特定导航动作可取决于交通标志的类型、交通标志所处的管辖区、或其它因素。
为了便于说明而提供以上描述。它不是详尽的,并且不是局限于所公开的精确形式或实施例。修改和适配将是本领域的技术人员通过思考本说明书以及实施所公开实施例清楚知道的。另外,虽然所公开实施例的方面被描述为被存储在存储器中,但是本领域的技术人员将会理解,这些方面也能够被存储在其它类型的计算机可读介质上,例如,辅助存储装置,例如硬盘或CD ROM或者其它形式的RAM或ROM、USB介质、DVD、Blu-ray、4K Ultra HDBlu-ray或其它光学驱动器介质。
基于本书面描述和所公开方法的计算机程序属于有经验开发人员的技能。各种程序或程序模块能够使用本领域的技术人员已知的技术的任一种来创建,或者能够结合现有软件来设计。例如,程序段或程序模块能够通过或者借助于.Net Framework、.Net CompactFramework(以及相关语言,例如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或者具有所包含Java小应用程序的HTML来设计。
此外,虽然本文已经描述说明性实施例,但是任何一个和全部实施例的范围具有等效元件、修改、省略、(例如跨各个实施例的方面的)组合、适配和/或变更,如本领域的技术人员基于本公开会理解。权利要求中的限制将基于权利要求中采用的语言来广义地解释,而并不局限于本说明书中或者本申请进行期间所述的示例。示例将被理解为非排它的。此外,所公开方法的步骤可按照任何方式来修改,包括通过对步骤重排序和/或插入或删除步骤。因此,预计本说明书和示例被理解为只是说明性的,其中真实范围和精神通过以下权利要求及其等效体的全范围所指示。

Claims (104)

1.一种用于导航交通工具的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收由图像捕获装置获取的第一图像帧,其中所述第一图像帧表示所述交通工具的环境,所述环境包括至少一个交通灯;
在所述第一图像帧中检测所述至少一个交通灯的表示并且确定与被包括在所述至少一个交通灯上的一个或多个灯相关联的颜色状态;
接收由所述图像捕获装置获取的至少一个附加图像帧,其中所述至少一个附加图像帧包括所述至少一个交通灯的表示;
基于所述第一图像帧的至少一部分与所述至少一个附加图像帧的至少一部分的比较来确定所述至少一个交通灯是否包括闪烁灯;以及
如果确定所述至少一个交通灯包括闪烁灯,则使所述交通工具根据所述至少一个交通灯包括闪烁灯的所述确定并且还基于所述闪烁灯的检测到的颜色状态来相对于所述至少一个交通灯实现导航动作。
2.根据权利要求1所述的系统,其中,所述至少一个附加图像帧的所述至少一部分构成所述至少一个附加图像帧的提取的子部分,所述提取的子部分包括所述至少一个交通灯的所述至少一个附加图像帧中的所述表示。
3.根据权利要求2所述的系统,其中,基于所述至少一个交通灯的所述表示在所述第一图像帧中的位置并且基于所述交通工具在获取所述第一图像帧的时间与获取所述至少一个附加图像帧的后续时间之间的运动历史来确定所述至少一个附加图像帧中的所述提取的子部分的位置。
4.根据权利要求1所述的系统,其中,所述比较包括将所述第一图像帧的所述至少一部分和所述至少一个附加图像帧的所述至少一部分提供给长短期记忆(LSTM)网络。
5.根据权利要求4所述的系统,其中,所述LSTM网络被配置成如果未检测到闪烁则针对被包括在所述至少一个交通灯中的所述一个或多个灯中的每个灯输出逻辑“0”,并且如果检测到闪烁则针对被包括在所述至少一个交通灯中的所述一个或多个灯中的每个灯输出逻辑“1”。
6.根据权利要求1所述的系统,其中,所述导航动作包括响应于所述至少一个交通灯包括具有红色状态的闪烁灯的确定而停止所述交通工具。
7.根据权利要求1所述的系统,其中,所述导航动作包括响应于所述至少一个交通灯包括具有黄色状态的闪烁灯的确定而减慢所述交通工具。
8.根据权利要求1所述的系统,其中,所述导航动作包括响应于所述至少一个交通灯包括具有黄色状态的闪烁灯的确定而使所述交通工具让行,并且其中所述闪烁灯包括方向箭头。
9.根据权利要求1所述的系统,其中,所述导航动作包括响应于所述至少一个交通灯包括具有绿色状态的闪烁灯的确定而使所述交通工具让行。
10.一种用于导航交通工具的方法,所述方法包括:
接收由图像捕获装置获取的第一图像帧,其中所述第一图像帧表示所述交通工具的环境,所述环境包括至少一个交通灯;
在所述第一图像帧中检测所述至少一个交通灯的表示并且确定与被包括在所述至少一个交通灯上的一个或多个灯相关联的颜色状态;
接收由所述图像捕获装置获取的至少一个附加图像帧,其中所述至少一个附加图像帧包括所述至少一个交通灯的表示;
基于所述第一图像帧的至少一部分与所述至少一个附加图像帧的至少一部分的比较来确定所述至少一个交通灯是否包括闪烁灯;以及
如果确定所述至少一个交通灯包括闪烁灯,则使所述交通工具根据所述至少一个交通灯包括闪烁灯的所述确定并且还基于所述闪烁灯的检测到的颜色状态来相对于所述至少一个交通灯实现导航动作。
11.根据权利要求10所述的方法,其中,所述至少一个附加图像帧的所述至少一部分构成所述至少一个附加图像帧的提取的子部分,所述提取的子部分包括所述至少一个交通灯的所述至少一个附加图像帧中的所述表示。
12.根据权利要求11所述的方法,其中,基于所述至少一个交通灯的所述表示在所述第一图像帧中的位置并且基于所述交通工具在获取所述第一图像帧的时间与获取所述至少一个附加图像帧的后续时间之间的运动历史来确定所述至少一个附加图像帧中的所述提取的子部分的位置。
13.根据权利要求10所述的方法,其中,所述比较包括将所述第一图像帧的所述至少一部分和所述至少一个附加图像帧的所述至少一部分提供给长短期记忆(LSTM)网络。
14.根据权利要求13所述的方法,其中,所述LSTM网络被配置成如果未检测到闪烁则针对被包括在所述至少一个交通灯中的所述一个或多个灯中的每个灯输出逻辑“0”,并且如果检测到闪烁则针对被包括在所述至少一个交通灯中的所述一个或多个灯中的每个灯输出逻辑“1”。
15.根据权利要求10所述的方法,其中,所述导航动作包括响应于所述至少一个交通灯包括具有红色状态的闪烁灯的确定而停止所述交通工具。
16.根据权利要求10所述的方法,其中,所述导航动作包括响应于所述至少一个交通灯包括具有黄色状态的闪烁灯的确定而减慢所述交通工具。
17.根据权利要求10所述的方法,其中,所述导航动作包括响应于所述至少一个交通灯包括具有黄色状态的闪烁灯的确定而使所述交通工具让行,并且其中所述闪烁灯包括方向箭头。
18.根据权利要求10所述的方法,其中,所述导航动作包括响应于所述至少一个交通灯包括具有绿色状态的闪烁灯的确定而使所述交通工具让行。
19.一种包含指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,包括:
接收由图像捕获装置获取的第一图像帧,其中所述第一图像帧表示所述交通工具的环境,所述环境包括至少一个交通灯;
在所述第一图像帧中检测所述至少一个交通灯的表示并且确定与被包括在所述至少一个交通灯上的一个或多个灯相关联的颜色状态;
接收由所述图像捕获装置获取的至少一个附加图像帧,其中所述至少一个附加图像帧包括所述至少一个交通灯的表示;
基于所述第一图像帧的至少一部分与所述至少一个附加图像帧的至少一部分的比较来确定所述至少一个交通灯是否包括闪烁灯;以及
如果确定所述至少一个交通灯包括闪烁灯,则使所述交通工具根据所述至少一个交通灯包括闪烁灯的所述确定并且还基于所述闪烁灯的检测到的颜色状态来相对于所述至少一个交通灯实现导航动作。
20.一种用于生成供交通工具导航使用的众包地图的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;
确定与所述交叉口相关联的至少一条停止线的位置;
基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;
将所述路段的两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组进行链接;
在所述众包地图中存储所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接的表示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
21.根据权利要求20所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的所述两个或更多个可行驶路径。
22.根据权利要求22所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器将所生成的两个或更多个可行驶路径存储在所述众包地图中。
23.根据权利要求20所述的系统,其中,将所述多个交通灯分组成一个或多个逻辑交通灯组至少部分基于当所述多个交通工具中的每个交通工具相对于所述至少一个交叉口进行导航时所述多个交通灯中的每个交通灯的颜色状态的指示符。
24.根据权利要求23所述的系统,其中,基于对由所述多个交通工具中的每个交通工具在它相对于所述至少一个交叉口进行导航时所捕获的一个或多个图像帧的分析来确定颜色状态的所述指示符。
25.根据权利要求24所述的系统,其中,由所述多个交通工具中的任一交通工具观察为彼此具有不同颜色状态的交通灯被分组成不同逻辑交通灯组。
26.根据权利要求24所述的系统,其中,由所述多个交通工具观察为具有共同颜色状态的交通灯被分组成共同逻辑交通灯组。
27.根据权利要求24所述的系统,其中,由所述多个交通工具观察为与公共方向指示符相关联的交通灯被分组成公共逻辑交通灯组。
28.根据权利要求20所述的系统,其中,所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接指示所述一个或多个逻辑交通灯组中的哪一个逻辑交通灯组与所述两个或更多个可行驶路径中的每个可行驶路径相关。
29.根据权利要求28所述的系统,其中,基于当所述多个交通工具中的每个交通工具经过所述至少一条停止线与所述两个或更多个可行驶路径中的一个可行驶路径之间的十字路口时所述多个交通灯中的至少一个交通灯的观察到的颜色状态来确定所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接。
30.根据权利要求29所述的系统,其中,如果当所述多个交通工具中的一个或多个交通工具经过所述至少一条停止线与特定可行驶路径之间的所述十字路口时所述多个交通工具中的所述一个或多个交通工具观察到与停止颜色状态下的特定逻辑交通灯组相关联的任何交通灯,则所述特定可行驶路径将不与所述特定逻辑交通灯组链接。
31.根据权利要求29所述的系统,其中,如果多于阈值数量的所述多个交通工具在经过所述至少一条停止线和特定可行驶路径之间的所述十字路口时观察到与停止颜色状态下的特定逻辑交通灯组相关联的任何交通灯,则所述特定可行驶路径将不与所述特定逻辑交通灯组链接。
32.根据权利要求29所述的系统,其中,如果多于阈值百分比的所述多个交通工具在经过所述至少一条停止线和特定可行驶路径之间的所述十字路口时观察到与行进颜色状态下的特定逻辑交通灯组相关联的交通灯,则所述特定可行驶路径将被链接到所述特定逻辑交通灯组。
33.根据权利要求20所述的系统,其中,基于与所述特定可行驶路径相关联的至少一个识别的道路标记来确定所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接。
34.根据权利要求20所述的系统,其中,基于与被包括在所述一个或多个逻辑交通灯组中的所述至少一个逻辑交通灯组中的交通灯相关联的至少一个识别的道路方向指示符来确定所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接。
35.根据权利要求20所述的系统,其中,基于由至少一个机器学习模型提供的输出来确定所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接,所述至少一个机器学习模型被训练为基于包括一个或多个交通灯的颜色状态的接收的输入来预测交通灯组与可行驶路径的相关性。
36.根据权利要求35所述的系统,其中,所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接还基于所述多个交通工具中的一个或多个交通工具在相对于所述交叉口进行导航时的运动特性。
37.根据权利要求20所述的系统,其中,所述驾驶信息包括在相对于所述路段进行导航时由与所述多个交通工具中的每个交通工具相关联的一个或多个摄像机捕获的图像的至少一部分。
38.根据权利要求20所述的系统,其中,所述驾驶信息包括所述多个交通工具中的每个交通工具在相对于所述路段进行导航时的运动特性。
39.根据权利要求20所述的系统,其中,所述驾驶信息包括当所述多个交通工具中的每个交通工具相对于所述路段进行导航时的检测到的交通灯的状态的指示符。
40.根据权利要求20所述的系统,其中,所述驾驶信息包括当所述多个交通工具中的每个交通工具相对于所述路段进行导航时检测到的交通灯的位置。
41.根据权利要求20所述的系统,其中,所述驾驶信息包括相对于所述路段的交通工具停止位置。
42.根据权利要求20所述的系统,其中,所述驾驶信息包括当所述多个交通工具中的每个交通工具相对于所述路段进行导航时检测到的一个或多个路标的位置和类型信息。
43.根据权利要求42所述的系统,其中,所识别的路标包括以下项中的一项或多项:杆、灯柱、车道标记、或交通标志。
44.根据权利要求20所述的系统,其中,所述两个或更多个可行驶路径作为三维样条而被存储在所述众包地图中。
45.根据权利要求44所述的系统,其中,所述可行驶路径中的每个可行驶路径与沿所述路段的不同行驶车道相关联。
46.根据权利要求20所述的系统,其中,基于所述多个交通工具相对于所述交叉口的聚合停止位置来确定所述至少一条停止线的所述位置。
47.根据权利要求20所述的系统,其中,基于所述多个交通灯相对于所述交叉口的观察到的几何形状来确定所述至少一条停止线的所述位置。
48.根据权利要求20所述的系统,其中,所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组包括在所述交叉口的入口附近的第一交通灯和在所述交叉口的出口附近的第二交通灯。
49.根据权利要求20所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器:生成所述交叉口的每个入口与相关联的出口之间的可行驶交叉口路径,并将所生成的可行驶交叉口路径存储在所述众包地图中。
50.根据权利要求49所述的系统,其中,每个可行驶交叉口路径与存储在所述众包地图中的入口点相关联。
51.根据权利要求49所述的系统,其中,每个可行驶交叉口路径与存储在所述众包地图中的出口点相关联。
52.根据权利要求20所述的系统,其中,相对于所述多个交通灯的所述导航包括向交通工具操作者发出交通灯警告。
53.根据权利要求20所述的系统,其中,相对于所述多个交通灯的所述导航包括相对于被确定为处于在所述众包地图中指示为与所述至少一个主交通工具的当前可行驶路径相关的逻辑交通灯组中的至少一个交通灯的检测到的颜色状态进行自主制动。
54.一种用于生成供交通工具导航使用的众包地图的方法,所述方法包括:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;
确定与所述交叉口相关联的至少一条停止线的位置;
基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;
将所述路段的两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组进行链接;
在所述众包地图中存储所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接的表示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
55.一种包含指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;
确定与所述交叉口相关联的至少一条停止线的位置;
基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;
将所述路段的两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组进行链接;
在众包地图中存储所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接的表示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
56.一种用于生成供交通工具导航使用的众包地图的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;
确定与所述交叉口相关联的至少一条停止线的位置;
基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;
在所述众包地图中存储所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组的表示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
57.根据权利要求56所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器将所述路段的两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组进行链接。
58.根据权利要求57所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器在所述众包地图中存储所述两个或更多个可行驶路径中的每个可行驶路径与所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组之间的所述链接的表示。
59.根据权利要求57所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的所述两个或更多个可行驶路径。
60.根据权利要求59所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器将所生成的两个或更多个可行驶路径存储在所述众包地图中。
61.一种用于生成供交通工具导航使用的众包地图的方法,所述方法包括:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;
确定与所述交叉口相关联的至少一条停止线的位置;
基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;
在所述众包地图中存储所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组的表示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
62.一种包含指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与交叉口相关联并且其中所述交叉口包括多个交通灯;
确定与所述交叉口相关联的至少一条停止线的位置;
基于对从所述多个交通工具收集的驾驶信息的分析,将所述多个交通灯分组成一个或多个逻辑交通灯组;
在众包地图中存储所述一个或多个逻辑交通灯组中的至少一个逻辑交通灯组的表示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通灯的导航。
63.一种用于导航主交通工具的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;
检测所获取的图像中的至少一个交通灯的表示;
访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储沿所述路段的一个或多个可行驶路径和与所述一个或多个可行驶路径中的每个可行驶路径相关的逻辑交通灯组之间的链接;
基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通灯是否与所述主交通工具正沿其行驶的可行驶路径相关;以及
响应于在所获取的图像中检测到的所述至少一个交通灯与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通灯的检测到的状态采取至少一个导航动作。
64.根据权利要求63所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器:响应于在所获取的图像中检测到的所述至少一个交通灯与所述主交通工具正沿其行驶的可行驶路径不相关的确定,使所述主交通工具放弃相对于所述至少一个交通灯的检测到的状态的导航响应。
65.根据权利要求63所述的系统,其中,所述至少一个交通灯的所述检测到的状态是绿色,并且所述至少一个导航动作包括维持所述主交通工具沿当前可行驶路径的当前速度。
66.根据权利要求63所述的系统,其中,所述至少一个交通灯的所述检测到的状态是绿色,并且所述至少一个导航动作包括操纵所述主交通工具沿可行驶路径通过交叉口。
67.根据权利要求63所述的系统,其中,所述至少一个交通灯的所述检测到的状态是红色,并且所述至少一个导航动作包括制动所述主交通工具。
68.根据权利要求63所述的系统,其中,所述一个或多个可行驶路径作为三维样条而被存储在所述众包地图中。
69.根据权利要求63所述的系统,其中,通过聚合由先前穿过所述路段的所述多个交通工具所遵循的行驶路径来确定存储在所述众包地图中的所述一个或多个可行驶路径。
70.一种用于导航主交通工具的方法,所述方法包括:
接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;
检测所获取的图像中的至少一个交通灯的表示;
访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储沿所述路段的一个或多个可行驶路径和与所述一个或多个可行驶路径中的每个可行驶路径相关的逻辑交通灯组之间的链接;
基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通灯是否与所述主交通工具正沿其行驶的可行驶路径相关;以及
响应于在所获取的图像中检测到的所述至少一个交通灯与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通灯的检测到的状态采取至少一个导航动作。
71.一种包含指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
接收当主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;
检测所获取的图像中的至少一个交通灯的表示;
访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储沿所述路段的一个或多个可行驶路径和与所述一个或多个可行驶路径中的每个可行驶路径相关的逻辑交通灯组之间的链接;
基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通灯是否与所述主交通工具正沿其行驶的可行驶路径相关;以及
响应于在所获取的图像中检测到的所述至少一个交通灯与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通灯的检测到的状态采取至少一个导航动作。
72.一种用于生成供交通工具导航使用的众包地图的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与多个交通标志相关联;
基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的两个或更多个可行驶路径;
在所述众包地图中存储所生成的两个或更多个可行驶路径;
基于对从所述多个交通工具收集的所述驾驶信息的分析,确定所述多个交通标志中的特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关;
在所述众包地图中存储所述多个交通标志中的哪些交通标志与所述两个或更多个可行驶路径中的每一个可行驶路径相关的指示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通标志进行导航。
73.根据权利要求72所述的系统,其中,所述两个或更多个可行驶路径在所述众包地图中被表示为三维样条。
74.根据权利要求73所述的系统,其中,所述两个或更多个可行驶路径中的每一个可行驶路径与沿所述路段的不同行驶车道相关联。
75.根据权利要求72所述的系统,其中,特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关的所述确定基于所述多个交通工具在它们穿过所述路段时的运动特性。
76.根据权利要求75所述的系统,其中,所述运动特性指示所述多个交通工具在所述特定交通标志附近减速。
77.根据权利要求75所述的系统,其中,所述运动特性指示所述多个交通工具在所述特定交通标志附近改变前进方向。
78.根据权利要求72所述的系统,其中,特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关的所述确定基于所述特定交通标志与在所述众包地图中表示的一个或多个道路特征的接近度。
79.根据权利要求78所述的系统,其中,所述一个或多个道路特征包括与可行驶路径相关联的迂回路线、停止线、合并点、车道划分、或曲率。
80.根据权利要求72所述的系统,其中,特定交通标志是否与来自所述两个或更多个可行驶路径的可行驶路径相关的所述确定基于与所述特定交通标志相似的交通标志是否出现在来自所述特定交通标志的所述可行驶路径的相对侧上。
81.根据权利要求72所述的系统,其中,特定交通标志是否与所述两个或更多个可行驶路径中的特定一个可行驶路径相关的所述确定基于所述特定可行驶路径与所述特定交通标志之间的横向距离。
82.根据权利要求81所述的系统,其中,特定交通标志是否与所述两个或更多个可行驶路径中的特定一个可行驶路径相关的所述确定还基于所述特定交通标志与道路边缘之间的横向距离。
83.根据权利要求72所述的系统,其中,特定交通标志是否与所述两个或更多个可行驶路径中的特定一个可行驶路径相关的所述确定基于所述特定交通标志相对于所述特定可行驶路径的检测到的高度。
84.根据权利要求72所述的系统,其中,特定交通标志是否与所述两个或更多个可行驶路径中的特定一个可行驶路径相关的所述确定基于当在与所述特定可行驶路径相关联的方向上沿特定可行驶路径行驶时所述特定交通标志的语义部分是否可见的确定。
85.根据权利要求72所述的系统,其中,所述多个交通标志中的特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关的所述确定基于由至少一个机器学习模型提供的输出,所述至少一个机器学习模型被训练以基于接收到的输入来预测交通标志与可行驶路径的相关性,所述输入包括以下项中的至少一项:相对于可行驶路径的交通标志几何形状、相对于可行驶路径的交通标志可见度、相对于与所述路段相关联的一个或多个道路特征的交通标志几何形状、或所述多个交通工具中的一个或多个交通工具在其沿所述路段进行导航时的运动特性。
86.根据权利要求72所述的系统,其中,所述驾驶信息包括在所述多个交通工具中的每个交通工具相对于所述路段进行导航时由与所述多个交通工具中的每个交通工具相关联的一个或多个摄像机捕获的图像的至少一部分。
87.根据权利要求72所述的系统,其中,所述驾驶信息包括所述多个交通工具中的每个交通工具在它相对于所述路段进行导航时的运动特性。
88.根据权利要求72所述的系统,其中,所述驾驶信息包括由所述多个交通工具中的每个交通工具在它相对于所述路段进行导航时所遵循的路径的指示符。
89.根据权利要求72所述的系统,其中,所述驾驶信息包括当所述多个交通工具中的每个交通工具相对于所述路段进行导航时检测到的交通标志的位置和类型指示符。
90.根据权利要求72所述的系统,其中,所述驾驶信息包括相对于所述路段的交通工具停止位置。
91.根据权利要求72所述的系统,其中,所述驾驶信息包括当所述多个交通工具中的每个交通工具相对于所述路段进行导航时检测到的一个或多个路标的位置和类型信息。
92.根据权利要求91所述的系统,其中,所识别的路标包括以下项中的一项或多项:杆、灯、柱、或车道标记。
93.根据权利要求72所述的系统,其中,相对于所述多个交通标志的所述导航包括向交通工具操作者发出警告。
94.根据权利要求72所述的系统,其中,相对于所述多个交通标志的所述导航包括相对于检测到的交通标志进行自主制动。
95.一种用于生成供交通工具导航使用的众包地图的方法,所述方法包括:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与多个交通标志相关联;
基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的两个或更多个可行驶路径;
在所述众包地图中存储所生成的两个或更多个可行驶路径;
基于对从所述多个交通工具收集的所述驾驶信息的分析,确定所述多个交通标志中的特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关;
在所述众包地图中存储所述多个交通标志中的哪些交通标志与所述两个或更多个可行驶路径中的每一个可行驶路径相关的指示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通标志进行导航。
96.一种包含指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
接收从穿过路段的多个交通工具收集的驾驶信息,其中所述路段与多个交通标志相关联;
基于所述多个交通工具在它们穿过所述路段时的聚合运动特性来生成所述路段的两个或更多个可行驶路径;
在众包地图中存储所生成的两个或更多个可行驶路径;
基于对从所述多个交通工具收集的所述驾驶信息的分析,确定所述多个交通标志中的特定交通标志是否与所述两个或更多个可行驶路径中的每一个可行驶路径相关;
在所述众包地图中存储所述多个交通标志中的哪些交通标志与所述两个或更多个可行驶路径中的每一个可行驶路径相关的指示;以及
使所述众包地图可用于至少一个主交通工具以用于相对于所述多个交通标志进行导航。
97.一种用于导航主交通工具的系统,所述系统包括:
至少一个处理器,所述至少一个处理器包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;
检测所获取的图像中的至少一个交通标志的表示;
访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储映射的交通标志与存储在所述众包地图中的某些可行驶路径的相关性的指示符;
基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通标志是否与所述主交通工具正沿其行驶的可行驶路径相关;以及
响应于在所获取的图像中检测到的所述至少一个交通标志与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通标志采取至少一个导航动作。
98.根据权利要求97所述的系统,其中,所述存储器还包括指令,所述指令在由所述电路执行时使所述至少一个处理器:响应于在所获取的图像中检测到的所述至少一个交通标志与所述主交通工具正沿其行驶的可行驶路径不相关的确定,使所述主交通工具放弃相对于所述至少一个交通标志的导航响应。
99.根据权利要求97所述的系统,其中,所述至少一个交通标志是停止标志,并且所述至少一个导航动作包括制动所述主交通工具。
100.根据权利要求97所述的系统,其中,所述至少一个交通标志是让行标志,并且所述至少一个导航动作包括制动所述主交通工具和改变所述主交通工具的前进方向。
101.根据权利要求97所述的系统,其中,所述可行驶路径作为三维样条而被存储在所述众包地图中。
102.根据权利要求97所述的系统,其中,通过聚合由先前穿过所述路段的所述多个交通工具所遵循的行驶路径来确定存储在所述众包地图中的所述可行驶路径。
103.一种用于导航主交通工具的方法,所述方法包括:
接收当所述主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;
检测所获取的图像中的至少一个交通标志的表示;
访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储映射的交通标志与存储在所述众包地图中的某些可行驶路径的相关性的指示符;
基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通标志是否与所述主交通工具正沿其行驶的可行驶路径相关;以及
响应于在所获取的图像中检测到的所述至少一个交通标志与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通标志采取至少一个导航动作。
104.一种包含指令的非瞬态计算机可读介质,所述指令在由至少一个处理器执行时使所述至少一个处理器执行操作,所述操作包括:
接收当主交通工具穿过路段时由所述主交通工具车载的至少一个摄像机获取的图像;
检测所获取的图像中的至少一个交通标志的表示;
访问基于从先前穿过所述路段的多个交通工具收集的驾驶信息而生成的众包地图,其中所述众包地图存储映射的交通标志与存储在所述众包地图中的某些可行驶路径的相关性的指示符;
基于所访问的众包地图来确定在所获取的图像中检测到的所述至少一个交通标志是否与所述主交通工具正沿其行驶的可行驶路径相关;以及
响应于在所获取的图像中检测到的所述至少一个交通标志与所述主交通工具正沿其行驶的可行驶路径相关的确定,使所述主交通工具相对于所述至少一个交通标志采取至少一个导航动作。
CN202180005118.1A 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法 Pending CN115004257A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210903624.9A CN115719481A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903625.3A CN115761688A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903659.2A CN115719482A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202063024591P 2020-05-14 2020-05-14
US63/024591 2020-05-14
US202063038235P 2020-06-12 2020-06-12
US63/038235 2020-06-12
US202163135440P 2021-01-08 2021-01-08
US63/135440 2021-01-08
PCT/US2021/032520 WO2021231906A1 (en) 2020-05-14 2021-05-14 Systems and methods for vehicle navigation involving traffic lights and traffic signs

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN202210903625.3A Division CN115761688A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903659.2A Division CN115719482A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903624.9A Division CN115719481A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法

Publications (1)

Publication Number Publication Date
CN115004257A true CN115004257A (zh) 2022-09-02

Family

ID=76284230

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202180005118.1A Pending CN115004257A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903625.3A Pending CN115761688A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903624.9A Pending CN115719481A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903659.2A Pending CN115719482A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN202210903625.3A Pending CN115761688A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903624.9A Pending CN115719481A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN202210903659.2A Pending CN115719482A (zh) 2020-05-14 2021-05-14 用于涉及交通灯和交通标志的交通工具导航的系统和方法

Country Status (4)

Country Link
US (3) US20220383745A1 (zh)
CN (4) CN115004257A (zh)
DE (1) DE112021000094T5 (zh)
WO (1) WO2021231906A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL270540A (en) * 2018-12-26 2020-06-30 Yandex Taxi Llc Method and system for training a machine learning algorithm to recognize objects from a distance
US11897468B2 (en) * 2020-03-03 2024-02-13 Ford Global Technologies, Llc Vehicle control system
US11620836B2 (en) * 2020-12-04 2023-04-04 Argo AI, LLC Light emitting diode flicker mitigation
CN115482020A (zh) * 2021-05-31 2022-12-16 英业达科技有限公司 车行纪录路况情资收集反馈之奖励系统及其方法
US20230063809A1 (en) * 2021-08-25 2023-03-02 GM Global Technology Operations LLC Method for improving road topology through sequence estimation and anchor point detetection
US20230076410A1 (en) * 2021-09-08 2023-03-09 Motorola Solutions, Inc. Camera system for a motor vehicle
WO2023168262A2 (en) * 2022-03-01 2023-09-07 Mobileye Vision Technologies Ltd. Machine learning-based traffic light relevancy mapping
CN117218822A (zh) * 2022-05-31 2023-12-12 魔门塔(苏州)科技有限公司 交通灯的状态检测方法、装置、存储介质、设备及车辆
CN115100536B (zh) * 2022-06-01 2023-03-28 中科星睿科技(北京)有限公司 建筑物识别方法、装置、电子设备和计算机可读介质
CN114812571B (zh) * 2022-06-23 2022-09-23 小米汽车科技有限公司 车辆定位方法、装置、车辆、存储介质及芯片
US20240044661A1 (en) * 2022-08-08 2024-02-08 Here Global B.V. Method and apparatus for determining left turn indicators
CN115512336B (zh) * 2022-11-16 2023-02-28 广汽埃安新能源汽车股份有限公司 基于路灯光源的车辆定位方法、装置和电子设备
GB2627740A (en) * 2023-02-27 2024-09-04 Continental Autonomous Mobility Germany GmbH Method for controlling a vehicle, vehicle controller and a vehicle
CN117809460B (zh) * 2024-03-01 2024-05-14 电子科技大学 一种智慧交通调控方法及系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140032087A1 (en) * 2012-07-25 2014-01-30 Mobiwize Solutions Ltd. Reducing fuel consumption by accommodating to anticipated road and driving conditions
US9365214B2 (en) * 2014-01-30 2016-06-14 Mobileye Vision Technologies Ltd. Systems and methods for determining the status of a turn lane traffic light
WO2016130719A2 (en) * 2015-02-10 2016-08-18 Amnon Shashua Sparse map for autonomous vehicle navigation
JP6062473B2 (ja) * 2015-03-17 2017-01-18 本田技研工業株式会社 道路標識判断装置及び道路標識判断方法
DE102016015514A1 (de) * 2016-12-23 2018-06-28 Lucas Automotive Gmbh Fahrassistenz für ein Kraftfahrzeug
US10220850B2 (en) * 2017-01-30 2019-03-05 GM Global Technology Operations LLC Vehicle propulsion systems and methods
US10699142B2 (en) * 2017-04-20 2020-06-30 GM Global Technology Operations LLC Systems and methods for traffic signal light detection
WO2019068042A1 (en) * 2017-09-29 2019-04-04 Netradyne Inc. MULTIPLE EXPOSURE EVENT DETERMINATION
US10762364B2 (en) * 2018-04-19 2020-09-01 Here Global B.V. Method, apparatus, and system for traffic sign learning
US11334753B2 (en) * 2018-04-30 2022-05-17 Uatc, Llc Traffic signal state classification for autonomous vehicles
US10909866B2 (en) * 2018-07-20 2021-02-02 Cybernet Systems Corp. Autonomous transportation system and methods
US11056005B2 (en) * 2018-10-24 2021-07-06 Waymo Llc Traffic light detection and lane state recognition for autonomous vehicles
US11435751B2 (en) * 2018-12-28 2022-09-06 Beijing Voyager Technology Co., Ltd. Vehicle-based road obstacle identification system
US11023749B2 (en) * 2019-07-05 2021-06-01 Zoox, Inc. Prediction on top-down scenes based on action data
US11631325B2 (en) * 2019-08-26 2023-04-18 GM Global Technology Operations LLC Methods and systems for traffic light state monitoring and traffic light to lane assignment

Also Published As

Publication number Publication date
US20220383743A1 (en) 2022-12-01
CN115719482A (zh) 2023-02-28
DE112021000094T5 (de) 2022-06-30
CN115761688A (zh) 2023-03-07
CN115719481A (zh) 2023-02-28
WO2021231906A1 (en) 2021-11-18
US20220383745A1 (en) 2022-12-01
US20220383744A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US11940290B2 (en) Virtual stop line mapping and navigation
CN112384760B (zh) 用于自主车辆导航的系统和方法
US20220324437A1 (en) LIDAR-Camera Fusion Where LIDAR and Camera Validly See Different Things
US20220383745A1 (en) Traffic sign relevancy
CN113840765A (zh) 用于车辆导航的系统和方法
US20210381848A1 (en) Bandwidth management for map generation and refinement
CN115380196A (zh) 用于确定道路安全性的系统和方法
US20230392952A1 (en) Map tile optimization based on tile connectivity
US20220327843A1 (en) Systems and methods for detecting traffic lights
US20230136710A1 (en) Systems and methods for harvesting images for vehicle navigation
CN117355871A (zh) 多帧图像分割
US20230211726A1 (en) Crowdsourced turn indicators
CN117651668A (zh) 用于监测车道标记质量的系统和方法
US20230280183A1 (en) Machine learning-based traffic light relevancy mapping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination