CN117053814A - 使用电子地平线导航交通工具 - Google Patents

使用电子地平线导航交通工具 Download PDF

Info

Publication number
CN117053814A
CN117053814A CN202310987864.6A CN202310987864A CN117053814A CN 117053814 A CN117053814 A CN 117053814A CN 202310987864 A CN202310987864 A CN 202310987864A CN 117053814 A CN117053814 A CN 117053814A
Authority
CN
China
Prior art keywords
vehicle
road
image
host vehicle
lane
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
CN202310987864.6A
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
Publication of CN117053814A publication Critical patent/CN117053814A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/10Path keeping
    • B60W30/12Lane keeping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/14Adaptive cruise control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/14Adaptive cruise control
    • B60W30/143Speed control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18109Braking
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units, or advanced driver assistance systems for ensuring comfort, stability and safety or drive control systems for propelling or retarding the vehicle
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18163Lane change; Overtaking manoeuvres
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/265Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network constructional aspects of navigation devices, e.g. housings, mountings, displays
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3815Road data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3896Transmission of map data from central databases
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2552/00Input parameters relating to infrastructure
    • B60W2552/53Road markings, e.g. lane marker or crosswalk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30256Lane; Road marking

Abstract

一种系统可以包括编程为访问地图并接收由交通工具传感器提供的输出的处理器。处理器还可以编程为基于对来自传感器的输出的分析来相对于地图定位交通工具,并基于交通工具相对于地图的位置来确定交通工具的电子地平线。处理器可以进一步编程为生成导航信息分组,该导航信息分组包括与确定的电子地平线相关联的信息。导航信息分组可以包括报头部分和可变大小的有效载荷部分。报头部分可以指定可变大小的有效载荷部分中包括什么信息。处理器还可以编程为将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使交通工具基于导航信息分组中包含的信息执行导航操纵。

Description

使用电子地平线导航交通工具
相关申请的交叉引用
本申请要求在2020年3月30日提交的美国临时申请No.63/001,733;和在2021年2月24日提交的美国临时申请No.63/152,925的优先权的权益。前述申请通过引用以其整体而被结合在本文中。
技术领域
本公开一般涉及自主交通工具导航。
背景技术
随着技术不断进步,能够在道路上导航的全自主交通工具的目标即将实现。自主交通工具可能需要考虑多种因素,并且基于那些因素做出适当判定,以安全且准确地到达预计目的地。例如,自主交通工具可能需要处理和解释视觉信息(例如从摄像机所捕获的信息),并且还可能使用从其它来源(例如从GPS装置、速度传感器、加速计、悬架传感器等)所获得的信息。同时,为了导航到目的地,自主交通工具还可能需要标识它在特定道路内的位置(例如多车道道路内的特定车道),与其它交通工具并排导航,避开障碍物和行人,观察交通信号和标志,并且在适当十字路口或立交桥从一个道路行驶到另一个道路。利用和解释由自主交通工具在交通工具行驶到其目的地时所收集的大量信息造成许多设计挑战。自主交通工具可能需要分析、访问和/或存储的大量数据(例如所捕获的图像数据、地图数据、GPS数据、传感器数据等)造成实际上可能限制或者甚至不利地影响自主导航的挑战。此外,如果自主交通工具依靠传统绘图技术进行导航,则存储和更新地图所需的大量数据造成巨大挑战。
发明内容
根据本公开的实施例提供了用于交通工具导航的系统和方法。
在实施例中,一种系统可以包括至少一个电子地平线(horizon)处理器,该处理器可以包括电路和存储器。存储器可以包括指令,所述指令当由电路执行时可以使至少一个电子地平线处理器访问表示主交通工具在上面行驶或预期行驶的至少路段的地图,并接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。指令还可以使至少一个电子地平线处理器基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。指令还可以使至少一个电子地平线处理器基于主交通工具相对于地图的定位来确定主交通工具的电子地平线。指令还可以使至少一个电子地平线处理器生成包括与确定的电子地平线相关联的信息的导航信息分组。导航信息分组可以包括报头部分和可变大小的有效载荷部分。报头部分可以指定可变大小的有效载荷部分中包括什么信息。指令可以进一步使至少一个电子地平线处理器将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵(maneuver)。
在实施例中,一种非暂时计算机可读介质可以包含指令,所述指令当由至少一个电子地平线处理器执行时,使至少一个电子地平线处理器执行包括访问表示主交通工具在上面行驶或预期行驶的至少路段的地图的操作。操作还可以包括接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。操作可以进一步包括基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。操作还可以包括基于主交通工具相对于地图的定位来确定主交通工具的电子地平线。操作可以进一步包括生成包括与确定的电子地平线相关联的信息的导航信息分组。导航信息分组可以包括报头部分和可变大小的有效载荷部分。报头部分可以指定可变大小的有效载荷部分中包括什么信息。操作还可以包括将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。
在实施例中,一种系统可以包括至少一个电子地平线处理器,该处理器可以包括电路和存储器。存储器可以包括指令,所述指令当由电路执行时可使至少一个电子地平线处理器访问表示主交通工具在上面行驶或预期行驶的道路的地图。在地图中,道路可以被表示为两个映射节点之间的节点间路段,并且在地图中,节点间路段可以进一步被划分为多个节点间路子段。指令还可以使至少一个电子地平线处理器接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机,并且接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。指令还可以使至少一个电子地平线处理器基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于至少一个映射特征来定位主交通工具。指令还可以使至少一个电子地平线处理器基于主交通工具相对于至少一个映射特征的定位来确定主交通工具的电子地平线。指令还可以使至少一个电子地平线处理器确定包括在电子地平线中的节点间路子段集合。指令可以进一步使至少一个电子地平线处理器生成一个或多个导航信息分组,其包括与包括在电子地平线中的节点间路子段集合相关联的信息。指令还可以使至少一个电子地平线处理器将生成的一个或多个导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。
在实施例中,一种非暂时计算机可读介质可以包含指令,所述指令当由至少一个电子地平线处理器执行时,使至少一个电子地平线处理器执行包括访问表示主交通工具在上面行驶或预期行驶的道路的地图的操作。在地图中,道路可以被表示为两个映射节点之间的节点间路段,并且在地图中,节点间路段可以进一步被划分为多个节点间路子段。操作还可以包括接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机,并且接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。操作可以进一步包括基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于至少一个映射特征定位主交通工具。操作还可以包括基于主交通工具相对于至少一个映射特征的定位来确定主交通工具的电子地平线。操作可以进一步包括确定包括在电子地平线中的节点间路子段集合。操作还可以包括生成一个或多个导航信息分组,其包括与包括在电子地平线中的节点间路子段集合相关联的信息。操作可以进一步包括将生成的一个或多个导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。
在实施例中,一种系统可以包括至少一个电子地平线处理器,该处理器可以包括电路和存储器。存储器可以包括指令,所述指令当由电路执行时,可以使至少一个电子地平线处理器访问表示主交通工具在上面行驶或预期行驶的至少路段的地图。地图中的点可以相对于初始地图原点进行参考。指令可以进一步使至少一个电子地平线处理器接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机,并且接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。指令可以进一步使至少一个电子地平线处理器基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。指令还可以使至少一个电子地平线处理器基于主交通工具相对于地图的定位来确定主交通工具的电子地平线。指令可以进一步使至少一个电子地平线处理器生成导航信息分组,其包括与确定的电子地平线中包括的映射特征相关联的信息。指令还可以使至少一个电子地平线处理器将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。指令可以进一步使至少一个电子地平线处理器检测地图原点改变事件。指令还可以使至少一个电子地平线处理器响应于检测到的地图原点改变事件而确定更新的地图原点,并向一个或多个导航系统处理器发送指示从初始地图原点到更新的地图原点的改变的通知。
在实施例中,一种非暂时计算机可读介质可以包含指令,所述指令当由至少一个电子地平线处理器执行时,使至少一个电子地平线处理器执行包括访问表示主交通工具在上面行驶或预期行驶的至少路段的地图的操作。地图中的点可以相对于初始地图原点进行参考。操作还可以包括接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机,并且接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。操作可以进一步包括基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。操作还可以包括基于主交通工具相对于地图的定位来确定主交通工具的电子地平线。操作可以进一步包括生成导航信息分组,其包括与确定的电子地平线中包括的映射特征相关联的信息。操作还可以包括将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。操作可以进一步包括检测地图原点改变事件。操作还可以包括响应于检测到的地图原点改变事件而确定更新的地图原点,并向一个或多个导航系统处理器发送指示从初始地图原点到更新的地图原点的改变的通知。
在实施例中,一种系统可以包括至少一个电子地平线处理器,该处理器可以包括电路和存储器。存储器可以包括指令,所述指令当由电路执行时,可以使至少一个电子地平线处理器访问表示主交通工具在上面行驶或预期行驶的至少路段的地图。地图可以包括表示与路段相关联的道路特征的一个或多个样条(spline)。指令还可以使至少一个电子地平线处理器接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。指令还可以使至少一个电子地平线处理器相对于在一个或多个样条中表示的主交通工具的可驾驶路径来定位主交通工具。定位可以基于对由一个或多个摄像机捕获的至少一个图像的分析。指令可以进一步使至少一个电子地平线处理器基于主交通工具相对于主交通工具的可驾驶路径的定位来确定与一个或多个样条相关联的点集合。指令还可以使至少一个电子地平线处理器生成导航信息分组,其包括与一个或多个样条以及相对于一个或多个样条的确定的点集合相关联的信息。指令可以进一步使至少一个电子地平线处理器将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。
在实施例中,一种非暂时计算机可读介质可以包含指令,所述指令当由至少一个电子地平线处理器执行时,使至少一个电子地平线处理器执行包括访问表示主交通工具在上面行驶或预期行驶的至少路段的地图的操作。地图可以包括表示与路段相关联的道路特征的一个或多个样条,并接收由至少一个交通工具传感器提供的输出。该至少一个交通工具传感器可以包括配置为捕获主交通工具的环境的图像的一个或多个摄像机,并且接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。操作还可以包括相对于在一个或多个样条中表示的主交通工具的可驾驶路径来定位主交通工具。定位可以基于对由一个或多个摄像机捕获的至少一个图像的分析。操作可以进一步包括基于主交通工具相对于主交通工具的可驾驶路径的定位来确定与一个或多个样条相关联的点集合。操作还可以包括生成导航信息分组,其包括与一个或多个样条以及相对于一个或多个样条的确定的点集合相关联的信息。操作可以进一步包括将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。
前面的一般描述和下面的详细描述仅是示例性和解释性的,并不是限制权利要求。
附图说明
结合在本公开中并且构成本公开的一部分的附图示出各个所公开实施例。在附图中:
图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示出按照所公开的实施例的用于向一个或多个交通工具提供一个或多个地图段的示例性系统。
图28A、28B、28C和28D示出按照所公开的实施例的用于交通工具的示例性潜在行驶包络(travel envelope)。
图28E、图28F、图28G和图28H示出按照所公开的实施例的与用于交通工具的潜在行驶包络相关联的示例性地图图块(map tile)。
图29A和图29B示出按照所公开的实施例的示例性地图图块。
图30示出按照所公开的实施例的用于检索地图图块的示例性过程。
图31A、图31B、图31C和图31D示出按照所公开的实施例的用于解码地图图块的示例性过程。
图32是示出按照所公开的实施例的用于向一个或多个交通工具提供一个或多个地图段的示例性过程的流程图。
图33是描述按照所公开的实施例的由示例性系统发送给交通工具的消息的结构的示意图。
图34是按照所公开的实施例的由示例性系统发送给交通工具的消息的示例。
图35是按照所公开的实施例的示例性电子地平线地图数据的示意图。
图36是按照所公开的实施例的示例性车道边界的示意图。
图37示出按照所公开的实施例的用于改变电子地平线坐标系的示例性过程。
图38是按照所公开的实施例的与路段相关联的样条的示例性索引和子索引的示意图。
图39是按照所公开的实施例的在预定米数的设定距离内每样条十个点的示例性可驾驶路径投影的示意图。
图40是示出按照所公开的实施例的在点间的动态距离与自我(ego)速度之间的示例性关系的示意图。
图41是按照所公开的实施例的示例性可驾驶路径合并点的示意图。
图42是示出按照所公开的实施例的交通工具的示例性组件的框图。
图43是示出按照所公开的实施例的用于导航交通工具的示例性过程的流程图。
图44是示出按照所公开的实施例的用于导航交通工具的示例性过程的流程图。
图45是示出按照所公开的实施例的用于导航交通工具的示例性过程的流程图。
图46是示出按照所公开的实施例的交通工具在各种时间点的示例性预测位置的示意图。
图47是示出按照所公开的实施例的用于导航交通工具的示例性过程的流程图。
具体实施方式
以下详细描述参照附图。在可能的情况下,相同参考标号在附图和以下描述中用来表示相同或相似部件。虽然本文描述若干说明性实施例,但是修改、自适应和其它实现是可能的。例如,可对附图所示的组件进行置换、添加或修改,并且可通过对所公开方法置换、重排序、去除或添加步骤来修改本文所述的说明性方法。相应地,以下详细描述并不局限于所公开的实施例和示例。适当范围而是通过所附权利要求书来限定。
自主交通工具概述
如本公开通篇所使用的术语“自主交通工具”表示能够在无需驾驶员输入的情况下实现至少一个导航变更的交通工具。“导航变更”表示交通工具的转向、制动或者加速度的一个或多个的变化。要成为自主的,交通工具无需是全自动的(例如没有驾驶员或者没有驾驶员输入的全面操作)。自主交通工具而是包括能够在某些时间段期间在驾驶员控制下以及在其它时间段期间在没有驾驶员控制的情况下进行操作的那些交通工具。自主交通工具还可包括一些交通工具,所述交通工具仅控制交通工具导航的一些方面,例如转向(例如以将交通工具路线保持在交通工具车道约束之间),而可将其它方面留给驾驶员(例如制动)。在一些情况下,自主交通工具可操控交通工具的制动、速度控制和/或转向的部分或全部方面。
由于人类驾驶员通常依靠视觉线索和观察来控制交通工具,因此相应地构建运输基础设施,其中车道标记、交通标志和交通灯全部设计成向驾驶员提供视觉信息。鉴于运输基础设施的这些设计特性,自主交通工具可包括摄像机和处理单元,该处理单元分析从交通工具的环境所捕获的视觉信息。视觉信息可包括例如驾驶员可观察的运输基础设施的组件(例如车道标记、交通标志、交通灯等)以及其它障碍物(例如其它交通工具、行人、碎片等)。另外,自主交通工具还可使用所存储信息,例如在导航时提供交通工具环境的模型的信息。例如,交通工具可在正行驶的同时使用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、BluetoothSmart、802.15.4、ZigBee等)。这类传输能够包括从主交通工具到一个或多个远程定位服务器的通信。这类传输还可包括主交通工具与主交通工具的环境中的一个或多个目标交通工具之间的通信(单向或双向)(例如以促进考虑到或者连同主交通工具的环境中的目标交通工具一起的主交通工具的导航的协调)或者甚至对发射交通工具附近的未指定接收方的广播传输。
应用处理器180和图像处理器190均可包括各种类型的处理装置。例如,应用处理器180和图像处理器190的任一个或两者均可包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理器(CPU)、支持电路、数字信号处理器、集成电路、存储器或者适合于运行应用并且适合于图像处理和分析的任何其它类型的装置。在一些实施例中,应用处理器180和/或图像处理器190可包括任何类型的单核或多核处理器、移动装置微控制器、中央处理器等。可使用各种处理装置,包括例如从诸如等的制造商可获得的处理器或者从诸如/>等的制造商可获得的GPU,并且可包括各种架构(例如x86处理器、/>等)。
在一些实施例中,应用处理器180和/或图像处理器190可包括从可获得的EyeQ系列的处理器芯片的任一个。这些处理器设计各自包括多个处理单元,其中具有本地存储器和指令集。这类处理器可包括用于从多个图像传感器接收图像数据的视频输入,并且还可包括视频输出能力。在一个示例中,/>使用工作在332Mhz的90nm-微技术。架构包括两个浮点超线程32位RISC CPU(/>核心)、五个视觉计算引擎(VCE)、三个向量微码处理器(/>)、Denali 64位移动DDR控制器、128位内部Sonics互连、双16位视频输入和18位视频输出控制器、16通道DMA和若干外设。MIPS34K CPU管理五个VCE、三个VMPTM和DMA、第二MIPS34K CPU和多通道DMA以及其它外设。五个VCE、三个/>和MIPS34K CPU能够执行多功能捆绑应用所要求的密集视觉计算。在另一个示例中,是第三代处理器并且比/>要强六倍,它可用于所公开实施例中。在其它示例中,/>和/或/>可用于所公开实施例中。当然,任何较新或将来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还可配置成获取离交通工具更远距离的范围(例如25m、50m、100m、150m或以上)处的对象的图像。此外,图像捕获装置122、124和126的焦距可被选择成使得一个图像捕获装置(例如图像捕获装置122)能够获取相对靠近交通工具(例如10m之内或20m之内)的对象的图像,而其它图像捕获装置(例如图像捕获装置124和126)能够获取离交通工具200更远对象(例如大于20m、50m、100m、150m等)的图像。
按照一些实施例,一个或多个图像捕获装置122、124和126的FOV可具有广角。例如,具有140度的FOV可能是有利的,尤其对于可用来捕获交通工具200附近的区域的图像的图像捕获装置122、124和126。例如,图像捕获装置122可用来捕获交通工具200右边或左边的区域的图像,以及在这类实施例中,可期望图像捕获装置122具有宽FOV(例如至少140度)。
与图像捕获装置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后面,并且基本上并排定位(例如分开6cm)。此外,在一些实施例中,如上所述,图像捕获装置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可具有小于每公里道路2Mb、小于每公里道路1Mb、小于每公里道路500kB或者小于每公里道路100kB的数据密度(例如包括表示目标轨迹、路标和任何其它所存储道路特征的数据)。在一些实施例中,稀疏地图800的数据密度可小于每公里道路10kB或者甚至小于每公里道路2kB(例如每公里1.6kB),或者不超过每公里道路10kB或者不超过每公里道路20kB。在一些实施例中,美国道路的大部分(即使不是全部)可使用具有总共4GB或更少数据的稀疏地图来自主导航。这些数据密度值可表示对整个稀疏地图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公里或以上的路标间距也可以是可能的。在一些实施例中,每1km道路1个所标识路标的密度可足以将纵向位置确定精度保持在1m之内。因此,并非沿路段出现的每一个潜在路标都需要被存储在稀疏地图800中。
此外,在一些实施例中,车道标记可在路标间距期间用于交通工具的定位。通过在路标间距期间使用车道标记,可最小化通过航位推测的导航期间的误差累积。
除了目标轨迹和所标识路标之外,稀疏地图800还可包括与各种其它道路特征相关的信息。例如,图9A示出可被存储在稀疏地图800中的沿特定路段的曲线的表示。在一些实施例中,道路的单车道可通过道路的左侧和右侧的三维多项式描述来建模。表示单个车道的左侧和右侧的这类多项式在图9A中示出。不管道路具有多少车道,都可按照与图9A所示相似的方式使用多项式来表示该道路。例如,多车道道路的左侧和右侧可通过与图9A所示相似的多项式来表示,以及多车道道路上包含的中间车道标记(例如表示车道边界的虚线标记、表示沿不同方向行驶的车道之间的边界的黄实线等)也可使用例如图9A所示的多项式来表示。
如图9A所示,可使用多项式(例如一阶、二阶、三阶或者任何适当阶数的多项式)来表示车道900。为了便于说明,车道900示为二维车道,以及多项式示为二维多项式。如图9A所示,车道900包括左侧910和右侧920。在一些实施例中,多于一个多项式可用来表示道路或车道边界的每侧的位置。例如,左侧910和右侧920的每个可通过任何适当长度的多个多项式来表示。在一些情况下,多项式可具有大约100m的长度,但是也可使用大于或小于100m的其它长度。另外,多项式能够相互重叠,以便促进基于主交通工具沿道路行驶时随后遇到的多项式的导航中的无缝过渡。例如,左侧910和右侧920的每个可通过多个三阶多项式来表示,所述多项式被分为大约100米长的段(第一预定范围的示例),并且相互重叠大约50米。表示左侧910和右侧920的多项式可以或者可以不具有相同阶数。例如在一些实施例中,一些多项式可以是二阶多项式,一些可以是三阶多项式,以及一些可以是四阶多项式。
在图9A所示的示例中,车道900的左侧910通过两组三阶多项式来表示。第一组包括多项式段911、912和913。第二组包括多项式段914、915和916。两个编组虽然基本上相互平行,但是跟随道路的相应侧的位置。多项式段911、912、913、914、915和916具有大约100米的长度,并且重叠系列中的相邻段大约50米。但是,如先前所述,也可使用不同长度和不同重叠量的多项式。例如,多项式可具有500m、1km或以上的长度,以及重叠量可从0至50m、50m至100m或者大于100m改变。另外,虽然图9A示为表示在2D空间(例如在纸张表面)延伸的多项式,但是要理解,这些多项式可表示在三维(例如包括高度分量)延伸的曲线,以除了X-Y曲率之外还表示路段的高程变化。在图9A所示的示例中,车道900的右侧920进一步通过具有多项式段921、922和923的第一组以及具有多项式段924、925和926的第二组来表示。
回到稀疏地图800的目标轨迹,图9B示出表示沿特定路段行驶的交通工具的目标轨迹的三维多项式。目标轨迹不仅表示主交通工具应当沿特定路段行驶的X-Y路径,而且还表示主交通工具在沿该路段行驶时将遇到的高程变化。因此,稀疏地图800中的每个目标轨迹可通过一个或多个三维多项式(例如图9B所示的三维多项式950)来表示。稀疏地图800可包括多个轨迹(例如数百万或数十亿或以上,以表示交通工具沿全世界的道路的各种路段的轨迹)。在一些实施例中,每个目标轨迹可对应于连接三维多项式段的样条。
关于稀疏地图800中存储的多项式的数据占用面积,在一些实施例中,每个三次多项式可通过各自要求四字节数据的四个参数来表示。可采用对每100m要求大约192字节的数据的三次多项式来获得适当表示。这可转化成对于大约以100km/hr行驶的主交通工具的数据使用/传输要求中的大致每小时200kB。
稀疏地图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的数据密度影响甚至在每50m大约1个的较高路标密度下也可为大约每公里760字节(例如每公里20个路标×每路标38个字节=760个字节)。甚至对于包括图像签名分量的通用标志,数据密度影响也为大约每公里1.72kB(每公里20个路标×每路标86个字节=1720个字节)。对于语义道路标志,这相当于对于以100km/hr行驶的交通工具的大约每小时76kB的数据使用。对于通用标志,这相当于对于以100km/hr行驶的交通工具的大约每小时170kB。应注意,在一些环境(例如,城市环境)中,可存在可用于包括在稀疏地图中的高得多的检测对象密度(可能每米多于一个)。在一些实施例中,一般矩形的对象(例如矩形标志)可在稀疏地图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米)具有充分精度,使得计划轨迹与车道中心将不会偏离超过例如30cm。
如上所述,可通过检测短程部分并且将它们拼接在一起,来构建三维道路模型。可通过使用摄像机所捕获的视频和/或图像、来自反映交通工具的运动的惯性传感器的数据以及主交通工具速度信号计算六度自我运动模型,来实现拼接。累积误差对某个本地范围标度可以足够小,例如大约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各自可具有来自小于1km的驾驶的摄像机数据和位置数据。
在一些实施例中,系统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示出按照所公开的实施例的用于向一个或多个交通工具提供一个或多个地图段的示例性系统。如图27中所示,系统2700可以包括服务器2701、一个或多个交通工具2702和与交通工具相关联的一个或多个交通工具装置2703、数据库2704、网络2705以及与可安装在交通工具上的一个或多个图像捕获装置相关联的处理单元2706。服务器2701可以配置为基于从一个或多个交通工具(和/或与交通工具相关联的一个或多个交通工具装置)接收的导航信息向一个或多个交通工具提供一个或多个地图段。例如,处理单元2706和/或交通工具装置2703可以配置为收集导航信息,并且向服务器2701传送导航信息。服务器2701可以基于接收的导航信息向处理单元2706和/或交通工具装置2703发送包括地理区域的地图信息的一个或多个地图段。数据库2704可以配置成存储系统2700的组件(例如,服务器2701、交通工具装置2703、和/或处理单元2706)的信息。网络2705可配置成促进系统2700的组件之间的通信。
服务器2701可以配置为从交通工具装置2703和/或处理单元2706接收导航信息。在一些实施例中,导航信息可以包括交通工具2702的位置、交通工具2702的速度和交通工具2702的行驶方向。服务器2701还可以配置为分析接收的导航信息,并确定交通工具2702的潜在行驶包络。交通工具的潜在行驶包络可以是围绕交通工具的区域。例如,交通工具的潜在行驶包络可以包括覆盖以下的区域:在交通工具的驾驶方向上距交通工具的第一预定距离、在与交通工具的驾驶方向相反的方向上距交通工具的第二预定距离、在交通工具的左边距交通工具的第三预定距离以及在交通工具的右边距交通工具的第四预定距离。在一些实施例中,在交通工具的驾驶方向上距交通工具的第一预定距离可以包括交通工具前方的预定距离,该距离可以构成交通工具的电子地平线。在一些实施例中,交通工具的潜在行驶包络可以包括一个或多个距离(一个、两个、三个、…、n个)或者在交通工具的相对于其当前位置的一个或多个(或所有)可能驾驶方向上距交通工具的距离的任何等效(例如,给定速度参数的某个时间段等)。在一些实施例中,交通工具的潜在行驶包络可包括在交通工具的相对于其当前位置的一个或多个(或所有)可能驾驶方向上并且在其中交通工具可能相对于其当前位置驾驶的方向(例如,如果交通工具能够在相对于其当前位置的那个行驶方向上驾驶,则驾驶方向可以包括在交通工具的潜在行驶包络中)上距交通工具的一个或多个距离(一个、两个、三个、…、n个)。例如,在其中交通工具可能能够进行掉头(U-turn)的道路上,除了在至少前进方向上的预定距离外,交通工具的潜在行驶包络还可以还包括在相反方向上距交通工具的预定距离,因为交通工具可能执行掉头并且可能在(通常)与其当前运动方向相反的方向上导航。作为另一个示例,如果在当前位置不可能以相反方向行驶(例如,存在物理障碍),并且在当前位置之前的某个距离不可能掉头,则强效的(potent)行驶包络可能不包括相反方向上的距离。因此,如果交通工具的潜在行驶包络为例如1000米,并且有在交通工具的当前位置前方800米处开始的掉头,则潜在行驶包络可以包括交通工具的当前行驶方向上1000米以及从交通工具的当前位置(在其行驶方向上)前方800米开始的反向(掉头后)行驶方向上200米的距离。类似地,如果在远离当前位置350米处开始的掉头是可能的,并且潜在行驶包络包括500米的距离,则潜在行驶包络可以包括交通工具的当前行驶方向上500米以及从交通工具的当前位置(在其行驶方向上)前方350米处开始的反向(掉头后)行驶方向上150米的距离。可能在潜在行驶包络内在不同(可能)方向上多个掉头是可能的,并且对于每个此类掉头,掉头后的行驶方向上的距离可以被包括在潜在行驶包络内。与现实世界中的实际地平线类似,电子地平线可以与某个时间参数,例如时间窗口(30秒、1分钟、3分钟、15分钟、1小时、2小时等)内交通工具的潜在行驶距离相关,并且基于速度参数,例如基于当前速度、估计速度、包含在主交通工具的潜在行驶包络中的相关路段的典型速度和当前行驶方向。服务器2701可以进一步配置为向交通工具装置2703和/或处理单元2706发送一个或多个地图段,其包括与交通工具2702的潜在行驶包络至少部分重叠的地理区域的地图信息。
在一些实施例中,服务器2701可以是执行本文公开的功能的云服务器。术语“云服务器”是指经由诸如因特网的网络提供服务的计算机平台。在该示例配置中,服务器2701可以使用可不对应于单个硬件的虚拟机。例如,计算和/或存储能力可通过从诸如数据中心或分布式计算环境之类的可缩放存储库分配期望的计算/存储能力的适当部分来实现。在一个示例中,服务器2701可以使用定制的硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件、和/或程序逻辑来实现本文描述的方法,所述定制的硬连线逻辑、一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)、固件、和/或程序逻辑连同计算机系统使服务器2701成为专用机器。
处理单元2706和/或交通工具装置2703可以配置为收集导航信息并将导航信息传送给服务器2701。例如,处理单元2706和/或交通工具装置2703可以配置为从一个或多个传感器接收数据并基于接收的数据确定导航信息,例如交通工具的位置、速度和/或驾驶方向。在一些实施例中,导航信息可以包括从与交通工具2702相关联的一个或多个传感器(例如,从GPS装置、速度传感器、加速计、悬架传感器、摄像机、激光雷达装置、视觉检测和测距(VIDAR)装置等或其组合)接收的传感器数据。处理单元2706和/或交通工具装置2703还可以配置为经由例如网络2705将导航信息传送给服务器2701。备选地或者额外地,处理单元2706和/或交通工具装置2703可以配置为将传感器数据传送给服务器2701。处理单元2706和/或交通工具装置2703还可以配置为经由例如网络2705从服务器2701接收地图信息。在一个示例中,处理单元2706与服务器2701通信以获得地图信息,并且之后将相关地图信息传递给交通工具装置2703。地图信息可以包括与各种项目的在参考坐标系中的位置相关的数据,所述项目例如包括道路、水特征、地理特征、企业、兴趣点、餐馆、加油站、包括某些道路特征(例如车道标记)的多项式表示的稀疏数据模型、主交通工具的目标轨迹等、或者其组合。在一些实施例中,处理单元2706和/或交通工具装置2703可以配置为根据地图信息规划寻路(routing)路径和/或导航交通工具2702。例如,处理单元2706和/或交通工具装置2703可以配置为基于地图信息确定到目的地的路线。备选地或额外地,处理单元2706和/或交通工具装置2703可以配置为基于接收的地图信息确定至少一个导航动作(例如,转弯、停在位置处等)。在一些实施例中,处理单元2706可以包括具有与上述处理单元110类似配置和/或执行类似功能的装置。备选地或额外地,交通工具装置2703可以控制节流系统220、制动系统230或转向系统240中的至少一个或与之通信。
数据库2704可以包括被配置成为系统2700的组件(例如,服务器2701、处理单元2706和/或交通工具装置2703)存储地图数据的地图数据库。在一些实施例中,服务器2701、处理单元2706和/或交通工具装置2703可以被配置成访问数据库2704,并且经由网络2705从数据库2704获得存储的数据和/或将数据上载到数据库2704。例如,服务器2701可以将与地图信息相关的数据传送到数据库2704供存储。处理单元2706和/或交通工具装置2703可以从数据库2704下载地图信息和/或数据。在一些实施例中,数据库2704可以包括与各种项目的在参考坐标系中的位置相关的数据,所述项目包括道路、水特征、地理特征、企业、兴趣点、餐馆、加油站等、或其组合。在一些实施例中,数据库2704可以包括类似于在本公开中的其它地方描述的地图数据库160的数据库。
网络2705可以是任何类型的网络(包括基础设施),其提供通信、交换信息和/或促进系统2700的组件之间的信息的交换。例如,网络2705可以包括因特网、局域网、无线网络(例如Wi-Fi/302.11网络)或其它合适的连接,或是其一部分。在其它实施例中,系统2700的一个或多个组件可以通过诸如例如以下的专用通信链路直接通信:电话网络、外联网、内联网、因特网、卫星通信、离线通信、无线通信、转发器通信、局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)等。
如在本公开中的其它地方所述,处理单元2706可以经由网络2705将与交通工具2702相关联的导航信息传送给服务器2701。服务器2701可以分析从处理单元2706接收的导航信息,并基于对导航信息的分析确定交通工具2702的潜在行驶包络。潜在行驶包络可以包含交通工具2702的位置。在一些实施例中,潜在行驶包络可以呈现任何形状(任意形状),并由相对于交通工具的当前位置和交通工具的当前行驶方向的任何可能驾驶方向上两点之间的距离确定。在一些实施例中,潜在行驶包络可以包括边界。潜在行驶包络的边界可以具有例如包括以下的形状:三角形形状、四边形形状、平行四边形形状、矩形形状、正方形(或基本正方形)形状、梯形形状、菱形形状、六边形形状、八角形形状、圆形(或基本圆形)形状、椭圆形形状、蛋形形状、不规则形状等、或其组合。图28A-28D示出根据所公开的实施例的在区域2800中交通工具的示例性潜在行驶包络。如图28A中所示,服务器2701可以为交通工具2702确定具有边界2811的潜在行驶包络,该边界2811可以包括梯形形状。作为另一个示例,如图28B中所示,服务器2701可以为交通工具2702确定具有边界2812的潜在行驶包络,该边界2812可以包括椭圆形形状。作为另一个示例,如图28C中所示,服务器2701可以为交通工具2702确定具有边界2813的潜在行驶包络,该边界2813可以包括三角形形状。作为另一个示例,如图28D中所示,服务器2701可以为交通工具2702确定具有边界2814的潜在行驶包络,该边界2814可以包括矩形形状。备选地或者额外地,潜在行驶包络的形状可以具有由从交通工具的位置(例如,当前位置)开始的、交通工具可以在上面行驶的一个或多个潜在路径而确定的边界。本领域技术人员将理解,潜在行驶包络的形状不限于本公开中所述的示例性形状。其它形状也是可能的。例如,潜在行驶包络可以与非距离相关约束(例如国家、州、县、城市和/或道路)和道路终点约束相关联。潜在行驶包络能够包括不规则形状,例如以适应此类非距离相关约束和/或本文所述的任何形状的一部分。
如本公开中的其它地方所述,服务器2701还可以配置为向处理单元2706传送一个或多个地图段,其包括与交通工具的潜在行驶包络至少部分重叠的地理区域的地图信息。在一些实施例中,发送给处理单元2706和/或交通工具装置2703的一个或多个地图段可以包括表示预定维度的区域的一个或多个图块。图块的大小和/或形状可以变化。在一些实施例中,区域中图块的维度可以在0.25到100平方公里的范围内,该范围可以被限制在0.25平方公里到1平方公里、1平方公里到10平方公里、和10到25平方公里、25到50平方公里和50到100平方公里的子范围内。在一些实施例中,(一个或多个)图块的预定维度可以小于或等于10平方公里。备选地,(一个或多个)图块的预定维度可以小于或等于1平方公里。备选地,(一个或多个)图块的预定维度可以小于或等于10平方公里。备选地或额外地,图块的大小可以基于图块所在的区域的类型而变化。例如,农村区域或具有更少道路的区域中图块的大小可以大于城市区域或具有更多道路的区域中图块的大小。在一些实施例中,图块的大小可以基于交通工具的当前位置(或其中数据被获取的位置)周围的信息的密度、交通工具的可能路径、区域中可能路线的数量、区域中路线的类型(例如,主要、城市、农村、泥土等)以及一般导航模式和/或相关区域中的趋势来确定。例如,如果大百分比的交通工具通常停留在特定区域或地区的主要道路上,则可以检索沿旁侧道路的小距离的地图信息。如果交通工具实际导航到通常较少行驶的旁侧道路上,则该旁侧道路(例如,沿该旁侧道路的更大距离)的更多地图信息可以被获取和/或传送给交通工具。在一些实施例中,图块可以具有矩形形状、方形形状、六边形形状等、或其组合。本领域技术人员将理解,图块的形状不限于本公开中所述的形状。例如,图块可以包括(例如,至少根据约束和管辖区(州、县、市或镇)或其它区域(例如街道、公路)的边界确定的)不规则形状。备选地或额外地,图块可以包括本文公开的任何形状的一部分。
图28E-28H示出根据所公开的实施例的用于交通工具的潜在行驶包络的示例性地图图块。如图28E-28H中所示,服务器2701可以将区域2800(或者更小或更大的区域)划分为多个图块2811。服务器2701还可以配置为确定与交通工具2702的潜在行驶包络至少部分重叠的一个或多个图块。例如,如图28E中所示,服务器2701可以确定具有图块的区域2831,所述图块与交通工具2702的潜在行驶包络的边界2821相交或在其内。作为另一个示例,如图28F中所示,服务器2701可以确定具有图块的区域2832,所述图块与交通工具2702的潜在行驶包络的边界2822相交或在其内。作为另一个示例,如图28G中所示,服务器2701可以确定具有图块的区域2833,所述图块与交通工具2702的潜在行驶包络的边界2823相交或在其内。作为另一个示例,如图28H中所示,服务器2701可以确定具有图块的区域2834,所述图块与交通工具2702的潜在行驶包络的边界2824相交或在其内。在一些实施例中,服务器2701可以将与所确定区域中的一个或多个路段相关的地图信息和/或数据传送给交通工具2702。
图29A和29B示出根据所公开的实施例的示例性地图图块。如图29A中所示,可以将区域(或地图)划分为在不同级别的多个图块。例如,在一些实施例中,区域可以划分为在级别1的多个图块,每个图块可以划分为在级别2的多个图块。在级别2的每个图块可以划分为在级别3的多个图块,依此类推。图29B示出区域中的多个图块。备选地或者额外地,区域或国家可以基于管辖区(例如州、县、市、镇)和/或其它区域(例如街道、公路)划分为多个图块。在一些实施例中,图块的维度可以变化。例如,如图29A和29B中所示,区域(或地图)可以划分为不同级别,并且在特定级别的图块可以具有特定维度。
在一些实施例中,图块可以在数据片(blob)中呈现,该数据片可以包括元数据块(例如64字节)、签名块(例如256字节)和编码的地图数据块(例如MapBox格式中的各种大小)。
在一些实施例中,服务器2701可以检索与区域中的一个或多个图块相关的数据,并经由例如网络2705将数据传送给处理单元2706。
备选地或额外地,处理单元2706可以从存储装置检索与一个或多个图块相关的数据。例如,处理单元2706可以从服务器2701接收一个或多个路段,如本公开中的其它地方所述。处理单元2706还可以将接收的一个或多个路段存储到本地存储中,并将包括在一个或多个路段中的一个或多个图块加载到存储器中以进行处理。备选地,不是从服务器2701接收一个或多个路段,处理单元2706可以与配置为存储一个或多个路段的本地存储通信并从本地存储检索与一个或多个路段相关的数据。
在一些实施例中,处理单元2706可以基于交通工具的位置检索与一个或多个图块相关的数据(例如,地图信息)。例如,处理单元2706可以确定交通工具的当前位置(如本公开中的其它地方所述),并确定当前位置停留其中的第一图块。处理单元2706还可以检索第一图块和与第一图块相邻的一个或多个(或所有)图块。备选地或额外地,处理单元2706可以检索距第一图块预定距离内的一个或多个(或所有)图块。备选地或额外地,处理单元2706可以检索与第一图块的预定分离度内的一个或多个(或所有)图块(例如,在第二分离度内的一个或多个(或所有)图块);即,与第一图块相邻或者与相邻于第一图块的图块相邻的一个或多个(或所有)图块)。当交通工具2702移动到第二图块时,处理单元2706可以检索第二图块。处理单元2706还可以检索第一图块和与第二图块相邻的一个或多个(或所有)图块。备选地或额外地,处理单元2706可以检索距第二图块预定距离内的一个或多个(或所有)图块。备选地或额外地,处理单元2706可以检索与第二图块的预定分离度内的一个或多个(或所有)图块(例如,在第二分离度内的一个或多个(或所有)图块;即,与第二图块相邻或与相邻于第二图块的图块相邻的一个或多个(或所有)图块)。在一些实施例中,处理单元2706还可以删除(或覆写)第一图块和/或先前检索的与第二图块不相邻的图块。备选地或额外地,处理单元2706可以删除(或覆写)一个或多个先前检索的不在距第二图块预定距离内的图块。备选地或额外地,处理单元2706可以删除(或覆写)一个或多个(或所有)先前检索的不在与第二图块的预定分离度内的图块。
图30示出用于检索一个或多个图块的示例性过程。如图30中所示,处理单元2706(和/或服务器2701)可配置为确定在时间点1交通工具2702的位置在图块5中。处理单元2706还可配置为检索(或加载)相邻的图块1-4和6-9。在时间点2,处理单元2706(和/或服务器2701)可以配置为确定交通工具2702的位置从图块5移动到图块3。处理单元2706可以配置为检索(或加载)与图块3相邻的新图块10-14。处理单元2706还可以配置为保留图块2、3、5和6,并删除图块1、4和7-9。如此,处理单元2706可以一次检索(或加载)图块的子集(例如,9个图块),以减少存储器使用和/或计算负载。在一些实施例中,处理单元2706可以配置为在将数据加载到存储器中之前将图块解码。
备选地或额外地,处理单元2706可以确定图块的其位置落入图块内的子部分,并加载与该子部分相邻的图块。例如,如图31A中所示,处理单元2706可以确定交通工具2702的位置在子图块(在块5中具有点图案的子块)中,并将与该子图块相邻的图块(即,图块4、7和9)的地图数据加载到存储器中进行处理。作为另一个示例,如图31B中所示,处理单元2706可以确定交通工具2702的位置在图块5的左上角子图块中。处理单元2706还可以加载与图块5的左上角子图块相邻的图块(即,图块1、2和4)。如此,处理单元2706可以一次检索(或加载)图块的子集(例如,4个图块),以减少存储器使用和/或计算负载。作为另一个示例,如图31C中所示,处理单元2706可以确定交通工具2702的位置在右上角子图块中,并将与该子图块相邻的图块(即,图块2、3和6)的地图数据加载到存储器中进行处理。作为另一个示例,如图31D中所示,处理单元2706可以确定交通工具2702的位置在右下角子图块中,并将与该子图块相邻的图块(即,图块6、8和9)的地图数据加载到存储器中进行处理。在一些实施例中,处理单元2706可以配置为在将数据加载到存储器中之前将图块解码。
图32是示出根据所公开的实施例的用于向一个或多个交通工具提供一个或多个地图段的示例性过程的流程图。过程3200的一个或多个步骤可以由处理装置(例如,处理单元2706)、与主交通工具相关联的装置(例如,交通工具装置2703)和/或服务器(例如,服务器2701)执行。虽然下面提供的过程3200的描述使用服务器2701作为示例,但本领域技术人员将领会,过程3200的一个或多个步骤可以由处理装置(例如,处理单元2706)和交通工具装置(例如,交通工具装置2703)执行。例如,处理单元2706可以基于导航信息确定潜在行驶包络。作为从服务器2701接收地图数据的补充或替代,处理单元2706可以从本地存储检索与潜在行驶包络相关的地图数据的部分,并将检索的数据加载到存储器中进行处理。
在步骤3201,可以从交通工具接收导航信息。例如,服务器2701可以经由例如网络2705从处理单元2706接收导航信息。在一些实施例中,从处理单元2706接收的导航信息可以包括交通工具的位置的指示符、交通工具的速度的指示符和交通工具的行驶方向的指示符。例如,处理单元2706可以配置为从交通工具装置2703或直接从一个或多个传感器接收数据,所述传感器包括例如GPS装置、速度传感器、加速计、悬架传感器等、或其组合。处理单元2706还可以配置为基于接收的数据确定导航信息,例如交通工具的位置、速度和/或驾驶方向。处理单元2706还可以配置为经由例如网络2705将导航信息传送给服务器2701。备选地或额外地,处理单元2706可以配置为将传感器数据传送给服务器2701。服务器2701可以配置为基于接收的传感器数据确定导航信息,其可以包括交通工具2702的位置、交通工具2702的速度和/或交通工具2702的行驶方向。
在一些实施例中,处理单元2706可以连续地向服务器2701传送导航信息(和/或传感器数据)。备选地,处理单元2706可以间歇性地将导航信息(和/或传感器数据)传送给服务器2701。例如,处理单元2706可以在一段时间内多次向服务器2701传送导航信息(和/或传感器数据)。通过示例方式,处理单元2706可以每分钟一次地向服务器2701传送导航信息(和/或传感器数据)。备选地,处理单元2706可以在其具有对更可靠和/或更快的网络(例如,具有更强无线信号、经由WIFI连接等)的访问时传送导航信息。
在步骤3202,可以分析接收的导航信息,并可以确定交通工具的潜在行驶包络。例如,服务器2701可以分析交通工具2702的位置、速度和/或驾驶方向,并确定潜在行驶包络,该潜在行驶包络可以包括相对于交通工具2702的确定的区域。通过示例方式,如图28A中所示,服务器2701可以确定包含交通工具2702的位置的区域,并基于确定的区域确定具有边界2811的潜在行驶包络。
在一些实施例中,服务器2701可以配置为确定从交通工具2702的位置延伸并围绕交通工具2702的位置的潜在行驶包络。例如,如图28A中所示,服务器2701可以确定穿过交通工具2702的位置(或交通工具2702的质心)的线2802。服务器2701还可以配置为确定潜在行驶包络的边界在交通工具2702的行驶方向上的一侧,并确定潜在行驶包络的边界在与行驶方向相反的方向上的另一侧。通过示例方式,服务器2701可以确定潜在行驶包络在交通工具2702的行驶方向上的上边界,并确定潜在行驶包络在与交通工具2702的行驶方向相反的方向上的下边界。在一些实施例中,潜在行驶包络可以进一步沿交通工具的行驶方向而不是在与交通工具的行驶方向相反的方向上延伸。例如,如图28A中所示,潜在行驶包络的上边界可以具有距线2802的距离2803(或距交通工具2702的位置的第一距离),并且潜在行驶包络的下边界具有距线2802的距离2804(或距交通工具2702的位置的第二距离)。距离2803可以大于距离2804(和/或第一距离可以大于第二距离)。在一些实施例中,边界的质心的位置可以沿交通工具2702的行驶方向从交通工具2702的位置偏移。
备选地或额外地,在确定交通工具2702的潜在行驶包络时,服务器2701可以考虑一段时间(或时间窗口)内的潜在行驶距离。例如,服务器2701可以确定在预定时间量内的潜在行驶距离,并确定包括该潜在行驶距离的潜在行驶包络。在一些实施例中,预定时间量内的潜在行驶距离可以基于交通工具2702的位置和/或交通工具2702的速度确定。在一些实施例中,服务器2701可以进一步基于选择的或预定的时间窗口确定潜在行驶包络。时间窗口可以基于交通工具的速度的指示符选择或确定。预定时间量(或时间窗口)可以在0.1秒到24小时的范围内。在一些实施例中,可以将预定时间量(或时间窗口)限制在0.1秒到1秒、1秒到5秒、5到10秒、7.5到50秒、15到60秒、1分钟到5分钟、5到10分钟、10到60分钟、1小时到5小时、5到10小时和10到24小时的子范围内。在一些实施例中,预定时间量(或时间窗口)可以基于导航信息从交通工具2702到服务器2701的传输频率确定。例如,服务器2701可以基于来自交通工具2702的导航信息的两个传输之间的间隔来确定预定时间量(或时间窗口)。服务器2701可以确定更长时间段,用于确定更长传输间隔的潜在行驶距离。
在一些实施例中,潜在行驶包络可以包括边界。潜在行驶包络的边界可以具有例如包括以下的形状:三角形形状、四边形形状、平行四边形形状、矩形形状、正方形(或基本正方形)形状、梯形形状、菱形形状、六边形形状、八角形形状、圆形(或基本圆形)形状、椭圆形形状、蛋形形状、不规则形形状等、或其组合。图28A-28D示出根据所公开的实施例的区域2800中交通工具的示例性潜在行驶包络。如图28A中所示,服务器2701可以为交通工具2702确定具有边界2811的潜在行驶包络,该边界2811可以包括梯形形状。作为另一个示例,如图28B中所示,服务器2701可以为交通工具2702确定具有边界2812的潜在行驶包络,该边界2812可以包括椭圆形形状。作为另一个示例,如图28中所示,服务器2701可以为交通工具2702确定具有边界2813的潜在行驶包络,该边界2813可以包括三角形形状。作为另一个示例,如图28中所示,服务器2701可以为交通工具2702确定具有边界2814的潜在行驶包络,该边界2814可以包括矩形形状。
在其它实施例中,处理单元2706(和/或交通工具装置2703)可以基于导航信息确定潜在行驶包络。
在步骤3203,可以向交通工具2702发送一个或多个地图段。在一些实施例中,(一个或多个)地图段可以包括与交通工具2702的潜在行驶包络至少部分重叠的地理区域的地图信息。例如,服务器2701可以经由网络2705向处理单元2706发送一个或多个地图段,该地图段包括与交通工具2702的潜在行驶包络至少部分重叠的地理区域的地图数据。
在一些实施例中,一个或多个地图段包括表示预定维度的区域的一个或多个图块。例如,如图28E中所示,服务器2701可以确定与交通工具2702的潜在行驶包络(即,具有边界2821的潜在行驶包络)至少部分重叠的一个或多个图块2831,并经由网络2705将与图块2831相关的地图数据传送给交通工具2702。
在一些实施例中,发送给处理单元2706的图块的维度可以变化。例如,如图29A和29B中所示,区域(或地图)可以划分为不同的级别,并且在特定级别的图块可以具有特定维度。在一些实施例中,发送给处理单元2706的(一个或多个)图块的预定维度可以在0.25到100平方公里的范围内,该范围可以被限制在0.25平方公里到1平方公里、1平方公里到10平方公里、和10到25平方公里、25到50平方公里和50到100平方公里的子范围内。在一些实施例中,(一个或多个)图块的预定维度可以小于或等于10平方公里。备选地,(一个或多个)图块的预定维度可以小于或等于1平方公里。备选地,(一个或多个)图块的预定维度可以小于或等于10平方公里。在一些实施例中,图块可以具有矩形形状、方形形状、六边形形状等、或其组合。
在一些实施例中,发送给处理单元2706的地图信息可以包括沿一个或多个路段的目标轨迹的多项式表示,如本公开中的其它地方所述。例如,地图信息可以包括根据在图9A、图9B和图11A中所示的所公开实施例的路段的一部分的多项式表示。例如,地图信息可以包括目标轨迹的多项式表示,该目标轨迹基于交通工具沿一个或多个路段的先前穿过的两个或更多重构轨迹来确定。
在一些实施例中,在接收一个或多个路段后,处理单元2706和/或交通工具装置2703可以根据一个或多个路段导航交通工具2702,如本公开中的其它地方所述。例如,交通工具2702可配置为基于接收的一个或多个路段执行一个或多个导航动作(例如转弯、停在位置处等)。备选地或额外地,交通工具2702可配置为基于沿一个或多个路段的目标轨迹的多项式表示来执行一个或多个导航动作。
在一些实施例中,处理单元2706可以接收一个或多个路段,并将一个或多个路段存储到存储装置中。处理单元2706还可以将包括在一个或多个路段中的一个或多个图块加载到存储器中进行处理。例如,如图30中所示,处理单元2706(和/或服务器2701)可以配置为确定在时间点1交通工具2702的位置在图块5中。处理单元2706还可以配置为检索(或加载)相邻的图块1-4和6-9。在时间点2,处理单元2706(和/或服务器2701)可以配置为确定交通工具2702的位置从图块5移动到图块3。处理单元2706可以配置为检索(或加载)与图块3相邻的新图块10-14。交通工具2702还可以配置为保留图块2、3、5和6,并删除图块1、4和7-9。
备选地或者额外地,处理单元2706可以确定图块的其位置落入图块内的子部分,并加载与该子部分相邻的图块。通过示例方式,如图31A中所示,处理单元2706可以确定交通工具2702的位置在子图块(在图块5中具有点图案的子图块)中,并将与该子图块相邻的图块(即,图块4、7和9)的地图数据加载到存储器中进行处理。作为另一个示例,如图31B中所示,处理单元2706可以确定交通工具2702的位置在图块5的左上角子图块中。处理单元2706还可以加载与图块5的左上角子图块相邻的图块(即,图块1、2和4)。在一些实施例中,处理单元2706可以配置为在将数据加载到存储器中之前将图块解码。
在一些实施例中,不是通过网络2705从服务器2701接收一个或多个路段,处理单元2706可以从本地存储检索一个或多个路段。例如,处理单元2706可以基于对导航信息的分析确定潜在行驶包络,并确定一个或多个路段,该路段包括与交通工具2702的潜在行驶包络至少部分重叠的地理区域的地图信息。处理单元2706还可以从本地存储中检索一个或多个路段的数据。在一些实施例中,处理单元2706可以将一个或多个路段的数据加载到其存储器中进行处理。
电子地平线:车道信息
根据本公开,所公开的系统为交通工具提供给每个特定交通工具定制的相关信息。例如,服务器2701可以确定与交通工具2702的潜在行驶包络至少部分重叠的一个或多个图块2831,但是作为向处理单元2706传送与图块2831相关的地图数据的替代(或补充),服务器2701可以传送相关车道信息。备选地,如上所述,服务器2701可以检索与区域中的一个或多个图块相关的数据,并经由例如网络2705将地图数据传送给处理单元2706。此后,处理单元2706可以从接收的地图数据确定给每个特定交通工具定制的相关车道信息,并将相关车道信息递送给交通工具装置2703。相关车道信息可以包括关于交通工具2702沿其驾驶路径可能遇到的对象(例如,样条、道路几何形状、道路结构和特征等)的细节。在一个实施例中,相关信息可以基于特定交通工具的位置和/或行驶方向确定。例如,处理单元2706(或服务器2701)可以从可用车道中确定交通工具2702当前处于哪个车道(即自我车道),并将与那个车道相关联的信息传递给交通工具装置2703。处理单元2706(或服务器2701)还可以确定并向交通工具装置2703递送沿表示车道中目标行驶路径的样条的位置。相关信息可以以定制的方式递送。例如,不同的交通工具制造商可能要求向其交通工具递送不同的数据。此外,递送给交通工具装置2703的相关信息可以被划分为子段,供更容易的删除和管理。在另一个实施例中,处理单元2706(或服务器2701)可以在向交通工具装置2703传送数据时使用动态数据字段(例如,动态报头)。动态数据字段可以包括给交通工具2702的相关地图信息和/或相关车道信息。具体来说,提供给交通工具装置2703的相关信息可以在驾驶会话期间基于遇到的场景动态地变化。为了解决相关信息的改变,处理单元2706(或服务器2701)可以在发送给交通工具装置2703的数据分组中使用动态数据字段。动态数据字段可以允许处理单元2706(或服务器2701)使包括在传送的数据分组中的信息以使交通工具装置2703能够知道正在发送什么、它在该分组中位于何处、多长等的方式变化。
现在返回到图32,在步骤3204,可以向交通工具装置2703提供车道信息。在一些实施例中,车道信息可以特定于包括在交通工具2702的潜在行驶包络内的一个或多个道路。例如,处理单元2706(或服务器2701)可以为包括在交通工具2702的潜在行驶包络内的道路提供车道信息。根据一些实施例,不是使交通工具装置2703基于存储在本地存储器中的数据计算和确定车道信息,交通工具装置2703可以从处理单元2706(或服务器2701)接收相关车道信息。例如,服务器2701可以基于对导航信息的分析来确定潜在行驶包络,并且处理单元2706可以在与交通工具2702的潜在行驶包络至少部分重叠的地理区域内包括的道路的任何部分中确定可以包括车道的分配和/或描述的车道信息。从处理单元2706(或服务器2701)接收相关车道信息可以使交通工具装置2703免于接收和存储一个或多个地图段的大量数据,以及免于处理数据以确定相关车道信息。此外,由处理单元2706确定的车道信息可以比由交通工具装置2703在本地确定的任何车道信息更准确。
在本公开的第一方面中,车道信息可以包括与交通工具2702相关的车道分配信息。根据本公开,车道分配信息可以包括交通工具2702前方确定距离内的车道的描述。确定距离可以在1米和5公里的范围内。在一些实施例中,可以将该距离限制在任何子范围内,例如1到50米、5到500米、10到200米、10到750米、5米到1公里、50米到2公里、100米到2.5公里以及更多。该距离也可以从如上参考与“使用电子地平线的地图管理”相关的部分所述的时间参数和速度参数中得出。具体来说,车道信息可以包括在道路的交通工具2702当前驾驶的部分中的车道的列表以及关于哪个车道是自我车道的指示。每个车道可以包括右相邻车道的列表、左相邻车道的列表和继任者(successor)的列表。每个车道还可以包括关于它是交通工具2702的驾驶方向的方向上的车道还是即将到来的车道的布尔指示。例如,车道分配信息可以包括关于与交通工具2702相关联的自我车道以及在自我车道的右边和/或左边的一个或两个相邻车道的细节。在一个实施例中,系统的输出可以是可配置的,使得对其提供分配信息的车道的数量可以变化。在一些实施例中,可以使用车道的更详细指定(两位、字节等)来适应多个可能方向上的车道(例如,从十字路口分流的车道、多个可能掉头等)的指定。
在本公开的第二方面中,车道信息可以包括交通工具2702的潜在行驶包络内包括的道路的任何部分中车道的描述。根据本公开,车道的描述可以包括以下中的至少一个:交通工具2702在自我车道中的位置、驾驶路径轮廓(例如,自我车道中的建议驾驶路径轮廓(垂直、纵向或两者))、停止点(例如,自我车道上的存在在地图上标记但物理上不明显的虚拟停止线或停止线的点。在某些情况下,虚拟停止线可以基于与交通工具在特定位置处的典型停止位置有关的众包信息创建)、车道标记点(例如,自我车道上的车道标记例如从虚线变为实线的点)、车道拓扑(例如,车道之间的关系)以及更多。在一个实施例中,车道的描述可以包括交通工具2702前方车道的描述。例如,车道的描述可以包括车道以及它们之间拓扑关系(即连接性)的列表。具体来说,每条车道可能有继任者、前任(predecessor)和邻居。在车道分开(split)的情况下一个车道有多于一个继任者,并且在车道合并的情况下一个车道有多于一个前任。车道信息的供应可以使交通工具装置2703能够自主地导航交通工具2702或监督人类驾驶员作出的决定,并在驾驶员做出错误判断和/或危险决定(例如,可能违反安全政策或驾驶政策(诸如以色列耶路撒冷Mobileye Vision Technology Ltd开发的RSS)的决定)的情况下潜在地干预。例如,在启动车道改变操纵、停留在车道边界内以及更多时,交通工具的与交通工具装置2703相关联的导航系统可以使用车道的描述(和车道分配信息)来控制交通工具2702的驾驶路径。在另一个实施例中,车道的描述还可以帮助交通工具装置2703相对于检测的目标交通工具进行导航。例如,交通工具装置2703可能能够基于相邻或相交车道的映射和采样的可驾驶路径来确定或预测一个或多个目标交通工具将行驶的路径。当交通工具装置2703正在收集与道路分段相关的信息(例如,自动确定和报告由交通工具2702、目标交通工具等在某个车道内行驶的平均速度)时,车道信息也可以是有用的。
在一些实施例中,车道信息可以包括车道分配信息和交通工具2702在确定的时间窗口期间可访问的道路中车道的描述。例如,时间窗口可以基于交通工具的速度的指示符来选择或确定。确定的时间窗口可以在0.1秒到24小时的范围内。在一些实施例中,时间窗口可以被限制在0.1秒到1秒、1秒到5秒、5到10秒、7.5到50秒、15到60秒、1分钟到5分钟、5到10分钟、10到60分钟、1小时到5小时、5到10小时和10到24小时的子范围内。如上所提及的,时间窗口可以基于导航信息从交通工具2702和服务器2701的传输频率来确定。
服务器2701和交通工具装置2703之间的通信和/或处理单元2706和交通工具装置2703之间的通信可以由专用通信协议管控。在一些情况下,通信协议可以是单向协议,使得数据可以从处理单元2706(或服务器2701)发送给交通工具装置2703。单向通信协议中的消息可以包括至少两个部分:用于描述消息中包括的对象的动态数据字段(例如,动态报头)以及有效载荷数据可以包括与车道信息相关联的不同类型的对象。有效载荷数据可以按照其在动态报头(例如,对象的类型及其长度字段)中出现的相同顺序布置。单向协议可呈现有效的折衷。通过使用预先配置的参数(例如,潜在行驶包络中需要包含作用多少秒或多少距离的数据),通信可以被精简或简化。潜在地,由于处理单元2706(或服务器2701)不暴露于损坏的信息,因此单向协议的使用还可以提供安全性优势。在其它情况下,通信协议可以是双向协议,使得数据可以从处理单元2706(或服务器2701)发送给交通工具装置2703,并且数据也可以从交通工具装置2703发送给处理单元2706(或服务器2701)。从交通工具装置2703到处理单元2706(或服务器2701)的双向通信协议中的响应消息可以包括关于由处理单元2706(或服务器2701)发送的信息的准确性的细节。例如,响应消息可以用于确认交通工具2702的环境中某些对象的位置和/或身份。
图33是描述可以从处理单元2706(或服务器2701)发送给交通工具装置2703的消息的结构的示意图。根据本公开,消息3300包括描述消息的结构的动态报头、消息中每个对象的大小以及消息有效载荷内每个对象的内容。报头3310可用作用于解析消息有效载荷和重构车道信息的字典。在一个实施例中,报头3310还可以提供关于如何解码有效载荷3320中提供的数据的信息。报头3310可以包括版本字段3311(即,使用的版本号);对象数量字段3312(即,消息中包含的对象的数量);大小字段3313(即,当前消息中有效载荷对象的大小)、段ID字段3314(即,该消息中包括的地图段的ID);以及对象的类型和长度阵列字段3315(即,为消息中的每个对象指定其类型和大小的对象描述符的列表)。该列表的长度可以是有效载荷中对象的数量。报头3310的动态特性可以使处理单元2706(或服务器2701)能够传送包含有可能由交通工具装置2703使用的信息的消息并且避免向交通工具装置2703发送不相关信息。因此,例如,报头3310的动态特性可以减少通过网络2705交换的消息的大小。
在一些实施例中,有效载荷3302可以包括SegmentsInEH对象3321、DrivablePathSpline对象3322、DrivablePathProfile对象3323和一个或多个有效载荷对象3324。每次在交通工具2702的潜在行驶包络内的所包含地图段的列表中存在改变(添加新地图段或删除旧地图段)时,SegmentsInEH对象3321可以由处理单元2706(或服务器2701)发送。在一个示例中,SegmentsInEH对象3321可以是SegmentID(例如,每个32位无符号整数)的向量,其列出交通工具2702的潜在行驶包络中覆盖的地图段ID。交通工具装置2703可以从其本地存储器中删除与列表中不包括的SegmentsInEH相关联的数据。DrivablePathSpline对象3322可以包括与可驾驶路径相关联的样条的数据。在一个示例中,DrivablePathSpline对象3322可以包括样条ID和车道信息,其描述可驾驶路径样条与交通工具2702的潜在行驶包络内包括的道路的任何部分中的车道之间的关系。DrivablePathSpline对象3323可以包括沿可驾驶路径样条的值的阵列。例如,可驾驶路径轮廓内的数据可以包括驾驶路径上不同点(例如,纵向位置)上的平均速度。
在一些实施例中,从处理单元2706(或服务器2701)传送给交通工具装置2703的车道信息可以被包括在有效载荷对象3324中。有效载荷对象3324的示例可以包括以下中至少一个:车道拓扑对象,其描述驾驶路径中车道之间的关系;车道掩盖(mask)对象,其表示与样条相关的车道;驾驶路径边界对象,其描述车道标记样条或道路边缘样条与驾驶路径的一致(congruent);合并/分开点,其包括地图坐标系中的分开或合并点的通知;道路边缘改变点对象,其包含道路边缘类型改变发生的样条上的速度点的阵列;标志(sign)路标对象,其描述交通标志和交通灯;杆路标对象,其包括关于位于自我车道相邻的杆的细节;以及更多。换言之,传送给交通工具装置2703的有效载荷对象3324可以描述道路几何形状、语义(例如,交通工具2702的潜在行驶包络内包括的道路的任何部分中的车道拓扑)以及主交通工具相对于车道的拓扑位于哪里的指示。例如,当在公路上驾驶时,交通工具装置2703可以通过消息3300接收指示,右边车道将成为用于在350米后离开公路的车道。图34描述发送给主交通工具的实际消息的示例。
在额外的实施例中,在接收一个或多个地图段和车道信息后,交通工具装置2703可以导航交通工具2702,如本公开中的其它地方所述。例如,交通工具装置2703可以配置为基于接收的一个或多个地图段和车道信息执行一个或多个导航动作(例如,转弯、停在位置、加速、制动等)。备选地或额外地,交通工具装置2703可以配置为基于目标轨迹的多项式表示来执行一个或多个导航动作。在又其他的实施例中,在接收一个或多个地图段和车道信息后,交通工具装置2703可以使用计算机视觉和AI在任何给定点或位置创建环境模型。在又其他的实施例中,在接收一个或多个地图段和车道信息后,交通工具装置2703可以创建本公开中早先进一步详细讨论的地图(例如,诸如稀疏地图)。在又其他的实施例中,在接收环境模型、一个或多个地图段和车道信息后,如果人类驾驶员的一个或多个动作会导致至少一个驾驶政策规则和/或与驾驶政策相关联的安全约束的违反,则交通工具装置2703可以应用驾驶政策来监督人类驾驶员并进行干预(例如,使交通工具执行一个或多个导航动作,例如转弯、停在位置、加速、制动等)。
额外电子地平线特征
如本公开中的其它地方所述,所公开的系统和方法可以使用电子地平线在预定义区域(例如,在具有预定半径的区域中)有效加载或使用地图数据。所公开的系统和方法可以优化带宽消耗并且为地图用户提供最相关的数据,同时考虑交通工具位置、自我速度和轨迹。本公开描述电子地平线(“EH”)逻辑和构建块,因为它们被从地图中推断并经由相关协议传递,所公开的系统和方法可以使用所述逻辑和构建块来实现本文所公开的一个或多个功能。
在一些实施例中,系统可以包括一个或多个EH处理器(其在本文中也可以被称为EH构造器),其被编程以确定主交通工具前方(或周围)区域的地图数据,并将确定的地图数据输出到一个或多个导航系统处理器。例如,一个或多个EH处理器可以确定交通工具前方预定半径(其在本文中也可以被称为EH半径)的地图数据。EH半径可覆盖主交通工具前方的时间段(例如,一秒的小部分或几秒),主交通工具可以在该时间段内以当前速度行驶。备选地或者额外地,EH半径可以具有最小距离(例如,100米)。可以配置EH半径的时间段和/或最小距离。通过示例方式,如果该时间段设置为15秒,并且主交通工具以每小时60公里的速度行驶,则一个或多个EH处理器可以获取主交通工具可以在250米的EH半径内到达的所有路段(或其一部分)的地图数据。
图35是根据所公开的实施例的示例性电子地平线地图数据的示意图示。如图35中所示,交通工具3501可以沿路段行驶。一个或多个EH处理器可以确定由EH半径覆盖的3502区域,并获取区域3502内所有路段的地图数据。一个或多个电子地平线处理器可以将地图数据输出到一个或多个导航系统处理器。
一个或多个导航系统处理器可以根据从一个或多个EH处理器接收的地图数据控制主交通工具的导航系统。例如,一个或多个导航系统处理器可以被编程,以基于由一个或多个交通工具上传感器提供的输出来确定主交通工具相对于与地图数据相关联的地图的位置。一个或多个导航系统处理器还可以被编程以使主交通工具(例如,经由其导航系统)根据主交通工具相对于地图的位置执行至少一个导航操纵。在一些实施例中,输出的地图数据可以在地图坐标系中表示(例如,用纬度/经度点表示)。
本公开提供如下所述的用于管理电子地平线数据的示例性特征、功能性和协议。这些示例性特征、功能性和协议可以在所公开的系统和方法中使用,但不应被解释为限制示例。
缩略词和术语
为简洁起见,本公开中使用表1中列出的以下术语和缩写。
表1:缩略词和术语
数据类型定义
表2中列出的以下数据类型可以由所公开的系统和方法使用。
表2:示例性数据类型
数据类型 定义
uint8 8-位无符号整数
uint16 16-位无符号整数
Int 32-位整数
Float 32-位浮点
电子地平线功能性
EH协议可以充当接口,通过该接口将地图数据发送给外部功能和/或重构器(例如,一个或多个导航系统处理器)。在一些实施例中,EH信号可以具有最大输出频率。换句话说,地图数据可以以最大频率输出。例如,地图数据可以以36Hz的最大频率(即,每秒36次)输出。在一些实施例中,每个地图元素(例如,如本公开中的其它地方所述的地图图块)可只发送一次。重构器(例如,一个或多个导航系统处理器)可以负责缓冲和管理EH地图数据。EH协议可以在地图数据不再被EH半径覆盖时使EH处理器发信号通知重构器,并且地图数据可以从存储由一个或多个电子地平线处理器输出的EH地图数据的缓冲器中被删除。
地图数据分段
在一些实施例中,地图(例如,稀疏地图)可以由边缘构成。边缘可以是两个交叉口、环岛、道路合并或道路分开之间的道路。每个RB元素(可驾驶路径、车道标记、道路边缘、交通标志、杆等)可以被包含在边缘内。边缘段可以是包含由构造器发送的地图数据的逻辑单元。EH构造器可以将每个边缘划分为几个段。EH构造器可以发信号通知重构器以边缘段的粒度删除数据。因为边缘可能相当长,所以将边缘划分为子段可以减少在两侧(构造器和重构器)的存储器消耗。
在一些实施例中,边缘段可以通过三个参数来标识:
EdgeID:段所属的原始边缘的ID。
tStart:该段在原始边缘中的以米的起点。
tEnd:该段在原始边缘中的以米的结束。
构造器可以为每个边缘段分派在本文中称为segmentId的标识符(ID)。构造器可以向重构器发送segmentID的列表,以指示在EH半径中包括哪些边缘段。每次当EH半径中包含的边缘段的列表改变时,构造器可以在单独的“控制”时隙(slot)中发送更新的segmentID的列表。
在一些实施例中,构造器可以通过发送更新的segmentID列表而不是该段ID来发信号通知重构器,边缘段能够被删除。重构器能够删除列表中不包含且已经收到的任何segmentID。重构器可以负责删除需要在其一侧删除的任何通过边缘段数据。在一些实施例中,由于驾驶期间的速度改变,重构器已经呈现的段可不被删除。
在一些实施例中,边缘可以被划分为具有预定数量(或X)米的段,或在车道数量正在改变的点处被划分为段,无论哪个都产生所需的最小段大小。如果段小于X/4,则可以不创建新段,并且该数据可以被包含在前一段中。
在一些实施例中,每个边缘段可以包含其表示的边缘的物理部分中包括的所有RB元素。
在一些实施例中,样条(例如,可驾驶路径、车道标记、道路边缘等)还可以在边缘分段过程中被分开。样条可以由控制点(CP)和节点(knot)阵列构成。CP和节点可以描述样条的b样条数学模型。分段过程可切割样条。切割的段可包括来自样条阵列的开始处的前一段的四个CP和四个节点,以及来自节点阵列的结束处的下一段的四个节点(且没有CP)。这可以使重构器独立地估计边缘段的数据。
地图(道路手册)元素
每个递送段可以包括以预定义格式打包的地图对象。例如,段可以包括以下中至少一个:样条(车道标记、道路边缘和可驾驶路径)、杆、交通标志、段中车道的数量、样条和车道之间的关系(哪个样条属于哪个车道)、可驾驶路径轮廓、DP样条上点中的平均速度/法定速度、车道标记改变点(类型改变)、车道标记颜色(关于改变的车道标记的成对信息)、道路边缘类型改变点、车道拓扑、车道边界等、或其组合。
协议描述
如本公开中的其它地方所述,通信协议消息(例如,EH消息)可以包括两个部分:报头和有效载荷。可以使用两种类型的消息,有效载荷消息和控制消息。下面的表5示出示例性EH消息。
表5:示例性EH消息
在一些实施例中,有效载荷数据可以按照与其在报头(例如,类型+长度字段)中出现的相同顺序排列。构造器和重构器之间的协议可以包括两种类型的消息:EH有效载荷控制和EH有效载荷数据。有效载荷控制消息可以包括两种单独传送的对象:EH中的段和参考改变点。有效载荷数据消息可以是存储所有其它类型的事件的时隙,如不同EH消息部分和示例的以下描述中所述。段可以包括“新段”描述(参见下文表7),除非它们包含来自以前报告的新段的数据。在一些实施例中,只有段的第一EH分组可以被包括在“段描述”对象中。
EH报头可以描述EH消息有效载荷内的内容。它可以用作用于解析消息有效载荷和重构EH数据的字典。如本公开中的其它地方所述,EH消息可以包括一个边缘段或其一部分的数据。由于用于携带EH数据的传输层(例如,CAN、串行外围接口(SPI)、以太网等)的约束/限制,可发生部分边缘段在EH消息中的包含。表6示出示例性EH报头。
表4:示例性EH报头
在一些实施例中,EH对象可以是包含在EH消息有效载荷中的元素。这些对象有助于构造器和重构器侧描述任意点处EH中包含的边缘段。对象可以是RB元素。
每次当EH半径中的包含的边缘段的列表随着添加的新段或删除的旧段而改变时,构造器可以发送SegmentInEH对象。SegmentInEH对象可以包括segmentID向量(每个uint32),其列出可以在EH半径中覆盖的边缘段ID。它可以在单独的时隙中发送(重构器可以将该时隙用于数据更新并且不用于数据存储)。重构器可以删除可以没有包含在列表中的任何接收的segmentID。
段描述符可以描述边缘段。该描述可以由构造器在边缘段的每第一EH消息中发送。表7示出示例性新段描述符。
表7:新段描述符
数据类型 描述
EdgeID(unit32) 原始边缘的ID
SegmentID(unit32) 由构造器为此段指派的ID
Tstart(float) 边缘中的段起始点(以米为单位)
Tend(float) 边缘中的段结束点(以米为单位)
#ofLanes(uint8) 该段中车道的数量
预留(uint8) 用于对齐
预留(uint8) 用于对齐
预留(uint8) 用于对齐
样条容器可以包含单个样条(例如,道路边缘、车道标记、可驾驶路径等)的数据。表8示出示例性样条对象。
表5:样条对象
可驾驶路径(DP)轮廓对象可以是沿DP样条的值的阵列。轮廓内的数据可以是DP上那个点(纵向位置)上的平均速度。阵列中的每个“v”点可以描述样条上的纵向点。表9示出示例性可驾驶路径轮廓对象。
表6:可驾驶路径轮廓(DrivablePathProfile)
数据类型 描述
SplineID(int) 相关DP样条的原始RB ID
[v_spline_coordinate](float array) 以“v”单位的样条上的点的阵列
[Ave80Speed](float array) 在那个点的平均速度的80%
车道标记改变点对象可以包含样条上的“v”点的阵列,其中可以表示车道标记中的改变。对于v_spline_coordinate阵列中的每个值,可以在change_events阵列中表示(类型、颜色)的元组。表10示出示例性车道标记改变点对象。
表7:车道标记改变点对象(LaneMarkChangePoint)
下文在表11中列出示例性事件类型。
表8:事件类型
道路边缘改变点对象可以包含发生RE类型改变的样条上“v”点的阵列。下文在表12中示出示例性道路边缘改变点对象。
表9:道路边缘改变点对象(RoadEdgeChangePoint)
下文在表13示出示例性支持类型。
表10:道路边缘改变点对象-支持类型
标志路标对象可以描述交通标志和交通灯。EH消息可以包含此类对象的阵列。系统类型和交通标志可以指的是如交通标志识别(TSR)感测技术ENUM列表中映射的标志的类型。表14示出示例性标志路标对象。
表11:标志路标对象[SignLandmark]
杆路标对象可以表示一个或多个杆。EH消息可包含此类对象的阵列。表15示出示例性杆对象。
表12:杆路标对象[PolesLandmark]
车道拓扑可以描述车道(DP)之间的关系。每个车道可以有继任者、前任和邻居。车道和DP在道路手册中可以是等同的。在一些实施例中,每个车道可以具有一个DP,并且每个DP可以属于一个车道。在一些实施例中,如果发生车道分开,则车道可以有多个继任者,并且当车道合并时车道可以有多于一个前任。在一些实施例中,继任者/前任ID的阵列大小当前可以是3。
表16示出DpSuccessor对象。表17示出DpPredecessor对象。
表13:DpPredecessor对象
数据类型 描述
DpId(int) 该DP ID
Successor_Id[int] 其它DP ID
表14:DpPredecessor对象
数据类型 描述
DpId(int) 该DP ID
Predecessor_Id[int] 其它DP ID
车道邻居可以是车道左边和右边的车道。车道邻居可以定义为从u=x到u=y(此DP的“u”)。车道在其一侧可有多于一个邻居(在不同的“u”间隔内)。表18示出示例性DpNeighbor对象。
表15:DpNeighbor对象
数据类型 描述
DpId(int) 该DP ID
otherDPid(int) DP邻居ID
从(float32) DP上的U值
至(float32) DP上的U值
方向(int8) 参考自我(左边/右边)的DP位置
即将到来(bool) 如果DP在相反驾驶方向上,则等于1。
方向可以使用三个enum值的集合来参考自我DP定位DP:“从”和“至”值描述样条的一致部分,其中车道邻居对象可以是相关的;无效=-1,右边=0,左边=1;当U=0可位于DP样条的起始时,“U”值可以用作样条上纵向位置的描述符。
DpBorders对象可以描述车道标记样条或道路边缘样条与DP的一致性。该对象可以定义DP和边界样条(道路边缘或车道标记)的间隔,其中两个样条可相切。表19示出示例性DpBorders对象。
表16:LaneBorder对象[DpBorders]
在一些实施例中,所有“U”值可以对应于其中可以共享边界的样条点。图36是根据所公开的实施例的示例性车道边界的示意图。
在一些实施例中,车道交点类型的对象可以通过其在RB坐标系中的X-Y-Z坐标定义分开/合并点。“Dps out”和“Dps in”可以始终依据两个项目的最大大小表示,其中dpId字段中的“-1”值发信号通知阵列的结束(当可能存在少于三个项目时)。表20示出示例性LaneIntersectionPoints对象。
表17:LaneIntersectionPoints对象描述
表21示出示例性参考点改变事件对象。
表18:参考点改变事件对象(ReferencePointChangeEvent)
地图坐标系原点改变事件
为了避免精度误差在距离上产生累积偏差,一个或多个EH处理器可以动态地改变地图坐标系的原点。这可以在交通工具的与原点的距离变得大于预定阈值时发生。在该点可以根据新坐标系变换所有地图对象。当该事件发生时,一个或多个EH处理器可以发送ReferencePointChangeEvent对象,以发信号通知地图坐标已改变。EH先前的段可以被闪现(flash)在重构器侧,并由构建器在新坐标系中传送。当改变发生时,定位输出改变为“未定位”状态。图37示出根据所公开的实施例的用于改变EH坐标系的示例性过程。
下文的表19描述可以在所公开的系统和方法中使用的EH对象中每个的类型值和长度值的含义。具有控制点长度向量的对象可以在报头中的对象定义中定义样条的形式(例如,控制点数量)。
表19:对象描述符
通过示例方式,下文在表23、表24和表25中提供三个示例性EH消息用于说明目的,其不应被解释为限制性示例。
表20:具有段描述符的示例性消息(边缘段中的第一消息)
表21:没有段描述符的示例性消息(不是边缘段中的第一消息)
/>
表22:示例性控制消息-EH更新中的段。
用于控制的地图定位
所公开的系统和方法可以使用“用于控制的定位”引擎来使用地图元素提供交通工具近范围内的采样道路几何形状和车道语义数据。该定位信息可以用于通过了解前方道路来改进控制应用。本公开描述了用于“用于控制的定位”(在本文中也可以被称为“L4C”)的示例性逻辑和过程,通过该逻辑和过程构建块可以从地图中推断,并经由本文所述的相关协议进行传递。L4C定位控制接口可以传送在交通工具坐标系(例如,以交通工具的中心或交通工具上激光雷达系统的中心为原点)中比较靠近交通工具位置的地图元素。在一些实施例中,L4C协议可以传递分类为不同类型的路段几何形状数据,其可以包括样条上的3D采样点、车道分配数据、分开/合并点、停止点等、或其组合。这些技术可以形成互补集合,该集合适用于依赖地图数据和驾驶模式(profile)的不同交通工具控制应用。
在一些实施例中,L4C可以创建道路几何形状的抽象概念,以揭示前方路线中车道的结构。默认情况下L4C可以被启用,但它可依赖于道路手册中交通工具的定位,以计算和输出数据。以帧速率[36Hz]运行,L4C协议可以为客户功能,诸如车道保持、车道改变和其它ACC功能,提供基本逻辑。然而,在某些情况下,由于协议的地图内容可能受限,可以推荐针对复杂的实现使用EH输出协议。
在一些实施例中,算法元素可以作为与补充协议的两个或更多个接口输出,该补充协议被设计成减少带宽消耗。例如,道路边缘、车道标记和可驾驶路径的踪迹可以作为采样的三维点(取自地图源样条)的子集发送,所述点可以分为两个协议,以在SPI级别上实现更高的灵活性。在一些实施例中,使用预定义的可配置参数,可以通过改变以下中至少一项来改变覆盖车道的数量:点网格应覆盖的距离、要输出的车道的数量、启用/禁用车道标记和/或道路边缘数据、每个样条上点的数量、点之间的距离、启用点之间的速度相关距离、或根据连续点之间的角度的点过滤。对于近的车道分配,协议可以提供在交通工具前方预定数量(例如50)米中的车道地图(树)的描述。
采样样条点
地图点可以包括交通工具坐标系中DP、LM和RE样条的3D采样点。点输出可以基于预定义的属性集合,所述属性在开发阶段中可以是可配置的。每个项目能够确定要采样和输出的样条(车道)的数量。例如,使用此信息可以为以下各项保存足够的配置:
maxNumofDPs=5[0,5]
maxNumofLMs=6[0,6]
maxNumofREs=4[0,4]
每个样条及其继任者样条可以由30个点的最大值来描述。表26示出示例性控制点对象。
表26:控制点对象描述
在一些实施例中,在达到了点数量限制(如由点配置设置的)的情况下,丢弃多余点的逻辑可以首先丢弃最高索引和子索引(没有针对左边/右边索引的优先级),同时要丢弃的样条类型优先级可以如下:1.RE;2.LM;和3.DP。
属性字段可以存储语义数据,该语义数据根据点可以表示的样条的类型而变化。表27示出示例性属性字段。
表27:示例性属性字段
属性的描述如下:
“Cha.”-被改变,可以指示呈现的3D点是否已经指示以下参数中之一的改变:“开始”-可以是点可以是样条的起始;“结束”-可以是点可以是样条的结束;“类型”-LM/RE的类型;“颜色”-车道标志的颜色;和宽度–10cm仓(bin)中车道标记的宽度。
“公共速度”-对于可驾驶路径类型点,属性_1值可以存储以km/h的测量众包速度。
点可以根据本公开中的其它地方描述的配置输出到协议。缓冲利用的顺序可以是自我、邻居和邻居的邻居,其可以包括各种类型,例如可驾驶路径、车道标记、道路边缘等。点的各集合可以随额外信息输出,该额外信息覆盖样条ID、类型、索引、子索引驾驶方向、车道左边/右边指示等、或其组合。在一些实施例中,如果自我为0,则左边车道可以是-1和-2,并且右边车道可以是1、2、3等。
样条编索引
道路手册可以覆盖所有类型的场景(包括交叉口),其中样条可以被分开为朝不同方向行进的多个样条。关于连续样条及其ID的信息可以在子索引中给出,该子索引可以是每个样条描述的一部分。
图38是根据所公开的实施例的与路段相关联的样条的示例性索引和子索引的示意图。如图38中所示,交通工具可以在主要道路的中间行驶,并且它可以位于当前帧中。它可以接收有关形成右边的道路的车道(DP、LM、RE)以及还有有关可能在前方更远的分开的信息。限制可以是可能被传送的距离和/或点的最大数量(无论哪个均可以首先达到)。
在一些实施例中,每个样条可以包括索引、子索引或左边/右边指示中的至少一个,其可以提供与车道相对于交通工具位置的位置有关的信息(如图38中所示)。属于车道的所有样条可以得到该车道的索引。可能与两个车道相关的路标可以获得这些车道中之一的索引。在一些实施例中,在RE不与被索引车道相邻的情况下,其可以分配有配置的最大索引。例如,假设在自我车道(即,主交通工具在其中行驶的车道)的左边有4个车道,并且只可以配置3个dp(0,1,-1),则左边RE将被分配索引-1L。
在一些实施例中,在车道分开的情况下,分叉车道及其相对样条的索引可以保持与它们从中分叉的原始车道相同,但不同子索引指示分叉。例如,如图38中所示,车道索引1分叉为两个车道。两个车道都得到索引1,但右边一个得到子索引2,并且左边一个得到子索引1。在图38中,指示子索引值的数字可以是小数点后的数字,但在实际协议中,索引和子索引可以是两个单独的字段。“索引”和子索引可以描述车道编索引,因此同一车道的所有样条可以得到相同索引和子索引。如果具有子索引2的车道也分叉为两个车道,则其索引保持1,但它们中一个可以得到子索引21,并且另一个可以得到子索引22。
在一些实施例中,可以指示样条是在其右侧还是左侧与车道毗邻的左边/右边指示可以用于道路边缘和车道标记样条。图39是根据所公开的实施例的、在预定数量的米的设定距离内每样条10个点的示例性DP投影的示意图。
在一些实施例中,当启用点之间的动态距离时,点之间的距离如下确定:
1)在速度=0时,distance(距离)=distanceBetweenPoints(点之间的距离);或
2)当速度>0时,距离将遵循以下等式(1):
其中dist=distanceBetweenPoints,maxDist=maxDistanceBetweenPoints(点之间的最大距离)。次要车道可以类似表现;即,dist=maxDistanceBetweenPoints(点与次要车道之间的距离)。图40是示出根据所公开的实施例的点之间的动态距离和自我速度(ego speed)之间的示例性关系的示意图。
车道分配
车道分配消息可以将车道之间的拓扑描述为树结构,其中树的根可以是交通工具在自我车道中的位置。该消息可以包括车道的列表,其中每个车道可以包括左边相邻车道、右边相邻车道的子列表和继任者车道的子列表。在一些实施例中,车道分配消息还可以包括该车道是在驾驶方向还是在即将到来车道上的布尔指示。在一些实施例中,协议中的数据本身可以不以任何形式排序,实际对象除外。然而,每个车道可以包含足够的信息,以便在示出的地图表面上对其正确定位。
表28示出示例性车道对象。
表28:车道对象描述
可驾驶路径停止点
十字路口或人行横道前的停止线可以被映射在道路手册中,并由停止线前的线指示。DP样条和停止线标记可以共享协议中的3D交点。表29示出示例性DP停止点对象。
表29:DP停止点对象描述
交点
交点可以是合并点和分开点共同的描述。在一些实施例中,由于这些点具有相似属性,因此使用同一对象来描述它们可以是可能的。合并/分开点可以是可以在DP相交/分开处计算和呈现的语义信息节点。与其它RB数据一样,该信息可以从最常见的驾驶模式得到。项目需要该投影的相关距离的配置以及要呈现的点的数量可以使用以下属性预定义:enableStopPoints[bool]-True/False;以及stopPointsDistance[uint]-最大值可以为200米。表30示出示例性交点对象。图41是根据所公开的实施例的示例性可驾驶路径合并点的示意图。
表8:交点对象描述
电子地平线:可变报头和对象有效载荷
如本公开中的其它地方所述,主交通工具的至少一个EH处理器可编程为接收地图数据(例如,来自服务器2701的REM地图图块)并接收由一个或多个交通工具传感器(例如,运动传感器、摄像机、GPS装置等)提供的输出。EH处理器还可编程为基于接收的地图数据和由(一个或多个)传感器提供的输出来确定交通工具的位置并确定交通工具的适当电子地平线(包括例如交通工具可能在预定时间段内行驶在哪里)。在一些实施例中,电子地平线还可以包括特定位置或区域的地图信息。此外,确定电子地平线可以包括考虑交通工具的路径的几何形状,以确定提供交通工具的点的密度(例如,直接或直线路线可能不需要那么多点),并如与相邻车道相反可以为其中交通工具行驶的自我车道提供更密集的信息。此外,电子地平线可以包括关于速度(例如,平均速度或法定速度)、车道的类型等的信息。
通过示例方式,参考回图35,交通工具3501的EH处理器可以基于由一个或多个交通工具上传感器提供的输出确定交通工具3501相对于地图的位置。EH处理器还可以确定覆盖交通工具可能在例如10秒内行驶的路段的区域3502(即,电子地平线)。在一些实施例中,EH处理器还可以生成导航信息分组,其包括与确定的电子地平线(例如,图35中所示的区域3502)相关联的信息。EH处理器可以进一步将导航信息分组传送给导航系统处理器,该导航系统处理器可以负责基于从EH处理器接收新导航分组而缓冲和更新接收的电子地平线信息。导航系统处理器还可以使主交通工具基于接收的导航信息分组进行导航。
在一些实施例中,由EH处理器生成的导航信息分组可以包括报头部分和有效载荷部分。通过示例方式,早先讨论的表5示出示例性导航信息分组,其可以采用是根据本公开中的其它地方描述的EH协议在EH处理器和导航系统处理器之间传递的消息的形式。导航信息分组可以包括报头部分和有效载荷部分。如本公开中的其它地方所述,报头部分可以被用作用于解析有效载荷部分和重构EH数据的字典。例如,报头部分可以指定在有效载荷部分中包括什么信息。通过示例方式,早先讨论的表6示出导航信息分组的示例性报头部分。报头部分可以包括信息,诸如有效载荷部分中包括的(一个或多个)对象的数量、(一个或多个)对象中每个的大小、与(一个或多个)对象中每个相关联的段ID、(一个或多个)对象中每个的描述等。
有效载荷部分可以包括和与EH中路段相关联的(一个或多个)对象中每个相关的信息。如本公开中的其它地方所述,有效载荷部分中指定的(一个或多个)对象可以包括与路段相关联的一个或多个地图元素,例如样条对象(例如,车道标记、道路边缘、可驾驶路径等)、杆对象、交通标志对象、车道数量对象(指示与路段相关联的车道的数量)、样条和车道之间的关系(哪个样条属于哪个车道)、可驾驶路径轮廓、可驾驶路径样条上点中的平均速度和/或法定速度、车道标记改变点(一个车道标记类型被改变为另一车道标记类型)、车道标记颜色(其可以包括有关改变车道标记的成对信息)、道路边缘类型改变点、车道拓扑和车道边界。例如,有效载荷部分可以包括样条对象(例如,可驾驶路径、道路边缘、车道标记等)。样条对象可以包括相对于样条的点的预定集合,所述点包括例如在当前主交通工具位置之前以预定间隔(例如,当前主交通工具位置之前1秒、2秒、5秒等)在可驾驶路径上的点。对于相邻车道中的可驾驶道路也可以如此。预定间隔可以是可选择的,或者可以随交通工具速度变化。本公开中的其它地方已经提供与有效载荷部分中包括的对象有关的信息的详细描述,为了简洁目的,这里不再对其重复。
在一些实施例中,导航信息分组的有效载荷部分的大小可以取决于有效载荷部分中包含的(一个或多个)对象而变化。例如,如早先讨论的表5中所示,本示例中导航信息分组的有效载荷部分可以包括三个对象。不同导航信息分组的有效载荷部分可以包括更多或更少的对象,那个导航信息分组的有效载荷部分的大小可以不同于表5中所示的有效载荷部分。具有可变大小的有效载荷部分(和可变大小的导航信息分组)的优点之一是提供灵活性并降低处理成本。设计成覆盖所有可能场景和遇到的对象的标准化导航分组可以是庞大的,并且在更新事件期间多数字段将是空的。所公开的系统和方法提供用于在定制为递送相关信息的分组中传递电子地平线信息(例如,可驾驶路径、遇到的对象和位置等)的解决方案。
图42示出交通工具2702的示例性组件,所述组件配置为执行其在本文中所述的功能。如图42中所示,交通工具2702可以包括一个或多个电子地平线处理器4210、一个或多个导航系统处理器4220、存储器4230、存储装置4240、通信端口4250、一个或多个传感器4260、激光雷达系统4270和导航系统4280。
电子地平线处理器4210可以配置为执行本公开中所述的EH处理器(和/或EH构造器)的一个或多个功能。电子地平线处理器4210可以包括微处理器、预处理器(例如图像预处理器)、图形处理单元(GPU)、中央处理单元(CPU)、支持电路、数字信号处理器、集成电路、存储器或任何其它类型的适合于运行应用或执行计算任务的装置。在一些实施例中,电子地平线处理器4210可以包括任何类型的单核或多核处理器、移动装置微控制器、中央处理单元等。可以使用各种处理装置,包括例如从诸如等制造商可得的处理器或从诸如/>等制造商可得的GPU,并且所述处理装置可以包括各种架构(例如,x86处理器、/>等)。本文公开的任何处理装置可以配置为执行某些功能。配置处理装置,例如任何所述处理器或其它控制器或微处理器,以执行某些功能可以包括对计算机可执行指令的编程,并使那些指令可用于处理装置,以供在处理装置的操作期间执行。在一些实施例中,配置处理装置可以包括直接使用架构指令对处理装置进行编程。例如,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等的处理装置可以使用例如一个或多个硬件描述语言(HDL)进行配置。
在一些实施例中,电子地平线处理器4210可以包括电路4211和存储器4212。存储器4212可以存储指令,该指令在由电路4211执行时可以使电子地平线处理器4210执行本文所述的电子地平线处理器4210的功能。电路4211可以包括本文所述的任何一个或多个示例。
导航系统处理器4220可以配置为执行本公开中所述的导航系统处理器(和/或EH重构器)的一个或多个功能。在一些实施例中,导航系统处理器4220可以包括电路4221和存储器4222。存储器4222可以存储指令,该指令在由电路4221执行时可以使导航系统处理器4220执行本文所述的导航系统处理器4220的功能。电路4221可以包括本文所述的任何一个或多个示例。
交通工具2702可以包括存储器4230,该存储器可以存储交通工具2702的各种组件的指令。例如,存储器4230可存储指令,该指令在由电子地平线处理器4210(和/或导航系统处理器4220)执行时,可以配置为使电子地平线处理器4210(和/或导航系统处理器4220)执行本文所述的一个或多个功能。存储器4230可以包括任意数量的随机存取存储器、只读存储器、闪存、磁盘驱动器、光存储、磁带存储、可移动存储和其它类型的存储。在一个实例中,存储器4230可以与电子地平线处理器4210和/或导航系统处理器4220分离。在另一个实例中,存储器4230可以被集成到电子地平线处理器4210和/或导航系统处理器4220中。在一些实施例中,存储器4230可以包括用于执行一个或多个计算任务以及训练的系统,例如神经网络或深度神经网络,的软件。
存储装置4240可以配置为存储交通工具2702的一个或多个组件的各种数据和信息。存储装置4240可包括一个或多个硬盘驱动器、磁带、一个或多个固态驱动器、任何适合写入和读取数据的装置等、或其组合。存储装置4240可以存储可以由电子地平线处理器4210和/或导航系统处理器4220访问的地图数据,包括例如一个或多个地图段的数据。在一些实施例中,存储装置4240可以存储地图数据库。电子地平线处理器4210可以从地图数据库检索一个或多个地图段的数据。例如,电子地平线处理器4210和/或导航系统处理器4220可以检索与地图段相关联的地图数据。
通信端口4250可以配置为便于交通工具2702和本文所述的所公开系统的一个或多个组件之间经由网络的数据通信。例如,通信端口4250可以配置为经由一个或多个公共或私有网络从服务器接收数据并将数据传送给服务器,所述网络包括因特网、内联网、WAN(广域网)、MAN(城域网)、符合IEEE 802.11a/b/g/n标准的无线网络、租用线路等。
传感器4260可以配置为收集与交通工具2702和/或交通工具2702的环境有关的信息。传感器4260可包括以下中的一个或多个:图像传感器(例如,摄像机)、雷达装置、激光雷达装置、速度传感器、加速度传感器、制动传感器、悬架传感器、定位装置(例如,全球定位系统(GPS)装置)、加速计、陀螺仪传感器、速度计等、或其组合。例如,交通工具2702可包括图像传感器(例如,摄像机),其配置为捕获其环境的一个或多个图像,该图像可包括对象(或其至少一部分)的表示。在一些实施例中,交通工具2702可以包括一个或多个图像传感器,其类似于本公开中的其它地方描述的图像捕获装置122、图像捕获装置124和/或图像捕获装置126。作为另一个示例,交通工具2702可以包括GPS装置,其配置为收集在一段时间内与交通工具2702的位置相关联的定位数据。
LIDAR系统4270可以包括一个或多个LIDAR单元。在一些实施例中,一个或多个LIDAR单元可被定位在交通工具2702的顶上。此类单元可包括旋转单元,其配置为在交通工具2702周围的360度视野内或从360度视野的任何子段(例如,一个或多个各自表示小于360度的FOV)收集LIDAR反射信息。在一些实施例中,LIDAR单元可定位在交通工具2702上的前方位置(例如,靠近头灯、在前格栅中、靠近雾灯、在前保险杠或在任何其它合适位置)。在某些情况下,安装在交通工具2702的前部的一个或多个LIDAR单元可以从交通工具2702前面的环境中的视野收集反射信息。LIDAR系统4270收集的数据可以提供给电子地平线处理器4210。备选地或者额外地,可以经由网络将数据传送给服务器和/或数据库,如本公开中的其它地方所述。
交通工具2702上可包括任何合适类型的LIDAR单元。在一些情况下,LIDAR系统4270可包括一个或多个闪光LIDAR装置(例如,3D闪光LIDAR)以及传感器,在所述闪光LIDAR装置中整个LIDAR视场(FOV)用单个激光脉冲照明,并且所述传感器包括像素的行和列以记录返回的光强度和飞行时间(time of flight)/深度信息。这种闪光系统可以照明场景并每秒多次收集LIDAR“图像”。也可以采用扫描LIDAR单元。这种扫描LIDAR单元可以依赖于一种或多种用于在特定视场上分散激光束的技术。在一些情况下,扫描LIDAR单元可包括扫描镜,该扫描镜朝向FOV内的对象偏转并引导激光束。扫描镜可以旋转通过整个360度或者可以沿单轴或多轴旋转少于360度,以朝向预定FOV引导激光。在一些情况下,LIDAR单元可扫描一条水平线。在其它情况下,LIDAR单元可以扫描FOV内的多条水平线,每秒多次有效地将特定FOV光栅化。
LIDAR系统4270中的LIDAR单元可以包括任何合适的激光源。在一些实施例中,LIDAR单元可以采用连续激光器。在其它情况下,LIDAR单元可以依赖脉冲激光发射。此外,可以采用任何合适的激光波长。在某些情况下,可使用约600nm至约1000nm之间的波长。
LIDAR系统4270中的(一个或多个)LIDAR单元还可以包括任何合适类型的传感器,并提供任何合适类型的输出。在某些情况下,LIDAR单元的传感器可以包括固态光电检测器,例如一个或多个光电二极管或光电倍增管。传感器还可以包括一个或多个包括任意数量的像素的CMOS或CCD装置。这些传感器可对LIDAR FOV内的场景反射的激光敏感。传感器可以从LIDAR单元实现各种类型的输出。在某些情况下,LIDAR单元可以输出表示在每个传感器或在特定传感器的每个像素或子部件处收集的反射激光的原始光强度值和飞行时间信息。额外地或备选地,LIDAR单元可以输出点云(例如,3D点云),其可以包括相对于每个收集点的光强度和深度/距离信息)。LIDAR单元还可以输出各种类型的深度图,其表示光反射幅度和到视场内点的距离。通过记下来自LIDAR的光源的光最初朝向FOV投射的时间并记录由LIDAR单元中的传感器接收入射激光的时间,LIDAR单元可以提供相对于FOV内特定点的深度或距离信息。时间差可以表示飞行时间,其可与入射激光从激光源传播到反射对象并回到LIDAR单元的往返距离直接相关。监测与LIDAR FOV的单独激光点或小段相关联的飞行时间信息可以为FOV内的多个点提供准确的距离信息(例如,映射到FOV内对象的甚至极小特征)。在某些情况下,LIDAR单元可输出更复杂的信息,例如将一个或多个激光反射与从中获取激光反射的对象的类型相关的分类信息。
导航系统4280可以配置为协助交通工具2702的驾驶员操作交通工具2702。备选地或额外地,导航系统4280可包括自主交通工具导航系统,其配置为控制交通工具2702的移动,如本公开中的其它地方所述。例如,导航系统4280可以配置为基于从导航系统处理器4220接收的指令来控制交通工具2702。通过示例方式,导航系统处理器4220可使导航系统4280基于从电子地平线处理器4210接收的导航信息分组来控制交通工具2702沿目标轨迹导航。
在一些实施例中,电子地平线处理器4210和导航系统处理器4220可以被集成到配置为执行本公开中所述的电子地平线处理器和导航系统处理器的功能的一个处理器中。
图43是示出根据所公开的实施例的用于导航交通工具的示例性过程4300的流程图。过程4300的一个或多个步骤可由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)、至少一个处理器(例如,电子地平线处理器)和/或服务器(例如,服务器2701)执行。虽然下面提供的过程4300的描述使用交通工具2702(或其一个或多个组件)作为示例,但本领域技术人员将领会,过程4300的一个或多个步骤可以由服务器和/或交通工具装置执行。例如,在实施例中,用于导航交通工具的系统包括至少一个包括电路和存储器的处理器(例如,电子地平线处理器)。存储器包括指令,该指令在由电路执行时使至少一个处理器执行一个或多个操作,例如本文和/或结合图43讨论的任何操作。作为另一示例,在另一实施例中,非暂时计算机可读介质包含指令,该指令在由至少一个处理器(例如,电子地平线处理器)执行时,可使至少一个处理器执行一个或多个操作,例如本文和/或结合图43讨论的任何操作。
在步骤4301,至少一个电子地平线处理器(例如,电子地平线处理器4210)访问表示主交通工具在上面行驶或预期行驶的至少路段的地图。例如,至少一个电子地平线处理器可以编程为从存储装置4240和/或存储器4230接收地图。备选地或者额外地,至少一个电子地平线处理器可以经由网络2705从可相对于交通工具2702位于远处的服务器(例如,服务器2701)和/或数据库(例如,数据库2704)接收地图数据。在一些实施例中,由至少一个电子地平线处理器访问的地图可以表示在相对于主交通工具位于远处的地图服务器(例如,服务器2701)上可用的更大地图的子段。
在一些实施例中,访问的地图可以包括与一个或多个路段相关联的多个三维样条,并且三维样条可以表示以下中的一个或多个:主交通工具的可驾驶路径、道路边缘或车道标记。
在一些实施例中,访问的地图基于从在主交通工具之前横穿主交通工具在上面行驶或预期行驶的路段的多个交通工具收集的众包驾驶信息而生成(如本公开中的其它地方所述)。
在一些实施例中,访问的地图可以包括在与访问的地图相关联的地图坐标系(例如,诸如GPS坐标系的地理坐标系)中指定的多个三维点位置。包括在导航分组的有效载荷部分中的一个或多个对象可以包括在与主交通工具相关联的坐标系(例如,在主交通工具本地的坐标系)中指定的三维点位置。例如,与主交通工具相关联的坐标系可以将主交通工具的一个或多个摄像机中之一的位置(或主交通工具的中心)作为坐标系的原点。
在步骤4302,至少一个电子地平线处理器(例如,电子地平线处理器4210)接收由至少一个交通工具传感器(例如,一个或多个传感器4260)提供的输出。在一些实施例中,至少一个交通工具传感器可以包括一个或多个摄像机,所述摄像机被配置为捕获主交通工具的环境的图像。例如,交通工具2702可包括一个或多个类似于上述图像捕获装置122、图像捕获装置124和图像捕获装置126的摄像机,其可被配置为捕获主交通工具的环境的图像。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。
在一些实施例中,至少一个交通工具传感器还可以包括其它类型的传感器,包括例如速度传感器、加速度传感器、GPS接收器、雷达传感器、LIDAR传感器等、或其组合。
在步骤4303,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。例如至少一个电子地平线处理器可以基于至少一个捕获图像中表示的一个或多个映射路标的标识以及至少一个捕获图像中的一个或多个映射路标的图像位置和与沿映射的可驾驶路径的至少一个位置相关联的一个或多个映射路标的预期图像位置的比较来确定主交通工具相对于该可驾驶路径的位置。在一些实施例中,映射的可驾驶路径在地图中表示为三维样条。备选地或额外地,至少一个电子地平线处理器可以基于在两个或更多个捕获图像中表示的一个或多个映射路标的标识,并基于主交通工具在获取两个或更多个捕获图像时之间的时间段内的运动历史,确定主交通工具相对于映射的可驾驶路径的位置。备选地或额外地,至少一个电子地平线处理器可以基于本文所述的用于定位交通工具的其它方法或过程(例如,早先结合图25A、25B、25C和25D所述的方法)相对于地图定位主交通工具。
在步骤4304,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于主交通工具相对于地图的定位来确定主交通工具的电子地平线。例如,参考回图35,交通工具2702(其可类似于图35中所示的交通工具3501)的至少一个电子地平线处理器可以确定交通工具2702相对于图25中所示的地图的位置,并基于交通工具2702的相对位置被电子地平线半径覆盖的区域3502。
在一些实施例中,至少一个电子地平线处理器可以至少部分基于主交通工具的当前速度和/或主交通工具的行驶方向来确定电子地平线。例如,至少一个电子地平线处理器可以获得由交通工具上速度传感器(其可以是至少一个交通工具传感器之一)提供的当前速度。至少一个电子地平线处理器可以基于主交通工具的当前速度确定电子地平线。例如,至少一个电子地平线处理器可以确定在当前速度下在预定时间间隔内与主交通工具可访问的地图的一部分相关联的电子地平线。预定时间间隔可以在0.1秒到10分钟的范围内。在一些实施例中,预定时间间隔可以高达1秒、2秒、5秒、10秒或1分钟。备选地或额外地,至少一个电子地平线处理器可以确定与主交通工具周围的预定空间包络(例如,早先结合图28A、28B、28C、28D、28E、28F、28G和28H所述的一个或多个包络)相关联的电子地平线。
在步骤4305,至少一个电子地平线处理器(例如,电子地平线处理器4210)生成导航信息分组,其包括与确定的电子地平线相关联的信息。例如,参考图35,至少一个电子地平线处理器可以获得与区域3502(即,在步骤4204确定的电子地平线)中包括的(一个或多个)路段相关的地图信息,并生成导航信息分组,其包括关于与(一个或多个)路段相关联的一个或多个对象的信息。导航信息分组可以包括报头部分和有效载荷部分。报头部分可以指定有效载荷部分中包括什么信息。有效载荷部分可以包括关于与(一个或多个)路段相关联的一个或多个对象的信息。在一些实施例中,有效载荷部分可以是可变大小的。
在一些实施例中,导航信息分组的报头部分可包括标识以下项的信息:有效载荷部分中包括的对象、有效载荷部分中包括的对象中每个的大小、有效载荷部分中包括的对象的数量的指示等、或其组合。通过示例方式,上面讨论的表5和表6示出可以包括在报头部分中的各种类型的信息,为了简洁目的,这里重复对其的详细描述。
有效载荷部分可以包括与所确定的电子地平线中包括的(一个或多个)路段相关联的一个或多个对象。有效载荷部分中包括的对象可以包括以下中的一个或多个:样条对象、可驾驶路径轮廓对象、车道标记改变点对象、道路边缘改变点对象、标志路标对象、杆路标对象、车道拓扑对象、可驾驶路径边界对象、车道合并点对象、车道分开点对象或参考点改变事件对象。在一些实施例中,包括在有效载荷部分中的一个或多个对象可以由至少一个电子地平线处理器(例如,电子地平线处理器4210)基于确定的电子地平线生成。例如,包括在有效载荷部分中的一个或多个对象可以由至少一个电子地平线处理器(例如,电子地平线处理器4210)基于与包括在确定的电子地平线内的访问的地图相关联的特征而生成。
在一些实施例中,至少一个电子地平线处理器(例如,电子地平线处理器4210)可以配置为在检测到由主交通工具的确定的电子地平线所涉及的一个或多个(或一组)映射特征的改变后生成更新的导航信息分组。例如,至少一个电子地平线处理器可以基于对由交通工具上摄像机捕获的一个或多个图像的图像分析来检测交通标志(即,包括在电子地平线中的对象)的位置的改变。至少一个电子地平线处理器可以基于检测的交通标志的位置的改变生成更新的导航信息分组。
在步骤4306,至少一个电子地平线处理器(例如,电子地平线处理器4210)将生成的导航信息分组输出到一个或多个导航系统处理器(例如,导航系统处理器4220)。一个或多个导航系统处理器可以配置为使主交通工具基于导航信息分组中包括的信息执行至少一个导航操纵。例如,一个或多个导航系统处理器可以配置为使导航系统4280基于导航信息分组中包括的信息(例如,沿路段的可驾驶路径)执行至少一个导航操纵。至少一个导航操纵包括以下中一个或多个:保持主交通工具的当前速度;保持主交通工具的当前行进方向;改变主交通工具的行进方向;改变主交通工具的速度;使主交通工具加速;或制动主交通工具。
电子地平线:道路节点之间的边缘分段
如本公开中的其它地方所述,一个或多个电子地平线处理器可以向一个或多个导航系统处理器提供包括地图和/或导航信息的一个或多个导航信息分组。一个或多个导航系统处理器可使主交通工具基于提供的地图和/或导航信息进行导航。在一些情况下,覆盖节点(例如环岛、十字路口、合并、分开等)之间的整个路段(其在本文中也可被称为边缘)的导航分组可很大,因为路段可在这些节点之间延伸相当长的距离,并且可遇到导航分组中通常包括的许多路标和其它对象。这种方法可给构造器侧(即,电子地平线处理器)和重构器侧(即,导航系统处理器)两者带来存储器负担。所公开的系统和方法可以将边缘划分为更可管理的子段。例如,每个子段可以包括例如节点之间约100米的道路边缘。通过示例方式,至少一个电子地平线处理器可以生成导航信息分组,并将导航信息分组传送给导航系统处理器。如本公开中的其它地方所述,导航信息分组可以包括SegmentInEH对象(例如,图33中所示的SegmentInEH对象3321),其可以是列出交通工具2702的潜在行驶包络中覆盖的地图段ID(和/或一个或多个子段ID)的SegmentID(例如,每个32位无符号整数)的向量。SegmentsInEH对象可以指示何时能够从缓冲器中删除某个道路边缘子段(例如,在道路边缘子段不再包括在可访问路子段的电子地平线列表中时)。例如,交通工具2702(或其组件)可以从其本地存储器中删除与不包括在列表中的SegmentsInEH相关联的数据。
图44是示出根据所公开的实施例的用于导航交通工具的示例性过程的流程图。过程4400的一个或多个步骤可由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)、至少一个处理器(例如,电子地平线处理器)和/或服务器(例如,服务器2701)执行。虽然下面提供的过程4400的描述使用交通工具2702(或其一个或多个组件)作为示例,但本领域技术人员将领会,过程4400的一个或多个步骤可以由服务器和/或交通工具装置执行。例如,在实施例中,用于导航交通工具的系统包括至少一个包括电路和存储器的处理器(例如,电子地平线处理器)。存储器包括指令,该指令在由电路执行时使至少一个处理器执行一个或多个操作,例如本文和/或结合图44讨论的任何操作。作为另一示例,在另一实施例中,非暂时计算机可读介质包含指令,该指令在由至少一个处理器(例如,电子地平线处理器)执行时,可使至少一个处理器执行一个或多个操作,例如本文和/或结合图44讨论的任何操作。
在步骤4401,至少一个电子地平线处理器(例如,电子地平线处理器4210)访问表示主交通工具在上面行驶或预期行驶的道路(或路段)的地图。在一些实施例中,步骤4401可类似于上述过程4300的步骤4301。例如,至少一个电子地平线处理器可以被编程为从存储装置4240和/或存储器4230接收地图。备选地或者额外地,至少一个电子地平线处理器可以经由网络2705从可以相对于交通工具2702位于远处的服务器(例如,服务器2701)和/或数据库(例如,数据库2704)接收地图数据。在一些实施例中,由至少一个电子地平线处理器访问的地图可以表示相对于主交通工具位于远处的地图服务器(例如,服务器2701)上可用的更大地图的子段。
在一些实施例中,在地图中,道路可以表示为两个映射节点之间的节点间路段,并且在地图中,节点间路段可以进一步划分为多个节点间路子段。如本公开中的其它地方所述,映射节点可以包括地图中表示的环岛、十字路口、车道分开、车道合并(或类似)。边缘可以是两个映射节点之间的道路。边缘段可以是包含地图数据的逻辑单元。例如,可以将边缘划分为多个边缘段(例如,图35中所示的边缘段)。边缘段可以进一步划分为多个子段。将边缘划分为子段可以减少两侧(构造器和重构器)的存储器消耗,因为边缘段在一些情况下可相当长。备选地或额外地,访问的地图可以包括多个三维样条,其可以表示以下中的一个或多个:主交通工具的可驾驶路径、道路边缘或车道标记。
在一些实施例中,访问的地图基于从在主交通工具之前横穿主交通工具在上面行驶或预期行驶的路段的多个交通工具收集的众包驾驶信息而生成(如本公开中的其它地方所述)。
在一些实施例中,由至少一个电子地平线处理器访问的地图可以表示相对于主交通工具位于远处的地图服务器(例如,服务器2701)上可用的更大地图的子段。
在步骤4402,至少一个电子地平线处理器(例如,电子地平线处理器4210)接收由至少一个交通工具传感器提供的输出。在一些实施例中,步骤4402可以类似于上述过程4300的步骤4302。例如,至少一个交通工具传感器可以包括一个或多个摄像机,所述摄像机被配置为捕获主交通工具的环境的图像。例如,交通工具2702可以包括类似于上述图像捕获装置122、图像捕获装置124和图像捕获装置126的一个或多个摄像机,所述摄像机可以被配置为捕获主交通工具的环境的图像。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。
在一些实施例中,至少一个交通工具传感器还可以包括其它类型的传感器,包括例如速度传感器、加速度传感器、GPS接收器、雷达传感器、LIDAR传感器等、或其组合。
在步骤4403,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。例如,至少一个电子地平线处理器可以基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于至少一个映射特征(和/或至少一个映射对象)定位主交通工具。在一些实施例中,步骤4403可以类似于上述过程4300的步骤4303。
在一些实施例中,定位主交通工具相对的至少一个映射特征可以包括地图中表示的主交通工具的可驾驶路径。在一些实施例中,映射的可驾驶路径可以在地图中表示为三维样条。至少一个电子地平线处理器可以基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于映射的可驾驶路径定位主交通工具。通过示例方式,至少一个电子地平线处理器可以基于对至少一个捕获图像中表示的一个或多个映射路标的标识以及至少一个捕获图像中的一个或多个映射路标的图像位置和与沿映射的可驾驶路径的至少一个位置相关联的一个或多个映射路标的预期图像位置的比较来确定主交通工具相对于该可驾驶路径的位置。备选地或者额外地,主交通工具相对于至少一个映射特征的定位可包括基于在两个或更多个捕获图像中表示的一个或多个映射路标的标识,并基于主交通工具在获取两个或更多个捕获图像时之间的时间段内的运动历史,确定主交通工具相对于映射的可驾驶路径的位置。
在步骤4404,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于主交通工具的定位而确定主交通工具的电子地平线。例如,至少一个电子地平线处理器可以基于主交通工具相对于至少一个映射特征的定位来确定主交通工具的电子地平线。在一些实施例中,步骤4404可以类似于上述过程4300的步骤4304。例如,至少一个电子地平线处理器可以至少部分基于主交通工具的当前速度和/或主交通工具的行驶方向来确定电子地平线。例如,至少一个电子地平线处理器可以获得由交通工具上速度传感器(其可以是至少一个交通工具传感器之一)提供的当前速度。至少一个电子地平线处理器可以基于主交通工具的当前速度确定电子地平线。例如,至少一个电子地平线处理器可以确定在当前速度下的预定时间间隔内与主交通工具可访问的地图的一部分相关联的电子地平线。预定时间间隔可以在0.1秒到10分钟的范围内。在一些实施例中,预定时间间隔可以长达1秒、2秒、5秒、10秒或1分钟。备选地或额外地,至少一个电子地平线处理器可以确定与主交通工具周围的预定空间包络(例如,早先结合图28A、28B、28C、28D、28E、28F、28G和28H描述的一个或多个包络)相关联的电子地平线。
在步骤4405,至少一个电子地平线处理器(例如,电子地平线处理器4210)确定包括在电子地平线中的节点间路子段集合。例如,至少一个电子地平线处理器可以获得与电子地平线对应的地图区域中所有节点间路子段,并选择所有节点间路子段作为节点间路子段集合。
在一些实施例中,确定的节点间路子段集合可以包括两个或更多个节点间路子段。备选地,确定的节点间路子段集合仅包括一个节点间路子段。
在一些实施例中,确定的包括在电子地平线中的节点间路子段集合可以包括仅部分位于与电子地平线相关联的包络内的至少一个节点间路子段。
在一些实施例中,地图中多个节点间路子段中的每一个可以表示节点间路段的具有小于预定最大长度的一段。
在步骤4406,至少一个电子地平线处理器(例如,电子地平线处理器4210)生成一个或多个导航信息分组。在一些实施例中,一个或多个导航信息分组可以包括与包括在电子地平线中的节点间路子段集合相关联的信息。备选地或额外地,一个或多个导航信息分组可以包括本公开中描述的其它类型的信息(例如,样条对象、可驾驶路径轮廓对象、车道标记改变点对象等)。在一些实施例中,步骤4406可以类似于上述过程4300的步骤4305。
在一些实施例中,可以为包括在电子地平线中的每个节点间路子段生成至少一个导航信息分组。
在一些实施例中,一个或多个导航信息分组中的每个可以包括报头部分和可变大小的有效载荷部分(如本公开中的其它地方所述)。报头部分可以指定可变大小的有效载荷部分中包括什么信息。例如,导航信息分组的报头部分可以标识包括在可变大小的有效载荷部分中的一个或多个对象。通过示例方式,早先讨论的表6示出导航信息分组的示例性报头部分。报头部分可以包括信息,例如以下中的至少一个:有效载荷部分中包括的(一个或多个)对象的数量、(一个或多个)对象中每个的大小、与(一个或多个)对象中每个相关联的段ID、对(一个或多个)对象中每个的描述等。在一些实施例中,包括在可变大小的有效载荷部分中的(一个或多个)对象可以由至少一个处理器基于确定的电子地平线生成。例如,包括在可变大小的有效载荷部分中的(一个或多个)对象可以由至少一个处理器基于与包括在确定的电子地平线内的访问的地图相关联的特征而生成。在一些实施例中,可变大小的有效载荷部分中包括的(一个或多个)对象包括以下中的一个或多个:样条对象、可驾驶路径轮廓对象、车道标记改变点对象、道路边缘改变点对象、标志路标对象、杆路标对象、车道拓扑对象、可驾驶路径边界对象、车道合并点对象、车道分开点对象、或参考点改变事件对象。
在一些实施例中,一个或多个导航分组可以包括表示在确定的电子地平线中包括的节点间路子段的路子段列表对象。在一些实施例中,路子段列表对象地图中的改变提示一个或多个导航系统处理器(例如,导航系统处理器4220)删除与不再包括在接收的路子段列表对象中的路子段相关联的信息。例如,至少一个电子地平线处理器可以向导航系统处理器传送包括更新的segmentID列表的导航信息分组。导航系统处理器可以删除具有不包括在列表中且已从一个或多个先前的导航信息分组接收的segmentID的任何子段。
在步骤4407,至少一个电子地平线处理器(例如,电子地平线处理器4210)将生成的一个或多个导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。在一些实施例中,步骤4407可以类似于上述过程4300的步骤4306。例如,一个或多个导航系统处理器可以配置为使导航系统4280基于导航信息分组中包括的信息(例如,沿路段的可驾驶路径)执行至少一个导航操纵。至少一个导航操纵可以包括以下中一个或多个:保持主交通工具的当前速度;保持主交通工具的当前行进方向;改变主交通工具的行进方向;改变主交通工具的速度;使主交通工具加速;或制动主交通工具。
电子地平线:地图原点的动态改变
在某些情况下,当交通工具与原点的距离变得大于定义的阈值时,精度误差可在距离上产生累积偏差。为了避免这种类型的偏差,所公开的系统和方法可以动态地改变地图坐标系的原点,并且可以相应地在新坐标系中变换一个或多个地图对象。在一个实施例中,至少一个电子地平线处理器可以向至少一个导航系统处理器发送ReferencePointChangeEvent对象,指示地图坐标已经改变。电子地平线的先前段可以被闪现在重构侧(例如,由导航系统处理器可访问的存储器或缓冲器)。至少一个导航系统处理器还可以将新坐标系中的段传送给导航系统处理器。当发生地图坐标系中的改变时,定位输出可改变为“未定位”状态。在一些实施例中,至少一个电子地平线处理器和至少一个导航系统处理器可以根据图37中所示的过程进行协调以传递新坐标系中的段。
图45是示出根据所公开的实施例的用于导航交通工具的示例性过程的流程图。过程4500的一个或多个步骤可由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)、至少一个处理器(例如,电子地平线处理器)和/或服务器(例如,服务器2701)执行。虽然下面提供的过程4500的描述使用交通工具2702(或其一个或多个组件)作为示例,但本领域技术人员将领会,过程4500的一个或多个步骤可以由服务器和/或交通工具装置执行。例如,在实施例中,用于导航交通工具的系统包括至少一个包括电路和存储器的处理器(例如,电子地平线处理器)。存储器包括指令,该指令在由电路执行时使至少一个处理器执行一个或多个操作,例如本文和/或结合图45讨论的任何操作。作为另一示例,在另一实施例中,非暂时计算机可读介质包含指令,该指令在由至少一个处理器(例如,电子地平线处理器)执行时,可使至少一个处理器执行一个或多个操作,例如本文和/或结合图45讨论的任何操作。
在步骤4501,至少一个电子地平线处理器(例如,电子地平线处理器4210)访问表示主交通工具在上面行驶或预期行驶的至少路段的地图。地图中的点可以相对于初始地图原点进行参考。在一些实施例中,步骤450可以类似于上述过程4300的步骤430。例如,至少一个电子地平线处理器可以被编程为从存储装置4240和/或存储器4230接收地图。备选地或者额外地,至少一个电子地平线处理器可以经由网络2705从可以相对于交通工具2702位于远处的服务器(例如服务器2701)和/或数据库(例如数据库2704)接收地图数据。在一些实施例中,由至少一个电子地平线处理器访问的地图可以表示相对于主交通工具位于远处的地图服务器(例如,服务器2701)上可用的更大地图的子段。
在一些实施例中,访问的地图可以包括多个三维样条,其中三维样条表示以下中一个或多个:主交通工具的可驾驶路径、道路边缘或车道标记。
在一些实施例中,访问的地图基于从在主交通工具之前横穿主交通工具在上面行驶或预期行驶的路段的多个交通工具收集的众包驾驶信息而生成(如本公开中的其它地方所述)。
在一些实施例中,由至少一个电子地平线处理器访问的地图可以表示相对于主交通工具位于远处的地图服务器(例如,服务器2701)上可用的更大地图的子段。
在步骤4502,至少一个电子地平线处理器(例如,电子地平线处理器4210)接收由至少一个交通工具传感器提供的输出。在一些实施例中,步骤4502可以类似于上述过程4300的步骤4302。例如,至少一个交通工具传感器可以包括一个或多个摄像机,所述摄像机被配置为捕获主交通工具的环境的图像。例如,交通工具2702可以包括类似于上述图像捕获装置122、图像捕获装置124和图像捕获装置126的一个或多个摄像机,所述摄像机可以被配置为捕获主交通工具的环境的图像。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。
在一些实施例中,至少一个交通工具传感器还可以包括其它类型的传感器,包括例如速度传感器、加速度传感器、GPS接收器、雷达传感器、LIDAR传感器等、或其组合。
在步骤4503,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于地图定位主交通工具。在一些实施例中,步骤4503可以类似于上述过程4300的步骤4303。例如,至少一个电子地平线处理器可以基于对至少一个捕获图像中表示的一个或多个映射路标的标识以及至少一个捕获图像中的一个或多个映射路标的图像位置和与沿映射的可驾驶路径的至少一个位置相关联的一个或多个映射路标的预期图像位置的比较来确定主交通工具相对于该可驾驶路径的位置。在一些实施例中,映射的可驾驶路径在地图中表示为三维样条。备选地或额外地,至少一个电子地平线处理器可以基于对在两个或更多个捕获图像中表示的一个或多个映射路标的标识,并基于主交通工具在获取两个或更多个捕获图像时之间的时间段内的运动历史,确定主交通工具相对于映射的可驾驶路径的位置。备选地或额外地,至少一个电子地平线处理器可以基于本文描述的用于定位交通工具的其它方法或过程(例如,早先结合图25A、25B、25C和25D描述的方法)相对于地图定位主交通工具。
在步骤4504,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于主交通工具相对于地图的定位来确定主交通工具的电子地平线。在一些实施例中,步骤4504可以类似于上述过程4300的步骤4304。例如,参考回图35,交通工具2702(其可类似于图35中所示的交通工具3501)的至少一个电子地平线处理器可以确定交通工具2702相对于图25中所示的地图的位置,并基于交通工具2702的相对位置确定由电子地平线半径覆盖的区域3502。
在一些实施例中,至少一个电子地平线处理器可以至少部分基于主交通工具的当前速度和/或主交通工具的行驶方向来确定电子地平线。例如,至少一个电子地平线处理器可以获得由交通工具上速度传感器(其可以是至少一个交通工具传感器之一)提供的当前速度。至少一个电子地平线处理器可以基于主交通工具的当前速度确定电子地平线。例如,至少一个电子地平线处理器可以确定在当前速度下的预定时间间隔内与主交通工具可访问的地图的一部分相关联的电子地平线。预定时间间隔可以在0.1秒到10分钟的范围内。在一些实施例中,预定时间间隔可以长达1秒、2秒、5秒、10秒或1分钟。备选地或额外地,至少一个电子地平线处理器可以确定与主交通工具周围的预定空间包络(例如,早先结合图28A、28B、28C、28D、28E、28F、28G和28H描述的一个或多个包络)相关联的电子地平线。
在步骤4505,至少一个电子地平线处理器(例如,电子地平线处理器4210)生成导航信息分组,其包括与确定的电子地平线中包括的映射特征相关联的信息。在一些实施例中,步骤4505可以类似于上述过程4300的步骤4305(和/或过程4400的步骤4406)。例如,至少一个电子地平线处理器可以生成包括报头部分和有效载荷部分的导航信息分组。在一些实施例中,导航信息分组的有效载荷部分可以是可变大小的。报头部分可以指定有效载荷部分中包括什么信息。例如,导航信息分组的报头部分可以标识包括在可变大小的有效载荷部分中的一个或多个对象。通过示例方式,早先讨论的表6示出导航信息分组的示例性报头部分。报头部分可以包括信息,例如以下中的至少一个:有效载荷部分中包括的(一个或多个)对象的数量、(一个或多个)对象中每个的大小、与(一个或多个)对象中每个相关联的段ID、对(一个或多个)对象中每个的描述等。在一些实施例中,包括在可变大小的有效载荷部分中的(一个或多个)对象可以由至少一个处理器基于确定的电子地平线生成。例如,包括在可变大小的有效载荷部分中的(一个或多个)对象可以由至少一个处理器基于与包括在确定的电子地平线内的访问的地图相关联的特征而生成。在一些实施例中,可变大小的有效载荷部分中包括的(一个或多个)对象包括以下中的一个或多个:样条对象、可驾驶路径轮廓对象、车道标记改变点对象、道路边缘改变点对象、标志路标对象、杆路标对象、车道拓扑对象、可驾驶路径边界对象、车道合并点对象、车道分开点对象,或参考点改变事件对象。
在步骤4506,至少一个电子地平线处理器(例如,电子地平线处理器4210)将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。在一些实施例中,步骤4506可以类似于上述过程4300的步骤4306。例如,一个或多个导航系统处理器(例如,导航系统处理器4220)可以配置为使导航系统4280基于导航信息分组中包括的信息(例如,沿路段的可驾驶路径)执行至少一个导航操纵。至少一个导航操纵可包括以下中一个或多个:保持主交通工具的当前速度;保持主交通工具的当前行进方向;改变主交通工具的行进方向;改变主交通工具的速度;使主交通工具加速;或制动主交通工具。
在步骤4507,至少一个电子地平线处理器(例如,电子地平线处理器4210)检测地图原点改变事件。例如,至少一个电子地平线处理器可以编程为在其检测到主交通工具已从由初始地图原点表示的点行驶多于预定距离时检测到地图原点改变事件。预定距离可以在1km到100km的范围内。例如,预定距离可以是10公里、20公里、30公里、40公里或50公里。
在步骤4508,响应于检测的地图原点改变事件,至少一个电子地平线处理器(例如,电子地平线处理器4210)确定更新的地图原点,并向一个或多个导航系统处理器发送指示从初始地图原点到更新的地图原点的改变的通知。例如,至少一个电子地平线处理器可以被编程为向一个或多个导航系统处理器发送包括ReferencePointChangeEvent对象的通知(例如,导航信息分组),指示地图坐标已经改变。
在一些实施例中,发送给一个或多个导航系统处理器的指示从初始地图原点到更新的地图原点的改变的通知可以包括更新的导航信息分组,其包括对与在确定的电子地平线中包括的映射特征相关联的信息的更新。对信息的更新可与从初始地图原点到更新的地图原点的改变相关联。在一些实施例中,对与在确定的电子地平线中包括的映射特征相关联的信息的更新可以包括与地图原点的从初始地图原点到更新的地图原点的改变相关联的变换。
在一些实施例中,至少一个电子地平线处理器可以在检测到由主交通工具的确定的电子地平线所涉及的一组映射特征的改变后生成更新的导航信息分组。例如,至少一个电子地平线处理器可以生成更新的导航信息分组,其包括对与新地图坐标系中的确定的电子地平线中包括的映射特征相关联的信息的更新。至少一个电子地平线处理器还可以将更新的导航信息分组传送给一个或多个导航系统处理器。
在一些实施例中,在接收指示地图原点的改变的通知后,一个或多个导航系统处理器可以闪现缓存的电子地平线数据。例如,一个或多个导航系统处理器可以从缓冲器中删除与在电子地平线中包括的从一个或多个先前的导航信息分组中接收的一个或多个对象相关的数据。
电子地平线:使用样条上的点的导航
所公开的系统和方法可以使用从多次驾驶收集的众包信息来生成和/或细化与路段相关的地图。地图可包括在与地图相关联的道路上行驶的交通工具(例如,主或目标/检测的交通工具)可用的轨迹(例如,三维样条)。地图还可以包括检测的对象(例如,道路标志、道路边缘、车道标记、公交车站或与道路相关联的任何其它可识别特征等),并可以将地图中的检测的对象与关联于一个或多个检测的对象相关联的细化位置相关联。细化位置可以基于在沿路段的多次单独驾驶中的每一个期间确定的众包位置信息来确定。来自地图的检测的对象及其位置可用于导航自主或部分自主的交通工具(例如,通过帮助确定交通工具相对于来自地图的目标轨迹位于哪里)。
为了生成众包地图,可以从沿路段的多次驾驶收集驾驶信息。这可包括例如从在不同时间在区域内行驶的一个交通工具和/或从区域内行驶的多个不同交通工具收集驾驶信息。然后,可以对齐收集的信息,以在填充驾驶数据集合中(例如,由特定驾驶期间的遮挡等引起)的孔、细化对象位置、细化交通工具轨迹等方面提高准确性。下面提供有关地图和生成地图的更多细节。
在某些情况下,可以向交通工具提供地图(或地图的至少一部分)以用于导航,并且在一些情况下,地图特征可以在相对于预定原点的地图坐标系中表示。例如,生成地图的系统可以相对于地图设置特定原点,并且可以相对于为地图选择的特定原点参考目标轨迹、检测的对象、道路边缘等。因此,在这种情况下,当交通工具使用地图信息导航时,交通工具的导航系统可需要执行与映射特征相关的各种计算,以便在导航交通工具时有效地使用映射特征。除了别的之外,此类计算可包括地图坐标中目标轨迹的采样,以确定沿目标轨迹的预测交通工具要在某时间间隔(例如,从当前时间的1秒、2秒、5秒等)后所在的点。交通工具导航系统还可以关于与检测的目标交通工具相关联的轨迹计算类似点,计算到与相邻车道相关联的可驾驶路径的距离,计算到停止点、交通灯、合并点或分开点的距离等。在许多情况下,主交通工具导航系统的计算执行将接收的地图信息(其被表示在相对于地图的坐标系中)的方面转换或表示为相对于与特定主交通工具相关联的坐标系的本地坐标。
主交通工具的交通工具上的此类计算可带来某些挑战。例如,在某些情况下,这些地图转换计算可涉及与主交通工具导航系统相关联的复杂处理器,这可给系统增加成本和复杂性。计算可需要大量的计算资源,所述资源可以别的方式用于其它导航或与交通工具相关的任务,并且计算可难以以适合实时导航的速率(例如,每秒多次相对于多个路段特征的所有点集合计算)执行。此外,要求每个主交通工具导航系统执行相对于地图进行导航所需的地图计算可增加制造交通工具导航系统的复杂性和/或可带来在导航不同主交通工具(尤其是其导航系统或系统组件由不同来源开发的那些)时地图信息的不统一或次优使用。
因此,存在对可以减少或消除主交通工具导航系统的负担的导航系统和/或导航系统地图接口的需要,该负担关联于将以地图坐标表示的某些地图特征和与特定主交通工具相关联的原点相关。例如,此类系统可以将某些地图元素从地图坐标转换为交通工具坐标(例如,使原点位于与主交通工具相关联的摄像机的位置)。此类系统还可以相对于以地图坐标存储的地图特征(例如,路段上沿可用车道的可驾驶路径、车道标记、道路边界等),生成以交通工具坐标表示的某些标准点集合。通过在交通工具坐标系中此类特征的自动生成,所描述的系统和接口可以缓解对OEM或其它实体的需求,所述OEM或其它实体参与开发交通工具导航系统以开发复杂系统来分析以地图坐标的地图特征,并从交通工具坐标角度进行相对于这些特征进行导航所需的计算和转换。
公开的系统和方法可以根据交通工具坐标系自动地提供比较靠近交通工具的地图元素。公开的系统和方法还可以在交通工具坐标系中提供各种类型的标准点集合,所述标准点集合可在导航主交通工具时有用。在一些情况下,描述的系统可以在表示可驾驶路径、车道标记、道路边缘、道路边界等的样条上的3D采样点的形式提供或生成与映射路段相关的数据。此类生成的数据还可包括与主交通工具、车道分开点/合并点、在十字路口的停止点等相关的车道分配信息。该系统和相关联的协议可在随附文件中称为用于控制的定位。在一些情况下,用于控制的位置的协议可以输出两个或更多的主要数据类型,包括例如1)道路边缘、车道标记、可驾驶路径踪迹和关于表示这些道路特征的映射样条的采样3D点集合;和2)车道分配信息(例如,与主交通工具相关联的自我车道以及自我车道右边和/或左边的一个或两个车道的指示符)。系统的输出可以是可配置的,使得输出的采样点的数量可以变化,可以为其提供分配信息的车道的数量可以变化,采样点之间的距离可以变化等。相对于交通工具坐标系的此类坐标点可以允许交通工具自主地导航。例如,交通工具的导航系统可以将坐标点用于控制功能,例如转向、制动和加速。
在一些实施例中,为了提取并使控制点数据相关,可以通过协议输出采用预测点的形式的附加信息。利用的值可包括预定义时间变动内交通工具的可驾驶路径上的3个点。那些值的精度水平可在1mm水平内。图46分别示出交通工具在时间点t0、t1和t2的示例性预测位置P1、P2和P3。在一些实施例中,t0、t1和t2是预定义时间变动。
在一些实施例中,地图中的点可以是交通工具坐标系中DP、LM、RE样条的3D采样点。点输出可以基于属性的预定义集合,所述属性可以在开发阶段是可配置的。导航信息分组可以包括控制点对象。通过示例方式,下文的表31示出示例性控制点对象。
表31:控制点对象描述
在一些实施例中,每个点集合可以随例如以下的附加数据输出:样条类型[DP=0,LM=1,RE=2]、样条上打印点的数量(在特定帧内)、样条索引-相对于自我车道的车道编号(自我为0,则左边车道为-1,-2,…。并且右边车道为1、2、3等)、指示车道上驾驶方向的即将到来布尔标志等。
为了生成本地坐标,交通工具的导航系统可以处理从交通工具的环境收集的信息。当交通工具在环境中行驶时,一个或多个传感器,诸如摄像机、雷达和LIDAR,可收集信息。收集信息可以包括在交通工具的环境中各种检测对象(例如道路标志、道路边缘、车道标记、公交车站或与道路相关的任何其它可识别特征等)的位置。然后,交通工具的导航系统可以分析收集的信息,并使用该信息与映射信息(例如,以地图坐标表示的地图中映射特征的表示)进行比较,并可以确定相对于交通工具的坐标系的检测对象的坐标和/或可以确定相对于映射特征(例如如上所述的可驾驶路径等)的3D采样点集合。例如,可以在交通工具坐标系中输出此类坐标点,在所述交通工具坐标系中交通工具上的摄像机被指定坐标系的原点。因此,点的格式可以表示为相对于用作原点的主交通工具摄像机位置的x、y和z值,用于交通工具坐标系中道路特征或采样点的表示。通过使用在交通工具导航时在其本地的坐标系,并通过生成标准信息集合(例如,在导航交通工具时有用的沿可驾驶路径的3D采样点等),可需要交通工具的在用于控制的位置的硬件/接口之外的导航系统以在交通工具的导航期间相对于映射特征执行更少的导航计算,从而有效地管理计算资源。
如早先所述,地图可包括可以由地图中的三维样条表示的轨迹,诸如可驾驶路径、道路边缘、车道标记等。地图还可包括位于道路系统上或与其相关联的某些对象(例如,道路标志、道路边缘、车道标记、公交车站或与道路相关联的任何其它可识别特征等)的位置信息。所公开的系统和方法可以对样条上的点进行采样,并将那些点投影到交通工具的坐标系的地图上。为此,所公开的系统和方法可以使用旋转-平移矩阵将点从地图坐标系(例如,相对于地图的坐标)转换为交通工具坐标系。
例如,x、y和x可以表示交通工具在地图中的位置。那些点的平移可产生相对于交通工具的坐标系的坐标。作为一个示例,当交通工具的交通工具上的传感器检测到车道标记、道路边缘和/或可驾驶路径时,所公开的系统和方法可以在这些线上插入点。
此外,所公开的系统和方法利用纵向组件。该技术可用于对样条进行采样,以到达上文讨论的x、y、z点。例如,可以使用算法来估计纵向参数,并计算特定纵向值处相对于样条的x、y和z点。
为了使交通工具基于例如相对于地图的三维样条进行导航,交通工具的导航系统可需要进行各种计算。所公开的系统和方法包括地图接口和协议系统,其使其它导航计算系统(例如,由OEM等提供的那些)免除必须对样条进行采样以在导航期间使用的交通工具坐标系中生成采样点,这是昂贵的计算过程,特别是在实时驾驶和导航的时间限制下。
在一些实施例中,可以在阵列中构造点,其具有标识它们表示什么的索引。例如,在一些情况下,采样的点集合可以表示道路边缘、车道标记、可驾驶路径等。在一些实施例中,每个点阵列可以与不同的道路特征相关联。额外地或者备选地,系统可以输出点所属的原始样条的标识符(其可有用于使客户端导航系统能够在供应的点阵列和根据电子地平线协议供应的地图坐标中的映射特征之间进行相关)。在一些情况下,基于摄像机的导航系统可以检测车道标记、道路边缘等,并且可以提供有表示与主交通工具的自我车道相关联的映射的可驾驶路径的目标轨迹。所公开的系统可以使用映射信息(例如地图)来相对于也由基于摄像机的导航系统检测的这些映射特征计算交通工具坐标系中的点集合。然后,这些点可以由导航系统用于控制主交通工具的路径,以遵循目标轨迹、改变车道、停在道路边界内等。
如讨论的,所公开的系统可以输出各种道路特征的采样点。这些点阵列可与主交通工具自我车道相关联。然而,点阵列也可与主交通工具车道的左边或右边的车道相关联,并且也可与在与主交通工具车道相反方向上行驶或与主交通工具车道相交的车道相关联。在这种情况下,与其它车道相关联的可驾驶路径、车道标记等的采样点的阵列可以通过一个或多个索引来指示(例如,+1之于右边一个车道、+2之于右边两个车道、-1之于左边一个车道、-2之于左边两个车道等)。每个点阵列可与不同的道路特征相关联。此类信息可有用于通过车道改变操纵导航主交通工具,因为在进行车道改变操纵之前主交通工具可在目标车道中具有可驾驶路径的可用采样点。此类信息还可以帮助主交通工具相对于检测的目标交通工具进行导航,因为主交通工具系统可能够基于相邻或相交车道的映射和采样的可驾驶路径确定或预测一个或多个目标交通工具将行驶的路径。当主交通工具正在收集与道路分段相关的信息(例如,自动地确定和报告由主交通工具、目标交通工具等在特定车道内行驶的平均速度)时,映射和采样的信息也可是有用的。
与道路特征相关联的其它类型的点对于交通工具导航可是重要的。例如,除了别的以外,此类点可包括车道分开点或合并点和/或在交通灯或十字路口(例如,在可驾驶路径越过停止线的任何点)的交通工具停止点。在一些情况下,这些点可落在与沿道路特征样条的采样点相关联的间距之间或之内。因此,除了别的以外,所公开的系统可以配置为除了沿存储在地图中的一个或多个样条的采样点之外,还输出这些类型的点。此类点可用于相对于车道分开/合并或停止点,甚至超过可以由交通工具上摄像机检测此类点和/或相关联道路特征的地方,进行导航。在合并点/分开点和/或停止点,鉴于众包性质(通过该众包性质这些类型的点被确定和映射),所公开的系统和方法可以给点位置提供高度的准确性(例如,1cm准确性)。
目前描述的系统和系统接口的输出点可以是用户可配置的。例如,可以基于交通工具速度选择或控制点之间的距离。在更慢速度下,所公开的系统和方法可以使用更近的样本间距。另一方面,在更快速度下,所公开的系统和方法可以增加空间以便进一步“看到”下面的道路供控制。例如,系统可以以更快速度提供更多点。采样点可以是客户端可选的或用户可选的。例如,采样点可对应于沿可驾驶路径的主交通工具预计在1秒、2秒、3秒等所在的位置。也可以使用其它间距,例如0.5秒、1.5秒、2.5秒或任何其它规则或不规则的间距。
图47是示出根据所公开的实施例的用于导航交通工具的示例性过程的流程图。过程4700的一个或多个步骤可由交通工具(例如,交通工具2702)、与主交通工具相关联的装置(例如,交通工具装置2703)、至少一个处理器(例如,电子地平线处理器)和/或服务器(例如,服务器2701)执行。虽然下面提供的过程4700的描述使用交通工具2702(或其一个或多个组件)作为示例,但本领域技术人员将领会,过程4700的一个或多个步骤可以由服务器和/或交通工具装置执行。例如,在实施例中,用于导航交通工具的系统包括至少一个处理器(例如,电子地平线处理器),该处理器包括电路和存储器。存储器包括指令,该指令在由电路执行时使至少一个处理器执行一个或多个操作,例如本文和/或结合图47讨论的任何操作。作为另一示例,在另一实施例中,非暂时计算机可读介质包含指令,该指令在由至少一个处理器(例如,电子地平线处理器)执行时,可使至少一个处理器执行一个或多个操作,例如本文和/或结合图47讨论的任何操作。
在步骤4701,至少一个电子地平线处理器(例如,电子地平线处理器4210)访问表示主交通工具在上面行驶或预期行驶的至少路段的地图。地图可以包括表示与路段相关联的道路特征的一个或多个样条。在一些实施例中,样条可以表示以下中一个或多个中的至少一个:主交通工具的可驾驶路径、道路边缘或车道标记。例如,一个或多个样条可以包括主交通工具的可驾驶路径的表示,并且主交通工具的可驾驶路径可以与路段的主交通工具位于之内的自我车道相关联。备选地或额外地,一个或多个样条可以包括主交通工具的一个或多个潜在可驾驶路径的表示,并且一个或多个潜在可驾驶路径可以与路段的不同于主交通工具位于之内的自我车道的车道相关联。备选地或额外地,一个或多个样条可以包括与路段相关联的道路边缘的表示。备选地或额外地,一个或多个样条可以包括与路段相关联的车道标记的表示。
在一些实施例中,步骤4701可以类似于上述过程4300的步骤4301。例如,至少一个电子地平线处理器可以被编程为从存储装置4240和/或存储器4230接收地图。备选地或额外地,至少一个电子地平线处理器可以经由网络2705从可以相对于交通工具2702位于远处的服务器(例如服务器2701)和/或数据库(例如数据库2704)接收地图数据。在一些实施例中,由至少一个电子地平线处理器访问的地图可以表示相对于主交通工具位于远处的地图服务器(例如服务器2701)上可用的更大地图的子段。
在一些实施例中,访问的地图可以包括与一个或多个路段相关联的多个三维样条,并且三维样条可以表示以下中一个或多个:主交通工具的可驾驶路径、道路边缘或车道标记。
在一些实施例中,访问的地图基于从在主交通工具之前横穿主交通工具在上面行驶或预期行驶的路段的多个交通工具收集的众包驾驶信息而生成(如本公开中的其它地方所述)。
在一些实施例中,访问的地图可以包括在与访问的地图相关联的地图坐标系(例如,诸如GPS坐标系的地理坐标系)中指定的多个三维点位置。包括在导航分组的有效载荷部分中的一个或多个对象可以包括在与主交通工具相关联的坐标系(例如,在主交通工具本地的坐标系)中指定的三维点位置。例如,与主交通工具相关联的坐标系可以将主交通工具的一个或多个摄像机之一的位置(或主交通工具的中心)作为坐标系的原点。
在步骤4702,至少一个电子地平线处理器(例如,电子地平线处理器4210)接收由至少一个交通工具传感器提供的输出。在一些实施例中,步骤4702可以类似于过程4300的步骤4302。例如,至少一个交通工具传感器可以包括一个或多个摄像机,所述摄像机被配置为捕获主交通工具的环境的图像。通过示例方式,交通工具2702可包括一个或多个类似于上述图像捕获装置122、图像捕获装置124和图像捕获装置126的摄像机,其可被配置为捕获主交通工具的环境的图像。接收的输出可以包括由一个或多个摄像机捕获的至少一个图像。
在一些实施例中,至少一个交通工具传感器还可以包括其它类型的传感器,包括例如速度传感器、加速度传感器、GPS接收器、雷达传感器、LIDAR传感器等、或其组合。
在步骤4703,至少一个电子地平线处理器(例如,电子地平线处理器4210)相对于一个或多个样条中表示的主交通工具的地图或其特征(例如,可驾驶路径)定位主交通工具。定位可以基于对由一个或多个摄像机捕获的至少一个图像的分析。在一些实施例中,步骤4703可以类似于上述过程4300的步骤4303和/或过程4400的步骤4403。例如,至少一个电子地平线处理器可以基于对由一个或多个摄像机捕获的至少一个图像的分析,相对于可驾驶路径定位主交通工具。通过示例方式,至少一个电子地平线处理器可以基于对在至少一个捕获图像中表示的一个或多个映射路标的标识以及至少一个捕获图像中一个或多个映射路标的图像位置和与沿映射的可驾驶路径上至少一个位置相关联的一个或多个映射路标的预期图像位置的比较来确定主交通工具相对于该可驾驶路径的位置。备选地或额外地,主交通工具相对于至少一个映射特征的定位可包括:基于对在两个或更多个捕获图像中表示的一个或多个映射路标的标识,并基于主交通工具在获取两个或更多个捕获图像时之间的时间段内的运动历史,确定主交通工具相对于映射的可驾驶路径的位置。
在步骤4704,至少一个电子地平线处理器(例如,电子地平线处理器4210)基于主交通工具相对于主交通工具的可驾驶路径的定位来确定与一个或多个样条相关联的点集合。例如,至少一个电子地平线处理器可以编程为确定点集合,其包括主交通工具相对于主交通工具的可驾驶路径的一个或多个预测位置(例如,图46中所示的主交通工具的预测位置P1、P2和P3)。备选地或额外地,主交通工具的一个或多个预测位置可与预定的未来时间间隔(例如,每0.5秒、1秒、2秒、5秒、10秒、30秒、1分钟、5分钟等)相关联。在一些实施例中,主交通工具的一个或多个预测位置可以基于主交通工具的当前速度来确定。备选地或额外地,主交通工具的一个或多个预测位置可以基于主交通工具的计划速度轮廓(例如,可驾驶路径上在那个点(纵向位置)上的平均速度和/或速度限制)确定。
在一些实施例中,确定的点集合可以包括与主交通工具的可驾驶路径和访问的地图中表示的停止线的相交相关联的点位置。备选地或额外地,所确定的点集合可以包括与路段的车道分开特征相关联的点位置。
备选地或额外地,确定的点集合可以包括与路段的车道合并特征相关联的点位置。
备选地或额外地,确定的点集合可以包括与在和主交通工具位于其内的自我车道不同的车道内主交通工具的潜在可驾驶路径与在访问的地图中表示的停止线的相交相关联的点位置。备选地或额外地,确定的点集合可以包括相对于主交通工具的坐标系参考的三维点。例如,确定的点集合可以包括坐标系参考的三维点,该坐标系具有与一个或多个摄像机中的一个相关联的原点。
在步骤4705,至少一个电子地平线处理器(例如,电子地平线处理器4210)生成导航信息分组。生成的导航信息分组可以包括与一个或多个样条以及相对于一个或多个样条的确定的点集合相关联的信息。在一些实施例中,导航信息分组可以包括本公开中描述的其它类型的信息。例如,导航信息分组可以包括报头部分和有效载荷部分。报头部分可以指定有效载荷部分中包括什么信息。有效载荷部分可以包括与(一个或多个)路段关联的一个或多个对象相关的信息。在一些实施例中,有效载荷部分可以是可变大小的。在一些实施例中,导航信息分组的报头部分可以包括标识以下的信息:有效载荷部分中包括的对象、有效载荷部分中包括的每个对象的大小、有效载荷部分中包括的对象的数量的指示等、或其组合。通过示例方式,上面讨论的表5和表6示出可以包括在报头部分中的各种类型的信息,为了简洁目的,这里重复对其的详细描述。有效载荷部分可以包括与确定的电子地平线中包括的(一个或多个)路段相关联的一个或多个对象。有效载荷部分中包括的对象可以包括以下中的一个或多个:样条对象、可驾驶路径轮廓对象、车道标记改变点对象、道路边缘改变点对象、标志路标对象、杆路标对象、车道拓扑对象、可驾驶路径边界对象、车道合并点对象、车道分开点对象或参考点改变事件对象。在一些实施例中,包括在有效载荷部分中的一个或多个对象可以由至少一个电子地平线处理器(例如,电子地平线处理器4210)基于确定的电子地平线生成。例如,包括在有效载荷部分中的一个或多个对象可以由至少一个电子地平线处理器(例如,电子地平线处理器4210)基于与包括在确定的电子地平线内的访问的地图相关联的特征而生成。
在一些实施例中,导航信息分组可以将一个或多个样条和与路段相关联的行驶车道相关。例如,导航信息分组可以标识主交通工具位于其内的自我行驶车道。在一些实施例中,导航信息分组可以索引相对于自我车道的一个或多个额外行驶车道(例如,上面讨论的图38中所示的索引和/或子索引)。在一些实施例中,导航信息分组可以包括与至少一个行驶车道相关联的布尔值,并且布尔值可以指示与至少一个行驶车道相关联的行驶方向是否和与自我车道相关联的行驶方向在同一方向上。
在步骤4706,至少一个电子地平线处理器(例如,电子地平线处理器4210)将生成的导航信息分组输出到一个或多个导航系统处理器,该导航系统处理器配置为使主交通工具基于导航信息分组中包含的信息执行至少一个导航操纵。在一些实施例中,步骤4706可以类似于上述过程4300的步骤4306。例如,一个或多个导航系统处理器可以配置为使导航系统4280基于导航信息分组中包括的信息(例如,沿路段的可驾驶路径)执行至少一个导航操纵。至少一个导航操纵可以包括以下中的一个或多个:保持主交通工具的当前速度;保持主交通工具的当前行进方向;改变主交通工具的进行方向;改变主交通工具的速度;使主交通工具加速;或制动主交通工具。
为了便于说明而提供以上描述。它不是详尽的,并且不是局限于所公开的精确形式或实施例。修改和适配将是本领域的技术人员通过思考本说明书以及实施所公开实施例清楚知道的。另外,虽然所公开实施例的方面被描述为被存储在存储器中,但是本领域的技术人员将会理解,这些方面也能够被存储在其它类型的计算机可读介质上,例如,辅助存储装置,例如硬盘或CD ROM或者其它形式的RAM或ROM、USB介质、DVD、Blu-ray、4KUltra HDBlu-ray或其它光学驱动器介质。
基于本书面描述和所公开方法的计算机程序属于有经验开发人员的技能。各种程序或程序模块能够使用本领域的技术人员已知的技术的任一种来创建,或者能够结合现有软件来设计。例如,程序段或程序模块能够通过或者借助于.Net Framework、.Net CompactFramework(以及相关语言,例如Visual Basic、C等)、Java、C++、Objective-C、HTML、HTML/AJAX组合、XML或者具有所包含Java小应用程序的HTML来设计。
此外,虽然本文已经描述说明性实施例,但是任何一个和全部实施例的范围具有等效元件、修改、省略、(例如跨各个实施例的方面的)组合、适配和/或变更,如本领域的技术人员基于本公开会理解。权利要求中的限制将基于权利要求中采用的语言来广义地解释,而并不局限于本说明书中或者本申请进行期间所述的示例。示例将被理解为非排它的。此外,所公开方法的步骤可按照任何方式来修改,包括通过对步骤重排序和/或插入或删除步骤。因此,预计本说明书和示例被理解为只是说明性的,其中真实范围和精神通过以下权利要求及其等效体的全范围所指示。

Claims (29)

1.一种用于导航主交通工具的系统,所述系统包括:
至少一个处理器,包括电路和存储器,其中所述存储器包括指令,所述指令在由所述电路执行时使所述至少一个处理器:
访问表示所述主交通工具在上面行驶或预期行驶的至少路段的地图信息,其中所述地图信息包括表示可驾驶路径的一个或多个样条;
接收由至少一个交通工具传感器提供的输出,其中所述至少一个交通工具传感器包括一个或多个摄像机,所述摄像机配置为捕获所述主交通工具的环境的图像,并且其中所接收的输出包括由所述一个或多个摄像机捕获的至少一个图像;
基于对由所述一个或多个摄像机捕获的所述至少一个图像的分析并基于包括表示所述可驾驶路径的所述一个或多个样条的所述地图信息来相对于所述可驾驶路径定位所述主交通工具;
基于所述主交通工具的相对于由所述一个或多个样条表示的所述可驾驶路径的定位,确定所述主交通工具当前位置前方的点集合,其中所述点集合包括所述主交通工具的一个或多个预测位置;
生成导航信息分组,所述导航信息分组包括与相对于所述一个或多个样条的所述点集合相关联的信息;以及
将所生成的导航信息分组输出到一个或多个导航系统处理器,所述导航系统处理器被配置为使所述主交通工具基于所述点集合执行至少一个导航操纵。
2.根据权利要求1所述的系统,其中,所述一个或多个样条包括所述主交通工具的所述可驾驶路径的表示,并且其中所述主交通工具的所述可驾驶路径与所述路段的所述主交通工具位于其中的自我车道相关联。
3.根据权利要求1所述的系统,其中,所述一个或多个样条包括所述主交通工具的一个或多个潜在可驾驶路径的表示,并且其中所述一个或多个潜在可驾驶路径与所述路段的和所述路段的所述主交通工具位于其中的自我车道不同的车道相关联。
4.根据权利要求1所述的系统,其中,所述一个或多个样条包括与所述路段相关联的道路边缘的表示。
5.根据权利要求1所述的系统,其中,所述一个或多个样条包括与所述路段相关联的车道标记的表示。
6.根据权利要求1所述的系统,其中,包括在所述点集合中的所述主交通工具的一个或多个预测位置相对于所述主交通工具的所述可驾驶路径。
7.根据权利要求6所述的系统,其中,所述主交通工具的所述一个或多个预测位置基于所述主交通工具的当前速度确定。
8.根据权利要求6所述的系统,其中,所述主交通工具的所述一个或多个预测位置基于所述主交通工具的计划速度轮廓确定。
9.根据权利要求6所述的系统,其中,所述主交通工具的所述一个或多个预测位置与预定未来时间间隔相关联。
10.根据权利要求1所述的系统,其中,所述点集合包括所述主交通工具的相对于所述路段的与所述主交通工具位于其中的自我车道不同的至少一条车道的可驾驶路径的一个或多个预测位置。
11.根据权利要求1所述的系统,其中,所述点集合包括点位置,所述点位置与所述主交通工具的所述可驾驶路径与所访问的地图中表示的停止线的相交点相关联。
12.根据权利要求1所述的系统,其中,所述点集合包括与所述路段的车道分开特征相关联的点位置。
13.根据权利要求1所述的系统,其中,所述点集合包括与所述路段的车道合并特征相关联的点位置。
14.根据权利要求1所述的系统,其中,所述点集合包括在与所述主交通工具位于其中的自我车道不同的车道中所述主交通工具的潜在可驾驶路径与在所访问的地图中表示的停止线的相交点相关联的点位置。
15.根据权利要求1所述的系统,其中,所访问的地图基于从在所述主交通工具之前横穿所述路段的多个交通工具收集的众包驾驶信息而生成。
16.根据权利要求1所述的系统,其中,所访问的地图由所述电子地平线处理器从相对于所述主交通工具位于远处的地图服务器接收。
17.根据权利要求1所述的系统,其中,所访问的地图仅表示相对于所述主交通工具位于远处的地图服务器上可用的更大地图的子段。
18.根据权利要求1所述的系统,其中,所述主交通工具相对于所述主交通工具的所述可驾驶路径的定位包括:基于对在至少一个捕获图像中表示的一个或多个映射路标的标识以及在所述至少一个捕获图像中的所述一个或多个映射路标的图像位置和与沿所述主交通工具的所述可驾驶路径的至少一个位置相关联的所述一个或多个映射路标的预期图像位置的比较,确定所述主交通工具相对于所述主交通工具的所述可驾驶路径的位置。
19.根据权利要求1所述的系统,其中,所述主交通工具相对于所述主交通工具的所述可驾驶路径的定位包括:基于在两个或更多个捕获图像中表示的一个或多个映射路标的标识,并基于所述主交通工具在获取所述两个或更多个捕获图像时之间的时间段期间的运动历史,确定所述主交通工具相对于所述主交通工具的所述可驾驶路径的位置。
20.根据权利要求1所述的系统,其中,所述至少一个导航操纵包括以下中的一个或多个:保持所述主交通工具的当前速度;保持所述主交通工具的当前行进方向;改变所述主交通工具的行进方向;改变所述主交通工具的速度;使所述主交通工具加速;或制动所述主交通工具。
21.根据权利要求1所述的系统,其中,所述至少一个交通工具传感器包括速度传感器。
22.根据权利要求1所述的系统,其中,所述至少一个交通工具传感器包括GPS接收器。
23.根据权利要求1所述的系统,其中,所述点集合包括相对于所述主交通工具的坐标系参考的三维点。
24.根据权利要求23所述的系统,其中,所述坐标系的原点与所述一个或多个摄像机中的一个相关联。
25.根据权利要求1所述的系统,其中,所述导航信息分组将所述一个或多个样条和与所述路段相关联的行驶车道相关。
26.根据权利要求25所述的系统,其中,所述导航信息分组标识所述主交通工具位于其中的自我行驶车道。
27.根据权利要求26所述的系统,其中,所述导航信息分组对相对于所述自我车道的一条或多条额外行驶车道进行索引。
28.根据权利要求26所述的系统,其中,所述导航信息分组包括与至少一个行驶车道相关联的布尔值,并且其中所述布尔值指示与所述至少一个行驶车道相关联的行驶方向是否在和与所述自我车道相关联的行驶方向相同的方向上。
29.一种包含指令的非暂时计算机可读介质,所述指令在由至少一个处理器执行时,使所述至少一个处理器执行操作,所述操作包括:
访问表示主交通工具在上面行驶或预期行驶的至少路段的地图信息,其中所述地图信息包括表示可驾驶路径的一个或多个样条;
接收由至少一个交通工具传感器提供的输出,其中所述至少一个交通工具传感器包括一个或多个摄像机,所述摄像机配置为捕获所述主交通工具的环境的图像,并且其中所接收的输出包括由所述一个或多个摄像机捕获的至少一个图像;
基于对由所述一个或多个摄像机捕获的所述至少一个图像的分析并基于包括表示所述可驾驶路径的所述一个或多个样条的所述地图信息来相对于所述可驾驶路径定位所述主交通工具;
基于所述主交通工具的相对于由所述一个或多个样条表示的所述可驾驶路径的定位,确定所述主交通工具当前位置前方的点集合,其中所述点集合包括所述主交通工具的一个或多个预测位置;
生成导航信息分组,所述导航信息分组包括与相对于所述一个或多个样条的所述点集合相关联的信息;以及
将所生成的导航信息分组输出到一个或多个导航系统处理器,所述导航系统处理器被配置为使所述主交通工具基于所述点集合执行至少一个导航操纵。
CN202310987864.6A 2020-03-30 2021-03-30 使用电子地平线导航交通工具 Pending CN117053814A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202063001733P 2020-03-30 2020-03-30
US63/001733 2020-03-30
US202163152925P 2021-02-24 2021-02-24
US63/152925 2021-02-24
PCT/IB2021/000197 WO2021198772A1 (en) 2020-03-30 2021-03-30 Navigating a vehicle using an electronic horizon
CN202180026079.3A CN115516277A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202180026079.3A Division CN115516277A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具

Publications (1)

Publication Number Publication Date
CN117053814A true CN117053814A (zh) 2023-11-14

Family

ID=75660072

Family Applications (5)

Application Number Title Priority Date Filing Date
CN202310984187.2A Pending CN117053812A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202180026079.3A Pending CN115516277A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202310986552.3A Pending CN117053813A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202310991197.9A Pending CN117073704A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202310987864.6A Pending CN117053814A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具

Family Applications Before (4)

Application Number Title Priority Date Filing Date
CN202310984187.2A Pending CN117053812A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202180026079.3A Pending CN115516277A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202310986552.3A Pending CN117053813A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具
CN202310991197.9A Pending CN117073704A (zh) 2020-03-30 2021-03-30 使用电子地平线导航交通工具

Country Status (4)

Country Link
US (4) US20220282994A1 (zh)
CN (5) CN117053812A (zh)
DE (1) DE112021002001T5 (zh)
WO (1) WO2021198772A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825485A (zh) * 2018-08-07 2020-02-21 华为技术有限公司 数据处理的方法、设备和服务器
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
KR20210126365A (ko) * 2020-04-10 2021-10-20 팅크웨어(주) 차량 주행 영상 기반의 차선 검출 방법, 차선 검출 장치, 전자 기기, 컴퓨터 프로그램 및 컴퓨터 판독 가능한 기록 매체
US11543263B1 (en) * 2020-09-16 2023-01-03 Zoox, Inc. Map distortion determination
US20220171622A1 (en) * 2020-11-27 2022-06-02 Electronics And Telecommunications Research Institute Multi-dimension dma controller and computer system including the same
JP2022126341A (ja) * 2021-02-18 2022-08-30 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US20230154073A1 (en) * 2021-11-12 2023-05-18 Here Global B.V. Dynamic geometry using virtual spline for making maps
WO2023148729A1 (en) * 2022-02-02 2023-08-10 Elbit Systems C4I and Cyber Ltd. Geolocation system and method
WO2024073532A1 (en) * 2022-09-28 2024-04-04 ClearMotion, Inc. Xyz motion planning for vehicles

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8762046B2 (en) * 2008-10-01 2014-06-24 Navteq B.V. Creating geometry for advanced driver assistance systems
DE102010012877A1 (de) * 2010-03-26 2011-09-29 Continental Automotive Gmbh Bewertung von Karteninformationen
US10060749B2 (en) * 2015-02-19 2018-08-28 Here Global B.V. Method and apparatus for creating a clothoid road geometry
US20170240171A1 (en) * 2016-02-18 2017-08-24 Delphi Technologies, Inc. Method for modifying steering of an automated vehicle for improved passenger comfort
US20170247040A1 (en) * 2016-02-25 2017-08-31 Ford Global Technologies, Llc Autonomous vehicle control transitioning
US10234294B2 (en) * 2016-04-01 2019-03-19 Here Global B.V. Road geometry matching with componentized junction models
US10240943B2 (en) * 2016-06-17 2019-03-26 Here Global B.V. Method, apparatus and computer program product for a navigation user interface
US10365658B2 (en) * 2016-07-21 2019-07-30 Mobileye Vision Technologies Ltd. Systems and methods for aligning crowdsourced sparse map data
WO2020141493A1 (en) * 2019-01-04 2020-07-09 Visteon Global Technologies, Inc. Ehorizon upgrader module, moving objects as ehorizon extension, sensor detected map data as ehorizon extension, and occupancy grid as ehorizon extension
US20230095772A1 (en) * 2020-01-22 2023-03-30 Lg Electronics Inc. Route providing device and route providing method therefor
WO2021230387A1 (ko) * 2020-05-11 2021-11-18 엘지전자 주식회사 경로 제공 장치 및 그것의 경로 제공 방법

Also Published As

Publication number Publication date
US20220282994A1 (en) 2022-09-08
CN117053812A (zh) 2023-11-14
CN117053813A (zh) 2023-11-14
US20220221279A1 (en) 2022-07-14
US20220215603A1 (en) 2022-07-07
CN115516277A (zh) 2022-12-23
CN117073704A (zh) 2023-11-17
WO2021198772A1 (en) 2021-10-07
DE112021002001T5 (de) 2023-05-04
US11615563B2 (en) 2023-03-28
US20220228882A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
JP2022535351A (ja) 車両ナビゲーションのためのシステム及び方法
CN112204349A (zh) 用于车辆导航的系统和方法
CN116026345A (zh) 用于车辆导航的系统和方法
US11615563B2 (en) Navigation using points on splines
CN115014370A (zh) 用于生成地图信息的系统、方法和计算机可读介质
CN114402377A (zh) 用于监测交通车道拥塞的系统和方法
US20210381849A1 (en) Map management using an electronic horizon
CN115719481A (zh) 用于涉及交通灯和交通标志的交通工具导航的系统和方法
CN114729813A (zh) 用于车辆导航的系统和方法
JP2023106536A (ja) 画像分析に基づく車両ナビゲーションのためのシステム
JP7477256B2 (ja) ナビゲーションのためのマップタイル要求を最適化するためのシステム及び方法
CN116783455A (zh) 用于检测打开的门的系统和方法
CN117355871A (zh) 多帧图像分割
JP2023539868A (ja) マップベースの現実世界モデル化のシステム及び方法
CN116368540A (zh) 用于动态道路几何形状建模与导航的系统和方法
CN117651668A (zh) 用于监测车道标记质量的系统和方法
CN116670610A (zh) 用于公共速度映射和导航的系统和方法
CN116734848A (zh) 关于行人和确定交通工具自由空间的交通工具导航

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